Exposes closeOnNavigation from cdk config and implements a drawer close solution on navigation. More complex scenarios may still require custom handling.
DialogService is referenced in imported components in some tests meaning we need to use overrideProvider rather than providers.
Follow up to #19104 and #18584 to add eslint suggestions that can be applied in editors to speed up resolving the lints.
Also adds a fixedWidth input to bit-icon since having fixed width icons is fairly common and I would prefer that we don't keep bwi-fw
* update responsive behavior of three panel layout; give sidenav extra top padding on electron; add stories that show mix of drawer and sidenav states
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* created 'berry' component
* added 'bit-berry' to 'popup-tab-navigation'
* simplified - removed null checks
* changed 'effectiveSize' to 'computedSize'
* fixed 'accentPrimary' color
* updated to not render berry if 'count' is 0 or negative number
* simplified checking count undefined
* updated computed padding
* switched from `[ngClass]` to `[class]`
* updated 'popup-tab-navigation' berry to use 'danger' variant
* fixed berry positioning in popup-tab-navigation
* updated content logic
* cleanup unused 'ngClass'
* updated conditional rendering of berry
* updated story 'Usage'
* updates with adding berry 'type'
* added type "status" to popup-tab-navigation
* fixed type error
* updated 'Count Behavior' description
* 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
* update button api to accept icons
* use template outlet in button
* add link component
* create link component to handle anchors and buttons
* remove unnecessary let variables
* fix link focus state styling
* update link underline style
* fix broken skip link focus
* add focus method to link component
* fix typo
* fix off center loading state
* move flex styles to template to fix some minor style overrides
* remove unnecessary variables
* fix interaction states and add styles for test class to work properly
* refactor classes and make variable sreadonly
* fix classes not being applied correctly
* fix bad merge conflict resolution
* simplified button template
* 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
* delete bit drawer
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
* fix: remove stale drawer export from components barrel file
The drawer directory was deleted but the export statement in index.ts
was not removed, causing import errors.
Co-authored-by: Will Martin <willmartian@users.noreply.github.com>
---------
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Will Martin <willmartian@users.noreply.github.com>
* Migrate CL/Navigation to use OnPush
* Modernize the code
* Swap to signals and class
* Further tweaks
* Remove this.
* Replace setOpen and setClose with a public signal
* fix merge issues and signal-ifying service
* fix class and style bindings
* fix accidental behavior change from merge conflicts
* fix redundant check
* fix missed ngClass
* fix comment
* Re-add share ng-template
---------
Co-authored-by: Vicki League <vleague@bitwarden.com>
Co-authored-by: Will Martin <contact@willmartian.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
* wip
* wip
* implement new control flow syntax
* new landing helper components
* add missing imports to header
* create max width container
* create landing card component
* address claude feedback
* fix center aligned text
* ensure secondary content is centered for now
* only render container when there is content
* remove max width container
* remove constructor init of variable
* remove unnecessary styling
* build styling into helper components
* ensure content grows
* ensure content takes allowed width
* apply padding to elements instead of header and check for projected content
* use Array.from to filter nodes
* fix logo width
* use has selector to apply actions styles, simplify heading padding
* remove unneeded content projection
* remove unneeded comment
* use modern control flow for story
* update max width classes to signal and remove switch
* make logo input readonly
* remove variables
* remove object type
* fix width types usage
* add comments about component usage
* fix broken variable reference
* fix broken max width class usage
* only appyly y padding to header actions
* Adding new background colors
* add sidenav color variables
* fix admin console text color
* update sidenav logos to use correct fill color
* update nav logo focus ring color
* WIP
* add new link styles
* update link stories
* skip default screenshot as variations are covered in other stories
* updated docs and story background
* make default the default linkType value
* remove references to primary link type in CL
* use better bg colors in stories
* remove duplicate linkType
* update aria-disabled text to use new palette
* add back primary link type to story
* fix capitolization
* add backticks to variant names in docs
* remove important from link styles
* fix generic selector to find correct button
* fix capitolization
* mark variants as deprecated in docs
* fix link hover text colors
* ensure trigger is fully rendered before placement
* do not skip popover screenshots
* try to stabalize popover screenshots
* try to stabalize popover screenshots
* add play function to remaining stories
* add screenshot diff threshold
* increase diff threshold
* revert story changes
* add comment about double requestAnimationFrame
* empty commit to trigger claude review
* address Claude feedback. Move init and cleanup
* add comment about rafIds are assigned
* add destroyed flag to prevent any potential race conditions
* use different rafIds for explicit cleanup
* check for ref to prevent duplicate creation
* prevent clicks during destroy lifecycle
* add spec for popover trigger directive
* ensure popover closes if clicked during initial delay
* allow drawer to adapt to size input
* add new drawer sizes
* move logic back to dialog component
* convert width to computed signal
* fix template error and remove duplicate class
* use normal const object
* ensure dialogSize undefined is handled
* add new color palette to theme and tailwind config
* updated docs color names
* remove safelist changes
* add missing accent colors to docs
* updated color mappings
* combined docs in colors.mdx and reference in Claude.md
* add variables for white and black
* updated docs
* updated list rendering style
* more specific docs instructions
* revert to simpler colors docs reference
* remove changes to claude.md
* use rgb color variables to compose semantic