* [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 |
||
|---|---|---|
| .checkmarx | ||
| .claude | ||
| .codescene | ||
| .devcontainer | ||
| .github | ||
| .husky | ||
| .storybook | ||
| .vscode | ||
| apps | ||
| bitwarden_license | ||
| docs | ||
| libs | ||
| scripts | ||
| .browserslistrc | ||
| .editorconfig | ||
| .git-blame-ignore-revs | ||
| .gitattributes | ||
| .gitignore | ||
| .npmrc | ||
| .nvmrc | ||
| .nxignore | ||
| .prettierignore | ||
| .prettierrc.json | ||
| angular.json | ||
| babel.config.json | ||
| clients.code-workspace | ||
| CONTRIBUTING.md | ||
| eslint.config.mjs | ||
| jest.config.js | ||
| jest.preset.js | ||
| LICENSE_BITWARDEN.txt | ||
| LICENSE_GPL.txt | ||
| LICENSE.txt | ||
| lint-staged.config.mjs | ||
| nx.json | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| SECURITY.md | ||
| tailwind.config.js | ||
| tsconfig.base.json | ||
| tsconfig.eslint.json | ||
| tsconfig.json | ||
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.
Related projects:
- bitwarden/server: The core infrastructure backend (API, database, Docker, etc).
- bitwarden/ios: Bitwarden iOS Password Manager & Authenticator apps.
- bitwarden/android: Bitwarden Android Password Manager & Authenticator apps.
- bitwarden/directory-connector: A tool for syncing a directory (AD, LDAP, Azure, G Suite, Okta) to an organization.
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.