@vonage/vivid 5.3.0 → 5.4.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/accordion-item/definition.js +1 -1
- package/alert/definition.cjs +1 -1
- package/alert/definition.js +2 -2
- package/badge/definition.js +1 -1
- package/banner/definition.js +1 -1
- package/bundled/calendar-picker.template.cjs +7 -7
- package/bundled/calendar-picker.template.js +101 -101
- package/bundled/definition11.cjs +13 -13
- package/bundled/definition11.js +202 -50
- package/bundled/definition19.cjs +24 -25
- package/bundled/definition19.js +152 -164
- package/bundled/definition6.cjs +3 -3
- package/bundled/definition6.js +19 -19
- package/bundled/definition9.cjs +5 -5
- package/bundled/definition9.js +394 -392
- package/bundled/listbox.cjs +1 -1
- package/bundled/listbox.js +82 -102
- package/bundled/localized.cjs +1 -1
- package/bundled/localized.js +18 -14
- package/bundled/vivid-element.cjs +5 -1
- package/bundled/vivid-element.js +401 -358
- package/calendar/index.cjs +1 -1
- package/calendar/index.js +14 -14
- package/card/definition.cjs +1 -1
- package/card/definition.js +1 -1
- package/color-picker/definition.cjs +1 -1
- package/color-picker/definition.js +1 -1
- package/combobox/definition.cjs +7 -27
- package/combobox/definition.js +8 -28
- package/combobox/index.cjs +6 -6
- package/combobox/index.js +57 -71
- package/custom-elements.json +305 -2
- package/date-picker/definition.cjs +1 -1
- package/date-picker/definition.js +1 -1
- package/date-range-picker/definition.cjs +1 -1
- package/date-range-picker/definition.js +1 -1
- package/date-time-picker/definition.cjs +1 -1
- package/date-time-picker/definition.js +1 -1
- package/dialog/definition.cjs +2 -2
- package/dialog/definition.js +2 -2
- package/dialog/index.cjs +7 -7
- package/dialog/index.js +6 -6
- package/elevation/definition.cjs +1 -1
- package/elevation/definition.js +1 -1
- package/fab/definition.js +1 -1
- package/header/definition.cjs +1 -1
- package/header/definition.js +1 -1
- package/index.cjs +3 -4
- package/index.js +2 -3
- package/lib/accordion/accordion.d.ts +1 -1
- package/lib/accordion/definition.d.ts +1 -1
- package/lib/audio-player/audio-player.d.ts +1 -1
- package/lib/combobox/combobox.d.ts +1 -0
- package/lib/combobox/combobox.options.d.ts +1 -1
- package/lib/divider/divider.d.ts +1 -1
- package/lib/menu-item/menu-item-role.d.ts +1 -1
- package/lib/popup/popup.d.ts +1 -1
- package/lib/searchable-select/locale.d.ts +4 -0
- package/lib/searchable-select/searchable-select.d.ts +3 -0
- package/lib/select/select.d.ts +3 -1
- package/lib/slider/slider.d.ts +1 -1
- package/lib/tabs/tabs.d.ts +2 -2
- package/lib/text-area/text-area.d.ts +1 -1
- package/lib/text-field/text-field.d.ts +1 -1
- package/locales/de-DE.cjs +4 -0
- package/locales/de-DE.js +4 -0
- package/locales/en-GB.cjs +4 -0
- package/locales/en-GB.js +4 -0
- package/locales/en-US.cjs +4 -0
- package/locales/en-US.js +4 -0
- package/locales/ja-JP.cjs +4 -0
- package/locales/ja-JP.js +4 -0
- package/locales/zh-CN.cjs +4 -0
- package/locales/zh-CN.js +4 -0
- package/menu/definition.cjs +4 -4
- package/menu/definition.js +4 -4
- package/nav-disclosure/definition.js +1 -1
- package/nav-item/definition.js +1 -1
- package/note/definition.js +1 -1
- package/number-field/definition.js +1 -1
- package/option/definition.cjs +6 -77
- package/option/definition.js +3 -78
- package/package.json +31 -5
- package/popup/definition.cjs +2 -2
- package/popup/definition.js +2 -2
- package/range-slider/definition.cjs +1 -1
- package/range-slider/definition.js +1 -1
- package/rich-text-editor/definition.cjs +2 -3
- package/rich-text-editor/definition.js +1 -2
- package/rich-text-editor/index.cjs +27 -27
- package/rich-text-editor/index.js +1208 -1198
- package/searchable-select/definition.cjs +103 -11
- package/searchable-select/definition.js +103 -11
- package/searchable-select/index.cjs +81 -69
- package/searchable-select/index.js +359 -273
- package/select/definition.cjs +24 -41
- package/select/definition.js +24 -41
- package/selectable-box/definition.cjs +1 -1
- package/selectable-box/definition.js +1 -1
- package/selectable-box/index.cjs +1 -1
- package/selectable-box/index.js +1 -1
- package/shared/aria/aria-mixin.d.ts +1 -1
- package/shared/foundation/listbox/listbox.d.ts +4 -0
- package/simple-color-picker/definition.cjs +1 -1
- package/simple-color-picker/definition.js +1 -1
- package/slider/definition.cjs +1 -1
- package/slider/definition.js +1 -1
- package/split-button/definition.js +1 -1
- 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/tab/definition.js +1 -1
- package/tag/definition.js +1 -1
- package/text-field/definition.js +1 -1
- package/time-picker/definition.cjs +1 -1
- package/time-picker/definition.js +1 -1
- package/toggletip/definition.cjs +1 -1
- package/toggletip/definition.js +1 -1
- package/tooltip/definition.cjs +1 -1
- package/tooltip/definition.js +1 -1
- package/tree-item/definition.cjs +1 -1
- package/tree-item/definition.js +1 -1
- package/tree-view/definition.cjs +1 -1
- package/tree-view/definition.js +1 -1
- package/unbundled/affix.js +1 -1
- package/unbundled/calendar-picker.template.cjs +1 -1
- package/unbundled/calendar-picker.template.js +1 -1
- package/unbundled/definition.js +1 -1
- package/unbundled/definition2.js +1 -1
- package/unbundled/definition3.cjs +222 -141
- package/unbundled/definition3.js +220 -139
- package/unbundled/definition4.cjs +145 -235
- package/unbundled/definition4.js +143 -233
- package/unbundled/definition5.cjs +269 -27
- package/unbundled/definition5.js +267 -26
- package/unbundled/definition6.cjs +56 -0
- package/unbundled/definition6.js +52 -0
- package/unbundled/listbox.cjs +41 -63
- package/unbundled/listbox.js +39 -61
- package/unbundled/picker-field.template.cjs +1 -1
- package/unbundled/picker-field.template.js +1 -1
- package/unbundled/slider.template.cjs +1 -1
- package/unbundled/slider.template.js +1 -1
- package/unbundled/vivid-element.cjs +1 -1
- package/unbundled/vivid-element.js +1 -1
- package/video-player/definition.cjs +56 -16
- package/video-player/definition.js +56 -16
- package/video-player/index.cjs +36 -36
- package/video-player/index.js +2461 -2445
- package/vivid.api.json +285 -38
- package/bundled/option.cjs +0 -1
- package/bundled/option.js +0 -158
- package/unbundled/option.cjs +0 -217
- package/unbundled/option.js +0 -214
|
@@ -1,116 +1,127 @@
|
|
|
1
|
-
"use strict";const x=require("../bundled/definition3.cjs"),I=require("../bundled/definition9.cjs"),y=require("../bundled/definition2.cjs"),F=require("../bundled/definition15.cjs"),s=require("../bundled/vivid-element.cjs"),D=require("../bundled/mixins.cjs"),z=require("../bundled/scrollIntoView.cjs"),R=require("../bundled/delegates-aria.cjs"),E=require("../bundled/form-associated.cjs"),q=require("../bundled/with-contextual-help.cjs"),P=require("../bundled/with-error-text.cjs"),L=require("../bundled/with-success-text.cjs"),A=require("../bundled/form-element.cjs"),w=require("../bundled/affix.cjs"),V=require("../bundled/localized.cjs"),M=require("../bundled/option.cjs"),u=require("../bundled/when.cjs"),O=require("../bundled/slotted.cjs"),_=require("../bundled/ref.cjs"),m=require("../bundled/repeat.cjs"),$=require("../bundled/class-names.cjs"),N=".chevron{display:flex;flex-shrink:0;font:var(--vvd-typography-base-extended);transform:rotate(0);transition:transform .2s}:host([data-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)}.selection-count{color:var(--_low-ink-color);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(--vvd-color-neutral-500)}.fieldset.appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}@media (hover: hover){.fieldset: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(--vvd-color-neutral-700)}.fieldset: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.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(--vvd-color-neutral-700)}.fieldset.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: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:disabled.appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.fieldset.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.disabled.appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.fieldset.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.readonly:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-600);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.fieldset.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.error:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: transparent}.fieldset.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.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}@supports selector(:has(*)){.fieldset:not(.has-highlighted-option):has(input:focus){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}}@supports not selector(:has(*)){.fieldset:not(.has-highlighted-option):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:min(100px,40%);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);font:var(--vvd-typography-base);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}::slotted([data-vvd-component=option][data-highlighted]){border-radius:8px;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}.label-wrapper{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--label-wrapper-gap, 8px)}.label-wrapper[hidden]{display:none}.label-wrapper .label{flex:1 1 auto}.label-wrapper slot[name=contextual-help]::slotted([data-vvd-component=contextual-help]){margin-inline-start:auto}",B='.base.connotation-cta{--_connotation-color-contrast: var(--vvd-option-tag-cta-contrast, var(--vvd-color-cta-800))}.base:not(.connotation-cta){--_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: var(--_connotation-color-soft);--outline-color: transparent}@supports (background-color: color-mix(in srgb,black 50%,white)){.base:not(.disabled){--fill-color: color-mix( in srgb, var(--_connotation-color-contrast), transparent 87.5% )}}.base.disabled{--text-color: var(--vvd-color-neutral-300);--fill-color: var(--vvd-color-neutral-200);--outline-color: transparent}@supports (background-color: color-mix(in srgb,black 50%,white)){.base.disabled{--fill-color: color-mix( in srgb, var(--vvd-color-neutral-800), transparent 87.5% )}}.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}';var W=Object.defineProperty,c=(l,t,e,a)=>{for(var i=void 0,n=l.length-1,v;n>=0;n--)(v=l[n])&&(i=v(t,e,i)||i);return i&&W(t,e,i),i};const g=8,H=100,S=10,K=l=>typeof l=="string";class r extends q.WithContextualHelp(D.WithFeedback(P.WithErrorText(L.WithSuccessText(A.FormElement(R.DelegatesAria(w.AffixIconWithTrailing(V.Localized(E.FormAssociated(s.VividElement))))))))){constructor(){super(...arguments),this.fixedDropdown=!1,this.open=!1,this.multiple=!1,this.externalTags=!1,this.maxLines=null,this.values=[],this.initialValues=[],this._currentSearchText=null,this._areOptionsInitialized=!1,this.#s={handleChange:(t,e)=>{t.selected&&!this.values.includes(t.value)?this.values=[...this.values,t.value]:!t.selected&&this.values.includes(t.value)&&(this.values=this.values.filter(a=>a!==t.value))}},this.#t=new Map,this._filteredOptions=[],this._filteredEnabledOptions=[],this.loading=!1,this._highlightedOptionIndex=null,this._numElidedTags=0,this._tagRows=[],this._lastTagRow=[],this.clearable=!1,this.maxSelected=null,this._slottedDisabledOptions=[],this.proxy=document.createElement("input"),this.setFormValue=(t,e)=>{K(t)||super.setFormValue(t,e)},this._changeDescription="",this.#d=new ResizeObserver(()=>{this.#u()})}openChanged(){this.open||this.#e(null)}valuesChanged(){if(this._areOptionsInitialized){if(!this.multiple&&this.values.length>1){this.values=[this.values[0]];return}if(this.values.some(t=>!this.#p(t))){this.values=this.values.filter(t=>this.#p(t));return}this.value=this.values.length?this.values[0]:"",this.#c(),this.#_(),this.$fastController.isConnected&&this.#u(),this.#g()}}#a(t){this.values=t,this.$emit("change",void 0,{bubbles:!1}),this.$emit("input",void 0,{bubbles:!1})}#b(t){const e=new Set(this.values),a=new Set(t);this.values=[...this.values].filter(i=>a.has(i)).concat([...t].filter(i=>!e.has(i)))}initialValuesChanged(){this.dirtyValue||(this.values=this.initialValues,this.dirtyValue=!1)}#p(t){return this._slottedOptions.some(e=>e.value===t)}valueChanged(t,e){if(super.valueChanged(t,e),!this._areOptionsInitialized)return;const a=this._slottedOptions.some(i=>i.value===e);this.values[0]!==e&&(this.values=a?[e]:[])}get selectedIndex(){return this.values.length?this._slottedOptions.findIndex(t=>t.value===this.values[0]):-1}set selectedIndex(t){this.value=this._slottedOptions[t]?.value??""}get options(){return[...this._slottedOptions]}get selectedOptions(){return this._slottedOptions.filter(t=>this.values.includes(t.value))}_currentSearchTextChanged(){this.#o(),this.$emit("search-text-change",void 0,{bubbles:!1,composed:!1})}get searchText(){return this._currentSearchText??""}get _inputValue(){return this._currentSearchText??(!this.multiple&&this.value!==""?this.#k(this.value)??"":"")}_onInputInput(t){this._currentSearchText=t.target.value}_onInputFocus(t){this.#o()}_onInputBlur(t){this.open=!1,this._currentSearchText=null,this._changeDescription=""}_onInputKeydown(t){if(t.ctrlKey||t.shiftKey)return!0;switch(t.key){case"Enter":return this.#x(),this._inputValue===""&&(this.open=!this.open),!1;case"Escape":this.open=!1;break;case"Home":if(!this.open){this.open=!0;break}return this.#w(),!1;case"End":if(!this.open){this.open=!0;break}return this.#y(),!1;case"PageUp":if(!this.open){this.open=!0;break}return this.#$(),!1;case"PageDown":if(!this.open){this.open=!0;break}return this.#T(),!1;case"ArrowUp":if(!this.open){this.open=!0;break}return this.#O(),!1;case"ArrowDown":if(!this.open){this.open=!0;break}return this.#S(),!1;case"ArrowLeft":return this.multiple&&this._inputValue===""&&this.values.length&&!this.externalTags?(this.#i(this.#r(this.values.length)),!1):!0;case"Backspace":return this.multiple&&this._inputValue===""&&this.values.length?(this._onTagRemoved(this.values[this.values.length-1]),!1):!0;default:return this.open||(this.open=!0),!0}return!0}_slottedOptionsChanged(t,e){const a=!!this.querySelectorAll(":not([slot])").length;if(!e.length&&a)return;if(this._areOptionsInitialized=!0,t){this._slottedDisabledOptions=[];for(const n of t)s.Observable.getNotifier(n).unsubscribe(this.#s,"selected")}if(e)for(const n of e)n._displayCheckmark=!0,s.Observable.getNotifier(n).subscribe(this.#s,"selected");const i=[];for(const n of this._slottedOptions)(n.selected||n.value===this.value||this.values.includes(n.value))&&i.push(n.value),n.disabled&&this._slottedDisabledOptions.push(n);this.#b(i),this.#o(),this.#c()}#s;#_(){for(const t of this._slottedOptions)t.selected=this.values.includes(t.value),this.#m(t)}#h(t){const e=t.value;let a,i=!1;const n=!this.values.includes(e);this.multiple?(n?a=[...this.values,e]:a=this.values.filter(h=>h!==e),i=!0):(n?(a=[e],i=!0):a=[],this.open=!1),this.#a(a);const v=n?this.locale.searchableSelect.optionSelectedMessage(t._getAccessibleName()):this.locale.searchableSelect.optionDeselectedMessage(t._getAccessibleName()),p=this.multiple&&this.maxSelected&&this.maxSelected>=1?this.locale.searchableSelect.maxSelectedMessage(this.values.length,this.maxSelected):"";this._changeDescription=`${v} ${p}`,i&&(this._currentSearchText=null)}#t;#l(t){return t.querySelector('[slot="tag-icon"]')}_tagIconSlotName(t){return`_tag-icon-${this.values.indexOf(t)}`}#m(t){if(t.selected&&this.#l(t)){let e=this.#t.get(t);e||(e=this.#l(t).cloneNode(!0),this.#t.set(t,e)),e.slot=this._tagIconSlotName(t.value),this.appendChild(e)}else{const e=this.#t.get(t);e&&(e.remove(),this.#t.delete(t))}}optionFilterChanged(){this.#o()}loadingChanged(t,e){this._changeDescription=this.locale.searchableSelect.loadingOptionsMessage,t&&!e&&(this._changeDescription="")}#o(){const t=[],e=this.optionFilter??((a,i)=>a.text.toLowerCase().includes(i.toLowerCase()));for(const a of this._slottedOptions??[]){a._vvdSearchText=this.searchText;const i=!this.searchText||e(a,this.searchText);a._isNotMatching=!i,!a.hidden&&i&&t.push(a)}this.#e(null),this._filteredOptions=t,this._filteredEnabledOptions=t.filter(a=>!a.disabled)}#e(t){if(typeof this._highlightedOptionIndex=="number"){const e=this._filteredEnabledOptions[this._highlightedOptionIndex];e._highlighted=!1,e.removeAttribute("data-highlighted")}if(typeof t=="number"&&(this._filteredEnabledOptions.length?t=Math.max(0,Math.min(this._filteredEnabledOptions.length-1,t)):t=null),this._highlightedOptionIndex=t,typeof this._highlightedOptionIndex=="number"){const e=this._filteredEnabledOptions[this._highlightedOptionIndex];e._highlighted=!0,e.setAttribute("data-highlighted",""),z.scrollIntoView(e,this._listbox,"nearest"),this._changeDescription=this.locale.searchableSelect.optionFocusedMessage(e._getAccessibleName(),this._highlightedOptionIndex+1,this._filteredEnabledOptions.length,e.selected)}}#x(){this._highlightedOptionIndex!==null&&this.#h(this._filteredEnabledOptions[this._highlightedOptionIndex])}#w(){this.#e(0)}#y(){this.#e(this._filteredEnabledOptions.length-1)}#$(){this.#e((this._highlightedOptionIndex??this._filteredEnabledOptions.length)-S)}#T(){this.#e((this._highlightedOptionIndex??-1)+S)}#O(){this.#e((this._highlightedOptionIndex??this._filteredEnabledOptions.length)-1)}#S(){this.#e((this._highlightedOptionIndex??-1)+1)}_tagLabelForValue(t){return this._slottedOptions.find(a=>a.value===t).label}_tagConnotationForValue(t){return this._slottedOptions.find(a=>a.value===t).tagConnotation}_isTagDisabled(t){const e=this._slottedOptions.find(a=>a.value===t);return this.disabled||e.disabled}#k(t){return this._slottedOptions?.find(a=>a.value===t)?.label}#n(t,e,a){const i=document.createElement(this._optionTagTagName);i.label=t,i.removable=e,i.style.cssText="position: absolute; visibility: hidden;",i.hasIconPlaceholder=a,this.shadowRoot.appendChild(i);const n=i.getBoundingClientRect().width;return i.remove(),n}#u(){if(!this.multiple){this._numElidedTags=0,this._tagRows=[],this._lastTagRow=[];return}if(this.externalTags){this._numElidedTags=this.values.length,this._tagRows=[],this._lastTagRow=[];return}const t=this._contentArea.getBoundingClientRect().width,e=[[]];let a=0,i=H,n;for(n=this.values.length-1;n>=0;n--){const p=this.maxLines&&a===this.maxLines-1,h=this.#n(this._tagLabelForValue(this.values[n]),!0,this.#l(this.selectedOptions[n])!==null),o={value:this.values[n],width:h};let d=0;if(p){const T=n;T&&(d=g+this.#n(T.toString(),!1,!1))}if(i+g+h+d>t){if(p)if(n===this.values.length-1)e[a].unshift(o),i+=g+h;else break;else e.push([]),a++,e[a].unshift(o),i=h;continue}e[a].unshift(o),i+=g+h}this._numElidedTags=n+1,e.reverse();for(let p=0;p<e.length-1;p++){let h=e[p].map(o=>o.width).reduce((o,d)=>o+d,0)+(e[p].length-1)*g;for(p===0&&this._numElidedTags&&(h+=g+this.#n(this._numElidedTags.toString(),!1,!1));e[p+1].length&&h+g+e[p+1][0].width<=t;){const o=e[p+1].shift();e[p].push(o),h+=g+o.width}}const v=e.map(p=>p.map(h=>h.value));this._tagRows=v.slice(0,-1),this._lastTagRow=v.slice(-1)[0]}_onTagRemoved(t){this.#a(this.values.filter(e=>e!==t)),this.#o()}_onTagKeydown(t){const e=parseInt(t.target.dataset.index);switch(t.key){case"Backspace":case"Delete":case"Enter":case" ":{this._onTagRemoved(this.values[e]),s.Updates.process(),this.#i(this.#C(e));break}case"ArrowLeft":this.#i(this.#r(e)??e);break;case"ArrowRight":this.#i(this.#v(e));break}return!0}#i(t){t===null?this._input.focus():this.shadowRoot.querySelector(`[data-index="${t}"]`)?.focus()}#r(t){if(!this.values.length)return null;for(let e=t-1;e>=0;e--)if(!this._isTagDisabled(this.values[e]))return e;return null}#v(t){if(!this.values.length)return null;for(let e=t+1;e<this.values.length;e++)if(!this._isTagDisabled(this.values[e]))return e;return null}#C(t){return this.#v(t-1)??this.#r(t)}_onListboxClick(t){if(this.disabled)return;const e=t.target.closest("option,[role=option],[data-vvd-component=option]");e&&!e.disabled&&this.#h(e)}get _shouldShowClearButton(){return this.clearable&&this.values.length>0}_onClearButtonClick(){this.#a(this.selectedOptions.filter(t=>t.disabled).map(t=>t.value))}maxSelectedChanged(){this.#c()}#c(){if(!this.multiple||!this._slottedOptions||typeof this.maxSelected!="number"||this.maxSelected<=0)return;const t=this._slottedOptions.filter(e=>!this._slottedDisabledOptions.includes(e));if(this.values.length>=this.maxSelected){const e=t.filter(a=>!this.selectedOptions.includes(a));for(const a of e)a.disabled=!0}else for(const e of t)e.disabled=!1}get _hasSelectionCount(){return this.multiple&&this.maxSelected&&this.maxSelected>=1}#f(){return this.initialValues.length?this.initialValues:this.initialValue?[this.initialValue]:[]}nameChanged(t,e){super.nameChanged(t,e),this.#g()}#g(){if(!this.name)this.setFormValue(null);else{const t=new FormData;for(const e of this.values)t.append(this.name,e);this.setFormValue(t)}}formResetCallback(){super.formResetCallback(),this.#a(this.#f())}#d;_onFieldsetClick(t){this.disabled||t.defaultPrevented||(this._input.focus(),this.open=!0)}_onChevronClick(){return this.open?(this.open=!1,!1):!0}connectedCallback(){super.connectedCallback(),this.values.length||(this.values=this.#f()),this.#d.observe(this._contentArea)}disconnectedCallback(){super.disconnectedCallback(),this.#d.disconnect()}validate(){super.validate(this._input??void 0)}focus(t){this._input?.focus(t)}_onMouseDown(t){const e=t.composedPath()[0];return!t.defaultPrevented&&e!==this._input&&!this._isFromContextualHelp(t)?(this._input.focus(),!1):!0}}c([s.attr],r.prototype,"appearance");c([s.attr],r.prototype,"shape");c([s.attr({mode:"boolean",attribute:"fixed-dropdown"})],r.prototype,"fixedDropdown");c([s.attr],r.prototype,"placeholder");c([s.attr({mode:"boolean"})],r.prototype,"open");c([s.attr({mode:"boolean"})],r.prototype,"multiple");c([s.attr({attribute:"external-tags",mode:"boolean"})],r.prototype,"externalTags");c([s.attr({attribute:"max-lines",converter:s.nullableNumberConverter})],r.prototype,"maxLines");c([s.observable],r.prototype,"values");c([s.observable],r.prototype,"initialValues");c([s.observable],r.prototype,"_input");c([s.observable],r.prototype,"_currentSearchText");c([s.observable],r.prototype,"_slottedOptions");c([s.observable],r.prototype,"optionFilter");c([s.observable],r.prototype,"_filteredOptions");c([s.observable],r.prototype,"_filteredEnabledOptions");c([s.attr({mode:"boolean"})],r.prototype,"loading");c([s.observable],r.prototype,"_highlightedOptionIndex");c([s.observable],r.prototype,"_contentArea");c([s.observable],r.prototype,"_numElidedTags");c([s.observable],r.prototype,"_tagRows");c([s.observable],r.prototype,"_lastTagRow");c([s.observable],r.prototype,"_listbox");c([s.attr({mode:"boolean"})],r.prototype,"clearable");c([s.attr({attribute:"max-selected",converter:s.nullableNumberConverter})],r.prototype,"maxSelected");c([s.observable],r.prototype,"_slottedDisabledOptions");c([s.observable],r.prototype,"_changeDescription");c([s.observable],r.prototype,"_anchor");var j=Object.defineProperty,b=(l,t,e,a)=>{for(var i=void 0,n=l.length-1,v;n>=0;n--)(v=l[n])&&(i=v(t,e,i)||i);return i&&j(t,e,i),i};class f extends V.Localized(s.VividElement){constructor(){super(...arguments),this.removable=!1,this.disabled=!1,this.hasIconPlaceholder=!1}_onClickRemove(){this.$emit("remove",void 0,{bubbles:!1})}}b([s.attr],f.prototype,"shape");b([s.observable],f.prototype,"connotation");b([s.attr],f.prototype,"label");b([s.attr({mode:"boolean"})],f.prototype,"removable");b([s.attr({mode:"boolean"})],f.prototype,"disabled");b([s.observable],f.prototype,"hasIconPlaceholder");const U=l=>$.classNames(["disabled",l.disabled],[`appearance-${l.appearance}`,!!l.appearance],[`shape-${l.shape}`,!!l.shape],["error",!!l.errorValidationMessage],["success",!!l.successText],["has-highlighted-option",l._highlightedOptionIndex!==null]);function G(){return s.html`
|
|
2
|
-
<label for="control" class="label" id="label"> ${
|
|
3
|
-
`}function
|
|
1
|
+
"use strict";const x=require("../bundled/definition3.cjs"),F=require("../bundled/definition9.cjs"),y=require("../bundled/definition2.cjs"),$=require("../bundled/definition11.cjs"),A=require("../bundled/definition15.cjs"),i=require("../bundled/vivid-element.cjs"),D=require("../bundled/mixins.cjs"),E=require("../bundled/definition14.cjs"),z=require("../bundled/scrollIntoView.cjs"),V=require("../bundled/delegates-aria.cjs"),L=require("../bundled/form-associated.cjs"),q=require("../bundled/with-contextual-help.cjs"),M=require("../bundled/with-error-text.cjs"),P=require("../bundled/with-success-text.cjs"),N=require("../bundled/form-element.cjs"),w=require("../bundled/affix.cjs"),R=require("../bundled/localized.cjs"),B=require("../bundled/divider.cjs"),p=require("../bundled/when.cjs"),S=require("../bundled/slotted.cjs"),_=require("../bundled/ref.cjs"),m=require("../bundled/repeat.cjs"),O=require("../bundled/class-names.cjs"),W=".chevron{display:flex;flex-shrink:0;font:var(--vvd-typography-base-extended);transform:rotate(0);transition:transform .2s}:host([data-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)}.selection-count{color:var(--_low-ink-color);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(--vvd-color-neutral-500)}.fieldset.appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}@media (hover: hover){.fieldset: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(--vvd-color-neutral-700)}.fieldset: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.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(--vvd-color-neutral-700)}.fieldset.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: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:disabled.appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.fieldset.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.disabled.appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.fieldset.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.readonly:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-600);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.fieldset.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.error:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: transparent}.fieldset.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.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}@supports selector(:has(*)){.fieldset:not(.has-highlighted-option):has(input:focus){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}}@supports not selector(:has(*)){.fieldset:not(.has-highlighted-option):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:min(100px,40%);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);font:var(--vvd-typography-base);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}::slotted([data-vvd-component=option][data-highlighted]),[data-select-all][data-highlighted]{border-radius:8px;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}.divider{margin-block:10px;margin-inline:12px}.label-wrapper{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--label-wrapper-gap, 8px)}.label-wrapper[hidden]{display:none}.label-wrapper .label{flex:1 1 auto}.label-wrapper slot[name=contextual-help]::slotted([data-vvd-component=contextual-help]){margin-inline-start:auto}",H='.base.connotation-cta{--_connotation-color-contrast: var(--vvd-option-tag-cta-contrast, var(--vvd-color-cta-800))}.base:not(.connotation-cta){--_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: var(--_connotation-color-soft);--outline-color: transparent}@supports (background-color: color-mix(in srgb,black 50%,white)){.base:not(.disabled){--fill-color: color-mix( in srgb, var(--_connotation-color-contrast), transparent 87.5% )}}.base.disabled{--text-color: var(--vvd-color-neutral-300);--fill-color: var(--vvd-color-neutral-200);--outline-color: transparent}@supports (background-color: color-mix(in srgb,black 50%,white)){.base.disabled{--fill-color: color-mix( in srgb, var(--vvd-color-neutral-800), transparent 87.5% )}}.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}';var K=Object.defineProperty,c=(s,t,e,o)=>{for(var a=void 0,n=s.length-1,v;n>=0;n--)(v=s[n])&&(a=v(t,e,a)||a);return a&&K(t,e,a),a};const f=8,j=100,k=10,U=s=>typeof s=="string";class r extends q.WithContextualHelp(D.WithFeedback(M.WithErrorText(P.WithSuccessText(N.FormElement(V.DelegatesAria(w.AffixIconWithTrailing(R.Localized(L.FormAssociated(i.VividElement))))))))){constructor(){super(...arguments),this.fixedDropdown=!1,this.open=!1,this.multiple=!1,this.externalTags=!1,this.maxLines=null,this.values=[],this.initialValues=[],this._currentSearchText=null,this._areOptionsInitialized=!1,this.#i={handleChange:(t,e)=>{t.selected&&!this.values.includes(t.value)?this.values=[...this.values,t.value]:!t.selected&&this.values.includes(t.value)&&(this.values=this.values.filter(o=>o!==t.value))}},this.#a=new Map,this._filteredOptions=[],this._filteredEnabledOptions=[],this.loading=!1,this._highlightedOptionIndex=null,this._numElidedTags=0,this._tagRows=[],this._lastTagRow=[],this.clearable=!1,this.maxSelected=null,this._slottedDisabledOptions=[],this.enableSelectAll=!1,this.proxy=document.createElement("input"),this.setFormValue=(t,e)=>{U(t)||super.setFormValue(t,e)},this._changeDescription="",this.#d=new ResizeObserver(()=>{this.#u()})}openChanged(){this.open||this.#e(null)}valuesChanged(){if(this._areOptionsInitialized){if(!this.multiple&&this.values.length>1){this.values=[this.values[0]];return}if(this.values.some(t=>!this.#h(t))){this.values=this.values.filter(t=>this.#h(t));return}this.value=this.values.length?this.values[0]:"",this.#c(),this.#_(),this.$fastController.isConnected&&this.#u(),this.#f()}}#t(t){this.values=t,this.$emit("change",void 0,{bubbles:!1}),this.$emit("input",void 0,{bubbles:!1})}#b(t){const e=new Set(this.values),o=new Set(t);this.values=[...this.values].filter(a=>o.has(a)).concat([...t].filter(a=>!e.has(a)))}initialValuesChanged(){this.dirtyValue||(this.values=this.initialValues,this.dirtyValue=!1)}#h(t){return this._slottedOptions.some(e=>e.value===t)}valueChanged(t,e){if(super.valueChanged(t,e),!this._areOptionsInitialized)return;const o=this._slottedOptions.some(a=>a.value===e);this.values[0]!==e&&(this.values=o?[e]:[])}get selectedIndex(){return this.values.length?this._slottedOptions.findIndex(t=>t.value===this.values[0]):-1}set selectedIndex(t){this.value=this._slottedOptions[t]?.value??""}get options(){return[...this._slottedOptions]}get selectedOptions(){return this._slottedOptions.filter(t=>this.values.includes(t.value))}_currentSearchTextChanged(){this.#o(),this.$emit("search-text-change",void 0,{bubbles:!1,composed:!1})}get searchText(){return this._currentSearchText??""}get _inputValue(){return this._currentSearchText??(!this.multiple&&this.value!==""?this.#k(this.value)??"":"")}_onInputInput(t){this._currentSearchText=t.target.value}_onInputFocus(t){this.#o()}_onInputBlur(t){this.open=!1,this._currentSearchText=null,this._changeDescription=""}_onInputKeydown(t){if(t.ctrlKey||t.shiftKey)return!0;switch(t.key){case"Enter":return this.#x(),this._inputValue===""&&(this.open=!this.open),!1;case"Escape":this.open=!1;break;case"Home":if(!this.open){this.open=!0;break}return this.#w(),!1;case"End":if(!this.open){this.open=!0;break}return this.#y(),!1;case"PageUp":if(!this.open){this.open=!0;break}return this.#$(),!1;case"PageDown":if(!this.open){this.open=!0;break}return this.#O(),!1;case"ArrowUp":if(!this.open){this.open=!0;break}return this.#T(),!1;case"ArrowDown":if(!this.open){this.open=!0;break}return this.#S(),!1;case"ArrowLeft":return this.multiple&&this._inputValue===""&&this.values.length&&!this.externalTags?(this.#l(this.#r(this.values.length)),!1):!0;case"Backspace":return this.multiple&&this._inputValue===""&&this.values.length?(this._onTagRemoved(this.values[this.values.length-1]),!1):!0;default:return this.open||(this.open=!0),!0}return!0}_slottedOptionsChanged(t,e){const o=!!this.querySelectorAll(":not([slot])").length;if(!e.length&&o)return;if(this._areOptionsInitialized=!0,t){this._slottedDisabledOptions=[];for(const n of t)i.Observable.getNotifier(n).unsubscribe(this.#i,"selected")}if(e)for(const n of e)n._displayCheckmark=!0,i.Observable.getNotifier(n).subscribe(this.#i,"selected");const a=[];for(const n of this._slottedOptions)(n.selected||n.value===this.value||this.values.includes(n.value))&&a.push(n.value),n.disabled&&this._slottedDisabledOptions.push(n);this.#b(a),this.#o(),this.#c()}#i;#_(){for(const t of this._slottedOptions)t.selected=this.values.includes(t.value),this.#m(t)}#p(t){const e=t.value;let o,a=!1;const n=!this.values.includes(e);this.multiple?(n?o=[...this.values,e]:o=this.values.filter(u=>u!==e),a=!0):(n?(o=[e],a=!0):o=[],this.open=!1),this.#t(o);const v=n?this.locale.searchableSelect.optionSelectedMessage(t._getAccessibleName()):this.locale.searchableSelect.optionDeselectedMessage(t._getAccessibleName()),h=this.multiple&&this.maxSelected&&this.maxSelected>=1?this.locale.searchableSelect.maxSelectedMessage(this.values.length,this.maxSelected):"";this._changeDescription=`${v} ${h}`,a&&(this._currentSearchText=null)}#a;#s(t){return t.querySelector('[slot="tag-icon"]')}_tagIconSlotName(t){return`_tag-icon-${this.values.indexOf(t)}`}#m(t){if(t.selected&&this.#s(t)){let e=this.#a.get(t);e||(e=this.#s(t).cloneNode(!0),this.#a.set(t,e)),e.slot=this._tagIconSlotName(t.value),this.appendChild(e)}else{const e=this.#a.get(t);e&&(e.remove(),this.#a.delete(t))}}optionFilterChanged(){this.#o()}loadingChanged(t,e){this._changeDescription=this.locale.searchableSelect.loadingOptionsMessage,t&&!e&&(this._changeDescription="")}#o(){const t=[],e=this.optionFilter??((a,n)=>a.text.toLowerCase().includes(n.toLowerCase()));for(const a of this._slottedOptions??[]){a._vvdSearchText=this.searchText;const n=!this.searchText||e(a,this.searchText);a._isNotMatching=!n,!a.hidden&&n&&t.push(a)}this.#e(null),this._filteredOptions=t;const o=t.filter(a=>!a.disabled);this._selectAllOption?this._filteredEnabledOptions=[this._selectAllOption,...o]:this._filteredEnabledOptions=o}#e(t){if(typeof this._highlightedOptionIndex=="number"){const e=this._filteredEnabledOptions[this._highlightedOptionIndex];e._highlighted=!1,e.removeAttribute("data-highlighted")}if(typeof t=="number"&&(this._filteredEnabledOptions.length?t=Math.max(0,Math.min(this._filteredEnabledOptions.length-1,t)):t=null),this._highlightedOptionIndex=t,typeof this._highlightedOptionIndex=="number"){const e=this._filteredEnabledOptions[this._highlightedOptionIndex];e._highlighted=!0,e.setAttribute("data-highlighted",""),z.scrollIntoView(e,this._listbox,"nearest"),this._changeDescription=this.locale.searchableSelect.optionFocusedMessage(e._getAccessibleName(),this._highlightedOptionIndex+1,this._filteredEnabledOptions.length,e.selected)}}#x(){if(this._highlightedOptionIndex===null)return;const t=this._filteredEnabledOptions[this._highlightedOptionIndex];if(t.getAttribute("data-select-all")!==null){this._toggleSelectAll();return}this.#p(t)}#w(){this.#e(0)}#y(){this.#e(this._filteredEnabledOptions.length-1)}#$(){this.#e((this._highlightedOptionIndex??this._filteredEnabledOptions.length)-k)}#O(){this.#e((this._highlightedOptionIndex??-1)+k)}#T(){this.#e((this._highlightedOptionIndex??this._filteredEnabledOptions.length)-1)}#S(){this.#e((this._highlightedOptionIndex??-1)+1)}_tagLabelForValue(t){return this._slottedOptions.find(o=>o.value===t).label}_tagConnotationForValue(t){return this._slottedOptions.find(o=>o.value===t).tagConnotation}_isTagDisabled(t){const e=this._slottedOptions.find(o=>o.value===t);return this.disabled||e.disabled}#k(t){return this._slottedOptions?.find(o=>o.value===t)?.label}#n(t,e,o){const a=document.createElement(this._optionTagTagName);a.label=t,a.removable=e,a.style.cssText="position: absolute; visibility: hidden;",a.hasIconPlaceholder=o,this.shadowRoot.appendChild(a);const n=a.getBoundingClientRect().width;return a.remove(),n}#u(){if(!this.multiple){this._numElidedTags=0,this._tagRows=[],this._lastTagRow=[];return}if(this.externalTags){this._numElidedTags=this.values.length,this._tagRows=[],this._lastTagRow=[];return}const t=this._contentArea.getBoundingClientRect().width,e=[[]];let o=0,a=j,n;for(n=this.values.length-1;n>=0;n--){const h=this.maxLines&&o===this.maxLines-1,u=this.#n(this._tagLabelForValue(this.values[n]),!0,this.#s(this.selectedOptions[n])!==null),l={value:this.values[n],width:u};let d=0;if(h){const T=n;T&&(d=f+this.#n(T.toString(),!1,!1))}if(a+f+u+d>t){if(h)if(n===this.values.length-1)e[o].unshift(l),a+=f+u;else break;else e.push([]),o++,e[o].unshift(l),a=u;continue}e[o].unshift(l),a+=f+u}this._numElidedTags=n+1,e.reverse();for(let h=0;h<e.length-1;h++){let u=e[h].map(l=>l.width).reduce((l,d)=>l+d,0)+(e[h].length-1)*f;for(h===0&&this._numElidedTags&&(u+=f+this.#n(this._numElidedTags.toString(),!1,!1));e[h+1].length&&u+f+e[h+1][0].width<=t;){const l=e[h+1].shift();e[h].push(l),u+=f+l.width}}const v=e.map(h=>h.map(u=>u.value));this._tagRows=v.slice(0,-1),this._lastTagRow=v.slice(-1)[0]}_onTagRemoved(t){this.#t(this.values.filter(e=>e!==t)),this.#o()}_onTagKeydown(t){const e=parseInt(t.target.dataset.index);switch(t.key){case"Backspace":case"Delete":case"Enter":case" ":{this._onTagRemoved(this.values[e]),i.Updates.process(),this.#l(this.#C(e));break}case"ArrowLeft":this.#l(this.#r(e)??e);break;case"ArrowRight":this.#l(this.#v(e));break}return!0}#l(t){t===null?this._input.focus():this.shadowRoot.querySelector(`[data-index="${t}"]`)?.focus()}#r(t){if(!this.values.length)return null;for(let e=t-1;e>=0;e--)if(!this._isTagDisabled(this.values[e]))return e;return null}#v(t){if(!this.values.length)return null;for(let e=t+1;e<this.values.length;e++)if(!this._isTagDisabled(this.values[e]))return e;return null}#C(t){return this.#v(t-1)??this.#r(t)}_onListboxClick(t){if(this.disabled)return;const e=t.target.closest("option,[role=option],[data-vvd-component=option]");if(e?.getAttribute("data-select-all")!==null){this._toggleSelectAll();return}e&&!e.disabled&&this.#p(e)}get _shouldShowClearButton(){return this.clearable&&this.values.length>0}_onClearButtonClick(){this.#t(this.selectedOptions.filter(t=>t.disabled).map(t=>t.value))}maxSelectedChanged(){this.#c()}#c(){if(!this.multiple||!this._slottedOptions||typeof this.maxSelected!="number"||this.maxSelected<=0)return;const t=this._slottedOptions.filter(e=>!this._slottedDisabledOptions.includes(e));if(this.values.length>=this.maxSelected){const e=t.filter(o=>!this.selectedOptions.includes(o));for(const o of e)o.disabled=!0}else for(const e of t)e.disabled=!1}get _hasSelectionCount(){return this.multiple&&this.maxSelected&&this.maxSelected>=1}get _selectableOptions(){return this._slottedOptions?.filter(t=>!this._slottedDisabledOptions.includes(t)&&!t.disabled)??[]}get _selectAllLabel(){return this._isAllSelected?this.deselectAllText??this.locale.searchableSelect.deselectAllLabel:this.selectAllText??this.locale.searchableSelect.selectAllLabel}get _isAllSelected(){const t=this.values;if(!this.multiple||!this._slottedOptions)return!1;const e=this._selectableOptions;if(e.length===0)return!1;const o=new Set(t);return e.every(a=>o.has(a.value))}_toggleSelectAll(){const t=this._selectableOptions.map(a=>a.value);if(this._isAllSelected){const a=this.values.filter(n=>!t.includes(n));this.#t(a),this._changeDescription=this.locale.searchableSelect.deselectedAllMessage;return}const e=t.filter(a=>!this.values.includes(a)),o=[...this.values,...e];this.#t(o),this._changeDescription=this.locale.searchableSelect.selectedAllMessage}#g(){return this.initialValues.length?this.initialValues:this.initialValue?[this.initialValue]:[]}nameChanged(t,e){super.nameChanged(t,e),this.#f()}#f(){if(!this.name)this.setFormValue(null);else{const t=new FormData;for(const e of this.values)t.append(this.name,e);this.setFormValue(t)}}formResetCallback(){super.formResetCallback(),this.#t(this.#g())}#d;_onFieldsetClick(t){this.disabled||t.defaultPrevented||(this._input.focus(),this.open=!0)}_onChevronClick(){return this.open?(this.open=!1,!1):!0}connectedCallback(){super.connectedCallback(),this.values.length||(this.values=this.#g()),this.#d.observe(this._contentArea)}disconnectedCallback(){super.disconnectedCallback(),this.#d.disconnect()}validate(){super.validate(this._input??void 0)}focus(t){this._input?.focus(t)}_onMouseDown(t){const e=t.composedPath()[0];return!t.defaultPrevented&&e!==this._input&&!this._isFromContextualHelp(t)?(this._input.focus(),!1):!0}}c([i.attr],r.prototype,"appearance");c([i.attr],r.prototype,"shape");c([i.attr({mode:"boolean",attribute:"fixed-dropdown"})],r.prototype,"fixedDropdown");c([i.attr],r.prototype,"placeholder");c([i.attr({mode:"boolean"})],r.prototype,"open");c([i.attr({mode:"boolean"})],r.prototype,"multiple");c([i.attr({attribute:"external-tags",mode:"boolean"})],r.prototype,"externalTags");c([i.attr({attribute:"max-lines",converter:i.nullableNumberConverter})],r.prototype,"maxLines");c([i.observable],r.prototype,"values");c([i.observable],r.prototype,"initialValues");c([i.observable],r.prototype,"_input");c([i.observable],r.prototype,"_currentSearchText");c([i.observable],r.prototype,"_slottedOptions");c([i.observable],r.prototype,"optionFilter");c([i.observable],r.prototype,"_filteredOptions");c([i.observable],r.prototype,"_filteredEnabledOptions");c([i.attr({mode:"boolean"})],r.prototype,"loading");c([i.observable],r.prototype,"_highlightedOptionIndex");c([i.observable],r.prototype,"_contentArea");c([i.observable],r.prototype,"_numElidedTags");c([i.observable],r.prototype,"_tagRows");c([i.observable],r.prototype,"_lastTagRow");c([i.observable],r.prototype,"_listbox");c([i.attr({mode:"boolean"})],r.prototype,"clearable");c([i.attr({attribute:"max-selected",converter:i.nullableNumberConverter})],r.prototype,"maxSelected");c([i.observable],r.prototype,"_slottedDisabledOptions");c([i.attr({attribute:"enable-select-all",mode:"boolean"})],r.prototype,"enableSelectAll");c([i.attr({attribute:"select-all-text"})],r.prototype,"selectAllText");c([i.attr({attribute:"deselect-all-text"})],r.prototype,"deselectAllText");c([i.observable],r.prototype,"_selectAllOption");c([i.observable],r.prototype,"_changeDescription");c([i.observable],r.prototype,"_anchor");var G=Object.defineProperty,b=(s,t,e,o)=>{for(var a=void 0,n=s.length-1,v;n>=0;n--)(v=s[n])&&(a=v(t,e,a)||a);return a&&G(t,e,a),a};class g extends R.Localized(i.VividElement){constructor(){super(...arguments),this.removable=!1,this.disabled=!1,this.hasIconPlaceholder=!1}_onClickRemove(){this.$emit("remove",void 0,{bubbles:!1})}}b([i.attr],g.prototype,"shape");b([i.observable],g.prototype,"connotation");b([i.attr],g.prototype,"label");b([i.attr({mode:"boolean"})],g.prototype,"removable");b([i.attr({mode:"boolean"})],g.prototype,"disabled");b([i.observable],g.prototype,"hasIconPlaceholder");const J=s=>O.classNames(["disabled",s.disabled],[`appearance-${s.appearance}`,!!s.appearance],[`shape-${s.shape}`,!!s.shape],["error",!!s.errorValidationMessage],["success",!!s.successText],["has-highlighted-option",s._highlightedOptionIndex!==null]);function Q(){return i.html`
|
|
2
|
+
<label for="control" class="label" id="label"> ${s=>s.label} </label>
|
|
3
|
+
`}function X(){return i.html`
|
|
4
4
|
<span
|
|
5
5
|
id="selection-count"
|
|
6
6
|
class="selection-count"
|
|
7
|
-
aria-label="${
|
|
8
|
-
>(${
|
|
7
|
+
aria-label="${s=>s.locale.searchableSelect.maxSelectedMessage(s.values.length,s.maxSelected)}"
|
|
8
|
+
>(${s=>`${s.values.length}/${s.maxSelected}`})</span
|
|
9
9
|
>
|
|
10
|
-
`}const
|
|
10
|
+
`}const C=(s,t)=>{const e=s.tagFor(g);return i.html`
|
|
11
11
|
<div class="tag-wrapper">
|
|
12
12
|
<${e}
|
|
13
13
|
class="tag"
|
|
14
14
|
tabindex="-1"
|
|
15
|
-
data-index="${(a
|
|
15
|
+
data-index="${(o,a)=>t(a).values.indexOf(o)}"
|
|
16
16
|
removable
|
|
17
|
-
:label="${(a
|
|
18
|
-
:shape="${(a
|
|
19
|
-
:connotation="${(a
|
|
20
|
-
?disabled="${(a
|
|
21
|
-
@remove="${(a
|
|
22
|
-
@keydown="${(a
|
|
17
|
+
:label="${(o,a)=>t(a)._tagLabelForValue(o)}"
|
|
18
|
+
:shape="${(o,a)=>t(a).shape}"
|
|
19
|
+
:connotation="${(o,a)=>t(a)._tagConnotationForValue(o)}"
|
|
20
|
+
?disabled="${(o,a)=>t(a)._isTagDisabled(o)}"
|
|
21
|
+
@remove="${(o,a)=>t(a)._onTagRemoved(o)}"
|
|
22
|
+
@keydown="${(o,a)=>t(a)._onTagKeydown(a.event)}"
|
|
23
23
|
@mousedown="${()=>!1}">
|
|
24
|
-
<slot slot="icon" name="${(a
|
|
24
|
+
<slot slot="icon" name="${(o,a)=>t(a)._tagIconSlotName(o)}"></slot>
|
|
25
25
|
</${e}>
|
|
26
26
|
</div>
|
|
27
|
-
`},
|
|
27
|
+
`},I=(s,t)=>{const e=s.tagFor(g);return i.html`
|
|
28
28
|
<${e}
|
|
29
29
|
class="tag"
|
|
30
30
|
tabindex="-1"
|
|
31
|
-
:label="${(a
|
|
32
|
-
:shape="${(a
|
|
33
|
-
?disabled="${(a
|
|
31
|
+
:label="${(o,a)=>t(o,a)._numElidedTags.toString()}"
|
|
32
|
+
:shape="${(o,a)=>t(o,a).shape}"
|
|
33
|
+
?disabled="${(o,a)=>t(o,a).disabled}"
|
|
34
34
|
@mousedown="${()=>!1}">
|
|
35
35
|
</${e}>
|
|
36
|
-
`};function
|
|
36
|
+
`};function Y(s){const t=s.tagFor(x.Button),e=s.tagFor(A.ProgressRing),o=w.affixIconTemplateFactory(s),a=x.chevronTemplateFactory(s),n=C(s,l=>l.parent),v=C(s,l=>l.parentContext.parent),h=I(s,(l,d)=>l),u=I(s,(l,d)=>d.parent);return i.html`
|
|
37
37
|
<div
|
|
38
|
-
class="fieldset ${
|
|
39
|
-
@click="${(
|
|
38
|
+
class="fieldset ${J}"
|
|
39
|
+
@click="${(l,d)=>l._onFieldsetClick(d.event)}"
|
|
40
40
|
${_.ref("_anchor")}
|
|
41
41
|
>
|
|
42
|
-
${o
|
|
42
|
+
${l=>o(l.icon,w.IconWrapper.Slot)}
|
|
43
43
|
<div class="content-area" ${_.ref("_contentArea")}>
|
|
44
|
-
${m.repeat(
|
|
44
|
+
${m.repeat(l=>l._tagRows,i.html`
|
|
45
45
|
<div class="tag-row">
|
|
46
|
-
${
|
|
47
|
-
${m.repeat(
|
|
46
|
+
${p.when((l,d)=>d.isFirst&&d.parent._numElidedTags,u)}
|
|
47
|
+
${m.repeat(l=>l,v)}
|
|
48
48
|
</div>
|
|
49
49
|
`,{positioning:!0})}
|
|
50
50
|
<div
|
|
51
|
-
class="tag-row ${
|
|
51
|
+
class="tag-row ${l=>O.classNames(["contains-only-input",l._tagRows.length>0&&l._lastTagRow.length===0])}"
|
|
52
52
|
>
|
|
53
|
-
${
|
|
54
|
-
${m.repeat(
|
|
53
|
+
${p.when(l=>l._tagRows.length===0&&l._numElidedTags,h)}
|
|
54
|
+
${m.repeat(l=>l._lastTagRow,n)}
|
|
55
55
|
<input
|
|
56
56
|
id="control"
|
|
57
57
|
class="control"
|
|
58
58
|
autocomplete="off"
|
|
59
59
|
aria-controls="listbox"
|
|
60
|
-
aria-describedby="${
|
|
61
|
-
${
|
|
62
|
-
placeholder="${
|
|
60
|
+
aria-describedby="${l=>l._feedbackDescribedBy} ${l=>l.multiple&&l.maxSelected&&l.maxSelected>=1?"selection-count":null}"
|
|
61
|
+
${V.delegateAria({role:"combobox",ariaAutoComplete:"list",ariaHasPopup:"listbox",ariaExpanded:l=>l.open})}
|
|
62
|
+
placeholder="${l=>l.multiple&&l.values.length?"":l.placeholder}"
|
|
63
63
|
type="text"
|
|
64
|
-
?disabled="${
|
|
65
|
-
:value="${
|
|
66
|
-
@input="${(
|
|
67
|
-
@change="${(
|
|
68
|
-
@focus="${(
|
|
69
|
-
@blur="${(
|
|
70
|
-
@keydown="${(
|
|
64
|
+
?disabled="${l=>l.disabled}"
|
|
65
|
+
:value="${l=>l._inputValue}"
|
|
66
|
+
@input="${(l,d)=>{l._onInputInput(d.event),d.event.stopPropagation()}}"
|
|
67
|
+
@change="${(l,d)=>{d.event.stopPropagation()}}"
|
|
68
|
+
@focus="${(l,d)=>l._onInputFocus(d.event)}"
|
|
69
|
+
@blur="${(l,d)=>l._onInputBlur(d.event)}"
|
|
70
|
+
@keydown="${(l,d)=>l._onInputKeydown(d.event)}"
|
|
71
71
|
${_.ref("_input")}
|
|
72
72
|
/>
|
|
73
73
|
</div>
|
|
74
74
|
</div>
|
|
75
75
|
<slot name="meta"></slot>
|
|
76
|
-
${
|
|
77
|
-
aria-label="${
|
|
78
|
-
@click="${
|
|
76
|
+
${p.when(l=>l._shouldShowClearButton,i.html`<${t}
|
|
77
|
+
aria-label="${l=>l.locale.searchableSelect.clearButtonLabel}"
|
|
78
|
+
@click="${l=>l._onClearButtonClick()}"
|
|
79
79
|
@mousedown="${()=>!1}"
|
|
80
|
-
?disabled="${
|
|
81
|
-
:shape="${
|
|
80
|
+
?disabled="${l=>l.disabled}"
|
|
81
|
+
:shape="${l=>l.shape}"
|
|
82
82
|
size="super-condensed"
|
|
83
83
|
icon="close-line"
|
|
84
84
|
appearance="ghost-light"
|
|
85
85
|
tabindex="0"
|
|
86
86
|
></${t}>`)}
|
|
87
|
-
<div @mousedown="${()=>!1}" @click="${
|
|
88
|
-
${
|
|
89
|
-
${
|
|
87
|
+
<div @mousedown="${()=>!1}" @click="${l=>l._onChevronClick()}">
|
|
88
|
+
${p.when(l=>l.loading,i.html`<${e} indeterminate size="-6" aria-hidden="true"></${e}>`)}
|
|
89
|
+
${p.when(l=>!l.loading,a)}
|
|
90
90
|
</div>
|
|
91
91
|
</div>
|
|
92
|
-
`}function
|
|
92
|
+
`}function Z(s){return s.open&&s.fixedDropdown?`--_searchable-select-fixed-width: ${Math.round(s.getBoundingClientRect().width)}px`:null}function ee(s){const t=s.tagFor($.ListboxOption),e=s.tagFor(B.Divider);return i.html`
|
|
93
|
+
<${t}
|
|
94
|
+
data-select-all
|
|
95
|
+
tabindex="-1"
|
|
96
|
+
:text="${o=>o._selectAllLabel}"
|
|
97
|
+
:selected="${o=>o._isAllSelected}"
|
|
98
|
+
:_displayCheckmark="${()=>!0}"
|
|
99
|
+
?disabled="${o=>o._selectableOptions.length===0}"
|
|
100
|
+
${_.ref("_selectAllOption")}>
|
|
101
|
+
</${t}>
|
|
102
|
+
<${e} class="divider"></${e}>
|
|
103
|
+
`}function te(s){const t=s.tagFor(F.Popup);return i.html`
|
|
93
104
|
<div class="label-wrapper" ?hidden=${e=>!e.label&&!e._hasContextualHelp&&!e._hasSelectionCount}>
|
|
94
|
-
${
|
|
105
|
+
${p.when(e=>e.label||e._hasSelectionCount,i.html`
|
|
95
106
|
<div>
|
|
96
|
-
${
|
|
97
|
-
${
|
|
107
|
+
${p.when(e=>e.label,Q())}
|
|
108
|
+
${p.when(e=>e._hasSelectionCount,X())}
|
|
98
109
|
</div>
|
|
99
110
|
`)}
|
|
100
|
-
<slot name="contextual-help" ${
|
|
111
|
+
<slot name="contextual-help" ${S.slotted("_contextualHelpSlottedContent")}></slot>
|
|
101
112
|
</div>
|
|
102
113
|
<span aria-live="assertive" aria-relevant="text" class="visually-hidden">
|
|
103
114
|
${e=>e._changeDescription}
|
|
104
115
|
</span>
|
|
105
116
|
<div>
|
|
106
|
-
${
|
|
117
|
+
${Y(s)}
|
|
107
118
|
<div class="popup-wrapper">
|
|
108
119
|
<${t}
|
|
109
120
|
:anchor="${e=>e._anchor}"
|
|
110
121
|
:open="${e=>e.open}"
|
|
111
122
|
class="popup"
|
|
112
123
|
placement="bottom-start"
|
|
113
|
-
style="${
|
|
124
|
+
style="${Z}"
|
|
114
125
|
strategy="${e=>e.fixedDropdown?"fixed":"absolute"}">
|
|
115
126
|
<div
|
|
116
127
|
class="listbox"
|
|
@@ -118,20 +129,21 @@
|
|
|
118
129
|
aria-multiselectable="${e=>e.multiple}"
|
|
119
130
|
aria-required="${e=>e.required}"
|
|
120
131
|
${_.ref("_listbox")}
|
|
121
|
-
@click="${(e,
|
|
132
|
+
@click="${(e,o)=>e._onListboxClick(o.event)}"
|
|
122
133
|
@mousedown="${()=>!1}"
|
|
123
134
|
>
|
|
135
|
+
${p.when(e=>e.enableSelectAll&&e.multiple&&!e.maxSelected,ee(s))}
|
|
124
136
|
<slot
|
|
125
|
-
${
|
|
137
|
+
${S.slotted({filter:$.isListboxOption,flatten:!0,property:"_slottedOptions"})}>
|
|
126
138
|
</slot>
|
|
127
|
-
${
|
|
128
|
-
${
|
|
139
|
+
${p.when(e=>e._filteredOptions.length===0,i.html`<div class="empty-message">
|
|
140
|
+
${p.when(e=>e.loading,i.html`<slot name="loading-options">
|
|
129
141
|
${e=>e.locale.searchableSelect.loadingOptionsMessage}
|
|
130
142
|
</slot>`)}
|
|
131
|
-
${
|
|
143
|
+
${p.when(e=>!e.loading&&e.searchText==="",i.html`<slot name="no-options">
|
|
132
144
|
${e=>e.locale.searchableSelect.noOptionsMessage}
|
|
133
145
|
</slot>`)}
|
|
134
|
-
${
|
|
146
|
+
${p.when(e=>!e.loading&&e.searchText!=="",i.html`<slot name="no-matches">
|
|
135
147
|
${e=>e.locale.searchableSelect.noMatchesMessage}
|
|
136
148
|
</slot>`)}
|
|
137
149
|
</div>`)}
|
|
@@ -139,16 +151,16 @@
|
|
|
139
151
|
</${t}>
|
|
140
152
|
</div>
|
|
141
153
|
</div>
|
|
142
|
-
`}const
|
|
154
|
+
`}const ae=s=>{const t=s.tagFor(g,!0);return i.html`
|
|
143
155
|
<template
|
|
144
156
|
:_optionTagTagName="${()=>t}"
|
|
145
|
-
@mousedown="${(e,
|
|
157
|
+
@mousedown="${(e,o)=>e._onMouseDown(o.event)}"
|
|
146
158
|
>
|
|
147
159
|
<div class="control-wrapper">
|
|
148
|
-
${
|
|
160
|
+
${te(s)} ${e=>e._getFeedbackTemplate(s)}
|
|
149
161
|
</div>
|
|
150
162
|
</template>
|
|
151
|
-
`},
|
|
163
|
+
`},oe=({shape:s,connotation:t,disabled:e,removable:o})=>O.classNames("base",["disabled",e],["removable",o],[`shape-${s}`,!!s],[`connotation-${t}`,!!t]);function le(s){return i.html`
|
|
152
164
|
<span
|
|
153
165
|
class="remove-button"
|
|
154
166
|
aria-label="${t=>t.locale.searchableSelect.removeTagButtonLabel(t.label)}"
|
|
@@ -156,12 +168,12 @@
|
|
|
156
168
|
tabindex="${t=>t.disabled?null:0}"
|
|
157
169
|
@click="${t=>t._onClickRemove()}"
|
|
158
170
|
>
|
|
159
|
-
<${
|
|
171
|
+
<${s} name="close-line"></${s}>
|
|
160
172
|
</span>
|
|
161
|
-
`}const
|
|
173
|
+
`}const ie=s=>{const t=s.tagFor(y.Icon);return i.html`<span class="${oe}" aria-disabled="${e=>e.disabled}">
|
|
162
174
|
<slot name="icon" aria-hidden="true">
|
|
163
|
-
${
|
|
175
|
+
${p.when(e=>e.hasIconPlaceholder,i.html`<div class="icon-placeholder"></div>`)}
|
|
164
176
|
</slot>
|
|
165
|
-
${
|
|
166
|
-
${
|
|
167
|
-
</span>`},
|
|
177
|
+
${p.when(e=>e.label,e=>i.html`<span class="label">${e.label}</span>`)}
|
|
178
|
+
${p.when(e=>e.removable,le(t))}
|
|
179
|
+
</span>`},se=i.defineVividComponent("option-tag",g,ie,[y.iconDefinition],{styles:[H],shadowOptions:{delegatesFocus:!0}}),ne=i.defineVividComponent("searchable-select",r,ae,[x.buttonDefinition,F.popupDefinition,y.iconDefinition,se,A.progressRingDefinition,D.feedbackMessageDefinition,$.listboxOptionDefinition,E.dividerDefinition],{styles:W}),re=i.createRegisterFunction(ne);re();
|