* Move chevron/arrow to start of disclosure widget
in addition, changes the only expand/collapse disclosure widget like this on the web client to use the same `<h3><button>...</button></h3>` structure as on browser extension and desktop app
* Change collapsed/expanded icons
Make them more understandable and consistent with other expand/collapse controls
* Harmonise desktop +/- controls to use arrow/chevron icons as well
also removes the incorrect `A11yTitle` in the generator that currently overrides the visible "Options" text (leading to a failure of WCAG 2.5.3 Label in Name)
* Change the icons for the expand/collapse disclosure widget in SSO component
* Expand icon explanation
plus minor typo cleanup
* Add patch for Send button focus outline
* [SM-63] Secrets List overview (#3239)
The purpose of this PR is to create a new component for the Secrets Manager project where all the secrets associated to a specific organization ID can be viewed.
* [SM-63] Secrets List overview (#3239)
The purpose of this PR is to create a new component for the Secrets Manager project where all the secrets associated to a specific organization ID can be viewed.
* [SM-63] Display dates based off Figma (#3358)
* Display dates based off Figma
* Swapping date to medium format
* [SM-185] Use feature flags for secrets (#3409)
* Fix SM lint errors (#3526)
* Fix SM lint errors
* Update bitwarden_license/bit-web/src/app/sm/secrets/secrets.component.ts
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
* [SM-65] Create/Edit Secrets Dialog (#3376)
The purpose of this PR is to add a Create/Edit Secrets dialog component.
* [SM-198] Empty Secrets View (#3585)
* SM-198 Empty Secrets View
* [SM-64] Soft delete secrets (#3549)
* Soft delete secrets
* SM-95-ProjectList (#3508)
* Adding project list and creating a shared module for secrets
* updates to style , temporarily using secrets results until API portion is completed
* removing non project related options from the list, updting api call to call projects now
* Adding view project option from drop down
* Changes requested by Thomas
* Changes requested by Thomas
* suggested fixes
* fixes after merge from master
* Adding decrypting to project list
* Update bitwarden_license/bit-web/src/app/sm/shared/sm-shared.module.ts
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
* Update bitwarden_license/bit-web/src/app/sm/projects/project.service.ts
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
* Update bitwarden_license/bit-web/src/app/sm/projects/project.service.ts
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
* fix to projectRequest so name is type EncString instead of string
* lint + prettier fixes
* Oscar's suggestions - Removing this. from projectList
* updating to use bitIconButton
* Updating to use BitIconButton
Co-authored-by: CarleyDiaz-Bitwarden <103955722+CarleyDiaz-Bitwarden@users.noreply.github.com>
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
* Fix double edit secret dialog (#3645)
* Fix typescript errors on secrets init (#3649)
* Resolve breaking changes
* Remove unecessary class
* SM-198 Update empty list text. (#3652)
* [SM-267] Minor visual fixes (#3673)
* SM-96: Add/Edit Project for SM (#3616)
* SM-96: Initial add for Add/Edit project
* Update secrets.module.ts
* Small fixes based on PR comments
* SM-96: Small fixes + fix new project creation
* Fully fix create / edit project
* SM-96: Update toast text
* Remove message with exclamation
* SM-96: Fix broken build
* SM-96: Remove disabled on save buttons for SM dialogs & switch to early exits
* SM-96: Run linter
* [SM-186] Service Accounts - Overview (#3653)
* SM-186 Service Accounts Overview
* Remove duplicate titles (#3659)
* [SM-187] Create Service Account Dialog (#3710)
* SM-187 Create Service Account Dialog
* Fix renamed paths
* SM Modal Updates (#3776)
* Add type=button to cancel button on sm dialogs
* Update new secret/project modal titles to match design
* Add loading spinner for project and secret edit modals
* Add max length to project name
* Use Tailwind CSS class instead of custom and remove click handler
* Fix spinner
* Add buttonType=primary to project dialog save button
* Fix loading change for secret dialog and use tw-text-center
Co-authored-by: Hinton <hinton@users.noreply.github.com>
* [SM-113] Delete Projects Dialog (#3777)
* SM-113 Add Delete Projects Dialog
* [SM-306] Migrate secrets dialog to async form (#3849)
* [SM-310] Prepare secrets manager for merge to master (#3885)
* Remove Built In Validator on Project Delete (#3909)
Handle all Project Delete validation through custom validator
* [SM-312] Mark all inputs as touched when submitting (#3920)
* Use new icon for no item (#3917)
* Create navigation component (#3881)
* [SM-150] Project / Secret mapping (#3912)
* wip
* removing added file
* updates
* handling projects and secrets mapping in UI
* moving files and fixing errors
* Update bitwarden_license/bit-web/src/app/secrets-manager/secrets/secrets-list.component.html
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
* Decrypt the name
* fixing the secrets-list.component bug
* renaming file and view name
* lint fixes
* removing secret with projects list response, and other misc name changes
* Adding back things I shouldnt have deleted
* Update bitwarden_license/bit-web/src/app/secrets-manager/secrets/responses/secret-with-projects-list.response.ts
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
* updating button (#3779)
* [SM-300] Access Tokens (#3955)
* [SM-301] fix: associate labels with inputs (#4058)
* fix: wrap input in label
* fix: update all label in projects and service accounts
* [SM-196] Create Access Token Dialog (#4095)
* Add create access token dialog
* Use ServiceAccountView for access token creation
* Set version to readonly for access token
* DRY up Expiration Date & bug fix
* Break out expiration options component
* Move expiration-options to layout; Match FIGMA
* Create Generic Key generator
* Add getByServiceAccountId
* Change to use keyMaterial and not the full key
* Use access token id, not service account
* Remove generic key generator
* Swap to service account name placeholder
* Swap ExpirationOptions to a CVA
* No longer masking according to FIGMA
* Remove schema comment
* Code review updates
* Update required logic and approach
* Move ExpirationOptionsComponent into access
Co-authored-by: Hinton <hinton@users.noreply.github.com>
* SM-99: Individual Project / Secrets Tab (#4011)
Co-authored-by: Hinton <hinton@users.noreply.github.com>
* Fixes for the demo (#4159)
* [SM-360] Add support for never expiring access tokens (#4150)
* Add support for never expiring access tokens
* Render performance fixes
* Update bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/access/dialogs/expiration-options.component.ts
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
* [SM-360] Fix access token display dialog for never expiring tokens (#4164)
* Fix access token display dialog
* Add disableClose to access token display dialog
* [SM-299] Add license checks (#4078)
* [SM-69] feature: create org-switcher, bit-nav-item, bit-nav-group, bit-nav-divider (#4073)
* feat: create nav-item, nav-group, org-switcher
* add tree variant; add stories; move to component library
* render button if no link is present
* fix routerLinkActive; add template comments; fix styles
* update storybook stories
* rename to route
* a11y fixes
* update stories
* simplify tree nesting
* rename nav-base component
* add divider; finish org-switcher; add overview page skeleton
* add nav-divider story
* code review
* rename components to CL naming scheme
* fix iconButton focus color
* apply code review changes
* fix strict template route param
* add ariaLabel input; update org-switcher a11y
* add two way binding for nav-group open state; update stories
* add toggle control to org-switcher
* [SM-310] Disable Secrets Manager in QA (#4199)
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
Co-authored-by: Thomas Avery <tavery@bitwarden.com>
Co-authored-by: CarleyDiaz-Bitwarden <103955722+CarleyDiaz-Bitwarden@users.noreply.github.com>
Co-authored-by: cd-bitwarden <106776772+cd-bitwarden@users.noreply.github.com>
Co-authored-by: Colton Hurst <colton@coltonhurst.com>
Co-authored-by: Will Martin <contact@willmartian.com>
* Move event.service to it's own folder
Move abstractions/event.service to abstractions/event/event.service
Move services/event.service to services/event/event.service
Fix all the imports
* Extract event-upload from event.service
Move `uploadEvents` from `EventService` to `EventUploadService`
Create event-upload-service-factory
Fix wiring up all the dependencies
* Remove clearEvents from EventService
clearEvents is only related to uploading events and can be moved into EventUploadService
Change the logout-method to only call EventUploadService.uploadEvents as that also calls clearEvents internally
* Rename EventService to EventCollectionService
Rename libs\common\abstraction\event\event.service.ts to libs\common\abstractions\event\event-collection.service.ts
Rename libs\common\services\event\event.service.ts to libs\common\services\event\event-collection.service.ts
Fix all the imports
Fix up service regristration/instantiation
Reanme \browser\src\background\service_factories\event-service.factory.ts to \browser\src\background\service_factories\event-collection-service.factory.ts
* Move interval to upload events to EventUploadSvc
Move the `init()` from event-collection.service to event-upload.service
Change call-site in web, desktop, browser
* Remove a previously set password from a Send
* Only refresh if the send item was selected before
* Display menuItem only when a password has been set
* [EC-584] Update ApiService to remove any appendages to ClientVersion
* [EC-584] Extract application version number logic from ApiService to PlatformUtils
* Update libs/electron/src/services/electronPlatformUtils.service.ts
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
* [EC-584] Use getApplicationVersion as source for getApplicationVersionNumber
* [EC-584] Remove defaulting to dash on getApplicationVersionNumber and add unit tests
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
* correct issue of "allVaults" string literal being used
* make "(Organisation is disabled)" part of the `appA11yTitle`
* add folder name to the edit folder button's `appA11yTitle`
Co-authored-by: Daniel James Smith <djsmith@web.de>
Renamed folders:
./apps/desktop/src/models/nativeMessaging
./apps/desktop/src/models/nativeMessaging/encryptedMessagePayloads
./apps/desktop/src/models/nativeMessaging/encryptedMessageResponses
Renamed all files
Cleaned up entries in whitelist-capital-letters.txt
* SG-632 - Changed forwarded providers list of radio buttons to dropdown
* SG-632 - Added role attributes to improve accessibility.
* SG-632 - Added sorting to array and empty option
* SG-632 - Fix styling to match standards.
* SG-650 - Desktop - Pw Generation - Min value ctrls now use (change) instead of (blur) for better responsiveness when using arrows on input or arrow keys. Note: (input) has change detection issues for resetting the value to either max pw length or max value of 9 + passwordGeneration.service logic possibly needs refactoring to either enforce max of 9 or not
* SG-650 - Desktop - Passphrase Gen - min words now uses (change) instead of (blur) for better responsiveness
* Added focus to master password field on browser client
* Added focus to master password field on desktop client
* fixed focus on master password when enter is pressed
* [SG-163] Two step login flow web (#3648)
* two step login flow
* moved code from old branch and reafctored
* fixed review comments
* [SG-164] Two Step Login Flow - Browser (#3793)
* Add new messages
* Remove SSO button from home component
* Change create account button to text
* Add top padding to create account link
* Add email input to HomeComponent
* Add continue button to email input
* Add form to home component
* Retreive email from state service
* Redirect to login after submit
* Add error message for invalid email
* Remove email input from login component
* Remove loggingInTo from under MP input
* Style the MP hint link
* Add self hosted domain to email form
* Made the mp hint link bold
* Add the new login button
* Style app-private-mode-warning in its component
* Bitwarden -> Login text change
* Remove the old login button
* Cancel -> Close text change
* Add avatar to login header
* Login -> LoginWithMasterPassword text change
* Add SSO button to login screen
* Add not you button
* Allow all clients to use the email query param on the login component
* Introduct HomeGuard
* Clear remembered email when clicking Not You
* Make remember email opt-in
* Use formGroup.patchValue instead of directly patching individual controls
* [SG-165] Desktop login flow changes (#3814)
* two step login flow
* moved code from old branch and reafctored
* fixed review comments
* Make toggleValidateEmail in base class public
* Add desktop login messages
* Desktop login flow changes
* Fix known device api error
* Only submit if email has been validated
* Clear remembered email when switching accounts
* Fix merge issue
* Add 'login with another device' button
* Remove 'log in with another device' button for now
* Pin login pag content to top instead of center justified
* Leave email if 'Not you?' is clicked
* Continue when enter is hit on email input
Co-authored-by: gbubemismith <gsmithwalter@gmail.com>
* [SG-750] and [SG-751] Web two step login bug fixes (#3843)
* Continue when enter is hit on email input
* Mark email input as touched on 'continue' so field is validated
* disable login with device on self-hosted (#3895)
* [SG-753] Keep email after hint component is launched in browser (#3883)
* Keep email after hint component is launched in browser
* Use query params instead of state for consistency
* Send email and rememberEmail to home component on navigation (#3897)
* removed avatar and close button from the password screen (#3901)
* [SG-781] Remove extra login page and remove rememberEmail code (#3902)
* Remove browser home guard
* Always remember email for browser
* Remove login landing page button
* [SG-782] Add login service to streamline login form data persistence (#3911)
* Add login service and abstraction
* Inject login service into apps
* Inject and use new service in login component
* Use service in hint component to prefill email
* Add method in LoginService to clear service values
* Add LoginService to two-factor component to clear values
* make login.service variables private
Co-authored-by: Gbubemi Smith <gsmith@bitwarden.com>
Co-authored-by: Addison Beck <addisonbeck1@gmail.com>
Co-authored-by: Robyn MacCallum <robyntmaccallum@gmail.com>
Co-authored-by: gbubemismith <gsmithwalter@gmail.com>
* Add item decryption to encryptService
* Create multithreadEncryptService subclass to handle web workers
* Create encryption web worker
* Refactor cipherService to use new interface
* Update dependencies
* PS-976 - when user has cipher readonly permissions, prevent user from editing cipher fields and make separate api call that only updates Favorite and Folder values
* PS-976 - in the readonly edit cipher view, hide non-operable buttons and display select values as readonly input text
* PS-976 - update failing test
* PS-976 - split cipher saveWithServer call into Create and Update calls
* PS-976 - replace property with function call to get the card expiration month for the readonly view
* MM-976 - when user has readonly permissions hide "delete" button on View Item view, hide generate username/password buttons on Edit Item view
* PS-976 - rename cipherPartialRequest file to align with new naming convention
* Add test cases from previous PR https://github.com/bitwarden/jslib/pull/547
* Install tldts as replacement for tldjs
* Use tldts for hostname and domain retrieval/validation
* Remove usage of old tldjs.noop-implementation
* Add handling of about protocol
* Remove usage of tldEndingRegex and use tldts check instead
* Uninstall @types/tldjs and tldjs
* Updated package-lock.json
* Fix accessibility cookie check
* Rename loginUriView.spec to login-uri-view.spec
* Add test for getDomain failing file links
* getHostName - Return null when given, data, about or file links
* updated content to sentence case
* updated 2fa verbs to match web vault PR
* title case Social Security
* sentence cased missed strings
* fixed 'work' typo on generator strings
* sentence cased Copy username
* updated missed menu options to sentence case
* Initial - add folder id to popup item view
* Add folder service to view component
* Move folder info higher in the item view as proper box
* Add folder name handling to component
* Add folder field to browser view
* Add folder field to desktop view
* Make folder field draggable
following the merging of https://github.com/bitwarden/clients/pull/3321 also make the folder field draggable
* Use `<label>` and readonly `<input>`
In anticipation of https://github.com/bitwarden/clients/pull/3485 being merged
* Changes from review
- change input name to `folderName`, match it in the `for` attribute on the `<label>`
- add an `if` check before querying folder names
* Match `name` to `id`
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>