@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.
Files changed (157) hide show
  1. package/accordion-item/definition.js +1 -1
  2. package/alert/definition.cjs +1 -1
  3. package/alert/definition.js +2 -2
  4. package/badge/definition.js +1 -1
  5. package/banner/definition.js +1 -1
  6. package/bundled/calendar-picker.template.cjs +7 -7
  7. package/bundled/calendar-picker.template.js +101 -101
  8. package/bundled/definition11.cjs +13 -13
  9. package/bundled/definition11.js +202 -50
  10. package/bundled/definition19.cjs +24 -25
  11. package/bundled/definition19.js +152 -164
  12. package/bundled/definition6.cjs +3 -3
  13. package/bundled/definition6.js +19 -19
  14. package/bundled/definition9.cjs +5 -5
  15. package/bundled/definition9.js +394 -392
  16. package/bundled/listbox.cjs +1 -1
  17. package/bundled/listbox.js +82 -102
  18. package/bundled/localized.cjs +1 -1
  19. package/bundled/localized.js +18 -14
  20. package/bundled/vivid-element.cjs +5 -1
  21. package/bundled/vivid-element.js +401 -358
  22. package/calendar/index.cjs +1 -1
  23. package/calendar/index.js +14 -14
  24. package/card/definition.cjs +1 -1
  25. package/card/definition.js +1 -1
  26. package/color-picker/definition.cjs +1 -1
  27. package/color-picker/definition.js +1 -1
  28. package/combobox/definition.cjs +7 -27
  29. package/combobox/definition.js +8 -28
  30. package/combobox/index.cjs +6 -6
  31. package/combobox/index.js +57 -71
  32. package/custom-elements.json +305 -2
  33. package/date-picker/definition.cjs +1 -1
  34. package/date-picker/definition.js +1 -1
  35. package/date-range-picker/definition.cjs +1 -1
  36. package/date-range-picker/definition.js +1 -1
  37. package/date-time-picker/definition.cjs +1 -1
  38. package/date-time-picker/definition.js +1 -1
  39. package/dialog/definition.cjs +2 -2
  40. package/dialog/definition.js +2 -2
  41. package/dialog/index.cjs +7 -7
  42. package/dialog/index.js +6 -6
  43. package/elevation/definition.cjs +1 -1
  44. package/elevation/definition.js +1 -1
  45. package/fab/definition.js +1 -1
  46. package/header/definition.cjs +1 -1
  47. package/header/definition.js +1 -1
  48. package/index.cjs +3 -4
  49. package/index.js +2 -3
  50. package/lib/accordion/accordion.d.ts +1 -1
  51. package/lib/accordion/definition.d.ts +1 -1
  52. package/lib/audio-player/audio-player.d.ts +1 -1
  53. package/lib/combobox/combobox.d.ts +1 -0
  54. package/lib/combobox/combobox.options.d.ts +1 -1
  55. package/lib/divider/divider.d.ts +1 -1
  56. package/lib/menu-item/menu-item-role.d.ts +1 -1
  57. package/lib/popup/popup.d.ts +1 -1
  58. package/lib/searchable-select/locale.d.ts +4 -0
  59. package/lib/searchable-select/searchable-select.d.ts +3 -0
  60. package/lib/select/select.d.ts +3 -1
  61. package/lib/slider/slider.d.ts +1 -1
  62. package/lib/tabs/tabs.d.ts +2 -2
  63. package/lib/text-area/text-area.d.ts +1 -1
  64. package/lib/text-field/text-field.d.ts +1 -1
  65. package/locales/de-DE.cjs +4 -0
  66. package/locales/de-DE.js +4 -0
  67. package/locales/en-GB.cjs +4 -0
  68. package/locales/en-GB.js +4 -0
  69. package/locales/en-US.cjs +4 -0
  70. package/locales/en-US.js +4 -0
  71. package/locales/ja-JP.cjs +4 -0
  72. package/locales/ja-JP.js +4 -0
  73. package/locales/zh-CN.cjs +4 -0
  74. package/locales/zh-CN.js +4 -0
  75. package/menu/definition.cjs +4 -4
  76. package/menu/definition.js +4 -4
  77. package/nav-disclosure/definition.js +1 -1
  78. package/nav-item/definition.js +1 -1
  79. package/note/definition.js +1 -1
  80. package/number-field/definition.js +1 -1
  81. package/option/definition.cjs +6 -77
  82. package/option/definition.js +3 -78
  83. package/package.json +31 -5
  84. package/popup/definition.cjs +2 -2
  85. package/popup/definition.js +2 -2
  86. package/range-slider/definition.cjs +1 -1
  87. package/range-slider/definition.js +1 -1
  88. package/rich-text-editor/definition.cjs +2 -3
  89. package/rich-text-editor/definition.js +1 -2
  90. package/rich-text-editor/index.cjs +27 -27
  91. package/rich-text-editor/index.js +1208 -1198
  92. package/searchable-select/definition.cjs +103 -11
  93. package/searchable-select/definition.js +103 -11
  94. package/searchable-select/index.cjs +81 -69
  95. package/searchable-select/index.js +359 -273
  96. package/select/definition.cjs +24 -41
  97. package/select/definition.js +24 -41
  98. package/selectable-box/definition.cjs +1 -1
  99. package/selectable-box/definition.js +1 -1
  100. package/selectable-box/index.cjs +1 -1
  101. package/selectable-box/index.js +1 -1
  102. package/shared/aria/aria-mixin.d.ts +1 -1
  103. package/shared/foundation/listbox/listbox.d.ts +4 -0
  104. package/simple-color-picker/definition.cjs +1 -1
  105. package/simple-color-picker/definition.js +1 -1
  106. package/slider/definition.cjs +1 -1
  107. package/slider/definition.js +1 -1
  108. package/split-button/definition.js +1 -1
  109. package/styles/core/all.css +1 -1
  110. package/styles/core/theme.css +1 -1
  111. package/styles/core/typography.css +1 -1
  112. package/styles/tokens/theme-dark.css +4 -4
  113. package/styles/tokens/theme-light.css +4 -4
  114. package/styles/tokens/vivid-2-compat.css +1 -1
  115. package/tab/definition.js +1 -1
  116. package/tag/definition.js +1 -1
  117. package/text-field/definition.js +1 -1
  118. package/time-picker/definition.cjs +1 -1
  119. package/time-picker/definition.js +1 -1
  120. package/toggletip/definition.cjs +1 -1
  121. package/toggletip/definition.js +1 -1
  122. package/tooltip/definition.cjs +1 -1
  123. package/tooltip/definition.js +1 -1
  124. package/tree-item/definition.cjs +1 -1
  125. package/tree-item/definition.js +1 -1
  126. package/tree-view/definition.cjs +1 -1
  127. package/tree-view/definition.js +1 -1
  128. package/unbundled/affix.js +1 -1
  129. package/unbundled/calendar-picker.template.cjs +1 -1
  130. package/unbundled/calendar-picker.template.js +1 -1
  131. package/unbundled/definition.js +1 -1
  132. package/unbundled/definition2.js +1 -1
  133. package/unbundled/definition3.cjs +222 -141
  134. package/unbundled/definition3.js +220 -139
  135. package/unbundled/definition4.cjs +145 -235
  136. package/unbundled/definition4.js +143 -233
  137. package/unbundled/definition5.cjs +269 -27
  138. package/unbundled/definition5.js +267 -26
  139. package/unbundled/definition6.cjs +56 -0
  140. package/unbundled/definition6.js +52 -0
  141. package/unbundled/listbox.cjs +41 -63
  142. package/unbundled/listbox.js +39 -61
  143. package/unbundled/picker-field.template.cjs +1 -1
  144. package/unbundled/picker-field.template.js +1 -1
  145. package/unbundled/slider.template.cjs +1 -1
  146. package/unbundled/slider.template.js +1 -1
  147. package/unbundled/vivid-element.cjs +1 -1
  148. package/unbundled/vivid-element.js +1 -1
  149. package/video-player/definition.cjs +56 -16
  150. package/video-player/definition.js +56 -16
  151. package/video-player/index.cjs +36 -36
  152. package/video-player/index.js +2461 -2445
  153. package/vivid.api.json +285 -38
  154. package/bundled/option.cjs +0 -1
  155. package/bundled/option.js +0 -158
  156. package/unbundled/option.cjs +0 -217
  157. 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"> ${l=>l.label} </label>
