Updates the buttons available in the Access Intelligence "Applications" tab.
- The "Mark as critical" button appears when at least 1 row is selected in the table, and if all selected applications are already marked critical, changes to a "Mark as not critical" button. This functionality allows Admins to either bulk mark critical applications, or bulk unmark critical applications.
- "Assign tasks" has been moved into this tab view, and now is only enabled when there are critical ciphers found without assigned password change tasks. A tooltip appears when hovering on the disabled state, informing the Admin that all tasks have already been assigned.
* Enhance policy edit dialogs by updating dialog size to large for improved layout and switching to openDrawer method for better user experience.
* Enhance policy edit dialogs by adding policy status badges to indicate if a policy is enabled, improving user visibility and experience.
* Update dialog component styles to enhance drawer behavior by changing height to full screen and adding sticky footer for improved layout and user experience.
* Refactor policy display layout by wrapping buttons and badges in a flex container for improved alignment and spacing.
* Refactor password policy forms in admin console for improved layout
- Simplified the structure of form fields in `master-password.component.html` and `password-generator.component.html` by removing unnecessary div wrappers.
- Updated the label for the password type policy override in `messages.json` for clarity.
* Update dialog size in policy edit component for consistency
- Changed the dialog size from 'large' to 'default' in `policy-edit-dialog.component.html` to align with design standards.
* refactor(dialog): update dialog component styles for drawer layout
- Adjusted height class for drawer dialogs from 'tw-h-screen' to 'tw-h-full' for better layout management.
- Removed sticky positioning for footer in drawer mode to improve visual consistency.
* refactor(dialog): enhance form layout for policy edit dialogs
- Added classes for full height and flex column layout to the form elements in policy edit dialogs for improved visual consistency and usability.
Adds a "Select all" checkbox to the table in the Access Intelligence applications tab. This allows users to quickly select or deselect all applications currently showing in the table for marking as critical apps.
* [PM-31429] Add missing helper text for password protected Sends, remove unused one
* Put one UI change behind feature flag, add back required translations
* Reorder translation
* Add spaces
* Come full circle, remove last couple of committed changes
* feat(billing): update cart-summary logic
Add functionality to hide breakdown and allow translation params
* tests(cart-summary): update tests and stories
* feat(pricing): Add quantity support to discount labels
* feat(pricing): discount quantity story
* Revert "feat(pricing): discount quantity story"
This reverts commit 2c00891f1f.
* Revert "feat(pricing): Add quantity support to discount labels"
This reverts commit 8350fdd90f.
* fix(cart-summary): Adjust discount text styling
* feat(pricing): adds support for hidden discount amounts
Allows hiding the formatted amount for discounts in the cart summary.
This is useful for scenarios where the discount amount is displayed
elsewhere or is not relevant to the user.
Updates the storybook to include a story demonstrating this feature.
* feat(pricing): conditionally format currency amounts to show or hide decimals
* Revert "feat(pricing): adds support for hidden discount amounts"
This reverts commit 076724276c.
* Revert "fix(cart-summary): Adjust discount text styling"
This reverts commit d02c12fc2a.
* Revert "discount translation"
* feat(pricing): add credit type to cart summary
* feat(pricing-card): Add i18n and icon component infrastructure
* feat(pricing-card): Apply i18n pipe to pricing card template
* refactor(pricing-card): Replace `<i>` tags with `<bit-icon>` in template
* test(pricing-card): Update tests for i18n and icon component changes
* docs(pricing-card): Enhance Storybook and documentation for new features
* feat(pricing-card): Adds "per user" translation key
* refactor(pricing-card): use property binding for bit-icon name
* docs(pricing-card): expand price cadence options in MDX
* fix(icon): update exports for icon types
* feat(billing): Use strongly typed BitwardenIcon for pricing card buttons
* refactor(pricing): Remove unused I18nService from PricingCardComponent
* fix(pricing): Improve pricing card button icon template null-safety
* fix(pricing-card): format update
Clarifies the description of the `price` property within the PricingCard component documentation.
No functional code changes are included.
* refactor: Update discount label typography in cart summary
* refactor(stories): Rename account credit translation key to premium subscription credit
* feat(pricing-card): update spacing for card without button
- Renamed `activateAutofill` to `activateAutofillPolicy` in the policy order map and component.
- Updated corresponding translation keys in `messages.json` for consistency.
- Adjusted warning message in the `activate-autofill.component.html` to reflect the new naming convention.
* Update domain status message from "Under verification" to "Pending" in localization and adjust corresponding template reference
* Update domain status message from "Under verification" to "Pending" in the admin console template
* Add domain verification instructions to the admin console dialog
Enhanced the domain add/edit dialog by including detailed instructions for the automatic domain claim process when the domain is not verified. Removed the previous callout component for a more streamlined user experience.
* Add new localization messages for automatic domain claim process
Included detailed instructions for the automatic domain claim process, covering the steps for claiming a domain, account ownership change, and consequences of unclaimed domains. This enhances user guidance during domain management.
* Refactor automatic domain claim process localization messages
Updated localization keys for the automatic domain claim process to improve clarity and consistency. Removed redundant messages and streamlined the instructions displayed in the admin console dialog for better user experience.
* Fixes typo in messages.json from auto-fill to autofill to match company preference
* Strings have to be immutable as learned from Brandon. Trying to delete old key-value pair to see if that's possible
* Fix my typo
* PM-13632: Enable sign in with passkeys in the browser extension
* Refactor component + Icon fix
This commit refactors the login-via-webauthn commit as per @JaredSnider-Bitwarden suggestions. It also fixes an existing issue where Icons are not displayed properly on the web vault.
Remove old one.
Rename the file
Working refactor
Removed the icon from the component
Fixed icons not showing. Changed layout to be 'embedded'
* Add tracking links
* Update app.module.ts
* Remove default Icons on load
* Remove login.module.ts
* Add env changer to the passkey component
* Remove leftover dependencies
* PRF Unlock
Cleanup and testes
* Workaround prf type missing
* Fix any type
* Undo accidental cleanup to keep PR focused
* Undo accidental cleanup to keep PR focused
* Cleaned up public interface
* Use UserId type
* Typed UserId and improved isPrfUnlockAvailable
* Rename key and use zero challenge array
* logservice
* Cleanup rpId handling
* Refactor to separate component + icon
* Moved the prf unlock service impl.
* Fix broken test
* fix tests
* Use isChromium
* Update services.module.ts
* missing , in locales
* Update desktop-lock-component.service.ts
* Fix more desktoptests
* Expect a single UnlockOption from IdTokenResponse, but multiple from sync
* Missing s
* remove catches
* Use new control flow in unlock-via-prf.component.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
* Changed throw behaviour of unlockVaultWithPrf
* remove timeout comment
* refactired webauthm-prf-unlock.service internally
* WebAuthnPrfUnlockServiceAbstraction -> WebAuthnPrfUnlockService
* Fixed any and bad import
* Fix errors after merge
* Added missing PinServiceAbstraction
* Fixed format
* Removed @Inject()
* Fix broken tests after Inject removal
* Return userkey instead of setting it
* Used input/output signals
* removed duplicate MessageSender registration
* nit: Made import relative
* Disable onPush requirement because it would need refactoring the component
* Added feature flag (#17494)
* Fixed ById from main
* Import feature flag from file
* Add missing test providers for MasterPasswordLockComponent
Add WebAuthnPrfUnlockService and DialogService mocks to fix test failures
caused by UnlockViaPrfComponent dependencies.
---------
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
* Change send success page text to not mention email verification
* [PM-30706] replacing message and fixing double word bug
* [PM-30706] improving message parameters
---------
Co-authored-by: Alex Dragovich <46065570+itsadrago@users.noreply.github.com>
Co-authored-by: Alex Dragovich <adragovich@bitwarden.com>
* remove deprecated OrganizationDataOwnership components, promote vNext
* WIP: add new components and copy
* multi step dialog for organization- data ownership
* disable save
* clean up copy, fix bug
* copy change, update button text
* update copy
* un-rename model
* use policyApiService
* simplify style
* [PM-21774] Adjust icon and tooltip for protected Sends on the Sends list page
* [PM-21774] Update Sent table UI stories
* [PM-21774] Fix Send table UI story
* finalize new UI elements for archive/unarchive
* add tests
* add missing service
* add tests
* updates to edit and view pages
* use structureClone
* fix lint
* fix typo
* clean up return types
* fixes to archive UI
* fix tests
* use @if and userId$
* refactor(pricing): misc
- Remove unused test file
* refactor(pricing): discount-badge.component
- Introduce new Discount union type
- Introduce Maybe type helper for T | null | undefined
- Use Discount type in the discount-badge.component
- Update the user-subscription.component to pass Discount type into the discount-badge.component
- Update spec, stories and mdx
* refactor(pricing): pricing-card.component
- Support changeDetection: ChangeDetectionStrategy.OnPush
- Update spec and mdx files
* refactor(pricing): cart-summary.component
- Introduce new Cart type
- Use Cart type as main input in cart-summary.component
- Support optional custom header template in cart-summary.component
- Support optional cart-level Discount type in cart-summary.component
- Update upgrade-payment.component to pass in new Cart type to cart-summary.component
- Update spec file, stories and mdx file
* feat(subscription): misc
- Remove unused test file
- Update jest.config.js
- Add test.setup.ts
* feat(subscription): subscription-card.component
- Add BitwardenSubscription type
- Add subscription-card.component
- Add translations
- Add spec file, stories and MDX file
* feat(subscription): storage-card.component
- Add standalone Storage type
- Add storage-card.component
- Add spec file, stories and MDX file
* feat(subscription): additional-options-card.component
- Add additional-options-card.component
- Add spec file, stories and MDX file
* fix(pricing): cart-summary.component.stories.ts lint
* fix(pricing): discount-badge.component.stories.ts lint
* fix(web): Resolve estimatedTax$ toSignal for use in cart on upgrade-payment.component
* feedback(design): Fix design issues
* Kyle's feedback
* Kyle's feedback
* cleanup: Use SubscriptionStatuses instead of string values
* feat: Add CTA disabling input to storage-card.component
* feat: Add CTA disabling input to additional-options-card.component
* add callout to vault-items for non premium users, add upgrade premium flow
* add archive badge to item details only for desktop
* update desktop edit item save for unarchive
* updated success toast for edited archive item non premium