* Initial draft of a table data source
* Improve table data source
* Migrate projects table for demo
* Update existing tables
* Fix access selector
* remove sortDirection from custom fn
* a11y improvements
* update icons; make button full width
* update storybook docs
* apply code review changes
* fix: add table body to projects list
* Fix error on create secret. Fix project list setting projects on getter. Copy table data on set. Fix documentation
* Change signature to protected, rename method to not start with underscore
* add hover and focus effects
Co-authored-by: William Martin <contact@willmartian.com>
* rebase to master
* use bit-menu in product switcher; add focusStrategy to bit-menu
* recommit locales after rebase
* add light style to iconButton, use in product-switcher
* move out of component library
* add buttonType input
* gate behind sm flag
* update aria-label
* add role input to bit-menu
* style changes
* simplify partition logic
* split into two components for Storybook
* update focus styles; update grid sizing to relative
* fix underline on hover
* update attribute binding
* move to layouts dir
* add bitLink; update grid gap
* reorder loose components
* move orgs mock
* move a11y module
* fix aria role bug; add aria label to menu
* update colors
* update ring color
* simplify colors
* remove duplicate link module
* [CL-58] feat: add support for modyfing button types from directives
* [CL-58] feat: set button type secondary when used as prefix/suffix
* [CL-58] chore: add example using suffix to async actions story
* [CL-58] feat: update story with examples
* [CL-58] feat: allow buttons to have their style unset
* [CL-58] feat: move all styling into prefix/suffix
* [CL-58] fix: static content prefix/suffix
* [CL-58] fix: add missing bitFormButton to bitAction
* [CL-58] fix: disabled opacity not overriding correctly
* [CL-58] feat: change hover color to muted
* [CL-58] feat: replace undefined with unstyled
* [CL-58] fix: focus borders on input and prefix/suffix
* [CL-58] feat: update production code to use icon button correctly
* [CL-58] refactor: move out button type to common place
* [CL-58] fix: buttons not migrated correctly
* [CL-58] feat: use icon button in password toggle
* [CL-58] fix: remove button icon stories
* [SM-358] Migrate password toggles (#4129)
* [CL-58] fix: missing i18n service in story
* [CL-58] fix: missing bitIconButton directive in export comp
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
Co-authored-by: Thomas Rittson <trittson@bitwarden.com>
* 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>
* [EC-449] Added EventSystemUser Enum and added systemUser property to eventResponse
* [EC-449] Add systemUser property to BaseEventsComponent, EventExport and EventView
* [EC-449] Set EventSystemUser as string on EventExport
* [EC-449] Remove systemUser from EventExport
* [EC-449] Rename EventSystemUser file to lowercase
* [EC-449] Force git to rename EventSystemUser file
* [EC-449] Rename EventSystemUser file to event-system-user.ts
* [EC-449] Fix EventSystemUser reference on EventsComponent
* [EC-449] Move installationId username logic to BaseEventsComponent
* Update libs/common/src/enums/event-system-user.ts
Add a note to warn about using the Enum key in the UI.
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
* [EC-449] Remove EventSystemUser from provider events. Remove nested condition on events component
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
* [EC-8] Restructure Tabs (#3109)
* Cherry pick pending PR for tabs component [CL-17] Tabs - Routing
* Update organization tabs from 4 to 6
* Create initial 'Members' tab
* Create initial 'Groups' tab
* Add initial "Reporting" tab
* Use correct report label/layout by product type
* Create initial 'Billing' tab
* Breakup billing payment and billing history pages
* Cleanup org routing and nav permission service
* More org tab permission cleanup
* Refactor organization billing to use a module
* Refactor organization reporting to use module
* Cherry pick finished/merged tabs component [CL-17] Tabs - Router (#2952)
* This partially reverts commit 24bb775 to fix tracking of people.component.html rename.
* Fix people component file rename
* Recover lost member page changes
* Undo members component rename as it was causing difficult merge conflicts
* Fix member and group page container
* Remove unnecessary organization lookup
* [EC-8] Some PR suggestions
* [EC-8] Reuse user billing history for orgs
* [EC-8] Renamed user billing history component
* [EC-8] Repurpose payment method component
Update end user payment method component to be usable for organizations.
* [EC-8] Fix missing verify bank condition
* [EC-8] Remove org payment method component
* [EC-8] Use CL in payment method component
* [EC-8] Extend maxWidth Tailwind theme config
* [EC-8] Add lazy loading to org reports
* [EC-8] Add lazy loading to org billing
* [EC-8] Prettier
* [EC-8] Cleanup org reporting component redundancy
* [EC-8] Use different class for negative margin
* [EC-8] Make billing history component "dumb"
* Revert "[EC-8] Cleanup org reporting component redundancy"
This reverts commit eca337e89b.
* [EC-8] Create and export shared reports module
* [EC-8] Use shared reports module in orgs
* [EC-8] Use takeUntil pattern
* [EC-8] Move org reporting module out of old modules folder
* [EC-8] Move org billing module out of old modules folder
* [EC-8] Fix some remaining merge conflicts
* [EC-8] Move maxWidth into 'extend' key for Tailwind config
* [EC-8] Remove unused module
* [EC-8] Rename org report list component
* Prettier
Co-authored-by: Vincent Salucci <vincesalucci21@gmail.com>
* [EC-451] Org Admin Refresh Permissions Refactor (#3320)
* [EC-451] Update new org permissions for new tabs
* [EC-451] Remove redudant route guards
* [EC-451] Remove canAccessManageTab()
* [EC-451] Use canAccess* callbacks in org routing module
* Fix org api service refactor and linting after pulling in master
* Fix broken org people and group pages after merge
* [EC-18] Reporting side nav direction (#3420)
* [EC-18] Re-order side nav for org reports according to Figma
* [EC-18] Fix rxjs linter errors and redundant org flag
* [EC-526] Default to Event Logs page for Reporting Tab (#3470)
* [EC-526] Default to the Events Logs page when navigating to the Reporting tab
* [EC-526] Undo default routing redirect when the child path is missing. Avoids defaulting to "/events" in case a user/org doesn't have access to event logs.
* [EC-19] Update Organization Settings Page (#3251)
* [EC-19] Refactor existing organization settings components to its own module
* [EC-19] Move SSO page to settings tab
* [EC-19] Move Policies page to Settings tab
Refactor Policy components into its own module
* [EC-19] Move ImageSubscriptionHiddenComponent
* [EC-19] Lazy load org settings module
* [EC-19] Add SSO Id to SSO config view
* [EC-19] Remove SSO identfier from org info page
* [EC-19] Update org settings/policies to follow ADR-0011
* [EC-19] Update two-step login setup description
* [EC-19] Revert nested policy components folder
* [EC-19] Revert nested org setting components folder
* [EC-19] Remove left over image component
* [EC-19] Prettier
* [EC-19] Fix missing i18n
* [EC-19] Update SSO form to use CL
* [EC-19] Remove unused SSO input components
* [EC-19] Fix bad SSO locale identifier
* [EC-19] Fix import order linting
* [EC-19] Add explicit whitespace check for launch click directive
* [EC-19] Add restricted import paths to eslint config
* [EC-19] Tag deprecated field with Jira issue to cleanup in future release
* [EC-19] Remove out of date comment
* [EC-19] Move policy components to policies module
* [EC-19] Remove dityRequired validator
* [EC-19] Use explicit type for SSO config form
* [EC-19] Fix rxjs linter errors
* [EC-19] Fix RxJS eslint comments in org settings component
* [EC-19] Use explicit ControlsOf<T> helper for nested SSO form groups.
* [EC-19] Attribute source of ControlsOf<T> helper
* [EC-19] Fix missing settings side nav links
* [EC-19] Fix member/user language for policy modals
* [EC-551] Update Event Logs Client Column (#3572)
* [EC-551] Fix RxJS warnings
* [EC-551] Update page to use CL components and Tailwind classes
* [EC-551] Update Client column to use text instead of icon. Update language and i18n.
* [EC-14] Refactor vault filter (#3440)
* [EC-14] initial refactoring of vault filter
* [EC-14] return observable trees for all filters with head node
* [EC-14] Remove bindings on callbacks
* [EC-14] fix formatting on disabled orgs
* [EC-14] hide MyVault if personal org policy
* [EC-14] add check for single org policy
* [EC-14] add policies to org and change node constructor
* [EC-14] don't show options if personal vault policy
* [EC-14] default to all vaults
* [EC-14] add default selection to filters
* [EC-14] finish filter model callbacks
* [EC-14] finish filter functionality and begin cleaning up
* [EC-14] clean up old components and start on org vault
* [EC-14] loop through filters for presentation
* [EC-14] refactor VaultFilterService and put filter presentation data back into Vault Filter component. Remove VaultService
* [EC-14] begin refactoring org vault
* [EC-14] Refactor Vault Filter Service to use observables
* [EC-14] finish org vault filter
* [EC-14] fix vault model tests
* [EC-14] fix org service calls
* [EC-14] pull refactor out of shared code
* [EC-14] include head node for collections even if collections aren't loaded yet
* [EC-14] fix url params for vaults
* [EC-14] remove comments
* [EC-14] Remove unnecesary getter for org on vault filter
* [EC-14] fix linter
* [EC-14] fix prettier
* [EC-14] add deprecated methods to collection service for desktop and browser
* [EC-14] simplify cipher type node check
* [EC-14] add getters to vault filter model
* [EC-14] refactor how we build the filter list into methods
* [EC-14] add getters to build filter method
* [EC-14] remove param ids if false
* [EC-14] fix collapsing nodes
* [EC-14] add specific type to search placeholder
* [EC-14] remove extra constructor and comment from org vault filter
* [EC-14] extract subscription callback to methods
* [EC-14] Remove unecessary await
* [EC-14] Remove ternary operators while building org filter
* [EC-14] remove unnecessary deps array in vault filter service declaration
* [EC-14] consolidate new models into one file
* [EC-14] initialize nested observable inside of service
Signed-off-by: Jacob Fink <jfink@bitwarden.com>
* [EC-14] change how we load orgs into the vault filter and select the default filter
* [EC-14] remove get from getters name
* [EC-14] remove eslint-disable comment
* [EC-14] move vault filter service abstraction to angular folder and separate
* [EC-14] rename filter types and delete VaultFilterLabel
* [EC-14] remove changes to workspace file
* [EC-14] remove deprecated service from jslib module
* [EC-14] remove any remaining files from common code
* [EC-14] consolidate vault filter components into components folder
* [EC-14] simplify method call
* [EC-14] refactor the vault filter service
- orgs now have observable property
- BehaviorSubjects have been migrated to ReplaySubjects if they don't need starting value
- added unit tests
- fix small error when selecting org badge of personal vault
- renamed some properties
* [EC-14] replace mergeMap with switchMap in vault filter service
* [EC-14] early return to prevent nesting
* [EC-14] clean up filterCollections method
* [EC-14] use isDeleted helper in html
* [EC-14] add jsdoc comments to ServiceUtils
* [EC-14] fix linter
* [EC-14] use array.slice instead of setting length
* Update apps/web/src/app/vault/vault-filter/services/vault-filter.service.ts
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
* [EC-14] add missing high level jsdoc description
* [EC-14] fix storybook absolute imports
* [EC-14] delete vault-shared.module
* [EC-14] change search placeholder text to getter and add missing strings
* [EC-14] remove two way binding from search text in vault filter
* [EC-14] removed all binding from search text and just use input event
* [EC-14] remove async from apply vault filter
* [EC-14] remove circular observable calls in vault filter service
Co-authored-by: Thomas Rittson <eliykat@users.noreply.github.com>
* [EC-14] move collapsed nodes to vault filter section
* [EC-14] deconstruct filter section inside component
* [EC-14] fix merge conflicts and introduce refactored organization service to vault filter service
* [EC-14] remove mutation from filter builders
* [EC-14] fix styling on buildFolderTree
* [EC-14] remove leftover folder-filters reference and use ternary for collapse icon
* [EC-14] remove unecessary checks
* [EC-14] stop rebuilding filters when the organization changes
* [EC-14] Move subscription out of setter in vault filter section
* [EC-14] remove extra policy service methods from vault filter service
* [EC-14] remove new methods from old vault-filter.service
* [EC-14] Use vault filter service in vault components
* [EC-14] reload collections from vault now that we have vault filter service
* [EC-14] remove currentFilterCollections in vault filter component
* [EC-14] change VaultFilterType to more specific OrganizationFilter in organization-options
* [EC-14] include org check in isNodeSelected
* [EC-14] add getters to filter function, fix storybook, and add test for All Collections
* [EC-14] show org options even if there's a personal vault policy
* [EC-14] use !"AllCollections" instead of just !null
* [EC-14] Remove extra org Subject in vault filter service
* [EC-14] remove null check from vault search text
* [EC-14] replace store/build names with set/get. Remove extra call to setOrganizationFilter
* [EC-14] add take(1) to subscribe in test
* [EC-14] move init logic in org vault filter component to ngOnInit
* [EC-14] Fix linter
* [EC-14] revert change to vault filter model
* [EC-14] be specific about ignoring All Collections
* [EC-14] move observable init logic to beforeEach in test
* [EC-14] make buildAllFilters return something to reduce side effects
Signed-off-by: Jacob Fink <jfink@bitwarden.com>
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
Co-authored-by: Thomas Rittson <eliykat@users.noreply.github.com>
* [EC-97] Organization Billing Language / RxJS Warnings (#3688)
* [EC-97] Update copy to use the word members in a few places
* [EC-97] Cleanup RxJS warnings and unused properties in org billing components
* [EC-599] Access Selector Component (#3717)
* Add Access Selector Component and Stories
* Cherry pick FormSelectionList
* Fix some problems caused from cherry-pick
* Fix some Web module problems caused from cherry-pick
* Move AccessSelector out of the root components directory.
Move UserType pipe to AccessSelectorModule
* Fix broken member access selector story
* Add organization feature module
* Undo changes to messages.json
* Fix messages.json
* Remove redundant CommonModule
* [EC-599] Fix avatar/icon sizing
* [EC-599] Remove padding in permission column
* [EC-599] Make FormSelectionList operations immutable
* [EC-599] Integrate the multi-select component
* [EC-599] Handle readonly/access all edge cases
* [EC-599] Add initial unit tests
Also cleans up public interface for the AccessSelectorComponent. Fixes a bug found during unit test creation.
* [EC-599] Include item name in control labels
* [EC-599] Cleanup member email display
* [EC-599] Review suggestions
- Change PermissionMode to Enum
- Rename permControl to permissionControl to be more clear
- Rename FormSelectionList file to kebab case.
- Move permission row boolean logic to named function for readability
* [EC-599] Cleanup AccessSelectorComponent tests
- Clarify test states
- Add tests for column rendering
- Add tests for permission mode
- Add id to column headers for testing
- Fix small permissionControl bug found during testing
* [EC-599] Add FormSelectionList unit tests
* [EC-599] Fix unit test and linter
* [EC-599] Update Enums to Pascal case
* [EC-599] Undo change to Enum values
* [EC-7] fix: broken build
* [EC-646] Org Admin Vault Refresh November Release Prep (#3913)
* [EC-646] Remove links from Manage component
These links are no longer necessary as they are now located in the new OAVR tabs.
* [EC-646] Re-introduce the canAccessManageTab helper
* [EC-646] Re-introduce /manage route in Organization routing module
- Add the parent /manage route
- Add child routes for collections, people, and groups
* [EC-646] Adjust Org admin tabs
Re-introduce the Manage tab and remove Groups and Members tabs.
* [EC-646] Change Members title back to People
* [EC-646] Move missing billing components
Some billing components were in the org settings module and needed to be moved the org billing module
* [EC-646] Fix import file upload button
-Update to use click event handler and tailwind class to hide input. Avoids inline styles/js blocked by CSP
- Fix broken async pipe
* [EC-646] Fix groups and people page overflow
Remove the container and page-content wrapper as the pages are no longer on their own tab
* [EC-646] Change People to Members
Change the text regarding managing members from People to Members to more closely follow changes coming later in the OAVR. Also update the URL to use /manage/members
* [EC-646] Cherry-pick ae39afe to fix tab text color
* [EC-646] Fix org routing permissions helpers
- Add canAccessVaultTab helper
- Update canAccessOrgAdmin include check for vault tab access
- Simplify canManageCollections
* [EC-646] Fix Manage tab conditional logic
- Add *ngIf condition for rendering Manage tab
- Re-introduce dynamic route for Manage tab
* Revert "[EC-14] Refactor vault filter (#3440)" (#3926)
This reverts commit 4d83b81d82.
* Remove old reference to bit-submit-button that no longer exists (#3927)
* [EC-593] Top align event logs row content (#3813)
* [EC-593] Top align event log row contents
* [EC-593] Prevent event log timestamp from wrapping
* [EC-593] Add alignContent input to bitRow directive
* [EC-593] Remove ineffective inline styles (CSP)
* [EC-593] Remove templated tailwind classes
Tailwind minimizes the bundled stylesheet by removing classes that aren't used in code. Using a string template for the classes causes those classes to be ignored.
* [EC-593] Introduce alignContent input to table story
* [EC-657] Hide Billing History and Payment Method for selfhosted orgs (#3935)
Signed-off-by: Jacob Fink <jfink@bitwarden.com>
Co-authored-by: Vincent Salucci <vincesalucci21@gmail.com>
Co-authored-by: Andreas Coroiu <andreas.coroiu@gmail.com>
Co-authored-by: Jake Fink <jfink@bitwarden.com>
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
Co-authored-by: Thomas Rittson <eliykat@users.noreply.github.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
* Update imports
* Implement observables in a few places
* Add tests
* Get all clients working
* Use _destroy
* Address PR feedback
* Address PR feedback
* Address feedback
* Replace Permissions enum and helper methods with callbacks
* Remove scim feature flag
* Check if org has feature enabled as part of canManage checks
* Pin jest-mock-extended at v2.0.6 to fix compilation error
* Move Web's SharedModule to /app/shared/
This commit relocates `SharedModule` from `/app/modules` to `/app/shared` to
align with [ADR #11](https://adr.bitwarden.com/decisions/0011-angular-folder-structure)
All other changes are just to adjust imports that reference `SharedModule`.
* Move /modules/pipes to /shared/pipes
This commit relocates `PipesModule` from `/app/modules` to `/app/shared` to
align with [ADR #11](https://adr.bitwarden.com/decisions/0011-angular-folder-structure)
All other changes are just to adjust imports that reference `PipesModule`.
* Move LooseComponentsModule to /shared/
This commit relocates `LooseComponentsModule` from `/app/modules` to `/app/shared` to
align with [ADR #11](https://adr.bitwarden.com/decisions/0011-angular-folder-structure)
All other changes are just to adjust imports that reference `LooseComponentsModule`.
* Move VerticalStepperModule to /shared/
This commit relocates `VerticalStepperModule` from `/app/modules` to `/app/shared` to
align with [ADR #11](https://adr.bitwarden.com/decisions/0011-angular-folder-structure)
All other changes are just to adjust imports that reference `VerticalStepperModule`.
* Move TrialInitiationModule to /shared/
This commit relocates `TrialInitiationModule` & `RegisterFormModule` from `/app/modules` to `/app/shared` to
align with [ADR #11](https://adr.bitwarden.com/decisions/0011-angular-folder-structure)
All other changes are just to adjust imports that reference `TrialInitiationModule` or `RegisterFormModule`.
* Move /modules/organization to /organization
This commit relocates all modules in `/app/modules/organization` to `/app/organization` to
align with [ADR #11](https://adr.bitwarden.com/decisions/0011-angular-folder-structure)
All other changes are just to adjust imports that reference the moved modules.
* Move /modules/vault/ to /vault
This commit relocates the IndividualVaultModule to `/app/modules/vault`, and the OrganizationVaultModule to `/app/organization/vault` to
align with [ADR #11](https://adr.bitwarden.com/decisions/0011-angular-folder-structure)
All other changes are just to adjust imports that reference the moved modules.
* Move VaultFiltersModule to /vault
This commit relocates the `VaultFilterModule` to `/app/vault/vault-filter`, and the OrganizationVaultFilterComponent to `/app/organization/vault/vault-filter` to
align with [ADR #11](https://adr.bitwarden.com/decisions/0011-angular-folder-structure)
All other changes are just to adjust imports that reference the moved modules.
* Remove the /modules/ folder from desktop
This commit relocates the `VaultFilterModule` to `/app/vault/vault-filter`, and the OrganizationVaultFilterComponent to `/app/organization/vault/vault-filter` to
align with [ADR #11](https://adr.bitwarden.com/decisions/0011-angular-folder-structure)
All other changes are just to adjust imports that reference the moved modules.
* Move Libs' VaultFiltersComponent to /vault/
This commit moves the lib's logic for `VaultFiltersModule` from
`/modules/` to `/vault/`
All other changes are just to adjust imports that reference the moved
files.
* Rename VaultModule -> SharedVaultModule
* Rename IndividualVaultModule -> VaultModule
* Rename OrganizationVaultModule -> VaultModule
* Rename OrganizationVaultFilterComponent
Rename OrganizationVaultFilterComponent to VaultFilterComponent
* Seperate the two VaultFilterComponents
This commit seperate the `OrganizationVaultFilterComponent` from the `VaultFilerModule`, which is only used by the individual vault.
A `VaultFilterSharedModule` was created to declare shared components and provide shared services between the two implementations.
This was done to align with best practices for NgModules.
* [r] Move VerticalStepperModule to /account/
More specifically, /account/trial/
* [r] Declare PaymentComponent in LooseComponentsModule
`PaymentComponent` is not reused across domains and should not be
declared in `SharedModule`.
I've moved it to `LooseComponentsModule` for now, but later it will need
to be exported from a `SettingsModule`.
* [r] Declare TaxInfoComponent in LooseComponentsModule
* [r] Reloacte Pipes out of /shared/
* [r] Extract locales out of SharedModule
* [r] Add documentation to shared module
* [r] Cleanup imports
* [r] Use an index.ts file for /shared/
* [r] Add eslint rule restricting access to /shared/
Co-authored-by: Hinton <hinton@users.noreply.github.com>
* Added properties "userCount", "seats" and "plan" to ProviderOrganizationResponse
* Added text message "numberOfUsers"
* Updated provider clients component with new columns
* Removed never used dependency
* Changed userCount to non nullable number
* Added condition on the component to only show seats number if not null
* Changed view condition to an explicit check
* Changed policies dialog “enabled” checkboxes title to “Turn on”
* Changed policies “Enabled” badge text to “On”
* Moved master password reset policy up to 3rd row
* Changed the wording on the Single-Sign-On page
* Updated policies page content
* Master-password component now uses new title text
* Two-factor-auth component now uses new title text
* Updated personal-ownership model checkbox text
* Updated texts for send options policy
* Updated the single-sign-on policy description
* [refactor] Introduce a file download service
* [refactor] Point platformUtilsService.saveFile() callers to fileDownloadService.download() instead
* [refactor] Remove platformUtilsService.saveFile()
* [fix] Force send attachments to always download and never open
* [fix] Remove the window property from FileDownloadRequest
* [fix] Move FileDownloadRequest to /abstractions/fileDownload
* [fix] Simplify FileDownloadRequest to a type
* [fix] Move BrowserApi.saveFile logic into BrowserFileDownloadService
* [fix] Use proper blob types for file downloads
* [fix] forceDownload -> downloadMethod on FileDownloadRequest
* [fix] Remove fileType from FileDownloadRequest
* [fix] Make fileType private
* Ignore jest for workspaces without tests (for now)
* Add jest as recommended extension
* Set eslint and prettier file paths
We can't do this on a multi-folder workspace level because the
path depths are not identical between folders
* fix tsconfig extends for
* Simplify bitwarden-licensed web tsconfig
This tsconfig isn't needed to build, since we do that through webpack
and the web client. It's only needed as hints to IDEs
* Remove unintended change
* linter
* Add premium badge component (#1525)
* [Vault Refresh] Nav update and Options -> Preferences (#1530)
* Update jslib
* [End User Vault Refresh] Security sub-page (#1538)
* [End User Vault Refresh] Security section
* Updated routing module
* Update routing for change-password
* Updated buttons of all modified classes // imported button module
* Converted modified class to use bit-callout
* removed comments
* Update small button to current cl button
* Update jslib and consequential updates
* [End User Vault Refresh] Vault - remove Org and Provider cards (#1529)
* Update reports page (#1536)
* [End User Vault Refresh] Organizations - updated nav and route permissions (#1551)
* Add Organizations link to navbar
* Update route permissions and guards
* Use NavigationPermissionsService to unify route permissions
* Rename "My Vault" to "Vaults" (#1569)
* [euvr] Adjust Vault width based on card visibility (#1588)
* [SG-31 End User Vault Refresh] Account Menu updates (#1596)
* Add menuModule
* Use bit-menu for account menu
* Fix styling, replace CSS with TW
* Change out bootstrap styling
* Fix styling
* Fix styling
* Rename My Account to Account Settings
* WIP use Avatar for account menu
* Revert "WIP use Avatar for account menu"
This reverts commit d58bea4874d94d5cdf5a96f7047623b1e0c839b7.
* Update jslib from feature branch
* [End User Vault Refresh] SG-16: Organization filters (#1595)
* [feature] Base implementation of EUVR filter changes
* [refactor] Relocated vault-filters to app/modules
* [refactor] Reuse vault-filters component for organizations
* [refactor] Remove unused org filter component
* [bug] .gitmodules branch change
* [bug] Load organization filters after sync during login
* [refactor] Introduce a SharedModule
* [refactor] Created a home for loose components
* [refactor] Convert VaultComponent and OrgVaultComponent into a pair of modules
* [refactor] Implement <bit-menu> for organization filter actions
* [feature] Improve a11y standards of the vault filters module
* [bug] Recreate package-lock.json
* Fix build issue
* [bug] Remove duplicate this.go() call
* [fix] Use correct filter-buttons class
Co-authored-by: addison <addisonbeck1@gmail.com>
Co-authored-by: Hinton <oscar@oscarhinton.com>
* [SG-32] Add Ownership badge to vault items (#1623)
* [feature] Base implementation of EUVR filter changes
* [refactor] Relocated vault-filters to app/modules
* [refactor] Reuse vault-filters component for organizations
* [refactor] Remove unused org filter component
* [bug] .gitmodules branch change
* [bug] Load organization filters after sync during login
* [refactor] Introduce a SharedModule
* [refactor] Created a home for loose components
* [refactor] Convert VaultComponent and OrgVaultComponent into a pair of modules
* [refactor] Implement <bit-menu> for organization filter actions
* [feature] Improve a11y standards of the vault filters module
* [bug] Recreate package-lock.json
* Fix build issue
* [bug] Remove duplicate this.go() call
* Add organization owner badge to vault items
* Fix capitalization
* Re-organize new components into modules
* Use tailwind css class
Co-authored-by: addison <addisonbeck1@gmail.com>
Co-authored-by: Hinton <oscar@oscarhinton.com>
* [EUVR] Merge master into feature branch (#1637)
* Update jslib (#1602)
* Update jslib
* Update name of UserVerificationComponent
* Bumped version to 2.28.0 (#1603)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* [EC-161] Bump braintree (#1606)
* [PS-211] [PS-212] Make Generator page accessible (#1607)
* Fix grouping of radiobutton inputs
* Add role=radiogroup
* Add aria-labelledBy to radio button groups
* Add reorganization notice (#1610)
* Add aria attributes to password gen options (#1611)
* [EC-143] [BEEEP] Allow linking to ciphers (#1579)
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
* Fix login sponsorship redirect (#1620)
* Contribution Documentation edits (#1599)
Making corrections to the mobile contributions doc:
Update Crowdin contact from Kyle to dwbit.
Update 'User-to-User Support' forum category to 'Ask the Bitwarden Community'
* Add description for the A-Z & a-z items (#1615)
* Add description for reports message (#1600)
Add "Vault Health Reports can be used to evaluate the security of your Bitwarden Personal or Organization Vault" description to the source string, "Identify and close security gaps in your online accounts by clicking the reports below."
* [PS-301] Load OssModule from BitwardenLicense (#1626)
* Bumped version to 2.28.1 (#1629)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* [EC-154] [BEEEP] Remove factory providers in Angular DI (#1609)
* use InjectionTokens
* Use InitService
* PS-79 Updated two-factor component to to align to jslib change to send the deviceId on 2fa email resend code (#1624)
* [PS-74] Fix user authentication state checks (#1632)
* Update to use new authStatus method
* Delete unused services and import
* update jslib
* [PS-381] Fix locale being empty when not configuring a language (#1631)
* Forwarded email providers to username generator (#1628)
* forwarded emails
* firefox relay
* remove firefox relay
* update jslib ref
* remove dupe logService
* Update localization description for 'random' (#1633)
Adding description string for 'random'
* DEVOPS-758 - Move Web deploy from GitHub Pages to CloudFlare Pages (#1627)
* Update jslib
* Run npm i after merge with master
* Update name of UserVerificationComponent
* Fix lazy loading of routing modules
* Routing modules should have routing in their name
* Revert "Fix lazy loading of routing modules"
This reverts commit 59d4e6e06caf54692db8662fb4ed799dc2836dc3.
* Do not eagerly load feature modules
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Oscar Hinton <oscar@oscarhinton.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
Co-authored-by: dwbit <98768076+dwbit@users.noreply.github.com>
Co-authored-by: Federico Maccaroni <fedemkr@gmail.com>
Co-authored-by: Kyle Spearrin <kspearrin@users.noreply.github.com>
Co-authored-by: Vince Grassia <593223+vgrassia@users.noreply.github.com>
* Do not render org options menu until loaded (#1638)
* [SG-31 End User Vault Refresh] Update cipher options menu (#1593)
* Update Vault cipher option menus
* Update Send list to use same style
* [SG-207] [EUVR] Remove Organizations from Settings page (#1619)
* [fix] Cut off overflow text for link buttons (#1639)
* [SG-225] Remove BaseGuard (#1641)
* [SG-34 End User Vault Refresh] Organization Switcher (#1550)
* [euvr] Subscription/Billing updates (#1576)
* [euvr] Subscription changes
* Revert testing bang
* Removed final instance of getUserBilling
* Moved to feature/endUserVaultRefresh remote branch and updated to latest
* Removed org-billing changes
* Updated premium component header
* Updated stateservice path
* Updated billing component name
* Reverting org-billing decouple
* Using tailwind classes for CL objects
* Added TODO
* Removed divider for components within new tab nav
* Update jslib/add components to loose-components module
* Updated routing lazy load module name to match existing pattern
* Fixed bug with redirect // Added button type // Removed headers for tabbed pages
* Revert changes to .gitmodules
* [dep] Update jslib
Co-authored-by: Oscar Hinton <oscar@oscarhinton.com>
Co-authored-by: Vincent Salucci <26154748+vincentsalucci@users.noreply.github.com>
Co-authored-by: Vincent Salucci <vincesalucci21@gmail.com>
Co-authored-by: addison <addisonbeck1@gmail.com>
Co-authored-by: Robyn MacCallum <robyntmaccallum@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
Co-authored-by: dwbit <98768076+dwbit@users.noreply.github.com>
Co-authored-by: Federico Maccaroni <fedemkr@gmail.com>
Co-authored-by: Kyle Spearrin <kspearrin@users.noreply.github.com>
Co-authored-by: Vince Grassia <593223+vgrassia@users.noreply.github.com>
* Break form controls up into reusable components
* Add proper form styling, validation, inline error messages, etc
* Move control options into class instead of template
* Add accessibility
* [chore] updated services.module to use account services
* [refactor] sorted services provided by services.module
* [chore] removed references to deleted jslib services
* [chore] used activeAccount over storageService for account level storage items
* [chore] resolved linter warnings
* Refactor activeAccountService to stateService
* [bug] Remove uneeded calls to state service on logout
This was causing console erros on logout. Clearing of data is handled fully in dedicated services, clearing them in state afterwards is essentially a redundant call.
* [bug] Add back null locked callback to VaultTimeoutService
* Move call to get showUpdateKey
* [bug] Ensure HtmlStorageService does not override StateService options and locations
* [bug] Adjust theme logic to pull from the new storage locations
* [bug] Correct theme not sticking on refresh
* [bug] Add enableFullWidth to the account model
* [bug] fix theme option empty when light is selected
* [bug] init state on application start
* [bug] Reinit state when coming back from a lock
* [style] Fix lint complaints
* [bug] Clean state on logout
* [chore] Resolved merge issues
* [bug] Correct default for enableGravitars
* Bump angular to 12.
* Remove angular.json
* Bump rxjs
* Fix build errors, remove file-loader with asset/resource
* Use contenthash
* Bump jslib
* Bump ngx-toastr
* [chore] resolve issues from merge
* [chore] resolve issues from merge
* [bug] Add missing bracket
* Use newer import syntax
* [bug] Correct service orge
* [style] Fix lint complaints
* [chore] update jslib
* [review] Address code review
* [review] Address code review
* [review] Rename providerService to webProviderService
Co-authored-by: Robyn MacCallum <robyntmaccallum@gmail.com>
Co-authored-by: Hinton <oscar@oscarhinton.com>
* Test that Key Connector URL can be reached before saving
* Update jslib
* Add styling to validation messages
* Use inline button, fix styling
* Add accessibility call out to form validation
* Use rxjs first instead of unsubscribe
* Use rxjs first instead of unsubscribe
* Update jslib
* Update jslib
* Downgrade jslib to before breaking changes
* Fix CORS issue on in-line theming javascript
* Fix date picker icon color
* Add comment
* Fix table theming in dark mode
* Selfhosted navbar fix
* Rename selector to avoid clashing with bootstrap
* Do not set initial theme if default
* Fix .text-danger style in dropdown lists
* Fix toast style, restructure toast and card scss
* Fix table and dropdown list hover color
* Use callout component for Disable Send warning
* Remove unneeded theming for hovering over links
* Undo changes to register enterprise2 layout
* Apply theming to Safari input field icons
e.g. Caps lock, password autofill
* Selectively apply themed logo CSS
* Fix unrelated linting
* Fix webpack config to bundle theme.js
Co-authored-by: Danny Murphy <6512845+dltmurphy@users.noreply.github.com>
* Stylesheets
* Theme Configuration
* Options Area
* swal2 style
* Icon styling
* Fix theme not saving
* Update English
* Update messages.json
* dropdown and login logo
* btn-link and totp fix
* Organisation Styling
* Update webauthn-fallback.ts
* Fix contrast issues
* Add Paypal Container and Loading svg file
* Password Generator contrast fix
* Dark Mode Fix buttons and foreground
* Fix button hover
* Fix Styles after rebase
* Add hover on nav dropdown-item
* Disable Theme Preview
* Options Fix for Default Theme Changes
* Updated Colour Scheme
* Toast fix
* Button and Text Styling
* Options Update and Messages Fix
* Added Search Icon and Fixed Callout styling
* Add theme styling to Stripe
* Refactor logic for setting color
* Reorder logic to avoid race condition
* PayPal Loading and Misc Fix
* text-state bug fix
* Badge Colour Fix
* Remove PayPal Tagline
The colour cannot be styled so it's not visible on a dark theme
* Adding the Styling from #1131
* Update to New Design
* Form and Nav restyle
* Modal Opacity and Callout
* Nav Colours
* Missing Borders
* Light theme fix
* Improved border for listgroup
* Change Org Nav Colour
* Save theme to localStorage for persistence
* Undo change to Wired image
* !Important removal and tweaks
* Fix regression with navbar
* Light theme by default
* Refactor to use getEffectiveTheme
* Refactor theme constants to use enum
* Set theme in index.html before app loads
* Use scss selector to set logo image
* Export Sass to TS
* Update jslib
Co-authored-by: Thomas Rittson <trittson@bitwarden.com>