1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-14 07:23:45 +00:00
Commit Graph

949 Commits

Author SHA1 Message Date
Brad
0f5163453e [PM-30540] Access Intelligence action button updates (mark critical, assign tasks) (#18730)
Updates the buttons available in the Access Intelligence "Applications" tab.

- The "Mark as critical" button appears when at least 1 row is selected in the table, and if all selected applications are already marked critical, changes to a "Mark as not critical" button. This functionality allows Admins to either bulk mark critical applications, or bulk unmark critical applications.
- "Assign tasks" has been moved into this tab view, and now is only enabled when there are critical ciphers found without assigned password change tasks. A tooltip appears when hovering on the disabled state, informing the Admin that all tasks have already been assigned.
2026-02-10 15:08:20 -08:00
Brandon Treston
1aef83b6e3 [PM-28262] Bulk re-invite UI improvements (#18754)
* implement dilogs and logic

* clean up, add tests

* add feature flag key

* product requested changes

* more product changes

* edit error message
2026-02-10 16:20:39 -05:00
Stephon Brown
37eeffd03a [PM-29602] Build Upgrade Dialogs (#18539)
* BREAKING CHANGE: rename tax-client and add proration endpoint

update

* fix(billing)!: rename tax-client in components

* feat(billing): Add upgrade endpoint

* fix(billing): update preview client error

* fix(billing): add billing address to clients

* feat(billing): Update messages for changes

* feat(biilling): Update unified upgrade dialog logic

* feat(billing): add new premium org card

* feat(billing): add premium org component

* fix(billing): Update account billing client and remove redundant status

* fix(billing): unified upgrade dialog add feature flag and tests

* fix(billing): update unified upgrade logic

* fix(billing): update tests and logic

update

update

fix

* fix(billing): add required messages

message

* fix(billing): update unified dialog logic and re-add comments

* feat(billing): improves premium org upgrade dialog

Adds a close button to the premium organization upgrade dialog.

Updates the success toast message after upgrading to teams.

Hides the formatted amount for credit discounts.

Sets the change detection strategy to OnPush for improved performance.

* fix(billing): prevents multiple upgrade dialogs from opening

Adds a check to prevent multiple upgrade dialogs from opening simultaneously.

Ensures correct redirection to the organization vault after upgrading to Teams or Enterprise.

* Feat(tooltip): Add `showTooltipOnFocus` input to TooltipDirective

* Fix(billing): Disable tooltip on focus for various billing buttons

* Refactor(billing): Standardize subscription cadence display

* Refactor(billing): Update InvoicePreview with prorated amount details

* Refactor(billing): Enhance Premium Org Upgrade Payment logic

* Feat(billing): Add SubscriptionCadence import to account billing client

* refactor(i18n): Rename 'premiumMembershipDiscount' to 'premiumSubscriptionCredit'

* fix(billing): Ensure encrypted org key is present during upgrade

* refactor(billing): revert PremiumUpgradeDialog focus management

* refactor(billing): Clean up subscription details and type definitions

* feat(billing): Add dedicated Premium to Organization upgrade dialog

* refactor(billing): Return organization ID from PremiumOrgUpgradeService

* refactor(billing): Remove premium to org upgrade logic from UnifiedUpgradeDialog

* feat(billing): Integrate PremiumOrgUpgradeDialog into account subscription

* Refactor: Make `openUpgradeDialog` return `void`

* Remove obsolete `planSelectionStepTitleOverride` tests

* Feature: Add 'Back' status to UpgradePaymentStatus

* Test: Mock `OrganizationService` in `PremiumOrgUpgradePaymentComponent` tests

* Chore: Remove redundant comment in unified upgrade dialog HTML

* refactor(billing): Remove obsolete unified upgrade change

* refactor(billing): remove unused ApiService and DestroyRef

* feat(billing): add pre-condition checks for premium org upgrade dialog

* refactor(billing): clean up unused dialog data and HTML comment

* refactor(billing): rename premium org upgrade dialog flag

* feat(billing): close premium org upgrade dialog if feature is disabled

* feat(payment): add hideHeader input to DisplayPaymentMethodComponent

* refactor(billing): update premium org upgrade payment to display existing payment method

* test(billing): update premium org upgrade payment component tests

* docs(billing): refine JSDoc for PremiumOrgUpgradeDialogParams

* Revert "Feat(tooltip): Add `showTooltipOnFocus` input to TooltipDirective"

This reverts commit 02f62bc0fd.

* Revert "Fix(billing): Disable tooltip on focus for various billing buttons"

This reverts commit 91f7747df7.

* fix(billing): Ensure early exit for closed premium org upgrade payment

* refactor: rename PremiumOrgUpgradeComponent to PremiumOrgUpgradePlanSelectionComponent

* feat(i18n): add payment method update error translation key

* feat(billing): introduce DisplayPaymentMethodInlineComponent

* feat(billing): integrate inline payment method in PremiumOrgUpgradePayment

* feat(pricing): allow hiding pricing term in cart summary

* refactor(billing): optimize invoice preview and update cart configuration

* refactor(billing): migrate AccountSubscriptionComponent state to signals

* chore(html): improve form field layout and accessibility

* feat(pricing): add `hidePricingTerm` input and basic header logic

* feat(pricing): apply `hidePricingTerm` to cart item breakdowns

* docs(pricing): update cart summary documentation for `hideBreakdown` and `hidePricingTerm`

* test(pricing): add tests for `hidePricingTerm` and refine term display selector

* refactor(pricing): update cart summary test selectors for robustness

* docs: reformat `hideBreakdown` description in `CartSummaryComponent` MDX

* refactor: remoe additonal DisplayPaymentMethodInlineComponent in imports

* Revert "feat(i18n): add payment method update error translation key"

This reverts commit b4aeb74e1a.

* feat(i18n): Add payment method update error message

* refactor(pricing): move CartSummaryComponent hidePricingTerm to input

* docs(pricing): update CartSummaryComponent `hidePricingTerm` usage in MDX

* test(pricing): update CartSummaryComponent `hidePricingTerm` tests and stories

* chore(pricing): add spacing in CartSummaryComponent spec assertion

* refactor(billing): Use ngOnInit for dialog initialization logic

* refactor(billing): Migrate hidePricingTerm from Cart type to direct input

* Refactor: Update payment method action buttons to use `bitLink`

* feat(billing): add hidePricingTerm input to MockCartSummaryComponent
2026-02-09 14:09:37 -06:00
Jared
f22736bb64 [PM-25627] convert policy dialogs to drawer (#18534)
* Enhance policy edit dialogs by updating dialog size to large for improved layout and switching to openDrawer method for better user experience.

* Enhance policy edit dialogs by adding policy status badges to indicate if a policy is enabled, improving user visibility and experience.

* Update dialog component styles to enhance drawer behavior by changing height to full screen and adding sticky footer for improved layout and user experience.

* Refactor policy display layout by wrapping buttons and badges in a flex container for improved alignment and spacing.

* Refactor password policy forms in admin console for improved layout

- Simplified the structure of form fields in `master-password.component.html` and `password-generator.component.html` by removing unnecessary div wrappers.
- Updated the label for the password type policy override in `messages.json` for clarity.

* Update dialog size in policy edit component for consistency

- Changed the dialog size from 'large' to 'default' in `policy-edit-dialog.component.html` to align with design standards.

* refactor(dialog): update dialog component styles for drawer layout

- Adjusted height class for drawer dialogs from 'tw-h-screen' to 'tw-h-full' for better layout management.
- Removed sticky positioning for footer in drawer mode to improve visual consistency.

* refactor(dialog): enhance form layout for policy edit dialogs

- Added classes for full height and flex column layout to the form elements in policy edit dialogs for improved visual consistency and usability.
2026-02-09 13:50:20 -05:00
bw-ghapp[bot]
203766879c Autosync the updated translations (#18806)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-09 12:32:08 +01:00
Vijay Oommen
cb2e5a04d0 [PM-29621] Changed error message to indicate lack of permissions (#18528) 2026-02-06 12:36:44 -06:00
Brad
6a01e7436c [PM-30543] Add select all checkbox to Access Intelligance Applications table (#18682)
Adds a "Select all" checkbox to the table in the Access Intelligence applications tab. This allows users to quickly select or deselect all applications currently showing in the table for marking as critical apps.
2026-02-06 10:04:48 -08:00
Vijay Oommen
a2916084ee [PM-30547] Table empty state message (#18752) 2026-02-04 10:42:13 -06:00
Mike Amirault
51a99fecd8 [PM-31429] Add missing helper text for password protected Sends, remove unused one (#18694)
* [PM-31429] Add missing helper text for password protected Sends, remove unused one

* Put one UI change behind feature flag, add back required translations

* Reorder translation

* Add spaces

* Come full circle, remove last couple of committed changes
2026-02-03 15:18:23 -05:00
Stephon Brown
38465c059c [PM-29602] Update Cart Summary for Upgrade Flow (#18605)
* feat(billing): update cart-summary logic

 Add functionality to hide breakdown and allow translation params

* tests(cart-summary): update tests and stories

* feat(pricing): Add quantity support to discount labels

* feat(pricing): discount quantity story

* Revert "feat(pricing): discount quantity story"

This reverts commit 2c00891f1f.

* Revert "feat(pricing): Add quantity support to discount labels"

This reverts commit 8350fdd90f.

* fix(cart-summary): Adjust discount text styling

* feat(pricing): adds support for hidden discount amounts

Allows hiding the formatted amount for discounts in the cart summary.

This is useful for scenarios where the discount amount is displayed
elsewhere or is not relevant to the user.

Updates the storybook to include a story demonstrating this feature.

* feat(pricing): conditionally format currency amounts to show or hide decimals

* Revert "feat(pricing): adds support for hidden discount amounts"

This reverts commit 076724276c.

* Revert "fix(cart-summary): Adjust discount text styling"

This reverts commit d02c12fc2a.

* Revert "discount translation"

* feat(pricing): add credit type to cart summary

* feat(pricing-card): Add i18n and icon component infrastructure

* feat(pricing-card): Apply i18n pipe to pricing card template

* refactor(pricing-card): Replace `<i>` tags with `<bit-icon>` in template

* test(pricing-card): Update tests for i18n and icon component changes

* docs(pricing-card): Enhance Storybook and documentation for new features

* feat(pricing-card): Adds "per user" translation key

* refactor(pricing-card): use property binding for bit-icon name

* docs(pricing-card): expand price cadence options in MDX

* fix(icon): update exports for icon types

* feat(billing): Use strongly typed BitwardenIcon for pricing card buttons

* refactor(pricing): Remove unused I18nService from PricingCardComponent

* fix(pricing): Improve pricing card button icon template null-safety

* fix(pricing-card): format update

Clarifies the description of the `price` property within the PricingCard component documentation.

No functional code changes are included.

* refactor: Update discount label typography in cart summary

* refactor(stories): Rename account credit translation key to premium subscription credit

* feat(pricing-card): update spacing for card without button
2026-02-03 17:47:58 +00:00
Mike Amirault
1e0b64a55b [PM-31430] Add specific messages for creating password and email protected Sends (#18692)
* [PM-31430] Add specific messages for creating password and email protected Sends

* [PM-31430] Fix tests, one bug in Send success drawer component
2026-02-03 11:15:46 -05:00
Jared
3333e5696d Update collection dialog to conditionally display "view" or "edit" title based on dialog state; add "viewCollection" translation to messages.json (#18724) 2026-02-03 10:19:30 -05:00
Jackson Engstrom
4141b864da [PM-24187] Improve labeling of owner filter in vault table 2026-02-02 16:18:30 -08:00
Vijay Oommen
2c30fb72ba [PM-30544] Added Critical app badge to Access Intelligence (#18658) 2026-02-02 10:05:02 -06:00
bw-ghapp[bot]
52e416e85e Autosync the updated translations (#18667)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-01-30 15:58:03 +00:00
Vijay Oommen
9d8f1af62b PM-30539 created new component and added a filter (#18630) 2026-01-28 15:19:39 -06:00
Jared
136705ac08 Refactor autofill policy naming and update related translations (#18628)
- Renamed `activateAutofill` to `activateAutofillPolicy` in the policy order map and component.
- Updated corresponding translation keys in `messages.json` for consistency.
- Adjusted warning message in the `activate-autofill.component.html` to reflect the new naming convention.
2026-01-28 17:27:16 +00:00
bmbitwarden
0138abf373 PM-29919 email verification on sends (#18260)
* PM-29919 email verification on sends

* PM-29919 resolved build issue

* PM-29919 refined who can view fields

* PM-29919 resolved lint issues

* PM-29919 resolved lint issues

* PM-29919 resolved unit tests

* PM-29919 resolved lint issues

* PM-29919 resolved unit test issue

* PM-29919 resolved pr comments

* PM-29919 resolved pr comments

* PM-29919 resolved unneeded label

* PM-29919 refactored to hide instead of disable

* PM-29919 resolved pr comments

* PM-29919 resolved no auth string in PM-31200

* PM-29919 resolved bugs
2026-01-28 09:39:37 -05:00
Mike Amirault
65b224646d Tools/pm 29918/implement send auth flows (#18270)
* [PM-29918] Implement new Send auth flows

* [PM-29918] Fix types

* Trigger Claude code review

* [PM-29918] Address PR review comments

* [PM-29918] Remove duplicate AuthType const
2026-01-28 09:32:02 -05:00
Conner Turnbull
4fad2c3bcd [PM-31295] Remove price from next charge on individual subscription page (#18600)
* Remove price from next charge on individual subscription page

* Revert subscription-card changes, limit scope to legacy component
2026-01-27 14:56:55 -05:00
Jared
4ac38c18c0 [PM-27909] dialog improvements for claim domain (#18535)
* Update domain status message from "Under verification" to "Pending" in localization and adjust corresponding template reference

* Update domain status message from "Under verification" to "Pending" in the admin console template

* Add domain verification instructions to the admin console dialog

Enhanced the domain add/edit dialog by including detailed instructions for the automatic domain claim process when the domain is not verified. Removed the previous callout component for a more streamlined user experience.

* Add new localization messages for automatic domain claim process

Included detailed instructions for the automatic domain claim process, covering the steps for claiming a domain, account ownership change, and consequences of unclaimed domains. This enhances user guidance during domain management.

* Refactor automatic domain claim process localization messages

Updated localization keys for the automatic domain claim process to improve clarity and consistency. Removed redundant messages and streamlined the instructions displayed in the admin console dialog for better user experience.
2026-01-27 13:39:34 -05:00
Jared
42aec64689 [PM-16863] Update "auto-fill" to "autofill" for org policies (#18483)
* Fixes typo in messages.json from auto-fill to autofill to match company preference

* Strings have to be immutable as learned from Brandon. Trying to delete old key-value pair to see if that's possible

* Fix my typo
2026-01-27 13:31:02 -05:00
bw-ghapp[bot]
46266dfd20 Autosync the updated translations (#18560)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-01-26 12:53:03 +00:00
Anders Åberg
903026b574 PM-2035: PRF Unlock (web + extension) (#16662)
* PM-13632: Enable sign in with passkeys in the browser extension

* Refactor component + Icon fix

This commit refactors the login-via-webauthn commit as per @JaredSnider-Bitwarden suggestions. It also fixes an existing issue where Icons are not displayed properly on the web vault.

Remove old one.

Rename the file

Working refactor

Removed the icon from the component

Fixed icons not showing. Changed layout to be 'embedded'

* Add tracking links

* Update app.module.ts

* Remove default Icons on load

* Remove login.module.ts

* Add env changer to the passkey component

* Remove leftover dependencies

* PRF Unlock

Cleanup and testes

* Workaround prf type missing

* Fix any type

* Undo accidental cleanup to keep PR focused

* Undo accidental cleanup to keep PR focused

* Cleaned up public interface

* Use UserId type

* Typed UserId and improved isPrfUnlockAvailable

* Rename key and use zero challenge array

* logservice

* Cleanup rpId handling

* Refactor to separate component + icon

* Moved the prf unlock service impl.

* Fix broken test

* fix tests

* Use isChromium

* Update services.module.ts

* missing , in locales

* Update desktop-lock-component.service.ts

* Fix more desktoptests

* Expect a single UnlockOption from IdTokenResponse, but multiple from sync

* Missing s

* remove catches

* Use new control flow in unlock-via-prf.component.ts

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>

* Changed throw behaviour of unlockVaultWithPrf

* remove timeout comment

* refactired webauthm-prf-unlock.service internally

* WebAuthnPrfUnlockServiceAbstraction -> WebAuthnPrfUnlockService

* Fixed any and bad import

* Fix errors after merge

* Added missing PinServiceAbstraction

* Fixed format

* Removed @Inject()

* Fix broken tests after Inject removal

* Return userkey instead of setting it

* Used input/output signals

* removed duplicate MessageSender registration

* nit: Made import relative

* Disable onPush requirement because it would need refactoring the component

* Added feature flag (#17494)

* Fixed ById from main

* Import feature flag from file

* Add missing test providers for MasterPasswordLockComponent

Add WebAuthnPrfUnlockService and DialogService mocks to fix test failures
caused by UnlockViaPrfComponent dependencies.

---------

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
2026-01-26 10:53:20 +01:00
Vijay Oommen
cf2427848e [PM-30879] Huntress Integration (#18505) 2026-01-23 13:36:54 -06:00
adudek-bw
a8f0bc8d4b Change send success page text to not mention email verification (#18382)
* Change send success page text to not mention email verification

* [PM-30706] replacing message and fixing double word bug

* [PM-30706] improving message parameters

---------

Co-authored-by: Alex Dragovich <46065570+itsadrago@users.noreply.github.com>
Co-authored-by: Alex Dragovich <adragovich@bitwarden.com>
2026-01-23 07:40:41 -08:00
bw-ghapp[bot]
87c68ada74 Autosync the updated translations (#18514)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-01-23 10:53:16 +01:00
Brandon Treston
65abeb51aa [PM-30500] Centralize Organization Data Ownership (#18387)
* remove deprecated OrganizationDataOwnership components, promote vNext

* WIP: add new components and copy

* multi step dialog for organization- data ownership

* disable save

* clean up copy, fix bug

* copy change, update button text

* update copy

* un-rename model

* use policyApiService

* simplify style
2026-01-22 14:47:14 +10:00
Jason Ng
d4b8558956 [PM-30748] update archived restored toast (#18367) 2026-01-21 12:30:31 -05:00
Nick Krantz
246765a1aa [PM-30453] Archive UI Updates (#18297)
* add org icon to archive list view

* update content of archive confirmation dialog

* fix typing
2026-01-19 13:25:46 -06:00
bw-ghapp[bot]
adc3ff9be2 Autosync the updated translations (#18398)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-01-16 12:34:58 +01:00
Mike Amirault
9f74178928 [PM-21774] Adjust icon and tooltip for protected Sends on the Sends l… (#18293)
* [PM-21774] Adjust icon and tooltip for protected Sends on the Sends list page

* [PM-21774] Update Sent table UI stories

* [PM-21774] Fix Send table UI story
2026-01-15 14:19:43 -05:00
bw-ghapp[bot]
95bf2a5878 Autosync the updated translations (#18365)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-01-14 18:33:14 +00:00
Nick Krantz
1ac6d3b2aa add missing translation keys (#18232) 2026-01-12 10:45:35 -06:00
Alex Morask
b1dcf34e9a [PM-29604] [PM-29605] [PM-29606] Premium subscription page redesign (#18300)
* refactor(subscription-card): Correctly name card action

* feat(storage-card): Switch 'callsToActionDisabled' into 1 input per CTA

* refactor(additional-options-card): Switch 'callsToActionDisabled' into 1 input per CTA

* feat(contract-alignment): Remove 'active' property from Discount

* feat(contract-alignment): Rename 'name' to 'translationKey' in Cart model

* feat(response-models): Add DiscountResponse

* feat(response-models): Add StorageResponse

* feat(response-models): Add CartResponse

* feat(response-models): Add BitwardenSubscriptionResponse

* feat(clients): Add new endpoint invocations

* feat(redesign): Add feature flags

* feat(redesign): Add AdjustAccountSubscriptionStorageDialogComponent

* feat(redesign): Add AccountSubscriptionComponent

* feat(redesign): Pivot subscription component on FF

* docs: Note FF removal POIs

* fix(subscription-card): Resolve compilation error in stories

* fix(upgrade-payment.service): Fix failing tests
2026-01-12 10:45:12 -06:00
bw-ghapp[bot]
7b54c21dea Autosync the updated translations (#18320)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-01-12 12:56:59 +01:00
Jordan Aasen
404d925f84 [PM-24560] - Add Archive UI Element to View and Edit Item Cards (#16954)
* finalize new UI elements for archive/unarchive

* add tests

* add missing service

* add tests

* updates to edit and view pages

* use structureClone

* fix lint

* fix typo

* clean up return types

* fixes to archive UI

* fix tests

* use @if and userId$
2026-01-09 16:39:22 -08:00
bmbitwarden
92190d734c Pm 28182 add success page (#17814)
* PM-28182-implemented send confirmation drawer

* PM-28182 resolved lint issue

* PM-28182 resolved pr comment

* PM-28182 put behind feature flag

* Fix feature flag checks in send component

* Fix feature flag checks in send dropdown component

* Add SendUIRefresh feature flag

* PM-28182 resolved lint issues

* PM-28182 resolved N bug in drawer message

* PM28182 resolved expirationDate replaced with delettionDate

* PM-28182 resolved build issue

* PM-28182 resolved failling tests

* PM-28182 resolved pr comment to consolidate expression

* chore: rerun web build

* PM-28182 removed unneeded export
2026-01-09 13:39:26 -05:00
bw-ghapp[bot]
b4c1d1c149 Autosync the updated translations (#18278)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-01-09 15:22:43 +01:00
Max
0396b4e054 Add CSV export functionality to organization members page (#17342)
* Add CSV export functionality to organization members page

* Remove unnecessary async from getMemberExport method

* Changed button position and style

* fixed button alignment

* updates based on feedback from product design

* refactor, cleanup

* fix DI

* add default to user status pipe

* add missing i18n key

* copy update

* remove redundant copy

---------

Co-authored-by: Brandon <btreston@bitwarden.com>
2026-01-08 15:09:52 +00:00
Alex Morask
1f763f470a [PM-29608] [PM-29609] Premium subscription redesign cards (#18145)
* refactor(pricing): misc

- Remove unused test file

* refactor(pricing): discount-badge.component

- Introduce new Discount union type
- Introduce Maybe type helper for T | null | undefined
- Use Discount type in the discount-badge.component
- Update the user-subscription.component to pass Discount type into the discount-badge.component
- Update spec, stories and mdx

* refactor(pricing): pricing-card.component

- Support changeDetection: ChangeDetectionStrategy.OnPush
- Update spec and mdx files

* refactor(pricing): cart-summary.component

- Introduce new Cart type
- Use Cart type as main input in cart-summary.component
- Support optional custom header template in cart-summary.component
- Support optional cart-level Discount type in cart-summary.component
- Update upgrade-payment.component to pass in new Cart type to cart-summary.component
- Update spec file, stories and mdx file

* feat(subscription): misc

- Remove unused test file
- Update jest.config.js
- Add test.setup.ts

* feat(subscription): subscription-card.component

- Add BitwardenSubscription type
- Add subscription-card.component
- Add translations
- Add spec file, stories and MDX file

* feat(subscription): storage-card.component

- Add standalone Storage type
- Add storage-card.component
- Add spec file, stories and MDX file

* feat(subscription): additional-options-card.component

- Add additional-options-card.component
- Add spec file, stories and MDX file

* fix(pricing): cart-summary.component.stories.ts lint

* fix(pricing): discount-badge.component.stories.ts lint

* fix(web): Resolve estimatedTax$ toSignal for use in cart on upgrade-payment.component

* feedback(design): Fix design issues

* Kyle's feedback

* Kyle's feedback

* cleanup: Use SubscriptionStatuses instead of string values

* feat: Add CTA disabling input to storage-card.component

* feat: Add CTA disabling input to additional-options-card.component
2026-01-07 10:54:32 -06:00
bw-ghapp[bot]
9ff3540406 Autosync the updated translations (#18235)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-01-07 15:54:15 +00:00
Jason Ng
a4b5192bd8 [PM-26516] Archive Vault Updates Non Premium (#18068)
* add callout to vault-items for non premium users, add upgrade premium flow
* add archive badge to item details only for desktop
* update desktop edit item save for unarchive
* updated success toast for edited archive item non premium
2026-01-06 16:34:52 -05:00
bw-ghapp[bot]
f3d34ad9c1 Autosync the updated translations (#18180)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-01-05 10:53:22 +00:00
Mark Youssef
ccb9a0b8a1 [CL-132] Implement resizable side nav (#16533)
Co-authored-by: Vicki League <vleague@bitwarden.com>
2025-12-29 14:08:33 -05:00
Dave
2707811de8 feat(2fa-webauthn) [PM-20109]: Increase 2FA WebAuthn Security Key Limit (#18040)
* feat(2fa-webauthn) [PM-20109]: Update WebAuthN credential handling.

* feat(messages) [PM-20109]: Add 'Unnamed key' translation.

* refactor(2fa-webauthn) [PM-20109]: Refactor nextId for type safety.

* refactor(2fa-webauthn) [PM-20109]: Clean up template comments.

* fix(webauthn-2fa) [PM-3611]: Key name is required.
2025-12-29 12:19:37 -05:00
bw-ghapp[bot]
d4a276f1de Autosync the updated translations (#18130)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-12-28 09:57:37 +00:00
bw-ghapp[bot]
c548461650 Autosync the updated translations (#18118)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-12-28 10:41:29 +01:00
bw-ghapp[bot]
ec20e5937a Autosync the updated translations (#18089)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-12-22 07:43:04 +00:00
bw-ghapp[bot]
21157f71e7 Autosync the updated translations (#18046)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-12-19 12:24:41 +01:00