Bitwarden client apps (web, browser extension, desktop, and cli). bitwarden.com
Go to file
Jared c3c5faf413
[PM-25627] convert policy dialogs to drawers (#20078)
* [PM-34804] Implement policy drawer feature for editing policies

* Added `openDrawer` method to `PolicyDialogComponent` and `MultiStepPolicyEditDialogComponent` to support opening dialogs in a drawer format.
* Updated `edit` method in `PoliciesComponent` to conditionally use the drawer based on the `PolicyDrawers` feature flag.
* Introduced `PolicyDrawers` feature flag in `feature-flag.enum.ts` to control the new drawer functionality.

* Enhance policy edit dialogs with drawer support

* Updated `policy-edit-dialog.component.html` and `multi-step-policy-edit-dialog.component.html` to conditionally apply full height class based on drawer state.
* Modified `PolicyEditDialogComponent` to include a host binding for full height when in drawer mode.

* Enhance MultiStepPolicyEditDialogComponent to support full height in drawer mode by adding a host binding for the full height class based on the dialog reference state.

* Enhance PoliciesComponent to manage dialog references and ensure proper cleanup on destroy. Added drawerRef to handle drawer state and close it when the component is destroyed.

* Refactor PoliciesComponent to change drawerRef from readonly to mutable, allowing for potential updates to the dialog reference during component lifecycle.

* Enhance PoliciesComponent tests to support async operations and add new test for drawer functionality. Update policy-edit-dialog components to remove deprecated host bindings. Adjust layout component styles for drawer container.

* Refactor layout component: Simplify drawer container markup by removing unnecessary grid styling.

* Refactor PoliciesComponent: Replace drawerRef with signal for improved state management and update cleanup logic on component destruction.

* Refactor policy edit dialog components: Simplify form markup by integrating dialog properties directly into the form tag and enhancing title template handling for improved readability and maintainability.

* Refactor loading indicator in policy edit dialog to use @if syntax for improved readability

* Refactor policy edit dialog to dynamically set title and subtitle based on current step content
2026-04-17 12:42:36 -04:00
.checkmarx Added devcontainer setup (devcontainer.json, docker-compose.yml, postCreateCommand.sh) (#18541) 2026-04-08 15:58:05 -04:00
.claude Add fix-angular-fixmes skill to resolve Angular FIXME migration comments (#19426) 2026-04-07 12:48:01 -04:00
.codescene disable code duplication check in unit tests (#6773) 2023-11-06 15:48:34 -05:00
.devcontainer Added devcontainer setup (devcontainer.json, docker-compose.yml, postCreateCommand.sh) (#18541) 2026-04-08 15:58:05 -04:00
.github Add dev tag to GHCR (#20234) 2026-04-17 14:35:47 +00:00
.husky Update husky hooks (#7738) 2024-01-30 06:50:54 -08:00
.storybook [CL-1023][CL-1031] Design system refresh: Milestone 1 (#19061) 2026-03-25 10:55:06 -05:00
.vscode chore: replace deprecated typescript.tsdk with js/ts.tsdk.path (#20146) 2026-04-14 09:16:10 -04:00
apps [PM-25627] convert policy dialogs to drawers (#20078) 2026-04-17 12:42:36 -04:00
bitwarden_license [PM-31438] Send unsaved edits dialog (#19425) 2026-04-17 09:50:05 -04:00
docs refactor(nx): remove unneeded tsconfig.build.json & adjust nx docs (#16864) 2025-10-14 11:07:23 -04:00
libs [PM-25627] convert policy dialogs to drawers (#20078) 2026-04-17 12:42:36 -04:00
scripts Add Windows variant of Rust env prepare script (#20061) 2026-04-14 15:00:33 -06:00
.browserslistrc [PM-6788][PM-7755] add babel/preset-env and browserslist (#9383) 2024-05-30 18:42:26 -04:00
.editorconfig Add support for migrated jslib (#2826) 2022-06-03 18:01:07 +02:00
.git-blame-ignore-revs add prettier formatting merge commit to .git-blame-ignore-revs (#7037) 2023-11-29 17:53:26 -05:00
.gitattributes Apply Prettier (#2238) 2021-12-21 15:43:35 +01:00
.gitignore Added devcontainer setup (devcontainer.json, docker-compose.yml, postCreateCommand.sh) (#18541) 2026-04-08 15:58:05 -04:00
.npmrc [PM-25911] Add commercial sdk internal as dependency (#16883) 2025-10-27 15:17:20 +01:00
.nvmrc [PM-22343] Bump non-cli to Node 22 (#15058) 2025-06-26 18:05:37 -04:00
.nxignore refactor(scheduling): extract @bitwarden/scheduling Nx leaf library (#19771) 2026-03-27 11:23:22 +00:00
.prettierignore chore(tech-debt): [PM-33963] Remove legacy Duo Web SDK v2 from desktop 2026-04-03 17:04:06 -04:00
.prettierrc.json Update CL documentation (#5379) 2023-05-08 14:46:59 +02:00
angular.json [CL-717][PM-27966] Update to Angular 20 and Storybook 9 (#17638) 2025-12-01 14:15:58 -05:00
babel.config.json [PM-6788] enable bugfixes in babel/preset-env (#9465) 2024-05-31 17:59:39 -04:00
clients.code-workspace Add Nx Console to vscode recommended extension list (#17683) 2025-11-27 07:47:01 +01:00
CONTRIBUTING.md Update README and CONTRIBUTING to point to contributing.bitwarden.com (#2771) 2022-06-13 17:34:07 +10:00
eslint.config.mjs enable jest/no-alias-methods (#20187) 2026-04-16 18:07:49 +02:00
jest.config.js refactor(scheduling): extract @bitwarden/scheduling Nx leaf library (#19771) 2026-03-27 11:23:22 +00:00
jest.preset.js feat(nx): add basic-lib generator for streamlined library creation (#14992) 2025-06-05 14:20:23 -04:00
LICENSE_BITWARDEN.txt Fix some references to master (#14578) 2025-05-01 07:18:09 -07:00
LICENSE_GPL.txt Prepare bitwarden_license directory (#2663) 2022-05-09 17:50:15 +02:00
LICENSE.txt Fix some references to master (#14578) 2025-05-01 07:18:09 -07:00
lint-staged.config.mjs Add Windows variant of Rust env prepare script (#20061) 2026-04-14 15:00:33 -06:00
nx.json feat(nx): add basic-lib generator for streamlined library creation (#14992) 2025-06-05 14:20:23 -04:00
package-lock.json [SM-1762] Bump Jest to 30.3.0 (#20211) 2026-04-17 17:48:29 +02:00
package.json [SM-1762] Bump Jest to 30.3.0 (#20211) 2026-04-17 17:48:29 +02:00
README.md Remove gitter chat badges from READMEs (#19368) 2026-03-04 16:33:27 +00:00
SECURITY.md Revise language on SECURITY.md 2022-03-15 15:39:14 -04:00
tailwind.config.js Billing/pm 23385 premium modal in web after registration (#16182) 2025-09-04 14:44:04 +00:00
tsconfig.base.json refactor(scheduling): extract @bitwarden/scheduling Nx leaf library (#19771) 2026-03-27 11:23:22 +00:00
tsconfig.eslint.json fix(eslint): extend tsconfig.base in tsconfig.eslint (#15082) 2025-06-05 11:08:03 -04:00
tsconfig.json [PM-32442] Enforce tsc-strict on desktop and CLI apps (#19058) 2026-02-24 09:20:44 +01:00

Bitwarden

GitHub Workflow browser build on main GitHub Workflow CLI build on main GitHub Workflow desktop build on main GitHub Workflow web build on main


Bitwarden Client Applications

This repository houses all Bitwarden client applications except the mobile applications (iOS | android).

Please refer to the Clients section of the Contributing Documentation for build instructions, recommended tooling, code style tips, and lots of other great information to get you started.

We're Hiring!

Interested in contributing in a big way? Consider joining our team! We're hiring for many positions. Please take a look at our Careers page to see what opportunities are currently open as well as what it's like to work at Bitwarden.

Contribute

Code contributions are welcome! Please commit any pull requests against the main branch. Learn more about how to contribute by reading the Contributing Guidelines. Check out the Contributing Documentation for how to get started with your first contribution.

Security audits and feedback are welcome. Please open an issue or email us privately if the report is sensitive in nature. You can read our security policy in the SECURITY.md file.