1
0
mirror of https://github.com/bitwarden/browser.git synced 2025-02-27 03:11:35 +01:00
Commit Graph

352 Commits

Author SHA1 Message Date
Nick Krantz
ca839b3d80
[PM-14019] Toggle Vault Filters (#11929)
* move vault headings to their own component

* update aria-label to bind to the data attribute

* move vault headings to the vault-v2 folder

* integrate disclosure trigger to hide vault filters

* remove built in margin on search component

- spacing will be managed by the parent component

* add event emitter so consuming components can know when disclosure status has changed

* add filter badge when filters are selected and the filters are hidden

* persist filter visibility state to disk

* add supporting text for the filter button

* remove extra file

* only read from stored state on component launch.

- I noticed delays when trying to use stored state as the source of truth

* use two-way data binding for change event

* update vault headers to use two way data binds from disclosure component

- also adjust consuming changes

* add border thickness

* add ticket to the FIXME

* move number of filters observable into service

* move state coordination into filter service

* only expose state and update methods from filter service

* simplify observables to avoid needed state lifecycle methods

* remove comment

* fix test imports

* update badge colors

---------

Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
2024-11-19 11:49:42 -06:00
Will Martin
a07b072196
[CL-499][PM-14020] compact mode (#11796) 2024-11-18 16:35:49 -05:00
Merissa Weinstein
c51b9233b3
decrease bit-item ring size (#12017) 2024-11-18 09:48:27 -06:00
Victoria League
3b5b2d6bd6
[CL-265] CL/extension refresh feature branch (#8696)
* [CL-245] Update palette to new light and dark theme colors (#8633)

* [CL-245] Add new color swatches to storybook (#8697)

* [CL-238] update typography (#8997)

* [CL-230] [CL-296] Update button styles (#9345)

* [CL-237] Update menu styles for extension refresh (#9525)

* [CL-267] Add 100-level color variants and update primary-600 (#9550)

* [CL-286] Update badge to use focus-visible instead of focus (#9551)

* [CL-250] Update badge styles for extension refresh (#9572)

* [CL-234] callout style refresh (#9920)

* [CL-233] Update form field styles (#9776)

* [CL-239][CL-251][CL-342] dialog style refresh (#10096)

* [CL-239] simple dialog style refresh

* [CL-342] fix text overflow in dialog; add story

* [CL-244] readonly fields (#10164)

* [CL-352] Fix Angular errors related to form element changes (#10211)

* [CL-273] Update styles for checkbox and form control (#10146)

* [CL-274] Update styling for radio button (#10333)

* [CL-338] Remove extra space in item content when end slot is empty (#10350)

* [CL-377] Fix extension style conflict for input background (#10351)

* [CL-271] Update styles for toggle (#10377)

* [CL-381] Update spacing around form elements (#10432)

* [CL-229] Update icon button styles (#10405)

* [CL-380] Remove hover state from disabled form fields (#10639)

* [CL-405] Allow toggle group input to be full width (#10658)

* [CL-389] Exclude end slot label content from truncation (#10508)

* [CL-383] Remove manual focus when password toggle is clicked (#10749)

* [CL-278][CL-391] misc bit-item style fixes (#10758)

* [CL-391] use pointer cursor on hover when link or button

* [CL-210] Change base font size from 14px to 16px (#10779)

* [CL-291] Finalize styling for chip select (#10771)

* [CL-257] update banner component styles (#10766)

* [CL-443] Fix sizing issues (#10893)

* [CL-445] Fix small sizing and spacing issues (#10962)

* [CL-382] Reduce element shifting on readonly hover (#10956)

* [CL-396] Update theme colors to new hexes (#10968)

* [CL-395] Remove text headers color (#10997)

* [CL-404] Switch to primary-600 for all focus indicators (#11015)

* [CL-397] Remove primary-500 (#11036)

* [CL-447] Ensure DM Sans displays correctly at all font weights (#11041)

* [CL-448] Scrollbar Styles (#11111)

* CL-252/update toast (#10996)

* [CL-275] Update link styles (#11174)

* [CL-446] Update hover state for unselected chip selects (#11172)

* [CL-454] Improve color a11y for toast and banner interactive elements (#11200)

* [CL-457] Center input text for select and multiselect (#11239)

* [CL-455] Do not use responsive margin for sections in dialogs or extension (#11243)

* [CL-459] Fix chip behavior when opening menu while item is selected (#11227)

* [CL-388] Update vertical nav colors for new palette (#11226)

* scope styled scrollbar to only select elements (#11247)

* edit radio buttons to be block inputs and update spacing (#11291)

* [CL-453] Fix multiselect chip spacing and truncation (#11300)

* [PM-11131] Prevent duplicated sr labels on form field icon buttons (#11383)

* [CL-303] Prevent chip menu from running offscreen (#11348)

* [CL-476] Fix DM Sans font on Windows (#11409)

* implements scrollbar styles for firefox/chrome and safari (#11447)

* [CL-472] Fix search background color in extension (#11466)

* [CL-481] Style updates for bit-item, bit-card, and primary-100 (#11473)

* [CL-478] Remove underline on hover for most components (#11477)

* [CL-477] Remove focus styles for readonly input (#11510)

* [CL-487] Fix vault items virtual scroll height (#11581)

* [PM-8625] Increase popup width (#11686)

* [CL-494] Wrap long words in toggle group (#11659)

* [CL-13820] Add class to remove link underline (#11762)

* [CL-435] Prevent Windows extension from shifting (#11851)

* [CL-503] Add notification color variables (#11802)

* [PM-14043] Update size of toggle group label to fit more content (#11881)

* [CL-498] Set chip menu width minimum to chip select width (#11905)

---------

Co-authored-by: Will Martin <contact@willmartian.com>
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>
Co-authored-by: Merissa Weinstein <merissa.k.weinstein@gmail.com>
Co-authored-by: Danielle Flinn <43477473+danielleflinn@users.noreply.github.com>
2024-11-15 09:21:17 -05:00
Victoria League
e8dac0cc12
[CL-500] Add disclosure component and directive (#11865) 2024-11-07 16:54:49 -05:00
SmithThe4th
faf7e3d315
[PM-11201][CL-507] Add the ability to sort by Name, Group, and Permission within the collection and item tables (#11453)
* Added sorting to vault, name, permission and group

Added default sorting

* Fixed import

* reverted test on template

* Only add sorting functionality to admin console

* changed code order

* Fixed leftover test for sortingn

* Fixed reference

* sort permissions by ascending order

* Fixed bug where a collection had multiple groups and sorting alphbatically didn't happen correctly all the time

* Fixed bug whne creating a new cipher item

* Introduced fnFactory to create a sort function with direction provided

* Used new sort function to make collections always remain at the top and ciphers below

* extracted logic to always sort collections at the top

Added similar sorting to sortBygroup

* removed org vault check

* remove unused service

* Sort only collections

* Got rid of sortFn factory in favour of passing the direction as an optional parameter

* Removed tenary

* get cipher permissions

* Use all collections to filter collection ids

* Fixed ascending and descending issues

* Added functionality to default sort in descending order

* default sort permissions in descending order

* Refactored setActive to not pass direction as a paramater
2024-11-07 10:10:15 -05:00
Alec Rippberger
619651ca55
[PM-13818] Allow user to edit self-hosted url during registration (#11790)
* Trigger self hosted settings dialog on select close

* Simplify triggering self hosted env config dialog

* Always emit selected value

* Update variable naming of lastSelectedValue to userSelectedValue to better reflect purpose

* Add comment for userSelectedValue variable

* Remove userSelectedValue and simply emit a closed event

* Remove passing selectedRegion in closed event
2024-11-06 13:17:59 -06:00
Oscar Hinton
cd79457349
[PM-4347] Upgrade angular to 17 (#11031)
Upgrade angular to 17
2024-11-04 11:51:43 -05:00
Jordan Aasen
18f7d64a6d
[PM-14038] - priority applications UI (#11723)
* priority applications UI

* add security icon
2024-10-30 14:25:06 -04:00
Bernd Schoolmann
b486fcc689
[Pm-13097] Rename cryptoservice to keyservice and move it to km ownership (#11358)
* Rename cryptoservice to keyservice

* Rename cryptoservice to keyservice

* Move key service to key management ownership

* Remove accidentally added file

* Fix cli build

* Fix browser build

* Run prettier

* Fix builds

* Fix cli build

* Fix tests

* Fix incorrect renames

* Rename webauthn-login-crypto-service

* Fix build errors due to merge conflicts

* Fix linting
2024-10-24 19:41:30 +02:00
Oscar Hinton
9b474264e6
[CL-343] Create a new table component for virtual scrolling (#10113)
This creates a new component called bit-table-scroll as it's a breaking change in how tables works. We could probably conditionally support both behaviors in the existing table component if we desire.

Rather than iterating the rows in the consuming component, we now need to define a row definition, bitRowDef which provides access to the rows data through angular let- syntax. This allows the table component to own the behaviour which is needed in order to use the cdkVirtualFor directive which must be inside the cdk-virtual-scroll-viewport component.
2024-10-22 21:51:45 +02:00
Jared Snider
2605c03c81
Update Icon Docs to include information on viewbox scaling (#11613) 2024-10-18 12:14:29 -04:00
Jared Snider
a5f856da2a
Component Library - Add Icon documentation (#11571)
* Add Icon documentation

* Add 7th bullet

* Icon docs - add context on how to go from hex values to appropriate tailwind classes.

* 7th bullet needs bold to look right

* Add color icon per suggestion
2024-10-17 10:47:08 -04:00
Victoria League
988c2b69e0
[CL-471] Update lock icon and others (#11508) 2024-10-11 16:12:49 -04:00
Nick Krantz
e2275ad0bc
[PM-12776] Draggable Items within a dialog (#11396)
* increase z-index `cdk-drag-preview` so it displays on top of modals/dialogs when draggable elements are within them

* update comment overlay z-index and add ticket number

* update comment
2024-10-09 12:05:31 -05:00
Victoria League
b149db9f4d
[CL-458] Exclude badges from truncation and vertically center content (#11262) 2024-09-30 11:45:51 -04:00
Victoria League
1262623fac
[CL-451] Add option for full width chip select (#11135) 2024-09-20 09:52:12 -04:00
Victoria League
eec84d893d
[CL-439] Improve keyboard and visual a11y for chip select (#11112) 2024-09-19 13:49:00 -04:00
Victoria League
bd4b3933a4
[PM-8582] Improve search performance in Safari (#11088) 2024-09-18 09:13:58 -04:00
Victoria League
a0a0a7ae13
[CL-395] Add and use art colors in svgs (#10990) 2024-09-11 14:54:07 -04:00
Nick Krantz
c161873ce5
reset min-width to zero to override flex from setting min-width to auto (#10936) 2024-09-09 09:38:32 -05:00
Victoria League
3f25b9bbfc
[CL-357] Remove border radius when displayed in web app (#10884) 2024-09-05 16:38:20 -04:00
Will Martin
fdeac58469
[CL-312] fix dialog scroll blocking + virtual scroll (#9606) 2024-09-04 12:12:47 -04:00
Nick Krantz
3e9fb2009e
[PM-10934] Remove last form-field bottom border (#10751)
* match API of new CL FormField component

* remove readonly border for additional options component

* remove readonly border for last autofill option

* remove readonly border for last custom-field form field

* remove readonly border for when collection,org or folder is available

* add `ReadOnlyCipherCardComponent` to handle readonly border

* remove readonly border for the last identity form field

* remove readonly border for the last card form field

* remove readonly border for the last login form field

* remove unneeded true value
2024-09-04 10:50:34 -05:00
rr-bw
c5a267baad
[PM-11000] AnonLayout Icon/Logo theme refactor (#10549)
* update base anon-layout logo/icon

* update ExtensionAnonLayout logo/icon based on theme

* remove hard-coded fill

* remove solarizedDark class

---------

Co-authored-by: Bernd Schoolmann <mail@quexten.com>
2024-08-31 12:26:11 -07:00
Victoria League
f44b7b361d
[CL-442] Fix toggle group display in extension and add fullWidth input to main (#10803) 2024-08-30 09:25:16 -04:00
Will Martin
80f4935171
[CL-324] migrate app-callout internals to bit-callout (#9925) 2024-08-27 09:12:28 -04:00
Victoria League
991155d3a5
[CL-318] Ensure item content truncates when the 'start' slot is populated (#10727) 2024-08-26 11:43:03 -04:00
Shane Melton
ade01c9d07
[PM-8380] Browser Refresh - Virtual scrolling (#10646)
* [PM-8380] Add option to disable content padding for popup page

* [PM-8380] Add cdkVirtualScroll to vault list items and fixed item heights

* [PM-8380] Move item height constants to item component
2024-08-22 07:40:32 -07:00
Victoria League
19ef6ba467
[CL-433] Fix broken docs pages (#10638) 2024-08-20 15:44:54 -04:00
Victoria League
ed719f835a
[CL-389] Add end slot to non-text bit label content (#10457) 2024-08-20 11:55:11 -04:00
Oscar Hinton
604e22334a
[BEEEP] [PM-10132] Upgrade storybook to v8 (#10288)
Upgrade storybook to version v8 which is a major upgrade. Storybook provides an
upgrade wizard which did most of the work.

- Ran npx storybook upgrade.
- Manually updated `remark-gfm` since the newer mdx requires v 4.
- Migrated all old stories still using `Story` to `StoryObj`.
2024-08-16 09:28:29 +02:00
Nick Krantz
0b5afa6252
[PM-10731] Move vault icons (#10453)
* move NoFolders icon to vault library

* move DeactivatedOrg icon to vault library

* move Vault icon to vault library

* move NoResults icon to vault library

* clean up barrel file

* Revert "move NoResults icon to vault library"

This reverts commit 43abd45db7.

* re-export no results
2024-08-12 08:38:11 -05:00
Nick Krantz
28a2014e69
[PM-8204] V2 Folder View (#10423)
* add no folders icon to icon library

* add/edit folder contained within a dialog

* add/edit folder dialog contained new item dropdown

* browser refresh folders page component

* swap in v2 folder component for extension refresh

* add copy for all folder related changes
2024-08-08 13:24:49 -05:00
SmithThe4th
c1bf1a797f
[PM-9714] Search results should clear and results reset after navigating away from Vault tab but persist if navigating to an Item view (#10378)
* created guard to clear search text when navigating between tabs

* removed reset filter from from vault list filter component on destroy and move to guard

renamed guard to clear vault state

* Fixed bug on chip select when comparing complex objects

moved compare values function to utils

* Added comment for future reference

* moved compare values to a seperate file

* fixed lint issue
2024-08-08 11:29:33 -04:00
Maciej Zieniuk
a3bf74ae1b
SM-1146: Display total counts of projects, machine accounts, secrets in Secrets Manager (#9791)
* SM-1146: Secrets Manager total counts

* SM-1146: Tab link component simplifications

* SM-1146: Total counts update on CRUD

* SM-1146: Total counts API paths update

* SM-1146: Unit test coverage for services

* SM-1146: Fix incorrect types returned

* SM-1146: Storybook example for tab-link with child counter

* SM-1146: Tailwind states with groups

* SM-1146: Moving counts view types in one file

* SM-1146: Moving counts methods, responses to one shared service

* SM-1146: Removing redundant services imports

* SM-1146: Removing redundant observables

* SM-1337: Total counts hidden for suspended organizations

* SM-1336: Total counts updated on import

* SM-1336: Import error handling refactor

* SM-1336: Import error handling improvements

* SM-1336: Import error not working with project errors, Unit Test coverage

* Update bitwarden_license/bit-web/src/app/secrets-manager/settings/porting/sm-import.component.ts

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

* SM-1336: UT deprecation removal

* SM-1336: Better UT

* SM-1336: Lint fix

* SM-1146: Linter fix

---------

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
2024-08-08 15:12:55 +02:00
Nick Krantz
d51226929c
center all content in no items content (#10431)
- firefox extension has default css that overrides the inheritance of align center
2024-08-07 11:25:23 -05:00
Jonathan Prusik
66d9ab5dc0
[PM-9969] Papercut - Update component library storybook docs (#10191)
* add component import examples

* component library story html formatting/cleanup nits

* Update libs/components/src/dialog/dialog/dialog.mdx

Co-authored-by: Will Martin <contact@willmartian.com>

* Update libs/components/src/badge/badge.mdx

Co-authored-by: Will Martin <contact@willmartian.com>

* Update libs/components/src/dialog/simple-dialog/simple-dialog.mdx

Co-authored-by: Will Martin <contact@willmartian.com>

---------

Co-authored-by: Will Martin <contact@willmartian.com>
2024-08-07 11:13:29 -04:00
Will Martin
181c697ff7
[CL-342] make overflow text wrap in simple dialog (#10418)
* add overflow story and fix to simple dialog

* Update libs/components/src/dialog/simple-dialog/simple-dialog.stories.ts

Co-authored-by: Victoria League <vleague@bitwarden.com>

---------

Co-authored-by: Victoria League <vleague@bitwarden.com>
2024-08-07 10:30:13 -04:00
rr-bw
b2a995462f
[PM-9605] Extension AnonLayout wrapper component (#10338)
* setup extension component

* setup extension service

* update icon based on theme, adjust padding, service injection

* override service

* add stories

* add current-account component

* add ConfigService to storybook

* use null checks for boolean data - otherwise false values are ignored

* update translations

* remove router implementation test

* remove imports in main.background.ts

* add showLogo to template

* update icon usage

* fix app-current-account storybook style issue
2024-08-06 16:02:47 -07:00
Oscar Hinton
c50a9063bc
[PM-2340] Enable use-lifecycle-interface (#5488)
Enables one of the recommended rules of @angular-eslint. Since this rule was fairly trivial to fix and has no QA effects it seemed reasonable to migrate all code.
2024-08-02 13:59:38 -04:00
Shane Melton
0d76835cd8
[PM-9190] Edit Login - Autofill Options (#10274)
* [PM-8524] Update appA11yTitle to keep attributes in sync after first render

* [PM-8524] Introduce UriOptionComponent

* [PM-9190] Introduce AutofillOptionsComponent

* [PM-9190] Add AutofillOptions to LoginDetailsSection

* [PM-9190] Add autofill options component unit tests

* [PM-9190] Add UriOptionComponent unit tests

* [PM-9190] Add missing translations

* [PM-9190] Add autofill on page load field

* [PM-9190] Ensure updatedCipherView is completely separate from originalCipherView

* [CL-348] Do not override items if there are no OptionComponents available

* [PM-9190] Mock AutoFillOptions component in Login Details tests

* [PM-9190] Cleanup storybook and missing web translations

* [PM-9190] Ensure storybook decryptCipher returns a separate object
2024-08-01 08:35:04 -07:00
renovate[bot]
b9eb4003a1
[deps] Autofill: Update prettier to v3.3.3 (#10228)
* [deps] Autofill: Update prettier to v3.3.3

* prettier formatting changes

* fix SyntaxError for literal @ inline html

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Prusik <jprusik@classynemesis.com>
2024-07-25 11:11:55 -04:00
Will Martin
2be34c3b8f
[CL-376] add dialog background input (#10237) 2024-07-24 16:51:56 -04:00
Victoria League
5a2db79235
[CL-305] Allow margin to be disabled for elements at the bottom of a page (#10132) 2024-07-24 12:08:33 -04:00
Victoria League
c52709e6f0
[CL-337] Fix toggle group visual bug from tw-group collisions (#10188) 2024-07-24 11:40:10 -04:00
Nick Krantz
8a86a699ff
[PM-9952][PM-9954] Minor assign collection fixes (#10190)
* disable organization selector when only one org is selected

* break long org names in assign collections copy

- applicable more in the browser implementation

* add `title` to each select option so a mouse over presents the name

- more applicable to the browser extension where names can overflow

* truncate options that overflow a select

* set max width of form fields to 100%
2024-07-22 09:26:38 -05:00
Shane Melton
f75c1ab02d
[PM-8524] Cipher Form - Edit Login Details Section (#10081)
* [PM-8524] Introduce login details section component

* [PM-8524] Add ability to remove passkey

* [PM-8524] Introduce TotpCaptureService and the Browser implementation

* [PM-8524] Tweak storybook

* [PM-8524] Add note regarding existing login view references

* [PM-8524] Fix clone mode so that a new cipher is created

* [PM-8524] Add support for generating usernames/passwords and auditing passwords

* [PM-8524] Migrate password/username generation to CipherFormGenerationService

* [PM-8524] Add optional passwordInput to BitPasswordInputToggle to support conditionally rendered password toggle buttons

* [PM-8524] Add LoginDetailsSection tests

* [PM-8524] Add BrowserTotpCaptureService tests

* Revert "[PM-8524] Add optional passwordInput to BitPasswordInputToggle to support conditionally rendered password toggle buttons"

This reverts commit e76a0ccfe8.

* [PM-8524] Add null check to password input toggle
2024-07-18 09:38:55 -07:00
Oscar Hinton
39eed02904
[PM-8517] Create web specific layout (#9209)
We currently duplicate some logic between our layouts. In an effort to streamline our experience I'm exploring if we can create a web specific layout that handles some of this.
2024-07-11 12:20:56 -04:00
Shane Melton
17d37ecaeb
[PM-7162] Cipher Form - Item Details (#9758)
* [PM-7162] Fix weird angular error regarding disabled component bit-select

* [PM-7162] Introduce CipherFormConfigService and related types

* [PM-7162] Introduce CipherFormService

* [PM-7162] Introduce the Item Details section component and the CipherFormContainer interface

* [PM-7162] Introduce the CipherForm component

* [PM-7162] Add strongly typed QueryParams to the add-edit-v2.component

* [PM-7162] Export CipherForm from Vault Lib

* [PM-7162] Use the CipherForm in Browser AddEditV2

* [PM-7162] Introduce CipherForm storybook

* [PM-7162] Remove VaultPopupListFilterService dependency from NewItemDropDownV2 component

* [PM-7162] Add support for content projection of attachment button

* [PM-7162] Fix typo

* [PM-7162] Cipher form service cleanup

* [PM-7162] Move readonly collection notice to bit-hint

* [PM-7162] Refactor CipherFormConfig type to enforce required properties with Typescript

* [PM-7162] Fix storybook after config changes

* [PM-7162] Use new add-edit component for clone route
2024-07-02 13:22:51 -07:00
Will Martin
8df054cf51
[CL-319] custom back action in popup header component (#9829)
* expose FunctionReturningAwaitable from CL lib

* expose backAction as input on popup header component
2024-06-25 15:55:49 -04:00
Will Martin
34766f8c74
[CL-314] improve TableDataSource filtering (#9708) 2024-06-20 12:42:14 -04:00
Will Martin
06410a0633
[CL-118][CL-164][PM-8019] collapsible side navigation (#6383) 2024-06-17 14:10:50 -04:00
Shane Melton
6687ef5978
[PM-7683] Fix dynamic item defects (#9575)
* [PM-8639] Add data-testid attribute for test automation

* [PM-8669] Add autofill aria label

* [PM-8674] Show autofill menu options for card/identities when not in the autofill suggestion list

* [PM-8635] Hide menu items when copy cipher field directive is disabled

* [PM-8636] Disable copy menu dropdown when no items available to copy

* [CL-309] Add title override to bitBadge

* [PM-8669] Update menu-item directive disabled input

* [PM-7683] Fix race condition for remainingCiphers$

* [PM-7683] Use strict equality check
2024-06-12 14:33:18 -07:00
Jason Ng
37a07b9fd8
[PM-8627] No Results Icon light/dark theme colors (#9522)
* update no results icon for light/dark theme
2024-06-05 18:05:40 -04:00
Victoria League
d3f1992ad5
[CL-294] Make section-header work across clients (#9386) 2024-06-05 15:07:00 -04:00
Will Martin
419c107f87
[CL-243] honor initial disabled state in bitFormButton (#9510)
* honor initial disabled state

* update story
2024-06-05 11:39:40 -04:00
Jason Ng
cb0927ac5d
[PM-8553] browser v2 search bar defects (#9506)
* update no results icon and no results scrolling
* update v2 search so the term persist when the user clicks into an item and exits the item
2024-06-05 10:06:52 -04:00
cd-bitwarden
ed7a57810e
[SM-1192] displaying full project name in tooltip and allowing more of project name in bit badge/project column (#8917)
* allowing max width adjustment on bit badge and not truncating the tooltip text on project

* suggested changes from WIll

* updating values
2024-06-04 10:58:09 -04:00
Jared Snider
f691854387
Auth - PM-7392 & PM-7436 - Token Service - Desktop - Add disk fallback for secure storage failures (#8913)
* PM-7392 - EncryptSvc - add new method for detecting if a simple string is an enc string.

* PM-7392 - TokenSvc - add checks when setting and retrieving the access token to improve handling around the access token encryption.

* PM-7392 - (1) Clean up token svc (2) export access token key type for use in tests.

* PM-7392 - Get token svc tests passing; WIP more tests to come for new scenarios.

* PM-7392 - Access token secure storage to disk fallback WIP but mostly functional besides weird logout behavior.

* PM-7392 - Clean up unnecessary comment

* PM-7392 - TokenSvc - refresh token disk storage fallback

* PM-7392 - Fix token service tests in prep for adding tests for new scenarios.

* PM-7392 - TokenSvc tests - Test new setRefreshToken scenarios

* PM-7392 - TokenSvc - getRefreshToken should return null or a value - not undefined.

* PM-7392 - Fix test name.

* PM-7392 - TokenSvc tests - clean up test names that reference removed refresh token migrated flag.

* PM-7392 - getRefreshToken tests done.

* PM-7392 - Fix error quote

* PM-7392 - TokenSvc tests - setAccessToken new scenarios tested.

* PM-7392 - TokenSvc - getAccessToken - if secure storage errors add error to log.

* PM-7392 - TokenSvc tests - getAccessToken - all new scenarios tested

* PM-7392 - EncryptSvc - test new stringIsEncString method

* PM-7392 - Main.ts - fix circ dep issue.

* PM-7392 - Main.ts - remove comment.

* PM-7392 - Don't re-invent the wheel and simply use existing isSerializedEncString static method.

* PM-7392 - Enc String - (1) Add handling for Nan in parseEncryptedString (2) Added null handling to isSerializedEncString. (3) Plan to remove encrypt service implementation

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>

* PM-7392 - Remove encrypt service method

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>

* PM-7392 - Actually fix circ dep issues with Justin. Ty!

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>

* PM-7392 - TokenSvc - update to use EncString instead of EncryptSvc + fix tests.

* PM-7392 - TokenSvc - (1) Remove test code (2) Refactor decryptAccessToken method to accept access token key and error on failure to pass required decryption key to method.

* PM-7392 - Per PR feedback and discussion, do not log the user out if hte refresh token cannot be found. This will allow users to continue to use the app until their access token expires and we will error on trying to refresh it. The app will then still work on a fresh login for 55 min.

* PM-7392 - API service - update doAuthRefresh error to clarify which token cannot be refreshed.

* PM-7392 - Fix SetRefreshToken case where a null input would incorrectly trigger a fallback to disk.

* PM-7392 - If the access token cannot be refreshed due to a missing refresh token or API keys, then surface an error to the user and log it so it isn't a silent failure + we get a log.

* PM-7392  - Fix CLI build errors

* PM-7392 - Per PR feedback, add missing tests (thank you Jake for writing these!)

Co-authored-by: Jake Fink <jfink@bitwarden.com>

* PM-7392 - Per PR feedback, update incorrect comment from 3 releases to 3 months.

* PM-7392 - Per PR feedback, remove links.

* PM-7392 - Per PR feedback, move tests to existing describe.

* PM-7392 - Per PR feedback, adjust all test names to match naming convention.

* PM-7392 - ApiService - refreshIdentityToken - log error before swallowing it so we have a record of it.

* PM-7392 - Fix copy for errorRefreshingAccessToken

* PM-7392 - Per PR feedback, move error handling toast responsibility to client specific app component logic reached via messaging.

* PM-7392 - Swap logout reason from enum to type.

* PM-7392 - ApiService - Stop using messaging to trigger toast to let user know about refresh access token errors; replace with client specific callback logic.

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>

* PM-7392 - Per PR feedback, adjust enc string changes and tests.

* PM-7392 - Rename file to be type from enum

* PM-7392 - ToastService - we need to await the activeToast.onHidden observable so return the activeToast from the showToast.

* PM-7392 - Desktop AppComp - cleanup messaging

* PM-7392 - Move Logout reason custom type to auth/common

* PM-7392 - WIP - Enhancing logout callback to consider the logout reason + move show toast logic into logout callback

* PM-7392 - Logout callback should simply pass along the LogoutReason instead of handling it - let each client's message listener handle it.

* PM-7392 - More replacements of expired with logoutReason

* PM-7392 - More expired to logoutReason replacements

* PM-7392 - Build new handlers for displaying the logout reason for desktop & web.

* PM-7392 - Revert ToastService changes

* PM-7392 - TokenSvc - Replace messageSender with logout callback per PR feedback.

* PM-7392 - Desktop App comp - replace toast usage with simple dialog to guarantee users will see the reason for them being logged out.

* PM-7392 - Web app comp - fix issue

* PM-7392 - Desktop App comp - don't show cancel btn on simple dialogs.

* PM-7392 - Desktop App comp - Don't open n simple dialogs.

* PM-7392 - Fix browser build

* PM-7392 - Remove logout reason from CLI as each logout call handles messaging on its own.

* PM-7392 - Previously, if a security stamp was invalid, the session was marked as expired. Restore that functionality.

* PM-7392 - Update sync service logoutCallback to include optional user id.

* PM-7392 - Clean up web app comp

* PM-7392 - Web - app comp - only handle actually possible web logout scenarios.

* PM-7392 - Browser Popup app comp - restore done logging out message functionality + add new default logout message

* PM-7392 - Add optional user id to logout callbacks.

* PM-7392 - Main.background.ts - add clarifying comment.

* PM-7392 - Per feedback, use danger simple dialog type for error.

* PM-7392 - Browser Popup - add comment clarifying expectation of seeing toasts.

* PM-7392 - Consolidate invalidSecurityStamp error handling

* PM-7392 - Per PR feedback, REFRESH_ACCESS_TOKEN_ERROR_CALLBACK can be completely sync. + Refactor to method in main.background.

* PM-7392 - Per PR feedback, use a named callback for refreshAccessTokenErrorCallback in CLI

* PM-7392 - Add TODO

* PM-7392 - Re-apply bw.ts changes to new service-container.

* PM-7392 - TokenSvc - tweak error message.

* PM-7392 - Fix test

* PM-7392 - Clean up merge conflict where I duplicated dependencies.

* PM-7392 - Per discussion with product, change default logout toast to be info

* PM-7392 - After merge, add new logout reason to sync service.

* PM-7392 - Remove default logout message per discussion with product since it isn't really visible on desktop or browser.

* PM-7392 - address PR feedback.

---------

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
Co-authored-by: Jake Fink <jfink@bitwarden.com>
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
2024-06-03 12:36:45 -04:00
Nick Krantz
748eb00223
[PM-6826] Vault filter refresh (#9365)
* add initial type filter

- use `bit-select` while the chip component is being developed

* get cipherTypes$ from service

- integrate with user settings

* initial add of folder selection

* initial add of vault selection

* initial add of collections filter

* update `VaultPopupListFilterService` to `VaultPopupListFiltersService`

* integrate hasFilterApplied$

* intermediate commit of integration to the filters component

* do not return the tree when the value is null

* return null when the updated option is null

* update vault-popup-list to conform to the chip select structure

* integration of bit-chip-select

* move "no folder" option to the end of the list

* show danger icon for deactivated organizations

* show deactivated warning when the filtered org is disabled

* update documentation

* use pascal case for constants

* store filter values as full objects rather than just id

- This allows secondary logic to be applied when filters are selected

* move filter form into service to be the source of truth

* fix tests after adding "jest-preset-angular/setup-jest"

* remove logic to have dynamic cipher type filters

* use ProductType enum

* invert conditional for less nesting

* prefer `decryptedCollections$` over getAllDecrypted

* update comments

* use a `filterFunction$` observable rather than having to pass filters back to the service

* fix children testing

* remove check for no folder

* reset filter form when filter component is destroyed

* add takeUntilDestroyed for organization valueChanges

* allow takeUntilDestroyed to use internal destroy ref

- The associated unit tests needed to be configured with TestBed rather than just `new Service()` for this to work

* use controls object for type safety
2024-06-03 09:20:14 -05:00
Victoria League
08a6f91411
[CL-221] Add chip-select component (#9021)
---------

Co-authored-by: William Martin <contact@willmartian.com>
2024-05-23 16:30:55 -04:00
Will Martin
4b3e63f7b7
[CL-289] fix text decoration in CL button and item-content (#9219) 2024-05-23 11:53:51 -04:00
Shane Melton
3d0e0d261e
[PM-6825] Browser Refresh - Initial List Items (#9199)
* [PM-6825] Add temporary vault page header

* [PM-6825] Expose cipherViews$ observable

* [PM-6825] Refactor getAllDecryptedForUrl to expose filter functionality for reuse

* [PM-6825] Introduce VaultPopupItemsService

* [PM-6825] Introduce initial VaultListItem and VaultListItemsContainer components

* [PM-6825] Add VaultListItems to VaultV2 component

* [PM-6825] Introduce autofill-vault-list-items.component to encapsulate autofill logic

* [PM-6825] Add temporary Vault icon

* [PM-6825] Add empty and no results states to Vault tab

* [PM-6825] Add unit tests for vault popup items service

* [PM-6825] Negate noFilteredResults placeholder

* [PM-6825] Cleanup new Vault components

* [PM-6825] Move new components into its own module

* [PM-6825] Fix missing button type

* [PM-6825] Add booleanAttribute to showAutofill input

* [PM-6825] Replace empty refresh BehaviorSubject with Subject

* [PM-6825] Combine *ngIfs for vault list items container

* [PM-6825] Use popup-section-header component

* [PM-6825] Use small variant for icon buttons

* [PM-6825] Use anchor tag for vault items

* [PM-6825] Consolidate vault-list-items-container to include list item component functionality directly

* [PM-6825] Add Tailwind classes to new Vault icon

* [PM-6825] Remove temporary header comment

* [PM-6825] Fix auto fill suggestion font size and padding

* [PM-6825] Use tailwind for vault icon styling

* [PM-6825] Add libs/angular to tailwind.config content

* [PM-6825] Cleanup missing i18n

* [PM-6825] Make VaultV2 standalone and cleanup Browser App module

* [PM-6825] Use explicit type annotation

* [PM-6825] Use property binding instead of interpolation
2024-05-21 17:05:02 -04:00
Nick Krantz
07076ebf9d
[PM-7231] Product Switcher within navigation sidebar (#8810)
* refactor: move logic for products into a service

- This is in preparation for having having the navigation menu show products based off of the same logic.

* add extra small font size to tailwind config

* remove absolute positioning from toggle width component
- it now sits beneath the product switcher

* update product switcher to have UI details that are only shown in the navigation pane

* add navigation oriented product switcher

* integrate navigation product switcher into secrets manager

* integrate navigation product switcher into provider console

* integrate navigation product switcher into user layout

* integrate navigation product switcher into organizations

* add translation for "switch"

* hide active styles from navigation product switcher

* update storybook for product switcher stories

* remove unneeded full width style

* use protected readonly variable instead of getter

* migrate stories to CSF3

* remove double subscription to `moreProducts$`

* only use wrapping div in navigation switcher story

- less vertical space is taken up

* update to satisfies

* refactor `navigationUI` to `otherProductOverrides`

* move observables to protected readonly

* apply margin-top via class on the host component

* remove switch text from the navigation product switcher

* Allow for the active navigation switcher to be shown

* remove xxs font style

* remove unneeded module

* remove switch from stories

* remove defensive nullish coalescing

* remove merge leftovers

* Defect PM-7899 - show organizations product at the top of the other products list

* Defect PM-7951 use attr.icon to keep the icon as an attribute after prod mode is enabled

* Defect PM-7948 update path based on the current org

* force active styles for navigation items (#9128)

* add horizontal margin to icon

---------

Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
2024-05-16 08:18:58 -05:00
Will Martin
76cc0f43aa
[CL-280] truncate overflow text in bit-item (#8992) 2024-05-06 10:29:23 -04:00
Will Martin
e7416384dc
[CL-220] item components (#8870) 2024-04-30 10:27:47 -04:00
Justin Baur
0ecde07525
Run npm run prettier (#8950) 2024-04-27 12:37:19 -04:00
findseat
72f411b6e3
Signed-off-by: findseat <penglili@outlook.com> (#8636)
Signed-off-by: findseat <penglili@outlook.com>
2024-04-27 15:15:27 +00:00
Victoria League
ec37e5e4d3
[CL-219][CL-218][CL-217] Add new extension layout components (#8728) 2024-04-26 09:35:32 -04:00
Will Martin
e89c82defe
[CL-236] Card component (#8900)
* add card component; adjust section margin on small screens
2024-04-24 14:52:29 -04:00
Will Martin
73d0782b6c
[CL-110] fix code block text color in Storybook (#8868) 2024-04-23 09:45:11 -04:00
Victoria League
36ea3301ec
[CL-218] Add new icons for extension refresh (#8805) 2024-04-19 16:11:12 -04:00
Will Martin
d5f503a0d6
[CL-18] toast component and service (#6490)
Update toast styles and new service to CL.
2024-04-18 13:23:35 -04:00
Cesar Gonzalez
8ae44b13ed
[CL-255] Opening a menu by mouse click shows an outline on the first submenu item (#8629) 2024-04-05 21:33:03 +00:00
Victoria League
09169cac71
[CL-254] Rename 500 colors to 600 to prep for UI redesign (#8623)
* [CL-254] Rename 500 colors to 600 to prep for UI redesign

---------

Co-authored-by: Will Martin <contact@willmartian.com>
2024-04-05 10:58:32 -04:00
Cesar Gonzalez
e2e593c0fe
[PM-7278] Fix undefined reference to keyManager within menu-trigger-for directive (#8614) 2024-04-04 09:57:10 -05:00
Thomas Rittson
e79662adf7
Remove unused @Input() decorator on multi-select (#8396) 2024-04-03 09:27:49 +10:00
Cesar Gonzalez
f87286b1df
[PM-2871] Submenu UI elements cannot be accessed by keyboard navigation when screen reader is active (#8357)
* [PM-2871] Submenu UI elements cannot be navigated through keyboard when screen reader is active

* [PM-2871] Adding an aria-hidden value to menu divider elements
2024-04-02 20:41:59 +00:00
Victoria League
65353ae71d
[CL-215] Fix broken icon stories and clarify usage (#8484) 2024-03-28 10:26:26 -04:00
Victoria League
0f375c3a0e
[CL-146] Add kitchen sink story (#8310) 2024-03-22 10:17:00 -04:00
Matt Gibson
25f89e2a1c
[PM-6769] [SM-1158] Fix Translation pipe issues on main (#8319)
* Require init in i18n service.

this is needed to load translations and set translation locale

* No longer need to cast i18n

* Expose user preferred locale in i18nService

This is for correctly displaying `default` when no locale has been set in preferences components. The `locale$` observable should always resolve to the currently locale currently being translated to.
2024-03-13 11:35:46 -04:00
Matt Gibson
f4150ffda6
[PM-6511] New i18n for angular (#8122)
* Use state provider to store preferred language

* migrate preferred language

* Use new i18n provider to get LOCAL_ID

* Fix preloaded english i18n

This is a mock service that forces english translations, it doesn't need the i18n interface that allows changing of locales.

* PR improvements

* Fixup merge
2024-03-11 13:59:19 -04:00
Will Martin
d66365fd53
[CL-206] update bit-nav components to active match query params (#8242)
* remove exactMatch input in favor of routerLinkActiveOptions
2024-03-11 11:22:04 -04:00
rr-bw
b3e4ecc568
[PM-3388] AnonLayout Component (#6424)
* setup anon-layout component

* add story with content

* simplify stories and add title input

* add responsiveness

* adjust border styling

* add logo

* add logo

* mock PlatformUtilsService

* more responsivness

* add secondary content

* add stories and clarifying comments

* add more to responsiveness

* Update libs/components/tailwind.config.js

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* Update libs/components/tailwind.config.base.js

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* Update libs/auth/src/components/anon-layout.stories.ts

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* refactor: use bit-icon instead of css file, add auth- prefix, adjust tailwind settings

* account for longer content

* allow for adding an icon above logo

* simplify stories by removing unnecessary styling

* delete duplicate logo and minify logo and icon

* remove componentWrapperDecorator

* change subTitle to subtitle

* use bitTypography

* add accessibility title and use tw class for fill color

* add <title> element to SVG

* typography update and minor styling updates for stories

* match breakpoint for logo and h1

* reduce spacing between sections

* move to new folder

* add closing tag

* make fields protected

* use svg directly

* refactor icons

* revert to allow for additional icons in the future

* decouple icon from component

---------

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
2024-03-06 09:32:50 -08:00
Victoria League
f95ff93a71
[CL-181] Fix toggle group badge alignment (#8167) 2024-03-01 16:17:24 -05:00
Victoria League
8d528c2d4a
[CL-170] Fix size of radio group legend (#8154) 2024-02-29 15:21:39 -05:00
Will Martin
323d86850a
[CL-203] fix select options position (#8151)
* add relative to body

* remove scrollbar positon hack
2024-02-29 11:35:13 -05:00
Oscar Hinton
38d8fbdb5a
Vertical Vault Navigation (#6957)
* WIP admin console layout

* Update icons

* Migrate more things

* Migrate the last pages

* Move header to web

* Fix story not working

* Convert header component to standalone

* Migrate org layout to standalone

* Enable org switcher

* Add AC to product switcher

* Migrate provider portal to vertical nav

* Migrate PM

* Prettier fixes

* Change AC and PP to use secondary variant layout & update logos

* Remove full width setting

* Remove commented code

* Add header to report pages

* Add provider portal banner

* Fix banner for billing pages

* Move vault title to header

* Prevent scrollbar jumping

* Move send button to header

* Replace search input with bit-search

* Remove unused files and css

* Add banner

* Tweak storage option

* Fix duplicate nav item after merge

* Migrate banner state to state provider framework

* [AC-2078] Fix device approvals header

* [PM-5861] Hide AC from product switcher for users that do not have access

* [PM-5860] Fix Vault and Send page headers

* [AC-2075] Fix missing link on reporting nav group

* [AC-2079] Hide Payment Method and Billing History pages for self-hosted instances

* [AC-2090] Hide reports/event log nav items for users that do not have permission

* [AC-2092] Fix missing provider portal option in product switcher on page load

* Add null check for organization in org layout component

* [AC-2094] Fix missing page header for new client orgs page

* [AC-2093] Update New client button styling

* Fix failing test after merge

* [PM-2087] Use disk-local for web layout banner

* [PM-6041] Update banner copy to read "web app"

* [PM-6094] Update banner link to marketing URL

* [PM-6114] add CL container component to VVR pages (#7802)

* create bit-container component

* add container to all page components

* Fix linting errors after merge with main

* Fix product switcher stories

* Fix web-header stories

* mock org state properly in product switcher stories (#7956)

* refactor: move web layout migration banner logic into a service (#7958)

* make CL codeowner of web header files

* move migration banner logic to service; update stories

* [PM-5862] Ensure a sync has run before hiding navigation links

* Remove leftover banner global state

* Re-add dropped selfHosted ngIf

* Add rel noreferrer

* Remove comment

---------

Co-authored-by: Shane Melton <smelton@bitwarden.com>
Co-authored-by: Will Martin <contact@willmartian.com>
2024-02-23 09:22:45 -08:00
Will Martin
43d1174a06
[CL-169] add bit-section component (#8062) 2024-02-23 10:51:17 -05:00
Jason Ng
0576bd9f2c
PM-5955 Multiple Badges Overlap With Permissions Column (#7843)
* update badge components so multiple badges to do not overlap with permissions column in collections
2024-02-20 12:08:39 -05:00
Will Martin
d4968bb225
[CL-166] add title and subtitle inputs to bit-dialog (#7597) 2024-02-19 11:03:24 -05:00
Will Martin
cbcd5d9747
[CL-192][CL-193] fix virtual scroll (#7986)
* [CL-192] use sticky sidebar instead of static; remove main screen height

* [CL-193] patch cdk dialog scroll block
2024-02-19 08:52:42 -05:00
Oscar Hinton
02dde0c0d3
[PM-6328] Checkmarx - Resolve warnings (#7941) 2024-02-15 16:25:53 -05:00
Oscar Hinton
6b12968721
[PM-5820] Upgrade angular to 16 (#7638)
Upgrade Angular and related dependencies to v16.
2024-02-12 17:00:41 +01:00
Will Martin
64b1772bfd
exclude CL popover story from Chromatic (#7862) 2024-02-08 21:01:35 +01:00
Will Martin
070d8556cf
[CL-179][PM-6011] open parent bit-nav-groups when bit-nav-item becomes active (#7801)
* add routing to nav-group stories

* open parent nav group when active
2024-02-08 10:35:13 -05:00
Will Martin
cb8849c355
Add eslint rule no-floating-promises (#7789)
* add eslint rule no-floating-promises

* add eslint-disable comment to offending lines
2024-02-02 15:13:37 -05:00
Will Martin
4e4e39e9f7
[CL-178] contain overflow in bit-layout main content (#7783) 2024-02-02 10:36:12 -05:00
Will Martin
d0212bd1b0
[CL-173] hide nav-group active styles when expanded (#7695)
* hide nav-group active styles when open

* update org-switcher to show child nav-item active styles
2024-02-01 16:23:05 -05:00