@vonage/vivid 4.19.0-preview.0 → 4.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +1616 -313
- package/index.cjs +5 -0
- package/index.d.ts +1 -0
- package/index.js +2 -2
- package/lib/accordion-item/accordion-item.d.ts +332 -5
- package/lib/action-group/action-group.d.ts +3 -120
- package/lib/alert/alert.d.ts +654 -6
- package/lib/audio-player/audio-player.d.ts +330 -5
- package/lib/avatar/avatar.d.ts +5 -4
- package/lib/badge/badge.d.ts +334 -7
- package/lib/banner/banner.d.ts +662 -133
- package/lib/breadcrumb-item/breadcrumb-item.d.ts +0 -118
- package/lib/button/button.d.ts +335 -8
- package/lib/calendar-event/calendar-event.d.ts +3 -2
- package/lib/card/card.d.ts +2 -1
- package/lib/checkbox/checkbox.d.ts +2 -119
- package/lib/combobox/combobox.d.ts +335 -6
- package/lib/date-picker/date-picker.d.ts +12 -484
- package/lib/date-range-picker/date-range-picker.d.ts +6 -242
- package/lib/date-time-picker/date-time-picker.d.ts +12 -484
- package/lib/date-time-picker/definition.d.ts +2 -0
- package/lib/dial-pad/dial-pad.d.ts +328 -4
- package/lib/dialog/dialog.d.ts +326 -122
- package/lib/divider/divider.d.ts +0 -118
- package/lib/empty-state/empty-state.d.ts +3 -2
- package/lib/fab/fab.d.ts +333 -6
- package/lib/file-picker/file-picker.d.ts +334 -4
- package/lib/icon/icon.d.ts +2 -1
- package/lib/layout/layout.d.ts +6 -5
- package/lib/menu/menu.d.ts +0 -236
- package/lib/menu-item/menu-item.d.ts +332 -10
- package/lib/nav-disclosure/nav-disclosure.d.ts +330 -124
- package/lib/nav-item/nav-item.d.ts +329 -4
- package/lib/note/note.d.ts +329 -4
- package/lib/number-field/number-field.d.ts +658 -124
- package/lib/option/option.d.ts +332 -7
- package/lib/pagination/pagination.d.ts +4 -2
- package/lib/progress/progress.d.ts +0 -118
- package/lib/progress-ring/progress-ring.d.ts +0 -118
- package/lib/radio/radio.d.ts +2 -1
- package/lib/range-slider/range-slider.d.ts +330 -3
- package/lib/rich-text-editor/definition.d.ts +2 -0
- package/lib/rich-text-editor/facades/prose-mirror-vivid.schema.d.ts +3 -2
- package/lib/rich-text-editor/facades/vivid-prose-mirror.facade.d.ts +2 -0
- package/lib/rich-text-editor/menubar/definition.d.ts +2 -0
- package/lib/rich-text-editor/menubar/menubar.d.ts +4 -0
- package/lib/rich-text-editor/menubar/menubar.template.d.ts +4 -0
- package/lib/rich-text-editor/rich-text-editor.d.ts +8 -0
- package/lib/searchable-select/locale.d.ts +1 -0
- package/lib/searchable-select/option-tag.d.ts +330 -5
- package/lib/searchable-select/searchable-select.d.ts +661 -6
- package/lib/select/select.d.ts +336 -6
- package/lib/selectable-box/selectable-box.d.ts +0 -118
- package/lib/slider/slider.d.ts +326 -122
- package/lib/split-button/split-button.d.ts +667 -138
- package/lib/switch/switch.d.ts +0 -118
- package/lib/tab/tab.d.ts +658 -7
- package/lib/tabs/tabs.d.ts +2 -1
- package/lib/tag/tag.d.ts +333 -7
- package/lib/tag-group/tag-group.d.ts +0 -118
- package/lib/tag-name-map.d.ts +73 -0
- package/lib/text-anchor/text-anchor.d.ts +331 -123
- package/lib/text-area/text-area.d.ts +0 -118
- package/lib/text-field/text-field.d.ts +333 -124
- package/lib/time-picker/time-picker.d.ts +6 -242
- package/lib/toggletip/toggletip.d.ts +0 -118
- package/lib/tooltip/tooltip.d.ts +0 -118
- package/lib/tree-item/tree-item.d.ts +329 -4
- package/lib/video-player/video-player.d.ts +328 -4
- package/locales/de-DE.cjs +1 -0
- package/locales/de-DE.js +1 -0
- package/locales/en-GB.cjs +1 -0
- package/locales/en-GB.js +1 -0
- package/locales/en-US.cjs +1 -0
- package/locales/en-US.js +1 -0
- package/locales/ja-JP.cjs +1 -0
- package/locales/ja-JP.js +1 -0
- package/locales/zh-CN.cjs +1 -0
- package/locales/zh-CN.js +1 -0
- package/package.json +1 -1
- package/shared/_has.cjs +0 -4
- package/shared/_has.js +0 -4
- package/shared/affix.cjs +25 -19
- package/shared/affix.js +26 -20
- package/shared/apply-mixins.js +1 -1
- package/shared/aria/delegates-aria.d.ts +0 -118
- package/shared/calendar-picker.template.cjs +1 -1
- package/shared/calendar-picker.template.js +1 -1
- package/shared/children.js +1 -1
- package/shared/definition.cjs +2 -4
- package/shared/definition.js +2 -4
- package/shared/definition11.cjs +2 -4
- package/shared/definition11.js +2 -4
- package/shared/definition13.cjs +85 -159
- package/shared/definition13.js +85 -159
- package/shared/definition15.cjs +1 -1
- package/shared/definition15.js +1 -1
- package/shared/definition16.cjs +2 -3
- package/shared/definition16.js +2 -3
- package/shared/definition17.cjs +1 -1
- package/shared/definition17.js +1 -1
- package/shared/definition20.cjs +10 -10
- package/shared/definition20.js +1 -1
- package/shared/definition21.cjs +2 -4
- package/shared/definition21.js +2 -4
- package/shared/definition22.cjs +2 -4
- package/shared/definition22.js +2 -4
- package/shared/definition25.cjs +2 -4
- package/shared/definition25.js +2 -4
- package/shared/definition26.cjs +3 -3
- package/shared/definition26.js +3 -3
- package/shared/definition28.cjs +27 -38
- package/shared/definition28.js +27 -38
- package/shared/definition30.cjs +4 -11
- package/shared/definition30.js +4 -11
- package/shared/definition31.cjs +2 -4
- package/shared/definition31.js +2 -4
- package/shared/definition32.cjs +2 -4
- package/shared/definition32.js +2 -4
- package/shared/definition34.cjs +1 -3
- package/shared/definition34.js +1 -3
- package/shared/definition35.cjs +6 -6
- package/shared/definition35.js +6 -6
- package/shared/definition36.cjs +7 -7
- package/shared/definition36.js +7 -7
- package/shared/definition37.cjs +20 -2
- package/shared/definition37.js +20 -2
- package/shared/definition4.cjs +14 -19
- package/shared/definition4.js +14 -19
- package/shared/definition41.cjs +1 -1
- package/shared/definition41.js +1 -1
- package/shared/definition42.cjs +3 -5
- package/shared/definition42.js +3 -5
- package/shared/definition43.cjs +419 -19
- package/shared/definition43.js +420 -21
- package/shared/definition44.cjs +43 -48
- package/shared/definition44.js +43 -48
- package/shared/definition45.cjs +3 -4
- package/shared/definition45.js +3 -4
- package/shared/definition46.cjs +1 -1
- package/shared/definition46.js +1 -1
- package/shared/definition48.cjs +3 -5
- package/shared/definition48.js +3 -5
- package/shared/definition49.cjs +4 -7
- package/shared/definition49.js +4 -7
- package/shared/definition5.cjs +1 -3
- package/shared/definition5.js +2 -4
- package/shared/definition50.cjs +1 -1
- package/shared/definition50.js +1 -1
- package/shared/definition52.cjs +2 -5
- package/shared/definition52.js +2 -5
- package/shared/definition55.cjs +2 -4
- package/shared/definition55.js +2 -4
- package/shared/definition56.cjs +1 -1
- package/shared/definition56.js +1 -1
- package/shared/definition57.cjs +3 -2
- package/shared/definition57.js +3 -2
- package/shared/definition61.cjs +2 -4
- package/shared/definition61.js +2 -4
- package/shared/definition63.cjs +233 -160
- package/shared/definition63.js +233 -160
- package/shared/definition7.cjs +1 -3
- package/shared/definition7.js +1 -3
- package/shared/definition8.cjs +2 -5
- package/shared/definition8.js +2 -5
- package/shared/definition9.cjs +1 -1
- package/shared/definition9.js +1 -1
- package/shared/form-associated.js +1 -1
- package/shared/foundation/button/button.d.ts +0 -118
- package/shared/localized.cjs +10 -4
- package/shared/localized.js +10 -4
- package/shared/option.cjs +17 -22
- package/shared/option.js +18 -23
- package/shared/patterns/affix.d.ts +659 -7
- package/shared/patterns/anchored.d.ts +0 -236
- package/shared/patterns/localized.d.ts +328 -3
- package/shared/patterns/trapped-focus.d.ts +329 -6
- package/shared/picker-field/mixins/calendar-picker.d.ts +3 -121
- package/shared/picker-field/mixins/calendar-picker.template.d.ts +3 -121
- package/shared/picker-field/mixins/inline-time-picker/inline-time-picker.d.ts +328 -4
- package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +6 -242
- package/shared/picker-field/mixins/single-date-picker.d.ts +9 -363
- package/shared/picker-field/mixins/single-value-picker.d.ts +3 -121
- package/shared/picker-field/mixins/time-selection-picker.d.ts +6 -242
- package/shared/picker-field/mixins/time-selection-picker.template.d.ts +6 -242
- package/shared/picker-field/picker-field.d.ts +655 -3
- package/shared/picker-field.template.cjs +33 -35
- package/shared/picker-field.template.js +34 -36
- package/shared/ref.js +1 -1
- package/shared/slotted.js +1 -1
- package/shared/text-anchor.cjs +2 -2
- package/shared/text-anchor.js +2 -2
- package/shared/text-field.cjs +1 -1
- package/shared/text-field.js +1 -1
- package/shared/time-selection-picker.template.cjs +3 -5
- package/shared/time-selection-picker.template.js +4 -6
- package/shared/utils/enums.d.ts +1 -0
- package/shared/vivid-element.cjs +1 -1
- package/shared/vivid-element.js +2 -2
- package/styles/core/all.css +1 -1
- package/styles/core/theme.css +1 -1
- package/styles/core/typography.css +1 -1
- package/styles/tokens/theme-dark.css +4 -4
- package/styles/tokens/theme-light.css +4 -4
- package/styles/tokens/vivid-2-compat.css +1 -1
- package/vivid.api.json +1265 -1364
package/shared/definition44.cjs
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
const definition$1 = require('./definition11.cjs');
|
|
4
4
|
const definition = require('./definition65.cjs');
|
|
5
5
|
const definition$3 = require('./definition28.cjs');
|
|
6
|
+
const definition$2 = require('./definition38.cjs');
|
|
6
7
|
const vividElement = require('./vivid-element.cjs');
|
|
7
8
|
const applyMixinsWithObservables = require('./applyMixinsWithObservables.cjs');
|
|
8
9
|
const scrollIntoView = require('./scrollIntoView.cjs');
|
|
@@ -10,18 +11,16 @@ const formAssociated = require('./form-associated.cjs');
|
|
|
10
11
|
const affix = require('./affix.cjs');
|
|
11
12
|
const localized = require('./localized.cjs');
|
|
12
13
|
const formElements = require('./form-elements.cjs');
|
|
13
|
-
const applyMixins = require('./apply-mixins.cjs');
|
|
14
14
|
const option = require('./option.cjs');
|
|
15
|
-
const definition$2 = require('./definition38.cjs');
|
|
16
15
|
const when = require('./when.cjs');
|
|
17
16
|
const ref = require('./ref.cjs');
|
|
18
17
|
const slotted = require('./slotted.cjs');
|
|
19
18
|
const classNames = require('./class-names.cjs');
|
|
20
19
|
const repeat = require('./repeat.cjs');
|
|
21
20
|
|
|
22
|
-
const styles = ".chevron{display:flex;flex-shrink:0;font:var(--vvd-typography-base-extended);transform:rotate(0);transition:transform .2s}:host([aria-expanded=true]) .chevron,:host([open]) .chevron{transform:rotate(180deg)}:not(.disabled) .chevron{cursor:pointer}.disabled .chevron{color:var(--_low-ink-color);cursor:not-allowed}:host(:focus-visible){outline:none}:host{display:inline-block;inline-size:300px;--_low-ink-color: var(--vvd-color-neutral-600)}:host([disabled]){--_low-ink-color: var(--vvd-color-neutral-400);cursor:not-allowed}.control-wrapper{display:flex;flex-direction:column;gap:4px}.label{color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base)}.fieldset{--_connotation-color-primary: var(--vvd-searchable-select-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-searchable-select-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-searchable-select-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-intermediate: var(--vvd-searchable-select-accent-intermediate, var(--vvd-color-neutral-500));--_connotation-color-faint: var(--vvd-searchable-select-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-searchable-select-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-firm: var(--vvd-searchable-select-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-fierce: var(--vvd-searchable-select-accent-fierce, var(--vvd-color-neutral-700))}.fieldset{--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--_connotation-color-intermediate)}.fieldset.appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.fieldset:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--_connotation-color-fierce)}.fieldset:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.fieldset:where(.disabled,:disabled){--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: var(--vvd-color-neutral-300)}.fieldset:where(.disabled,:disabled).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.fieldset:where(.readonly):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-neutral-200);--_appearance-color-outline: var(--vvd-color-neutral-400)}.fieldset:where(.readonly):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-600);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.fieldset:where(.error):where(:not(.disabled,:disabled)){--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: var(--vvd-color-alert-500)}.fieldset:where(.error):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: transparent}.fieldset:where(.success):where(:not(.disabled,:disabled)){--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-success-50);--_appearance-color-outline: var(--vvd-color-success-500)}.fieldset:where(.success):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-success-50);--_appearance-color-outline: transparent}.fieldset{display:flex;align-items:center;justify-content:space-between;background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);color:var(--_appearance-color-text);font:var(--vvd-typography-base);gap:8px;padding-block:8px;padding-inline:16px;transition:box-shadow .2s,background-color .2s}.fieldset:focus-within{box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:
|
|
21
|
+
const styles = ".chevron{display:flex;flex-shrink:0;font:var(--vvd-typography-base-extended);transform:rotate(0);transition:transform .2s}:host([aria-expanded=true]) .chevron,:host([open]) .chevron{transform:rotate(180deg)}:not(.disabled) .chevron{cursor:pointer}.disabled .chevron{color:var(--_low-ink-color);cursor:not-allowed}:host(:focus-visible){outline:none}:host{display:inline-block;inline-size:300px;--_low-ink-color: var(--vvd-color-neutral-600)}:host([disabled]){--_low-ink-color: var(--vvd-color-neutral-400);cursor:not-allowed}.control-wrapper{display:flex;flex-direction:column;gap:4px}.label{color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base)}.fieldset{--_connotation-color-primary: var(--vvd-searchable-select-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-searchable-select-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-searchable-select-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-intermediate: var(--vvd-searchable-select-accent-intermediate, var(--vvd-color-neutral-500));--_connotation-color-faint: var(--vvd-searchable-select-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-searchable-select-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-firm: var(--vvd-searchable-select-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-fierce: var(--vvd-searchable-select-accent-fierce, var(--vvd-color-neutral-700))}.fieldset{--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--_connotation-color-intermediate)}.fieldset.appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.fieldset:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--_connotation-color-fierce)}.fieldset:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.fieldset:where(.disabled,:disabled){--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: var(--vvd-color-neutral-300)}.fieldset:where(.disabled,:disabled).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.fieldset:where(.readonly):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-neutral-200);--_appearance-color-outline: var(--vvd-color-neutral-400)}.fieldset:where(.readonly):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-600);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.fieldset:where(.error):where(:not(.disabled,:disabled)){--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: var(--vvd-color-alert-500)}.fieldset:where(.error):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: transparent}.fieldset:where(.success):where(:not(.disabled,:disabled)){--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-success-50);--_appearance-color-outline: var(--vvd-color-success-500)}.fieldset:where(.success):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-success-50);--_appearance-color-outline: transparent}.fieldset{display:flex;align-items:center;justify-content:space-between;background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);color:var(--_appearance-color-text);font:var(--vvd-typography-base);gap:8px;padding-block:8px;padding-inline:16px;transition:box-shadow .2s,background-color .2s}.fieldset:focus-within{box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px));--focus-stroke-gap-color: transparent}:host(:not([shape=pill])) .fieldset{border-radius:8px}:host([shape=pill]) .fieldset{border-radius:24px}.popup-wrapper{position:relative}.content-area{display:flex;overflow:hidden;flex:1;flex-direction:column;gap:8px;min-block-size:24px}.tag-row{display:flex;gap:8px;inline-size:100%}.tag-row.contains-only-input:not(:focus-within){display:contents}.tag-wrapper{overflow:hidden}.tag{max-inline-size:100%}input{box-sizing:border-box;flex:1;border:none;background:none;block-size:24px;font:var(--vvd-typography-base);max-inline-size:100%;min-inline-size:100px;outline:none}.contains-only-input input:not(:focus){position:absolute;block-size:0;inline-size:0;min-inline-size:0;opacity:0;pointer-events:none}.listbox{display:flex;flex-direction:column;padding:4px;gap:2px;max-block-size:var(--searchable-select-height, 408px);overflow-y:auto}.empty-message{display:flex;align-items:center;justify-content:center;color:var(--vvd-color-neutral-300);min-block-size:40px;text-align:center}::part(popup-base){inline-size:max-content;min-inline-size:var(--_searchable-select-fixed-width, 100%)}slot[name=icon]{font-size:20px}.visually-hidden{position:absolute;overflow:hidden;width:1px;height:1px;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}";
|
|
23
22
|
|
|
24
|
-
const optionTagStyles = ".base{--_connotation-color-contrast: var(--vvd-option-tag-accent-contrast, var(--vvd-color-neutral-800))}.base{position:relative;display:inline-flex;box-sizing:border-box;align-items:center;background-color:var(--fill-color);block-size:calc(1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2)));box-shadow:inset 0 0 0 1px var(--outline-color);color:var(--text-color);column-gap:8px;font:var(--vvd-typography-base-bold);max-inline-size:100%;padding-inline:8px;user-select:none;vertical-align:middle}.base:not(.disabled){--text-color: var(--_connotation-color-contrast);--fill-color: color-mix( in srgb, var(--_connotation-color-contrast), transparent 87.5% );--outline-color: transparent}.base.disabled{--text-color: var(--vvd-color-neutral-300);--fill-color: color-mix( in srgb, var(--vvd-color-neutral-800), transparent 87.5% );--outline-color: transparent}.base:not(.shape-pill){border-radius:4px}.base.shape-pill{border-radius:16px}.label{overflow:hidden;max-inline-size:100%;text-overflow:ellipsis;white-space:nowrap}slot[name=icon]{font-size:calc(calc(1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2))) / 1.5);line-height:1}.icon-placeholder{inline-size:calc(calc(1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2))) / 1.5)}.remove-button{display:flex;align-items:center;border-radius:inherit;cursor:pointer;outline:none}.disabled .remove-button{pointer-events:none}.remove-button:focus-visible:before{--focus-stroke-gap-color: transparent;box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:
|
|
23
|
+
const optionTagStyles = ".base{--_connotation-color-contrast: var(--vvd-option-tag-accent-contrast, var(--vvd-color-neutral-800))}.base{position:relative;display:inline-flex;box-sizing:border-box;align-items:center;background-color:var(--fill-color);block-size:calc(1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2)));box-shadow:inset 0 0 0 1px var(--outline-color);color:var(--text-color);column-gap:8px;font:var(--vvd-typography-base-bold);max-inline-size:100%;padding-inline:8px;user-select:none;vertical-align:middle}.base:not(.disabled){--text-color: var(--_connotation-color-contrast);--fill-color: color-mix( in srgb, var(--_connotation-color-contrast), transparent 87.5% );--outline-color: transparent}.base.disabled{--text-color: var(--vvd-color-neutral-300);--fill-color: color-mix( in srgb, var(--vvd-color-neutral-800), transparent 87.5% );--outline-color: transparent}.base:not(.shape-pill){border-radius:4px}.base.shape-pill{border-radius:16px}.label{overflow:hidden;max-inline-size:100%;text-overflow:ellipsis;white-space:nowrap}slot[name=icon]{font-size:calc(calc(1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2))) / 1.5);line-height:1}.icon-placeholder{inline-size:calc(calc(1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2))) / 1.5)}.remove-button{display:flex;align-items:center;border-radius:inherit;cursor:pointer;outline:none}.disabled .remove-button{pointer-events:none}.remove-button:focus-visible:before{--focus-stroke-gap-color: transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px));position:absolute;z-index:1;display:block;border-radius:inherit;content:\"\";inset:0;pointer-events:none}";
|
|
25
24
|
|
|
26
25
|
class _SearchableSelect extends vividElement.VividElement {
|
|
27
26
|
}
|
|
@@ -56,7 +55,9 @@ const TagGapPx = 8;
|
|
|
56
55
|
const InputMinWidthPx = 100;
|
|
57
56
|
const PageSize = 10;
|
|
58
57
|
const isFormAssociatedTryingToSetFormValue = (value) => typeof value === "string";
|
|
59
|
-
exports.SearchableSelect = class SearchableSelect extends
|
|
58
|
+
exports.SearchableSelect = class SearchableSelect extends affix.AffixIconWithTrailing(
|
|
59
|
+
localized.Localized(FormAssociatedSearchableSelect)
|
|
60
|
+
) {
|
|
60
61
|
constructor() {
|
|
61
62
|
super(...arguments);
|
|
62
63
|
__privateAdd(this, _SearchableSelect_instances);
|
|
@@ -67,7 +68,7 @@ exports.SearchableSelect = class SearchableSelect extends FormAssociatedSearchab
|
|
|
67
68
|
this.maxLines = null;
|
|
68
69
|
this.values = [];
|
|
69
70
|
this.initialValues = [];
|
|
70
|
-
this.
|
|
71
|
+
this._currentSearchText = null;
|
|
71
72
|
// --- Slotted options ---
|
|
72
73
|
/**
|
|
73
74
|
* @internal
|
|
@@ -181,29 +182,30 @@ exports.SearchableSelect = class SearchableSelect extends FormAssociatedSearchab
|
|
|
181
182
|
/**
|
|
182
183
|
* @internal
|
|
183
184
|
*/
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
});
|
|
191
|
-
}
|
|
185
|
+
_currentSearchTextChanged() {
|
|
186
|
+
__privateMethod(this, _SearchableSelect_instances, updateFilteredOptions_fn).call(this);
|
|
187
|
+
this.$emit("search-text-change", void 0, {
|
|
188
|
+
bubbles: false,
|
|
189
|
+
composed: false
|
|
190
|
+
});
|
|
192
191
|
}
|
|
192
|
+
/**
|
|
193
|
+
* The current search text of the component.
|
|
194
|
+
*/
|
|
193
195
|
get searchText() {
|
|
194
|
-
return this.
|
|
196
|
+
return this._currentSearchText ?? "";
|
|
195
197
|
}
|
|
196
198
|
/**
|
|
197
199
|
* @internal
|
|
198
200
|
*/
|
|
199
201
|
get _inputValue() {
|
|
200
|
-
return this.
|
|
202
|
+
return this._currentSearchText ?? (!this.multiple && this.value !== "" ? __privateMethod(this, _SearchableSelect_instances, textForValue_fn).call(this, this.value) ?? "" : "");
|
|
201
203
|
}
|
|
202
204
|
/**
|
|
203
205
|
* @internal
|
|
204
206
|
*/
|
|
205
207
|
_onInputInput(event) {
|
|
206
|
-
this.
|
|
208
|
+
this._currentSearchText = event.target.value;
|
|
207
209
|
}
|
|
208
210
|
/**
|
|
209
211
|
* @internal
|
|
@@ -217,7 +219,7 @@ exports.SearchableSelect = class SearchableSelect extends FormAssociatedSearchab
|
|
|
217
219
|
*/
|
|
218
220
|
_onInputBlur(_) {
|
|
219
221
|
this.open = false;
|
|
220
|
-
this.
|
|
222
|
+
this._currentSearchText = null;
|
|
221
223
|
this._changeDescription = "";
|
|
222
224
|
}
|
|
223
225
|
/**
|
|
@@ -335,6 +337,12 @@ exports.SearchableSelect = class SearchableSelect extends FormAssociatedSearchab
|
|
|
335
337
|
_tagIconSlotName(value) {
|
|
336
338
|
return `_tag-icon-${this.values.indexOf(value)}`;
|
|
337
339
|
}
|
|
340
|
+
/**
|
|
341
|
+
* @internal
|
|
342
|
+
*/
|
|
343
|
+
optionFilterChanged() {
|
|
344
|
+
__privateMethod(this, _SearchableSelect_instances, updateFilteredOptions_fn).call(this);
|
|
345
|
+
}
|
|
338
346
|
// --- Tags ---
|
|
339
347
|
/**
|
|
340
348
|
* @internal
|
|
@@ -474,7 +482,8 @@ exports.SearchableSelect = class SearchableSelect extends FormAssociatedSearchab
|
|
|
474
482
|
* @internal
|
|
475
483
|
*/
|
|
476
484
|
_onMouseDown(event) {
|
|
477
|
-
|
|
485
|
+
const originalTarget = event.composedPath()[0];
|
|
486
|
+
if (!event.defaultPrevented && originalTarget !== this._input) {
|
|
478
487
|
this._input.focus();
|
|
479
488
|
return false;
|
|
480
489
|
}
|
|
@@ -494,9 +503,6 @@ updateValuesThroughUserInteraction_fn = function(newValues) {
|
|
|
494
503
|
updateValuesWhileMaintainingOrder_fn = function(newValues) {
|
|
495
504
|
const oldSet = new Set(this.values);
|
|
496
505
|
const newSet = new Set(newValues);
|
|
497
|
-
if (oldSet.size === newSet.size && [...oldSet].every((v) => newSet.has(v))) {
|
|
498
|
-
return;
|
|
499
|
-
}
|
|
500
506
|
this.values = [...this.values].filter((v) => newSet.has(v)).concat([...newValues].filter((v) => !oldSet.has(v)));
|
|
501
507
|
};
|
|
502
508
|
isValidValue_fn = function(value) {
|
|
@@ -533,7 +539,7 @@ handleOptionInteraction_fn = function(option) {
|
|
|
533
539
|
this._changeDescription = isSelection ? this.locale.searchableSelect.optionSelectedMessage(option.text) : this.locale.searchableSelect.optionDeselectedMessage(option.text);
|
|
534
540
|
__privateMethod(this, _SearchableSelect_instances, updateValuesThroughUserInteraction_fn).call(this, newValues);
|
|
535
541
|
if (shouldClearSearchText) {
|
|
536
|
-
this.
|
|
542
|
+
this._currentSearchText = null;
|
|
537
543
|
}
|
|
538
544
|
};
|
|
539
545
|
_clonedTagIcons = new WeakMap();
|
|
@@ -559,17 +565,12 @@ updateClonedTagIconOfOption_fn = function(option) {
|
|
|
559
565
|
};
|
|
560
566
|
updateFilteredOptions_fn = function() {
|
|
561
567
|
const newFilteredOptions = [];
|
|
562
|
-
const
|
|
568
|
+
const optionFilter = this.optionFilter ?? ((option, searchText) => option.text.toLowerCase().includes(searchText.toLowerCase()));
|
|
563
569
|
for (const option of this._slottedOptions ?? []) {
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
const matches = filterOption(option, this.searchText);
|
|
569
|
-
option._hidden = !matches;
|
|
570
|
-
option._internalHighlightText = matches ? this.searchText : "";
|
|
571
|
-
}
|
|
572
|
-
if (!option.hidden && !option._hidden) {
|
|
570
|
+
option._vvdSearchText = this.searchText;
|
|
571
|
+
const matches = !this.searchText || optionFilter(option, this.searchText);
|
|
572
|
+
option._isNotMatching = !matches;
|
|
573
|
+
if (!option.hidden && matches) {
|
|
573
574
|
newFilteredOptions.push(option);
|
|
574
575
|
}
|
|
575
576
|
}
|
|
@@ -630,10 +631,7 @@ highlightNextOption_fn = function() {
|
|
|
630
631
|
__privateMethod(this, _SearchableSelect_instances, transitionHighlightedOptionTo_fn).call(this, (this._highlightedOptionIndex ?? -1) + 1);
|
|
631
632
|
};
|
|
632
633
|
textForValue_fn = function(value) {
|
|
633
|
-
|
|
634
|
-
(option2) => option2.value === value
|
|
635
|
-
);
|
|
636
|
-
return option.text;
|
|
634
|
+
return this._slottedOptions?.find((option) => option.value === value)?.text;
|
|
637
635
|
};
|
|
638
636
|
/**
|
|
639
637
|
* @internal
|
|
@@ -801,19 +799,19 @@ __decorateClass$1([
|
|
|
801
799
|
], exports.SearchableSelect.prototype, "_input", 2);
|
|
802
800
|
__decorateClass$1([
|
|
803
801
|
vividElement.observable
|
|
804
|
-
], exports.SearchableSelect.prototype, "
|
|
802
|
+
], exports.SearchableSelect.prototype, "_currentSearchText", 2);
|
|
805
803
|
__decorateClass$1([
|
|
806
804
|
vividElement.observable
|
|
807
805
|
], exports.SearchableSelect.prototype, "_slottedOptions", 2);
|
|
808
806
|
__decorateClass$1([
|
|
809
807
|
vividElement.observable
|
|
810
|
-
], exports.SearchableSelect.prototype, "
|
|
808
|
+
], exports.SearchableSelect.prototype, "optionFilter", 2);
|
|
811
809
|
__decorateClass$1([
|
|
812
810
|
vividElement.observable
|
|
813
|
-
], exports.SearchableSelect.prototype, "
|
|
811
|
+
], exports.SearchableSelect.prototype, "_filteredOptions", 2);
|
|
814
812
|
__decorateClass$1([
|
|
815
813
|
vividElement.observable
|
|
816
|
-
], exports.SearchableSelect.prototype, "
|
|
814
|
+
], exports.SearchableSelect.prototype, "_filteredEnabledOptions", 2);
|
|
817
815
|
__decorateClass$1([
|
|
818
816
|
vividElement.attr({
|
|
819
817
|
mode: "boolean"
|
|
@@ -852,10 +850,8 @@ exports.SearchableSelect = __decorateClass$1([
|
|
|
852
850
|
], exports.SearchableSelect);
|
|
853
851
|
applyMixinsWithObservables.applyMixinsWithObservables(
|
|
854
852
|
exports.SearchableSelect,
|
|
855
|
-
affix.AffixIconWithTrailing,
|
|
856
853
|
formElements.FormElementHelperText,
|
|
857
|
-
formElements.FormElementSuccessText
|
|
858
|
-
localized.Localized
|
|
854
|
+
formElements.FormElementSuccessText
|
|
859
855
|
);
|
|
860
856
|
|
|
861
857
|
var __defProp = Object.defineProperty;
|
|
@@ -867,7 +863,7 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
867
863
|
if (result) __defProp(target, key, result);
|
|
868
864
|
return result;
|
|
869
865
|
};
|
|
870
|
-
class OptionTag extends vividElement.VividElement {
|
|
866
|
+
class OptionTag extends localized.Localized(vividElement.VividElement) {
|
|
871
867
|
constructor() {
|
|
872
868
|
super(...arguments);
|
|
873
869
|
this.removable = false;
|
|
@@ -895,7 +891,6 @@ __decorateClass([
|
|
|
895
891
|
__decorateClass([
|
|
896
892
|
vividElement.observable
|
|
897
893
|
], OptionTag.prototype, "hasIconPlaceholder");
|
|
898
|
-
applyMixins.applyMixins(OptionTag, localized.Localized);
|
|
899
894
|
|
|
900
895
|
const getStateClasses = (x) => classNames.classNames(
|
|
901
896
|
["disabled", x.disabled],
|
|
@@ -1084,8 +1079,8 @@ function renderControl(context) {
|
|
|
1084
1079
|
vividElement.html`<div class="empty-message">
|
|
1085
1080
|
${when.when(
|
|
1086
1081
|
(x) => x.loading,
|
|
1087
|
-
vividElement.html
|
|
1088
|
-
|
|
1082
|
+
vividElement.html`<slot name="loading-options">
|
|
1083
|
+
${(x) => x.locale.searchableSelect.loadingOptionsMessage}
|
|
1089
1084
|
</slot>`
|
|
1090
1085
|
)}
|
|
1091
1086
|
${when.when(
|
package/shared/definition44.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { B as Button, c as chevronTemplateFactory, b as buttonDefinition } from './definition11.js';
|
|
2
2
|
import { P as Popup, p as popupDefinition } from './definition65.js';
|
|
3
3
|
import { I as Icon, i as iconDefinition } from './definition28.js';
|
|
4
|
+
import { P as ProgressRing, p as progressRingDefinition } from './definition38.js';
|
|
4
5
|
import { V as VividElement, O as Observable, D as DOM, a as attr, n as nullableNumberConverter, o as observable, h as html, d as createRegisterFunction, f as defineVividComponent } from './vivid-element.js';
|
|
5
6
|
import { a as applyMixinsWithObservables } from './applyMixinsWithObservables.js';
|
|
6
7
|
import { s as scrollIntoView } from './scrollIntoView.js';
|
|
@@ -8,18 +9,16 @@ import { F as FormAssociated } from './form-associated.js';
|
|
|
8
9
|
import { A as AffixIconWithTrailing, a as affixIconTemplateFactory, I as IconWrapper } from './affix.js';
|
|
9
10
|
import { L as Localized } from './localized.js';
|
|
10
11
|
import { F as FormElementSuccessText, a as FormElementHelperText, e as errorText, f as formElements, g as getFeedbackTemplate } from './form-elements.js';
|
|
11
|
-
import { a as applyMixins } from './apply-mixins.js';
|
|
12
12
|
import { i as isListboxOption } from './option.js';
|
|
13
|
-
import { P as ProgressRing, p as progressRingDefinition } from './definition38.js';
|
|
14
13
|
import { w as when } from './when.js';
|
|
15
14
|
import { r as ref } from './ref.js';
|
|
16
15
|
import { s as slotted } from './slotted.js';
|
|
17
16
|
import { c as classNames } from './class-names.js';
|
|
18
17
|
import { r as repeat } from './repeat.js';
|
|
19
18
|
|
|
20
|
-
const styles = ".chevron{display:flex;flex-shrink:0;font:var(--vvd-typography-base-extended);transform:rotate(0);transition:transform .2s}:host([aria-expanded=true]) .chevron,:host([open]) .chevron{transform:rotate(180deg)}:not(.disabled) .chevron{cursor:pointer}.disabled .chevron{color:var(--_low-ink-color);cursor:not-allowed}:host(:focus-visible){outline:none}:host{display:inline-block;inline-size:300px;--_low-ink-color: var(--vvd-color-neutral-600)}:host([disabled]){--_low-ink-color: var(--vvd-color-neutral-400);cursor:not-allowed}.control-wrapper{display:flex;flex-direction:column;gap:4px}.label{color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base)}.fieldset{--_connotation-color-primary: var(--vvd-searchable-select-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-searchable-select-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-searchable-select-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-intermediate: var(--vvd-searchable-select-accent-intermediate, var(--vvd-color-neutral-500));--_connotation-color-faint: var(--vvd-searchable-select-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-searchable-select-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-firm: var(--vvd-searchable-select-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-fierce: var(--vvd-searchable-select-accent-fierce, var(--vvd-color-neutral-700))}.fieldset{--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--_connotation-color-intermediate)}.fieldset.appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.fieldset:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--_connotation-color-fierce)}.fieldset:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.fieldset:where(.disabled,:disabled){--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: var(--vvd-color-neutral-300)}.fieldset:where(.disabled,:disabled).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.fieldset:where(.readonly):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-neutral-200);--_appearance-color-outline: var(--vvd-color-neutral-400)}.fieldset:where(.readonly):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-600);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.fieldset:where(.error):where(:not(.disabled,:disabled)){--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: var(--vvd-color-alert-500)}.fieldset:where(.error):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: transparent}.fieldset:where(.success):where(:not(.disabled,:disabled)){--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-success-50);--_appearance-color-outline: var(--vvd-color-success-500)}.fieldset:where(.success):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-success-50);--_appearance-color-outline: transparent}.fieldset{display:flex;align-items:center;justify-content:space-between;background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);color:var(--_appearance-color-text);font:var(--vvd-typography-base);gap:8px;padding-block:8px;padding-inline:16px;transition:box-shadow .2s,background-color .2s}.fieldset:focus-within{box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:
|
|
19
|
+
const styles = ".chevron{display:flex;flex-shrink:0;font:var(--vvd-typography-base-extended);transform:rotate(0);transition:transform .2s}:host([aria-expanded=true]) .chevron,:host([open]) .chevron{transform:rotate(180deg)}:not(.disabled) .chevron{cursor:pointer}.disabled .chevron{color:var(--_low-ink-color);cursor:not-allowed}:host(:focus-visible){outline:none}:host{display:inline-block;inline-size:300px;--_low-ink-color: var(--vvd-color-neutral-600)}:host([disabled]){--_low-ink-color: var(--vvd-color-neutral-400);cursor:not-allowed}.control-wrapper{display:flex;flex-direction:column;gap:4px}.label{color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base)}.fieldset{--_connotation-color-primary: var(--vvd-searchable-select-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-searchable-select-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-searchable-select-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-intermediate: var(--vvd-searchable-select-accent-intermediate, var(--vvd-color-neutral-500));--_connotation-color-faint: var(--vvd-searchable-select-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-searchable-select-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-firm: var(--vvd-searchable-select-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-fierce: var(--vvd-searchable-select-accent-fierce, var(--vvd-color-neutral-700))}.fieldset{--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--_connotation-color-intermediate)}.fieldset.appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.fieldset:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--_connotation-color-fierce)}.fieldset:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.fieldset:where(.disabled,:disabled){--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: var(--vvd-color-neutral-300)}.fieldset:where(.disabled,:disabled).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.fieldset:where(.readonly):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-neutral-200);--_appearance-color-outline: var(--vvd-color-neutral-400)}.fieldset:where(.readonly):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-600);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.fieldset:where(.error):where(:not(.disabled,:disabled)){--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: var(--vvd-color-alert-500)}.fieldset:where(.error):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: transparent}.fieldset:where(.success):where(:not(.disabled,:disabled)){--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-success-50);--_appearance-color-outline: var(--vvd-color-success-500)}.fieldset:where(.success):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-success-50);--_appearance-color-outline: transparent}.fieldset{display:flex;align-items:center;justify-content:space-between;background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);color:var(--_appearance-color-text);font:var(--vvd-typography-base);gap:8px;padding-block:8px;padding-inline:16px;transition:box-shadow .2s,background-color .2s}.fieldset:focus-within{box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px));--focus-stroke-gap-color: transparent}:host(:not([shape=pill])) .fieldset{border-radius:8px}:host([shape=pill]) .fieldset{border-radius:24px}.popup-wrapper{position:relative}.content-area{display:flex;overflow:hidden;flex:1;flex-direction:column;gap:8px;min-block-size:24px}.tag-row{display:flex;gap:8px;inline-size:100%}.tag-row.contains-only-input:not(:focus-within){display:contents}.tag-wrapper{overflow:hidden}.tag{max-inline-size:100%}input{box-sizing:border-box;flex:1;border:none;background:none;block-size:24px;font:var(--vvd-typography-base);max-inline-size:100%;min-inline-size:100px;outline:none}.contains-only-input input:not(:focus){position:absolute;block-size:0;inline-size:0;min-inline-size:0;opacity:0;pointer-events:none}.listbox{display:flex;flex-direction:column;padding:4px;gap:2px;max-block-size:var(--searchable-select-height, 408px);overflow-y:auto}.empty-message{display:flex;align-items:center;justify-content:center;color:var(--vvd-color-neutral-300);min-block-size:40px;text-align:center}::part(popup-base){inline-size:max-content;min-inline-size:var(--_searchable-select-fixed-width, 100%)}slot[name=icon]{font-size:20px}.visually-hidden{position:absolute;overflow:hidden;width:1px;height:1px;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}";
|
|
21
20
|
|
|
22
|
-
const optionTagStyles = ".base{--_connotation-color-contrast: var(--vvd-option-tag-accent-contrast, var(--vvd-color-neutral-800))}.base{position:relative;display:inline-flex;box-sizing:border-box;align-items:center;background-color:var(--fill-color);block-size:calc(1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2)));box-shadow:inset 0 0 0 1px var(--outline-color);color:var(--text-color);column-gap:8px;font:var(--vvd-typography-base-bold);max-inline-size:100%;padding-inline:8px;user-select:none;vertical-align:middle}.base:not(.disabled){--text-color: var(--_connotation-color-contrast);--fill-color: color-mix( in srgb, var(--_connotation-color-contrast), transparent 87.5% );--outline-color: transparent}.base.disabled{--text-color: var(--vvd-color-neutral-300);--fill-color: color-mix( in srgb, var(--vvd-color-neutral-800), transparent 87.5% );--outline-color: transparent}.base:not(.shape-pill){border-radius:4px}.base.shape-pill{border-radius:16px}.label{overflow:hidden;max-inline-size:100%;text-overflow:ellipsis;white-space:nowrap}slot[name=icon]{font-size:calc(calc(1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2))) / 1.5);line-height:1}.icon-placeholder{inline-size:calc(calc(1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2))) / 1.5)}.remove-button{display:flex;align-items:center;border-radius:inherit;cursor:pointer;outline:none}.disabled .remove-button{pointer-events:none}.remove-button:focus-visible:before{--focus-stroke-gap-color: transparent;box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:
|
|
21
|
+
const optionTagStyles = ".base{--_connotation-color-contrast: var(--vvd-option-tag-accent-contrast, var(--vvd-color-neutral-800))}.base{position:relative;display:inline-flex;box-sizing:border-box;align-items:center;background-color:var(--fill-color);block-size:calc(1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2)));box-shadow:inset 0 0 0 1px var(--outline-color);color:var(--text-color);column-gap:8px;font:var(--vvd-typography-base-bold);max-inline-size:100%;padding-inline:8px;user-select:none;vertical-align:middle}.base:not(.disabled){--text-color: var(--_connotation-color-contrast);--fill-color: color-mix( in srgb, var(--_connotation-color-contrast), transparent 87.5% );--outline-color: transparent}.base.disabled{--text-color: var(--vvd-color-neutral-300);--fill-color: color-mix( in srgb, var(--vvd-color-neutral-800), transparent 87.5% );--outline-color: transparent}.base:not(.shape-pill){border-radius:4px}.base.shape-pill{border-radius:16px}.label{overflow:hidden;max-inline-size:100%;text-overflow:ellipsis;white-space:nowrap}slot[name=icon]{font-size:calc(calc(1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2))) / 1.5);line-height:1}.icon-placeholder{inline-size:calc(calc(1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2))) / 1.5)}.remove-button{display:flex;align-items:center;border-radius:inherit;cursor:pointer;outline:none}.disabled .remove-button{pointer-events:none}.remove-button:focus-visible:before{--focus-stroke-gap-color: transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px));position:absolute;z-index:1;display:block;border-radius:inherit;content:\"\";inset:0;pointer-events:none}";
|
|
23
22
|
|
|
24
23
|
class _SearchableSelect extends VividElement {
|
|
25
24
|
}
|
|
@@ -54,7 +53,9 @@ const TagGapPx = 8;
|
|
|
54
53
|
const InputMinWidthPx = 100;
|
|
55
54
|
const PageSize = 10;
|
|
56
55
|
const isFormAssociatedTryingToSetFormValue = (value) => typeof value === "string";
|
|
57
|
-
let SearchableSelect = class extends
|
|
56
|
+
let SearchableSelect = class extends AffixIconWithTrailing(
|
|
57
|
+
Localized(FormAssociatedSearchableSelect)
|
|
58
|
+
) {
|
|
58
59
|
constructor() {
|
|
59
60
|
super(...arguments);
|
|
60
61
|
__privateAdd(this, _SearchableSelect_instances);
|
|
@@ -65,7 +66,7 @@ let SearchableSelect = class extends FormAssociatedSearchableSelect {
|
|
|
65
66
|
this.maxLines = null;
|
|
66
67
|
this.values = [];
|
|
67
68
|
this.initialValues = [];
|
|
68
|
-
this.
|
|
69
|
+
this._currentSearchText = null;
|
|
69
70
|
// --- Slotted options ---
|
|
70
71
|
/**
|
|
71
72
|
* @internal
|
|
@@ -179,29 +180,30 @@ let SearchableSelect = class extends FormAssociatedSearchableSelect {
|
|
|
179
180
|
/**
|
|
180
181
|
* @internal
|
|
181
182
|
*/
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
});
|
|
189
|
-
}
|
|
183
|
+
_currentSearchTextChanged() {
|
|
184
|
+
__privateMethod(this, _SearchableSelect_instances, updateFilteredOptions_fn).call(this);
|
|
185
|
+
this.$emit("search-text-change", void 0, {
|
|
186
|
+
bubbles: false,
|
|
187
|
+
composed: false
|
|
188
|
+
});
|
|
190
189
|
}
|
|
190
|
+
/**
|
|
191
|
+
* The current search text of the component.
|
|
192
|
+
*/
|
|
191
193
|
get searchText() {
|
|
192
|
-
return this.
|
|
194
|
+
return this._currentSearchText ?? "";
|
|
193
195
|
}
|
|
194
196
|
/**
|
|
195
197
|
* @internal
|
|
196
198
|
*/
|
|
197
199
|
get _inputValue() {
|
|
198
|
-
return this.
|
|
200
|
+
return this._currentSearchText ?? (!this.multiple && this.value !== "" ? __privateMethod(this, _SearchableSelect_instances, textForValue_fn).call(this, this.value) ?? "" : "");
|
|
199
201
|
}
|
|
200
202
|
/**
|
|
201
203
|
* @internal
|
|
202
204
|
*/
|
|
203
205
|
_onInputInput(event) {
|
|
204
|
-
this.
|
|
206
|
+
this._currentSearchText = event.target.value;
|
|
205
207
|
}
|
|
206
208
|
/**
|
|
207
209
|
* @internal
|
|
@@ -215,7 +217,7 @@ let SearchableSelect = class extends FormAssociatedSearchableSelect {
|
|
|
215
217
|
*/
|
|
216
218
|
_onInputBlur(_) {
|
|
217
219
|
this.open = false;
|
|
218
|
-
this.
|
|
220
|
+
this._currentSearchText = null;
|
|
219
221
|
this._changeDescription = "";
|
|
220
222
|
}
|
|
221
223
|
/**
|
|
@@ -333,6 +335,12 @@ let SearchableSelect = class extends FormAssociatedSearchableSelect {
|
|
|
333
335
|
_tagIconSlotName(value) {
|
|
334
336
|
return `_tag-icon-${this.values.indexOf(value)}`;
|
|
335
337
|
}
|
|
338
|
+
/**
|
|
339
|
+
* @internal
|
|
340
|
+
*/
|
|
341
|
+
optionFilterChanged() {
|
|
342
|
+
__privateMethod(this, _SearchableSelect_instances, updateFilteredOptions_fn).call(this);
|
|
343
|
+
}
|
|
336
344
|
// --- Tags ---
|
|
337
345
|
/**
|
|
338
346
|
* @internal
|
|
@@ -472,7 +480,8 @@ let SearchableSelect = class extends FormAssociatedSearchableSelect {
|
|
|
472
480
|
* @internal
|
|
473
481
|
*/
|
|
474
482
|
_onMouseDown(event) {
|
|
475
|
-
|
|
483
|
+
const originalTarget = event.composedPath()[0];
|
|
484
|
+
if (!event.defaultPrevented && originalTarget !== this._input) {
|
|
476
485
|
this._input.focus();
|
|
477
486
|
return false;
|
|
478
487
|
}
|
|
@@ -492,9 +501,6 @@ updateValuesThroughUserInteraction_fn = function(newValues) {
|
|
|
492
501
|
updateValuesWhileMaintainingOrder_fn = function(newValues) {
|
|
493
502
|
const oldSet = new Set(this.values);
|
|
494
503
|
const newSet = new Set(newValues);
|
|
495
|
-
if (oldSet.size === newSet.size && [...oldSet].every((v) => newSet.has(v))) {
|
|
496
|
-
return;
|
|
497
|
-
}
|
|
498
504
|
this.values = [...this.values].filter((v) => newSet.has(v)).concat([...newValues].filter((v) => !oldSet.has(v)));
|
|
499
505
|
};
|
|
500
506
|
isValidValue_fn = function(value) {
|
|
@@ -531,7 +537,7 @@ handleOptionInteraction_fn = function(option) {
|
|
|
531
537
|
this._changeDescription = isSelection ? this.locale.searchableSelect.optionSelectedMessage(option.text) : this.locale.searchableSelect.optionDeselectedMessage(option.text);
|
|
532
538
|
__privateMethod(this, _SearchableSelect_instances, updateValuesThroughUserInteraction_fn).call(this, newValues);
|
|
533
539
|
if (shouldClearSearchText) {
|
|
534
|
-
this.
|
|
540
|
+
this._currentSearchText = null;
|
|
535
541
|
}
|
|
536
542
|
};
|
|
537
543
|
_clonedTagIcons = new WeakMap();
|
|
@@ -557,17 +563,12 @@ updateClonedTagIconOfOption_fn = function(option) {
|
|
|
557
563
|
};
|
|
558
564
|
updateFilteredOptions_fn = function() {
|
|
559
565
|
const newFilteredOptions = [];
|
|
560
|
-
const
|
|
566
|
+
const optionFilter = this.optionFilter ?? ((option, searchText) => option.text.toLowerCase().includes(searchText.toLowerCase()));
|
|
561
567
|
for (const option of this._slottedOptions ?? []) {
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
const matches = filterOption(option, this.searchText);
|
|
567
|
-
option._hidden = !matches;
|
|
568
|
-
option._internalHighlightText = matches ? this.searchText : "";
|
|
569
|
-
}
|
|
570
|
-
if (!option.hidden && !option._hidden) {
|
|
568
|
+
option._vvdSearchText = this.searchText;
|
|
569
|
+
const matches = !this.searchText || optionFilter(option, this.searchText);
|
|
570
|
+
option._isNotMatching = !matches;
|
|
571
|
+
if (!option.hidden && matches) {
|
|
571
572
|
newFilteredOptions.push(option);
|
|
572
573
|
}
|
|
573
574
|
}
|
|
@@ -628,10 +629,7 @@ highlightNextOption_fn = function() {
|
|
|
628
629
|
__privateMethod(this, _SearchableSelect_instances, transitionHighlightedOptionTo_fn).call(this, (this._highlightedOptionIndex ?? -1) + 1);
|
|
629
630
|
};
|
|
630
631
|
textForValue_fn = function(value) {
|
|
631
|
-
|
|
632
|
-
(option2) => option2.value === value
|
|
633
|
-
);
|
|
634
|
-
return option.text;
|
|
632
|
+
return this._slottedOptions?.find((option) => option.value === value)?.text;
|
|
635
633
|
};
|
|
636
634
|
/**
|
|
637
635
|
* @internal
|
|
@@ -799,19 +797,19 @@ __decorateClass$1([
|
|
|
799
797
|
], SearchableSelect.prototype, "_input", 2);
|
|
800
798
|
__decorateClass$1([
|
|
801
799
|
observable
|
|
802
|
-
], SearchableSelect.prototype, "
|
|
800
|
+
], SearchableSelect.prototype, "_currentSearchText", 2);
|
|
803
801
|
__decorateClass$1([
|
|
804
802
|
observable
|
|
805
803
|
], SearchableSelect.prototype, "_slottedOptions", 2);
|
|
806
804
|
__decorateClass$1([
|
|
807
805
|
observable
|
|
808
|
-
], SearchableSelect.prototype, "
|
|
806
|
+
], SearchableSelect.prototype, "optionFilter", 2);
|
|
809
807
|
__decorateClass$1([
|
|
810
808
|
observable
|
|
811
|
-
], SearchableSelect.prototype, "
|
|
809
|
+
], SearchableSelect.prototype, "_filteredOptions", 2);
|
|
812
810
|
__decorateClass$1([
|
|
813
811
|
observable
|
|
814
|
-
], SearchableSelect.prototype, "
|
|
812
|
+
], SearchableSelect.prototype, "_filteredEnabledOptions", 2);
|
|
815
813
|
__decorateClass$1([
|
|
816
814
|
attr({
|
|
817
815
|
mode: "boolean"
|
|
@@ -850,10 +848,8 @@ SearchableSelect = __decorateClass$1([
|
|
|
850
848
|
], SearchableSelect);
|
|
851
849
|
applyMixinsWithObservables(
|
|
852
850
|
SearchableSelect,
|
|
853
|
-
AffixIconWithTrailing,
|
|
854
851
|
FormElementHelperText,
|
|
855
|
-
FormElementSuccessText
|
|
856
|
-
Localized
|
|
852
|
+
FormElementSuccessText
|
|
857
853
|
);
|
|
858
854
|
|
|
859
855
|
var __defProp = Object.defineProperty;
|
|
@@ -865,7 +861,7 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
865
861
|
if (result) __defProp(target, key, result);
|
|
866
862
|
return result;
|
|
867
863
|
};
|
|
868
|
-
class OptionTag extends VividElement {
|
|
864
|
+
class OptionTag extends Localized(VividElement) {
|
|
869
865
|
constructor() {
|
|
870
866
|
super(...arguments);
|
|
871
867
|
this.removable = false;
|
|
@@ -893,7 +889,6 @@ __decorateClass([
|
|
|
893
889
|
__decorateClass([
|
|
894
890
|
observable
|
|
895
891
|
], OptionTag.prototype, "hasIconPlaceholder");
|
|
896
|
-
applyMixins(OptionTag, Localized);
|
|
897
892
|
|
|
898
893
|
const getStateClasses = (x) => classNames(
|
|
899
894
|
["disabled", x.disabled],
|
|
@@ -1082,8 +1077,8 @@ function renderControl(context) {
|
|
|
1082
1077
|
html`<div class="empty-message">
|
|
1083
1078
|
${when(
|
|
1084
1079
|
(x) => x.loading,
|
|
1085
|
-
html
|
|
1086
|
-
|
|
1080
|
+
html`<slot name="loading-options">
|
|
1081
|
+
${(x) => x.locale.searchableSelect.loadingOptionsMessage}
|
|
1087
1082
|
</slot>`
|
|
1088
1083
|
)}
|
|
1089
1084
|
${when(
|
package/shared/definition45.cjs
CHANGED
|
@@ -8,10 +8,10 @@ const applyMixinsWithObservables = require('./applyMixinsWithObservables.cjs');
|
|
|
8
8
|
const listbox = require('./listbox.cjs');
|
|
9
9
|
const formAssociated = require('./form-associated.cjs');
|
|
10
10
|
const numbers = require('./numbers.cjs');
|
|
11
|
+
const affix = require('./affix.cjs');
|
|
11
12
|
const strings = require('./strings.cjs');
|
|
12
13
|
const keyCodes = require('./key-codes.cjs');
|
|
13
14
|
const formElements = require('./form-elements.cjs');
|
|
14
|
-
const affix = require('./affix.cjs');
|
|
15
15
|
const option = require('./option.cjs');
|
|
16
16
|
const definition$1 = require('./definition11.cjs');
|
|
17
17
|
const index = require('./index.cjs');
|
|
@@ -20,7 +20,7 @@ const when = require('./when.cjs');
|
|
|
20
20
|
const slotted = require('./slotted.cjs');
|
|
21
21
|
const classNames = require('./class-names.cjs');
|
|
22
22
|
|
|
23
|
-
const styles = ".chevron{display:flex;flex-shrink:0;font:var(--vvd-typography-base-extended);transform:rotate(0);transition:transform .2s}:host([aria-expanded=true]) .chevron,:host([open]) .chevron{transform:rotate(180deg)}:host(:focus-visible){outline:none}:host{display:inline-flex;flex-direction:column;gap:4px;--_low-ink-color: var(--vvd-color-neutral-600);--focus-stroke-gap-color: transparent}:host([disabled]){--_low-ink-color: var(--vvd-color-neutral-400);cursor:not-allowed}.label{color:var(--vvd-color-canvas-text);contain:inline-size;font:var(--vvd-typography-base)}.control{--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--_connotation-color-intermediate)}.control.appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.control:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--_connotation-color-fierce)}.control:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.control:where(.disabled,:disabled){--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: var(--vvd-color-neutral-300)}.control:where(.disabled,:disabled).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.control:where(.readonly):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-neutral-200);--_appearance-color-outline: var(--vvd-color-neutral-400)}.control:where(.readonly):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-600);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.control:where(.error):where(:not(.disabled,:disabled)){--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: var(--vvd-color-alert-500)}.control:where(.error):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: transparent}.control:where(.success):where(:not(.disabled,:disabled)){--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-success-50);--_appearance-color-outline: var(--vvd-color-success-500)}.control:where(.success):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-success-50);--_appearance-color-outline: transparent}.control{--_connotation-color-primary: var(--vvd-select-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-select-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-select-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-intermediate: var(--vvd-select-accent-intermediate, var(--vvd-color-neutral-500));--_connotation-color-faint: var(--vvd-select-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-select-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-firm: var(--vvd-select-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-fierce: var(--vvd-select-accent-fierce, var(--vvd-color-neutral-700))}.control{border-radius:var(--_select-control-border-radius);block-size:var(--_select-block-size);padding-inline:var(--_select-padding-inline)}.control{--_select-icon-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))/2) ;--_select-block-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;--_select-padding-inline: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))*.4) ;display:flex;align-items:center;justify-content:space-between;background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);color:var(--_appearance-color-text);font:var(--vvd-typography-base);gap:8px;transition:box-shadow .2s,background-color .2s}.control.size-condensed{--_select-icon-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))*.4) ;--_select-block-size: calc(1px*(32 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;--_select-padding-inline: calc(1px*(24 + 4*clamp(-1, var(--vvd-size-density, 0), 2))/2) }.control-wrapper{position:relative}.control:not(.disabled){cursor:pointer}.control.disabled{pointer-events:none}.control:not(.shape-pill){--_select-control-border-radius: 8px}.control.shape-pill{--_select-control-border-radius: 24px}:host(:focus-visible) .control{box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:
|
|
23
|
+
const styles = ".chevron{display:flex;flex-shrink:0;font:var(--vvd-typography-base-extended);transform:rotate(0);transition:transform .2s}:host([aria-expanded=true]) .chevron,:host([open]) .chevron{transform:rotate(180deg)}:host(:focus-visible){outline:none}:host{display:inline-flex;flex-direction:column;gap:4px;--_low-ink-color: var(--vvd-color-neutral-600);--focus-stroke-gap-color: transparent}:host([disabled]){--_low-ink-color: var(--vvd-color-neutral-400);cursor:not-allowed}.label{color:var(--vvd-color-canvas-text);contain:inline-size;font:var(--vvd-typography-base)}.control{--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--_connotation-color-intermediate)}.control.appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.control:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--_connotation-color-fierce)}.control:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.control:where(.disabled,:disabled){--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: var(--vvd-color-neutral-300)}.control:where(.disabled,:disabled).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.control:where(.readonly):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-neutral-200);--_appearance-color-outline: var(--vvd-color-neutral-400)}.control:where(.readonly):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-600);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.control:where(.error):where(:not(.disabled,:disabled)){--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: var(--vvd-color-alert-500)}.control:where(.error):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: transparent}.control:where(.success):where(:not(.disabled,:disabled)){--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-success-50);--_appearance-color-outline: var(--vvd-color-success-500)}.control:where(.success):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-success-50);--_appearance-color-outline: transparent}.control{--_connotation-color-primary: var(--vvd-select-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-select-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-select-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-intermediate: var(--vvd-select-accent-intermediate, var(--vvd-color-neutral-500));--_connotation-color-faint: var(--vvd-select-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-select-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-firm: var(--vvd-select-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-fierce: var(--vvd-select-accent-fierce, var(--vvd-color-neutral-700))}.control{border-radius:var(--_select-control-border-radius);block-size:var(--_select-block-size);padding-inline:var(--_select-padding-inline)}.control{--_select-icon-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))/2) ;--_select-block-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;--_select-padding-inline: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))*.4) ;display:flex;align-items:center;justify-content:space-between;background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);color:var(--_appearance-color-text);font:var(--vvd-typography-base);gap:8px;transition:box-shadow .2s,background-color .2s}.control.size-condensed{--_select-icon-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))*.4) ;--_select-block-size: calc(1px*(32 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;--_select-padding-inline: calc(1px*(24 + 4*clamp(-1, var(--vvd-size-density, 0), 2))/2) }.control.size-condensed:not(.shape-pill){--_select-control-border-radius: 4px}.control-wrapper{position:relative}.control:not(.disabled){cursor:pointer}.control.disabled{pointer-events:none}.control:not(.shape-pill){--_select-control-border-radius: 8px}.control.shape-pill{--_select-control-border-radius: 24px}:host(:focus-visible) .control{box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px))}.listbox{display:flex;max-height:var(--select-height, 408px);flex-direction:column;padding:4px;gap:2px;overflow-y:auto}:host([multiple]:focus-visible) .listbox{box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px));border-radius:8px}.selected-value{display:flex;overflow:hidden;flex-grow:1;align-items:center;column-gap:12px;white-space:nowrap}.selected-value .text{overflow:hidden;max-inline-size:100%;text-overflow:ellipsis}.control.shows-placeholder .selected-value .text{color:var(--vvd-color-neutral-600)}.selected-value slot[name=icon]{flex:0 0 var(--_select-icon-size);font-size:var(--_select-icon-size);line-height:1}.control.has-meta .selected-value{padding-inline-end:8px}.feedback-wrapper{display:contents}::part(popup-base){inline-size:max-content;min-inline-size:var(--_select-fixed-width, 100%)}:host([multiple]) ::part(popup-base){position:static}";
|
|
24
24
|
|
|
25
25
|
class _Select extends listbox.Listbox {
|
|
26
26
|
}
|
|
@@ -41,7 +41,7 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
41
41
|
if (kind && result) __defProp(target, key, result);
|
|
42
42
|
return result;
|
|
43
43
|
};
|
|
44
|
-
exports.Select = class Select extends FormAssociatedSelect {
|
|
44
|
+
exports.Select = class Select extends affix.AffixIconWithTrailing(FormAssociatedSelect) {
|
|
45
45
|
constructor() {
|
|
46
46
|
super(...arguments);
|
|
47
47
|
this.activeIndex = -1;
|
|
@@ -752,7 +752,6 @@ exports.Select = __decorateClass([
|
|
|
752
752
|
], exports.Select);
|
|
753
753
|
applyMixinsWithObservables.applyMixinsWithObservables(
|
|
754
754
|
exports.Select,
|
|
755
|
-
affix.AffixIconWithTrailing,
|
|
756
755
|
formElements.FormElementHelperText,
|
|
757
756
|
formElements.FormElementSuccessText
|
|
758
757
|
);
|