1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-18 10:23:52 +00:00
Commit Graph

3035 Commits

Author SHA1 Message Date
John Harrington
f5b1be7e62 add dynamic EV headers (#18949) 2026-02-13 14:14:31 -07:00
Jordan Aasen
323f30c8e9 [PM-29892] - fix bulk share in vault (#18601)
* fix bulk share in vault

* clean up types.

* remove unnecessary optional chain

* add back defensive programming. update restore

* fix searchableCollectionNodes

* add back optional chains
2026-02-13 11:36:39 -08:00
Jason Ng
10a20a43a3 [PM-31738] update archive toasts (#18923)
* update archive toast for all clients and trash archive restore toast, update archive cipher utilities spec
2026-02-13 13:53:11 -05:00
cyprain-okeke
f46511b3e8 [PM-30908]Correct Premium subscription status handling (#18475)
* Implement the required changes

* Fix the family plan creation for expired sub

* Resolve the pr comments

* resolve the resubscribe issue

* Removed redirectOnCompletion: true from the resubscribe

* Display the Change payment method dialog on the subscription page

* adjust the page reload time

* revert payment method open in subscription page

* Enable cancel premium see the subscription page

* Revert the removal of hasPremiumPersonally

* remove extra space

* Add can view subscription

* Use the canViewSubscription

* Resolve the tab default to premium

* use the subscription Instead of hasPremium

* Revert the changes on user-subscription

* Use the flag to redirect to subscription page

* revert the canViewSubscription change

* resolve the route issue with premium

* Change the path to

* Revert the previous iteration changes

* Fix the build error
2026-02-13 18:56:35 +01:00
Jared
b567fea7e7 [PM-29506] Rid of old feature flag for members feature flag (#18884)
* [PM-31750] Refactor members routing and user confirmation logic

* Simplified user confirmation process by removing feature flag checks.
* Updated routing to directly use the new members component without feature flagging.
* Removed deprecated members component references from routing modules.
* Cleaned up feature flag enum by removing unused entries.

* trigger claude

* [PM-31750] Refactor members component and remove deprecated files

* Renamed vNextMembersComponent to MembersComponent for consistency.
* Removed deprecated_members.component.ts and associated HTML files.
* Updated routing and references to use the new MembersComponent.
* Cleaned up related tests to reflect the component name change.

* Refactor import statements in security-tasks.service.ts for improved readability

* Update apps/web/src/app/admin-console/organizations/manage/user-confirm.component.ts

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>

* Remove BaseMembersComponent and related imports from the admin console, streamlining member management functionality.

* Remove unused ConfigService import from UserConfirmComponent to clean up code.

* Implement feature flag logic for user restoration in MemberDialogComponent, allowing conditional restoration based on DefaultUserCollectionRestore flag.

---------

Co-authored-by: Thomas Rittson <trittson@bitwarden.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
2026-02-13 11:38:35 -05:00
Brandon Treston
011f250684 [PM-32075] Fix self host bug due to type mismatch (#18919)
* fix self host bug with data model

* fix type issues

* fix types, make successful required
2026-02-13 10:02:36 -05:00
Daniel James Smith
69264c8841 [PM-32212] Migrate platform font icons to bit-icon (#18970)
* Changes on browser

* Changes on desktop

* Changes on web

* Fix chromatic story

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2026-02-13 09:43:42 -05:00
bw-ghapp[bot]
412d1b541d Autosync the updated translations (#18963)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-13 12:11:17 +01:00
Brad
8d3cbd3da6 [PM-31801] Fix: Allow admins/owners to edit all ciphers in reports when Org setting is enabled#18856
This PR fixes an issue where admins couldn't edit ciphers in organization reports when the "Allow Admin Access to All Collection Items" setting was enabled.

The fix adds a check for organization.allowAdminAccessToAllCollectionItems in the canManage() method across all organization report components. When this setting is enabled, admins/owners can now properly edit all ciphers regardless of collection membership.
2026-02-12 13:59:27 -08:00
Brad
1be55763a3 [PM-31689] Fix Org 2FA report: cipher names should always show #18927
Fix issue where ciphers appearing in the Org 2FA report would render without the cipher name shown. This was happening for all ciphers in Collections the active User did not have access to.
2026-02-12 11:17:09 -08:00
Jared
2e83244158 Update showDescription property in BasePolicyEditDefinition to false (#18915) 2026-02-12 13:02:11 -05:00
Alex
7342bf672f [PM-31161] reports scroll bug (#18769)
* Fix virtual scroll gap in exposed-passwords-report by setting rowSize to 54px

* Fix virtual scroll gap in weak-passwords-report by setting rowSize to 54px
2026-02-12 09:01:30 -08:00
Thomas Avery
4d93348a2e [PM-30812] Update userKey rotation to use saltForUser (#18697) 2026-02-12 10:51:31 -06:00
Jason Ng
30d3a36c7e [PM-31938] refactor archive btn logic in web view modal (#18874)
* refactor showArchiveBtn logic in web view modal
2026-02-11 17:32:35 -05:00
Brad
a9ccb421c4 [PM-30542] Conditionally render old Access Intelligence tabs, sub heading copy update (#18847)
First step of removing code for old Access Intelligence tabs. The old tabs should not appear when the milestone 11 feature flag is on. Once flipped in Production, the remainder of this ticket can be completed (old code entirely removed)

Also included in this change is a copy update for the sub heading of the page.
2026-02-11 09:00:14 -08:00
Nick Krantz
f20686cdf4 [PM-24978] Corrupt Attachment Keys (#17790)
* display translated content for attachments that cannot be downloaded

* consume decryption failure from the sdk for attachments

* add decryption errors from sdk

* only show fix attachment issues for when key is null and it does not have a decryption failure

* separate decryption failure state in view
2026-02-11 10:31:38 -06:00
Jared
3f3fc6f984 [PM-31937] Close drawer on navigation (#18852)
* Implement OnDestroy lifecycle hook in PoliciesComponent to close dialog on component destruction. Update dialog reference handling for improved resource management.

* Add documentation to dialogs.mdx so others can know how to prevent drawers staying open

* Fix for PR action test

* Update PoliciesComponent to use optional chaining for myDialogRef
2026-02-11 10:52:50 -05:00
Jason Ng
04b17816d7 [PM-31670] replace bulk archive toast message (#18877) 2026-02-11 09:47:48 -05:00
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
Jared
3b535802db [PM-26020] Implement dynamic cipher creation permissions in vault header and new… (#18579)
* Implement dynamic cipher creation permissions in vault header and new cipher menu components

* Enhance new cipher menu button behavior and accessibility. Implement dynamic button label based on creation permissions, allowing direct collection creation when applicable. Update button trigger logic to improve user experience.

* Update apps/web/src/app/vault/individual-vault/vault-header/vault-header.component.ts

Co-authored-by: SmithThe4th <gsmith@bitwarden.com>

* Add canCreateCipher getter for improved readability

---------

Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
2026-02-10 15:45:45 -05:00
Jackson Engstrom
6f1a618714 [PM-31732] Fix issue with user flow from vault-item-dialog 2026-02-10 11:46:03 -08:00
Jason Ng
322ff6b70b [PM-31675] remove archive from web edit (#18764)
* refactor default cipher archive service, update archive/unarchive in vault-item-dialog, remove archive/unarchive items in edit form
2026-02-09 16:17:46 -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
Nick Krantz
3855332279 [PM-31431] Refactor vault prompts (#18740)
* move existing prompting into separate service for the web vault

* add unit tests for web vault prompt service

* add provider

* remove `autoConfirmDialogRef`

* rename auto confirm dialog
2026-02-09 12:48:44 -06:00
Jared
da219b911e [PM-26195] Refactor selection logic in VaultItemsComponent to ensure bulk select visual bug fix (#18674)
* Refactor selection logic in VaultItemsComponent to ensure bulk selection matches visual order. Added getSortedEditableItems method for sorting based on current table configuration, enhancing user experience during selection.

* Refactor sorting logic in VaultItemsComponent to clarify collection prioritization. Updated comments to indicate that collection comparison is direction-independent, enhancing code readability and maintainability.
2026-02-09 13:46:17 -05:00
bitwarden-devops-bot
f6af7f3e23 Bumped client version(s) 2026-02-09 11:36:30 +00: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
b6ff3a110e [PM-18855] Add edit Cipher permission check to Cipher Authorization Service and use in Vault dialog (#18375)
Centralize edit permission checks in CipherAuthorizationService instead of using the disableForm parameter passed to VaultItemDialogComponent. This refactoring improves consistency with how delete and restore permissions are handled, establishes a single source of truth for authorization logic, and simplifies caller components.

This change also fixes the bug in ticket, which allows Users to properly edit Ciphers inside of the various Admin Console report types.
2026-02-06 12:18:20 -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
Andreas Coroiu
1898c27ad3 [PM-30404] Exclude .wasm.js from babel (#18555)
* feat: exclude .wasm.js from babel

* feat: exclude from browser and desktop too
2026-02-06 08:42:08 +01:00
Jared
2fd3404c27 Revert "Disable native icon for datetime-local field and use our own icons for stylizing (#18633)" (#18796)
This reverts commit 2d8f74bf70.
2026-02-05 16:44:29 -05:00
Jared
f010d28492 [PM-25365] Enhance layout responsiveness in vault component header (#18679)
* Enhance layout responsiveness in vault components by adding flex properties to improve structure and ensure proper height management.

* Refactor vault component layout to rid of my changes

* Update apps/web/src/app/vault/individual-vault/vault.component.html

Co-authored-by: Jackson Engstrom <jengstrom@bitwarden.com>

---------

Co-authored-by: Jackson Engstrom <jengstrom@bitwarden.com>
2026-02-05 15:02:49 -05:00
Jason Ng
0b8d61a1b8 [PM-31423] updated isAdminConsoleAction check in cipher-report (#18662) 2026-02-05 12:42:22 -05:00
Jared
f34ccf21d8 Fix highlight in left sidebar menu (#18781) 2026-02-05 12:03:01 -05:00
Jared
5c7bba00f3 [PM-16694] ac integration page background fill missing (#18508)
* Fixing some tech debt before implementing actual fix of implementation

* Adding new components to handle the different routes for the integrations page to make use of bit-tab-nav-bar to follow background-fill UI spec

* Implement organization integrations page with routing and state management

- Added routing for organization integrations including device management, event management, single sign-on, and user provisioning.
- Created OrganizationIntegrationsState to manage integrations and organization data.
- Introduced OrganizationIntegrationsResolver for preloading organization and integration data.
- Updated components to utilize the new state management and resolver.
- Refactored integration routes to follow updated naming conventions.

* Refactor organization integrations components to use signals and observables; enhance async handling in templates and add debug logging

* Enhance organization integrations module with routing updates and state management improvements

- Added OrganizationIntegrationsState for better state management.
- Updated routing to redirect to single sign-on by default.
- Integrated OrganizationIntegrationsResolver for preloading data.
- Refactored components to utilize new state management and improved async handling.

* Refactor SingleSignOnComponent to remove OnInit lifecycle and debug logging

- Simplified SingleSignOnComponent by removing the OnInit implementation.
- Eliminated debug logging for integrations in ngOnInit.
- Cleaned up imports for better readability.

* Refactor WebHeaderComponent to simplify background handling

- Removed the useAltBackground input signal from WebHeaderComponent.
- Updated the HTML template to conditionally apply styles based solely on the child element count of the tabs container.

* Refactor organization integrations components for improved readability and performance

- Updated HTML templates to remove optional chaining for organization properties.
- Removed unnecessary debug logging and comments in the OrganizationIntegrationsResolver.
- Simplified DeviceManagementComponent by eliminating the OnInit lifecycle hook.

* Refactor organization integrations components to use direct state properties

- Updated components to access organization and integrations directly from state instead of using observables.
- Simplified HTML templates by removing async pipes and using direct function calls for better readability.
- Ensured consistent naming conventions for organization and integrations variables across components.

* Enhance WebHeaderComponent by adding bitTypography attribute to the title element for improved styling consistency

* Refactor organization state to use 'undefined' instead of 'null' for organization signal and remove OnInit lifecycle hook from UserProvisioningComponent for cleaner code.

* Refactor EventManagementComponent to remove OnInit lifecycle hook for cleaner code and improved readability.

* Update organization state to set organization value to 'undefined' when null is provided, enhancing state management consistency.

* Update WebHeaderComponent to allow optional title and icon inputs, enhancing flexibility in header configuration.

* Update WebHeaderComponent to allow account property to be nullable, improving type safety and handling of user data.
2026-02-05 10:58:42 -05:00
Jared
479273a883 Fix optional chaining for collectionId in vault navigation query parameters (#18652) 2026-02-05 10:39:33 -05:00
Jared
2d8f74bf70 Disable native icon for datetime-local field and use our own icons for stylizing (#18633) 2026-02-05 10:37:35 -05:00
Jared
35773ae9a0 [PM-29771] Make invitation non-plural if only 1 member selected (#18684)
* Make invitation non-plural if only 1 member selected

* Add isSingleInvite as per Jimmy's suggestion
2026-02-05 10:36:44 -05:00
Jared
61763204ea Update bulk restore/revoke component to conditionally display non-compliant members callout. Adjusted logic to set statuses based on entry errors and isRevoking state. (#18654) 2026-02-05 10:35:39 -05:00
Vijay Oommen
a2916084ee [PM-30547] Table empty state message (#18752) 2026-02-04 10:42:13 -06:00
Jackson Engstrom
9fc52cb46e [PM-21607] Adds bwi-plus-circle and bwi-minus-circle to Link SSO and Unlink SSO menu buttons (#18328)
* adds bwi-plus-circle and bwi-minus-circle to Link SSO and Unlink SSO menu buttons

* fixes spacing for Leave organization option

---------

Co-authored-by: capenapplebw <capple@bitwarden.com>
2026-02-04 08:19:06 -08:00
Vicki League
97c65b3c72 [PM-31384] Prevent dialog header from stealing focus from autofocus inputs (#18657) 2026-02-04 10:26:38 -05: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
rr-bw
489308fd75 refactor(input-password-flows): [Auth/PM-27086] Use new KM Data Types in InputPasswordComponent flows - Emergency Access (#18425)
Update the Emergency Access Takeover flow to use new KM data types from `master-password.types.ts` / `MasterPasswordService`:
- `MasterPasswordAuthenticationData`
- `MasterPasswordUnlockData`

This allows us to move away from the deprecated `makeMasterKey()` method (which takes email as salt) as we seek to eventually separate the email from the salt.

Changes are behind feature flag: `pm-27086-update-authentication-apis-for-input-password`
2026-02-03 10:41:25 -08: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
Stephon Brown
86907d68c2 [PM-29600] Rename Tax Client and Add Endpoints for Upgrade and Proration (#18462)
* 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

* fix(billing): add additional prorated amount of months

* fix(billing): update client call parameter

* feat(billing): Enhance ProrationPreviewResponse with new plan details
2026-02-03 11:11:00 -05:00