1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-28 10:33:31 +00:00
Commit Graph

589 Commits

Author SHA1 Message Date
Vicki League
ec8803ea25 fix things from merges and changes 2026-02-27 11:06:22 -05:00
Vicki League
c3dc748bb8 Merge branch 'main' into uif/cl-958/avatar 2026-02-27 10:56:25 -05:00
Vicki League
dc334cb460 change size names 2026-02-27 10:54:06 -05:00
Vicki League
5688ae9238 use css var approach for colors 2026-02-27 10:26:49 -05:00
Oscar Hinton
c5fa1a5b04 Eliminate standalone in libs/components (#19142)
* Eliminate last standalone in libs/components

* Fix annon layout
2026-02-26 18:48:41 +01:00
Oscar Hinton
6b326a5fd0 [CL-1051] Generic closeOnNavigation for drawers (#19031)
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.
2026-02-26 17:44:49 +01:00
Oscar Hinton
5c5102fa30 [CL-1058] Eslint suggestions for no-bwi-class and no-icon-children (#19134)
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
2026-02-26 17:17:23 +01:00
Will Martin
c5e73b4b8c [CL-971] update responsive behavior of three panel layout (#19086)
* 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>
2026-02-23 11:56:01 -05:00
Nick Krantz
99fdaaec91 cast feature flag mock (#19106) 2026-02-20 17:03:46 +00:00
Oscar Hinton
1f69b96ed6 Add linting rule to detect when icons are used in buttons (#19104)
* Add linting rule to detect when icons are used in buttons

* Update docs for links

* Add lint for link
2026-02-20 15:54:36 +00:00
Oscar Hinton
bc23640176 [CL] Document the start and end icon attributes (#19100) 2026-02-20 15:09:05 +00:00
Vicki League
e16503f093 [PM-24178] Handle focus when routed dialog closes in vault table (#18409) 2026-02-20 10:01:38 -05:00
Vijay Oommen
d0ccb9cd31 [PM-32013] Empty state incorrectly rendered (#19033) 2026-02-19 11:12:03 -06:00
Leslie Xiong
1efd74daaf fixed berry styles for dark mode (#19068) 2026-02-18 17:59:18 -05:00
Vicki League
d5472528d0 fix typo and hover text color 2026-02-13 14:53:06 -05:00
Vicki League
6a0b1c55a9 Merge branch 'main' into uif/cl-958/avatar 2026-02-13 14:29:40 -05:00
Vicki League
44bc9faa4e update avatar sizes in stories 2026-02-13 14:28:23 -05:00
Vicki League
3577cc12e1 cr changes 2026-02-13 11:49:52 -05:00
Vicki League
fddcb1535d update fully to spec 2026-02-12 16:09:35 -05:00
Will Martin
fe15b44ccc [CL-1046] Update dialog components to support attribute selector usage for form integration (#18929)
- Add [bit-dialog] and [bit-simple-dialog] attribute selectors
- Update documentation with recommended form usage pattern
- Add Storybook examples demonstrating <form bit-dialog> pattern
- Migrate simple-configurable-dialog template to new pattern

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-12 11:26:25 -06:00
Bryan Cunningham
4b7e3eae41 show underline on focus (#18916) 2026-02-11 12:58:59 -05:00
Leslie Xiong
ea55aaaede [CL-1022] Update Berry Styles (#18799)
* 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
2026-02-11 12:21:33 -05: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
Vicki League
d38dc2b20d Merge branch 'main' into uif/cl-958/avatar 2026-02-10 14:18:59 -05:00
Will Martin
9bdfc68aa2 [CL-1034] tooltip should only show on focus-visible (#18767) 2026-02-06 10:43:52 -05:00
Bryan Cunningham
a07c9ebf6b [CL-637] icon api buttons links (#18388)
* 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
2026-02-04 14:20:44 -05:00
Vicki League
97c65b3c72 [PM-31384] Prevent dialog header from stealing focus from autofocus inputs (#18657) 2026-02-04 10:26:38 -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
Will Martin
7c4ea23f88 [CL-970] delete deprecated drawer (#18577)
* 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>
2026-01-30 14:51:54 -05:00
Nick Krantz
93ce914f79 [PM-30638] Cipher Add/Edit dialog focus (#18536)
* allow exporting of the DialogComponent

* focus on dialog header when switching modes

* update to view child fixmes
2026-01-30 10:10:26 -06:00
Will Martin
5dc49f21d2 [CL-82] rename bit-icon to bit-svg; create new bit-icon component for font icons (#18584)
* rename bit-icon to bit-svg; create new bit-icon for font icons

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* find and replace current usage

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* add custom eslint warning

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* fix incorrect usage

* fix tests

* fix tests

* Update libs/components/src/svg/index.ts

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

* Update libs/eslint/components/no-bwi-class-usage.spec.mjs

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

* update component api

* update class name

* use icon type in iconButton component

* update type Icon --> BitSvg

* fix bad renames

* fix more renames

* fix bad input

* revert iconButton type

* fix lint

* fix more inputs

* misc fixes

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* fix test

* add eslint ignore

* fix lint

* add comparison story

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
2026-01-28 11:36:27 -05:00
Oscar Hinton
d64db8fbf5 [CL-904] Migrate CL/Navigation to use OnPush (#16958)
* 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>
2026-01-26 11:44:16 -05:00
Bryan Cunningham
3a5b31f7df fix overlap of product switcher in side nav (#18533) 2026-01-23 14:24:40 -05:00
Bryan Cunningham
6cf434cf11 [CL-841] landing layout component (#17969)
* 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
2026-01-23 11:57:55 -05:00
Bryan Cunningham
daacff888d [CL-1020] background color updates (#18417)
* 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
2026-01-22 16:55:35 -05:00
Vicki League
64cf87c30e wip 2026-01-22 16:08:00 -05:00
Oscar Hinton
9a479544a6 Add support for rounded layout (#18283) 2026-01-22 10:25:39 +01:00
Bryan Cunningham
1578886a5f [CL-984] link style updates (#18360)
* 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
2026-01-21 10:45:49 -05:00
bmbitwarden
07a5b4772c PM-21800 calling copyToClipboard function from PlatformUtilsService in order to trim copied string (#17510)
* PM-21800 applied tw-whitespace-break-spaces in order to manage contents of clipboard

* PM-21800 implemented host listener to decorate clipboard value

* PM-21800 revert earlier tailwind change

* PM21800 resolved pr comment re shared clipboard function

* chore: rerun UI tests

* PM-21800 resolved failling chromatic tests

* PM-21800 resolved failing chromatic tests

* PM-21800 reverted from shared clipboard component

* PM-21800 resolved clipboard issue

* PM-21800 resolved clipboard issue

* PM-21800 resolved pr comment

* PM-21800 reverted storybook change

* PM-21800 removed css tailwind way to restrict clipboard copied text

* PM-21800 refactored hostlistener in color password component

* PM-21800 resolved pr comment to replace class with data attribute
2026-01-16 11:38:28 -05:00
Vicki League
12516ceeea [PM-24178] Handle dialog focus when launched from a menu item (#18208) 2026-01-16 09:36:00 -05:00
Bryan Cunningham
067bfa698d [CL-822] fix popover initial position (#18107)
* 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
2026-01-12 17:04:46 -05:00
Isaac Ivins
95100b6f23 Feature/pm 28788 desktop header UI migration (#18221)
Add desktop header component
2026-01-09 09:41:15 +01:00
Bryan Cunningham
54b42001d2 [CL-1006] fix nav hover and update resize handle animation (#18219)
* fix nav logo hover alignment

* update grab handle animation timing
2026-01-07 09:08:43 -05:00
Bryan Cunningham
f341b00092 [CL-947] drawer width variants (#18156)
* 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
2026-01-05 08:59:11 -05:00
Oscar Hinton
738df45f38 Add input for forcing active state on group & disable toggle (#18043) 2026-01-05 11:07:37 +01: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
Bryan Cunningham
2da44bb300 [CL-913] add new color palette to theme and tailwind config (#17998)
* 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
2025-12-26 16:18:31 -05:00
Vicki League
dc1ecaaaa2 [PM-29819][CL-806] Fix focus mgmt on search and filter page navigations (#18007) 2025-12-22 16:55:20 -05:00
Mike Amirault
39bc4fb789 [PM-29875] Close Send drawer on navigation (#18031) 2025-12-18 14:48:48 -05:00
Oscar Hinton
ad4b6a30a0 [UIF] Prefer static string properties (#17966) 2025-12-18 01:49:26 -05:00