1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-06 00:13:28 +00:00
Commit Graph

490 Commits

Author SHA1 Message Date
Bryan Cunningham
d3fc20f8b9 explicitly add aria label (#16963) 2025-10-21 12:46:08 -04:00
Oscar Hinton
aa12700ebc Forbid non tailwind classes in browser (#16902)
Enables the non tailwind eslint rule to ensure we don't accidentally add any bad classes to our browser extension.

- Notification bar uses a custom CSS file and is excluded.
- Removed unused `UserVerificationComponent`.
2025-10-21 02:32:55 +02:00
Vicki League
d2c6757626 [CL-850] Remove anon layout default icon and require either icon or no icon (#16433) 2025-10-20 14:07:48 -04:00
SmithThe4th
7c972906aa [PM-10128] [BEEEP] Add Right-Click Menu Options to Vault (#10954)
* Added right click functionality on cipher row

* Updated menu directive to position menu option on mouse event location

* Updated menu directive to reopen menu option on new mouse event location and close previously opened menu-option

* removed preventdefault call

* Added new events for favorite and edit cipher

* Added new menu options favorite, edit cipher

Added new copy options for the other cipher types

Simplified the copy by using the copy cipher field directive

* Listen to new events

* Refactored parameter to be MouseEvent

* Added locales

* Remove the backdrop from `MenuTriggerForDirective`

* Handle the Angular overlay's outside pointer events

* Cleaned up cipher row component as copy functions and disable menu functions would not be needed anymore

* Fixed bug with right clicking on a row

* Add right click to collections

* Disable backdrop on right click

* Fixed bug where dvivided didn't show for secure notes

* Added comments to enable to disable context menu

* Removed conditionals

* Removed preferences setting to enable to disable setting

* Removed setting from right click listener

* improve context menu positioning to prevent viewport clipping

* Keep icon consisten when favorite or not

* fixed prettier issues

* removed duplicate translation keys

* Fix favorite status not persisting by toggling in handleFavoriteEvent

* Addressed claude comments

* Added comment to variable

---------

Co-authored-by: Addison Beck <github@addisonbeck.com>
2025-10-20 09:41:50 -04:00
Vicki League
b9edd453ba [CL-874] Replace or ignore hardcoded colors in svgs (#16871)
* [CL-874] Replace or ignore hardcoded colors in svgs

* missed the logo color remaining in dark mode

* set svg color lint rule to error

* add bw blue color
2025-10-18 16:46:24 -04:00
Vicki League
ba5c93fae2 [CL-427] Add skeleton loading components to the CL (#16728) 2025-10-16 09:36:16 -04:00
Will Martin
0713f90a06 [PM-25871] updated phishing warning UI (#16748)
* refactor phishing-warning.component

* add hideBackground input to anon-layout component

* add icon tile component to CL

* add storybook story; fix binding bug in template

* export icon-tile from CL

* update design of phishing warning page

* revert icon button to use string type; add comment to icon scss

* update callout to allow no icon/title on all variants

* update phishing warning styles

* fix defects

* crowdin messages cannot be changed, they must be replaced

* add global css override

* add phishing help link

* update icon used in tile

* tweak styles
2025-10-15 10:32:02 -04:00
Vicki League
fdee84214a [CL-890] Mute nav stories temporarily (#16885) 2025-10-15 14:16:21 +00:00
Nick Krantz
d747dc30a2 [PM-26648] Unarchive Icon (#16784)
* add unarchive icon to font

* fix cipher-form stories

* move unarchive to the proper section

* add premium icon
2025-10-08 14:14:22 -05:00
Mark Youssef
a4a53e27d4 [CL-616][CL-670] first pass at responsive updates to vault (#14588) 2025-10-08 10:04:39 -07:00
Oscar Hinton
a1e226b598 [PM-25603] Use angular template for avatar (#15978)
We should be able to simplify the angular component by using svg element directly.
2025-10-03 11:51:25 +02:00
Mark Youssef
83c457920e [PM-14292] Update dialog header to truncate past 2 lines (#15708)
* Update dialog header to truncate past 2 lines

* Fix case where title is one long word

* Fix random white space

* Fix one long word to truncate

* Switch to break words

* Remove pre-line
2025-10-02 13:38:09 -07:00
Danielle Flinn
087e1a6155 [CL-866] Add default callout and update styles (#16481)
* Updated callout styles 
* Added default callout variant
* Refactored component to support icon + content variants (with no header)

---------

Co-authored-by: Vicki League <vleague@bitwarden.com>
Co-authored-by: Bryan Cunningham <bryan.cunningham@me.com>
2025-10-01 23:00:47 +00:00
Bryan Cunningham
08a022fa52 [CL-227] Tooltip component (#16442)
* add tooltip component

* fix typescript errors

* fix more typescript errors

* remove css comments

* fix tooltip blocking mouse events

* move default position logic to shared util

* fix tooltip stories options

* add tooltip spec

* add offset arg to default positions

* add shadow to tooltip

* increase offset

* adding max width

* fix disabled button cursor

* add stronger position type

* fixing types

* change get positions function to type return correctly

* more fixing types

* default options object

* add mock to tooltip stories

* add figma link to story

* update positions file name. remove getter

* remove standalone. add comment about component use

* add jsdoc comment to directive inputs

* fix typo

* remove instances of setInput

* fix storybook injection error

* remove unneeded functions

* remove unneeded variables

* remove comment

* move popover positions back with component

* fix popover i18n mock

* creat etooltip positions file

* update test to account for change to setInput calls

* remove panel class as it's not necessary

* improve tooltip docs page

* use classes for styling. Simpliy position changes

* simplify tests. No longer need to track position changes

* move comment to correct place

* fix typos

* remove unnecessary standalone declaration
2025-10-01 14:01:53 -04:00
Bryan Cunningham
2a0b564e93 add back missing chevron (#16614)
* add back missing chevron

* add transform origin to center chevron correctly

* update top position to center chevron properly
2025-09-30 13:04:22 -04:00
Bryan Cunningham
dafbe7db1f add bold font to dt and add margin to dl (#16649) 2025-09-30 11:59:19 -04:00
Mark Youssef
018b4d5eb4 [CL-609] Close side nav when breakpoint changes (#15062)
* Close side nav when breakpoint changes

* Leverage side-nave listener instead

* Remove effect inside pipe

* Reuse isSmallScreen
2025-09-29 07:19:52 -07:00
Vicki League
e3a5111a35 [CL-849] Update and consolidate logo svgs (#16390) 2025-09-25 14:52:55 -04:00
Bryan Cunningham
9d82fc7dfc [CL-95] loading spinner (#16363)
* add spiner from previous branch

* add loading spinner to button

* Add spinner to dialog

* Add spinner to icon button

* add spinner to multi select component

* fix spinner positioning

* Add mock i18n in stories where needed

* round stroke caps. Update classes

* fix ts error

* fix broken tests

* add missing translation keys to stories

* Add mising key for layout

* Add mising key for nav group

* Add mising key for spotlight

* Add mising key for product switcher

* Add mising key for dialog service

* add translation to copy click story
2025-09-23 15:36:18 -04:00
Mark Youssef
06d263f04a [CL-794] Fix cutoff content on smaller screens (#15644)
* Fix cutoff content on smaller screens

* Fix overlay issue by moving outside main
2025-09-23 11:26:18 -07:00
Addison Beck
c688eed531 build: add nx configuration in libs/components (#16545) 2025-09-23 14:19:10 -04:00
Vicki League
ea5eb9aaf7 [CL-737] Migrate last copy click input to signal (#16291) 2025-09-19 11:28:07 -07:00
Will Martin
cf929edb9c [Cl-726] layout spacing updates (#15979) 2025-09-19 08:32:30 -07:00
Vicki League
508712fb3b [CL-864] Move a couple small docs things to Storybook from Confluence (#16402) 2025-09-17 10:18:13 -04:00
Bryan Cunningham
4711e51de3 [CL-816] Anon layout icon sizing (#16349)
* add max-width to SVG to prevent oversizing

* add max width to svg

* add comment to explain targeted svg styling
2025-09-16 14:41:17 -04:00
Bryan Cunningham
279d16999a [CL-834] Use intersection observer to determine if content scrolls (#16099)
* use intersection observer to fix dynamic content load issue

* set up mock intersection observer

* Create reusable hasScrollable content util

* return null from resize to fix type error

* remove Observer mock

* return observable

* refactor util and remove resize

* use async pipe for observable in template

* remove comment left in error
2025-09-12 12:05:28 -04:00
Vicki League
926f587ea2 [CL-581] Update svgs to new designs and make responsive (#16219) 2025-09-10 17:23:53 -04:00
Vijay Oommen
45efd3e5ab [PM-19996] added new icon for access-intelligence (#16315) 2025-09-09 10:01:05 -05:00
Bryan Cunningham
0aaab9fe52 [CL-820] Switch component (#16216)
* Add switch component

* fix focus state

* updating stories

* add switch role

* updated story docs code examples

* Add max length and long label story

* Add disabled reason text

* fix hint spacing

* support rtl thumb transform

* use correct input syntax. assign value to template variable

* remove pointer when disabled

* Show disabled text as title if it exists

* add basic switch component tests

* keep switch top aligned

* move switch back to right side of label

* add max width to label and hint

* updated switch story docs

* fix story html formatting

* better comment about which are ControlValueAccessor functions

* add JSDoc comment about model signals

* update methods to mirror search input format

* fix notify function type

* fix typo

* throw error if label is not provided

* add hover and focus states

* add label to failing spec

* import bit-label
2025-09-08 15:14:03 -04:00
Oscar Hinton
63af0ad711 [CL-836] Extract base css variables (#14733)
* Extract base variables

* Get tw to consume font css variables
2025-08-29 10:43:38 +02:00
Vicki League
38f62a0149 [PM-25222] Fix svg alignment issues caused by new preflight defaults (#16181) 2025-08-27 12:40:16 -04:00
Vicki League
777b92660a [CL-706] Display all svg icons in Storybook (#16111) 2025-08-25 12:09:20 -04:00
Vicki League
dd4ec9c5d9 [CL-735][CL-743] Finish migrating form control components to signals (#15927) 2025-08-22 15:17:14 -04:00
Bryan Cunningham
eb84faaf99 [CL-825] Provide dimensions to checkbox to fix ios rendering bug (#16109)
* absolutely position checkbox to fix ios rendering bug

* remove absolute positioning. Dimensions fix it
2025-08-22 10:01:23 -04:00
Vicki League
805b6fe7aa [CL-573] Move all svg icons to new libs/assets (#16020)
* create libs/assets

* treeshake lib and filter out non-icons from icon story

* update docs

* fix icon colors in browser and desktop

* better name for vault icon

* move illustrations
2025-08-21 11:35:59 -05:00
Bryan Cunningham
b0f46004ff [CL-796] unrevert aria disabled buttons (#15924)
* Use aria-disabled for button disabled state

* remove import from testing story

* use aria-disabled attr on bitLink button

* remove unnecessary story attrs

* remove disabled attr if on button element

* create caprture click util

* use caprture click util and fix tests

* fix lint errors

* fix event type

* combine click capture and attr modification

* fix lint error. Commit spec changes left out of last commit in error

* inject element ref

* move aria-disabled styles to common

* move disabled logic into util

* fix broken async actions stories

* fix broken tests asserting disabled attr

* have test check for string true vlalue

* fix Signal type

* fix form-field story import

* remove injector left in error

* aria-disable icon buttons

* update form component css selector to look for aria-disabled buttons

* use correct types. pass nativeElement directly

* add JSDoc comment for util function

* WIP

* WIP

* inject service in directive

* remove console log

* remove disabled attr left in error

* update comments

* remove unnecessary logic

* remove :disabled psuedo selector as its apparently not needed

* fix event type

* coerce disabled attr to boolean

* remove duplicate style concat left by conflict resolution

* add back buttonStyles default

* move reactive logic back to helper

* add test to ensure menu button doesn't open when trigger is disabled

* remove menu toggle to fix tests

* remove disabled menu story

* Fix usage of bitLink in verify email component

* Update varaible name

* no longer pass destroyRef
2025-08-21 09:14:08 -04:00
Vicki League
3bccca7cce [CL-691] Update style of the menu component (#15890) 2025-08-20 16:00:48 -04:00
Bryan Cunningham
3901cf2859 [CL-805] [CL-521] anon layout illustrations (#16002)
* Add illustrations to anon layout

* update ids and fill classes

* Add illustrations to 404 page

* update svg sizes

* update logo size and placement to match loaded state

* update anon layout logo size to match loading screens

* update 404 logo size and spacing

* update svgIcon imports

* remove 404 footer

* absolutely position svg to fix random positioning issues

* update logo placement

* add padding to battom of logo container

* add back tw-link class

* update anon layout padding
2025-08-20 15:06:24 -04:00
Vicki League
487a04f579 [PM-25022] Fix squished avatar (#16097) 2025-08-20 13:41:39 -04:00
Bryan Cunningham
4449d8baf6 [CL-689][CL-799] Fix Icon button a11y errors (#15750)
* Throw error if appA11yTitle is null in icon button

* Add required label input

* Fix icon button errors in CL components and storeis

* fix popover aria-label errors

* remove commented code

* add labels to icon buttons in browser

* add labels to icon buttons in web

* add labels to icon buttons in license

* add labels to icon buttons in send

* add labels to icon buttons in angular

* fix missing pipe error

* fix sso icon button missed in error

* update labels in vault

* add section expand button label

* Adding labels to icon buttons

* Add lint rule to not allow icon buttons without label input

* rename util file

* trigger updates on title change

* update eslint rule name and folder

* add edit collection label to vault headers

* fix web header story label

* add show/hide summary labels

* update summary message

* fix breadcrumbs label message

* fix JSDoc to use correct input

* remove commented code

* use label as aria-label always. Remove init function

* add moreBreadcrumbs translation message to other apps

* add @bitwarden/team-ui-foundation as code owner for component eslint rules

* switch title to const variable

* add jsdoc comment on what the label input is used for

* [PM-22415] Tax ID notifications for Organizations and Providers (#15996)

* [NO LOGIC] Rename BillableEntity to BitwardenSubscriber

This helps us maintain paraody with server where we call this choice type ISubscriber. I chose BitwardenSubscriber to avoid overlap with RxJS

* [NO LOGIC] Move subscriber-billing.client to clients folder

* [NO LOGIC] Move organization warnings under organization folder

* Move getWarnings from OrganizationBillingApiService to new OrganizationBillingClient

I'd like us to move away from stashing so much in libs and utilizing the JsLibServicesModule when it's not necessary to do so. These are invocations used exclusively by the Web Vault and, until that changes, they should be treated as such

* Refactor OrganizationWarningsService

There was a case added to the Inactive Subscription warning for a free trial, but free trials do not represent inactive subscriptions so this was semantically incorrect. This creates another method that pulls the free trial warning and shows a dialog asking the user to subscribe if they're on one.

* Implement Tax ID Warnings throughout Admin Console and Provider Portal

* Fix linting error

* Jimmy's feedback

* remove duplicate messages keys

* revert changes to popover stories

* add back dupe myItems key for now as it was already here

* fix directive type errors

* remove variable left in error from merge conflict

* revert unintentional change to reports layout

* add back reports change

---------

Co-authored-by: Alex Morask <144709477+amorask-bitwarden@users.noreply.github.com>
2025-08-19 15:15:41 -04:00
Will Martin
827c4c0301 [PM-15847] libs/components strict migration (#15738)
This PR migrates `libs/components` to use strict TypeScript.

- Remove `@ts-strict-ignore` from each file in `libs/components` and resolved any new compilation errors
- Converted ViewChild and ContentChild decorators to use the new signal-based queries using the [Angular signal queries migration](https://angular.dev/reference/migrations/signal-queries)
  - Made view/content children `required` where appropriate, eliminating the need for additional null checking. This helped simplify the strict migration.

---

Co-authored-by: Vicki League <vleague@bitwarden.com>
2025-08-18 15:36:45 -04:00
Oscar Hinton
40455546d1 [CL-652] Remove bootstrap and enable tailwind preflight (#8071)
Wraps up the tailwind migration by removing bootstrap from the web vault.
2025-08-12 20:32:19 +02:00
Vicki League
04489b9fef [CL-821] Mute popover story tests until flakiness is fixed (#15980) 2025-08-11 19:51:50 +00:00
Vicki League
943cdc2fbd [CL-753] Update popover styles (#15838) 2025-08-11 15:04:53 -04:00
Bryan Cunningham
af12e376f7 [CL-725] dialog adjustments (#15660)
* update dialog spacing/borders

* update scroll bottom threshold

* add shadow to dialog

* adjust simple dialog shadow

* update scroll util comment

* add background input to other dialog stories

* assign initial value to isScrollable

* add larger padding on alt background content

* update tab border color

* update tab content padding

* update tab content spacing

* revert tab border color change

* bring back tab border color changes

* update web header border to match new tab border

* add background to props in story
2025-08-11 11:33:09 -04:00
Vicki League
8ae015f2d8 [CL-372] Add required type attr to buttons in stories (#15892) 2025-08-06 16:16:17 -04:00
Vicki League
6ec0a61b7e [CL-682] Convert color password enum to const (#15908) 2025-08-06 14:35:37 -04:00
Bryan Cunningham
5f5f771adb [CL-754] Fix shift when closing sidenav (#15849)
* update shield logo and container padding

* Fix horizontal icon shift

* use absolutel position to fix shield shifting

* add new shield and admin console logo

* add new logos

* add business unit portal logo

* delete redundant logos

* add missing fill color class
2025-08-05 11:06:23 -04:00
Vicki League
26c0176e2e [CL-712] Update icon button, components using it, and affected virtual scroll heights (#15683) 2025-08-05 10:58:49 -04:00
Nick Krantz
7145092889 [PM-24119] Manually open extension message (#15827)
* refactor manually open extension error message to a separate component

* allow icons and max width to be updated via setAnonLayoutWrapperData

* set error state when the extension fails to open

* bump timeout to 2000ms. I was seeing false error states when attempting to open the extension

* fix initialization of css variables
2025-08-05 08:42:05 -05:00