* Enhance layout responsiveness in vault components by adding flex properties to improve structure and ensure proper height management.
* Refactor vault component layout to rid of my changes
* Update apps/web/src/app/vault/individual-vault/vault.component.html
Co-authored-by: Jackson Engstrom <jengstrom@bitwarden.com>
---------
Co-authored-by: Jackson Engstrom <jengstrom@bitwarden.com>
The eslint rule now distinguishes between icon classes (bwi, bwi-lock, etc.)
and helper utility classes (bwi-fw, bwi-sm, bwi-lg, etc.) defined in the SCSS.
Helper classes like bwi-fw are legitimate utility classes that modify appearance
and can be used with bit-icon or other components without triggering warnings.
Updated the rule to maintain an allowlist of helper classes and only error when
actual icon classes are used directly.
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
* Add check and test for empty inputs into isValidRpId
* Ensure the origin's scheme is https
* Improve parsing and validation of rpId
* Move https requirement check further down as we accept http for localhost
* Add documentation
* Remove ts-strict-ignore
* ts-strict: Fix possibly null on parsedOrigin.hostname
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Fixing some tech debt before implementing actual fix of implementation
* Adding new components to handle the different routes for the integrations page to make use of bit-tab-nav-bar to follow background-fill UI spec
* Implement organization integrations page with routing and state management
- Added routing for organization integrations including device management, event management, single sign-on, and user provisioning.
- Created OrganizationIntegrationsState to manage integrations and organization data.
- Introduced OrganizationIntegrationsResolver for preloading organization and integration data.
- Updated components to utilize the new state management and resolver.
- Refactored integration routes to follow updated naming conventions.
* Refactor organization integrations components to use signals and observables; enhance async handling in templates and add debug logging
* Enhance organization integrations module with routing updates and state management improvements
- Added OrganizationIntegrationsState for better state management.
- Updated routing to redirect to single sign-on by default.
- Integrated OrganizationIntegrationsResolver for preloading data.
- Refactored components to utilize new state management and improved async handling.
* Refactor SingleSignOnComponent to remove OnInit lifecycle and debug logging
- Simplified SingleSignOnComponent by removing the OnInit implementation.
- Eliminated debug logging for integrations in ngOnInit.
- Cleaned up imports for better readability.
* Refactor WebHeaderComponent to simplify background handling
- Removed the useAltBackground input signal from WebHeaderComponent.
- Updated the HTML template to conditionally apply styles based solely on the child element count of the tabs container.
* Refactor organization integrations components for improved readability and performance
- Updated HTML templates to remove optional chaining for organization properties.
- Removed unnecessary debug logging and comments in the OrganizationIntegrationsResolver.
- Simplified DeviceManagementComponent by eliminating the OnInit lifecycle hook.
* Refactor organization integrations components to use direct state properties
- Updated components to access organization and integrations directly from state instead of using observables.
- Simplified HTML templates by removing async pipes and using direct function calls for better readability.
- Ensured consistent naming conventions for organization and integrations variables across components.
* Enhance WebHeaderComponent by adding bitTypography attribute to the title element for improved styling consistency
* Refactor organization state to use 'undefined' instead of 'null' for organization signal and remove OnInit lifecycle hook from UserProvisioningComponent for cleaner code.
* Refactor EventManagementComponent to remove OnInit lifecycle hook for cleaner code and improved readability.
* Update organization state to set organization value to 'undefined' when null is provided, enhancing state management consistency.
* Update WebHeaderComponent to allow optional title and icon inputs, enhancing flexibility in header configuration.
* Update WebHeaderComponent to allow account property to be nullable, improving type safety and handling of user data.
* follow existing popout guard pattern to force popout on firefox when filepicker is exposed
* move firefox guard to tools ownership & revert changes to auth owned file
* initial refactor to consolidate logic using file-picker-popout.guard
* remove safari from guard & disable forced popout in vault import
* enforce popout on Safari with test coverage
* use userAgent and consistent detection for platform detection
* refactor guard tests involving routes
* replace imports lost during merge
* remove text sends from popout requirement and update tests
* add tooltip and screen-reader text describing popout behavior
* fix(vault): preserve card brand when editing existing card
Fixes#16978
The brand field was not being restored when editing an existing card
cipher, causing it to show '--Select--' and potentially lose the brand
data when saving.
Added the brand field to initFromExistingCipher() to properly restore
the card brand when opening a card for editing.
Also updated the test to verify all card fields including brand, expMonth,
and expYear are properly initialized from existing cipher data.
* fix: add brand to OptionalInitialValues interface
Addresses review feedback from @jengstrom-bw in PR #18381.
The brand field was being used in card-details-section.component.ts
but wasn't defined in the OptionalInitialValues type, causing a
TypeScript compilation error.
Adds brand?: string; to the Credit Card Information section of
OptionalInitialValues in cipher-form-config.service.ts.
* test: add coverage for initFromExistingCipher brand logic
* [deps] Vault: Update @koa/router to v15
* update router imports from `@koa/router`
* remove `@types/koa__router` no longer needed with update to `@koa/router`
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>
Co-authored-by: Nick Krantz <nick@livefront.com>
* dynamically changes the allItems title from 'All items' to 'Search results' based on search text length
* updates logic and copy for changing the allItems header text
* changes how ciphers are displayed when a user has a search term and/or filters applied
* Update apps/browser/src/vault/popup/components/vault-v2/vault-v2.component.html
Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>
* refactors tests
---------
Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>
* update button api to accept icons
* use template outlet in button
* add link component
* create link component to handle anchors and buttons
* remove unnecessary let variables
* fix link focus state styling
* update link underline style
* fix broken skip link focus
* add focus method to link component
* fix typo
* fix off center loading state
* move flex styles to template to fix some minor style overrides
* remove unnecessary variables
* fix interaction states and add styles for test class to work properly
* refactor classes and make variable sreadonly
* fix classes not being applied correctly
* fix bad merge conflict resolution
* simplified button template
* adds bwi-plus-circle and bwi-minus-circle to Link SSO and Unlink SSO menu buttons
* fixes spacing for Leave organization option
---------
Co-authored-by: capenapplebw <capple@bitwarden.com>
* [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