@vonage/vivid 5.7.0 → 5.8.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/bundled/definition19.cjs +3 -4
- package/bundled/definition19.js +35 -52
- package/bundled/definition8.cjs +1 -1
- package/bundled/definition8.js +1 -1
- package/bundled/listbox.cjs +1 -1
- package/bundled/listbox.js +49 -22
- package/bundled/localized.cjs +1 -1
- package/bundled/localized.js +8 -9
- package/bundled/vivid-element.cjs +1 -1
- package/bundled/vivid-element.js +1 -1
- package/checkbox/definition.cjs +1 -1
- package/checkbox/definition.js +1 -1
- package/contextual-help/definition.cjs +1 -0
- package/contextual-help/definition.js +1 -1
- package/custom-elements.json +217 -251
- package/index.cjs +4 -0
- package/index.js +1 -0
- package/lib/components.d.ts +1 -0
- package/lib/contextual-help/definition.d.ts +2 -0
- package/lib/rich-text-editor/locale.d.ts +0 -1
- package/lib/tag-name-map.d.ts +2 -1
- package/locales/de-DE.cjs +0 -1
- package/locales/de-DE.js +0 -1
- package/locales/en-GB.cjs +0 -1
- package/locales/en-GB.js +0 -1
- package/locales/en-US.cjs +0 -1
- package/locales/en-US.js +0 -1
- package/locales/ja-JP.cjs +0 -1
- package/locales/ja-JP.js +0 -1
- package/locales/zh-CN.cjs +0 -1
- package/locales/zh-CN.js +0 -1
- package/package.json +6 -10
- package/rich-text-editor/definition.cjs +1 -1
- package/rich-text-editor/definition.js +1 -1
- package/rich-text-editor/index.cjs +1 -1
- package/rich-text-editor/index.js +1 -1
- package/select/definition.cjs +27 -15
- package/select/definition.js +27 -15
- package/shared/foundation/listbox/listbox.d.ts +0 -1
- package/tag/definition.cjs +1 -1
- package/tag/definition.js +1 -1
- package/tag/index.cjs +1 -1
- package/tag/index.js +1 -1
- package/unbundled/listbox.cjs +29 -2
- package/unbundled/listbox.js +29 -2
- package/unbundled/vivid-element.cjs +1 -1
- package/unbundled/vivid-element.js +1 -1
- package/vivid.api.json +104 -0
package/bundled/definition19.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const g=require("./definition9.cjs"),$=require("./definition2.cjs"),m=require("./definition12.cjs"),r=require("./vivid-element.cjs"),y=require("./mixins.cjs"),k=require("./listbox.cjs"),_=require("./host-semantics.cjs"),C=require("./form-associated.cjs"),h=require("./numbers.cjs"),A=require("./with-contextual-help.cjs"),D=require("./with-error-text.cjs"),E=require("./with-success-text.cjs"),H=require("./form-element.cjs"),v=require("./affix.cjs"),V=require("./strings.cjs"),s=require("./key-codes.cjs"),q=require("./definition3.cjs"),F=require("./index.cjs"),x=require("./ref.cjs"),u=require("./when.cjs"),f=require("./slotted.cjs"),T=require("./class-names.cjs");var z=Object.defineProperty,L=Object.getOwnPropertyDescriptor,c=(n,e,t,o)=>{for(var a=o>1?void 0:o?L(e,t):e,l=n.length-1,d;l>=0;l--)(d=n[l])&&(a=(o?d(e,t,a):d(a))||a);return o&&a&&z(e,t,a),a};class i extends y.WithLightDOMFeedback(A.WithContextualHelp(D.WithErrorText(E.WithSuccessText(H.FormElement(_.HostSemantics(v.AffixIconWithTrailing(C.FormAssociated(k.Listbox)))))))){constructor(){super(...arguments),this.proxy=document.createElement("select"),this.activeIndex=-1,this.rangeStartIndex=-1,this.open=!1,this.listboxId=V.uniqueId("listbox-"),this.maxHeight=0,this.fixedDropdown=!1,this._feedbackWrapper=null}get activeOption(){return this.options[this.activeIndex]}get checkedOptions(){return this.options.filter(e=>e.checked)}get firstSelectedOptionIndex(){return this.options.indexOf(this.firstSelectedOption)}activeIndexChanged(e,t){this._activeDescendant=this.options[t]?.id??"",this.focusAndScrollOptionIntoView()}checkActiveIndex(){const e=this.activeOption;/* v8 ignore else -- @preserve */e&&(e.checked=!0)}checkFirstOption(e){if(e){/* v8 ignore else -- @preserve */this.rangeStartIndex===-1&&(this.rangeStartIndex=this.activeIndex+1),this.options.forEach((t,o)=>{t.checked=h.inRange(o,this.rangeStartIndex)})}else this.uncheckAllOptions();this.activeIndex=0,this.checkActiveIndex()}checkLastOption(e){if(e){/* v8 ignore else -- @preserve */this.rangeStartIndex===-1&&(this.rangeStartIndex=this.activeIndex),this.options.forEach((t,o)=>{t.checked=h.inRange(o,this.rangeStartIndex,this.length)})}else this.uncheckAllOptions();this.activeIndex=this.length-1,this.checkActiveIndex()}checkNextOption(e){if(e){/* v8 ignore else -- @preserve */this.rangeStartIndex===-1&&(this.rangeStartIndex=this.activeIndex),this.options.forEach((t,o)=>{t.checked=h.inRange(o,this.rangeStartIndex,this.activeIndex+1)})}else this.uncheckAllOptions();this.activeIndex+=this.activeIndex<this.length-1?1:0,this.checkActiveIndex()}checkPreviousOption(e){if(e){/* v8 ignore else -- @preserve */this.rangeStartIndex===-1&&(this.rangeStartIndex=this.activeIndex);/* v8 ignore else -- @preserve */this.checkedOptions.length===1&&(this.rangeStartIndex+=1),this.options.forEach((t,o)=>{t.checked=h.inRange(o,this.activeIndex,this.rangeStartIndex)})}else this.uncheckAllOptions();this.activeIndex-=this.activeIndex>0?1:0,this.checkActiveIndex()}focusAndScrollOptionIntoView(){super.focusAndScrollOptionIntoView(this.activeOption)}focusinHandler(e){if(!this.multiple)return super.focusinHandler(e);/* v8 ignore else -- @preserve */!this.shouldSkipFocus&&e.target===e.currentTarget&&(this.uncheckAllOptions(),this.activeIndex===-1&&(this.activeIndex=this.firstSelectedOptionIndex!==-1?this.firstSelectedOptionIndex:0),this.checkActiveIndex(),this.setSelectedOptions(),this.focusAndScrollOptionIntoView()),this.shouldSkipFocus=!1}setSelectedOptions(){if(!this.multiple){super.setSelectedOptions();return}/* v8 ignore else -- @preserve */this.$fastController.isConnected&&this.options&&(this.selectedOptions=this.options.filter(e=>e.selected),this.focusAndScrollOptionIntoView())}toggleSelectedForAllCheckedOptions(){const e=this.checkedOptions.filter(o=>!o.disabled),t=!e.every(o=>o.selected);e.forEach(o=>o.selected=t),this.selectedIndex=this.options.indexOf(e[e.length-1]),this.setSelectedOptions(),this.updateValue(!0)}typeaheadBufferChanged(e,t){if(!this.multiple){super.typeaheadBufferChanged(e,t);return}/* v8 ignore if -- @preserve */if(this.$fastController.isConnected){const o=this.getTypeaheadMatches(),a=this.options.indexOf(o[0]);a>-1&&(this.activeIndex=a,this.uncheckAllOptions(),this.checkActiveIndex()),this.typeaheadExpired=!1}}uncheckAllOptions(e=!1){this.options.forEach(t=>t.checked=!1);/* v8 ignore else -- @preserve */e||(this.rangeStartIndex=-1)}openChanged(e,t){if(!this.collapsible)return;if(this.open){this.focusAndScrollOptionIntoView(),this.indexWhenOpened=this.selectedIndex,r.Updates.enqueue(()=>this.focus());return}const o=e===!0&&t===!1,a=this.indexWhenOpened!==this.selectedIndex;o&&a&&this.updateValue(!0)}get collapsible(){return!this.multiple}valueChanged(e,t){const o=this.options.findIndex(d=>d.value===t),a=this._validSelectedIndex(o),l=this.options[a]?.value??"";this.selectedIndex!==a&&(this.selectedIndex=a),t===l&&(super.valueChanged(e,t),this.updateDisplayValue())}updateValue(e){this.$fastController.isConnected&&(this.value=this.firstSelectedOption?.value??""),e&&(this.$emit("input"),this.$emit("change",this,{bubbles:!0,composed:void 0}))}selectedIndexChanged(e,t){super.selectedIndexChanged(e,t),this.updateValue()}clickHandler(e){if(this.disabled||this._isFromContextualHelp(e))return;const t=e.target.closest("option,[role=option],[data-vvd-component=option]");if(!(t&&t.disabled))return this.multiple?(this.uncheckAllOptions(),this.activeIndex=this.options.indexOf(t),this.checkActiveIndex(),this.toggleSelectedForAllCheckedOptions()):super.clickHandler(e),this.collapsible&&(this.open=!this.open),!0}focusoutHandler(e){if(this.multiple&&this.uncheckAllOptions(),!this.open)return!0;const t=e.relatedTarget;if(this.isSameNode(t)){this.focus();return}/* v8 ignore else -- @preserve */this.options.includes(t)||(this.open=!1,this.indexWhenOpened!==this.selectedIndex&&this.updateValue(!0))}handleChange(e,t){super.handleChange(e,t),t==="value"&&this.updateValue()}mousedownHandler(e){return e.offsetX>=0&&e.offsetX<=this.listbox.scrollWidth?super.mousedownHandler(e):this.collapsible}multipleChanged(e,t){this.options.forEach(o=>{o.checked=t?!1:void 0}),this.setSelectedOptions();/* v8 ignore if -- @preserve */this.proxy&&(this.proxy.multiple=t)}selectedOptionsChanged(e,t){super.selectedOptionsChanged(e,t),this.options.forEach((o,a)=>{const l=this.proxy.options.item(a);l&&(l.selected=o.selected)})}setProxyOptions(){/* v8 ignore else -- @preserve */this.proxy instanceof HTMLSelectElement&&this.options&&(this.proxy.length=0,this.options.forEach(e=>{const t=e.proxy||(e instanceof HTMLOptionElement?e.cloneNode():null);t&&this.proxy.options.add(t)}))}multipleKeydownHandler(e){if(this.disabled)return;const{key:t,shiftKey:o}=e;switch(this.shouldSkipFocus=!1,t){case s.keyHome:{this.checkFirstOption(o);return}case s.keyArrowDown:{this.checkNextOption(o);return}case s.keyArrowUp:{this.checkPreviousOption(o);return}case s.keyEnd:{this.checkLastOption(o);return}case s.keyTab:{this.focusAndScrollOptionIntoView();return}case s.keyEscape:{this.uncheckAllOptions(),this.checkActiveIndex();return}case s.keySpace:{e.preventDefault();/* v8 ignore else -- @preserve */if(this.typeaheadExpired){this.toggleSelectedForAllCheckedOptions();return}}default:{/* v8 ignore else -- @preserve */t.length===1&&this.handleTypeAhead(`${t}`);return}}}keydownHandler(e){const t=this.selectedIndex;switch(this.multiple?this.multipleKeydownHandler(e):super.keydownHandler(e),e.key){case s.keySpace:{e.preventDefault(),this.collapsible&&this.typeaheadExpired&&(this.open=!this.open);break}case s.keyHome:case s.keyEnd:{e.preventDefault();break}case s.keyEnter:{e.preventDefault(),this.open=!this.open;break}case s.keyEscape:{this.collapsible&&this.open&&(e.preventDefault(),this.open=!1);break}case s.keyTab:return this.collapsible&&this.open&&(e.preventDefault(),this.open=!1),!0}return this.collapsible&&!this.open&&this.selectedIndex!==t&&this.updateValue(!0),!(e.key===s.keyArrowDown||e.key===s.keyArrowUp)}connectedCallback(){super.connectedCallback(),this.addEventListener("focusout",this.focusoutHandler),this.addEventListener("contentchange",this.updateDisplayValue)}disconnectedCallback(){this.removeEventListener("focusout",this.focusoutHandler),this.removeEventListener("contentchange",this.updateDisplayValue),super.disconnectedCallback()}updateDisplayValue(){this.collapsible&&r.Observable.notify(this,"displayValue")}get displayValue(){return r.Observable.track(this,"displayValue"),this.firstSelectedOption?.getAttribute("label")??this.firstSelectedOption?.text??this.placeholder??""}_newDefaultSelectedIndex(e,t,o){const a=super._newDefaultSelectedIndex(e,t,o);if(a===null&&o===-1&&!this.placeholder){const l=this.getNextSelectableIndex(0);if(l!==-1)return l}return a}_isDefaultSelected(e){return super._isDefaultSelected(e)||e.value===this.initialValue}slottedOptionsChanged(e,t){this.options.forEach(a=>{r.Observable.getNotifier(a).unsubscribe(this,"value")}),super.slottedOptionsChanged(e,t),this.options.forEach(a=>{r.Observable.getNotifier(a).subscribe(this,"value")}),this.setProxyOptions(),this.updateValue();const o=this.getAttribute("scale")||this.scale;t.forEach(a=>{o&&(a.setAttribute("scale",o),a.scale=o)}),this.proxy.value=this.value,this.validate()}formResetCallback(){this.setProxyOptions(),this.selectedIndex=this._newDefaultSelectedIndex([],this.options,-1)??-1}}c([r.observable],i.prototype,"activeIndex",2);c([r.attr({mode:"boolean"})],i.prototype,"multiple",2);c([r.attr({attribute:"open",mode:"boolean"})],i.prototype,"open",2);c([r.volatile],i.prototype,"collapsible",1);c([r.observable],i.prototype,"control",2);c([r.observable],i.prototype,"maxHeight",2);c([r.observable],i.prototype,"_anchor",2);c([r.attr()],i.prototype,"scale",2);c([r.attr],i.prototype,"appearance",2);c([r.attr],i.prototype,"shape",2);c([r.attr({mode:"boolean",attribute:"fixed-dropdown"})],i.prototype,"fixedDropdown",2);c([r.attr],i.prototype,"placeholder",2);c([r.observable],i.prototype,"_feedbackWrapper",2);c([r.observable],i.prototype,"metaSlottedContent",2);const W=".label-wrapper{display:flex;flex-direction:row;align-items:center;gap:var(--label-wrapper-gap, 4px)}.label-wrapper[hidden]{display:none}.label:not(slot),.label::slotted(label){flex:0 1 auto}.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)}:host(:focus-visible){outline:none}:host{display:inline-flex;flex-direction:column;gap:4px;--_low-ink-color: var(--vvd-color-neutral-600);--focus-stroke-gap-color: transparent}:host([disabled]){--_low-ink-color: var(--vvd-color-neutral-400);cursor:not-allowed}.label{color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base)}.control{--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--vvd-color-neutral-500)}.control.appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}@media (hover: hover){.control: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)}.control:hover:where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}}.control.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)}.control.hover:where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.control:disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: var(--vvd-color-neutral-300)}.control:disabled.appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.control.disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: var(--vvd-color-neutral-300)}.control.disabled.appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.control.readonly:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-neutral-200);--_appearance-color-outline: var(--vvd-color-neutral-400)}.control.readonly:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-600);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.control.error:where(:not(.disabled,:disabled)){--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: var(--vvd-color-alert-500)}.control.error:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: transparent}.control.success:where(:not(.disabled,:disabled)){--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-success-50);--_appearance-color-outline: var(--vvd-color-success-500)}.control.success:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-success-50);--_appearance-color-outline: transparent}.control{--_connotation-color-primary: var(--vvd-select-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-select-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-select-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-intermediate: var(--vvd-select-accent-intermediate, var(--vvd-color-neutral-500));--_connotation-color-faint: var(--vvd-select-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-select-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-firm: var(--vvd-select-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-fierce: var(--vvd-select-accent-fierce, var(--vvd-color-neutral-700))}.control{border-radius:var(--_select-control-border-radius);block-size:var(--_select-block-size);padding-inline:var(--_select-padding-inline)}.control{--_select-icon-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))/2) ;--_select-block-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;--_select-padding-inline: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))*.4) ;display:flex;align-items:center;justify-content:space-between;background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);color:var(--_appearance-color-text);font:var(--vvd-typography-base);gap:8px;transition:box-shadow .2s,background-color .2s}.control.size-condensed{--_select-icon-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))*.4) ;--_select-block-size: calc(1px*(32 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;--_select-padding-inline: calc(1px*(24 + 4*clamp(-1, var(--vvd-size-density, 0), 2))/2) }.control.size-condensed:not(.shape-pill){--_select-control-border-radius: 4px}.control-wrapper{position:relative}.control:not(.disabled){cursor:pointer}.control.disabled{pointer-events:none}.control:not(.shape-pill){--_select-control-border-radius: 8px}.control.shape-pill{--_select-control-border-radius: 24px}.listbox{display:flex;max-height:var(--select-height, 408px);flex-direction:column;padding:4px;gap:2px;overflow-y:auto}:host([multiple]:focus-visible) .listbox{box-shadow:0 0 0 4px color-mix(in srgb,var(--focus-stroke-color, var(--vvd-color-cta-500)),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px));border-radius:8px}.selected-value{display:flex;overflow:hidden;flex-grow:1;align-items:center;column-gap:12px;white-space:nowrap}.selected-value .text{overflow:hidden;max-inline-size:100%;text-overflow:ellipsis}.control.shows-placeholder .selected-value .text{color:var(--vvd-color-neutral-600)}.selected-value slot[name=icon]{flex:0 0 var(--_select-icon-size);font-size:var(--_select-icon-size);line-height:1}.control.has-meta .selected-value{padding-inline-end:8px}.feedback-wrapper{display:contents}::part(popup-base){inline-size:max-content;min-inline-size:var(--_select-fixed-width, 100%)}:host([multiple]) ::part(popup-base){position:static}:host(:focus-within) .control:not(.has-activedescendant){--focus-stroke-gap-color: transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--focus-stroke-color, 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))}:host(:not([multiple])) ::slotted([data-vvd-component=option][current-selected]){border-radius:8px;box-shadow:0 0 0 4px color-mix(in srgb,var(--focus-stroke-color, 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}",P=({shape:n,disabled:e,appearance:t,metaSlottedContent:o,errorValidationMessage:a,successText:l,placeholder:d,value:w,scale:b,_activeDescendant:O,open:S})=>T.classNames(["has-activedescendant",!!O&&S],["disabled",e],[`appearance-${t}`,!!t],[`shape-${n}`,!!n],["has-meta",!!o?.length],["error",!!a],["success",!!l],["shows-placeholder",!!d&&!w],[`size-${b}`,!!b]);function B(){return r.html` <label
|
|
1
|
+
"use strict";const g=require("./definition9.cjs"),$=require("./definition2.cjs"),m=require("./definition12.cjs"),r=require("./vivid-element.cjs"),y=require("./mixins.cjs"),k=require("./listbox.cjs"),_=require("./host-semantics.cjs"),C=require("./form-associated.cjs"),h=require("./numbers.cjs"),A=require("./with-contextual-help.cjs"),D=require("./with-error-text.cjs"),E=require("./with-success-text.cjs"),H=require("./form-element.cjs"),v=require("./affix.cjs"),V=require("./strings.cjs"),s=require("./key-codes.cjs"),q=require("./definition3.cjs"),F=require("./index.cjs"),x=require("./ref.cjs"),u=require("./when.cjs"),f=require("./slotted.cjs"),T=require("./class-names.cjs");var z=Object.defineProperty,L=Object.getOwnPropertyDescriptor,c=(n,e,t,o)=>{for(var a=o>1?void 0:o?L(e,t):e,l=n.length-1,d;l>=0;l--)(d=n[l])&&(a=(o?d(e,t,a):d(a))||a);return o&&a&&z(e,t,a),a};class i extends y.WithLightDOMFeedback(A.WithContextualHelp(D.WithErrorText(E.WithSuccessText(H.FormElement(_.HostSemantics(v.AffixIconWithTrailing(C.FormAssociated(k.Listbox)))))))){constructor(){super(...arguments),this.proxy=document.createElement("select"),this.activeIndex=-1,this.rangeStartIndex=-1,this.open=!1,this.listboxId=V.uniqueId("listbox-"),this.maxHeight=0,this.fixedDropdown=!1,this._feedbackWrapper=null}get activeOption(){return this.options[this.activeIndex]}get checkedOptions(){return this.options.filter(e=>e.checked)}get firstSelectedOptionIndex(){return this.options.indexOf(this.firstSelectedOption)}activeIndexChanged(e,t){this._activeDescendant=this.options[t]?.id??"",this.focusAndScrollOptionIntoView()}checkActiveIndex(){const e=this.activeOption;/* v8 ignore else -- @preserve */e&&(e.checked=!0)}checkFirstOption(e){const t=this.getNextSelectableIndex(0);t!==-1&&(e?(this.rangeStartIndex===-1&&(this.rangeStartIndex=this.activeIndex),this.options.forEach((o,a)=>{o.checked=h.inRange(a,t,this.rangeStartIndex+1)&&!o.disabled})):this.uncheckAllOptions(),this.activeIndex=t,this.checkActiveIndex())}checkLastOption(e){const t=this.getPreviousSelectableIndex(this.length-1);t!==-1&&(e?(this.rangeStartIndex===-1&&(this.rangeStartIndex=this.activeIndex),this.options.forEach((o,a)=>{o.checked=h.inRange(a,this.rangeStartIndex,t+1)&&!o.disabled})):this.uncheckAllOptions(),this.activeIndex=t,this.checkActiveIndex())}checkNextOption(e){const t=this.getNextSelectableIndex(this.activeIndex+1);t!==-1&&(e?(this.rangeStartIndex===-1&&(this.rangeStartIndex=this.activeIndex),this.options.forEach((o,a)=>{o.checked=h.inRange(a,this.rangeStartIndex,t+1)&&!o.disabled})):this.uncheckAllOptions(),this.activeIndex=t,this.checkActiveIndex())}checkPreviousOption(e){const t=this.getPreviousSelectableIndex(this.activeIndex-1);t!==-1&&(e?(this.rangeStartIndex===-1&&(this.rangeStartIndex=this.activeIndex),this.checkedOptions.length===1&&(this.rangeStartIndex+=1),this.options.forEach((o,a)=>{o.checked=h.inRange(a,t,this.rangeStartIndex+1)&&!o.disabled})):this.uncheckAllOptions(),this.activeIndex=t,this.checkActiveIndex())}focusAndScrollOptionIntoView(){super.focusAndScrollOptionIntoView(this.activeOption)}focusinHandler(e){if(!this.multiple)return super.focusinHandler(e);/* v8 ignore else -- @preserve */!this.shouldSkipFocus&&e.target===e.currentTarget&&(this.uncheckAllOptions(),this.activeIndex===-1&&(this.activeIndex=this.firstSelectedOptionIndex!==-1?this.firstSelectedOptionIndex:0),this.checkActiveIndex(),this.setSelectedOptions(),this.focusAndScrollOptionIntoView()),this.shouldSkipFocus=!1}setSelectedOptions(){if(!this.multiple){super.setSelectedOptions();return}/* v8 ignore else -- @preserve */this.$fastController.isConnected&&this.options&&(this.selectedOptions=this.options.filter(e=>e.selected),this.focusAndScrollOptionIntoView())}toggleSelectedForAllCheckedOptions(){const e=this.checkedOptions.filter(o=>!o.disabled),t=!e.every(o=>o.selected);e.forEach(o=>o.selected=t),this.selectedIndex=this.options.indexOf(e[e.length-1]),this.setSelectedOptions(),this.updateValue(!0)}typeaheadBufferChanged(e,t){if(!this.multiple){super.typeaheadBufferChanged(e,t);return}/* v8 ignore if -- @preserve */if(this.$fastController.isConnected){const o=this.getTypeaheadMatches(),a=this.options.indexOf(o[0]);a>-1&&(this.activeIndex=a,this.uncheckAllOptions(),this.checkActiveIndex()),this.typeaheadExpired=!1}}uncheckAllOptions(e=!1){this.options.forEach(t=>t.checked=!1);/* v8 ignore else -- @preserve */e||(this.rangeStartIndex=-1)}openChanged(e,t){if(!this.collapsible)return;if(this.open){this.focusAndScrollOptionIntoView(),this.indexWhenOpened=this.selectedIndex,r.Updates.enqueue(()=>this.focus());return}const o=e===!0&&t===!1,a=this.indexWhenOpened!==this.selectedIndex;o&&a&&this.updateValue(!0)}get collapsible(){return!this.multiple}valueChanged(e,t){const o=this.options.findIndex(d=>d.value===t),a=this._validSelectedIndex(o),l=this.options[a]?.value??"";this.selectedIndex!==a&&(this.selectedIndex=a),t===l&&(super.valueChanged(e,t),this.updateDisplayValue())}updateValue(e){this.$fastController.isConnected&&(this.value=this.firstSelectedOption?.value??""),e&&(this.$emit("input"),this.$emit("change",this,{bubbles:!0,composed:void 0}))}selectedIndexChanged(e,t){super.selectedIndexChanged(e,t),this.updateValue()}clickHandler(e){if(this.disabled||this._isFromContextualHelp(e))return;const t=e.target.closest("option,[role=option],[data-vvd-component=option]");if(!(t&&t.disabled))return this.multiple?(this.uncheckAllOptions(),this.activeIndex=this.options.indexOf(t),this.checkActiveIndex(),this.toggleSelectedForAllCheckedOptions()):super.clickHandler(e),this.collapsible&&(this.open=!this.open),!0}focusoutHandler(e){if(this.multiple&&this.uncheckAllOptions(),!this.open)return!0;const t=e.relatedTarget;if(this.isSameNode(t)){this.focus();return}/* v8 ignore else -- @preserve */this.options.includes(t)||(this.open=!1,this.indexWhenOpened!==this.selectedIndex&&this.updateValue(!0))}handleChange(e,t){super.handleChange(e,t),t==="value"&&this.updateValue()}mousedownHandler(e){return e.offsetX>=0&&e.offsetX<=this.listbox.scrollWidth?super.mousedownHandler(e):this.collapsible}multipleChanged(e,t){this.options.forEach(o=>{o.checked=t?!1:void 0}),this.setSelectedOptions();/* v8 ignore if -- @preserve */this.proxy&&(this.proxy.multiple=t)}selectedOptionsChanged(e,t){super.selectedOptionsChanged(e,t),this.options.forEach((o,a)=>{const l=this.proxy.options.item(a);l&&(l.selected=o.selected)})}setProxyOptions(){/* v8 ignore else -- @preserve */this.proxy instanceof HTMLSelectElement&&this.options&&(this.proxy.length=0,this.options.forEach(e=>{const t=e.proxy||(e instanceof HTMLOptionElement?e.cloneNode():null);t&&this.proxy.options.add(t)}))}multipleKeydownHandler(e){if(this.disabled)return;const{key:t,shiftKey:o}=e;switch(this.shouldSkipFocus=!1,t){case s.keyHome:{this.checkFirstOption(o);return}case s.keyArrowDown:{this.checkNextOption(o);return}case s.keyArrowUp:{this.checkPreviousOption(o);return}case s.keyEnd:{this.checkLastOption(o);return}case s.keyTab:{this.focusAndScrollOptionIntoView();return}case s.keyEscape:{this.uncheckAllOptions(),this.checkActiveIndex();return}case s.keySpace:{e.preventDefault();/* v8 ignore else -- @preserve */if(this.typeaheadExpired){this.toggleSelectedForAllCheckedOptions();return}}default:{/* v8 ignore else -- @preserve */t.length===1&&this.handleTypeAhead(`${t}`);return}}}keydownHandler(e){const t=this.selectedIndex;switch(this.multiple?this.multipleKeydownHandler(e):super.keydownHandler(e),e.key){case s.keySpace:{e.preventDefault(),this.collapsible&&this.typeaheadExpired&&(this.open=!this.open);break}case s.keyHome:case s.keyEnd:{e.preventDefault();break}case s.keyEnter:{e.preventDefault(),this.open=!this.open;break}case s.keyEscape:{this.collapsible&&this.open&&(e.preventDefault(),this.open=!1);break}case s.keyTab:return this.collapsible&&this.open&&(e.preventDefault(),this.open=!1),!0}return this.collapsible&&!this.open&&this.selectedIndex!==t&&this.updateValue(!0),!(e.key===s.keyArrowDown||e.key===s.keyArrowUp)}connectedCallback(){super.connectedCallback(),this.addEventListener("focusout",this.focusoutHandler),this.addEventListener("contentchange",this.updateDisplayValue)}disconnectedCallback(){this.removeEventListener("focusout",this.focusoutHandler),this.removeEventListener("contentchange",this.updateDisplayValue),super.disconnectedCallback()}updateDisplayValue(){this.collapsible&&r.Observable.notify(this,"displayValue")}get displayValue(){return r.Observable.track(this,"displayValue"),this.firstSelectedOption?.getAttribute("label")??this.firstSelectedOption?.text??this.placeholder??""}_newDefaultSelectedIndex(e,t,o){const a=super._newDefaultSelectedIndex(e,t,o);if(a===null&&o===-1&&!this.placeholder){const l=this.getNextSelectableIndex(0);if(l!==-1)return l}return a}_isDefaultSelected(e){return super._isDefaultSelected(e)||e.value===this.initialValue}slottedOptionsChanged(e,t){this.options.forEach(a=>{r.Observable.getNotifier(a).unsubscribe(this,"value")}),super.slottedOptionsChanged(e,t),this.options.forEach(a=>{r.Observable.getNotifier(a).subscribe(this,"value")}),this.setProxyOptions(),this.updateValue();const o=this.getAttribute("scale")||this.scale;t.forEach(a=>{o&&(a.setAttribute("scale",o),a.scale=o)}),this.proxy.value=this.value,this.validate()}formResetCallback(){this.setProxyOptions(),this.selectedIndex=this._newDefaultSelectedIndex([],this.options,-1)??-1}}c([r.observable],i.prototype,"activeIndex",2);c([r.attr({mode:"boolean"})],i.prototype,"multiple",2);c([r.attr({attribute:"open",mode:"boolean"})],i.prototype,"open",2);c([r.volatile],i.prototype,"collapsible",1);c([r.observable],i.prototype,"control",2);c([r.observable],i.prototype,"maxHeight",2);c([r.observable],i.prototype,"_anchor",2);c([r.attr()],i.prototype,"scale",2);c([r.attr],i.prototype,"appearance",2);c([r.attr],i.prototype,"shape",2);c([r.attr({mode:"boolean",attribute:"fixed-dropdown"})],i.prototype,"fixedDropdown",2);c([r.attr],i.prototype,"placeholder",2);c([r.observable],i.prototype,"_feedbackWrapper",2);c([r.observable],i.prototype,"metaSlottedContent",2);const P=".label-wrapper{display:flex;flex-direction:row;align-items:center;gap:var(--label-wrapper-gap, 4px)}.label-wrapper[hidden]{display:none}.label:not(slot),.label::slotted(label){flex:0 1 auto}.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)}:host(:focus-visible){outline:none}:host{display:inline-flex;flex-direction:column;gap:4px;--_low-ink-color: var(--vvd-color-neutral-600);--focus-stroke-gap-color: transparent}:host([disabled]){--_low-ink-color: var(--vvd-color-neutral-400);cursor:not-allowed}.label{color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base)}.control{--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--vvd-color-neutral-500)}.control.appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}@media (hover: hover){.control: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)}.control:hover:where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}}.control.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)}.control.hover:where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.control:disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: var(--vvd-color-neutral-300)}.control:disabled.appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.control.disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: var(--vvd-color-neutral-300)}.control.disabled.appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.control.readonly:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-neutral-200);--_appearance-color-outline: var(--vvd-color-neutral-400)}.control.readonly:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-600);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.control.error:where(:not(.disabled,:disabled)){--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: var(--vvd-color-alert-500)}.control.error:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: transparent}.control.success:where(:not(.disabled,:disabled)){--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-success-50);--_appearance-color-outline: var(--vvd-color-success-500)}.control.success:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-success-50);--_appearance-color-outline: transparent}.control{--_connotation-color-primary: var(--vvd-select-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-select-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-select-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-intermediate: var(--vvd-select-accent-intermediate, var(--vvd-color-neutral-500));--_connotation-color-faint: var(--vvd-select-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-select-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-firm: var(--vvd-select-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-fierce: var(--vvd-select-accent-fierce, var(--vvd-color-neutral-700))}.control{border-radius:var(--_select-control-border-radius);block-size:var(--_select-block-size);padding-inline:var(--_select-padding-inline)}.control{--_select-icon-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))/2) ;--_select-block-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;--_select-padding-inline: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))*.4) ;display:flex;align-items:center;justify-content:space-between;background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);color:var(--_appearance-color-text);font:var(--vvd-typography-base);gap:8px;transition:box-shadow .2s,background-color .2s}.control.size-condensed{--_select-icon-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))*.4) ;--_select-block-size: calc(1px*(32 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;--_select-padding-inline: calc(1px*(24 + 4*clamp(-1, var(--vvd-size-density, 0), 2))/2) }.control.size-condensed:not(.shape-pill){--_select-control-border-radius: 4px}.control-wrapper{position:relative}.control:not(.disabled){cursor:pointer}.control.disabled{pointer-events:none}.control:not(.shape-pill){--_select-control-border-radius: 8px}.control.shape-pill{--_select-control-border-radius: 24px}.listbox{display:flex;max-height:var(--select-height, 408px);flex-direction:column;padding:4px;gap:2px;overflow-y:auto}:host([multiple]:focus-visible) .listbox{box-shadow:0 0 0 4px color-mix(in srgb,var(--focus-stroke-color, var(--vvd-color-cta-500)),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px));border-radius:8px}.selected-value{display:flex;overflow:hidden;flex-grow:1;align-items:center;column-gap:12px;white-space:nowrap}.selected-value .text{overflow:hidden;max-inline-size:100%;text-overflow:ellipsis}.control.shows-placeholder .selected-value .text{color:var(--vvd-color-neutral-600)}.selected-value slot[name=icon]{flex:0 0 var(--_select-icon-size);font-size:var(--_select-icon-size);line-height:1}.control.has-meta .selected-value{padding-inline-end:8px}.feedback-wrapper{display:contents}::part(popup-base){inline-size:max-content;min-inline-size:var(--_select-fixed-width, 100%)}:host([multiple]) ::part(popup-base){position:static}:host(:focus-within) .control:not(.has-activedescendant){--focus-stroke-gap-color: transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--focus-stroke-color, 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))}:host(:not([multiple])) ::slotted([data-vvd-component=option][current-selected]){border-radius:8px;box-shadow:0 0 0 4px color-mix(in srgb,var(--focus-stroke-color, 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}",W=({shape:n,disabled:e,appearance:t,metaSlottedContent:o,errorValidationMessage:a,successText:l,placeholder:d,value:w,scale:b,_activeDescendant:O,open:S})=>T.classNames(["has-activedescendant",!!O&&S],["disabled",e],[`appearance-${t}`,!!t],[`shape-${n}`,!!n],["has-meta",!!o?.length],["error",!!a],["success",!!l],["shows-placeholder",!!d&&!w],[`size-${b}`,!!b]);function B(){return r.html` <label
|
|
2
2
|
for="${n=>n.multiple?null:"control"}"
|
|
3
3
|
class="label"
|
|
4
4
|
id="label"
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
</label>`}function N(n){const e=n.tagFor(m.ListboxOption);return r.html`
|
|
8
8
|
<${e} text="${t=>t.placeholder}" hidden disabled>
|
|
9
9
|
</${e}>`}function M(n){const e=v.affixIconTemplateFactory(n),t=q.chevronTemplateFactory(n);return r.html` <div
|
|
10
|
-
class="control ${
|
|
10
|
+
class="control ${W}"
|
|
11
11
|
${x.ref("_anchor")}
|
|
12
12
|
id="control"
|
|
13
13
|
?disabled="${o=>o.disabled}"
|
|
@@ -49,7 +49,6 @@
|
|
|
49
49
|
</div>
|
|
50
50
|
`}function p(n){return(e,t)=>t.event.composedPath().includes(e._feedbackWrapper)?!0:n(e,t.event)}const j=n=>r.html`
|
|
51
51
|
<template
|
|
52
|
-
class="base"
|
|
53
52
|
${_.applyHostSemantics({role:"combobox",ariaLabel:e=>e.ariaLabel??e.label,ariaHasPopup:e=>e.collapsible?"listbox":"false",ariaExpanded:e=>e.open,ariaDisabled:e=>e.disabled})}
|
|
54
53
|
aria-controls="${e=>e.listboxId}"
|
|
55
54
|
aria-activedescendant="${e=>e.open?e._activeDescendant:null}"
|
|
@@ -66,4 +65,4 @@
|
|
|
66
65
|
${e=>e._getFeedbackTemplate(n)}
|
|
67
66
|
</div>
|
|
68
67
|
</template>
|
|
69
|
-
`,I=r.defineVividComponent("select",i,j,[g.popupDefinition,$.iconDefinition,m.listboxOptionDefinition,y.feedbackMessageDefinition],{styles:
|
|
68
|
+
`,I=r.defineVividComponent("select",i,j,[g.popupDefinition,$.iconDefinition,m.listboxOptionDefinition,y.feedbackMessageDefinition],{styles:P}),U=r.createRegisterFunction(I);exports.Select=i;exports.registerSelect=U;exports.selectDefinition=I;
|
package/bundled/definition19.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { P as D, p as H } from "./definition9.js";
|
|
2
2
|
import { i as E } from "./definition2.js";
|
|
3
3
|
import { L as V, l as F } from "./definition12.js";
|
|
4
|
-
import { U as z, O as u, o as
|
|
4
|
+
import { U as z, O as u, o as d, a as c, v as T, h, c as W, d as L } from "./vivid-element.js";
|
|
5
5
|
import { a as P, f as B } from "./mixins.js";
|
|
6
6
|
import { L as S } from "./listbox.js";
|
|
7
7
|
import { H as N, a as M } from "./host-semantics.js";
|
|
@@ -95,14 +95,10 @@ class l extends P(
|
|
|
95
95
|
* @internal
|
|
96
96
|
*/
|
|
97
97
|
checkFirstOption(e) {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
});
|
|
103
|
-
} else
|
|
104
|
-
this.uncheckAllOptions();
|
|
105
|
-
this.activeIndex = 0, this.checkActiveIndex();
|
|
98
|
+
const t = this.getNextSelectableIndex(0);
|
|
99
|
+
t !== -1 && (e ? (this.rangeStartIndex === -1 && (this.rangeStartIndex = this.activeIndex), this.options.forEach((o, a) => {
|
|
100
|
+
o.checked = v(a, t, this.rangeStartIndex + 1) && !o.disabled;
|
|
101
|
+
})) : this.uncheckAllOptions(), this.activeIndex = t, this.checkActiveIndex());
|
|
106
102
|
}
|
|
107
103
|
/**
|
|
108
104
|
* Decrements the active index and sets the matching option as checked.
|
|
@@ -115,14 +111,12 @@ class l extends P(
|
|
|
115
111
|
* @internal
|
|
116
112
|
*/
|
|
117
113
|
checkLastOption(e) {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
}
|
|
124
|
-
this.uncheckAllOptions();
|
|
125
|
-
this.activeIndex = this.length - 1, this.checkActiveIndex();
|
|
114
|
+
const t = this.getPreviousSelectableIndex(
|
|
115
|
+
this.length - 1
|
|
116
|
+
);
|
|
117
|
+
t !== -1 && (e ? (this.rangeStartIndex === -1 && (this.rangeStartIndex = this.activeIndex), this.options.forEach((o, a) => {
|
|
118
|
+
o.checked = v(a, this.rangeStartIndex, t + 1) && !o.disabled;
|
|
119
|
+
})) : this.uncheckAllOptions(), this.activeIndex = t, this.checkActiveIndex());
|
|
126
120
|
}
|
|
127
121
|
/**
|
|
128
122
|
* Increments the active index and marks the matching option as checked.
|
|
@@ -135,14 +129,10 @@ class l extends P(
|
|
|
135
129
|
* @internal
|
|
136
130
|
*/
|
|
137
131
|
checkNextOption(e) {
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
});
|
|
143
|
-
} else
|
|
144
|
-
this.uncheckAllOptions();
|
|
145
|
-
this.activeIndex += this.activeIndex < this.length - 1 ? 1 : 0, this.checkActiveIndex();
|
|
132
|
+
const t = this.getNextSelectableIndex(this.activeIndex + 1);
|
|
133
|
+
t !== -1 && (e ? (this.rangeStartIndex === -1 && (this.rangeStartIndex = this.activeIndex), this.options.forEach((o, a) => {
|
|
134
|
+
o.checked = v(a, this.rangeStartIndex, t + 1) && !o.disabled;
|
|
135
|
+
})) : this.uncheckAllOptions(), this.activeIndex = t, this.checkActiveIndex());
|
|
146
136
|
}
|
|
147
137
|
/**
|
|
148
138
|
* Decrements the active index and marks the matching option as checked.
|
|
@@ -155,16 +145,10 @@ class l extends P(
|
|
|
155
145
|
* @internal
|
|
156
146
|
*/
|
|
157
147
|
checkPreviousOption(e) {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
this.checkedOptions.length === 1 && (this.rangeStartIndex += 1), this.options.forEach((t, o) => {
|
|
163
|
-
t.checked = v(o, this.activeIndex, this.rangeStartIndex);
|
|
164
|
-
});
|
|
165
|
-
} else
|
|
166
|
-
this.uncheckAllOptions();
|
|
167
|
-
this.activeIndex -= this.activeIndex > 0 ? 1 : 0, this.checkActiveIndex();
|
|
148
|
+
const t = this.getPreviousSelectableIndex(this.activeIndex - 1);
|
|
149
|
+
t !== -1 && (e ? (this.rangeStartIndex === -1 && (this.rangeStartIndex = this.activeIndex), this.checkedOptions.length === 1 && (this.rangeStartIndex += 1), this.options.forEach((o, a) => {
|
|
150
|
+
o.checked = v(a, t, this.rangeStartIndex + 1) && !o.disabled;
|
|
151
|
+
})) : this.uncheckAllOptions(), this.activeIndex = t, this.checkActiveIndex());
|
|
168
152
|
}
|
|
169
153
|
/**
|
|
170
154
|
* @internal
|
|
@@ -512,7 +496,7 @@ class l extends P(
|
|
|
512
496
|
}
|
|
513
497
|
}
|
|
514
498
|
i([
|
|
515
|
-
|
|
499
|
+
d
|
|
516
500
|
], l.prototype, "activeIndex", 2);
|
|
517
501
|
i([
|
|
518
502
|
c({ mode: "boolean" })
|
|
@@ -524,13 +508,13 @@ i([
|
|
|
524
508
|
T
|
|
525
509
|
], l.prototype, "collapsible", 1);
|
|
526
510
|
i([
|
|
527
|
-
|
|
511
|
+
d
|
|
528
512
|
], l.prototype, "control", 2);
|
|
529
513
|
i([
|
|
530
|
-
|
|
514
|
+
d
|
|
531
515
|
], l.prototype, "maxHeight", 2);
|
|
532
516
|
i([
|
|
533
|
-
|
|
517
|
+
d
|
|
534
518
|
], l.prototype, "_anchor", 2);
|
|
535
519
|
i([
|
|
536
520
|
c()
|
|
@@ -548,10 +532,10 @@ i([
|
|
|
548
532
|
c
|
|
549
533
|
], l.prototype, "placeholder", 2);
|
|
550
534
|
i([
|
|
551
|
-
|
|
535
|
+
d
|
|
552
536
|
], l.prototype, "_feedbackWrapper", 2);
|
|
553
537
|
i([
|
|
554
|
-
|
|
538
|
+
d
|
|
555
539
|
], l.prototype, "metaSlottedContent", 2);
|
|
556
540
|
const re = ".label-wrapper{display:flex;flex-direction:row;align-items:center;gap:var(--label-wrapper-gap, 4px)}.label-wrapper[hidden]{display:none}.label:not(slot),.label::slotted(label){flex:0 1 auto}.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)}:host(:focus-visible){outline:none}:host{display:inline-flex;flex-direction:column;gap:4px;--_low-ink-color: var(--vvd-color-neutral-600);--focus-stroke-gap-color: transparent}:host([disabled]){--_low-ink-color: var(--vvd-color-neutral-400);cursor:not-allowed}.label{color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base)}.control{--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--vvd-color-neutral-500)}.control.appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}@media (hover: hover){.control: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)}.control:hover:where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}}.control.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)}.control.hover:where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.control:disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: var(--vvd-color-neutral-300)}.control:disabled.appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.control.disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: var(--vvd-color-neutral-300)}.control.disabled.appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.control.readonly:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-neutral-200);--_appearance-color-outline: var(--vvd-color-neutral-400)}.control.readonly:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-600);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.control.error:where(:not(.disabled,:disabled)){--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: var(--vvd-color-alert-500)}.control.error:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: transparent}.control.success:where(:not(.disabled,:disabled)){--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-success-50);--_appearance-color-outline: var(--vvd-color-success-500)}.control.success:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-success-50);--_appearance-color-outline: transparent}.control{--_connotation-color-primary: var(--vvd-select-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-select-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-select-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-intermediate: var(--vvd-select-accent-intermediate, var(--vvd-color-neutral-500));--_connotation-color-faint: var(--vvd-select-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-select-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-firm: var(--vvd-select-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-fierce: var(--vvd-select-accent-fierce, var(--vvd-color-neutral-700))}.control{border-radius:var(--_select-control-border-radius);block-size:var(--_select-block-size);padding-inline:var(--_select-padding-inline)}.control{--_select-icon-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))/2) ;--_select-block-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;--_select-padding-inline: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))*.4) ;display:flex;align-items:center;justify-content:space-between;background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);color:var(--_appearance-color-text);font:var(--vvd-typography-base);gap:8px;transition:box-shadow .2s,background-color .2s}.control.size-condensed{--_select-icon-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))*.4) ;--_select-block-size: calc(1px*(32 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;--_select-padding-inline: calc(1px*(24 + 4*clamp(-1, var(--vvd-size-density, 0), 2))/2) }.control.size-condensed:not(.shape-pill){--_select-control-border-radius: 4px}.control-wrapper{position:relative}.control:not(.disabled){cursor:pointer}.control.disabled{pointer-events:none}.control:not(.shape-pill){--_select-control-border-radius: 8px}.control.shape-pill{--_select-control-border-radius: 24px}.listbox{display:flex;max-height:var(--select-height, 408px);flex-direction:column;padding:4px;gap:2px;overflow-y:auto}:host([multiple]:focus-visible) .listbox{box-shadow:0 0 0 4px color-mix(in srgb,var(--focus-stroke-color, var(--vvd-color-cta-500)),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px));border-radius:8px}.selected-value{display:flex;overflow:hidden;flex-grow:1;align-items:center;column-gap:12px;white-space:nowrap}.selected-value .text{overflow:hidden;max-inline-size:100%;text-overflow:ellipsis}.control.shows-placeholder .selected-value .text{color:var(--vvd-color-neutral-600)}.selected-value slot[name=icon]{flex:0 0 var(--_select-icon-size);font-size:var(--_select-icon-size);line-height:1}.control.has-meta .selected-value{padding-inline-end:8px}.feedback-wrapper{display:contents}::part(popup-base){inline-size:max-content;min-inline-size:var(--_select-fixed-width, 100%)}:host([multiple]) ::part(popup-base){position:static}:host(:focus-within) .control:not(.has-activedescendant){--focus-stroke-gap-color: transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--focus-stroke-color, 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))}:host(:not([multiple])) ::slotted([data-vvd-component=option][current-selected]){border-radius:8px;box-shadow:0 0 0 4px color-mix(in srgb,var(--focus-stroke-color, 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}", ne = ({
|
|
557
541
|
shape: r,
|
|
@@ -610,7 +594,7 @@ function se(r) {
|
|
|
610
594
|
function ce(r) {
|
|
611
595
|
return r.open && r.fixedDropdown ? `--_select-fixed-width: ${Math.round(r.getBoundingClientRect().width)}px` : null;
|
|
612
596
|
}
|
|
613
|
-
function
|
|
597
|
+
function de(r) {
|
|
614
598
|
const e = r.tagFor(D);
|
|
615
599
|
return h`
|
|
616
600
|
<div class="label-wrapper" ?hidden=${(t) => !t.label && !t._hasContextualHelp}>
|
|
@@ -647,12 +631,11 @@ function pe(r) {
|
|
|
647
631
|
</div>
|
|
648
632
|
`;
|
|
649
633
|
}
|
|
650
|
-
function
|
|
634
|
+
function p(r) {
|
|
651
635
|
return (e, t) => t.event.composedPath().includes(e._feedbackWrapper) ? !0 : r(e, t.event);
|
|
652
636
|
}
|
|
653
|
-
const
|
|
637
|
+
const pe = (r) => h`
|
|
654
638
|
<template
|
|
655
|
-
class="base"
|
|
656
639
|
${M({
|
|
657
640
|
role: "combobox",
|
|
658
641
|
ariaLabel: (e) => e.ariaLabel ?? e.label,
|
|
@@ -664,17 +647,17 @@ const de = (r) => h`
|
|
|
664
647
|
aria-activedescendant="${(e) => e.open ? e._activeDescendant : null}"
|
|
665
648
|
aria-describedby="${(e) => e._feedbackDescribedBy}"
|
|
666
649
|
tabindex="${(e) => e.disabled ? null : "0"}"
|
|
667
|
-
@click="${
|
|
668
|
-
@focusin="${
|
|
669
|
-
@focusout="${
|
|
650
|
+
@click="${p((e, t) => e.clickHandler(t))}"
|
|
651
|
+
@focusin="${p((e, t) => e.focusinHandler(t))}"
|
|
652
|
+
@focusout="${p(
|
|
670
653
|
(e, t) => e.focusoutHandler(t)
|
|
671
654
|
)}"
|
|
672
|
-
@keydown="${
|
|
673
|
-
@mousedown="${
|
|
655
|
+
@keydown="${p((e, t) => (e.open && ee(t), e.keydownHandler(t)))}"
|
|
656
|
+
@mousedown="${p(
|
|
674
657
|
(e, t) => e.mousedownHandler(t)
|
|
675
658
|
)}"
|
|
676
659
|
>
|
|
677
|
-
${
|
|
660
|
+
${de(r)}
|
|
678
661
|
<div class="feedback-wrapper" ${b("_feedbackWrapper")}>
|
|
679
662
|
${(e) => e._getFeedbackTemplate(r)}
|
|
680
663
|
</div>
|
|
@@ -682,7 +665,7 @@ const de = (r) => h`
|
|
|
682
665
|
`, he = L(
|
|
683
666
|
"select",
|
|
684
667
|
l,
|
|
685
|
-
|
|
668
|
+
pe,
|
|
686
669
|
[
|
|
687
670
|
H,
|
|
688
671
|
E,
|
package/bundled/definition8.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const v=require("./definition2.cjs"),o=require("./vivid-element.cjs"),p=require("./mixins.cjs"),h=require("./delegates-aria.cjs"),x=require("./form-associated.cjs"),f=require("./with-error-text.cjs"),k=require("./with-success-text.cjs"),y=require("./form-element.cjs"),d=require("./when.cjs"),_=require("./slotted.cjs"),g=require("./class-names.cjs"),C=':host{display:inline-flex;flex-direction:column;gap:4px;vertical-align:middle;--_low-ink-color: var(--vvd-color-neutral-600)}:host([disabled]){cursor:not-allowed}.base.connotation-cta{--_connotation-color-primary: var(--vvd-checkbox-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-checkbox-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-checkbox-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-fierce: var(--vvd-checkbox-cta-fierce, var(--vvd-color-cta-700));--_connotation-color-intermediate: var(--vvd-checkbox-cta-intermediate, var(--vvd-color-cta-500));--_connotation-color-firm: var(--vvd-checkbox-cta-firm, var(--vvd-color-cta-600))}.base:not(.connotation-cta){--_connotation-color-primary: var(--vvd-checkbox-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-checkbox-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-checkbox-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-fierce: var(--vvd-checkbox-accent-fierce, var(--vvd-color-neutral-700));--_connotation-color-intermediate: var(--vvd-checkbox-accent-intermediate, var(--vvd-color-neutral-500));--_connotation-color-firm: var(--vvd-checkbox-accent-firm, var(--vvd-color-canvas-text))}.base{--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--vvd-color-neutral-500)}@media (hover: hover){.base: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)}}.base.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)}.base:checked:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary);--_appearance-color-outline: var(--_connotation-color-primary)}.base.checked:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary);--_appearance-color-outline: var(--_connotation-color-primary)}@media (hover: hover){.base:checked:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary-increment);--_appearance-color-outline: var(--_connotation-color-primary-increment)}}.base.checked.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary-increment);--_appearance-color-outline: var(--_connotation-color-primary-increment)}.base: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)}.base.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)}.base.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)}.base{display:inline-flex;align-items:
|
|
1
|
+
"use strict";const v=require("./definition2.cjs"),o=require("./vivid-element.cjs"),p=require("./mixins.cjs"),h=require("./delegates-aria.cjs"),x=require("./form-associated.cjs"),f=require("./with-error-text.cjs"),k=require("./with-success-text.cjs"),y=require("./form-element.cjs"),d=require("./when.cjs"),_=require("./slotted.cjs"),g=require("./class-names.cjs"),C=':host{display:inline-flex;flex-direction:column;gap:4px;vertical-align:middle;--_low-ink-color: var(--vvd-color-neutral-600)}:host([disabled]){cursor:not-allowed}.base.connotation-cta{--_connotation-color-primary: var(--vvd-checkbox-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-checkbox-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-checkbox-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-fierce: var(--vvd-checkbox-cta-fierce, var(--vvd-color-cta-700));--_connotation-color-intermediate: var(--vvd-checkbox-cta-intermediate, var(--vvd-color-cta-500));--_connotation-color-firm: var(--vvd-checkbox-cta-firm, var(--vvd-color-cta-600))}.base:not(.connotation-cta){--_connotation-color-primary: var(--vvd-checkbox-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-checkbox-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-checkbox-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-fierce: var(--vvd-checkbox-accent-fierce, var(--vvd-color-neutral-700));--_connotation-color-intermediate: var(--vvd-checkbox-accent-intermediate, var(--vvd-color-neutral-500));--_connotation-color-firm: var(--vvd-checkbox-accent-firm, var(--vvd-color-canvas-text))}.base{--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--vvd-color-neutral-500)}@media (hover: hover){.base: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)}}.base.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)}.base:checked:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary);--_appearance-color-outline: var(--_connotation-color-primary)}.base.checked:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary);--_appearance-color-outline: var(--_connotation-color-primary)}@media (hover: hover){.base:checked:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary-increment);--_appearance-color-outline: var(--_connotation-color-primary-increment)}}.base.checked.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary-increment);--_appearance-color-outline: var(--_connotation-color-primary-increment)}.base: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)}.base.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)}.base.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)}.base{display:inline-flex;align-items:start;gap:8px;vertical-align:middle}.base:focus-visible{outline:none}@supports (user-select: none){.base{user-select:none}}.base:not(.disabled){cursor:pointer}.base.disabled{pointer-events:none}.control{position:relative;display:flex;flex-shrink:0;align-items:center;justify-content:center;border-radius:4px;background-color:var(--_appearance-color-fill);block-size:calc(1px*(20 + 4*clamp(-1,var(--vvd-size-density, 0),2)));box-shadow:inset 0 0 0 2px var(--_appearance-color-outline);color:var(--_appearance-color-text);inline-size:calc(1px*(20 + 4*clamp(-1,var(--vvd-size-density, 0),2)))}.base:focus-visible .control{--focus-stroke-gap-color: transparent}.base:focus-visible .control:after{box-shadow:0 0 0 4px color-mix(in srgb,var(--focus-stroke-color, 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;display:block;border-radius:var(--focus-border-radius, inherit);block-size:calc(100% + var(--focus-block-size-addition, 4px));content:"";inline-size:calc(100% + var(--focus-block-size-addition, 4px));inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%)}.base.error:not(.checked) .control{background-color:var(--vvd-color-canvas);box-shadow:inset 0 0 0 2px var(--vvd-color-alert-500)}.indicator{font-size:calc(1px*(20 + 4*clamp(-1,var(--vvd-size-density, 0),2)) - 4px)}.base:not(.checked) .indicator.checkmark{display:none}.base.checked .indicator.minus,.base:not(.indeterminate) .indicator.minus{display:none}label{display:flex;flex-wrap:wrap;align-items:center;color:var(--vvd-color-canvas-text);column-gap:4px;cursor:pointer;font:var(--vvd-typography-base)}.hide-label label{display:none}.icon{font-size:calc(1px*(20 + 4*clamp(-1,var(--vvd-size-density, 0),2))*.6);line-height:1}';var w=Object.defineProperty,i=(r,a,e,c)=>{for(var t=void 0,l=r.length-1,s;l>=0;l--)(s=r[l])&&(t=s(a,e,t)||t);return t&&w(a,e,t),t};const $=" ";class n extends h.DelegatesAria(p.WithFeedback(f.WithErrorText(k.WithSuccessText(y.FormElement(x.CheckableFormAssociated(o.VividElement)))))){constructor(){super(),this.tabindex=null,this.proxy=document.createElement("input"),this.initialValue="on",this.defaultSlottedNodes=[],this.indeterminate=!1,this.keypressHandler=a=>{if(a.target instanceof HTMLAnchorElement)return!0;if(!this.disabled&&!this.readOnly)switch(a.key){case $:this.indeterminate&&(this.indeterminate=!1),this.checked=!this.checked;break}return!1},this.clickHandler=a=>a.target instanceof HTMLAnchorElement?!0:(!this.disabled&&!this.readOnly&&(this.indeterminate&&(this.indeterminate=!1),this.checked=!this.checked),!1),this.proxy.setAttribute("type","checkbox")}readOnlyChanged(){/* v8 ignore if -- @preserve */this.proxy instanceof HTMLInputElement&&(this.proxy.readOnly=this.readOnly)}ariaCheckedChanged(a,e){super.ariaCheckedChanged(a,e),this.ariaChecked==="mixed"?this.indeterminate=!0:(this.indeterminate=!1,this.checked=this.ariaChecked==="true")}checkedChanged(a,e){super.checkedChanged(a,e),this.ariaChecked=e==!0?"true":"false",a!==void 0&&this.$emit("input")}}i([o.attr({attribute:"tabindex"})],n.prototype,"tabindex");i([o.attr],n.prototype,"connotation");i([o.attr({attribute:"readonly",mode:"boolean"})],n.prototype,"readOnly");i([o.observable],n.prototype,"defaultSlottedNodes");i([o.attr({attribute:"indeterminate",mode:"boolean"})],n.prototype,"indeterminate");i([o.observable],n.prototype,"slottedContent");const q=({connotation:r,readOnly:a,checked:e,disabled:c,indeterminate:t,errorValidationMessage:l,successText:s,label:u,slottedContent:m})=>g.classNames("base",[`connotation-${r}`,!!r],["readonly",!!a],["checked",!!e||!!t],["disabled",!!c],["error connotation-alert",!!l],["success connotation-success",!!s],["hide-label",!u&&!m?.length]),z=r=>{const a=r.tagFor(v.Icon);return o.html`<template>
|
|
2
2
|
<div
|
|
3
3
|
class="${q}"
|
|
4
4
|
aria-describedby="${e=>e._feedbackDescribedBy}"
|
package/bundled/definition8.js
CHANGED
|
@@ -9,7 +9,7 @@ import { F as O } from "./form-element.js";
|
|
|
9
9
|
import { w as v } from "./when.js";
|
|
10
10
|
import { s as F } from "./slotted.js";
|
|
11
11
|
import { c as T } from "./class-names.js";
|
|
12
|
-
const B = ':host{display:inline-flex;flex-direction:column;gap:4px;vertical-align:middle;--_low-ink-color: var(--vvd-color-neutral-600)}:host([disabled]){cursor:not-allowed}.base.connotation-cta{--_connotation-color-primary: var(--vvd-checkbox-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-checkbox-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-checkbox-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-fierce: var(--vvd-checkbox-cta-fierce, var(--vvd-color-cta-700));--_connotation-color-intermediate: var(--vvd-checkbox-cta-intermediate, var(--vvd-color-cta-500));--_connotation-color-firm: var(--vvd-checkbox-cta-firm, var(--vvd-color-cta-600))}.base:not(.connotation-cta){--_connotation-color-primary: var(--vvd-checkbox-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-checkbox-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-checkbox-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-fierce: var(--vvd-checkbox-accent-fierce, var(--vvd-color-neutral-700));--_connotation-color-intermediate: var(--vvd-checkbox-accent-intermediate, var(--vvd-color-neutral-500));--_connotation-color-firm: var(--vvd-checkbox-accent-firm, var(--vvd-color-canvas-text))}.base{--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--vvd-color-neutral-500)}@media (hover: hover){.base: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)}}.base.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)}.base:checked:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary);--_appearance-color-outline: var(--_connotation-color-primary)}.base.checked:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary);--_appearance-color-outline: var(--_connotation-color-primary)}@media (hover: hover){.base:checked:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary-increment);--_appearance-color-outline: var(--_connotation-color-primary-increment)}}.base.checked.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary-increment);--_appearance-color-outline: var(--_connotation-color-primary-increment)}.base: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)}.base.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)}.base.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)}.base{display:inline-flex;align-items:
|
|
12
|
+
const B = ':host{display:inline-flex;flex-direction:column;gap:4px;vertical-align:middle;--_low-ink-color: var(--vvd-color-neutral-600)}:host([disabled]){cursor:not-allowed}.base.connotation-cta{--_connotation-color-primary: var(--vvd-checkbox-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-checkbox-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-checkbox-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-fierce: var(--vvd-checkbox-cta-fierce, var(--vvd-color-cta-700));--_connotation-color-intermediate: var(--vvd-checkbox-cta-intermediate, var(--vvd-color-cta-500));--_connotation-color-firm: var(--vvd-checkbox-cta-firm, var(--vvd-color-cta-600))}.base:not(.connotation-cta){--_connotation-color-primary: var(--vvd-checkbox-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-checkbox-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-checkbox-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-fierce: var(--vvd-checkbox-accent-fierce, var(--vvd-color-neutral-700));--_connotation-color-intermediate: var(--vvd-checkbox-accent-intermediate, var(--vvd-color-neutral-500));--_connotation-color-firm: var(--vvd-checkbox-accent-firm, var(--vvd-color-canvas-text))}.base{--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--vvd-color-neutral-500)}@media (hover: hover){.base: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)}}.base.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)}.base:checked:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary);--_appearance-color-outline: var(--_connotation-color-primary)}.base.checked:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary);--_appearance-color-outline: var(--_connotation-color-primary)}@media (hover: hover){.base:checked:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary-increment);--_appearance-color-outline: var(--_connotation-color-primary-increment)}}.base.checked.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary-increment);--_appearance-color-outline: var(--_connotation-color-primary-increment)}.base: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)}.base.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)}.base.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)}.base{display:inline-flex;align-items:start;gap:8px;vertical-align:middle}.base:focus-visible{outline:none}@supports (user-select: none){.base{user-select:none}}.base:not(.disabled){cursor:pointer}.base.disabled{pointer-events:none}.control{position:relative;display:flex;flex-shrink:0;align-items:center;justify-content:center;border-radius:4px;background-color:var(--_appearance-color-fill);block-size:calc(1px*(20 + 4*clamp(-1,var(--vvd-size-density, 0),2)));box-shadow:inset 0 0 0 2px var(--_appearance-color-outline);color:var(--_appearance-color-text);inline-size:calc(1px*(20 + 4*clamp(-1,var(--vvd-size-density, 0),2)))}.base:focus-visible .control{--focus-stroke-gap-color: transparent}.base:focus-visible .control:after{box-shadow:0 0 0 4px color-mix(in srgb,var(--focus-stroke-color, 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;display:block;border-radius:var(--focus-border-radius, inherit);block-size:calc(100% + var(--focus-block-size-addition, 4px));content:"";inline-size:calc(100% + var(--focus-block-size-addition, 4px));inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%)}.base.error:not(.checked) .control{background-color:var(--vvd-color-canvas);box-shadow:inset 0 0 0 2px var(--vvd-color-alert-500)}.indicator{font-size:calc(1px*(20 + 4*clamp(-1,var(--vvd-size-density, 0),2)) - 4px)}.base:not(.checked) .indicator.checkmark{display:none}.base.checked .indicator.minus,.base:not(.indeterminate) .indicator.minus{display:none}label{display:flex;flex-wrap:wrap;align-items:center;color:var(--vvd-color-canvas-text);column-gap:4px;cursor:pointer;font:var(--vvd-typography-base)}.hide-label label{display:none}.icon{font-size:calc(1px*(20 + 4*clamp(-1,var(--vvd-size-density, 0),2))*.6);line-height:1}';
|
|
13
13
|
var D = Object.defineProperty, c = (o, a, e, n) => {
|
|
14
14
|
for (var r = void 0, i = o.length - 1, l; i >= 0; i--)
|
|
15
15
|
(l = o[i]) && (r = l(a, e, r) || r);
|
package/bundled/listbox.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const p=require("./definition12.cjs"),o=require("./vivid-element.cjs"),d=require("./key-codes.cjs"),u=require("./strings.cjs");function f(r,e){let t=r.length;for(;t--;)if(e(r[t],t,r))return t;return-1}var x=Object.defineProperty,a=(r,e,t,i)=>{for(var s=void 0,n=r.length-1,
|
|
1
|
+
"use strict";const p=require("./definition12.cjs"),o=require("./vivid-element.cjs"),d=require("./key-codes.cjs"),u=require("./strings.cjs");function f(r,e){let t=r.length;for(;t--;)if(e(r[t],t,r))return t;return-1}var x=Object.defineProperty,a=(r,e,t,i)=>{for(var s=void 0,n=r.length-1,h;n>=0;n--)(h=r[n])&&(s=h(e,t,s)||s);return s&&x(e,t,s),s};const l=class c extends o.VividElement{constructor(){super(...arguments),this._options=[],this.selectedIndex=-1,this.selectedOptions=[],this.shouldSkipFocus=!1,this.typeaheadBuffer="",this.typeaheadExpired=!0,this.typeaheadTimeout=-1,this._activeDescendant=null}get firstSelectedOption(){return this.selectedOptions[0]??null}get length(){return this.options.length}get options(){return o.Observable.track(this,"options"),this._options}set options(e){const t=this._options;if(this._options=e,o.Observable.notify(this,"options"),this.$fastController.isConnected){const i=this._newDefaultSelectedIndex(t,e,this.selectedIndex);i!==null&&(this.selectedIndex=i)}}static{this.slottedOptionFilter=e=>p.isListboxOption(e)&&!e.hidden}static{this.TYPE_AHEAD_TIMEOUT_MS=1e3}clickHandler(e){const t=e.target.closest("option,[role=option],[data-vvd-component=option]");if(t&&!t.disabled)return this.selectedIndex=this.options.indexOf(t),!0}focusAndScrollOptionIntoView(e=this.firstSelectedOption){this.contains(document.activeElement)&&e!==null&&(e.focus(),requestAnimationFrame(()=>{e.scrollIntoView({block:"nearest"})}))}focusinHandler(e){!this.shouldSkipFocus&&e.target===e.currentTarget&&(this.setSelectedOptions(),this.focusAndScrollOptionIntoView()),this.shouldSkipFocus=!1}getTypeaheadMatches(){const e=this.typeaheadBuffer.replace(/[.*+\-?^${}()|[\]\\]/g,"\\$&"),t=new RegExp(`^${e}`,"gi");return this.options.filter(i=>i.text.trim().match(t))}getNextSelectableIndex(e){const t=this.options.reduce((i,s,n)=>!i&&!s.disabled&&n>=e?s:i,null);return this.options.indexOf(t)}getPreviousSelectableIndex(e){const t=this.options.reduceRight((i,s,n)=>!i&&!s.disabled&&n<=e?s:i,null);return this.options.indexOf(t)}handleChange(e,t){switch(t){case"selected":{/* v8 ignore else -- @preserve */c.slottedOptionFilter(e)&&(this.selectedIndex=this.options.indexOf(e)),this.setSelectedOptions();break}}}handleTypeAhead(e){/* v8 ignore else -- @preserve */this.typeaheadTimeout&&window.clearTimeout(this.typeaheadTimeout),this.typeaheadTimeout=window.setTimeout(()=>this.typeaheadExpired=!0,c.TYPE_AHEAD_TIMEOUT_MS),this.typeaheadBuffer=`${this.typeaheadExpired?"":this.typeaheadBuffer}${e}`}keydownHandler(e){if(this.disabled)return!0;this.shouldSkipFocus=!1;const t=e.key;switch(t){case d.keyHome:{/* v8 ignore else -- @preserve */e.shiftKey||(e.preventDefault(),this.selectFirstOption());break}case d.keyArrowDown:{/* v8 ignore else -- @preserve */e.shiftKey||(e.preventDefault(),this.selectNextOption());break}case d.keyArrowUp:{/* v8 ignore else -- @preserve */e.shiftKey||(e.preventDefault(),this.selectPreviousOption());break}case d.keyEnd:{e.preventDefault(),this.selectLastOption();break}case d.keyTab:return this.focusAndScrollOptionIntoView(),!0;case d.keyEnter:case d.keyEscape:return!0;case d.keySpace:{/* v8 ignore else -- @preserve */if(this.typeaheadExpired)return!0}default:{/* v8 ignore else -- @preserve */return t.length===1&&this.handleTypeAhead(`${t}`),!0}}}mousedownHandler(e){return this.shouldSkipFocus=!this.contains(document.activeElement),!0}selectedIndexChanged(e,t){const i=this._validSelectedIndex(t);if(t!==i){this.selectedIndex=i;return}this.setSelectedOptions()}_validSelectedIndex(e){return e>this.options.length-1||e<-1?-1:e}selectedOptionsChanged(e,t){const i=t.filter(c.slottedOptionFilter);this.options.forEach(s=>{const n=o.Observable.getNotifier(s);n.unsubscribe(this,"selected"),s.selected=i.includes(s),n.subscribe(this,"selected")})}selectFirstOption(){/* v8 ignore else -- @preserve */this.disabled||(this.selectedIndex=this.options.findIndex(e=>!e.disabled))}selectLastOption(){/* v8 ignore else -- @preserve */this.disabled||(this.selectedIndex=f(this.options,e=>!e.disabled))}selectNextOption(){/* v8 ignore else -- @preserve */if(!this.disabled&&this.selectedIndex<this.options.length-1){const e=this.getNextSelectableIndex(this.selectedIndex+1);e!==-1&&(this.selectedIndex=e)}}selectPreviousOption(){/* v8 ignore else -- @preserve */if(!this.disabled&&this.selectedIndex>0){const e=this.getPreviousSelectableIndex(this.selectedIndex-1);e!==-1&&(this.selectedIndex=e)}}_newDefaultSelectedIndex(e,t,i){for(const[s,n]of t.entries())if(this._isDefaultSelected(n)&&!e.includes(n))return s;return null}_isDefaultSelected(e){return e.defaultSelected}setSelectedOptions(){this.selectedOptions=this.selectedIndex!==-1?[this.options[this.selectedIndex]]:[],this._activeDescendant=this.firstSelectedOption?.id??"",this.focusAndScrollOptionIntoView()}slottedOptionsChanged(e,t){this.options=t.reduce((s,n)=>{/* v8 ignore else -- @preserve */return p.isListboxOption(n)&&s.push(n),s},[]);const i=`${this.options.length}`;this.options.forEach((s,n)=>{s.id||(s.id=u.uniqueId("option-")),s.ariaPosInSet=`${n+1}`,s.ariaSetSize=i})}typeaheadBufferChanged(e,t){if(this.$fastController.isConnected){const i=this.getTypeaheadMatches();/* v8 ignore else -- @preserve */if(i.length){const s=this.options.indexOf(i[0]);/* v8 ignore else -- @preserve */s>-1&&(this.selectedIndex=s)}this.typeaheadExpired=!1}}};a([o.attr({mode:"boolean"})],l.prototype,"disabled");a([o.observable],l.prototype,"selectedIndex");a([o.observable],l.prototype,"selectedOptions");a([o.observable],l.prototype,"slottedOptions");a([o.observable],l.prototype,"typeaheadBuffer");a([o.observable],l.prototype,"_activeDescendant");let b=l;exports.Listbox=b;
|
package/bundled/listbox.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { i as p } from "./definition12.js";
|
|
2
|
-
import { V as u, O as h, a as f, o as
|
|
3
|
-
import { l as x, d as
|
|
4
|
-
import { u as
|
|
5
|
-
function
|
|
2
|
+
import { V as u, O as h, a as f, o as r } from "./vivid-element.js";
|
|
3
|
+
import { l as x, d as I, f as O, m as y, k as b, c as S, b as g, a as v } from "./key-codes.js";
|
|
4
|
+
import { u as m } from "./strings.js";
|
|
5
|
+
function _(d, e) {
|
|
6
6
|
let t = d.length;
|
|
7
7
|
for (; t--; )
|
|
8
8
|
if (e(d[t], t, d))
|
|
9
9
|
return t;
|
|
10
10
|
return -1;
|
|
11
11
|
}
|
|
12
|
-
var
|
|
12
|
+
var k = Object.defineProperty, l = (d, e, t, i) => {
|
|
13
13
|
for (var s = void 0, n = d.length - 1, c; n >= 0; n--)
|
|
14
14
|
(c = d[n]) && (s = c(e, t, s) || s);
|
|
15
|
-
return s &&
|
|
15
|
+
return s && k(e, t, s), s;
|
|
16
16
|
};
|
|
17
|
-
const o = class
|
|
17
|
+
const o = class a extends u {
|
|
18
18
|
constructor() {
|
|
19
19
|
super(...arguments), this._options = [], this.selectedIndex = -1, this.selectedOptions = [], this.shouldSkipFocus = !1, this.typeaheadBuffer = "", this.typeaheadExpired = !0, this.typeaheadTimeout = -1, this._activeDescendant = null;
|
|
20
20
|
}
|
|
@@ -104,6 +104,13 @@ const o = class r extends u {
|
|
|
104
104
|
), t = new RegExp(`^${e}`, "gi");
|
|
105
105
|
return this.options.filter((i) => i.text.trim().match(t));
|
|
106
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* Finds the index of the next non-disabled option starting from the given index.
|
|
109
|
+
*
|
|
110
|
+
* @param fromIndex - The index to start searching from (inclusive)
|
|
111
|
+
* @returns The index of the next selectable option, or -1 if none found
|
|
112
|
+
* @internal
|
|
113
|
+
*/
|
|
107
114
|
getNextSelectableIndex(e) {
|
|
108
115
|
const t = this.options.reduce(
|
|
109
116
|
(i, s, n) => !i && !s.disabled && n >= e ? s : i,
|
|
@@ -111,6 +118,20 @@ const o = class r extends u {
|
|
|
111
118
|
);
|
|
112
119
|
return this.options.indexOf(t);
|
|
113
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* Finds the index of the previous non-disabled option starting from the given index.
|
|
123
|
+
*
|
|
124
|
+
* @param fromIndex - The index to start searching from (inclusive)
|
|
125
|
+
* @returns The index of the previous selectable option, or -1 if none found
|
|
126
|
+
* @internal
|
|
127
|
+
*/
|
|
128
|
+
getPreviousSelectableIndex(e) {
|
|
129
|
+
const t = this.options.reduceRight(
|
|
130
|
+
(i, s, n) => !i && !s.disabled && n <= e ? s : i,
|
|
131
|
+
null
|
|
132
|
+
);
|
|
133
|
+
return this.options.indexOf(t);
|
|
134
|
+
}
|
|
114
135
|
/**
|
|
115
136
|
* Handles external changes to child options.
|
|
116
137
|
*
|
|
@@ -123,7 +144,7 @@ const o = class r extends u {
|
|
|
123
144
|
switch (t) {
|
|
124
145
|
case "selected": {
|
|
125
146
|
/* v8 ignore else -- @preserve */
|
|
126
|
-
|
|
147
|
+
a.slottedOptionFilter(e) && (this.selectedIndex = this.options.indexOf(e)), this.setSelectedOptions();
|
|
127
148
|
break;
|
|
128
149
|
}
|
|
129
150
|
}
|
|
@@ -142,7 +163,7 @@ const o = class r extends u {
|
|
|
142
163
|
/* v8 ignore else -- @preserve */
|
|
143
164
|
this.typeaheadTimeout && window.clearTimeout(this.typeaheadTimeout), this.typeaheadTimeout = window.setTimeout(
|
|
144
165
|
() => this.typeaheadExpired = !0,
|
|
145
|
-
|
|
166
|
+
a.TYPE_AHEAD_TIMEOUT_MS
|
|
146
167
|
), this.typeaheadBuffer = `${this.typeaheadExpired ? "" : this.typeaheadBuffer}${e}`;
|
|
147
168
|
}
|
|
148
169
|
/**
|
|
@@ -156,7 +177,7 @@ const o = class r extends u {
|
|
|
156
177
|
this.shouldSkipFocus = !1;
|
|
157
178
|
const t = e.key;
|
|
158
179
|
switch (t) {
|
|
159
|
-
case
|
|
180
|
+
case v: {
|
|
160
181
|
/* v8 ignore else -- @preserve */
|
|
161
182
|
e.shiftKey || (e.preventDefault(), this.selectFirstOption());
|
|
162
183
|
break;
|
|
@@ -175,10 +196,10 @@ const o = class r extends u {
|
|
|
175
196
|
e.preventDefault(), this.selectLastOption();
|
|
176
197
|
break;
|
|
177
198
|
}
|
|
178
|
-
case I:
|
|
179
|
-
return this.focusAndScrollOptionIntoView(), !0;
|
|
180
199
|
case y:
|
|
200
|
+
return this.focusAndScrollOptionIntoView(), !0;
|
|
181
201
|
case O:
|
|
202
|
+
case I:
|
|
182
203
|
return !0;
|
|
183
204
|
case x: {
|
|
184
205
|
/* v8 ignore else -- @preserve */
|
|
@@ -225,7 +246,7 @@ const o = class r extends u {
|
|
|
225
246
|
* @internal
|
|
226
247
|
*/
|
|
227
248
|
selectedOptionsChanged(e, t) {
|
|
228
|
-
const i = t.filter(
|
|
249
|
+
const i = t.filter(a.slottedOptionFilter);
|
|
229
250
|
this.options.forEach((s) => {
|
|
230
251
|
const n = h.getNotifier(s);
|
|
231
252
|
n.unsubscribe(this, "selected"), s.selected = i.includes(s), n.subscribe(this, "selected");
|
|
@@ -247,7 +268,7 @@ const o = class r extends u {
|
|
|
247
268
|
*/
|
|
248
269
|
selectLastOption() {
|
|
249
270
|
/* v8 ignore else -- @preserve */
|
|
250
|
-
this.disabled || (this.selectedIndex =
|
|
271
|
+
this.disabled || (this.selectedIndex = _(this.options, (e) => !e.disabled));
|
|
251
272
|
}
|
|
252
273
|
/**
|
|
253
274
|
* Moves focus to the next selectable option.
|
|
@@ -256,7 +277,10 @@ const o = class r extends u {
|
|
|
256
277
|
*/
|
|
257
278
|
selectNextOption() {
|
|
258
279
|
/* v8 ignore else -- @preserve */
|
|
259
|
-
!this.disabled && this.selectedIndex < this.options.length - 1
|
|
280
|
+
if (!this.disabled && this.selectedIndex < this.options.length - 1) {
|
|
281
|
+
const e = this.getNextSelectableIndex(this.selectedIndex + 1);
|
|
282
|
+
e !== -1 && (this.selectedIndex = e);
|
|
283
|
+
}
|
|
260
284
|
}
|
|
261
285
|
/**
|
|
262
286
|
* Moves focus to the previous selectable option.
|
|
@@ -265,7 +289,10 @@ const o = class r extends u {
|
|
|
265
289
|
*/
|
|
266
290
|
selectPreviousOption() {
|
|
267
291
|
/* v8 ignore else -- @preserve */
|
|
268
|
-
!this.disabled && this.selectedIndex > 0
|
|
292
|
+
if (!this.disabled && this.selectedIndex > 0) {
|
|
293
|
+
const e = this.getPreviousSelectableIndex(this.selectedIndex - 1);
|
|
294
|
+
e !== -1 && (this.selectedIndex = e);
|
|
295
|
+
}
|
|
269
296
|
}
|
|
270
297
|
/// For this options change, determine if selectedIndex should change based on defaultSelected. Otherwise, returns null.
|
|
271
298
|
_newDefaultSelectedIndex(e, t, i) {
|
|
@@ -298,7 +325,7 @@ const o = class r extends u {
|
|
|
298
325
|
}, []);
|
|
299
326
|
const i = `${this.options.length}`;
|
|
300
327
|
this.options.forEach((s, n) => {
|
|
301
|
-
s.id || (s.id =
|
|
328
|
+
s.id || (s.id = m("option-")), s.ariaPosInSet = `${n + 1}`, s.ariaSetSize = i;
|
|
302
329
|
});
|
|
303
330
|
}
|
|
304
331
|
/**
|
|
@@ -323,19 +350,19 @@ l([
|
|
|
323
350
|
f({ mode: "boolean" })
|
|
324
351
|
], o.prototype, "disabled");
|
|
325
352
|
l([
|
|
326
|
-
|
|
353
|
+
r
|
|
327
354
|
], o.prototype, "selectedIndex");
|
|
328
355
|
l([
|
|
329
|
-
|
|
356
|
+
r
|
|
330
357
|
], o.prototype, "selectedOptions");
|
|
331
358
|
l([
|
|
332
|
-
|
|
359
|
+
r
|
|
333
360
|
], o.prototype, "slottedOptions");
|
|
334
361
|
l([
|
|
335
|
-
|
|
362
|
+
r
|
|
336
363
|
], o.prototype, "typeaheadBuffer");
|
|
337
364
|
l([
|
|
338
|
-
|
|
365
|
+
r
|
|
339
366
|
], o.prototype, "_activeDescendant");
|
|
340
367
|
let A = o;
|
|
341
368
|
export {
|