* Guard Organization Info route - Owners only
* Guard TwoFactor route - Owners only and Organization must be able to use 2FA
* Update guards to use function syntax
---------
Co-authored-by: Addison Beck <hello@addisonbeck.com>
* [deps] Tools: Update electron to v31
* Bump version in electron-builder
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Add empty state for invoices
* Make cards on create client dialog tabbable
* Add space in $ / month per member
* Mute text, remove (Monthly) and right align menu on clients table
* Made used seats account for all users and fixed column sort for used/remaining
* Resize pricing cards
* Rename assignedSeats to occupiedSeats
* fix: handle undefined value in migration 66
* fix: the if-statement was typo
* feat: duplicate error behavior in fake storage service
* feat: fix all migrations that were setting undefined values
* feat: add test for disabled fingrint in migration 66
* fix: default single user state saving undefined value to state
* revert: awaiting floating promise
gonna fix this in a separate PR
* Revert "feat: fix all migrations that were setting undefined values"
This reverts commit 034713256c.
* feat: automatically convert save to remove
* Revert "fix: default single user state saving undefined value to state"
This reverts commit 6c36da6ba5.
* initial add of card details section
* add card number
* update card brand when the card number changes
* add year and month fields
* add security code field
* hide number and security code by default
* add `id` for all form fields
* update select options to match existing options
* make year input numerical
* only display card details for card ciphers
* use style to set input height
* handle numerical values for year
* update heading when a brand is available
* remove unused ref
* use cardview types for the form
* fix numerical input type
* disable card details when in partial-edit mode
* remove hardcoded height
* update types for formBuilder
* Document the `org-permissions` guard in code
* Restructure the `org-permissions` guard to be Angular 17+ compliant
* Update the `org-permissions` guard to use `ToastService`
* Simplify callback function sigantures
* Remove unused test object
* Fix updated route from merge
* Document that `is-paid-org` guard in code
* Remove unused `MessagingService` dependency
* Make assertions about the way the is-paid-org guard should behave
* Restructure the `is-paid-org` guard to be Angular 17+ compliant
* Random commit to get the build job moving
* Undo previous commit
* Document the `org-redirect` guard in code
* Make assertions about the way the `org-redirect` guard should behave
* Restructure the `org-redirect` guard to be Angular 17+ compliant
* Convert data parameter to function parameter
* Convert a data parameter to a function parameter that was missed
* Pass redirect function to default organization route
* Introduce `verificationType`
* Update template to use `verificationType`
* Implement a path for `verificationType = 'custom'`
* Delete `clientSideOnlyVerification`
* Update `EnrollMasterPasswordResetComponent` to include a server-side hash check
* Better describe the custom scenerio through comments
* Add an example of the custom verficiation scenerio
* Move execution of verification function into try/catch
* Migrate existing uses of `clientSideOnlyVerification`
* Use generic type option instead of casting
* Change "given" to "determined" in a comment
* Replace PlatformUtilsService with ToastService
* Remove unneeded templates
* Implement table filtering function
* Move member-only methods from base class to subclass
* Move utility functions inside new MemberTableDataSource
* Rename PeopleComponent to MembersComponent
* [PM-9342] Inline menu does not show on username field for a form that has a password field with an invalid autocomplete value
* [PM-9342] Incorporating logic to handle multiple autocomplete values within a captured set of page details
* [PM-9342] Incorporating logic to handle multiple autocomplete values within a captured set of page details
* [PM-9342] Changing logic for how we identify new password fields to reflect a more assertive qualification
* [PM-9342] Adding feedback from code review
* Move vault-timeout-input to @bitwarden/auth/angular
Move vault-timeout-input.component.ts to @bitwarden/auth/angular/vault-timeout-input
Expose via barrel file
Fix imports on clients
* Add dependencies to package.json
Not necessary right now, but good practice for once we move to building each package independently
* Make VaultTimeoutInputComponent a standalone component
* Update selector to present team ownership
* Use new standalone on web
Move vault-timeout-input.component.html to @bitwarden/auth/angular/vault-timeout-input/
Delete old vault-timeout-input.component on web
Register new component on loose-components-module
Update used selector in preferences.component
* Remove unneeded export of VaultTimeoutInputComponent
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>