* add hostname to footer via env service
* add logic for showing/hiding environment
* add docs
* add web env-selector
* refactor to use one slot for env-selector
* add storybook docs
* add env hostname to stories
* remove sample route
* [AC-2302] Move organization-auth-request.service to bit-common folder
* [AC-2302] Rename organization-auth-request.service to organization-auth-request-api.service
* [AC-2302] Move logic from component to organization-auth-request.service
* [AC-2302] Fix import path in OrganizationAuthRequestService
* [AC-2302] Move imports to OrganizationsModule and delete unused CoreOrganizationModule
* [AC-2302] Move the call to get userResetPasswordDetails into OrganizationAuthRequestService
* [AC-2302] Remove @Injectable() and manually configure dependencies
* [AC-2302] Add OrganizationAuthRequestService unit tests first draft
* [AC-2302] Refactor device-approvals.component.ts to remove unused imports
* [AC-2302] Set up jest on bit-common and add unit tests for OrganizationAuthRequestService
* [AC-2302] Add bit-common to jest.config.js
* [AC-2302] Update organizations.module.ts to include safeProviders declared in variable
* [AC-2302] Remove services and views folders from bit-common
* [AC-2302] Define path mapping
* Adjust an import path
The import path of `PendingAuthRequestView` in
`OrganizationAuthRequestApiService` was pointing to the wrong place. I
think this file was just recently moved, and the import didn't get
updated.
* Get paths working
* Fix import
* Update jest config to use ts-jest adn jsdom
* Copy-paste path mappings from bit-web
* Remove unnecessary test setup file
* Undo unnecessary change
* Fix remaining path mappings
* Remove Bitwarden License mapping from OSS code
* Fix bit-web so it uses its own tsconfig
* Fix import path
* Remove web-bit entrypoint from OSS tsconfig
* Make DeviceApprovalsComponent standalone
* Remove organization-auth-request-api.service export
* Add BulkApproveAuthRequestsRequest class for bulk approval of authentication requests
* Add api call for device bulk approvals
* Add bulk device approval to OrganizationAuthRequestService
* Add unit tests for bulk device approval method
* Remove OrganizationsRoutingModule from DeviceApprovalsComponent imports
* Remove CoreOrganizationModule from OrganizationsModule imports
* Remove NoItemsModule from OrganizationsModule imports
* Get keys for each item to approve
* Update approvePendingRequests unit test
* Use ApiService from JslibServicesModule
* Update providers in device-approvals.component.ts
* Add method to retrieve reset password details for multiple organization users
* Add organizationUserId property to OrganizationUserResetPasswordDetailsResponse class
* Use method to retrieve reset password details for multiple organization users
* Rename ResetPasswordDetails to AccountRecoveryDetails
* Update OrganizationAuthRequestService to use getManyOrganizationUserAccountRecoveryDetails
* Add functionality to approve all device approval requests
* Update AdminAuthRequestUpdateWithIdRequest property names and imports
* Refactor bulk approval functionality in organization auth requests
* Put the 'Approve All' button behind a feature flag.
* Update feature flag key
Co-authored-by: Addison Beck <github@addisonbeck.com>
* Rename update request AdminAuthRequestUpdateWithIdRequest to OrganizationAuthRequestUpdateRequest
* Update organization-auth-request.service.spec.ts to use bulkUpdatePendingRequests method
---------
Co-authored-by: Addison Beck <hello@addisonbeck.com>
Co-authored-by: Thomas Rittson <trittson@bitwarden.com>
Co-authored-by: Addison Beck <github@addisonbeck.com>
* PM-5086 - WIP start on registration start component
* PM-5086 - more WIP progress on registration start comp
* PM-5086 - Setup secondary component
* PM-5086 - (1) Validation working (2) States implemented (3) 2nd state for check email mostly completed except for correct icon
* PM-5086 - Registration Start - check email state - update icon to be correct from figma.
* PM-5086 - Refactor self hosted conditional + actually hide the checkbox if it is self hosted.
* PM-5086 - WIP good progress on getting browser & desktop creating account on logic working.
* PM-5086 - Accessibility pass + WIP on region selector
* PM-5086 - Accessibility pass with Danielle
* PM-5086 - Migrate env selector logic to own component.
* PM-5086 - Update AnonLayoutWrapperComp import
* PM-5086 - Remove unncessary focus.
* PM-5086 - WIP first draft of registration env selector; name might change to differentiate it from existing env selector.
* PM-5086 - Rename env selector to be more clear and use registration-env-selector instead.
* PM-5086 - (1) Export registration env selector (2) Change comp name not just file name.
* PM-5086 - Create new registration page stub
* PM-5086 - Fix build issue where select module was missing from new registration env selector.
* PM-5086 - Registration --> registration start.
* PM-5086 - Add missing translation from registration-start-secondary-component to desktop & browser.
* PM-5086 - Add missing translations
* PM-5086 - Registration Env Selector - forms require form groups. duh.
* PM-5086 - Registration Env Selector - working now.
* PM-5086 - Registration Start desktop mostly working with env selector issues.
* PM-5086 - Registration start - get self hosted env dialog to close on close click. Backdrop click doesn't work but escape does still.
* PM-5086 - TODO: figure out if there is a better way to get the dialog to close.
* PM-5086 - Registration start - get goBack working to properly re-show env selector
* PM-5086 - Self Hosted Env Comp - re-emit current env on close so that select based env selectors can reset
* PM-5086 - RegistrationEnvSelector - Refactor init logic to also listen for env updates so that the user's choices on the self hosted settings dialog get communicated to this comp
* PM-5086 - Registration Start Desktop - Don't allow users to close dialog via escape as we need them to either close or save to get the env service to set the env correctly.
* PM-5086 - Browser Registration Start Page stub
* PM-5086 - Registration Start comp - storybook added
* PM-5086 - Remove links to start-registration as we aren't ready to implement that yet.
* PM-5086 - Revert environment comp changes.
* PM-5086 - Delete registration start pages.
* PM-5086 - Test removing PreloadedEnglishI18nModule to see if it fixes test failures
* PM-5086 - Try to resolve issues w/ importing PreloadedEnglishI18nModule into RegistrationStartComponent storybook stories file.
* PM-5086 - Allow translations to be imported for all libs.
* PM-5086 - Remove comment from JSON
* PM-5086 - TODO cleanup
* PM-5086 - Per PR feedback, fix display issues by using correct classes.
* PM-5086 - Fix SVG per PR feedback
* PM-5086 - Remove unnecessary methods
* PM-5086 - RegistrationEnvSelectorComponent - per PR feedback, properly type null in form group
* add verify org delete page
* PR feedback from thomas
* use abstraction
* Apply suggestions from code review
Co-authored-by: Rui Tomé <108268980+r-tome@users.noreply.github.com>
* delete org copy
* Move verify-recover-delete-org component to admin-console/organizations/manage folder and update routing
* [PM-7004] Add async/await to ngOnInit in verify-recover-delete-org.component.ts
* [PM-7004] Update deleteRecoverOrgConfirmDesc message in messages.json
* [PM-7004] Add warning message for deleting organization's active user accounts
* [PM-7004] Update to standalone component
* [PM-7004] Update delete organization warning message
* [PM-7004] Refactor delete organization form
* [PM-7004] Delete unused selector in verify-recover-delete-org.component.ts
* [PM-7004] Rename recoverDeleteToken method in verify-recover-delete-org.component.ts to deleteUsingToken
* [PM-7004] Update formGroup initialization in verify-recover-delete-org.component.ts
* [PM-7004] Delete formGroup initialization in verify-recover-delete-org.component.ts
* [PM-7004] Remove try/catch from submit method in verify-recover-delete-org.component.ts
* [PM-7004] Update submit button type in verify-recover-delete-org.component.html
* [PM-7004] Remove manual loading state in verify-recover-delete-org.component
* [PM-7004] Remove unnecessary span in verify-recover-delete-org.component.html
* [PM-7004] Update button styles in verify-recover-delete-org.component.html
* [PM-7004] Add back in the manual loading state in verify-recover-delete-org.component
* [PM-7004] Update button type and class in verify-recover-delete-org.component.html
* [PM-7004] Replace bootstrap classes with equivalent tailwind classes
* [PM-7004] Replace bootstrap classes with Tailwind in verify-recover-delete-org.component.html
---------
Co-authored-by: Rui Tomé <108268980+r-tome@users.noreply.github.com>
Co-authored-by: Rui Tome <rtome@bitwarden.com>
* convert premium card to banner component
- create VaultBanners component that will handle all banner logic
* move upgrade browser notice to banner component
* refactor verify email component to use the banner component
* add email banner to VaultBanners component
* move low KDF message to banner component
* remove unused KDF component
* allow multiple banners to be displayed at once
* use vault service to consolidate premium banner logic
- Implement prompt thresholds for premium banner
- Update dismiss logic to re-run visibility logic
* update variable name
* move all dismiss/show logic to vault banner service
* rename tense of methods for readability
* apply underline to send email button to match other banner actions
* fix dark mode styling across banners
* remove unused variable
* use bitLink directive for styling rather than tailwind
* move premium banner to a standalone observable
* update bootstrap styles to tailwind
* use new KDF service for vault banners
* move the VerifyEmailComponent to a standalone component
* convert premium banner to a singular observable
* remove unneeded import
* AC-2589 add unique id for each vault banner
* AC-2588 poll sync service to only show premium banner after a sync
* close subscription to syncCompleted$ after one emit
* remove unneeded ReplaySubject
* 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>
* Add permission checks for org vault bulk actions
* Show checkboxes for all collections except Unassigned
* Separate individual and admin logic between CollectionView
and CollectionAdminView
* Remove heading for error toasts per design feedback
* initial commit
* Make changes for provider billing details
* replace the hardcoded values with real data
* Apply discount on the displayed amount
* Fix the design issues base on the new design changes
* Fix the design space issue
* Remove unnecessary If statements
* Revert the change
* Remove unnecessary If statements
* Refactoring the discount calculation for easy understanding
* Update Group modal -> Collections tab to respect collection management settings,
e.g. only allow admins to assign access to collections they can manage
* Update collectionAdminView getters for custom permissions
* add navigation item for integrations and SDKs page
* Initial routing to Integrations & SDKs page
* Initial add of integrations component
* Initial add of SDKs component
* add secret manage integration images
* remove integration & sdk components in favor of a single component
* add integration & integration grid components
* add integrations & sdks
* rename page & components to integration after design discussion
* add external rel attribute for SDK links
* remove ts extension
* refactor: use pseudo element to cover as a link
* refactor: change secondaryText to linkText to align with usage
* update icon for integrations
* add new badge option for integration cards
* hardcode integration/sdk names
* add dark mode images for integrations and sdks
* update integration/sdk card with dark mode image when applicable
* refactor integration types to be an enum
* fix enum typings in integration grid test
---------
Co-authored-by: Robyn MacCallum <robyntmaccallum@gmail.com>
* [AC-2209] Update permission text to display "No access" when collection is not assigned
* [AC-2209] Add permission tooltip for unassigned collections
* initial commit
* add changes from running prettier
* resolve the linx issue
* resolve the lint issue
* resolving lint error
* correct the redirect issue
* resolve pr commit
* Add a feature flag
* move the new component to adminconsole
* resolve some pr comments
* move the endpoint from ApiService to providerApiService
* move provider endpoints to the provider-api class
* change the header
* resolve some pr comments
* Boostrap basic banner, show for all admins
* Remove UI banner, fix method calls
* Invert showBanner -> hideBanner
* Add api call
* Minor tweaks and wording
* Change to active user state
* Add tests
* Fix mixed up names
* Simplify logic
* Add feature flag
* Do not clear on logout
* Update apps/web/src/locales/en/messages.json
---------
Co-authored-by: Addison Beck <github@addisonbeck.com>