* [PM-24143] Add perUserCache$ to SearchService index$
* [PM-24143] Cleanup and optimize isSearchable
* [PM-24143] Remove unused search flags and subscription from the vault-items component
* [PM-24143] Add search text for desktop vault items. Consolidate SearchTextDebounceInterval constant to SearchService
* [PM-24143] Ensure cipher search indexing is non-blocking
* [PM-24143] Remove redundant index ciphers operation
* [PM-24143] Add search performance measurements
* [PM-24143] Remove artificial delay
* [PM-24143] Remove startWith from index$ to avoid basic search with lunr queries
* [PM-24143] Re-organize isSearchable to check long lunr queries for index existence
* 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
* 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
* feat(notification-processing): [PM-19877] System Notification Implementation - Minor changes to popup logic and removed content in login component.
* docs(notification-processing): [PM-19877] System Notification Implementation - Added more docs.
* docs(notification-processing): [PM-19877] System Notification Implementation - Added markdown document.
* fix(notification-processing): [PM-19877] System Notification Implementation - Updated condition for if notification is supported.
* fix(notification-processing): [PM-19877] System Notification Implementation - Updated services module with correct platform utils service.
* 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>
* clear selection after event on individual part
* added changes in org
* added clearSelection in refresh()
---------
Co-authored-by: Jason Ng <jng@bitwarden.com>
* 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
* replace the disableMenu logic to be a hideMenu with ngIf
* adding disable back for disabled rows during vault sync
---------
Co-authored-by: kejaeger <138028972+kejaeger@users.noreply.github.com>
* properly call input functions
* don't enable sshkey form
* fix logic for disabling cipher form
* prefer use of observable
* use destroyRef. change to enabled status only
* add `CipherViewLike` and utilities to handle `CipherView` and `CipherViewLike`
* migrate libs needed for web vault to support `CipherViewLike`
* migrate web vault components to support
* add for CipherView. will have to be later
* fetch full CipherView for copying a password
* have only the cipher service utilize SDK migration flag
- This keeps feature flag logic away from the component
- Also cuts down on what is needed for other platforms
* strongly type CipherView for AC vault
- Probably temporary before migration of the AC vault to `CipherListView` SDK
* fix build icon tests by being more gracious with the uri structure
* migrate desktop components to CipherListViews$
* consume card from sdk
* add browser implementation for `CipherListView`
* update copy message for single copiable items
* refactor `getCipherViewLikeLogin` to `getLogin`
* refactor `getCipherViewLikeCard` to `getCard`
* add `hasFido2Credentials` helper
* add decryption failure to cipher like utils
* add todo with ticket
* fix decryption failure typing
* fix copy card messages
* fix addition of organizations and collections for `PopupCipherViewLike`
- accessors were being lost
* refactor to getters to fix re-rendering bug
* fix decryption failure helper
* fix sorting functions for `CipherViewLike`
* formatting
* add `CipherViewLikeUtils` tests
* refactor "copiable" to "copyable" to match SDK
* use `hasOldAttachments` from cipherlistview
* fix typing
* update SDK version
* add feature flag for cipher list view work
* use `CipherViewLikeUtils` for copyable values rather than referring to the cipher directly
* update restricted item type to support CipherViewLike
* add cipher support to `CipherViewLikeUtils`
* update `isCipherListView` check
* refactor CipherLike to a separate type
* refactor `getFullCipherView` into the cipher service
* add optional chaining for `uriChecksum`
* set empty array for decrypted CipherListView
* migrate nudge service to use `cipherListViews`
* update web vault to not depend on `cipherViews$`
* update popup list filters to use `CipherListView`
* fix storybook
* fix tests
* accept undefined as a MY VAULT filter value for cipher list views
* use `LoginUriView` for uri logic (#15530)
* filter out null ciphers from the `_allDecryptedCiphers$` (#15539)
* use `launchUri` to avoid any unexpected behavior in URIs - this appends `http://` when missing
* add transitions for overlay and top border of video
* refactor video container class for readability
* update max width for setup-extension page
* tweak sizes of videos for larger viewports
* fix opacity never changing
* remove complex interval transitions
* WIP - default collection sorting
* apply filtering to popup list filters service.
* add tests. add feature flag checks
* finalize my items collection filters
* fix type error
* re-add service
* re-add comment
* remove unused code
* fix sorting logic
* shorten variable name to fit one line
* fix error
* fix more errors
* abstract logic to vault filter service
* fix test
* export sort as function instead of adding to class
* fix more tests
* add collator arg
* remove ts-ignore. fix type errors
* remove optional param
* fix vault filter service
* 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
---------
Co-authored-by: Will Martin <contact@willmartian.com>
* remove placeholder image
* add videos for setup extension
* add support for mobile viewports
* add mobile/responsiveness for setup extension page
* add videos from `assets.bitwarden.com`
* align with figma for borders and shadow
* make text responsive for setup headings
* remove period
* add tests
* add tests for video sequence
* force font weight on `h2`
* add 8px to bottom margin of video container
* add end user feature flag
* add initial setup extension component and route
* redirect users from registration completion to the setup extension page
* add `hideIcon` to anon layout for web
- matches implementation on the browser.
* integrate with anon layout for extension wrapper
* add initial loading state
* conditionally redirect the user upon initialization
* redirect the user to the vault if the extension is installed
* add initial copy for setup-extension page
* add confirmation dialog for skipping the extension installation
* add success state for setup extension page
* only show loggedin toast when end user activation is not enabled.
* add image alt
* lower threshold for polling extension
* close the dialog when linking to the vault
* update party colors
* use the platform specific registration service to to only forward the web registrations to `/setup-extension`
* call `super` rather than `/vault` directly, it could change in the future
* add `WebBrowserInteractionService` and check for the extension observable
* update checkForExtension to use observables rather than window timeouts
* add open extension to WebBrowserInteractionService
* add at-risk-passwords to `PopupPageUrls`
* refactor `PopupPageUrls` to `ExtensionPageUrls`
* add test for passing a page
* refactor `Default` to `Index`
* clean up complete/next issue using `race`
* refactor page to url
* continue listening for messages from the extension after subscribed
* mark risk passwords a deprecated
* remove takeUntilDestroyed
* add back `takeUntilDestroyed` for internal `messages`
* removed null filter - unneeded
* add tap to send message for extension installation
* add check for accepted urls to prevent any bad actors from opening the extension
* feat: Create methods for calling GET auth-request/pending endpoint.
* feat: update banner service on web, and desktop vault
* test: updated banner test to use auth request services
* fix: DI fixes
* feat: add RequestDeviceId to AuthRequestResponse
* fix: add Browser Approvals feature flags to desktop vault and web vault banner service
* test: fix tests for feature flag
* Created new service to get restricted types for the CLI
* Created service for cli to get restricted types
* Utilized restriction service in commands
* Renamed function
* Refactored service and made it simpler to check when a cipher type is restricted or not
* Moved service to common so it can be utilized on the cli
* Refactored service to use restricted type service
* Removed userId passing from commands
* Exclude restrict types from export
* Added missing dependency
* Added missing dependency
* Added missing dependency
* Added service utils commit from desktop PR
* refactored to use reusable function
* updated reference
* updated reference
* Fixed merge conflicts
* Refactired services to use isCipherRestricted
* Refactored restricted item types service
* Updated services to use the reafctored item types service
* add restricted item types to legacy vault components
* filter out restricted item types from new menu item in desktop
* use CIPHER_MENU_ITEMS
* use CIPHER_MENU_ITEMS. move restricted cipher service to common
* use move restricted item types service to libs. re-use cipher menu items
* add shareReplay. change variable name
* move restricted filter to search service. remove unecessary import
* add reusable service method
* clean up spec
* add optional chain
* remove duplicate import
* move isCipherViewRestricted to service module
* fix logic
* fix logic
* remove extra space
---------
Co-authored-by: SmithThe4th <gsmith@bitwarden.com>