* add basic new nav item styling
* update alt-3 bg color
* add x padding to item
* remove copy left in error
* style app switcher to match nav items
* adding new button hover colors
* add new logo lockups
* use new logos in web vault
* fix color and svg fills
* use set height for nav items
* optimize SVGs
* move if logic
* use rem for icon size
* move shield logo
* use shield svg for collapsed icon
* remove unused eslint disable directive
* run prettier
* remove variables
* update logo hover styles
* use more standard flow control syntax
* update admin console logo svg
* add new hover variables
* use class instead of fill
* use variable for logo hover
* remove unnecessary container
* use hover variable for nav switcher
* use correct variables for fill colors
* update hover state to use variable left in error
* give icon width to preserve text alignment
* remove tree story as functionality no longer supported
* remove nested styles helper
* remove obsolete afterContentInit
* remove tree example from layout story
* remove tree example from secondary layout story
* remove tree example from kitchen sink story
* Fix interaction test
* remove remaining references to tree variant
Upgrade Angular to v19 using the update guide.
- Add `standalone: false` to any missed component in stories or tests.
- Update jest.config to follow the new best practices.
* don't display orgs in account switcher for single org policy users
* add comment
* add test case
* fix storybook
* fix storybook again
* use variable name instead of comment
* [CL-571] Update icons to new fileset and metaphors (#14163)
* [CL-518] Convert icons docs to stories (#14299)
* [CL-574] Update inline autofill icons (#14379)
---------
Co-authored-by: William Martin <contact@willmartian.com>
* [PM-13128] Enable Breadcrumb Policies
* [PM-13128] Enable Breadcrumb Policies
* [PM-13128] wip
* [PM-13128] wip
* [PM-13128] wip
* [PM-13128] wip
* remove dead code
* wip
* wip
* wip
* refactor
* Fix for providers
* revert to functional auth guard
* change prerequisite to info variant
* address comment
* r
* r
* r
* tests
* r
* r
* fix tests
* feedback
* fix tests
* fix tests
* Rename upselling to breadcrumbing
* Address feedback
* Fix build & tests
* Make the guard callback use Observable instead of a promise
* Pm 13128 suggestions (#14041)
* Rename new enum value
* Show the upgrade button when breadcrumbing is enabled
* Show mouse pointer when cursor is hovered above badge
* Do not make the dialogs overlap
* Align badge middle
* Gap
* Badge should be a `button` instead of `span`
* missing button@type
---------
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
Co-authored-by: Alex Morask <amorask@bitwarden.com>
* Add setupBusinessUnit to OrganizationBillingApiService
* Add setup-business-unit.component
* Updated designs and cleanup work
* Update existing logos for Provider Portal and Admin Console
* Fix broken test
* move vault timeout and vault timeout settings to km
* move browser vault timeout service to km
* fix cli import
* fix imports
* fix some relative imports
* use relative imports within common
* fix imports
* fix new imports
* Fix new imports
* fix spec imports
Migrates the following components to not use bootstrap.
- apps/web/src/app/components/environment-selector/environment-selector.component.html
- apps/web/src/app/layouts/frontend-layout.component.html
- apps/web/src/app/layouts/org-switcher/org-switcher.component.html
- apps/web/src/app/settings/domain-rules.component.html
- bitwarden_license/bit-web/src/app/secrets-manager/projects/project/project-secrets.component.html
- bitwarden_license/bit-web/src/app/secrets-manager/settings/porting/sm-import.component.html
* [PM-15506] Wire up vNextOrganizationService for libs/common and libs/angular (#12683)
* Wire up vNextOrganizationService in PolicyService
* Wire vNextOrganizationService in SyncService
* wire vNextOrganizationService for EventCollectionService
* wire vNextOrganizationService for KeyConnectorService
* wire up vNextOrganizationService for CipherAuthorizationService
* Wire up vNextOrganizationService in PolicyService
* Wire vNextOrganizationService in SyncService
* wire vNextOrganizationService for EventCollectionService
* wire vNextOrganizationService for KeyConnectorService
* wire up vNextOrganizationService for CipherAuthorizationService
* wire vNextOrganizationService for share.component
* wire vNextOrganizationService for collections.component
* wire vNextOrganizationServcie for add-account-credit-dialog
* wire vNextOrganizationService for vault-filter.service
* fix browser errors for vNextOrganizationService implementation in libs
* fix desktop errors for vNextOrganizationService implementation for libs
* fix linter errors
* fix CLI errors on vNextOrganizationServcie implementations for libs
* [PM-15506] Wire up vNextOrganizationService for web client (#12810)
PR to a feature branch, no need to review until this goes to main.
* implement vNextOrganization service for browser client (#12844)
PR to feature branch, no need for review yet.
* wire vNextOrganizationService for licence and some web router guards
* wire vNextOrganizationService in tests
* remove vNext notation for OrganizationService and related
* Merge branch 'main' into ac/pm-15506-vNextOrganizationService
* fix tsstrict error
* fix test, fix ts strict error
* Use typescript-strict-plugin to iteratively turn on strict
* Add strict testing to pipeline
Can be executed locally through either `npm run test:types` for full type checking including spec files, or `npx tsc-strict` for only tsconfig.json included files.
* turn on strict for scripts directory
* Use plugin for all tsconfigs in monorepo
vscode is capable of executing tsc with plugins, but uses the most relevant tsconfig to do so. If the plugin is not a part of that config, it is skipped and developers get no feedback of strict compile time issues. These updates remedy that at the cost of slightly more complex removal of the plugin when the time comes.
* remove plugin from configs that extend one that already has it
* Update workspace settings to honor strict plugin
* Apply strict-plugin to native message test runner
* Update vscode workspace to use root tsc version
* `./node_modules/.bin/update-strict-comments` 🤖
This is a one-time operation. All future files should adhere to strict type checking.
* Add fixme to `ts-strict-ignore` comments
* `update-strict-comments` 🤖
repeated for new merge files
* Changes for web impact by the policy
* Changes to address PR comments
* refactoring changes from pr comments
* Resolve the complex conditionals comment
* resolve the complex conditionals comment
* Resolve the pr comments on user layout
* revert on wanted change
* Refactor and move logic and template into its own component
* Move to a folder owned by the Billing team
* Initial comment
* Add changes for the create org with payment method
* Add the secrets manager trail flow
* Add the banners
* Add changes for the Disabled Org
* Add banner to payment method page
* Refactoring changes
* Resolve the bug on tha payment method
* Resolve lint error
* Resolve Pr comments
* resolve the lint issue
* Resolve the lint wrong file issue
* Rename object properly
* Resolve pr comments from sm team
* Resolve the pr comments from sm team
* Fix the failing test
* Resolve some issue with vault
* Resolve the comments from sm team
* Resolve some pr comments from vault team
* Resolve pr comments from auth team
* Exported ValidOrgParams enum
* Removed unnecessary interpolation
* Corrected bit-banner id for trial
* Resolve pr comments from auth team
* Resolve pr comments from auth team
* Removed unnecessary method
* Made OrganizationCreateRequest a subtype of OrganizationNoPaymentMethodCreateRequest
* Resolve review changes from sm
* Resolve review changes from dm
* Resolve the pr comments from billing
* move the free-trial to core
* Move free-trial change to right file
* Revert changes on the free trial page
* Resolve the comment on protected trial page
* Resolve the comment on protected trial page
* Revert the next async change
* resolve pr comment fro vault team
* resolve the default message comments
* remove unused method
* resolve email sending issue
* Fix the pop issue on payment method
* Fix some console errors
* Fix the pop refresh page
* move the trial services to billing folder
* resolve pr comments
* Resolve the import issues
* Move the observable up
* Resolve blank payment method for trialing org
* Changes to disable icon is removed onsubmit
* Remove unused references
* add a missing a period at the end of it
* resolve the reload issue
* Resolve the disable icon issue
* Fix the admin access bug
* Resolve the lint issue
* Fix the message incorrect format
* Formatting fixed
* Resolve the access issue of other users role
* Creating a landing page for SM, where user can request access from admins
* moving files to better folder, also fixing UI
* updating file paths
* cleaning up the code
* Updating API request to be the new one, and fixing HTML
* Adding coowners
* Updating OrganizaitonId in the request model to be a Guid
* Update apps/web/src/app/secrets-manager/secrets-manager-landing/request-sm-access.component.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
* Update apps/web/src/app/layouts/product-switcher/navigation-switcher/navigation-switcher.component.ts
Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>
* Update apps/web/src/app/layouts/product-switcher/navigation-switcher/navigation-switcher.component.ts
Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>
* Suggested changes from Maceij and Thomas
* fixing merge issues
* fixing issues
* Fixing logic to match top bar
* updating file name to not start with a capital letter
* renaming folder
* updating names
* Getting around the lint issue
* fixing lint issues
* Changes requested by Vicky
* Maciej suggested changes
* Fixing comments
* Update apps/web/src/app/secrets-manager/secrets-manager-landing/sm-landing-api.service.ts
Thomas's suggested improvement
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
* ui fixes
* New awesome changes, to include the scenario where a Provider user is logged in, and to handle if an admin needs instructions to enable SM for themselves
* renaming fuctions and variables
---------
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>
We currently duplicate some logic between our layouts. In an effort to streamline our experience I'm exploring if we can create a web specific layout that handles some of this.
* wait until a sync is complete to render the product switcher content
* refactor unneeded observables into their own variable
* do not show product switcher button until content is loaded
* use `ReplaySubject` to ensure that `syncCompleted$` last value is always used
* 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>
* Use account service to track accounts and active account
* Remove state service active account Observables.
* Add email verified to account service
* Do not store account info on logged out accounts
* Add account activity tracking to account service
* Use last account activity from account service
* migrate or replicate account service data
* Add `AccountActivityService` that handles storing account last active data
* Move active and next active user to account service
* Remove authenticated accounts from state object
* Fold account activity into account service
* Fix builds
* Fix desktop app switch
* Fix logging out non active user
* Expand helper to handle new authenticated accounts location
* Prefer view observable to tons of async pipes
* Fix `npm run test:types`
* Correct user activity sorting test
* Be more precise about log out messaging
* Fix dev compare errors
All stored values are serializable, the next step wasn't necessary and was erroring on some types that lack `toString`.
* If the account in unlocked on load of lock component, navigate away from lock screen
* Handle no users case for auth service statuses
* Specify account to switch to
* Filter active account out of inactive accounts
* Prefer constructor init
* Improve comparator
* Use helper methods internally
* Fixup component tests
* Clarify name
* Ensure accounts object has only valid userIds
* Capitalize const values
* Prefer descriptive, single-responsibility guards
* Update libs/common/src/state-migrations/migrate.ts
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
* Fix merge
* Add user Id validation
activity for undefined was being set, which was resulting in requests for the auth status of `"undefined"` (string) userId, due to key enumeration. These changes stop that at both locations, as well as account add for good measure.
---------
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
Refactors the feature flags in ConfigService to be type safe. It also moves the default value to a centralized location rather than the caller defining it. This ensures consistency across the various places they are used.
* 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>
Remove old compile flags which should no longer be required, and may even cause issues. secretsManager: false hides the app switcher which is now used for more than just secrets manager.