Commit Graph

149 Commits

Author SHA1 Message Date
bmbitwarden
336a243e27
PM-37696 resolved broswer popup when trying to close tab (#20861) 2026-05-28 12:38:00 -04:00
bmbitwarden
846c157d85
PM-37554 resolved double cancel issue (#20683) 2026-05-18 14:24:36 -04:00
Mike Amirault
cfc09ce51f
[PM-32586] Add readonly view to Send edit flow (#19688)
* [PM-32586] Add readonly view to Send edit flow

* Add back delete Send button removed in merge conflict resolution

* Design review changes

* [PM-33022] Add readonly Send view to browser extension (#19759)

* Return to readonly view on Send save in browser

* Address a couple display bugs

* Correct readonly and disabled states for the password field on view and edit respectively

* Fix bug preventing editing password field on new Sends

* Fix save button spinner

* Adjust Send edit drawer header text logic

* Correct header for browser and desktop clients

* Fix bug that cleared Send form, update Send edit drawer header text logic

* Fix locale file messages

* Fix lingering merge conflict issues, address QA bugs

* Fix Send form save button spinner in browser

* One compilation fix

* Add discard edits prompt when clicking cancel

* Fix extension back button behavior

* Fix locale files

* Fix tests

* Fix form bug when removing password, fix calculation of auth method hint text

* Fix one more bug, two design changes

* Fix file Send details bottom border on desktop

* Fix merge conflict miss

* Fix IN locale file

* Actually fix locale file

* Fix merge conflict problem

* Revert IN locale translation changes, tidy up other translation files

* I18n fix
2026-05-08 09:53:33 -04:00
bmbitwarden
36960ede07
PM-29781 removed feature flag and corresponding code (#20487) 2026-05-07 16:41:34 -04:00
John Harrington
f44e439f64
[PM-35354] Fix empty error toast when DisableHideEmail policy is not respected on browser (#20332)
* add missing i18n key, new i18n key, and rework policy detection

* ai review suggestions

* rephrase error message

* PR comments

* revert i18n removal in file that required it

* remove redundant i18n key from stash pop

* restore needed i18n keys
2026-04-29 13:27:10 -07:00
bmbitwarden
47e5d3af09
PM-35363 resolved stale child controllers (#20295)
* PM-35363 resolved stale child controllers

* Update default-send-form.service.ts
2026-04-21 13:45:27 -04:00
Bernd Schoolmann
7eb6fdc4a0
[PM-32784] Increase search service search performance by 50x and defer indexing (#19251)
* Make basic search fast

* Defer indexing

* Fix tests

* Handle admin console

* Clean up comment

* Add tests

* Always clear cipher index on edit

* Improve timeout behavior

* Extract lunr indexing and untangle logic

* Fix tests

* Undo change

* Cleanup

* Cleanup and typing issues

* Fix

* Fix build

* Prettier and eslint

* Fix

* Fix type errors and tests

* Rewrite lunr search index

* Fix tests

* Fix issues

* Add comment

* Cleanup

* Fix old usage

* Cleanup

* Apply feedback

* Prettier

* Fix typos

* Break lock in case lock was not released

* Move is archived and is trash to callers

* Prettier

* Apply cli archive and trash filter

---------

Co-authored-by: JaredScar <thewolfbadger@gmail.com>
2026-04-21 23:27:01 +09:00
Mike Amirault
2fcb781b99
[PM-35335] Fix bug making discard edits dialog show on navigate after Send creation (#20267) 2026-04-20 13:08:16 -04:00
Mike Amirault
f9e98d8611
[PM-31438] Send unsaved edits dialog (#19425)
* [PM-31438] Add save edits dialog to web vault Send page

* Fix Access Intelligence component

* Match design spec, address PR comment

* Fix lint problem

* Lots of lint fixes

* Test fix, add change lost during merge conflict

* Change close methods return type to DialogCloseRef

* Fix Dialog types

* One more type fix

* Address QA findings, fix problems from merge

* A couple of build fixes

* Address AI review comments

* Fix desktop build and lint
2026-04-17 09:50:05 -04:00
Bryan Cunningham
90369fd755
[CL-1033] Migrate tools CTAs to new icon API (#19485) 2026-04-16 18:12:38 -04:00
bmbitwarden
c7eb6a6813
PM-33905 resolved plaholder text issue (#19862)
* PM-33905 resolved plaholder text issue

* PM-33905 resolved build error issue
2026-04-16 12:59:16 -04:00
John Harrington
3f39b88b4c
[PM-31885] Consolidate all Send policies to a single policy (#19314) 2026-03-31 13:57:01 -07:00
Will Martin
d763590ce6
[CL-1023][CL-1031] Design system refresh: Milestone 1 (#19061)
* [CL-1009] button style updates (#18301)

* add new button styles

* update disabled styles

* updated size stories

* update disabled button story names

* updated button stories

* add more explicit screenshots

* make class list a computed signal

* updated button docs

* allow unstyled button to inherit color

* use unstyled button in callouts until callout updates

* base button directive WIP

* add base button directive

* fix focus and hover styles

* fix lint error

* remove commented code that moved to base directive

* ensure buttonStype defaults correctly

* migrate legacy icon button types

* contrast button wips

* pull in latest and fix disabled with attr

* fix legacy variant

* add back nav contrast button variant

* updated icon button docs

* rename nav contrast variant and fix contrast focus

* fix button sizing

* fix product switcher button classes

* add contrast icon button story

* fix border color

* update to primaryGhost variant

* [CL-1025] icon font refresh (#18727)

* adding new icons

* migrate to new icon names

* updated icon build docs

* resolve conflicts and re-run migration

* add icons deps to uif ownership

* fix incorrect migration

* fix misnamed icon

* create filter icon and fix mapping error

* updated readme and add migration script to package.json

* fix prettier warnings

* remove browser alt from definition list

* add missing icon types

* fix image name migrated in error and update regex to not change these

* ensure icon array is updated automatically

* updated build comment

* remove unnecessary direct execution command

* remove direct run command

* allow legacy icon names to map to new icons

* [CL-1025] Icon font refresh - Temporary migration state with legacy names (#18948)

* Revert icon name migrations, preserve migration tooling

Reverted all icon name changes that were applied by the migration scripts,
while preserving:
- New icon SVG files in libs/assets/src/material-icons/
- Icon font files in libs/angular/src/scss/bwicons/
- Migration scripts in scripts/material-icons/
- NPM scripts and dependencies for icon tooling

This allows running the migration fresh when ready.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* Build icon font with bidirectional legacy/new name mapping

Ran icons:build to generate bidirectional icon mappings:
- SCSS now includes 155 icons (both Figma and legacy BWI names)
- TypeScript icon.ts updated with all 155 names
- All legacy names (e.g., bwi-question-circle, bwi-plus) point to new icon assets
- All new names (e.g., bwi-help, bwi-add) also available
- Codebase can continue using legacy names with new icon designs

This enables the temporary migration state where code uses existing
legacy icon names but displays the new refreshed icon assets.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* Fix: revert bwi-filter back to bwi-grid across codebase

bwi-grid is the correct new icon name and should not be reverted.
The changes from bwi-filter to bwi-grid were manual corrections,
not part of the automated migration.

Updated 16 files to restore bwi-grid icon references.

Addresses feedback from Bryan Cunningham on PR #18948

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>

* remove duplicate key and add back dep ownership change

* fix formatting errors

---------

Co-authored-by: Will Martin <contact@willmartian.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>

* fix button variant

* [CL-1040] updated palette colors (#19401)

* [CL-973] chip component (#18798)

* wip

* WIP

* create chip filter component

* trying to get truncation to work

* fix truncation

* create chip-action component

* fix type errors

* add chip component

* add shared story args

* have chips take label input

* fix test template and imports

* fixing arg types and disabled states

* simplify disabled logic

* fix dimssis button alignment

* update menu focus color

* updated chip docs

* update chip-select usage to chip-filter

* fix full width icon layout

* remove commited code

* export chip component

* remove commented code

* expose full width

* chip component should not go full width

* use bit-icon in filter template

* remove commented code

* updated chip docs

* remove extra truncate class

* fix dupe input definitions

* move import to correct line

* read base chip values directly

* remove standlaone as it's the default

* forward size correctly

* create full width arg type

* let type be infered

* updated jsdoc comments

* use more modern angular syntax

* rename components to use kebab case

* remove redundant docs

* remove inaccurate link docs

* remove enum like types

* remove dead code

* remove unused spec

* remove host bindings

* restructure chips folders

* add max width class

* remove full width docs

* add internal comment

* bind to missing controls

* fixing docs

* replace disabled verbiage with inactive

* remove unnecessary comment

* default to primary

* do not allow end icon in action chip

* take chip action screenshots in both themes

* use selected input for base directive

* fix width error

* coerce to boolean

* fixed end icon reference

* fix code reference to endIcon

* fixing chip filter specs

* fix missing input transform

* fix docs

* fix input and add truncate

* ensure chip content truncates

* updated slot naming

* updated example to use new flow control

* fix typing for option.icon

* fix failing test, fix filter type, and support colored icons in filter options

* fix failing test

* doc updates

* change dismissed event name

* remove standalone

* fix selector

* fix docs

* remove unused fvw data property and fix docs links

* use base as host directive in chip

* fix spec button selectors

* fix duplicate class binding

* fix incorrect variant resolution

* handle undefined size

* fix signal type

* remove duplicate input

* fix failing spec

* updated styles for trailing icon spacing and font size

* padding tweaks for visual design

* make variant a writable model

* use logical text align

* update slot names

* remove dismissible input

* add back missing import

* remove ability to set chip filter to small size

* create size arg type

---------

Co-authored-by: Vicki League <vleague@bitwarden.com>

* [CL-987] Update Nav Group and Nav Item components (#18965)

* updated side nav `nav-group` and `nav-item` components

* - added focus states
- set cursor pointer for nav-item
- updated arrow orientations

* - updated `navItemIndentationPadding`
- reverted `[treeDepth]` for `nav-group`
- removed placeholder arrow

* - removed text style from starting slot container
- fixed routes in story

* created shared container classes var

* fixes from rebase, override `border-radius` for collapse arrow button

* updated `tw-theme`: reverted `--color-bg-hover` and added `--color-bg-sidenav-hover`

* removed end slot `div` styles from rebase, updated `buttonType` in `nav-group` story

* added dark mode `--color-bg-sidenav-hover`

* added `xsmall` size variant to 'Icon Button'

* - updated navs to use 'xsmall' button
- fixed container padding
- removed custom arrow button styles

* fixed type error

* fixed focus-visible state by adding `tw-outline-none` to `nav-item`

* fixed type error

* placed arrow button directly in start slot

* defined `containerClasses` in template

* renamed 'item-active-hover' to 'active-item-hover' for consistency

* missed renaming from `item-active-hover` to `active-item-hover`

* fixed 'hover' and 'active' colors, added colors for arrow hover states

* - separated buttons sizes for 'Button' and 'Icon Button' from `BaseButtonDirective` into respective components
- moved `border-radius` style from Directive into own components

* fixed/simplified focus colors, added sidenav specific focus colors

* updated 'arrow' icon size for nav group, updated 'xsmall' font size

* trigger Claude review

* removed `tw-text-2xl` in nav-group for arrow button

* removed unused `NgClass` import

* more cleanup, removed unused `Ng` imports

* converted `_isActive` to signal and `showActiveStyles` to computed

* removed instances of `variant="tree"`

* renamed color variables from `admin-sidenav` to `sidenav-secondary`

---------

Co-authored-by: Will Martin <contact@willmartian.com>

* fix lint

* [CL-1096] Fix icon button width shrinking in flex containers (#19529)

Add tw-shrink-0 to prevent icon buttons from shrinking below their
fixed size when placed inside flex containers.

* [CL-1101] Fix chip dismiss button hover style and add interaction state stories (#19530)

Use the correct bg-bg-hover token for dismiss button hover background, matching
the Figma spec. The previous hover-contrast token was invisible on light backgrounds.
Add InteractionStates story showing Default, Hover, Focus, and Inactive states
for both large and small sizes.

* [CL-1098] Fix danger icon button color in form field suffix (#19532)

* [CL] Fix danger icon button color in form field suffix

Don't apply tw-text-muted to icon button suffixes — icon buttons manage
their own text color via buttonType, so the muted class was overriding
danger/primary colors (e.g. blue icon on red background in Cipher Form).

* [CL] Fix danger icon button color in form field suffix

Don't apply tw-text-muted to icon button suffixes — icon buttons manage
their own text color via buttonType, so the muted class was overriding
danger/primary colors (e.g. blue icon on red background in Cipher Form).

Also adds a DangerButtonInputGroup story to capture this case.

* [CL-1094] Update icon button default variant to primaryGhost (#19534)

* [CL-1094] Update icon button default variant to primaryGhost

Change buttonType from input to model in BaseButtonDirective, and set
the default to primaryGhost in the icon button constructor.

* [CL-1094] Fix icon button default variant using own input + effect

Using model.set() in the constructor is overridden by Angular's input
initialization lifecycle. Instead, own buttonType as an input directly
on BitIconButtonComponent with primaryGhost as the default, and sync to
the base directive via effect.

* [CL-959] update badge component styles (#19026)

* badge wip

* dynamic truncated badge tooltip

* support legacy variants for now

* add deprecation types and remove hover styles

* updated story docs

* add default icons for badges

* fix incorrect color mapping

* add ability to hide start icon

* take snapshot in both themes

* add icon size styles

* remove tooltip code

* update at risk password to use actual buttons

* more specific badge truncation docs

* remove badge module from imports

* use chip action for link

* fix missing import

* use chip in multi-select inputs

* update org badge to use primary chip

* update premium badge to accent primary action chip

* use chip action for vault item fill

* remove unnecessary icon in badge

* update obsolete notification variant

* replace usage of bitBadge on button in stories

* remove explicit input to hide startIcon

* use berry instead of badge

* fix type error

* fixing imports and badge usage

* use logical text align

* remove dead code and update jsdoc comment

* add back ability to not truncate

* remove default icon for accent-primary

* add missing translation keys to multi select story

* allow null as default icon type

* add element selector and update stories to use it

* conditionally apply truncate class

* conditionally apply title text

* migrate badge to berry

* use correct input for content

* use berry in toggle group stories

* remove unused template reference

* remove unused import of badge

* remove unused custom color code

* remove unused service injection

* [CL-1102] Fix help icon size in bit-label (#19533)

* [CL-1102] Fix help icon size in bit-label

Target bwi icons inside bit-label with [&_.bwi]:tw-text-xl to restore
correct icon sizing after recent icon style changes.

* [CL-1102] Fix text alignment regression in bit-label

Add tw-leading-none to bwi icons to prevent the line-height from
tw-text-xl from disrupting baseline alignment.

* remove bwi-sm from label icon

---------

Co-authored-by: Bryan Cunningham <bryan.cunningham@me.com>

* [CL-964] Update Callout Component (#19424)

* updated callout component

* renamed consumer bit-callout `type` from 'default' to 'subtle'

* updated callout 'end' slot

* migrated spotlight to callout, deleted spotlight

* - updated `title` comment
- updated stories and mdx

* removed `useAlertRole`

* added `CommonModule` import and updated `buttonType` in stories

* updated 'Accessibility' guidelines

* updated 'close' button

* - updated stories for clearer code
- set `(onDismiss)` only for WithCloseButton story

* added boolean switch for `persistent` to story

* fixed tests

* prettier fix

* - updated `bit-callout` instances of `buttonType="unstyled"` to use appropriate `buttonType`
- updated story for correct usage of button styles

* fixed `type` in `vault-list`

* updated to use `bit-icon`

* - fixed vertical centering of icon and text
- updated to 'OnPush' change detection

* fixed error: added 'close' to `mockLayoutI18n`

* updated `bit-callout` jsdoc comment and mdx

* fixed `persistent` callout in `admin-settings`

* removed "interrupt" language

* reverted fix for `bit-callout` `persistent`

* fixed type error

* added `close` translation to stories utilizing `bit-callout`

* converted to JSDoc comments

* updated 'close' button to check if `dismiss` output is bound

* fix: removed `readonly` from `isDismissible`

* converted `isDismissble` to signal

* added translation to `phishing-warning' story

* added bottom margin back in to callout component

* fixed type error,  fixed `icon` values

* revert subscription-card callout icon to default if not defined

* fix: update 'bit-callout' type to 'subtle'

* updated colors in `tw-theme`

* added conditional check to compute vertical alignment class

* updated more colors, slight restructure to match design

* fixed vertical alignment with 'close button', avoid long text crowding/overflowing

* remove default icons on non-semantic variants (#19614)

* remove default icons on non-semantic variants

* add back info icon to info variant

* remove info icon again

* [CL-1095] add expanded state for disclosure button (#19637)

* add brand stronger colors

* add aria-expanded styling for primary ghost button

* make all variants aria-expanded style match hover styles

* update orage-600 color value to fix contrast

* minor spacing update to account for expanded button style

* do not show expanded state on sidenav buttons

* no expanded style on toggle width button

* remove extra letter spacing and update story copy (#19668)

* [CL-1123] fix ghost button inactive styles (#19669)

* fix ghost button inactive styles

* remove type declaration

* [CL-1119] toggle berry update (#19609)

* update toggle groups to use berry

* set berry variant based on selected state

* fix failing spec

* add spec to test berry variant set correctly

* fix import errors caused by bad merge conflict resolution

* remove unnecessary variant delaration

* update kitchen sink stories to use berry

* [CL-1122] BUG FIX: Migrated Icon Buttons with button type 'danger' to 'dangerGhost' (#19677)

* migrated `bitIconButton` with 'danger' `buttonType` to 'dangerGhost'

* reverted icon-button story

* fix button variant from merge

* [CL-1117] BUG FIX: Side nav collapse arrow is placed too far left (#19623)

* - updated spacing for side-nav collapse arrow button
- updated collapsed nav-item button spacing and dimensions
- moved individual nav-item wrapper padding into side-nav component
- added button to 'WithLongText' nav-item story

* added sidenav specific hover style to toggle collapse button

* - set horizontal padding back to 'nav-item'
- updated 'bit-divider' color to 'bg-border-brand'

* updated hover styles for interactive trailing elements

* added '4px' more end padding to trailing buttons

* updated 'bit-divider' colors for secondary and dark theme

* moved button hover styles into 'side-nav' button variant

* updated sidenav-divider color for dark theme

* removed `tw-w-10` on nav-item collapsed

* updated inline padding to `12px` for both collapse and expanded states

* [CL-1117] cleaned up, renamed, and organized sidenav color variables (#19665)

* - unified 'strong' styles and `showActiveStyles` into `[style]`
- updated 'side-nav' button variant's `aria-expanded` and `focus-visible` styles

* - inherit bg and fg from parent `sidenav`
- allow trailing buttons set own fg

* updated nav group story for trailing elements

* updated nav-logo 'focus' to nav focus style

* let toggle width arrow inherit 'aria-expanded' style from 'side-nav' buttontype

* removed danger button variants from nav group story

---------

Co-authored-by: Bryan Cunningham <bcunningham@bitwarden.com>
Co-authored-by: Vicki League <vleague@bitwarden.com>
Co-authored-by: Leslie Xiong <lxiong@livefront.com>
2026-03-25 10:55:06 -05:00
bmbitwarden
8a1e0fa950
PM-31767 resend feature (#19136)
* PM-31767 resend feature

* PM-31767 resolved auto send issue

* PM-31767 resolved type lint issue

* PM-31767 refactored feature to use toast instead

* PM-31787 refactored for recent change requests

* PM-31787 resolved lint issues

* PM-31767 made new translation key for lower case resend code

* PM-31767 resolved receipt redesign requests

* PM-31767 resolved pr comment

* PM-31767 changed text string

* PM-31767 resolve type error
2026-03-23 12:55:36 -04:00
bmbitwarden
099a8fa45e
PM-31418 implemented password generator inside drawer (#19521)
* PM-31418 implemented password generator inside drawer

* PM-31418 resolved pr comment

* PM-31418 resolved layout of save and cancel buttons

* PM-31418 restore password generator menu in browser
2026-03-23 09:16:22 -04:00
Mike Amirault
49e5f0a8c8
[PM-32160] Use shared Send List component in web (#19454)
* [PM-32160] Use shared Send List component in web

* Address AI review comments

* Surface errors on delete and remove password failures
2026-03-19 16:48:58 -04:00
John Harrington
4c9965a75f
[PM-33232] Update UX implemented in PM-33219 to resolve VULN-458 (#19514)
* send AuthType in request payload and allow empty email field

* re-introduce validation enforcing non-empty email field
2026-03-19 13:36:32 -07:00
Will Martin
34a4970527
Fix readonly lint errors in SendGeneratorDialogComponent (#19480)
Convert mutable class properties to readonly, using signals for
buttonLabel and generatedValue to satisfy the enforce-readonly-angular-properties rule.
2026-03-11 09:46:54 -04:00
bmbitwarden
8108a09701
PM-31202 implmeneted password modal menu (#18829)
* PM-31202 implmeneted password modal menu

* PM-31202 resolved lint issues

* PM-31202 included password generator inside navigation container for browser

* PM-31202 resolved lint issue

* PM-31202 resolved pr comments

---------

Co-authored-by: John Harrington <84741727+harr1424@users.noreply.github.com>
2026-03-10 19:26:49 -04:00
Will Martin
5e90565a79
[CL-1063] add enforce-readonly-angular-properties ESLint rule (#19201)
* Add enforce-readonly-angular-properties ESLint rule
2026-03-09 10:26:42 -07:00
John Harrington
8f75045d76
[PM-32466] Icons on the send page are not announced by the screen reader (#19268)
* hide aria on i elements and add companion sr elements

* move sr-only inside of button element
2026-03-02 08:15:39 -07:00
bmbitwarden
702e6086b9
PM-30876 resolved screenreader for icons on send table rows (#18940)
* PM-30876 resolved screenreader for icons on send table rows

* PM-30876 resolved grey icon issue

* PM-30876 resolved blank underline issue

* PM-30876 resolved screen reader

* PM-30876 resolved screen reader
2026-02-19 19:26:18 -05:00
John Harrington
263ec94124
[PM-32161] Remove all emails when email list field is cleared and send is saved (#18959)
* add new validation criteria to prevent authType.Email with an empty emails field

* simplify validation logic
2026-02-18 14:59:34 -07:00
bmbitwarden
ef786225c9
PM-18607 reimplemented errorOnUnknownProperties (#18922)
Some checks failed
Chromatic / Check PR run (push) Has been cancelled
Scan / Check PR run (push) Has been cancelled
Testing / Run typechecking (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-browser junit:junit-browser.xml name:Browser paths:apps/browser bitwarden_license/bit-browser]) (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-cli junit:junit-cli.xml name:CLI paths:apps/cli bitwarden_license/bit-cli]) (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-desktop junit:junit-desktop.xml name:Desktop paths:apps/desktop]) (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-libs junit:junit-libs.xml name:Libs paths:libs bitwarden_license/bit-common]) (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-web junit:junit-web.xml name:Web paths:apps/web bitwarden_license/bit-web]) (push) Has been cancelled
Testing / Run Rust tests on ${{ matrix.os }} (macos-14) (push) Has been cancelled
Testing / Run Rust tests on ${{ matrix.os }} (ubuntu-22.04) (push) Has been cancelled
Testing / Run Rust tests on ${{ matrix.os }} (windows-2022) (push) Has been cancelled
Testing / Rust Coverage (push) Has been cancelled
Chromatic / Chromatic (push) Has been cancelled
Scan / Checkmarx (push) Has been cancelled
Scan / Sonar (push) Has been cancelled
Testing / Upload to Codecov (push) Has been cancelled
Testing / Run tests (push) Has been cancelled
* PM-18607 reimplemented errorOnUnknownProperties

* claude review

* claude review

---------

Co-authored-by: John Harrington <84741727+harr1424@users.noreply.github.com>
2026-02-16 19:37:36 -05:00
John Harrington
bd9734c14c
reorder form fields to match design specs (#18964) 2026-02-13 14:14:06 -07:00
John Harrington
f8976f992a
[PM-31611] [Defect] After entering an email, the Anyone with the link option cannot be selected anymore (#18844)
* add authType to to sendDetailsForm valueChanges
2026-02-11 13:37:20 -07:00
Mike Amirault
eb402a7ee8
[PM-30881] Add lock icon to browser Sends list for protected Sends (#18635)
* [PM-30881] Add lock icon to browser Sends list for protected Sends

* Trigger AI PR review

* [PM-30881] Add missing i18n key to browser file
2026-02-06 10:42:16 -05:00
Oscar Hinton
ad523179bf
[PM-30677] Convert SendSearchComponent to OnPush (#18322)
Converts SendSearchComponent to use OnPush change detection.
2026-02-05 22:03:42 +01:00
Mike Amirault
314c842b96
[PM-31435] Use muted colors for Send file and text type icons (#18673) 2026-02-05 14:51:36 -05:00
Mike Amirault
87bc57b3e2
[PM-31434] Match Send table options button size to other tables (#18685) 2026-02-05 14:48:40 -05:00
John Harrington
d88cb89618
PM-23851 False requirement to pop out extension when using send files (#17950)
* 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
2026-02-05 08:41:03 -07:00
Mike Amirault
51a99fecd8 [PM-31429] Add missing helper text for password protected Sends, remove unused one (#18694)
* [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
2026-02-03 15:18:23 -05:00
bmbitwarden
2d85b62beb
PM-31247 interchanged error message (#18644) 2026-02-03 12:18:10 -05:00
Alex Dragovich
c5bd811dfd
[PM-31323] change text on toast for send link copy (#18617) 2026-01-28 10:49:20 -08:00
bmbitwarden
0138abf373
PM-29919 email verification on sends (#18260)
* PM-29919 email verification on sends

* PM-29919 resolved build issue

* PM-29919 refined who can view fields

* PM-29919 resolved lint issues

* PM-29919 resolved lint issues

* PM-29919 resolved unit tests

* PM-29919 resolved lint issues

* PM-29919 resolved unit test issue

* PM-29919 resolved pr comments

* PM-29919 resolved pr comments

* PM-29919 resolved unneeded label

* PM-29919 refactored to hide instead of disable

* PM-29919 resolved pr comments

* PM-29919 resolved no auth string in PM-31200

* PM-29919 resolved bugs
2026-01-28 09:39:37 -05:00
Oscar Hinton
f9c4e7c022
Fix send no search triggering whenever searching (#18438) 2026-01-20 12:30:34 +01:00
Mike Amirault
9f74178928
[PM-21774] Adjust icon and tooltip for protected Sends on the Sends l… (#18293)
* [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
2026-01-15 14:19:43 -05:00
bmbitwarden
27d43c500f
PM-28183 implemented new sends filter and search design (#17901)
* PM-28183 implemented new sends filter and search design

* PM-28183 resolved table issue fallout from merge conflict

* PM-28183 resolved browser paste url issue

* PM-28183 put new feature behind feature flag

* PM-28183 resolved feature flag

* PM-28183 resolved type-safe approach pr comment

* PM-28183 resolved DesktopSendUIRefresh feature flag is enabled. pr comment

* PM-28183 restored SendUIRefresh

* PM-28183 resolved query parameter subscription pr comment

* PM-28183 resolved pr comment re enum like objects

* PM-28183 resolved remove enum like objects  pr comment

* PM-28183 resolved pr comment re defining filteredSends member variable

* PM-28183 resolved pr comment re Code Duplication in syncCompleted Handler

* PM-28183 resolved pr comment re Floating Promise

* PM-28183 restored feature flag

* PM-28183 resolved pr comment re Dual Binding Pattern

* PM28183 resolved options cell button pr comment

* PM 28183 resolved pr comment re Incorrect CSS Class - Breaking Layout

* PM 28183 resolved pr comment re uery Param Update Causes Redundant Filter Application

* PM-28183 resolved lint issues

* PM 28183 resolved lint issues

* PM-28183 resolved type issue with import

* PM-28183 resolved import in failling test

* chore: rerun web build

* PM-28183 resolved build issues

* PM-28183 resolved build issues

* PM-28183 resolved lint issues
2026-01-12 13:26:50 -05:00
bmbitwarden
92190d734c
Pm 28182 add success page (#17814)
* PM-28182-implemented send confirmation drawer

* PM-28182 resolved lint issue

* PM-28182 resolved pr comment

* PM-28182 put behind feature flag

* Fix feature flag checks in send component

* Fix feature flag checks in send dropdown component

* Add SendUIRefresh feature flag

* PM-28182 resolved lint issues

* PM-28182 resolved N bug in drawer message

* PM28182 resolved expirationDate replaced with delettionDate

* PM-28182 resolved build issue

* PM-28182 resolved failling tests

* PM-28182 resolved pr comment to consolidate expression

* chore: rerun web build

* PM-28182 removed unneeded export
2026-01-09 13:39:26 -05:00
Isaac Ivins
cf285abd3d
Feature/pm 25865 migrate send list desktop migration (#18008)
This PR moves the Desktop Send list UI into a shared library component and updates the Desktop Send v2 component to use modern Angular patterns (Signals, OnPush, no manual subscriptions)
2026-01-05 15:37:24 +01:00
Mike Amirault
dfb597c236
[PM-24015] Handle Send form empty password field properly (#17911) 2025-12-22 11:04:14 -05:00
Oscar Hinton
44b31fdade
[PM-29448] Consume the new send table in web (#17923)
2nd part of PM-29448. Consumes the new send table in the web vault. Also updates the send table to contain the responsive behaviour.
2025-12-19 16:00:37 +01:00
Mike Amirault
b63e1cb26c
[PM-28181] Open send dialog in drawer instead of popup in refreshed UI (#17666)
* [PM-28181] Open send dialog in drawer instead of popup in refreshed UI

* Fix types

* [PM-28181] Use drawer to edit sends with refreshed UI

* [PM-28181] Address bug where multiple Sends could not be navigated between
2025-12-16 13:34:31 -05:00
Todd Martin
27d82aaf28
feat(accounts): Add creationDate of account to AccountInfo
* Add creationDate of account to AccountInfo

* Added initialization of creationDate.

* Removed extra changes.

* Fixed tests to initialize creation date

* Added helper method to abstract account initialization in tests.

* More test updates.

* Linting

* Additional test fixes.

* Fixed spec reference

* Fixed imports

* Linting.

* Fixed browser test.

* Modified tsconfig to reference spec file.

* Fixed import.

* Removed dependency on os.  This is necessary so that the @bitwarden/common/spec lib package can be referenced in tests without node.

* Revert "Removed dependency on os.  This is necessary so that the @bitwarden/common/spec lib package can be referenced in tests without node."

This reverts commit 669f6557b6.

* Updated stories to hard-code new field.

* Removed changes to tsconfig

* Revert "Removed changes to tsconfig"

This reverts commit b7d916e8dc.
2025-12-12 10:03:31 -05:00
Oscar Hinton
508131ac1e
[PM-294489 Extract send table to libs/tools (#17841)
* Extract send table to libs/tools so it can be re-used in desktop

* Remove *ngIf

* Add story

* Move story under sends

* Remove duplicate class

* Move the dates to prevent any changes in storybook

* Revert changes to web component to speed up merge
2025-12-09 19:26:26 +01:00
Mike Amirault
c1c3e432f7
[PM-20080] Add spacing to new cipher/send buttons, unify sizing (#17806)
* [PM-20080] Add spacing to new cipher/send buttons, unify sizing

* [PM-20080] Use logical css properties and increase spacing
2025-12-09 10:55:30 -05:00
Mike Amirault
2d3b017cc2
[PM-24095] Ensure long Send file names do not overflow parent container (#17774)
* [PM-24095] Ensure long Send file names do not overflow parent container

* [PM-24095] Add styling to a couple other spots
2025-12-08 13:52:45 -05:00
John Harrington
6f5491f7dc
PM-22143 Refactor TS enums to be const objects (Send specific enums) (#16399) 2025-11-26 15:08:59 -07:00
Vicki League
b79625def8
[PM-26984] Use medium instead of semibold or bold (#17187) 2025-11-04 08:29:31 -07:00
Kyle Denney
e1e3966cc2
[PM-23713] premium badge interaction (#16911)
* feature flag

* new upgrade dialog component and moved pricing service into libs

first draft

* moved pricing service to libs/common

removed toast service from the pricing service and implemented error handling in calling components

# Conflicts:
#	apps/web/src/app/billing/individual/upgrade/upgrade-payment/upgrade-payment.component.ts

* moved new premium upgrade dialog component to libs/angular

* badge opens new dialog in browser extension

* adds new dialog to desktop and fixes tests

* updates send dropdown to use premium prompt service

* styling and copy updates

* implement in web and desktop

* unit tests

* converting premium reports to use premium badge, and some cleanup

* fixes issue after merge

* linter errors

* pr feedback

* handle async promise correctly

* full sync after the premium upgrade is complete

* fixing test

* add padding to bottom of card in new dialog

* add support for self hosting

* fixing tests

* fix test

* Update has-premium.guard.ts

* pr feedback

* fix build and pr feedback

* fix build

* prettier

* fixing stories and making badge line height consistent

* pr feedback

* updated upgrade dialog to no longer use pricing card

* fixing incorrect markup and removing unused bits

* formatting

* pr feedback

removing unused message keys and adding back in code that was erroneously removed

* change detection

* close dialog when error

* claude pr feedback
2025-11-03 10:16:01 -06:00