3
- `}function J(){return s.html`
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="${l=>l.locale.searchableSelect.maxSelectedMessage(l.values.length,l.maxSelected)}"
8
- >(${l=>`${l.values.length}/${l.maxSelected}`})</span
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 k=(l,t)=>{const e=l.tagFor(f);return s.html`
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,i)=>t(i).values.indexOf(a)}"
15
+ data-index="${(o,a)=>t(a).values.indexOf(o)}"
16
16
  removable
17
- :label="${(a,i)=>t(i)._tagLabelForValue(a)}"
18
- :shape="${(a,i)=>t(i).shape}"
19
- :connotation="${(a,i)=>t(i)._tagConnotationForValue(a)}"
20
- ?disabled="${(a,i)=>t(i)._isTagDisabled(a)}"
21
- @remove="${(a,i)=>t(i)._onTagRemoved(a)}"
22
- @keydown="${(a,i)=>t(i)._onTagKeydown(i.event)}"
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,i)=>t(i)._tagIconSlotName(a)}"></slot>
24
+ <slot slot="icon" name="${(o,a)=>t(a)._tagIconSlotName(o)}"></slot>
25
25
  </${e}>
26
26
  </div>
27
- `},C=(l,t)=>{const e=l.tagFor(f);return s.html`
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,i)=>t(a,i)._numElidedTags.toString()}"
32
- :shape="${(a,i)=>t(a,i).shape}"
33
- ?disabled="${(a,i)=>t(a,i).disabled}"
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 Q(l){const t=l.tagFor(x.Button),e=l.tagFor(F.ProgressRing),a=w.affixIconTemplateFactory(l),i=x.chevronTemplateFactory(l),n=k(l,o=>o.parent),v=k(l,o=>o.parentContext.parent),p=C(l,(o,d)=>o),h=C(l,(o,d)=>d.parent);return s.html`
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 ${U}"
39
- @click="${(o,d)=>o._onFieldsetClick(d.event)}"
38
+ class="fieldset ${J}"
39
+ @click="${(l,d)=>l._onFieldsetClick(d.event)}"
40
40
  ${_.ref("_anchor")}
41
41
  >
42
- ${o=>a(o.icon,w.IconWrapper.Slot)}
42
+ ${l=>o(l.icon,w.IconWrapper.Slot)}
43
43
  <div class="content-area" ${_.ref("_contentArea")}>
44
- ${m.repeat(o=>o._tagRows,s.html`
44
+ ${m.repeat(l=>l._tagRows,i.html`
45
45
  <div class="tag-row">
46
- ${u.when((o,d)=>d.isFirst&&d.parent._numElidedTags,h)}
47
- ${m.repeat(o=>o,v)}
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 ${o=>$.classNames(["contains-only-input",o._tagRows.length>0&&o._lastTagRow.length===0])}"
51
+ class="tag-row ${l=>O.classNames(["contains-only-input",l._tagRows.length>0&&l._lastTagRow.length===0])}"
52
52
  >
53
- ${u.when(o=>o._tagRows.length===0&&o._numElidedTags,p)}
54
- ${m.repeat(o=>o._lastTagRow,n)}
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="${o=>o._feedbackDescribedBy} ${o=>o.multiple&&o.maxSelected&&o.maxSelected>=1?"selection-count":null}"
61
- ${R.delegateAria({role:"combobox",ariaAutoComplete:"list",ariaHasPopup:"listbox",ariaExpanded:o=>o.open})}
62
- placeholder="${o=>o.multiple&&o.values.length?"":o.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="${o=>o.disabled}"
65
- :value="${o=>o._inputValue}"
66
- @input="${(o,d)=>{o._onInputInput(d.event),d.event.stopPropagation()}}"
67
- @change="${(o,d)=>{d.event.stopPropagation()}}"
68
- @focus="${(o,d)=>o._onInputFocus(d.event)}"
69
- @blur="${(o,d)=>o._onInputBlur(d.event)}"
70
- @keydown="${(o,d)=>o._onInputKeydown(d.event)}"
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
- ${u.when(o=>o._shouldShowClearButton,s.html`<${t}
77
- aria-label="${o=>o.locale.searchableSelect.clearButtonLabel}"
78
- @click="${o=>o._onClearButtonClick()}"
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="${o=>o.disabled}"
81
- :shape="${o=>o.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="${o=>o._onChevronClick()}">
88
- ${u.when(o=>o.loading,s.html`<${e} indeterminate size="-6" aria-hidden="true"></${e}>`)}
89
- ${u.when(o=>!o.loading,i)}
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 X(l){return l.open&&l.fixedDropdown?`--_searchable-select-fixed-width: ${Math.round(l.getBoundingClientRect().width)}px`:null}function Y(l){const t=l.tagFor(I.Popup);return s.html`
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
- ${u.when(e=>e.label||e._hasSelectionCount,s.html`
105
+ ${p.when(e=>e.label||e._hasSelectionCount,i.html`
95
106
  <div>
96
- ${u.when(e=>e.label,G())}
97
- ${u.when(e=>e._hasSelectionCount,J())}
107
+ ${p.when(e=>e.label,Q())}
108
+ ${p.when(e=>e._hasSelectionCount,X())}
98
109
  </div>
99
110
  `)}
100
- <slot name="contextual-help" ${O.slotted("_contextualHelpSlottedContent")}></slot>
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
- ${Q(l)}
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="${X}"
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,a)=>e._onListboxClick(a.event)}"
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
- ${O.slotted({filter:M.isListboxOption,flatten:!0,property:"_slottedOptions"})}>
137
+ ${S.slotted({filter:$.isListboxOption,flatten:!0,property:"_slottedOptions"})}>
126
138
  </slot>
127
- ${u.when(e=>e._filteredOptions.length===0,s.html`<div class="empty-message">
128
- ${u.when(e=>e.loading,s.html`<slot name="loading-options">
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
- ${u.when(e=>!e.loading&&e.searchText==="",s.html`<slot name="no-options">
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
- ${u.when(e=>!e.loading&&e.searchText!=="",s.html`<slot name="no-matches">
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 Z=l=>{const t=l.tagFor(f,!0);return s.html`
154
+ `}const ae=s=>{const t=s.tagFor(g,!0);return i.html`
143
155
  <template
144
156
  :_optionTagTagName="${()=>t}"
145
- @mousedown="${(e,a)=>e._onMouseDown(a.event)}"
157
+ @mousedown="${(e,o)=>e._onMouseDown(o.event)}"
146
158
  >
147
159
  <div class="control-wrapper">
148
- ${Y(l)} ${e=>e._getFeedbackTemplate(l)}
160
+ ${te(s)} ${e=>e._getFeedbackTemplate(s)}
149
161
  </div>
150
162
  </template>
151
- `},ee=({shape:l,connotation:t,disabled:e,removable:a})=>$.classNames("base",["disabled",e],["removable",a],[`shape-${l}`,!!l],[`connotation-${t}`,!!t]);function te(l){return s.html`
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
- <${l} name="close-line"></${l}>
171
+ <${s} name="close-line"></${s}>
160
172
  </span>
161
- `}const oe=l=>{const t=l.tagFor(y.Icon);return s.html`<span class="${ee}" aria-disabled="${e=>e.disabled}">
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
- ${u.when(e=>e.hasIconPlaceholder,s.html`<div class="icon-placeholder"></div>`)}
175
+ ${p.when(e=>e.hasIconPlaceholder,i.html`<div class="icon-placeholder"></div>`)}
164
176
  </slot>
165
- ${u.when(e=>e.label,e=>s.html`<span class="label">${e.label}</span>`)}
166
- ${u.when(e=>e.removable,te(t))}
167
- </span>`},ae=s.defineVividComponent("option-tag",f,oe,[y.iconDefinition],{styles:[B],shadowOptions:{delegatesFocus:!0}}),ie=s.defineVividComponent("searchable-select",r,Z,[x.buttonDefinition,I.popupDefinition,y.iconDefinition,ae,F.progressRingDefinition,D.feedbackMessageDefinition],{styles:N}),se=s.createRegisterFunction(ie);se();
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();