Save the extension popup route history and restore it after closing and re-opening the popup.
---------
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
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.
* remove margin from the last form field across identity sections
* remove bottom margin from the item name when it is the only field
* replace JS margin solution with CSS
* [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
* make headings of v2 view component lowercase
* initial add of view identity sections
* adding identification fields
* add contact information section
* add copy ability to all identity fields
* add visibility toggle for passport and ssn
* add testids for all identity fields
* add test-ids to visibility toggles
* refactor visibility methods to be called in `ngOnInit` rather than on each render
* replace `disabled` with `readonly`
* Rename <additional-information> component to <additional-options>
The Figma designs show and update to the Additional Information section. The heading changed to "Additional options". It probably makes sense to update the component name to match.
* Make view note header "note" lowercase.
* Add new translation messages for view header.
* Revert "Add new translation messages for view header."
This reverts commit 4e8877fe71.
* Make cipher headers lowercase via toLowerCase function
* Remove unused import.
* run npm ci && npm run prettier
* add back missing import
* import FormFieldModule
* use bit-* form field elements so styling is consistent
* replace `readonly` with `disabled` so the field can not be interacted with
* standardize spacing around orgs/folders
* revert disable/readonly swap
* remove duplicate import
* [PM-9959] Expose Fido2SessionData interface
* [PM-9959] Ensure cipherType is passed during passkey creation
* [PM-9959] Add beforeSubmit hook to cipherForm
* [PM-9959] Add support for Fido2 credential creation in add-edit-v2
* [PM-9959] Ensure cipherType defaults to CipherType.Login if none is available
* [PM-9959] Add support for name and username to be passed in as query params for initial form values
* [PM-9962] Hide remove passkey button when cipher has "except passwords" permissions
* refactor "Assign collections" to "Assign to collections"
* show singular or plural version of collection assignment success message
* update singular and plural warning text
* refactor switch to be an `if`
* use zip to ensure both query changes and new items have been added
* query for the label directly rather than the associated one
there is only one label and the checkbox is wrapped in the label
* 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%
* initial add of assign collections component
* grab cipherId from query params
* add organization selection for moving a cipher
* add multi-select for collections
* add transfer of cipher to an organization
* temp: do not show assign collections while a cipher already has an organization
* account for initial collections for a cipher
* block assign-collections route with feature flag
* replace hardcoded string with i18n
* separate out async calls to switchMap to avoid async subscribe
* use local cipher rather than decrypting again
* use anchor for better semantics
* migrate form submission to bitSubmit directive
* swap to "assign" rather than "save"
* integrate with base AssignCollections component
* clean up messages file
* remove unneeded takeUntilDestroyed
* remove unneeded bitFormButton
* remove unused translations
* lint fix
* refactor assign-collections component to take in a button reference
- This allows consuming components to not have to worry about loading/disabled states
- The base AssignCollections component will change the submit button when supplied
* initial add of custom fields
* add fields for custom field
* integrate custom field into cipher form service for text fields
* add hidden field type
* add boolean custom field
* add linked option type
* add testids for automated testing
* add edit option for each custom field
* update dialog component name to match add/edit nature
* add delete button for fields
* initial add of drag and drop
* collect tailwind styles from vault components
* add drag and drop functionality with announcement
* add reorder via keyboard
* update tests to match functionality
* account for partial edit of custom fields
* fix change detection for new fields
* add label's to the edit/reorder translations
* update dynamic heading to be inline
* add validation/required for field label
* disable toggle button on hidden fields when the user cannot view passwords
* remove the need for passing `updatedCipherView` by only using a single instance of `CustomFieldsComponent`
* lint fix
* use bitLink styles rather than manually defining tailwind classes
* use submit action, no duplicated button and allows for form submission via enter
* add documentation for `newField`