@qualcomm-ui/core 1.0.11 → 1.1.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/dist/input/input.types.d.ts +8 -0
- package/dist/input/input.types.d.ts.map +1 -1
- package/dist/select/index.cjs +1 -1
- package/dist/select/index.cjs.map +2 -2
- package/dist/select/index.js +1 -1
- package/dist/select/index.js.map +2 -2
- package/dist/select/select.api.d.ts.map +1 -1
- package/dist/select/select.types.d.ts +1 -0
- package/dist/select/select.types.d.ts.map +1 -1
- package/dist/text-area/index.cjs +1 -1
- package/dist/text-area/index.cjs.map +4 -4
- package/dist/text-area/index.d.ts +4 -1
- package/dist/text-area/index.d.ts.map +1 -1
- package/dist/text-area/index.js +1 -0
- package/dist/text-area/index.js.map +4 -4
- package/dist/text-area/internal/index.d.ts +2 -0
- package/dist/text-area/internal/index.d.ts.map +1 -0
- package/dist/text-area/internal/text-area.dom.d.ts +7 -0
- package/dist/text-area/internal/text-area.dom.d.ts.map +1 -0
- package/dist/text-area/text-area.api.d.ts +4 -0
- package/dist/text-area/text-area.api.d.ts.map +1 -0
- package/dist/text-area/text-area.machine.d.ts +4 -0
- package/dist/text-area/text-area.machine.d.ts.map +1 -0
- package/dist/text-area/text-area.props.d.ts +3 -0
- package/dist/text-area/text-area.props.d.ts.map +1 -0
- package/dist/text-area/text-area.types.d.ts +121 -0
- package/dist/text-area/text-area.types.d.ts.map +1 -0
- package/dist/tsbuildinfo +1 -1
- package/package.json +11 -11
|
@@ -14,6 +14,14 @@ export interface InputLabelBindings {
|
|
|
14
14
|
htmlFor: string;
|
|
15
15
|
id: string;
|
|
16
16
|
}
|
|
17
|
+
export interface InputCounterBindings {
|
|
18
|
+
"data-disabled": BooleanDataAttr;
|
|
19
|
+
"data-focus": BooleanDataAttr;
|
|
20
|
+
"data-invalid": BooleanDataAttr;
|
|
21
|
+
"data-max": number | undefined;
|
|
22
|
+
"data-part": "counter";
|
|
23
|
+
id: string;
|
|
24
|
+
}
|
|
17
25
|
export interface InputErrorTextBindings {
|
|
18
26
|
"aria-live": "polite";
|
|
19
27
|
"data-part": "error-text";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.types.d.ts","sourceRoot":"","sources":["../../src/input/input.types.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EAChB,MAAM,+BAA+B,CAAA;AACtC,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,4BAA4B,CAAA;AAEnD,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,eAAe,CAAA;IAChC,YAAY,EAAE,eAAe,CAAA;IAC7B,cAAc,EAAE,eAAe,CAAA;IAC/B,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,eAAe,CAAA;IAChC,YAAY,EAAE,eAAe,CAAA;IAC7B,cAAc,EAAE,eAAe,CAAA;IAC/B,WAAW,EAAE,OAAO,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,QAAQ,CAAA;IACrB,WAAW,EAAE,YAAY,CAAA;IACzB,MAAM,EAAE,OAAO,CAAA;IACf,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,eAAe,CAAA;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,OAAO,CAAA;IACf,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,uBAAuB;IACtC,eAAe,EAAE,eAAe,CAAA;IAChC,YAAY,EAAE,eAAe,CAAA;IAC7B,cAAc,EAAE,eAAe,CAAA;IAC/B,WAAW,EAAE,aAAa,CAAA;IAC1B,eAAe,EAAE,eAAe,CAAA;IAChC,OAAO,EAAE,GAAG,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;CAC5C;AAED,MAAM,WAAW,2BAA2B;IAC1C,YAAY,EAAE,OAAO,CAAA;IACrB,WAAW,EAAE,iBAAiB,CAAA;IAC9B,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,cAAc,EAAE,eAAe,CAAA;IAC/B,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,YAAY,EAAE,eAAe,CAAA;IAC7B,YAAY,EAAE,eAAe,CAAA;IAC7B,cAAc,EAAE,eAAe,CAAA;IAC/B,WAAW,EAAE,OAAO,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,GAAG,CAAC,iBAAiB,CAAA;IAC7B,QAAQ,EAAE,GAAG,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;IAClD,OAAO,EAAE,GAAG,CAAC,iBAAiB,CAAA;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,aAAa,CAAA;IAC3B,eAAe,EAAE,eAAe,CAAA;IAChC,WAAW,EAAE,eAAe,CAAA;IAC5B,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,OAAO,EAAE,GAAG,CAAC,iBAAiB,CAAA;CAC/B"}
|
|
1
|
+
{"version":3,"file":"input.types.d.ts","sourceRoot":"","sources":["../../src/input/input.types.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EAChB,MAAM,+BAA+B,CAAA;AACtC,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,4BAA4B,CAAA;AAEnD,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,eAAe,CAAA;IAChC,YAAY,EAAE,eAAe,CAAA;IAC7B,cAAc,EAAE,eAAe,CAAA;IAC/B,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,eAAe,CAAA;IAChC,YAAY,EAAE,eAAe,CAAA;IAC7B,cAAc,EAAE,eAAe,CAAA;IAC/B,WAAW,EAAE,OAAO,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,oBAAoB;IACnC,eAAe,EAAE,eAAe,CAAA;IAChC,YAAY,EAAE,eAAe,CAAA;IAC7B,cAAc,EAAE,eAAe,CAAA;IAC/B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,WAAW,EAAE,SAAS,CAAA;IACtB,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,QAAQ,CAAA;IACrB,WAAW,EAAE,YAAY,CAAA;IACzB,MAAM,EAAE,OAAO,CAAA;IACf,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,eAAe,CAAA;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,OAAO,CAAA;IACf,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,uBAAuB;IACtC,eAAe,EAAE,eAAe,CAAA;IAChC,YAAY,EAAE,eAAe,CAAA;IAC7B,cAAc,EAAE,eAAe,CAAA;IAC/B,WAAW,EAAE,aAAa,CAAA;IAC1B,eAAe,EAAE,eAAe,CAAA;IAChC,OAAO,EAAE,GAAG,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;CAC5C;AAED,MAAM,WAAW,2BAA2B;IAC1C,YAAY,EAAE,OAAO,CAAA;IACrB,WAAW,EAAE,iBAAiB,CAAA;IAC9B,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,cAAc,EAAE,eAAe,CAAA;IAC/B,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,YAAY,EAAE,eAAe,CAAA;IAC7B,YAAY,EAAE,eAAe,CAAA;IAC7B,cAAc,EAAE,eAAe,CAAA;IAC/B,WAAW,EAAE,OAAO,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,GAAG,CAAC,iBAAiB,CAAA;IAC7B,QAAQ,EAAE,GAAG,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;IAClD,OAAO,EAAE,GAAG,CAAC,iBAAiB,CAAA;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,aAAa,CAAA;IAC3B,eAAe,EAAE,eAAe,CAAA;IAChC,WAAW,EAAE,eAAe,CAAA;IAC5B,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,OAAO,EAAE,GAAG,CAAC,iBAAiB,CAAA;CAC/B"}
|
package/dist/select/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var L=Object.defineProperty;var z=Object.getOwnPropertyDescriptor;var ee=Object.getOwnPropertyNames;var te=Object.prototype.hasOwnProperty;var ie=(e,t)=>{for(var i in t)L(e,i,{get:t[i],enumerable:!0})},le=(e,t,i,l)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of ee(t))!te.call(e,n)&&n!==i&&L(e,n,{get:()=>t[n],enumerable:!(l=z(t,n))||l.enumerable});return e};var ne=e=>le(L({},"__esModule",{value:!0}),e);var ue={};ie(ue,{createSelectApi:()=>oe,emptyCollection:()=>H,selectCollection:()=>re,selectMachine:()=>se,splitSelectProps:()=>de});module.exports=ne(ue);var W=require("@qualcomm-ui/dom/floating-ui"),_=require("@qualcomm-ui/dom/focus-visible"),p=require("@qualcomm-ui/dom/query"),d=require("@qualcomm-ui/utils/attributes"),U=require("@qualcomm-ui/utils/guard");var c={clearTrigger:e=>e.ids.get("clearTrigger"),content:e=>e.ids.get("content"),control:e=>e.ids.get("control"),errorText:e=>e.ids.get("errorText"),hiddenSelect:e=>e.ids.get("hiddenSelect"),hint:e=>e.ids.get("hint"),item:(e,t)=>`${e.ids.get("root")}-item-${t}`,itemGroup:(e,t)=>`${e.ids.get("root")}-item-group-${t}`,itemGroupLabel:(e,t)=>`${e.ids.get("root")}-item-group-label-${t}`,label:e=>e.ids.get("label"),positioner:e=>e.ids.get("positioner"),root:e=>e.ids.get("root")},u={clearTrigger:e=>e.getById(c.clearTrigger(e)),content:e=>e.getById(c.content(e)),control:e=>e.getById(c.control(e)),errorText:e=>e.getById(c.errorText(e)),hiddenSelect:e=>e.getById(c.hiddenSelect(e)),hint:e=>e.getById(c.hint(e)),item:(e,t)=>e.getById(c.item?.(e,t)),label:e=>e.getById(c.label?.(e)),positioner:e=>e.getById(c.positioner(e)),root:e=>e.getById(c.root(e))};function oe(e,t){let{computed:i,context:l,prop:n,refs:g,scope:a,send:s,state:E}=e,h=n("disabled")||l.get("fieldsetDisabled"),I=n("invalid"),T=n("readOnly"),v=n("collection"),S=E.hasTag("open"),x=E.matches("focused"),O=l.get("highlightedValue"),j=l.get("highlightedItem"),Q=l.get("selectedItems"),A=l.get("currentPlacement"),M=i("isTypingAhead"),V=i("isInteractive"),w=O&&c.item?.(a,O)||void 0;function X(o){let r=v.getItemDisabled(o.item),f=v.getItemValue(o.item);return(0,U.ensure)(f,()=>`[@qualcomm-ui/core] No value found for item ${JSON.stringify(o.item)}`),{disabled:!!(h||r),highlighted:O===f,persistFocus:o.persistFocus,selected:l.get("value")?.includes(f)||!1,value:f}}let Z=(0,W.getPlacementStyles)({...n("positioning"),placement:A});return{clearValue(o){s({type:"ITEM.CLEAR",value:o})},collection:v,disabled:h,empty:i("isEmpty"),focus(){u.control(a)?.focus({preventScroll:!0})},focused:x,getItemState:X,hasSelectedItems:i("hasSelectedItems"),hiddenSelectOptions:[],highlightedItem:j,highlightedValue:O,highlightValue(o){s({type:"HIGHLIGHTED_VALUE.SET",value:o})},multiple:n("multiple"),open:S,placeholder:n("placeholder"),reposition(o={}){s({options:o,type:"POSITIONING.SET"})},required:n("required"),selectAll(){s({type:"VALUE.SET",value:v.getValues()})},selectedItems:Q,selectValue(o){s({type:"ITEM.SELECT",value:o})},setOpen(o){E.hasTag("open")!==o&&s({type:o?"OPEN":"CLOSE"})},setScrollToIndexFn(o){g.set("scrollToIndexFn",o)},setValue(o){s({type:"VALUE.SET",value:o})},value:l.get("value"),valueAsString:l.get("valueAsString"),getClearTriggerBindings(o){return a.ids.register("clearTrigger",o),t.button({"aria-label":"Clear value","data-invalid":(0,d.booleanDataAttr)(I),"data-part":"clear-trigger","data-scope":"select",dir:n("dir"),disabled:h,hidden:!i("hasSelectedItems"),id:c.clearTrigger(a),onClick(r){r.defaultPrevented||!V||(s({type:"CLEAR.CLICK"}),S||r.stopPropagation())},type:"button"})},getContentBindings(o){return a.ids.register("content",o),t.element({"aria-activedescendant":w,"aria-labelledby":c.label(a),"aria-multiselectable":(0,d.booleanAriaAttr)(n("multiple")),"data-activedescendant":w,"data-focus-visible":(0,d.booleanDataAttr)((0,_.isFocusVisible)()),"data-part":"content","data-placement":A,"data-scope":"select","data-state":S?"open":"closed",dir:n("dir"),hidden:!S,id:c.content(a),onKeyDown(r){if(!V||!(0,p.isSelfTarget)(r)||r.defaultPrevented)return;let f={ArrowDown(){s({type:"CONTENT.ARROW_DOWN"})},ArrowUp(){s({type:"CONTENT.ARROW_UP"})},End(){s({type:"CONTENT.END"})},Enter(){s({type:"ITEM.CLICK"})},Home(){s({type:"CONTENT.HOME"})},Space(){M?s({key:r.key,type:"CONTENT.TYPEAHEAD"}):f.Enter?.(r)},Tab(){s({type:"TRIGGER.TAB"})}},y=f[(0,p.getEventKey)(r)];if(y){y(r),r.preventDefault();return}let C=(0,p.getEventTarget)(r);(0,p.isEditableElement)(C)||p.getByTypeahead.isValidEvent(r)&&(s({key:r.key,type:"CONTENT.TYPEAHEAD"}),r.preventDefault())},role:"listbox",tabIndex:0})},getControlBindings(o){return a.ids.register("control",o),t.button({"aria-controls":c.content(a),"aria-expanded":(0,d.booleanAriaAttr)(S),"aria-haspopup":"listbox","aria-invalid":I,"aria-labelledby":c.label(a),"data-disabled":(0,d.booleanDataAttr)(h),"data-invalid":(0,d.booleanDataAttr)(I),"data-part":"control","data-placeholder-shown":(0,d.booleanDataAttr)(!i("hasSelectedItems")),"data-placement":A,"data-readonly":(0,d.booleanDataAttr)(T),"data-scope":"select","data-state":S?"open":"closed",dir:n("dir"),disabled:h,id:c.control(a),onBlur(){s({type:"TRIGGER.BLUR"})},onClick(r){V&&(r.defaultPrevented||s({type:"TRIGGER.CLICK"}))},onFocus(){s({type:"TRIGGER.FOCUS"})},onKeyDown(r){if(r.defaultPrevented||!V)return;let y={ArrowDown(C){C.altKey?s({type:"OPEN"}):s({type:"TRIGGER.ARROW_DOWN"})},ArrowLeft(){s({type:"TRIGGER.ARROW_LEFT"})},ArrowRight(){s({type:"TRIGGER.ARROW_RIGHT"})},ArrowUp(){s({type:"TRIGGER.ARROW_UP"})},End(){s({type:"TRIGGER.END"})},Enter(){s({type:"TRIGGER.ENTER"})},Home(){s({type:"TRIGGER.HOME"})},Space(C){s(M?{type:"TRIGGER.TYPEAHEAD",value:C.key}:{type:"TRIGGER.ENTER"})}}[(0,p.getEventKey)(r,{dir:n("dir"),orientation:"vertical"})];if(y){y(r),r.preventDefault();return}p.getByTypeahead.isValidEvent(r)&&(s({type:"TRIGGER.TYPEAHEAD",value:r.key}),r.preventDefault())},role:"combobox",tabIndex:h?-1:0})},getErrorIndicatorBindings(){return t.element({"aria-label":"Error","data-part":"error-indicator","data-scope":"select",dir:n("dir"),hidden:!n("invalid")})},getErrorTextBindings(o){return a.ids.register("errorText",o),t.element({"aria-live":"polite","data-part":"error-text","data-scope":"select",dir:n("dir"),hidden:!I,id:c.errorText(a)})},getHiddenSelectBindings(o){a.ids.register("hiddenSelect",o);let r=l.get("value"),f=n("multiple")?r:r?.[0];return t.select({"aria-hidden":!0,"aria-labelledby":c.label(a),"data-part":"hidden-select","data-scope":"select",defaultValue:f,dir:n("dir"),disabled:h,form:n("form"),id:c.hiddenSelect(a),multiple:n("multiple"),name:n("name"),onFocus(){u.control(a)?.focus({preventScroll:!0})},required:!!n("required"),style:p.visuallyHiddenStyle,tabIndex:-1})},getHintBindings(o){return a.ids.register("hint",o),t.element({"data-disabled":(0,d.booleanDataAttr)(h),"data-part":"hint","data-scope":"select",dir:n("dir"),hidden:!!I,id:c.hint(a)})},getIndicatorBindings(){return t.element({"aria-hidden":!0,"data-disabled":(0,d.booleanDataAttr)(h),"data-invalid":(0,d.booleanDataAttr)(I),"data-part":"indicator","data-readonly":(0,d.booleanDataAttr)(T),"data-scope":"select","data-state":S?"open":"closed",dir:n("dir")})},getItemBindings(o){return t.element({"aria-disabled":(0,d.booleanAriaAttr)(o.disabled),"aria-selected":o.selected,"data-disabled":(0,d.booleanDataAttr)(o.disabled),"data-highlighted":(0,d.booleanDataAttr)(o.highlighted),"data-part":"item","data-scope":"select","data-state":o.selected?"checked":"unchecked","data-value":o.value,dir:n("dir"),id:c.item(a,o.value),onClick(r){r.defaultPrevented||o.disabled||s({src:"pointerup",type:"ITEM.CLICK",value:o.value})},onPointerLeave(r){o.disabled||o.persistFocus||r.pointerType!=="mouse"||!e?.event?.previous()?.type?.includes("POINTER")||s({type:"ITEM.POINTER_LEAVE"})},onPointerMove(r){o.disabled||r.pointerType!=="mouse"||o.value!==O&&s({type:"ITEM.POINTER_MOVE",value:o.value})},role:"option"})},getItemGroupBindings({id:o}){return t.element({"aria-labelledby":c.itemGroupLabel(a,o),"data-disabled":(0,d.booleanDataAttr)(h),"data-part":"item-group","data-scope":"select",dir:n("dir"),id:c.itemGroup(a,o),role:"group"})},getItemGroupLabelBindings({htmlFor:o}){return t.element({"data-part":"item-group-label","data-scope":"select",dir:n("dir"),id:c.itemGroupLabel(a,o),role:"presentation"})},getItemIndicatorBindings(o){return t.element({"aria-hidden":!0,"data-part":"item-indicator","data-scope":"select","data-state":o.selected?"checked":"unchecked",dir:n("dir"),hidden:!o.selected})},getItemTextBindings(o){return t.element({"data-disabled":(0,d.booleanDataAttr)(o.disabled),"data-highlighted":(0,d.booleanDataAttr)(o.highlighted),"data-part":"item-text","data-scope":"select","data-state":o.selected?"checked":"unchecked",dir:n("dir")})},getLabelBindings(o){return a.ids.register("label",o),t.label({"data-disabled":(0,d.booleanDataAttr)(h),"data-invalid":(0,d.booleanDataAttr)(I),"data-part":"label","data-readonly":(0,d.booleanDataAttr)(T),"data-scope":"select",dir:n("dir"),htmlFor:c.hiddenSelect(a),id:c.label(a),onClick(r){r.defaultPrevented||h||u.control(a)?.focus({preventScroll:!0})}})},getPositionerBindings(o){return a.ids.register("positioner",o),t.element({"data-part":"positioner","data-scope":"select",dir:n("dir"),id:c.positioner(a),style:Z.floating})},getRootBindings(o){return a.ids.register("root",o),t.element({"data-invalid":(0,d.booleanDataAttr)(I),"data-part":"root","data-readonly":(0,d.booleanDataAttr)(T),"data-scope":"select",dir:n("dir"),id:c.root(a)})},getValueTextBindings(){return t.element({"data-disabled":(0,d.booleanDataAttr)(h),"data-focus":(0,d.booleanDataAttr)(x),"data-invalid":(0,d.booleanDataAttr)(I),"data-multiple":(0,d.booleanDataAttr)(n("multiple")),"data-part":"value-text","data-scope":"select",dir:n("dir")})}}}var N=require("@qualcomm-ui/utils/collection"),re=e=>new N.ListCollection(e),H=()=>new N.ListCollection({items:[]});var q=require("@qualcomm-ui/dom/dismissable"),B=require("@qualcomm-ui/dom/floating-ui"),$=require("@qualcomm-ui/dom/focus-visible"),m=require("@qualcomm-ui/dom/query"),D=require("@qualcomm-ui/utils/array"),G=require("@qualcomm-ui/utils/equal"),Y=require("@qualcomm-ui/utils/guard"),P=require("@qualcomm-ui/utils/machine"),J=require("@qualcomm-ui/utils/memo");var{and:F,not:R,or:ae}=(0,P.createGuards)();function k(e){return typeof e=="string"||e===null}var se=(0,P.createMachine)({actions:{clearHighlightedItem({context:e}){e.set("highlightedValue",null)},clearItem({context:e,event:t}){"value"in t&&e.set("value",i=>i.filter(l=>l!==t.value))},clearSelectedItems({context:e}){e.set("value",[])},dispatchChangeEvent({scope:e}){queueMicrotask(()=>{let t=u.hiddenSelect(e);if(!t)return;let i=e.getWin(),l=new i.Event("change",{bubbles:!0,composed:!0});t.dispatchEvent(l)})},focusTriggerEl({scope:e},t={}){K(t)&&(0,m.raf)(()=>{u.control(e)?.focus({preventScroll:!0})})},highlightComputedFirstItem({computed:e,context:t,prop:i}){let l=i("collection"),n=e("hasSelectedItems")?l.sort(t.get("value"))[0]:l.firstValue;t.set("highlightedValue",n)},highlightComputedLastItem({computed:e,context:t,prop:i}){let l=i("collection"),n=e("hasSelectedItems")?l.sort(t.get("value"))[0]:l.lastValue;t.set("highlightedValue",n)},highlightFirstItem({context:e,prop:t}){let i=t("collection").firstValue;e.set("highlightedValue",i)},highlightFirstSelectedItem({computed:e,context:t,prop:i}){if(!e("hasSelectedItems"))return;let l=i("collection").sort(t.get("value"))[0];t.set("highlightedValue",l)},highlightItem({context:e,event:t}){!("value"in t)||!k(t.value)||e.set("highlightedValue",t.value)},highlightLastItem({context:e,prop:t}){let i=t("collection").lastValue;e.set("highlightedValue",i)},highlightMatchingItem({context:e,event:t,prop:i,refs:l}){if(!("key"in t))return;let n=i("collection").search(t.key,{currentValue:e.get("highlightedValue"),state:l.get("typeahead")});n!=null&&e.set("highlightedValue",n)},highlightNextItem({context:e,prop:t}){let i=e.get("highlightedValue");if(i==null){e.set("highlightedValue",t("collection").firstValue);return}let l=t("collection").getNextValue(i,1,t("loopFocus"));e.set("highlightedValue",l)},highlightPreviousItem({context:e,prop:t}){let i=e.get("highlightedValue");if(i==null){e.set("highlightedValue",t("collection").lastValue);return}let l=t("collection").getPreviousValue(i,1,t("loopFocus"));e.set("highlightedValue",l)},invokeOnClose:({prop:e})=>{e("onOpenChange")?.(!1)},invokeOnOpen:({prop:e})=>{e("onOpenChange")?.(!0)},reposition({context:e,event:t,prop:i,scope:l}){"options"in t&&(0,B.getPlacement)(()=>u.control(l),()=>u.positioner(l),{...i("positioning"),...t.options,defer:!0,listeners:!1,onComplete(n){e.set("currentPlacement",n.placement)}})},scrollContentToTop({refs:e,scope:t}){let i=e.get("scrollToIndexFn");i?i?.({immediate:!0,index:0}):u.content(t)?.scrollTo(0,0)},selectFirstItem({context:e,prop:t}){let i=t("collection").firstValue;i&&e.set("value",[i])},selectHighlightedItem({context:e,event:t,prop:i}){let l="value"in t&&k(t.value)&&t.value?t.value:e.get("highlightedValue");if(l==null)return;i("onSelect")?.(l),l=i("deselectable")&&!i("multiple")&&e.get("value").includes(l)?null:l,e.set("value",g=>l==null?[]:i("multiple")?(0,D.addOrRemove)(g,l):[l])},selectItem({context:e,event:t,prop:i}){if(!("value"in t)||typeof t.value!="string")return;i("onSelect")?.(t.value);let n=i("deselectable")&&!i("multiple")&&e.get("value").includes(t.value)?null:t.value;e.set("value",g=>n==null?[]:i("multiple")?(0,D.addOrRemove)(g,n):[n])},selectLastItem({context:e,prop:t}){let i=t("collection").lastValue;i&&e.set("value",[i])},selectMatchingItem({context:e,event:t,prop:i,refs:l}){if(!("key"in t))return;let n=i("collection").search(t.key,{currentValue:e.get("value")[0],state:l.get("typeahead")});n!=null&&e.set("value",[n])},selectPreviousItem({context:e,prop:t}){let[i]=e.get("value"),l=t("collection").getPreviousValue(i);l&&e.set("value",[l])},setHighlightedItem({context:e,event:t}){"value"in t&&k(t.value)&&e.set("highlightedValue",t.value)},setInitialFocus({scope:e}){(0,m.raf)(()=>{(0,m.getInitialFocus)({root:u.content(e)})?.focus({preventScroll:!0})})},setSelectedItems({context:e,event:t}){"value"in t&&Array.isArray(t.value)&&e.set("value",t.value)},syncCollection({context:e,prop:t}){let i=t("collection"),l=i.find(e.get("highlightedValue"));l&&e.set("highlightedItem",l,null);let n=i.findMany(e.get("value"));e.set("selectedItems",n);let g=i.stringifyItems(n);e.set("valueAsString",g)},syncHighlightedItem({context:e,prop:t}){let i=t("collection"),l=e.get("highlightedValue"),n=l?i.find(l):null;e.set("highlightedItem",n,null)},syncSelectedItems({context:e,prop:t}){let i=t("collection"),l=e.get("selectedItems"),g=e.get("value").map(a=>l.find(E=>i.getItemValue(E)===a)||i.find(a));e.set("selectedItems",g),e.set("valueAsString",i.stringifyItems(g))},syncSelectElement({context:e,prop:t,scope:i}){let l=u.hiddenSelect(i);if(l){if(e.get("value")?.length===0&&!t("multiple")){l.selectedIndex=-1;return}for(let n of l.options)n.selected=e.get("value").includes(n.value)}},toggleVisibility:({event:e,prop:t,send:i})=>{i({restoreFocus:"restoreFocus"in e?e.restoreFocus:void 0,type:t("open")?"CONTROLLED.OPEN":"CONTROLLED.CLOSE"})}},computed:{hasSelectedItems:({context:e})=>(e.get("value")?.length??0)>0,hiddenSelectOptions:(0,J.memo)(({prop:e})=>[e("collection")],e=>e.items.map(t=>({disabled:e.getItemDisabled(t),label:e.stringifyItem(t),value:e.getItemValue(t)})).filter(t=>t.label!==null&&t.value!==null)),isDisabled:({context:e,prop:t})=>t("disabled")||e.get("fieldsetDisabled"),isEmpty:({context:e})=>!e.get("value")?.length,isInteractive:({prop:e})=>!(e("disabled")||e("readOnly")),isTypingAhead:({refs:e})=>e.get("typeahead").keysSoFar!==""},context({bindable:e,prop:t}){return{currentPlacement:e(()=>({defaultValue:void 0})),fieldsetDisabled:e(()=>({defaultValue:!1})),highlightedItem:e(()=>({defaultValue:null})),highlightedValue:e(()=>({defaultValue:t("defaultHighlightedValue"),isEqual:G.isEqual,onChange(i){t("onHighlightChange")?.(i,{highlightedIndex:t("collection").indexOf(i),highlightedItem:t("collection").find(i)})},value:t("highlightedValue")})),selectedItems:e(()=>{let i=t("value")??t("defaultValue")??[];return{defaultValue:t("collection").findMany(i),isEqual:G.isEqual}}),value:e(()=>({defaultValue:t("defaultValue"),onChange(i){let l=t("collection").findMany(i??[]);return t("onValueChange")?.(i??[],{items:l})},value:t("value")})),valueAsString:e(()=>{let i=t("value")??t("defaultValue")??[];return{defaultValue:t("collection").stringifyMany(i),isEqual:G.isEqual}})}},effects:{computePlacement({context:e,prop:t,scope:i}){let l=t("positioning");return e.set("currentPlacement",l.placement),(0,B.getPlacement)(()=>u.control(i),()=>u.positioner(i),{defer:!0,...l,onComplete(a){e.set("currentPlacement",a.placement)}})},scrollToHighlightedItem({context:e,event:t,prop:i,refs:l,scope:n}){let g=s=>{let E=e.get("highlightedValue");if(E==null||t.current().type?.includes("POINTER"))return;let h=u.item(n,E),I=u.content(n),T=l.get("scrollToIndexFn");if(T){let v=i("collection").indexOf(E);T?.({immediate:s,index:v});return}(0,m.scrollIntoView)(h,{block:"nearest",rootEl:I})};return(0,m.raf)(()=>g(!0)),(0,m.observeAttributes)(()=>u.content(n),{attributes:["data-activedescendant"],callback(){g(!1)},defer:!0})},trackDismissableElement({prop:e,scope:t,send:i}){let l=()=>u.content(t),n=!0;return(0,q.trackDismissableElement)(l,{defer:!0,exclude:()=>[u.control(t),u.clearTrigger(t)],onDismiss(){i({restoreFocus:n,src:"interact-outside",type:"CLOSE"})},onFocusOutside:e("onFocusOutside"),onInteractOutside(g){e("onInteractOutside")?.(g),n=!(g.detail.focusable||g.detail.contextmenu)},onPointerDownOutside:e("onPointerDownOutside"),warnOnMissingNode:!1})},trackFocusVisible({scope:e}){return(0,$.trackFocusVisible)({root:e.getRootNode?.()})},trackFormControlState({context:e,scope:t}){(0,m.raf)(()=>{(0,m.trackFormControl)(u.hiddenSelect(t),{onFieldsetDisabledChange(i){e.set("fieldsetDisabled",i)},onFormReset(){let i=e.initial("value");e.set("value",i??[])}})})}},guards:{canHighlightNextItem:({guard:e,prop:t})=>!e("hasHighlightedItem")||t("loopFocus")||!e("isLastItemHighlighted"),canHighlightPreviousItem:({guard:e,prop:t})=>!e("hasHighlightedItem")||t("loopFocus")||!e("isFirstItemHighlighted"),closeOnSelect:({prop:e})=>e("closeOnSelect"),hasHighlightedItem:({context:e})=>e.get("highlightedValue")!=null,hasSelectedItems:({computed:e})=>e("hasSelectedItems"),isFirstItemHighlighted:({context:e,prop:t})=>e.get("highlightedValue")===t("collection").firstValue,isLastItemHighlighted:({context:e,prop:t})=>e.get("highlightedValue")===t("collection").lastValue,isOpenControlled:({prop:e})=>(0,Y.isDefined)(e("open")),isTriggerArrowDownEvent:({event:e})=>e.previous().type==="TRIGGER.ARROW_DOWN",isTriggerArrowUpEvent:({event:e})=>e.previous().type==="TRIGGER.ARROW_UP",isTriggerClickEvent:({event:e})=>e.previous().type==="TRIGGER.CLICK",isTriggerEnterEvent:({event:e})=>e.previous().type==="TRIGGER.ENTER",loop:({prop:e})=>e("loopFocus"),multiple:({prop:e})=>e("multiple"),restoreFocus:({event:e})=>K(e)},ids:({bindableId:e,ids:t})=>({clearTrigger:e(t?.clearTrigger),content:e(t?.content),control:e(t?.control),errorText:e(t?.errorText),hiddenSelect:e(t?.hiddenSelect),hint:e(t?.hint),item:e(),itemGroup:e(),itemGroupLabel:e(),label:e(t?.label),positioner:e(t?.positioner),root:e(t?.root)}),initialState({prop:e}){return e("open")||e("defaultOpen")?"open":"idle"},on:{"CLEAR.CLICK":{actions:["clearSelectedItems","focusTriggerEl"]},"HIGHLIGHTED_VALUE.SET":{actions:["setHighlightedItem"]},"ITEM.CLEAR":{actions:["clearItem"]},"ITEM.SELECT":{actions:["selectItem"]},"VALUE.CLEAR":{actions:["clearSelectedItems"]},"VALUE.SET":{actions:["setSelectedItems"]}},onInit:{effects:["trackFormControlState","trackFocusVisible"]},props({props:e}){return{closeOnSelect:!e.multiple,defaultValue:[],dir:"ltr",loopFocus:!1,multiple:!1,placeholder:"Select an option",...e,collection:e.collection??H(),positioning:{gutter:2,placement:"bottom-start",sameWidth:!0,...e.positioning}}},refs:({prop:e})=>({scrollToIndexFn:e("scrollToIndexFn"),typeahead:{...m.getByTypeahead.defaultOptions}}),states:{focused:{on:{"CONTROLLED.OPEN":[{actions:["setInitialFocus","highlightFirstSelectedItem"],guard:"isTriggerClickEvent",target:"open"},{actions:["setInitialFocus","highlightComputedLastItem"],guard:"isTriggerArrowUpEvent",target:"open"},{actions:["setInitialFocus","highlightComputedFirstItem"],guard:ae("isTriggerArrowDownEvent","isTriggerEnterEvent"),target:"open"},{actions:["setInitialFocus"],target:"open"}],OPEN:[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["setInitialFocus","invokeOnOpen"],target:"open"}],"TRIGGER.ARROW_DOWN":[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["setInitialFocus","invokeOnOpen","highlightComputedFirstItem"],target:"open"}],"TRIGGER.ARROW_LEFT":[{actions:["selectPreviousItem"],guard:F(R("multiple"),"hasSelectedItems")},{actions:["selectLastItem"],guard:R("multiple")}],"TRIGGER.ARROW_UP":[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["setInitialFocus","invokeOnOpen","highlightComputedLastItem"],target:"open"}],"TRIGGER.BLUR":{target:"idle"},"TRIGGER.CLICK":[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["setInitialFocus","invokeOnOpen","highlightFirstSelectedItem"],target:"open"}],"TRIGGER.END":{actions:["selectLastItem"],guard:R("multiple")},"TRIGGER.ENTER":[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["setInitialFocus","invokeOnOpen","highlightComputedFirstItem"],target:"open"}],"TRIGGER.HOME":{actions:["selectFirstItem"],guard:R("multiple")},"TRIGGER.TYPEAHEAD":{actions:["selectMatchingItem"],guard:R("multiple")}},tags:["closed"]},idle:{on:{"CONTROLLED.OPEN":[{actions:["setInitialFocus","highlightFirstSelectedItem"],guard:"isTriggerClickEvent",target:"open"},{actions:["setInitialFocus"],target:"open"}],OPEN:[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["setInitialFocus","invokeOnOpen"],target:"open"}],"TRIGGER.CLICK":[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["invokeOnOpen","setInitialFocus","highlightFirstSelectedItem"],target:"open"}],"TRIGGER.FOCUS":{target:"focused"}},tags:["closed"]},open:{effects:["trackDismissableElement","computePlacement","scrollToHighlightedItem"],exit:["scrollContentToTop"],on:{CLOSE:[{actions:["invokeOnClose"],guard:"isOpenControlled"},{actions:["invokeOnClose","focusTriggerEl","clearHighlightedItem"],guard:"restoreFocus",target:"focused"},{actions:["invokeOnClose","clearHighlightedItem"],target:"idle"}],"CONTENT.ARROW_DOWN":[{actions:["highlightFirstItem"],guard:F("hasHighlightedItem","loop","isLastItemHighlighted")},{actions:["highlightNextItem"],guard:"canHighlightNextItem"}],"CONTENT.ARROW_UP":[{actions:["highlightLastItem"],guard:F("hasHighlightedItem","loop","isFirstItemHighlighted")},{actions:["highlightPreviousItem"],guard:"canHighlightPreviousItem"}],"CONTENT.END":{actions:["highlightLastItem"]},"CONTENT.HOME":{actions:["highlightFirstItem"]},"CONTENT.TYPEAHEAD":{actions:["highlightMatchingItem"]},"CONTROLLED.CLOSE":[{actions:["focusTriggerEl","clearHighlightedItem"],guard:"restoreFocus",target:"focused"},{actions:["clearHighlightedItem"],target:"idle"}],"ITEM.CLICK":[{actions:["selectHighlightedItem","invokeOnClose"],guard:F("closeOnSelect","isOpenControlled")},{actions:["selectHighlightedItem","invokeOnClose","focusTriggerEl","clearHighlightedItem"],guard:"closeOnSelect",target:"focused"},{actions:["selectHighlightedItem"]}],"ITEM.POINTER_LEAVE":{actions:["clearHighlightedItem"]},"ITEM.POINTER_MOVE":{actions:["highlightItem"]},"POSITIONING.SET":{actions:["reposition"]},"TRIGGER.CLICK":[{actions:["invokeOnClose"],guard:"isOpenControlled"},{actions:["invokeOnClose","clearHighlightedItem"],target:"focused"}],"TRIGGER.TAB":[{actions:["invokeOnClose"],guard:"isOpenControlled"},{actions:["invokeOnClose","clearHighlightedItem","focusTriggerEl"],target:"focused"}]},tags:["open"]}},watch({action:e,context:t,prop:i,track:l}){l([()=>t.get("value")?.toString()],()=>{e(["syncSelectedItems","syncSelectElement","dispatchChangeEvent"])}),l([()=>i("open")],()=>{e(["toggleVisibility"])}),l([()=>t.get("highlightedValue")],()=>{e(["syncHighlightedItem"])}),l([()=>i("collection").toString()],()=>{e(["syncCollection"])})}});function K(e){let t=e.restoreFocus??e.previousEvent?.restoreFocus;return t==null||!!t}var b=require("@qualcomm-ui/utils/object"),ce=(0,b.createProps)()("closeOnSelect","collection","defaultHighlightedValue","defaultOpen","defaultValue","deselectable","dir","disabled","form","getRootNode","highlightedValue","id","ids","invalid","loopFocus","multiple","name","onFocusOutside","onHighlightChange","onInteractOutside","onOpenChange","onPointerDownOutside","onSelect","onValueChange","open","placeholder","positioning","readOnly","required","scrollToIndexFn","value"),de=(0,b.createSplitProps)(ce);
|
|
1
|
+
"use strict";var L=Object.defineProperty;var z=Object.getOwnPropertyDescriptor;var ee=Object.getOwnPropertyNames;var te=Object.prototype.hasOwnProperty;var ie=(e,t)=>{for(var i in t)L(e,i,{get:t[i],enumerable:!0})},le=(e,t,i,l)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of ee(t))!te.call(e,n)&&n!==i&&L(e,n,{get:()=>t[n],enumerable:!(l=z(t,n))||l.enumerable});return e};var ne=e=>le(L({},"__esModule",{value:!0}),e);var ue={};ie(ue,{createSelectApi:()=>oe,emptyCollection:()=>H,selectCollection:()=>re,selectMachine:()=>se,splitSelectProps:()=>de});module.exports=ne(ue);var W=require("@qualcomm-ui/dom/floating-ui"),_=require("@qualcomm-ui/dom/focus-visible"),p=require("@qualcomm-ui/dom/query"),d=require("@qualcomm-ui/utils/attributes"),U=require("@qualcomm-ui/utils/guard");var c={clearTrigger:e=>e.ids.get("clearTrigger"),content:e=>e.ids.get("content"),control:e=>e.ids.get("control"),errorText:e=>e.ids.get("errorText"),hiddenSelect:e=>e.ids.get("hiddenSelect"),hint:e=>e.ids.get("hint"),item:(e,t)=>`${e.ids.get("root")}-item-${t}`,itemGroup:(e,t)=>`${e.ids.get("root")}-item-group-${t}`,itemGroupLabel:(e,t)=>`${e.ids.get("root")}-item-group-label-${t}`,label:e=>e.ids.get("label"),positioner:e=>e.ids.get("positioner"),root:e=>e.ids.get("root")},u={clearTrigger:e=>e.getById(c.clearTrigger(e)),content:e=>e.getById(c.content(e)),control:e=>e.getById(c.control(e)),errorText:e=>e.getById(c.errorText(e)),hiddenSelect:e=>e.getById(c.hiddenSelect(e)),hint:e=>e.getById(c.hint(e)),item:(e,t)=>e.getById(c.item?.(e,t)),label:e=>e.getById(c.label?.(e)),positioner:e=>e.getById(c.positioner(e)),root:e=>e.getById(c.root(e))};function oe(e,t){let{computed:i,context:l,prop:n,refs:g,scope:a,send:s,state:E}=e,h=n("disabled")||l.get("fieldsetDisabled"),I=n("invalid"),T=n("readOnly"),v=n("collection"),S=E.hasTag("open"),x=E.matches("focused"),O=l.get("highlightedValue"),j=l.get("highlightedItem"),Q=l.get("selectedItems"),A=l.get("currentPlacement"),M=i("isTypingAhead"),V=i("isInteractive"),w=O&&c.item?.(a,O)||void 0;function X(o){let r=v.getItemDisabled(o.item),f=v.getItemValue(o.item);return(0,U.ensure)(f,()=>`[@qualcomm-ui/core] No value found for item ${JSON.stringify(o.item)}`),{disabled:!!(h||r),highlighted:O===f,persistFocus:o.persistFocus,selected:l.get("value")?.includes(f)||!1,value:f}}let Z=(0,W.getPlacementStyles)({...n("positioning"),placement:A});return{clearValue(o){s({type:"ITEM.CLEAR",value:o})},collection:v,disabled:h,empty:i("isEmpty"),focus(){u.control(a)?.focus({preventScroll:!0})},focused:x,getItemState:X,hasSelectedItems:i("hasSelectedItems"),hiddenSelectOptions:[],highlightedItem:j,highlightedValue:O,highlightValue(o){s({type:"HIGHLIGHTED_VALUE.SET",value:o})},multiple:n("multiple"),open:S,placeholder:n("placeholder"),reposition(o={}){s({options:o,type:"POSITIONING.SET"})},required:n("required"),selectAll(){s({type:"VALUE.SET",value:v.getValues()})},selectedItems:Q,selectValue(o){s({type:"ITEM.SELECT",value:o})},setOpen(o){E.hasTag("open")!==o&&s({type:o?"OPEN":"CLOSE"})},setScrollToIndexFn(o){g.set("scrollToIndexFn",o)},setValue(o){s({type:"VALUE.SET",value:o})},value:l.get("value"),valueAsString:l.get("valueAsString"),getClearTriggerBindings(o){return a.ids.register("clearTrigger",o),t.button({"aria-label":"Clear value","data-invalid":(0,d.booleanDataAttr)(I),"data-part":"clear-trigger","data-scope":"select",dir:n("dir"),disabled:h,hidden:!i("hasSelectedItems"),id:c.clearTrigger(a),onClick(r){r.defaultPrevented||!V||(s({type:"CLEAR.CLICK"}),S||r.stopPropagation())},type:"button"})},getContentBindings(o){return a.ids.register("content",o),t.element({"aria-activedescendant":w,"aria-labelledby":c.label(a),"aria-multiselectable":(0,d.booleanAriaAttr)(n("multiple")),"data-activedescendant":w,"data-focus-visible":(0,d.booleanDataAttr)((0,_.isFocusVisible)()),"data-part":"content","data-placement":A,"data-scope":"select","data-state":S?"open":"closed",dir:n("dir"),hidden:!S,id:c.content(a),onKeyDown(r){if(!V||!(0,p.isSelfTarget)(r)||r.defaultPrevented)return;let f={ArrowDown(){s({type:"CONTENT.ARROW_DOWN"})},ArrowUp(){s({type:"CONTENT.ARROW_UP"})},End(){s({type:"CONTENT.END"})},Enter(){s({type:"ITEM.CLICK"})},Home(){s({type:"CONTENT.HOME"})},Space(){M?s({key:r.key,type:"CONTENT.TYPEAHEAD"}):f.Enter?.(r)},Tab(){s({type:"TRIGGER.TAB"})}},y=f[(0,p.getEventKey)(r)];if(y){y(r),r.preventDefault();return}let C=(0,p.getEventTarget)(r);(0,p.isEditableElement)(C)||p.getByTypeahead.isValidEvent(r)&&(s({key:r.key,type:"CONTENT.TYPEAHEAD"}),r.preventDefault())},role:"listbox",tabIndex:0})},getControlBindings(o){return a.ids.register("control",o),t.button({"aria-controls":c.content(a),"aria-expanded":(0,d.booleanAriaAttr)(S),"aria-haspopup":"listbox","aria-invalid":I,"aria-labelledby":c.label(a),"data-disabled":(0,d.booleanDataAttr)(h),"data-invalid":(0,d.booleanDataAttr)(I),"data-part":"control","data-placeholder-shown":(0,d.booleanDataAttr)(!i("hasSelectedItems")),"data-placement":A,"data-readonly":(0,d.booleanDataAttr)(T),"data-scope":"select","data-state":S?"open":"closed",dir:n("dir"),disabled:h,id:c.control(a),onBlur(){s({type:"TRIGGER.BLUR"})},onClick(r){V&&(r.defaultPrevented||s({type:"TRIGGER.CLICK"}))},onFocus(){s({type:"TRIGGER.FOCUS"})},onKeyDown(r){if(r.defaultPrevented||!V)return;let y={ArrowDown(C){C.altKey?s({type:"OPEN"}):s({type:"TRIGGER.ARROW_DOWN"})},ArrowLeft(){s({type:"TRIGGER.ARROW_LEFT"})},ArrowRight(){s({type:"TRIGGER.ARROW_RIGHT"})},ArrowUp(){s({type:"TRIGGER.ARROW_UP"})},End(){s({type:"TRIGGER.END"})},Enter(){s({type:"TRIGGER.ENTER"})},Home(){s({type:"TRIGGER.HOME"})},Space(C){s(M?{type:"TRIGGER.TYPEAHEAD",value:C.key}:{type:"TRIGGER.ENTER"})}}[(0,p.getEventKey)(r,{dir:n("dir"),orientation:"vertical"})];if(y){y(r),r.preventDefault();return}p.getByTypeahead.isValidEvent(r)&&(s({type:"TRIGGER.TYPEAHEAD",value:r.key}),r.preventDefault())},role:"combobox",tabIndex:h?-1:0})},getErrorIndicatorBindings(){return t.element({"aria-label":"Error","data-part":"error-indicator","data-scope":"select",dir:n("dir"),hidden:!n("invalid")})},getErrorTextBindings(o){return a.ids.register("errorText",o),t.element({"aria-live":"polite","data-part":"error-text","data-scope":"select",dir:n("dir"),hidden:!I,id:c.errorText(a)})},getHiddenSelectBindings(o){a.ids.register("hiddenSelect",o);let r=l.get("value"),f=n("multiple")?r:r?.[0];return t.select({"aria-hidden":!0,"aria-labelledby":c.label(a),"data-part":"hidden-select","data-scope":"select",defaultValue:f,dir:n("dir"),disabled:h,form:n("form"),id:c.hiddenSelect(a),multiple:n("multiple"),name:n("name"),onFocus(){u.control(a)?.focus({preventScroll:!0})},required:!!n("required"),style:p.visuallyHiddenStyle,tabIndex:-1})},getHintBindings(o){return a.ids.register("hint",o),t.element({"data-disabled":(0,d.booleanDataAttr)(h),"data-part":"hint","data-scope":"select",dir:n("dir"),hidden:!!I,id:c.hint(a)})},getIndicatorBindings(){return t.element({"aria-hidden":!0,"data-disabled":(0,d.booleanDataAttr)(h),"data-invalid":(0,d.booleanDataAttr)(I),"data-part":"indicator","data-readonly":(0,d.booleanDataAttr)(T),"data-scope":"select","data-state":S?"open":"closed",dir:n("dir"),tabIndex:-1})},getItemBindings(o){return t.element({"aria-disabled":(0,d.booleanAriaAttr)(o.disabled),"aria-selected":o.selected,"data-disabled":(0,d.booleanDataAttr)(o.disabled),"data-highlighted":(0,d.booleanDataAttr)(o.highlighted),"data-part":"item","data-scope":"select","data-state":o.selected?"checked":"unchecked","data-value":o.value,dir:n("dir"),id:c.item(a,o.value),onClick(r){r.defaultPrevented||o.disabled||s({src:"pointerup",type:"ITEM.CLICK",value:o.value})},onPointerLeave(r){o.disabled||o.persistFocus||r.pointerType!=="mouse"||!e?.event?.previous()?.type?.includes("POINTER")||s({type:"ITEM.POINTER_LEAVE"})},onPointerMove(r){o.disabled||r.pointerType!=="mouse"||o.value!==O&&s({type:"ITEM.POINTER_MOVE",value:o.value})},role:"option"})},getItemGroupBindings({id:o}){return t.element({"aria-labelledby":c.itemGroupLabel(a,o),"data-disabled":(0,d.booleanDataAttr)(h),"data-part":"item-group","data-scope":"select",dir:n("dir"),id:c.itemGroup(a,o),role:"group"})},getItemGroupLabelBindings({htmlFor:o}){return t.element({"data-part":"item-group-label","data-scope":"select",dir:n("dir"),id:c.itemGroupLabel(a,o),role:"presentation"})},getItemIndicatorBindings(o){return t.element({"aria-hidden":!0,"data-part":"item-indicator","data-scope":"select","data-state":o.selected?"checked":"unchecked",dir:n("dir"),hidden:!o.selected})},getItemTextBindings(o){return t.element({"data-disabled":(0,d.booleanDataAttr)(o.disabled),"data-highlighted":(0,d.booleanDataAttr)(o.highlighted),"data-part":"item-text","data-scope":"select","data-state":o.selected?"checked":"unchecked",dir:n("dir")})},getLabelBindings(o){return a.ids.register("label",o),t.label({"data-disabled":(0,d.booleanDataAttr)(h),"data-invalid":(0,d.booleanDataAttr)(I),"data-part":"label","data-readonly":(0,d.booleanDataAttr)(T),"data-scope":"select",dir:n("dir"),htmlFor:c.hiddenSelect(a),id:c.label(a),onClick(r){r.defaultPrevented||h||u.control(a)?.focus({preventScroll:!0})}})},getPositionerBindings(o){return a.ids.register("positioner",o),t.element({"data-part":"positioner","data-scope":"select",dir:n("dir"),id:c.positioner(a),style:Z.floating})},getRootBindings(o){return a.ids.register("root",o),t.element({"data-invalid":(0,d.booleanDataAttr)(I),"data-part":"root","data-readonly":(0,d.booleanDataAttr)(T),"data-scope":"select",dir:n("dir"),id:c.root(a)})},getValueTextBindings(){return t.element({"data-disabled":(0,d.booleanDataAttr)(h),"data-focus":(0,d.booleanDataAttr)(x),"data-invalid":(0,d.booleanDataAttr)(I),"data-multiple":(0,d.booleanDataAttr)(n("multiple")),"data-part":"value-text","data-scope":"select",dir:n("dir")})}}}var N=require("@qualcomm-ui/utils/collection"),re=e=>new N.ListCollection(e),H=()=>new N.ListCollection({items:[]});var q=require("@qualcomm-ui/dom/dismissable"),B=require("@qualcomm-ui/dom/floating-ui"),$=require("@qualcomm-ui/dom/focus-visible"),m=require("@qualcomm-ui/dom/query"),D=require("@qualcomm-ui/utils/array"),G=require("@qualcomm-ui/utils/equal"),Y=require("@qualcomm-ui/utils/guard"),P=require("@qualcomm-ui/utils/machine"),J=require("@qualcomm-ui/utils/memo");var{and:F,not:R,or:ae}=(0,P.createGuards)();function k(e){return typeof e=="string"||e===null}var se=(0,P.createMachine)({actions:{clearHighlightedItem({context:e}){e.set("highlightedValue",null)},clearItem({context:e,event:t}){"value"in t&&e.set("value",i=>i.filter(l=>l!==t.value))},clearSelectedItems({context:e}){e.set("value",[])},dispatchChangeEvent({scope:e}){queueMicrotask(()=>{let t=u.hiddenSelect(e);if(!t)return;let i=e.getWin(),l=new i.Event("change",{bubbles:!0,composed:!0});t.dispatchEvent(l)})},focusTriggerEl({scope:e},t={}){K(t)&&(0,m.raf)(()=>{u.control(e)?.focus({preventScroll:!0})})},highlightComputedFirstItem({computed:e,context:t,prop:i}){let l=i("collection"),n=e("hasSelectedItems")?l.sort(t.get("value"))[0]:l.firstValue;t.set("highlightedValue",n)},highlightComputedLastItem({computed:e,context:t,prop:i}){let l=i("collection"),n=e("hasSelectedItems")?l.sort(t.get("value"))[0]:l.lastValue;t.set("highlightedValue",n)},highlightFirstItem({context:e,prop:t}){let i=t("collection").firstValue;e.set("highlightedValue",i)},highlightFirstSelectedItem({computed:e,context:t,prop:i}){if(!e("hasSelectedItems"))return;let l=i("collection").sort(t.get("value"))[0];t.set("highlightedValue",l)},highlightItem({context:e,event:t}){!("value"in t)||!k(t.value)||e.set("highlightedValue",t.value)},highlightLastItem({context:e,prop:t}){let i=t("collection").lastValue;e.set("highlightedValue",i)},highlightMatchingItem({context:e,event:t,prop:i,refs:l}){if(!("key"in t))return;let n=i("collection").search(t.key,{currentValue:e.get("highlightedValue"),state:l.get("typeahead")});n!=null&&e.set("highlightedValue",n)},highlightNextItem({context:e,prop:t}){let i=e.get("highlightedValue");if(i==null){e.set("highlightedValue",t("collection").firstValue);return}let l=t("collection").getNextValue(i,1,t("loopFocus"));e.set("highlightedValue",l)},highlightPreviousItem({context:e,prop:t}){let i=e.get("highlightedValue");if(i==null){e.set("highlightedValue",t("collection").lastValue);return}let l=t("collection").getPreviousValue(i,1,t("loopFocus"));e.set("highlightedValue",l)},invokeOnClose:({prop:e})=>{e("onOpenChange")?.(!1)},invokeOnOpen:({prop:e})=>{e("onOpenChange")?.(!0)},reposition({context:e,event:t,prop:i,scope:l}){"options"in t&&(0,B.getPlacement)(()=>u.control(l),()=>u.positioner(l),{...i("positioning"),...t.options,defer:!0,listeners:!1,onComplete(n){e.set("currentPlacement",n.placement)}})},scrollContentToTop({refs:e,scope:t}){let i=e.get("scrollToIndexFn");i?i?.({immediate:!0,index:0}):u.content(t)?.scrollTo(0,0)},selectFirstItem({context:e,prop:t}){let i=t("collection").firstValue;i&&e.set("value",[i])},selectHighlightedItem({context:e,event:t,prop:i}){let l="value"in t&&k(t.value)&&t.value?t.value:e.get("highlightedValue");if(l==null)return;i("onSelect")?.(l),l=i("deselectable")&&!i("multiple")&&e.get("value").includes(l)?null:l,e.set("value",g=>l==null?[]:i("multiple")?(0,D.addOrRemove)(g,l):[l])},selectItem({context:e,event:t,prop:i}){if(!("value"in t)||typeof t.value!="string")return;i("onSelect")?.(t.value);let n=i("deselectable")&&!i("multiple")&&e.get("value").includes(t.value)?null:t.value;e.set("value",g=>n==null?[]:i("multiple")?(0,D.addOrRemove)(g,n):[n])},selectLastItem({context:e,prop:t}){let i=t("collection").lastValue;i&&e.set("value",[i])},selectMatchingItem({context:e,event:t,prop:i,refs:l}){if(!("key"in t))return;let n=i("collection").search(t.key,{currentValue:e.get("value")[0],state:l.get("typeahead")});n!=null&&e.set("value",[n])},selectPreviousItem({context:e,prop:t}){let[i]=e.get("value"),l=t("collection").getPreviousValue(i);l&&e.set("value",[l])},setHighlightedItem({context:e,event:t}){"value"in t&&k(t.value)&&e.set("highlightedValue",t.value)},setInitialFocus({scope:e}){(0,m.raf)(()=>{(0,m.getInitialFocus)({root:u.content(e)})?.focus({preventScroll:!0})})},setSelectedItems({context:e,event:t}){"value"in t&&Array.isArray(t.value)&&e.set("value",t.value)},syncCollection({context:e,prop:t}){let i=t("collection"),l=i.find(e.get("highlightedValue"));l&&e.set("highlightedItem",l,null);let n=i.findMany(e.get("value"));e.set("selectedItems",n);let g=i.stringifyItems(n);e.set("valueAsString",g)},syncHighlightedItem({context:e,prop:t}){let i=t("collection"),l=e.get("highlightedValue"),n=l?i.find(l):null;e.set("highlightedItem",n,null)},syncSelectedItems({context:e,prop:t}){let i=t("collection"),l=e.get("selectedItems"),g=e.get("value").map(a=>l.find(E=>i.getItemValue(E)===a)||i.find(a));e.set("selectedItems",g),e.set("valueAsString",i.stringifyItems(g))},syncSelectElement({context:e,prop:t,scope:i}){let l=u.hiddenSelect(i);if(l){if(e.get("value")?.length===0&&!t("multiple")){l.selectedIndex=-1;return}for(let n of l.options)n.selected=e.get("value").includes(n.value)}},toggleVisibility:({event:e,prop:t,send:i})=>{i({restoreFocus:"restoreFocus"in e?e.restoreFocus:void 0,type:t("open")?"CONTROLLED.OPEN":"CONTROLLED.CLOSE"})}},computed:{hasSelectedItems:({context:e})=>(e.get("value")?.length??0)>0,hiddenSelectOptions:(0,J.memo)(({prop:e})=>[e("collection")],e=>e.items.map(t=>({disabled:e.getItemDisabled(t),label:e.stringifyItem(t),value:e.getItemValue(t)})).filter(t=>t.label!==null&&t.value!==null)),isDisabled:({context:e,prop:t})=>t("disabled")||e.get("fieldsetDisabled"),isEmpty:({context:e})=>!e.get("value")?.length,isInteractive:({prop:e})=>!(e("disabled")||e("readOnly")),isTypingAhead:({refs:e})=>e.get("typeahead").keysSoFar!==""},context({bindable:e,prop:t}){return{currentPlacement:e(()=>({defaultValue:void 0})),fieldsetDisabled:e(()=>({defaultValue:!1})),highlightedItem:e(()=>({defaultValue:null})),highlightedValue:e(()=>({defaultValue:t("defaultHighlightedValue"),isEqual:G.isEqual,onChange(i){t("onHighlightChange")?.(i,{highlightedIndex:t("collection").indexOf(i),highlightedItem:t("collection").find(i)})},value:t("highlightedValue")})),selectedItems:e(()=>{let i=t("value")??t("defaultValue")??[];return{defaultValue:t("collection").findMany(i),isEqual:G.isEqual}}),value:e(()=>({defaultValue:t("defaultValue"),onChange(i){let l=t("collection").findMany(i??[]);return t("onValueChange")?.(i??[],{items:l})},value:t("value")})),valueAsString:e(()=>{let i=t("value")??t("defaultValue")??[];return{defaultValue:t("collection").stringifyMany(i),isEqual:G.isEqual}})}},effects:{computePlacement({context:e,prop:t,scope:i}){let l=t("positioning");return e.set("currentPlacement",l.placement),(0,B.getPlacement)(()=>u.control(i),()=>u.positioner(i),{defer:!0,...l,onComplete(a){e.set("currentPlacement",a.placement)}})},scrollToHighlightedItem({context:e,event:t,prop:i,refs:l,scope:n}){let g=s=>{let E=e.get("highlightedValue");if(E==null||t.current().type?.includes("POINTER"))return;let h=u.item(n,E),I=u.content(n),T=l.get("scrollToIndexFn");if(T){let v=i("collection").indexOf(E);T?.({immediate:s,index:v});return}(0,m.scrollIntoView)(h,{block:"nearest",rootEl:I})};return(0,m.raf)(()=>g(!0)),(0,m.observeAttributes)(()=>u.content(n),{attributes:["data-activedescendant"],callback(){g(!1)},defer:!0})},trackDismissableElement({prop:e,scope:t,send:i}){let l=()=>u.content(t),n=!0;return(0,q.trackDismissableElement)(l,{defer:!0,exclude:()=>[u.control(t),u.clearTrigger(t)],onDismiss(){i({restoreFocus:n,src:"interact-outside",type:"CLOSE"})},onFocusOutside:e("onFocusOutside"),onInteractOutside(g){e("onInteractOutside")?.(g),n=!(g.detail.focusable||g.detail.contextmenu)},onPointerDownOutside:e("onPointerDownOutside"),warnOnMissingNode:!1})},trackFocusVisible({scope:e}){return(0,$.trackFocusVisible)({root:e.getRootNode?.()})},trackFormControlState({context:e,scope:t}){(0,m.raf)(()=>{(0,m.trackFormControl)(u.hiddenSelect(t),{onFieldsetDisabledChange(i){e.set("fieldsetDisabled",i)},onFormReset(){let i=e.initial("value");e.set("value",i??[])}})})}},guards:{canHighlightNextItem:({guard:e,prop:t})=>!e("hasHighlightedItem")||t("loopFocus")||!e("isLastItemHighlighted"),canHighlightPreviousItem:({guard:e,prop:t})=>!e("hasHighlightedItem")||t("loopFocus")||!e("isFirstItemHighlighted"),closeOnSelect:({prop:e})=>e("closeOnSelect"),hasHighlightedItem:({context:e})=>e.get("highlightedValue")!=null,hasSelectedItems:({computed:e})=>e("hasSelectedItems"),isFirstItemHighlighted:({context:e,prop:t})=>e.get("highlightedValue")===t("collection").firstValue,isLastItemHighlighted:({context:e,prop:t})=>e.get("highlightedValue")===t("collection").lastValue,isOpenControlled:({prop:e})=>(0,Y.isDefined)(e("open")),isTriggerArrowDownEvent:({event:e})=>e.previous().type==="TRIGGER.ARROW_DOWN",isTriggerArrowUpEvent:({event:e})=>e.previous().type==="TRIGGER.ARROW_UP",isTriggerClickEvent:({event:e})=>e.previous().type==="TRIGGER.CLICK",isTriggerEnterEvent:({event:e})=>e.previous().type==="TRIGGER.ENTER",loop:({prop:e})=>e("loopFocus"),multiple:({prop:e})=>e("multiple"),restoreFocus:({event:e})=>K(e)},ids:({bindableId:e,ids:t})=>({clearTrigger:e(t?.clearTrigger),content:e(t?.content),control:e(t?.control),errorText:e(t?.errorText),hiddenSelect:e(t?.hiddenSelect),hint:e(t?.hint),item:e(),itemGroup:e(),itemGroupLabel:e(),label:e(t?.label),positioner:e(t?.positioner),root:e(t?.root)}),initialState({prop:e}){return e("open")||e("defaultOpen")?"open":"idle"},on:{"CLEAR.CLICK":{actions:["clearSelectedItems","focusTriggerEl"]},"HIGHLIGHTED_VALUE.SET":{actions:["setHighlightedItem"]},"ITEM.CLEAR":{actions:["clearItem"]},"ITEM.SELECT":{actions:["selectItem"]},"VALUE.CLEAR":{actions:["clearSelectedItems"]},"VALUE.SET":{actions:["setSelectedItems"]}},onInit:{effects:["trackFormControlState","trackFocusVisible"]},props({props:e}){return{closeOnSelect:!e.multiple,defaultValue:[],dir:"ltr",loopFocus:!1,multiple:!1,placeholder:"Select an option",...e,collection:e.collection??H(),positioning:{gutter:2,placement:"bottom-start",sameWidth:!0,...e.positioning}}},refs:({prop:e})=>({scrollToIndexFn:e("scrollToIndexFn"),typeahead:{...m.getByTypeahead.defaultOptions}}),states:{focused:{on:{"CONTROLLED.OPEN":[{actions:["setInitialFocus","highlightFirstSelectedItem"],guard:"isTriggerClickEvent",target:"open"},{actions:["setInitialFocus","highlightComputedLastItem"],guard:"isTriggerArrowUpEvent",target:"open"},{actions:["setInitialFocus","highlightComputedFirstItem"],guard:ae("isTriggerArrowDownEvent","isTriggerEnterEvent"),target:"open"},{actions:["setInitialFocus"],target:"open"}],OPEN:[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["setInitialFocus","invokeOnOpen"],target:"open"}],"TRIGGER.ARROW_DOWN":[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["setInitialFocus","invokeOnOpen","highlightComputedFirstItem"],target:"open"}],"TRIGGER.ARROW_LEFT":[{actions:["selectPreviousItem"],guard:F(R("multiple"),"hasSelectedItems")},{actions:["selectLastItem"],guard:R("multiple")}],"TRIGGER.ARROW_UP":[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["setInitialFocus","invokeOnOpen","highlightComputedLastItem"],target:"open"}],"TRIGGER.BLUR":{target:"idle"},"TRIGGER.CLICK":[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["setInitialFocus","invokeOnOpen","highlightFirstSelectedItem"],target:"open"}],"TRIGGER.END":{actions:["selectLastItem"],guard:R("multiple")},"TRIGGER.ENTER":[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["setInitialFocus","invokeOnOpen","highlightComputedFirstItem"],target:"open"}],"TRIGGER.HOME":{actions:["selectFirstItem"],guard:R("multiple")},"TRIGGER.TYPEAHEAD":{actions:["selectMatchingItem"],guard:R("multiple")}},tags:["closed"]},idle:{on:{"CONTROLLED.OPEN":[{actions:["setInitialFocus","highlightFirstSelectedItem"],guard:"isTriggerClickEvent",target:"open"},{actions:["setInitialFocus"],target:"open"}],OPEN:[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["setInitialFocus","invokeOnOpen"],target:"open"}],"TRIGGER.CLICK":[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["invokeOnOpen","setInitialFocus","highlightFirstSelectedItem"],target:"open"}],"TRIGGER.FOCUS":{target:"focused"}},tags:["closed"]},open:{effects:["trackDismissableElement","computePlacement","scrollToHighlightedItem"],exit:["scrollContentToTop"],on:{CLOSE:[{actions:["invokeOnClose"],guard:"isOpenControlled"},{actions:["invokeOnClose","focusTriggerEl","clearHighlightedItem"],guard:"restoreFocus",target:"focused"},{actions:["invokeOnClose","clearHighlightedItem"],target:"idle"}],"CONTENT.ARROW_DOWN":[{actions:["highlightFirstItem"],guard:F("hasHighlightedItem","loop","isLastItemHighlighted")},{actions:["highlightNextItem"],guard:"canHighlightNextItem"}],"CONTENT.ARROW_UP":[{actions:["highlightLastItem"],guard:F("hasHighlightedItem","loop","isFirstItemHighlighted")},{actions:["highlightPreviousItem"],guard:"canHighlightPreviousItem"}],"CONTENT.END":{actions:["highlightLastItem"]},"CONTENT.HOME":{actions:["highlightFirstItem"]},"CONTENT.TYPEAHEAD":{actions:["highlightMatchingItem"]},"CONTROLLED.CLOSE":[{actions:["focusTriggerEl","clearHighlightedItem"],guard:"restoreFocus",target:"focused"},{actions:["clearHighlightedItem"],target:"idle"}],"ITEM.CLICK":[{actions:["selectHighlightedItem","invokeOnClose"],guard:F("closeOnSelect","isOpenControlled")},{actions:["selectHighlightedItem","invokeOnClose","focusTriggerEl","clearHighlightedItem"],guard:"closeOnSelect",target:"focused"},{actions:["selectHighlightedItem"]}],"ITEM.POINTER_LEAVE":{actions:["clearHighlightedItem"]},"ITEM.POINTER_MOVE":{actions:["highlightItem"]},"POSITIONING.SET":{actions:["reposition"]},"TRIGGER.CLICK":[{actions:["invokeOnClose"],guard:"isOpenControlled"},{actions:["invokeOnClose","clearHighlightedItem"],target:"focused"}],"TRIGGER.TAB":[{actions:["invokeOnClose"],guard:"isOpenControlled"},{actions:["invokeOnClose","clearHighlightedItem","focusTriggerEl"],target:"focused"}]},tags:["open"]}},watch({action:e,context:t,prop:i,track:l}){l([()=>t.get("value")?.toString()],()=>{e(["syncSelectedItems","syncSelectElement","dispatchChangeEvent"])}),l([()=>i("open")],()=>{e(["toggleVisibility"])}),l([()=>t.get("highlightedValue")],()=>{e(["syncHighlightedItem"])}),l([()=>i("collection").toString()],()=>{e(["syncCollection"])})}});function K(e){let t=e.restoreFocus??e.previousEvent?.restoreFocus;return t==null||!!t}var b=require("@qualcomm-ui/utils/object"),ce=(0,b.createProps)()("closeOnSelect","collection","defaultHighlightedValue","defaultOpen","defaultValue","deselectable","dir","disabled","form","getRootNode","highlightedValue","id","ids","invalid","loopFocus","multiple","name","onFocusOutside","onHighlightChange","onInteractOutside","onOpenChange","onPointerDownOutside","onSelect","onValueChange","open","placeholder","positioning","readOnly","required","scrollToIndexFn","value"),de=(0,b.createSplitProps)(ce);
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/select/index.ts", "../../src/select/select.api.ts", "../../src/select/internal/select.dom.ts", "../../src/select/select.collection.ts", "../../src/select/select.machine.ts", "../../src/select/select.props.ts"],
|
|
4
|
-
"sourcesContent": ["export * from \"./select.api\"\nexport * from \"./select.collection\"\nexport * from \"./select.machine\"\nexport * from \"./select.props\"\nexport type * from \"./select.types\"\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {\n getPlacementStyles,\n type PositioningOptions,\n} from \"@qualcomm-ui/dom/floating-ui\"\nimport {isFocusVisible} from \"@qualcomm-ui/dom/focus-visible\"\nimport {\n getByTypeahead,\n getEventKey,\n getEventTarget,\n isEditableElement,\n isSelfTarget,\n visuallyHiddenStyle,\n} from \"@qualcomm-ui/dom/query\"\nimport {booleanAriaAttr, booleanDataAttr} from \"@qualcomm-ui/utils/attributes\"\nimport {ensure} from \"@qualcomm-ui/utils/guard\"\nimport type {\n EventKeyMap,\n IdRegistrationProps,\n Machine,\n PropNormalizer,\n} from \"@qualcomm-ui/utils/machine\"\n\nimport {domEls, domIds} from \"./internal\"\nimport type {\n ItemProps,\n ItemState,\n ScrollToIndexFn,\n SelectApi,\n SelectClearTriggerBindings,\n SelectControlBindings,\n SelectErrorIndicatorBindings,\n SelectErrorTextBindings,\n SelectHintBindings,\n SelectItemBindings,\n SelectItemGroupBindings,\n SelectItemIndicatorBindings,\n SelectItemTextBindings,\n SelectRootBindings,\n SelectSchema,\n SelectValueTextBindings,\n} from \"./select.types\"\n\nexport function createSelectApi(\n machine: Machine<SelectSchema>,\n normalize: PropNormalizer,\n): SelectApi {\n const {computed, context, prop, refs, scope, send, state} = machine\n\n const disabled = prop(\"disabled\") || context.get(\"fieldsetDisabled\")\n const invalid = prop(\"invalid\")\n const readOnly = prop(\"readOnly\")\n const collection = prop(\"collection\")\n\n const open = state.hasTag(\"open\")\n const focused = state.matches(\"focused\")\n\n const highlightedValue = context.get(\"highlightedValue\")\n const highlightedItem = context.get(\"highlightedItem\")\n const selectedItems = context.get(\"selectedItems\")\n const currentPlacement = context.get(\"currentPlacement\")\n\n const isTypingAhead = computed(\"isTypingAhead\")\n const interactive = computed(\"isInteractive\")\n\n const ariaActiveDescendant =\n (highlightedValue && domIds.item?.(scope, highlightedValue)) || undefined\n\n function getItemState(props: ItemProps): ItemState {\n const _disabled = collection.getItemDisabled(props.item)\n const value = collection.getItemValue(props.item)\n ensure(\n value,\n () =>\n `[@qualcomm-ui/core] No value found for item ${JSON.stringify(props.item)}`,\n )\n return {\n disabled: Boolean(disabled || _disabled),\n highlighted: highlightedValue === value,\n persistFocus: props.persistFocus,\n selected: context.get(\"value\")?.includes(value) || false,\n value,\n }\n }\n\n const popperStyles = getPlacementStyles({\n ...prop(\"positioning\"),\n placement: currentPlacement,\n })\n\n return {\n clearValue(value) {\n send({type: \"ITEM.CLEAR\", value})\n },\n collection,\n disabled,\n empty: computed(\"isEmpty\"),\n focus() {\n domEls.control(scope)?.focus({preventScroll: true})\n },\n focused,\n getItemState,\n hasSelectedItems: computed(\"hasSelectedItems\"),\n hiddenSelectOptions: [],\n highlightedItem,\n highlightedValue,\n highlightValue(value) {\n send({type: \"HIGHLIGHTED_VALUE.SET\", value})\n },\n multiple: prop(\"multiple\"),\n open,\n placeholder: prop(\"placeholder\"),\n reposition(options: Partial<PositioningOptions> = {}) {\n send({options, type: \"POSITIONING.SET\"})\n },\n required: prop(\"required\"),\n selectAll() {\n send({type: \"VALUE.SET\", value: collection.getValues()})\n },\n selectedItems,\n selectValue(value) {\n send({type: \"ITEM.SELECT\", value})\n },\n setOpen(nextOpen) {\n const open = state.hasTag(\"open\")\n if (open === nextOpen) {\n return\n }\n send({type: nextOpen ? \"OPEN\" : \"CLOSE\"})\n },\n setScrollToIndexFn(fn: ScrollToIndexFn) {\n refs.set(\"scrollToIndexFn\", fn)\n },\n setValue(value) {\n send({type: \"VALUE.SET\", value})\n },\n value: context.get(\"value\"),\n valueAsString: context.get(\"valueAsString\"),\n\n // group: prop getters\n getClearTriggerBindings(props): SelectClearTriggerBindings {\n scope.ids.register(\"clearTrigger\", props)\n return normalize.button({\n \"aria-label\": \"Clear value\",\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"clear-trigger\",\n \"data-scope\": \"select\",\n dir: prop(\"dir\"),\n disabled,\n hidden: !computed(\"hasSelectedItems\"),\n id: domIds.clearTrigger(scope),\n onClick(event) {\n if (event.defaultPrevented || !interactive) {\n return\n }\n send({type: \"CLEAR.CLICK\"})\n // prevent the same click from reopening the select.\n if (!open) {\n event.stopPropagation()\n }\n },\n type: \"button\",\n })\n },\n\n getContentBindings(props) {\n scope.ids.register(\"content\", props)\n return normalize.element({\n \"aria-activedescendant\": ariaActiveDescendant,\n \"aria-labelledby\": domIds.label(scope),\n \"aria-multiselectable\": booleanAriaAttr(prop(\"multiple\")),\n \"data-activedescendant\": ariaActiveDescendant,\n \"data-focus-visible\": booleanDataAttr(isFocusVisible()),\n \"data-part\": \"content\",\n \"data-placement\": currentPlacement,\n \"data-scope\": \"select\",\n \"data-state\": open ? \"open\" : \"closed\",\n dir: prop(\"dir\"),\n hidden: !open,\n id: domIds.content(scope),\n onKeyDown(event) {\n if (!interactive) {\n return\n }\n if (!isSelfTarget(event)) {\n return\n }\n if (event.defaultPrevented) {\n return\n }\n\n const keyMap: EventKeyMap = {\n ArrowDown() {\n send({type: \"CONTENT.ARROW_DOWN\"})\n },\n ArrowUp() {\n send({type: \"CONTENT.ARROW_UP\"})\n },\n End() {\n send({type: \"CONTENT.END\"})\n },\n Enter() {\n send({type: \"ITEM.CLICK\"})\n },\n Home() {\n send({type: \"CONTENT.HOME\"})\n },\n Space() {\n if (isTypingAhead) {\n send({key: event.key, type: \"CONTENT.TYPEAHEAD\"})\n } else {\n keyMap.Enter?.(event)\n }\n },\n Tab() {\n send({type: \"TRIGGER.TAB\"})\n },\n }\n\n const exec = keyMap[getEventKey(event)]\n\n if (exec) {\n exec(event)\n event.preventDefault()\n return\n }\n\n const target = getEventTarget<Element>(event)\n\n if (isEditableElement(target)) {\n return\n }\n\n if (getByTypeahead.isValidEvent(event)) {\n send({key: event.key, type: \"CONTENT.TYPEAHEAD\"})\n event.preventDefault()\n }\n },\n role: \"listbox\",\n tabIndex: 0,\n })\n },\n\n getControlBindings(props): SelectControlBindings {\n scope.ids.register(\"control\", props)\n return normalize.button({\n \"aria-controls\": domIds.content(scope),\n \"aria-expanded\": booleanAriaAttr(open),\n \"aria-haspopup\": \"listbox\",\n \"aria-invalid\": invalid,\n \"aria-labelledby\": domIds.label(scope),\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"control\",\n \"data-placeholder-shown\": booleanDataAttr(\n !computed(\"hasSelectedItems\"),\n ),\n \"data-placement\": currentPlacement,\n \"data-readonly\": booleanDataAttr(readOnly),\n \"data-scope\": \"select\",\n \"data-state\": open ? \"open\" : \"closed\",\n dir: prop(\"dir\"),\n disabled,\n id: domIds.control(scope),\n onBlur() {\n send({type: \"TRIGGER.BLUR\"})\n },\n onClick(event) {\n if (!interactive) {\n return\n }\n if (event.defaultPrevented) {\n return\n }\n send({type: \"TRIGGER.CLICK\"})\n },\n onFocus() {\n send({type: \"TRIGGER.FOCUS\"})\n },\n onKeyDown(event) {\n if (event.defaultPrevented) {\n return\n }\n if (!interactive) {\n return\n }\n\n const keyMap: EventKeyMap = {\n ArrowDown(event) {\n if (event.altKey) {\n send({type: \"OPEN\"})\n } else {\n send({type: \"TRIGGER.ARROW_DOWN\"})\n }\n },\n ArrowLeft() {\n send({type: \"TRIGGER.ARROW_LEFT\"})\n },\n ArrowRight() {\n send({type: \"TRIGGER.ARROW_RIGHT\"})\n },\n ArrowUp() {\n send({type: \"TRIGGER.ARROW_UP\"})\n },\n End() {\n send({type: \"TRIGGER.END\"})\n },\n Enter() {\n send({type: \"TRIGGER.ENTER\"})\n },\n Home() {\n send({type: \"TRIGGER.HOME\"})\n },\n Space(event) {\n if (isTypingAhead) {\n send({type: \"TRIGGER.TYPEAHEAD\", value: event.key})\n } else {\n send({type: \"TRIGGER.ENTER\"})\n }\n },\n }\n\n const exec =\n keyMap[\n getEventKey(event, {\n dir: prop(\"dir\"),\n orientation: \"vertical\",\n })\n ]\n\n if (exec) {\n exec(event)\n event.preventDefault()\n return\n }\n\n if (getByTypeahead.isValidEvent(event)) {\n send({type: \"TRIGGER.TYPEAHEAD\", value: event.key})\n event.preventDefault()\n }\n },\n role: \"combobox\",\n tabIndex: disabled ? -1 : 0,\n })\n },\n\n getErrorIndicatorBindings(): SelectErrorIndicatorBindings {\n return normalize.element({\n \"aria-label\": \"Error\",\n \"data-part\": \"error-indicator\",\n \"data-scope\": \"select\",\n dir: prop(\"dir\"),\n hidden: !prop(\"invalid\"),\n })\n },\n\n getErrorTextBindings(props: IdRegistrationProps): SelectErrorTextBindings {\n scope.ids.register(\"errorText\", props)\n return normalize.element({\n \"aria-live\": \"polite\",\n \"data-part\": \"error-text\",\n \"data-scope\": \"select\",\n dir: prop(\"dir\"),\n hidden: !invalid,\n id: domIds.errorText(scope),\n })\n },\n\n getHiddenSelectBindings(props) {\n scope.ids.register(\"hiddenSelect\", props)\n const value = context.get(\"value\")\n const defaultValue = prop(\"multiple\") ? value : value?.[0]\n return normalize.select({\n \"aria-hidden\": true,\n \"aria-labelledby\": domIds.label(scope),\n \"data-part\": \"hidden-select\",\n \"data-scope\": \"select\",\n defaultValue,\n dir: prop(\"dir\"),\n disabled,\n form: prop(\"form\"),\n id: domIds.hiddenSelect(scope),\n multiple: prop(\"multiple\"),\n name: prop(\"name\"),\n // Some browser extensions will focus the hidden select.\n // Let's forward the focus to the trigger.\n onFocus() {\n domEls.control(scope)?.focus({preventScroll: true})\n },\n required: !!prop(\"required\"),\n style: visuallyHiddenStyle,\n tabIndex: -1,\n })\n },\n\n getHintBindings(props: IdRegistrationProps): SelectHintBindings {\n scope.ids.register(\"hint\", props)\n return normalize.element({\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-part\": \"hint\",\n \"data-scope\": \"select\",\n dir: prop(\"dir\"),\n hidden: !!invalid,\n id: domIds.hint(scope),\n })\n },\n\n getIndicatorBindings() {\n return normalize.element({\n \"aria-hidden\": true,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"indicator\",\n \"data-readonly\": booleanDataAttr(readOnly),\n \"data-scope\": \"select\",\n \"data-state\": open ? \"open\" : \"closed\",\n dir: prop(\"dir\"),\n })\n },\n\n getItemBindings(props: ItemState): SelectItemBindings {\n return normalize.element({\n \"aria-disabled\": booleanAriaAttr(props.disabled),\n \"aria-selected\": props.selected,\n \"data-disabled\": booleanDataAttr(props.disabled),\n \"data-highlighted\": booleanDataAttr(props.highlighted),\n \"data-part\": \"item\",\n \"data-scope\": \"select\",\n \"data-state\": props.selected ? \"checked\" : \"unchecked\",\n \"data-value\": props.value,\n dir: prop(\"dir\"),\n id: domIds.item(scope, props.value),\n onClick(event) {\n if (event.defaultPrevented) {\n return\n }\n if (props.disabled) {\n return\n }\n send({src: \"pointerup\", type: \"ITEM.CLICK\", value: props.value})\n },\n onPointerLeave(event) {\n if (props.disabled) {\n return\n }\n if (props.persistFocus) {\n return\n }\n if (event.pointerType !== \"mouse\") {\n return\n }\n\n const pointerMoved = machine?.event\n ?.previous()\n ?.type?.includes(\"POINTER\")\n if (!pointerMoved) {\n return\n }\n send({type: \"ITEM.POINTER_LEAVE\"})\n },\n onPointerMove(event) {\n if (props.disabled || event.pointerType !== \"mouse\") {\n return\n }\n if (props.value === highlightedValue) {\n return\n }\n send({type: \"ITEM.POINTER_MOVE\", value: props.value})\n },\n role: \"option\",\n })\n },\n\n getItemGroupBindings({id}): SelectItemGroupBindings {\n return normalize.element({\n \"aria-labelledby\": domIds.itemGroupLabel(scope, id),\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-part\": \"item-group\",\n \"data-scope\": \"select\",\n dir: prop(\"dir\"),\n id: domIds.itemGroup(scope, id),\n role: \"group\",\n })\n },\n\n getItemGroupLabelBindings({htmlFor}) {\n return normalize.element({\n \"data-part\": \"item-group-label\",\n \"data-scope\": \"select\",\n dir: prop(\"dir\"),\n id: domIds.itemGroupLabel(scope, htmlFor),\n role: \"presentation\",\n })\n },\n\n getItemIndicatorBindings(props: ItemState): SelectItemIndicatorBindings {\n return normalize.element({\n \"aria-hidden\": true,\n \"data-part\": \"item-indicator\",\n \"data-scope\": \"select\",\n \"data-state\": props.selected ? \"checked\" : \"unchecked\",\n dir: prop(\"dir\"),\n hidden: !props.selected,\n })\n },\n\n getItemTextBindings(props: ItemState): SelectItemTextBindings {\n return normalize.element({\n \"data-disabled\": booleanDataAttr(props.disabled),\n \"data-highlighted\": booleanDataAttr(props.highlighted),\n \"data-part\": \"item-text\",\n \"data-scope\": \"select\",\n \"data-state\": props.selected ? \"checked\" : \"unchecked\",\n dir: prop(\"dir\"),\n })\n },\n\n getLabelBindings(props) {\n scope.ids.register(\"label\", props)\n return normalize.label({\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"label\",\n \"data-readonly\": booleanDataAttr(readOnly),\n \"data-scope\": \"select\",\n dir: prop(\"dir\"),\n /**\n * the content element will not have rendered on SSR when this first\n * executes. It is immediately resolved on CSR. The impact to accessibility\n * is minimal and quickly corrected.\n */\n htmlFor: domIds.hiddenSelect(scope),\n id: domIds.label(scope),\n onClick(event) {\n if (event.defaultPrevented) {\n return\n }\n if (disabled) {\n return\n }\n domEls.control(scope)?.focus({preventScroll: true})\n },\n })\n },\n\n getPositionerBindings(props) {\n scope.ids.register(\"positioner\", props)\n return normalize.element({\n \"data-part\": \"positioner\",\n \"data-scope\": \"select\",\n dir: prop(\"dir\"),\n id: domIds.positioner(scope),\n style: popperStyles.floating,\n })\n },\n\n getRootBindings(props): SelectRootBindings {\n scope.ids.register(\"root\", props)\n return normalize.element({\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"root\",\n \"data-readonly\": booleanDataAttr(readOnly),\n \"data-scope\": \"select\",\n dir: prop(\"dir\"),\n id: domIds.root(scope),\n })\n },\n\n getValueTextBindings(): SelectValueTextBindings {\n return normalize.element({\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-multiple\": booleanDataAttr(prop(\"multiple\")),\n \"data-part\": \"value-text\",\n \"data-scope\": \"select\",\n dir: prop(\"dir\"),\n })\n },\n }\n}\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ScopeDomElements, ScopeDomIds} from \"@qualcomm-ui/utils/machine\"\n\nimport type {SelectElementIds, SelectScope} from \"../select.types\"\n\nexport const domIds: ScopeDomIds<SelectElementIds, SelectScope> & {\n itemGroup: (scope: SelectScope, id: string | number) => string\n} = {\n clearTrigger: (scope) => scope.ids.get(\"clearTrigger\"),\n content: (scope) => scope.ids.get(\"content\"),\n control: (scope) => scope.ids.get(\"control\"),\n errorText: (scope) => scope.ids.get(\"errorText\"),\n hiddenSelect: (scope) => scope.ids.get(\"hiddenSelect\"),\n hint: (scope) => scope.ids.get(\"hint\"),\n item: (scope, id) => `${scope.ids.get(\"root\")}-item-${id}`,\n itemGroup: (scope, id) => `${scope.ids.get(\"root\")}-item-group-${id}`,\n itemGroupLabel: (scope, id) =>\n `${scope.ids.get(\"root\")}-item-group-label-${id}`,\n label: (scope) => scope.ids.get(\"label\"),\n positioner: (scope) => scope.ids.get(\"positioner\"),\n root: (scope) => scope.ids.get(\"root\"),\n}\n\nexport const domEls: ScopeDomElements<\n Omit<SelectElementIds, \"itemGroup\" | \"itemGroupLabel\" | \"hiddenSelect\">,\n SelectScope\n> & {\n hiddenSelect: (scope: SelectScope) => HTMLSelectElement | null\n} = {\n clearTrigger: (scope) => scope.getById(domIds.clearTrigger(scope)),\n content: (scope) => scope.getById(domIds.content(scope)),\n control: (scope) => scope.getById(domIds.control(scope)),\n errorText: (scope) => scope.getById(domIds.errorText(scope)),\n hiddenSelect: (scope) => scope.getById(domIds.hiddenSelect(scope)),\n hint: (scope) => scope.getById(domIds.hint(scope)),\n item: (scope, id) => scope.getById(domIds.item?.(scope, id)),\n label: (scope) => scope.getById(domIds.label?.(scope)),\n positioner: (scope) => scope.getById(domIds.positioner(scope)),\n root: (scope) => scope.getById(domIds.root(scope)),\n}\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {\n type CollectionItem,\n ListCollection,\n type ListCollectionOptions,\n} from \"@qualcomm-ui/utils/collection\"\n\nexport const selectCollection = <T extends CollectionItem = CollectionItem>(\n options: ListCollectionOptions<T>,\n): ListCollection<T> => {\n return new ListCollection<T>(options)\n}\n\nexport const emptyCollection = <\n T extends CollectionItem = CollectionItem,\n>(): ListCollection<T> => {\n return new ListCollection<T>({items: []})\n}\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {trackDismissableElement} from \"@qualcomm-ui/dom/dismissable\"\nimport {getPlacement, type Placement} from \"@qualcomm-ui/dom/floating-ui\"\nimport {trackFocusVisible} from \"@qualcomm-ui/dom/focus-visible\"\nimport {\n getByTypeahead,\n getInitialFocus,\n observeAttributes,\n raf,\n scrollIntoView,\n trackFormControl,\n} from \"@qualcomm-ui/dom/query\"\nimport {addOrRemove} from \"@qualcomm-ui/utils/array\"\nimport type {\n CollectionItem,\n ListCollection,\n} from \"@qualcomm-ui/utils/collection\"\nimport {isEqual} from \"@qualcomm-ui/utils/equal\"\nimport {isDefined} from \"@qualcomm-ui/utils/guard\"\nimport {\n createGuards,\n createMachine,\n type MachineConfig,\n} from \"@qualcomm-ui/utils/machine\"\nimport {memo} from \"@qualcomm-ui/utils/memo\"\n\nimport {domEls} from \"./internal\"\nimport {emptyCollection} from \"./select.collection\"\nimport type {HiddenSelectOption, SelectSchema} from \"./select.types\"\n\nconst {and, not, or} = createGuards<SelectSchema>()\n\nfunction isSingleValue(value: unknown): value is string | null {\n return typeof value === \"string\" || value === null\n}\n\nexport const selectMachine: MachineConfig<SelectSchema> =\n createMachine<SelectSchema>({\n actions: {\n clearHighlightedItem({context}) {\n context.set(\"highlightedValue\", null)\n },\n clearItem({context, event}) {\n if (!(\"value\" in event)) {\n return\n }\n context.set(\"value\", (prev) => prev.filter((v) => v !== event.value))\n },\n clearSelectedItems({context}) {\n context.set(\"value\", [])\n },\n dispatchChangeEvent({scope}) {\n queueMicrotask(() => {\n const node = domEls.hiddenSelect(scope)\n if (!node) {\n return\n }\n const win = scope.getWin()\n const changeEvent = new (win as typeof window).Event(\"change\", {\n bubbles: true,\n composed: true,\n })\n node.dispatchEvent(changeEvent)\n })\n },\n focusTriggerEl({scope}, event = {}) {\n if (!restoreFocusFn(event)) {\n return\n }\n raf(() => {\n const element = domEls.control(scope)\n element?.focus({preventScroll: true})\n })\n },\n highlightComputedFirstItem({computed, context, prop}) {\n const collection = prop(\"collection\")\n const value = computed(\"hasSelectedItems\")\n ? collection.sort(context.get(\"value\"))[0]\n : collection.firstValue\n context.set(\"highlightedValue\", value)\n },\n highlightComputedLastItem({computed, context, prop}) {\n const collection = prop(\"collection\")\n const value = computed(\"hasSelectedItems\")\n ? collection.sort(context.get(\"value\"))[0]\n : collection.lastValue\n context.set(\"highlightedValue\", value)\n },\n highlightFirstItem({context, prop}) {\n const value = prop(\"collection\").firstValue\n context.set(\"highlightedValue\", value)\n },\n highlightFirstSelectedItem({computed, context, prop}) {\n if (!computed(\"hasSelectedItems\")) {\n return\n }\n const value = prop(\"collection\").sort(context.get(\"value\"))[0]\n context.set(\"highlightedValue\", value)\n },\n highlightItem({context, event}) {\n if (!(\"value\" in event) || !isSingleValue(event.value)) {\n return\n }\n context.set(\"highlightedValue\", event.value)\n },\n highlightLastItem({context, prop}) {\n const value = prop(\"collection\").lastValue\n context.set(\"highlightedValue\", value)\n },\n highlightMatchingItem({context, event, prop, refs}) {\n if (!(\"key\" in event)) {\n return\n }\n const value = prop(\"collection\").search(event.key, {\n currentValue: context.get(\"highlightedValue\"),\n state: refs.get(\"typeahead\"),\n })\n\n if (value == null) {\n return\n }\n context.set(\"highlightedValue\", value)\n },\n highlightNextItem({context, prop}) {\n const highlightedValue = context.get(\"highlightedValue\")\n if (highlightedValue == null) {\n // the highlighted value will be null if the user clicks the trigger\n // instead of activating it with the keyboard. The next item in this\n // case is the first item.\n context.set(\"highlightedValue\", prop(\"collection\").firstValue)\n return\n }\n const value = prop(\"collection\").getNextValue(\n highlightedValue,\n 1,\n prop(\"loopFocus\"),\n )\n context.set(\"highlightedValue\", value)\n },\n highlightPreviousItem({context, prop}) {\n const highlightedValue = context.get(\"highlightedValue\")\n if (highlightedValue == null) {\n // the highlighted value will be null if the user clicks the trigger\n // instead of activating it with the keyboard. The prev item in this\n // case is the last item.\n context.set(\"highlightedValue\", prop(\"collection\").lastValue)\n return\n }\n const value = prop(\"collection\").getPreviousValue(\n highlightedValue,\n 1,\n prop(\"loopFocus\"),\n )\n context.set(\"highlightedValue\", value)\n },\n invokeOnClose: ({prop}) => {\n prop(\"onOpenChange\")?.(false)\n },\n\n invokeOnOpen: ({prop}) => {\n prop(\"onOpenChange\")?.(true)\n },\n\n reposition({context, event, prop, scope}) {\n if (!(\"options\" in event)) {\n return\n }\n getPlacement(\n () => domEls.control(scope),\n () => domEls.positioner(scope),\n {\n ...prop(\"positioning\"),\n ...event.options,\n defer: true,\n listeners: false,\n onComplete(data) {\n context.set(\"currentPlacement\", data.placement)\n },\n },\n )\n },\n\n scrollContentToTop({refs, scope}) {\n const scrollToIndexFn = refs.get(\"scrollToIndexFn\")\n if (scrollToIndexFn) {\n scrollToIndexFn?.({immediate: true, index: 0})\n } else {\n domEls.content(scope)?.scrollTo(0, 0)\n }\n },\n\n selectFirstItem({context, prop}) {\n const value = prop(\"collection\").firstValue\n if (value) {\n context.set(\"value\", [value])\n }\n },\n\n selectHighlightedItem({context, event, prop}) {\n let value =\n \"value\" in event && isSingleValue(event.value) && event.value\n ? event.value\n : context.get(\"highlightedValue\")\n if (value == null) {\n return\n }\n\n prop(\"onSelect\")?.(value)\n\n const nullable =\n prop(\"deselectable\") &&\n !prop(\"multiple\") &&\n context.get(\"value\").includes(value)\n value = nullable ? null : value\n context.set(\"value\", (prev) => {\n if (value == null) {\n return []\n }\n if (prop(\"multiple\")) {\n return addOrRemove(prev, value)\n }\n return [value]\n })\n },\n\n selectItem({context, event, prop}) {\n if (!(\"value\" in event) || typeof event.value !== \"string\") {\n return\n }\n prop(\"onSelect\")?.(event.value)\n\n const nullable =\n prop(\"deselectable\") &&\n !prop(\"multiple\") &&\n context.get(\"value\").includes(event.value)\n const nextValue = nullable ? null : event.value\n context.set(\"value\", (prev) => {\n if (nextValue == null) {\n return []\n }\n if (prop(\"multiple\")) {\n return addOrRemove(prev, nextValue)\n }\n return [nextValue]\n })\n },\n\n selectLastItem({context, prop}) {\n const value = prop(\"collection\").lastValue\n if (value) {\n context.set(\"value\", [value])\n }\n },\n\n selectMatchingItem({context, event, prop, refs}) {\n if (!(\"key\" in event)) {\n return\n }\n const value = prop(\"collection\").search(event.key, {\n currentValue: context.get(\"value\")[0],\n state: refs.get(\"typeahead\"),\n })\n if (value == null) {\n return\n }\n context.set(\"value\", [value])\n },\n\n selectPreviousItem({context, prop}) {\n const [firstItem] = context.get(\"value\")\n const value = prop(\"collection\").getPreviousValue(firstItem)\n if (value) {\n context.set(\"value\", [value])\n }\n },\n\n setHighlightedItem({context, event}) {\n if (\"value\" in event && isSingleValue(event.value)) {\n context.set(\"highlightedValue\", event.value)\n }\n },\n\n setInitialFocus({scope}) {\n raf(() => {\n const element = getInitialFocus({\n root: domEls.content(scope),\n })\n element?.focus({preventScroll: true})\n })\n },\n\n setSelectedItems({context, event}) {\n if (\"value\" in event && Array.isArray(event.value)) {\n context.set(\"value\", event.value)\n }\n },\n\n syncCollection({context, prop}) {\n const collection = prop(\"collection\")\n\n const highlightedItem = collection.find(context.get(\"highlightedValue\"))\n if (highlightedItem) {\n context.set(\"highlightedItem\", highlightedItem, null)\n }\n\n const selectedItems = collection.findMany(context.get(\"value\"))\n context.set(\"selectedItems\", selectedItems)\n\n const valueAsString = collection.stringifyItems(selectedItems)\n context.set(\"valueAsString\", valueAsString)\n },\n\n syncHighlightedItem({context, prop}) {\n const collection = prop(\"collection\")\n const highlightedValue = context.get(\"highlightedValue\")\n const highlightedItem = highlightedValue\n ? collection.find(highlightedValue)\n : null\n context.set(\"highlightedItem\", highlightedItem, null)\n },\n\n syncSelectedItems({context, prop}) {\n const collection = prop(\"collection\")\n const prevSelectedItems = context.get(\"selectedItems\")\n\n const value = context.get(\"value\")\n const selectedItems = value.map((value) => {\n const item = prevSelectedItems.find(\n (item) => collection.getItemValue(item) === value,\n )\n return item || collection.find(value)\n })\n\n context.set(\"selectedItems\", selectedItems)\n context.set(\"valueAsString\", collection.stringifyItems(selectedItems))\n },\n\n syncSelectElement({context, prop, scope}) {\n const selectEl = domEls.hiddenSelect(scope)\n if (!selectEl) {\n return\n }\n\n if (context.get(\"value\")?.length === 0 && !prop(\"multiple\")) {\n selectEl.selectedIndex = -1\n return\n }\n\n for (const option of selectEl.options) {\n option.selected = context.get(\"value\").includes(option.value)\n }\n },\n\n toggleVisibility: ({event, prop, send}) => {\n send({\n restoreFocus:\n \"restoreFocus\" in event ? event.restoreFocus : undefined,\n type: prop(\"open\") ? \"CONTROLLED.OPEN\" : \"CONTROLLED.CLOSE\",\n })\n },\n },\n\n computed: {\n hasSelectedItems: ({context}) => (context.get(\"value\")?.length ?? 0) > 0,\n hiddenSelectOptions: memo(\n ({prop}): [ListCollection] => [prop(\"collection\")],\n (collection) => {\n return collection.items\n .map((item) => {\n return {\n disabled: collection.getItemDisabled(item),\n label: collection.stringifyItem(item),\n value: collection.getItemValue(item),\n }\n })\n .filter(\n (option): option is HiddenSelectOption =>\n option.label !== null && option.value !== null,\n )\n },\n ),\n isDisabled: ({context, prop}) =>\n prop(\"disabled\") || context.get(\"fieldsetDisabled\"),\n isEmpty: ({context}) => !context.get(\"value\")?.length,\n isInteractive: ({prop}) => !(prop(\"disabled\") || prop(\"readOnly\")),\n isTypingAhead: ({refs}) => refs.get(\"typeahead\").keysSoFar !== \"\",\n },\n\n context({bindable, prop}) {\n return {\n currentPlacement: bindable<Placement | undefined>(() => ({\n defaultValue: undefined,\n })),\n fieldsetDisabled: bindable<boolean>(() => ({\n defaultValue: false,\n })),\n highlightedItem: bindable<CollectionItem | null>(() => ({\n defaultValue: null,\n })),\n highlightedValue: bindable(() => ({\n defaultValue: prop(\"defaultHighlightedValue\"),\n isEqual,\n onChange(highlightedValue) {\n prop(\"onHighlightChange\")?.(highlightedValue, {\n highlightedIndex: prop(\"collection\").indexOf(highlightedValue),\n highlightedItem: prop(\"collection\").find(highlightedValue),\n })\n },\n value: prop(\"highlightedValue\"),\n })),\n selectedItems: bindable<CollectionItem[]>(() => {\n const value = prop(\"value\") ?? prop(\"defaultValue\") ?? []\n const items = prop(\"collection\").findMany(value)\n return {defaultValue: items, isEqual}\n }),\n value: bindable<string[]>(() => ({\n defaultValue: prop(\"defaultValue\"),\n onChange(value) {\n const items = prop(\"collection\").findMany(value ?? [])\n return prop(\"onValueChange\")?.(value ?? [], {items})\n },\n value: prop(\"value\"),\n })),\n valueAsString: bindable(() => {\n const value = prop(\"value\") ?? prop(\"defaultValue\") ?? []\n return {\n defaultValue: prop(\"collection\").stringifyMany(value),\n isEqual,\n }\n }),\n }\n },\n\n effects: {\n computePlacement({context, prop, scope}) {\n const positioning = prop(\"positioning\")\n context.set(\"currentPlacement\", positioning.placement)\n const triggerEl = () => domEls.control(scope)\n const positionerEl = () => domEls.positioner(scope)\n return getPlacement(triggerEl, positionerEl, {\n defer: true,\n ...positioning,\n onComplete(data) {\n context.set(\"currentPlacement\", data.placement)\n },\n })\n },\n\n scrollToHighlightedItem({context, event, prop, refs, scope}) {\n const exec = (immediate: boolean) => {\n const highlightedValue = context.get(\"highlightedValue\")\n if (highlightedValue == null) {\n return\n }\n\n // don't scroll into view if we're using the pointer\n if (event.current().type?.includes(\"POINTER\")) {\n return\n }\n\n const optionEl = domEls.item(scope, highlightedValue)\n const contentEl = domEls.content(scope)\n\n const scrollToIndexFn = refs.get(\"scrollToIndexFn\")\n if (scrollToIndexFn) {\n const highlightedIndex =\n prop(\"collection\").indexOf(highlightedValue)\n scrollToIndexFn?.({immediate, index: highlightedIndex})\n return\n }\n\n scrollIntoView(optionEl, {block: \"nearest\", rootEl: contentEl})\n }\n\n raf(() => exec(true))\n\n const contentEl = () => domEls.content(scope)\n return observeAttributes(contentEl, {\n attributes: [\"data-activedescendant\"],\n callback() {\n exec(false)\n },\n defer: true,\n })\n },\n\n trackDismissableElement({prop, scope, send}) {\n const contentEl = () => domEls.content(scope)\n let restoreFocus = true\n return trackDismissableElement(contentEl, {\n defer: true,\n exclude: () => [domEls.control(scope), domEls.clearTrigger(scope)],\n onDismiss() {\n send({restoreFocus, src: \"interact-outside\", type: \"CLOSE\"})\n },\n onFocusOutside: prop(\"onFocusOutside\"),\n onInteractOutside(event) {\n prop(\"onInteractOutside\")?.(event)\n restoreFocus = !(event.detail.focusable || event.detail.contextmenu)\n },\n onPointerDownOutside: prop(\"onPointerDownOutside\"),\n warnOnMissingNode: false,\n })\n },\n\n trackFocusVisible({scope}) {\n return trackFocusVisible({root: scope.getRootNode?.()})\n },\n\n trackFormControlState({context, scope}) {\n raf(() => {\n trackFormControl(domEls.hiddenSelect(scope), {\n onFieldsetDisabledChange(disabled) {\n context.set(\"fieldsetDisabled\", disabled)\n },\n onFormReset() {\n const value = context.initial(\"value\")\n context.set(\"value\", value ?? [])\n },\n })\n })\n },\n },\n\n guards: {\n canHighlightNextItem: ({guard, prop}) => {\n return (\n !guard(\"hasHighlightedItem\") ||\n prop(\"loopFocus\") ||\n !guard(\"isLastItemHighlighted\")\n )\n },\n canHighlightPreviousItem: ({guard, prop}) => {\n return (\n !guard(\"hasHighlightedItem\") ||\n prop(\"loopFocus\") ||\n !guard(\"isFirstItemHighlighted\")\n )\n },\n closeOnSelect: ({prop}) => prop(\"closeOnSelect\"),\n hasHighlightedItem: ({context}) => {\n return context.get(\"highlightedValue\") != null\n },\n hasSelectedItems: ({computed}) => computed(\"hasSelectedItems\"),\n isFirstItemHighlighted: ({context, prop}) =>\n context.get(\"highlightedValue\") === prop(\"collection\").firstValue,\n isLastItemHighlighted: ({context, prop}) =>\n context.get(\"highlightedValue\") === prop(\"collection\").lastValue,\n isOpenControlled: ({prop}) => isDefined(prop(\"open\")),\n isTriggerArrowDownEvent: ({event}) =>\n event.previous().type === \"TRIGGER.ARROW_DOWN\",\n isTriggerArrowUpEvent: ({event}) =>\n event.previous().type === \"TRIGGER.ARROW_UP\",\n isTriggerClickEvent: ({event}) =>\n event.previous().type === \"TRIGGER.CLICK\",\n isTriggerEnterEvent: ({event}) =>\n event.previous().type === \"TRIGGER.ENTER\",\n loop: ({prop}) => prop(\"loopFocus\"),\n multiple: ({prop}) => prop(\"multiple\"),\n restoreFocus: ({event}) => restoreFocusFn(event),\n },\n\n ids: ({bindableId, ids}) => {\n return {\n clearTrigger: bindableId(ids?.clearTrigger),\n content: bindableId(ids?.content),\n control: bindableId(ids?.control),\n errorText: bindableId(ids?.errorText),\n hiddenSelect: bindableId(ids?.hiddenSelect),\n hint: bindableId(ids?.hint),\n item: bindableId<(id: string | number) => string>(),\n itemGroup: bindableId<(id: string | number) => string>(),\n itemGroupLabel: bindableId<(id: string | number) => string>(),\n label: bindableId(ids?.label),\n positioner: bindableId(ids?.positioner),\n root: bindableId(ids?.root),\n }\n },\n\n initialState({prop}) {\n const open = prop(\"open\") || prop(\"defaultOpen\")\n return open ? \"open\" : \"idle\"\n },\n\n on: {\n \"CLEAR.CLICK\": {\n actions: [\"clearSelectedItems\", \"focusTriggerEl\"],\n },\n \"HIGHLIGHTED_VALUE.SET\": {\n actions: [\"setHighlightedItem\"],\n },\n \"ITEM.CLEAR\": {\n actions: [\"clearItem\"],\n },\n \"ITEM.SELECT\": {\n actions: [\"selectItem\"],\n },\n \"VALUE.CLEAR\": {\n actions: [\"clearSelectedItems\"],\n },\n \"VALUE.SET\": {\n actions: [\"setSelectedItems\"],\n },\n },\n\n onInit: {\n effects: [\"trackFormControlState\", \"trackFocusVisible\"],\n },\n\n props({props}) {\n return {\n closeOnSelect: !props.multiple,\n defaultValue: [],\n dir: \"ltr\",\n loopFocus: false,\n multiple: false,\n placeholder: \"Select an option\",\n ...props,\n collection: props.collection ?? emptyCollection(),\n positioning: {\n gutter: 2,\n placement: \"bottom-start\",\n sameWidth: true,\n ...props.positioning,\n },\n }\n },\n\n refs: ({prop}) => {\n return {\n scrollToIndexFn: prop(\"scrollToIndexFn\"),\n typeahead: {...getByTypeahead.defaultOptions},\n }\n },\n\n states: {\n focused: {\n on: {\n \"CONTROLLED.OPEN\": [\n {\n actions: [\"setInitialFocus\", \"highlightFirstSelectedItem\"],\n guard: \"isTriggerClickEvent\",\n target: \"open\",\n },\n {\n actions: [\"setInitialFocus\", \"highlightComputedLastItem\"],\n guard: \"isTriggerArrowUpEvent\",\n target: \"open\",\n },\n {\n actions: [\"setInitialFocus\", \"highlightComputedFirstItem\"],\n guard: or(\"isTriggerArrowDownEvent\", \"isTriggerEnterEvent\"),\n target: \"open\",\n },\n {\n actions: [\"setInitialFocus\"],\n target: \"open\",\n },\n ],\n OPEN: [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"setInitialFocus\", \"invokeOnOpen\"],\n target: \"open\",\n },\n ],\n \"TRIGGER.ARROW_DOWN\": [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\n \"setInitialFocus\",\n \"invokeOnOpen\",\n \"highlightComputedFirstItem\",\n ],\n target: \"open\",\n },\n ],\n \"TRIGGER.ARROW_LEFT\": [\n {\n actions: [\"selectPreviousItem\"],\n guard: and(not(\"multiple\"), \"hasSelectedItems\"),\n },\n {\n actions: [\"selectLastItem\"],\n guard: not(\"multiple\"),\n },\n ],\n \"TRIGGER.ARROW_UP\": [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\n \"setInitialFocus\",\n \"invokeOnOpen\",\n \"highlightComputedLastItem\",\n ],\n target: \"open\",\n },\n ],\n \"TRIGGER.BLUR\": {\n target: \"idle\",\n },\n \"TRIGGER.CLICK\": [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\n \"setInitialFocus\",\n \"invokeOnOpen\",\n \"highlightFirstSelectedItem\",\n ],\n target: \"open\",\n },\n ],\n \"TRIGGER.END\": {\n actions: [\"selectLastItem\"],\n guard: not(\"multiple\"),\n },\n \"TRIGGER.ENTER\": [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\n \"setInitialFocus\",\n \"invokeOnOpen\",\n \"highlightComputedFirstItem\",\n ],\n target: \"open\",\n },\n ],\n \"TRIGGER.HOME\": {\n actions: [\"selectFirstItem\"],\n guard: not(\"multiple\"),\n },\n \"TRIGGER.TYPEAHEAD\": {\n actions: [\"selectMatchingItem\"],\n guard: not(\"multiple\"),\n },\n },\n tags: [\"closed\"],\n },\n idle: {\n on: {\n \"CONTROLLED.OPEN\": [\n {\n actions: [\"setInitialFocus\", \"highlightFirstSelectedItem\"],\n guard: \"isTriggerClickEvent\",\n target: \"open\",\n },\n {\n actions: [\"setInitialFocus\"],\n target: \"open\",\n },\n ],\n OPEN: [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"setInitialFocus\", \"invokeOnOpen\"],\n target: \"open\",\n },\n ],\n \"TRIGGER.CLICK\": [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\n \"invokeOnOpen\",\n \"setInitialFocus\",\n \"highlightFirstSelectedItem\",\n ],\n target: \"open\",\n },\n ],\n \"TRIGGER.FOCUS\": {\n target: \"focused\",\n },\n },\n tags: [\"closed\"],\n },\n open: {\n effects: [\n \"trackDismissableElement\",\n \"computePlacement\",\n \"scrollToHighlightedItem\",\n ],\n exit: [\"scrollContentToTop\"],\n on: {\n CLOSE: [\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\n \"invokeOnClose\",\n \"focusTriggerEl\",\n \"clearHighlightedItem\",\n ],\n guard: \"restoreFocus\",\n target: \"focused\",\n },\n {\n actions: [\"invokeOnClose\", \"clearHighlightedItem\"],\n target: \"idle\",\n },\n ],\n \"CONTENT.ARROW_DOWN\": [\n {\n actions: [\"highlightFirstItem\"],\n guard: and(\"hasHighlightedItem\", \"loop\", \"isLastItemHighlighted\"),\n },\n {\n actions: [\"highlightNextItem\"],\n guard: \"canHighlightNextItem\",\n },\n ],\n \"CONTENT.ARROW_UP\": [\n {\n actions: [\"highlightLastItem\"],\n guard: and(\n \"hasHighlightedItem\",\n \"loop\",\n \"isFirstItemHighlighted\",\n ),\n },\n {\n actions: [\"highlightPreviousItem\"],\n guard: \"canHighlightPreviousItem\",\n },\n ],\n \"CONTENT.END\": {\n actions: [\"highlightLastItem\"],\n },\n \"CONTENT.HOME\": {\n actions: [\"highlightFirstItem\"],\n },\n \"CONTENT.TYPEAHEAD\": {\n actions: [\"highlightMatchingItem\"],\n },\n \"CONTROLLED.CLOSE\": [\n {\n actions: [\"focusTriggerEl\", \"clearHighlightedItem\"],\n guard: \"restoreFocus\",\n target: \"focused\",\n },\n {\n actions: [\"clearHighlightedItem\"],\n target: \"idle\",\n },\n ],\n \"ITEM.CLICK\": [\n {\n actions: [\"selectHighlightedItem\", \"invokeOnClose\"],\n guard: and(\"closeOnSelect\", \"isOpenControlled\"),\n },\n {\n actions: [\n \"selectHighlightedItem\",\n \"invokeOnClose\",\n \"focusTriggerEl\",\n \"clearHighlightedItem\",\n ],\n guard: \"closeOnSelect\",\n target: \"focused\",\n },\n {\n actions: [\"selectHighlightedItem\"],\n },\n ],\n \"ITEM.POINTER_LEAVE\": {\n actions: [\"clearHighlightedItem\"],\n },\n \"ITEM.POINTER_MOVE\": {\n actions: [\"highlightItem\"],\n },\n \"POSITIONING.SET\": {\n actions: [\"reposition\"],\n },\n \"TRIGGER.CLICK\": [\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\", \"clearHighlightedItem\"],\n target: \"focused\",\n },\n ],\n \"TRIGGER.TAB\": [\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\n \"invokeOnClose\",\n \"clearHighlightedItem\",\n \"focusTriggerEl\",\n ],\n target: \"focused\",\n },\n ],\n },\n tags: [\"open\"],\n },\n },\n\n watch({action, context, prop, track}) {\n track([() => context.get(\"value\")?.toString()], () => {\n action([\n \"syncSelectedItems\",\n \"syncSelectElement\",\n \"dispatchChangeEvent\",\n ])\n })\n track([() => prop(\"open\")], () => {\n action([\"toggleVisibility\"])\n })\n track([() => context.get(\"highlightedValue\")], () => {\n action([\"syncHighlightedItem\"])\n })\n track([() => prop(\"collection\").toString()], () => {\n action([\"syncCollection\"])\n })\n },\n })\n\nfunction restoreFocusFn(event: Record<string, any>) {\n const v = event.restoreFocus ?? event.previousEvent?.restoreFocus\n return v == null || !!v\n}\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {createProps, createSplitProps} from \"@qualcomm-ui/utils/object\"\n\nimport type {SelectApiProps} from \"./select.types\"\n\nconst selectProps: (keyof SelectApiProps)[] = createProps<SelectApiProps>()(\n \"closeOnSelect\",\n \"collection\",\n \"defaultHighlightedValue\",\n \"defaultOpen\",\n \"defaultValue\",\n \"deselectable\",\n \"dir\",\n \"disabled\",\n \"form\",\n \"getRootNode\",\n \"highlightedValue\",\n \"id\",\n \"ids\",\n \"invalid\",\n \"loopFocus\",\n \"multiple\",\n \"name\",\n \"onFocusOutside\",\n \"onHighlightChange\",\n \"onInteractOutside\",\n \"onOpenChange\",\n \"onPointerDownOutside\",\n \"onSelect\",\n \"onValueChange\",\n \"open\",\n \"placeholder\",\n \"positioning\",\n \"readOnly\",\n \"required\",\n \"scrollToIndexFn\",\n \"value\",\n)\n\nexport const splitSelectProps: <Props extends SelectApiProps>(\n props: Props,\n) => [SelectApiProps, Omit<Props, keyof SelectApiProps>] =\n createSplitProps<SelectApiProps>(selectProps)\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["export * from \"./select.api\"\nexport * from \"./select.collection\"\nexport * from \"./select.machine\"\nexport * from \"./select.props\"\nexport type * from \"./select.types\"\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {\n getPlacementStyles,\n type PositioningOptions,\n} from \"@qualcomm-ui/dom/floating-ui\"\nimport {isFocusVisible} from \"@qualcomm-ui/dom/focus-visible\"\nimport {\n getByTypeahead,\n getEventKey,\n getEventTarget,\n isEditableElement,\n isSelfTarget,\n visuallyHiddenStyle,\n} from \"@qualcomm-ui/dom/query\"\nimport {booleanAriaAttr, booleanDataAttr} from \"@qualcomm-ui/utils/attributes\"\nimport {ensure} from \"@qualcomm-ui/utils/guard\"\nimport type {\n EventKeyMap,\n IdRegistrationProps,\n Machine,\n PropNormalizer,\n} from \"@qualcomm-ui/utils/machine\"\n\nimport {domEls, domIds} from \"./internal\"\nimport type {\n ItemProps,\n ItemState,\n ScrollToIndexFn,\n SelectApi,\n SelectClearTriggerBindings,\n SelectControlBindings,\n SelectErrorIndicatorBindings,\n SelectErrorTextBindings,\n SelectHintBindings,\n SelectIndicatorBindings,\n SelectItemBindings,\n SelectItemGroupBindings,\n SelectItemIndicatorBindings,\n SelectItemTextBindings,\n SelectRootBindings,\n SelectSchema,\n SelectValueTextBindings,\n} from \"./select.types\"\n\nexport function createSelectApi(\n machine: Machine<SelectSchema>,\n normalize: PropNormalizer,\n): SelectApi {\n const {computed, context, prop, refs, scope, send, state} = machine\n\n const disabled = prop(\"disabled\") || context.get(\"fieldsetDisabled\")\n const invalid = prop(\"invalid\")\n const readOnly = prop(\"readOnly\")\n const collection = prop(\"collection\")\n\n const open = state.hasTag(\"open\")\n const focused = state.matches(\"focused\")\n\n const highlightedValue = context.get(\"highlightedValue\")\n const highlightedItem = context.get(\"highlightedItem\")\n const selectedItems = context.get(\"selectedItems\")\n const currentPlacement = context.get(\"currentPlacement\")\n\n const isTypingAhead = computed(\"isTypingAhead\")\n const interactive = computed(\"isInteractive\")\n\n const ariaActiveDescendant =\n (highlightedValue && domIds.item?.(scope, highlightedValue)) || undefined\n\n function getItemState(props: ItemProps): ItemState {\n const _disabled = collection.getItemDisabled(props.item)\n const value = collection.getItemValue(props.item)\n ensure(\n value,\n () =>\n `[@qualcomm-ui/core] No value found for item ${JSON.stringify(props.item)}`,\n )\n return {\n disabled: Boolean(disabled || _disabled),\n highlighted: highlightedValue === value,\n persistFocus: props.persistFocus,\n selected: context.get(\"value\")?.includes(value) || false,\n value,\n }\n }\n\n const popperStyles = getPlacementStyles({\n ...prop(\"positioning\"),\n placement: currentPlacement,\n })\n\n return {\n clearValue(value) {\n send({type: \"ITEM.CLEAR\", value})\n },\n collection,\n disabled,\n empty: computed(\"isEmpty\"),\n focus() {\n domEls.control(scope)?.focus({preventScroll: true})\n },\n focused,\n getItemState,\n hasSelectedItems: computed(\"hasSelectedItems\"),\n hiddenSelectOptions: [],\n highlightedItem,\n highlightedValue,\n highlightValue(value) {\n send({type: \"HIGHLIGHTED_VALUE.SET\", value})\n },\n multiple: prop(\"multiple\"),\n open,\n placeholder: prop(\"placeholder\"),\n reposition(options: Partial<PositioningOptions> = {}) {\n send({options, type: \"POSITIONING.SET\"})\n },\n required: prop(\"required\"),\n selectAll() {\n send({type: \"VALUE.SET\", value: collection.getValues()})\n },\n selectedItems,\n selectValue(value) {\n send({type: \"ITEM.SELECT\", value})\n },\n setOpen(nextOpen) {\n const open = state.hasTag(\"open\")\n if (open === nextOpen) {\n return\n }\n send({type: nextOpen ? \"OPEN\" : \"CLOSE\"})\n },\n setScrollToIndexFn(fn: ScrollToIndexFn) {\n refs.set(\"scrollToIndexFn\", fn)\n },\n setValue(value) {\n send({type: \"VALUE.SET\", value})\n },\n value: context.get(\"value\"),\n valueAsString: context.get(\"valueAsString\"),\n\n // group: prop getters\n getClearTriggerBindings(props): SelectClearTriggerBindings {\n scope.ids.register(\"clearTrigger\", props)\n return normalize.button({\n \"aria-label\": \"Clear value\",\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"clear-trigger\",\n \"data-scope\": \"select\",\n dir: prop(\"dir\"),\n disabled,\n hidden: !computed(\"hasSelectedItems\"),\n id: domIds.clearTrigger(scope),\n onClick(event) {\n if (event.defaultPrevented || !interactive) {\n return\n }\n send({type: \"CLEAR.CLICK\"})\n // prevent the same click from reopening the select.\n if (!open) {\n event.stopPropagation()\n }\n },\n type: \"button\",\n })\n },\n\n getContentBindings(props) {\n scope.ids.register(\"content\", props)\n return normalize.element({\n \"aria-activedescendant\": ariaActiveDescendant,\n \"aria-labelledby\": domIds.label(scope),\n \"aria-multiselectable\": booleanAriaAttr(prop(\"multiple\")),\n \"data-activedescendant\": ariaActiveDescendant,\n \"data-focus-visible\": booleanDataAttr(isFocusVisible()),\n \"data-part\": \"content\",\n \"data-placement\": currentPlacement,\n \"data-scope\": \"select\",\n \"data-state\": open ? \"open\" : \"closed\",\n dir: prop(\"dir\"),\n hidden: !open,\n id: domIds.content(scope),\n onKeyDown(event) {\n if (!interactive) {\n return\n }\n if (!isSelfTarget(event)) {\n return\n }\n if (event.defaultPrevented) {\n return\n }\n\n const keyMap: EventKeyMap = {\n ArrowDown() {\n send({type: \"CONTENT.ARROW_DOWN\"})\n },\n ArrowUp() {\n send({type: \"CONTENT.ARROW_UP\"})\n },\n End() {\n send({type: \"CONTENT.END\"})\n },\n Enter() {\n send({type: \"ITEM.CLICK\"})\n },\n Home() {\n send({type: \"CONTENT.HOME\"})\n },\n Space() {\n if (isTypingAhead) {\n send({key: event.key, type: \"CONTENT.TYPEAHEAD\"})\n } else {\n keyMap.Enter?.(event)\n }\n },\n Tab() {\n send({type: \"TRIGGER.TAB\"})\n },\n }\n\n const exec = keyMap[getEventKey(event)]\n\n if (exec) {\n exec(event)\n event.preventDefault()\n return\n }\n\n const target = getEventTarget<Element>(event)\n\n if (isEditableElement(target)) {\n return\n }\n\n if (getByTypeahead.isValidEvent(event)) {\n send({key: event.key, type: \"CONTENT.TYPEAHEAD\"})\n event.preventDefault()\n }\n },\n role: \"listbox\",\n tabIndex: 0,\n })\n },\n\n getControlBindings(props): SelectControlBindings {\n scope.ids.register(\"control\", props)\n return normalize.button({\n \"aria-controls\": domIds.content(scope),\n \"aria-expanded\": booleanAriaAttr(open),\n \"aria-haspopup\": \"listbox\",\n \"aria-invalid\": invalid,\n \"aria-labelledby\": domIds.label(scope),\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"control\",\n \"data-placeholder-shown\": booleanDataAttr(\n !computed(\"hasSelectedItems\"),\n ),\n \"data-placement\": currentPlacement,\n \"data-readonly\": booleanDataAttr(readOnly),\n \"data-scope\": \"select\",\n \"data-state\": open ? \"open\" : \"closed\",\n dir: prop(\"dir\"),\n disabled,\n id: domIds.control(scope),\n onBlur() {\n send({type: \"TRIGGER.BLUR\"})\n },\n onClick(event) {\n if (!interactive) {\n return\n }\n if (event.defaultPrevented) {\n return\n }\n send({type: \"TRIGGER.CLICK\"})\n },\n onFocus() {\n send({type: \"TRIGGER.FOCUS\"})\n },\n onKeyDown(event) {\n if (event.defaultPrevented) {\n return\n }\n if (!interactive) {\n return\n }\n\n const keyMap: EventKeyMap = {\n ArrowDown(event) {\n if (event.altKey) {\n send({type: \"OPEN\"})\n } else {\n send({type: \"TRIGGER.ARROW_DOWN\"})\n }\n },\n ArrowLeft() {\n send({type: \"TRIGGER.ARROW_LEFT\"})\n },\n ArrowRight() {\n send({type: \"TRIGGER.ARROW_RIGHT\"})\n },\n ArrowUp() {\n send({type: \"TRIGGER.ARROW_UP\"})\n },\n End() {\n send({type: \"TRIGGER.END\"})\n },\n Enter() {\n send({type: \"TRIGGER.ENTER\"})\n },\n Home() {\n send({type: \"TRIGGER.HOME\"})\n },\n Space(event) {\n if (isTypingAhead) {\n send({type: \"TRIGGER.TYPEAHEAD\", value: event.key})\n } else {\n send({type: \"TRIGGER.ENTER\"})\n }\n },\n }\n\n const exec =\n keyMap[\n getEventKey(event, {\n dir: prop(\"dir\"),\n orientation: \"vertical\",\n })\n ]\n\n if (exec) {\n exec(event)\n event.preventDefault()\n return\n }\n\n if (getByTypeahead.isValidEvent(event)) {\n send({type: \"TRIGGER.TYPEAHEAD\", value: event.key})\n event.preventDefault()\n }\n },\n role: \"combobox\",\n tabIndex: disabled ? -1 : 0,\n })\n },\n\n getErrorIndicatorBindings(): SelectErrorIndicatorBindings {\n return normalize.element({\n \"aria-label\": \"Error\",\n \"data-part\": \"error-indicator\",\n \"data-scope\": \"select\",\n dir: prop(\"dir\"),\n hidden: !prop(\"invalid\"),\n })\n },\n\n getErrorTextBindings(props: IdRegistrationProps): SelectErrorTextBindings {\n scope.ids.register(\"errorText\", props)\n return normalize.element({\n \"aria-live\": \"polite\",\n \"data-part\": \"error-text\",\n \"data-scope\": \"select\",\n dir: prop(\"dir\"),\n hidden: !invalid,\n id: domIds.errorText(scope),\n })\n },\n\n getHiddenSelectBindings(props) {\n scope.ids.register(\"hiddenSelect\", props)\n const value = context.get(\"value\")\n const defaultValue = prop(\"multiple\") ? value : value?.[0]\n return normalize.select({\n \"aria-hidden\": true,\n \"aria-labelledby\": domIds.label(scope),\n \"data-part\": \"hidden-select\",\n \"data-scope\": \"select\",\n defaultValue,\n dir: prop(\"dir\"),\n disabled,\n form: prop(\"form\"),\n id: domIds.hiddenSelect(scope),\n multiple: prop(\"multiple\"),\n name: prop(\"name\"),\n // Some browser extensions will focus the hidden select.\n // Let's forward the focus to the trigger.\n onFocus() {\n domEls.control(scope)?.focus({preventScroll: true})\n },\n required: !!prop(\"required\"),\n style: visuallyHiddenStyle,\n tabIndex: -1,\n })\n },\n\n getHintBindings(props: IdRegistrationProps): SelectHintBindings {\n scope.ids.register(\"hint\", props)\n return normalize.element({\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-part\": \"hint\",\n \"data-scope\": \"select\",\n dir: prop(\"dir\"),\n hidden: !!invalid,\n id: domIds.hint(scope),\n })\n },\n\n getIndicatorBindings(): SelectIndicatorBindings {\n return normalize.element({\n \"aria-hidden\": true,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"indicator\",\n \"data-readonly\": booleanDataAttr(readOnly),\n \"data-scope\": \"select\",\n \"data-state\": open ? \"open\" : \"closed\",\n dir: prop(\"dir\"),\n tabIndex: -1,\n })\n },\n\n getItemBindings(props: ItemState): SelectItemBindings {\n return normalize.element({\n \"aria-disabled\": booleanAriaAttr(props.disabled),\n \"aria-selected\": props.selected,\n \"data-disabled\": booleanDataAttr(props.disabled),\n \"data-highlighted\": booleanDataAttr(props.highlighted),\n \"data-part\": \"item\",\n \"data-scope\": \"select\",\n \"data-state\": props.selected ? \"checked\" : \"unchecked\",\n \"data-value\": props.value,\n dir: prop(\"dir\"),\n id: domIds.item(scope, props.value),\n onClick(event) {\n if (event.defaultPrevented) {\n return\n }\n if (props.disabled) {\n return\n }\n send({src: \"pointerup\", type: \"ITEM.CLICK\", value: props.value})\n },\n onPointerLeave(event) {\n if (props.disabled) {\n return\n }\n if (props.persistFocus) {\n return\n }\n if (event.pointerType !== \"mouse\") {\n return\n }\n\n const pointerMoved = machine?.event\n ?.previous()\n ?.type?.includes(\"POINTER\")\n if (!pointerMoved) {\n return\n }\n send({type: \"ITEM.POINTER_LEAVE\"})\n },\n onPointerMove(event) {\n if (props.disabled || event.pointerType !== \"mouse\") {\n return\n }\n if (props.value === highlightedValue) {\n return\n }\n send({type: \"ITEM.POINTER_MOVE\", value: props.value})\n },\n role: \"option\",\n })\n },\n\n getItemGroupBindings({id}): SelectItemGroupBindings {\n return normalize.element({\n \"aria-labelledby\": domIds.itemGroupLabel(scope, id),\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-part\": \"item-group\",\n \"data-scope\": \"select\",\n dir: prop(\"dir\"),\n id: domIds.itemGroup(scope, id),\n role: \"group\",\n })\n },\n\n getItemGroupLabelBindings({htmlFor}) {\n return normalize.element({\n \"data-part\": \"item-group-label\",\n \"data-scope\": \"select\",\n dir: prop(\"dir\"),\n id: domIds.itemGroupLabel(scope, htmlFor),\n role: \"presentation\",\n })\n },\n\n getItemIndicatorBindings(props: ItemState): SelectItemIndicatorBindings {\n return normalize.element({\n \"aria-hidden\": true,\n \"data-part\": \"item-indicator\",\n \"data-scope\": \"select\",\n \"data-state\": props.selected ? \"checked\" : \"unchecked\",\n dir: prop(\"dir\"),\n hidden: !props.selected,\n })\n },\n\n getItemTextBindings(props: ItemState): SelectItemTextBindings {\n return normalize.element({\n \"data-disabled\": booleanDataAttr(props.disabled),\n \"data-highlighted\": booleanDataAttr(props.highlighted),\n \"data-part\": \"item-text\",\n \"data-scope\": \"select\",\n \"data-state\": props.selected ? \"checked\" : \"unchecked\",\n dir: prop(\"dir\"),\n })\n },\n\n getLabelBindings(props) {\n scope.ids.register(\"label\", props)\n return normalize.label({\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"label\",\n \"data-readonly\": booleanDataAttr(readOnly),\n \"data-scope\": \"select\",\n dir: prop(\"dir\"),\n /**\n * the content element will not have rendered on SSR when this first\n * executes. It is immediately resolved on CSR. The impact to accessibility\n * is minimal and quickly corrected.\n */\n htmlFor: domIds.hiddenSelect(scope),\n id: domIds.label(scope),\n onClick(event) {\n if (event.defaultPrevented) {\n return\n }\n if (disabled) {\n return\n }\n domEls.control(scope)?.focus({preventScroll: true})\n },\n })\n },\n\n getPositionerBindings(props) {\n scope.ids.register(\"positioner\", props)\n return normalize.element({\n \"data-part\": \"positioner\",\n \"data-scope\": \"select\",\n dir: prop(\"dir\"),\n id: domIds.positioner(scope),\n style: popperStyles.floating,\n })\n },\n\n getRootBindings(props): SelectRootBindings {\n scope.ids.register(\"root\", props)\n return normalize.element({\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"root\",\n \"data-readonly\": booleanDataAttr(readOnly),\n \"data-scope\": \"select\",\n dir: prop(\"dir\"),\n id: domIds.root(scope),\n })\n },\n\n getValueTextBindings(): SelectValueTextBindings {\n return normalize.element({\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-multiple\": booleanDataAttr(prop(\"multiple\")),\n \"data-part\": \"value-text\",\n \"data-scope\": \"select\",\n dir: prop(\"dir\"),\n })\n },\n }\n}\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ScopeDomElements, ScopeDomIds} from \"@qualcomm-ui/utils/machine\"\n\nimport type {SelectElementIds, SelectScope} from \"../select.types\"\n\nexport const domIds: ScopeDomIds<SelectElementIds, SelectScope> & {\n itemGroup: (scope: SelectScope, id: string | number) => string\n} = {\n clearTrigger: (scope) => scope.ids.get(\"clearTrigger\"),\n content: (scope) => scope.ids.get(\"content\"),\n control: (scope) => scope.ids.get(\"control\"),\n errorText: (scope) => scope.ids.get(\"errorText\"),\n hiddenSelect: (scope) => scope.ids.get(\"hiddenSelect\"),\n hint: (scope) => scope.ids.get(\"hint\"),\n item: (scope, id) => `${scope.ids.get(\"root\")}-item-${id}`,\n itemGroup: (scope, id) => `${scope.ids.get(\"root\")}-item-group-${id}`,\n itemGroupLabel: (scope, id) =>\n `${scope.ids.get(\"root\")}-item-group-label-${id}`,\n label: (scope) => scope.ids.get(\"label\"),\n positioner: (scope) => scope.ids.get(\"positioner\"),\n root: (scope) => scope.ids.get(\"root\"),\n}\n\nexport const domEls: ScopeDomElements<\n Omit<SelectElementIds, \"itemGroup\" | \"itemGroupLabel\" | \"hiddenSelect\">,\n SelectScope\n> & {\n hiddenSelect: (scope: SelectScope) => HTMLSelectElement | null\n} = {\n clearTrigger: (scope) => scope.getById(domIds.clearTrigger(scope)),\n content: (scope) => scope.getById(domIds.content(scope)),\n control: (scope) => scope.getById(domIds.control(scope)),\n errorText: (scope) => scope.getById(domIds.errorText(scope)),\n hiddenSelect: (scope) => scope.getById(domIds.hiddenSelect(scope)),\n hint: (scope) => scope.getById(domIds.hint(scope)),\n item: (scope, id) => scope.getById(domIds.item?.(scope, id)),\n label: (scope) => scope.getById(domIds.label?.(scope)),\n positioner: (scope) => scope.getById(domIds.positioner(scope)),\n root: (scope) => scope.getById(domIds.root(scope)),\n}\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {\n type CollectionItem,\n ListCollection,\n type ListCollectionOptions,\n} from \"@qualcomm-ui/utils/collection\"\n\nexport const selectCollection = <T extends CollectionItem = CollectionItem>(\n options: ListCollectionOptions<T>,\n): ListCollection<T> => {\n return new ListCollection<T>(options)\n}\n\nexport const emptyCollection = <\n T extends CollectionItem = CollectionItem,\n>(): ListCollection<T> => {\n return new ListCollection<T>({items: []})\n}\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {trackDismissableElement} from \"@qualcomm-ui/dom/dismissable\"\nimport {getPlacement, type Placement} from \"@qualcomm-ui/dom/floating-ui\"\nimport {trackFocusVisible} from \"@qualcomm-ui/dom/focus-visible\"\nimport {\n getByTypeahead,\n getInitialFocus,\n observeAttributes,\n raf,\n scrollIntoView,\n trackFormControl,\n} from \"@qualcomm-ui/dom/query\"\nimport {addOrRemove} from \"@qualcomm-ui/utils/array\"\nimport type {\n CollectionItem,\n ListCollection,\n} from \"@qualcomm-ui/utils/collection\"\nimport {isEqual} from \"@qualcomm-ui/utils/equal\"\nimport {isDefined} from \"@qualcomm-ui/utils/guard\"\nimport {\n createGuards,\n createMachine,\n type MachineConfig,\n} from \"@qualcomm-ui/utils/machine\"\nimport {memo} from \"@qualcomm-ui/utils/memo\"\n\nimport {domEls} from \"./internal\"\nimport {emptyCollection} from \"./select.collection\"\nimport type {HiddenSelectOption, SelectSchema} from \"./select.types\"\n\nconst {and, not, or} = createGuards<SelectSchema>()\n\nfunction isSingleValue(value: unknown): value is string | null {\n return typeof value === \"string\" || value === null\n}\n\nexport const selectMachine: MachineConfig<SelectSchema> =\n createMachine<SelectSchema>({\n actions: {\n clearHighlightedItem({context}) {\n context.set(\"highlightedValue\", null)\n },\n clearItem({context, event}) {\n if (!(\"value\" in event)) {\n return\n }\n context.set(\"value\", (prev) => prev.filter((v) => v !== event.value))\n },\n clearSelectedItems({context}) {\n context.set(\"value\", [])\n },\n dispatchChangeEvent({scope}) {\n queueMicrotask(() => {\n const node = domEls.hiddenSelect(scope)\n if (!node) {\n return\n }\n const win = scope.getWin()\n const changeEvent = new (win as typeof window).Event(\"change\", {\n bubbles: true,\n composed: true,\n })\n node.dispatchEvent(changeEvent)\n })\n },\n focusTriggerEl({scope}, event = {}) {\n if (!restoreFocusFn(event)) {\n return\n }\n raf(() => {\n const element = domEls.control(scope)\n element?.focus({preventScroll: true})\n })\n },\n highlightComputedFirstItem({computed, context, prop}) {\n const collection = prop(\"collection\")\n const value = computed(\"hasSelectedItems\")\n ? collection.sort(context.get(\"value\"))[0]\n : collection.firstValue\n context.set(\"highlightedValue\", value)\n },\n highlightComputedLastItem({computed, context, prop}) {\n const collection = prop(\"collection\")\n const value = computed(\"hasSelectedItems\")\n ? collection.sort(context.get(\"value\"))[0]\n : collection.lastValue\n context.set(\"highlightedValue\", value)\n },\n highlightFirstItem({context, prop}) {\n const value = prop(\"collection\").firstValue\n context.set(\"highlightedValue\", value)\n },\n highlightFirstSelectedItem({computed, context, prop}) {\n if (!computed(\"hasSelectedItems\")) {\n return\n }\n const value = prop(\"collection\").sort(context.get(\"value\"))[0]\n context.set(\"highlightedValue\", value)\n },\n highlightItem({context, event}) {\n if (!(\"value\" in event) || !isSingleValue(event.value)) {\n return\n }\n context.set(\"highlightedValue\", event.value)\n },\n highlightLastItem({context, prop}) {\n const value = prop(\"collection\").lastValue\n context.set(\"highlightedValue\", value)\n },\n highlightMatchingItem({context, event, prop, refs}) {\n if (!(\"key\" in event)) {\n return\n }\n const value = prop(\"collection\").search(event.key, {\n currentValue: context.get(\"highlightedValue\"),\n state: refs.get(\"typeahead\"),\n })\n\n if (value == null) {\n return\n }\n context.set(\"highlightedValue\", value)\n },\n highlightNextItem({context, prop}) {\n const highlightedValue = context.get(\"highlightedValue\")\n if (highlightedValue == null) {\n // the highlighted value will be null if the user clicks the trigger\n // instead of activating it with the keyboard. The next item in this\n // case is the first item.\n context.set(\"highlightedValue\", prop(\"collection\").firstValue)\n return\n }\n const value = prop(\"collection\").getNextValue(\n highlightedValue,\n 1,\n prop(\"loopFocus\"),\n )\n context.set(\"highlightedValue\", value)\n },\n highlightPreviousItem({context, prop}) {\n const highlightedValue = context.get(\"highlightedValue\")\n if (highlightedValue == null) {\n // the highlighted value will be null if the user clicks the trigger\n // instead of activating it with the keyboard. The prev item in this\n // case is the last item.\n context.set(\"highlightedValue\", prop(\"collection\").lastValue)\n return\n }\n const value = prop(\"collection\").getPreviousValue(\n highlightedValue,\n 1,\n prop(\"loopFocus\"),\n )\n context.set(\"highlightedValue\", value)\n },\n invokeOnClose: ({prop}) => {\n prop(\"onOpenChange\")?.(false)\n },\n\n invokeOnOpen: ({prop}) => {\n prop(\"onOpenChange\")?.(true)\n },\n\n reposition({context, event, prop, scope}) {\n if (!(\"options\" in event)) {\n return\n }\n getPlacement(\n () => domEls.control(scope),\n () => domEls.positioner(scope),\n {\n ...prop(\"positioning\"),\n ...event.options,\n defer: true,\n listeners: false,\n onComplete(data) {\n context.set(\"currentPlacement\", data.placement)\n },\n },\n )\n },\n\n scrollContentToTop({refs, scope}) {\n const scrollToIndexFn = refs.get(\"scrollToIndexFn\")\n if (scrollToIndexFn) {\n scrollToIndexFn?.({immediate: true, index: 0})\n } else {\n domEls.content(scope)?.scrollTo(0, 0)\n }\n },\n\n selectFirstItem({context, prop}) {\n const value = prop(\"collection\").firstValue\n if (value) {\n context.set(\"value\", [value])\n }\n },\n\n selectHighlightedItem({context, event, prop}) {\n let value =\n \"value\" in event && isSingleValue(event.value) && event.value\n ? event.value\n : context.get(\"highlightedValue\")\n if (value == null) {\n return\n }\n\n prop(\"onSelect\")?.(value)\n\n const nullable =\n prop(\"deselectable\") &&\n !prop(\"multiple\") &&\n context.get(\"value\").includes(value)\n value = nullable ? null : value\n context.set(\"value\", (prev) => {\n if (value == null) {\n return []\n }\n if (prop(\"multiple\")) {\n return addOrRemove(prev, value)\n }\n return [value]\n })\n },\n\n selectItem({context, event, prop}) {\n if (!(\"value\" in event) || typeof event.value !== \"string\") {\n return\n }\n prop(\"onSelect\")?.(event.value)\n\n const nullable =\n prop(\"deselectable\") &&\n !prop(\"multiple\") &&\n context.get(\"value\").includes(event.value)\n const nextValue = nullable ? null : event.value\n context.set(\"value\", (prev) => {\n if (nextValue == null) {\n return []\n }\n if (prop(\"multiple\")) {\n return addOrRemove(prev, nextValue)\n }\n return [nextValue]\n })\n },\n\n selectLastItem({context, prop}) {\n const value = prop(\"collection\").lastValue\n if (value) {\n context.set(\"value\", [value])\n }\n },\n\n selectMatchingItem({context, event, prop, refs}) {\n if (!(\"key\" in event)) {\n return\n }\n const value = prop(\"collection\").search(event.key, {\n currentValue: context.get(\"value\")[0],\n state: refs.get(\"typeahead\"),\n })\n if (value == null) {\n return\n }\n context.set(\"value\", [value])\n },\n\n selectPreviousItem({context, prop}) {\n const [firstItem] = context.get(\"value\")\n const value = prop(\"collection\").getPreviousValue(firstItem)\n if (value) {\n context.set(\"value\", [value])\n }\n },\n\n setHighlightedItem({context, event}) {\n if (\"value\" in event && isSingleValue(event.value)) {\n context.set(\"highlightedValue\", event.value)\n }\n },\n\n setInitialFocus({scope}) {\n raf(() => {\n const element = getInitialFocus({\n root: domEls.content(scope),\n })\n element?.focus({preventScroll: true})\n })\n },\n\n setSelectedItems({context, event}) {\n if (\"value\" in event && Array.isArray(event.value)) {\n context.set(\"value\", event.value)\n }\n },\n\n syncCollection({context, prop}) {\n const collection = prop(\"collection\")\n\n const highlightedItem = collection.find(context.get(\"highlightedValue\"))\n if (highlightedItem) {\n context.set(\"highlightedItem\", highlightedItem, null)\n }\n\n const selectedItems = collection.findMany(context.get(\"value\"))\n context.set(\"selectedItems\", selectedItems)\n\n const valueAsString = collection.stringifyItems(selectedItems)\n context.set(\"valueAsString\", valueAsString)\n },\n\n syncHighlightedItem({context, prop}) {\n const collection = prop(\"collection\")\n const highlightedValue = context.get(\"highlightedValue\")\n const highlightedItem = highlightedValue\n ? collection.find(highlightedValue)\n : null\n context.set(\"highlightedItem\", highlightedItem, null)\n },\n\n syncSelectedItems({context, prop}) {\n const collection = prop(\"collection\")\n const prevSelectedItems = context.get(\"selectedItems\")\n\n const value = context.get(\"value\")\n const selectedItems = value.map((value) => {\n const item = prevSelectedItems.find(\n (item) => collection.getItemValue(item) === value,\n )\n return item || collection.find(value)\n })\n\n context.set(\"selectedItems\", selectedItems)\n context.set(\"valueAsString\", collection.stringifyItems(selectedItems))\n },\n\n syncSelectElement({context, prop, scope}) {\n const selectEl = domEls.hiddenSelect(scope)\n if (!selectEl) {\n return\n }\n\n if (context.get(\"value\")?.length === 0 && !prop(\"multiple\")) {\n selectEl.selectedIndex = -1\n return\n }\n\n for (const option of selectEl.options) {\n option.selected = context.get(\"value\").includes(option.value)\n }\n },\n\n toggleVisibility: ({event, prop, send}) => {\n send({\n restoreFocus:\n \"restoreFocus\" in event ? event.restoreFocus : undefined,\n type: prop(\"open\") ? \"CONTROLLED.OPEN\" : \"CONTROLLED.CLOSE\",\n })\n },\n },\n\n computed: {\n hasSelectedItems: ({context}) => (context.get(\"value\")?.length ?? 0) > 0,\n hiddenSelectOptions: memo(\n ({prop}): [ListCollection] => [prop(\"collection\")],\n (collection) => {\n return collection.items\n .map((item) => {\n return {\n disabled: collection.getItemDisabled(item),\n label: collection.stringifyItem(item),\n value: collection.getItemValue(item),\n }\n })\n .filter(\n (option): option is HiddenSelectOption =>\n option.label !== null && option.value !== null,\n )\n },\n ),\n isDisabled: ({context, prop}) =>\n prop(\"disabled\") || context.get(\"fieldsetDisabled\"),\n isEmpty: ({context}) => !context.get(\"value\")?.length,\n isInteractive: ({prop}) => !(prop(\"disabled\") || prop(\"readOnly\")),\n isTypingAhead: ({refs}) => refs.get(\"typeahead\").keysSoFar !== \"\",\n },\n\n context({bindable, prop}) {\n return {\n currentPlacement: bindable<Placement | undefined>(() => ({\n defaultValue: undefined,\n })),\n fieldsetDisabled: bindable<boolean>(() => ({\n defaultValue: false,\n })),\n highlightedItem: bindable<CollectionItem | null>(() => ({\n defaultValue: null,\n })),\n highlightedValue: bindable(() => ({\n defaultValue: prop(\"defaultHighlightedValue\"),\n isEqual,\n onChange(highlightedValue) {\n prop(\"onHighlightChange\")?.(highlightedValue, {\n highlightedIndex: prop(\"collection\").indexOf(highlightedValue),\n highlightedItem: prop(\"collection\").find(highlightedValue),\n })\n },\n value: prop(\"highlightedValue\"),\n })),\n selectedItems: bindable<CollectionItem[]>(() => {\n const value = prop(\"value\") ?? prop(\"defaultValue\") ?? []\n const items = prop(\"collection\").findMany(value)\n return {defaultValue: items, isEqual}\n }),\n value: bindable<string[]>(() => ({\n defaultValue: prop(\"defaultValue\"),\n onChange(value) {\n const items = prop(\"collection\").findMany(value ?? [])\n return prop(\"onValueChange\")?.(value ?? [], {items})\n },\n value: prop(\"value\"),\n })),\n valueAsString: bindable(() => {\n const value = prop(\"value\") ?? prop(\"defaultValue\") ?? []\n return {\n defaultValue: prop(\"collection\").stringifyMany(value),\n isEqual,\n }\n }),\n }\n },\n\n effects: {\n computePlacement({context, prop, scope}) {\n const positioning = prop(\"positioning\")\n context.set(\"currentPlacement\", positioning.placement)\n const triggerEl = () => domEls.control(scope)\n const positionerEl = () => domEls.positioner(scope)\n return getPlacement(triggerEl, positionerEl, {\n defer: true,\n ...positioning,\n onComplete(data) {\n context.set(\"currentPlacement\", data.placement)\n },\n })\n },\n\n scrollToHighlightedItem({context, event, prop, refs, scope}) {\n const exec = (immediate: boolean) => {\n const highlightedValue = context.get(\"highlightedValue\")\n if (highlightedValue == null) {\n return\n }\n\n // don't scroll into view if we're using the pointer\n if (event.current().type?.includes(\"POINTER\")) {\n return\n }\n\n const optionEl = domEls.item(scope, highlightedValue)\n const contentEl = domEls.content(scope)\n\n const scrollToIndexFn = refs.get(\"scrollToIndexFn\")\n if (scrollToIndexFn) {\n const highlightedIndex =\n prop(\"collection\").indexOf(highlightedValue)\n scrollToIndexFn?.({immediate, index: highlightedIndex})\n return\n }\n\n scrollIntoView(optionEl, {block: \"nearest\", rootEl: contentEl})\n }\n\n raf(() => exec(true))\n\n const contentEl = () => domEls.content(scope)\n return observeAttributes(contentEl, {\n attributes: [\"data-activedescendant\"],\n callback() {\n exec(false)\n },\n defer: true,\n })\n },\n\n trackDismissableElement({prop, scope, send}) {\n const contentEl = () => domEls.content(scope)\n let restoreFocus = true\n return trackDismissableElement(contentEl, {\n defer: true,\n exclude: () => [domEls.control(scope), domEls.clearTrigger(scope)],\n onDismiss() {\n send({restoreFocus, src: \"interact-outside\", type: \"CLOSE\"})\n },\n onFocusOutside: prop(\"onFocusOutside\"),\n onInteractOutside(event) {\n prop(\"onInteractOutside\")?.(event)\n restoreFocus = !(event.detail.focusable || event.detail.contextmenu)\n },\n onPointerDownOutside: prop(\"onPointerDownOutside\"),\n warnOnMissingNode: false,\n })\n },\n\n trackFocusVisible({scope}) {\n return trackFocusVisible({root: scope.getRootNode?.()})\n },\n\n trackFormControlState({context, scope}) {\n raf(() => {\n trackFormControl(domEls.hiddenSelect(scope), {\n onFieldsetDisabledChange(disabled) {\n context.set(\"fieldsetDisabled\", disabled)\n },\n onFormReset() {\n const value = context.initial(\"value\")\n context.set(\"value\", value ?? [])\n },\n })\n })\n },\n },\n\n guards: {\n canHighlightNextItem: ({guard, prop}) => {\n return (\n !guard(\"hasHighlightedItem\") ||\n prop(\"loopFocus\") ||\n !guard(\"isLastItemHighlighted\")\n )\n },\n canHighlightPreviousItem: ({guard, prop}) => {\n return (\n !guard(\"hasHighlightedItem\") ||\n prop(\"loopFocus\") ||\n !guard(\"isFirstItemHighlighted\")\n )\n },\n closeOnSelect: ({prop}) => prop(\"closeOnSelect\"),\n hasHighlightedItem: ({context}) => {\n return context.get(\"highlightedValue\") != null\n },\n hasSelectedItems: ({computed}) => computed(\"hasSelectedItems\"),\n isFirstItemHighlighted: ({context, prop}) =>\n context.get(\"highlightedValue\") === prop(\"collection\").firstValue,\n isLastItemHighlighted: ({context, prop}) =>\n context.get(\"highlightedValue\") === prop(\"collection\").lastValue,\n isOpenControlled: ({prop}) => isDefined(prop(\"open\")),\n isTriggerArrowDownEvent: ({event}) =>\n event.previous().type === \"TRIGGER.ARROW_DOWN\",\n isTriggerArrowUpEvent: ({event}) =>\n event.previous().type === \"TRIGGER.ARROW_UP\",\n isTriggerClickEvent: ({event}) =>\n event.previous().type === \"TRIGGER.CLICK\",\n isTriggerEnterEvent: ({event}) =>\n event.previous().type === \"TRIGGER.ENTER\",\n loop: ({prop}) => prop(\"loopFocus\"),\n multiple: ({prop}) => prop(\"multiple\"),\n restoreFocus: ({event}) => restoreFocusFn(event),\n },\n\n ids: ({bindableId, ids}) => {\n return {\n clearTrigger: bindableId(ids?.clearTrigger),\n content: bindableId(ids?.content),\n control: bindableId(ids?.control),\n errorText: bindableId(ids?.errorText),\n hiddenSelect: bindableId(ids?.hiddenSelect),\n hint: bindableId(ids?.hint),\n item: bindableId<(id: string | number) => string>(),\n itemGroup: bindableId<(id: string | number) => string>(),\n itemGroupLabel: bindableId<(id: string | number) => string>(),\n label: bindableId(ids?.label),\n positioner: bindableId(ids?.positioner),\n root: bindableId(ids?.root),\n }\n },\n\n initialState({prop}) {\n const open = prop(\"open\") || prop(\"defaultOpen\")\n return open ? \"open\" : \"idle\"\n },\n\n on: {\n \"CLEAR.CLICK\": {\n actions: [\"clearSelectedItems\", \"focusTriggerEl\"],\n },\n \"HIGHLIGHTED_VALUE.SET\": {\n actions: [\"setHighlightedItem\"],\n },\n \"ITEM.CLEAR\": {\n actions: [\"clearItem\"],\n },\n \"ITEM.SELECT\": {\n actions: [\"selectItem\"],\n },\n \"VALUE.CLEAR\": {\n actions: [\"clearSelectedItems\"],\n },\n \"VALUE.SET\": {\n actions: [\"setSelectedItems\"],\n },\n },\n\n onInit: {\n effects: [\"trackFormControlState\", \"trackFocusVisible\"],\n },\n\n props({props}) {\n return {\n closeOnSelect: !props.multiple,\n defaultValue: [],\n dir: \"ltr\",\n loopFocus: false,\n multiple: false,\n placeholder: \"Select an option\",\n ...props,\n collection: props.collection ?? emptyCollection(),\n positioning: {\n gutter: 2,\n placement: \"bottom-start\",\n sameWidth: true,\n ...props.positioning,\n },\n }\n },\n\n refs: ({prop}) => {\n return {\n scrollToIndexFn: prop(\"scrollToIndexFn\"),\n typeahead: {...getByTypeahead.defaultOptions},\n }\n },\n\n states: {\n focused: {\n on: {\n \"CONTROLLED.OPEN\": [\n {\n actions: [\"setInitialFocus\", \"highlightFirstSelectedItem\"],\n guard: \"isTriggerClickEvent\",\n target: \"open\",\n },\n {\n actions: [\"setInitialFocus\", \"highlightComputedLastItem\"],\n guard: \"isTriggerArrowUpEvent\",\n target: \"open\",\n },\n {\n actions: [\"setInitialFocus\", \"highlightComputedFirstItem\"],\n guard: or(\"isTriggerArrowDownEvent\", \"isTriggerEnterEvent\"),\n target: \"open\",\n },\n {\n actions: [\"setInitialFocus\"],\n target: \"open\",\n },\n ],\n OPEN: [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"setInitialFocus\", \"invokeOnOpen\"],\n target: \"open\",\n },\n ],\n \"TRIGGER.ARROW_DOWN\": [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\n \"setInitialFocus\",\n \"invokeOnOpen\",\n \"highlightComputedFirstItem\",\n ],\n target: \"open\",\n },\n ],\n \"TRIGGER.ARROW_LEFT\": [\n {\n actions: [\"selectPreviousItem\"],\n guard: and(not(\"multiple\"), \"hasSelectedItems\"),\n },\n {\n actions: [\"selectLastItem\"],\n guard: not(\"multiple\"),\n },\n ],\n \"TRIGGER.ARROW_UP\": [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\n \"setInitialFocus\",\n \"invokeOnOpen\",\n \"highlightComputedLastItem\",\n ],\n target: \"open\",\n },\n ],\n \"TRIGGER.BLUR\": {\n target: \"idle\",\n },\n \"TRIGGER.CLICK\": [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\n \"setInitialFocus\",\n \"invokeOnOpen\",\n \"highlightFirstSelectedItem\",\n ],\n target: \"open\",\n },\n ],\n \"TRIGGER.END\": {\n actions: [\"selectLastItem\"],\n guard: not(\"multiple\"),\n },\n \"TRIGGER.ENTER\": [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\n \"setInitialFocus\",\n \"invokeOnOpen\",\n \"highlightComputedFirstItem\",\n ],\n target: \"open\",\n },\n ],\n \"TRIGGER.HOME\": {\n actions: [\"selectFirstItem\"],\n guard: not(\"multiple\"),\n },\n \"TRIGGER.TYPEAHEAD\": {\n actions: [\"selectMatchingItem\"],\n guard: not(\"multiple\"),\n },\n },\n tags: [\"closed\"],\n },\n idle: {\n on: {\n \"CONTROLLED.OPEN\": [\n {\n actions: [\"setInitialFocus\", \"highlightFirstSelectedItem\"],\n guard: \"isTriggerClickEvent\",\n target: \"open\",\n },\n {\n actions: [\"setInitialFocus\"],\n target: \"open\",\n },\n ],\n OPEN: [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"setInitialFocus\", \"invokeOnOpen\"],\n target: \"open\",\n },\n ],\n \"TRIGGER.CLICK\": [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\n \"invokeOnOpen\",\n \"setInitialFocus\",\n \"highlightFirstSelectedItem\",\n ],\n target: \"open\",\n },\n ],\n \"TRIGGER.FOCUS\": {\n target: \"focused\",\n },\n },\n tags: [\"closed\"],\n },\n open: {\n effects: [\n \"trackDismissableElement\",\n \"computePlacement\",\n \"scrollToHighlightedItem\",\n ],\n exit: [\"scrollContentToTop\"],\n on: {\n CLOSE: [\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\n \"invokeOnClose\",\n \"focusTriggerEl\",\n \"clearHighlightedItem\",\n ],\n guard: \"restoreFocus\",\n target: \"focused\",\n },\n {\n actions: [\"invokeOnClose\", \"clearHighlightedItem\"],\n target: \"idle\",\n },\n ],\n \"CONTENT.ARROW_DOWN\": [\n {\n actions: [\"highlightFirstItem\"],\n guard: and(\"hasHighlightedItem\", \"loop\", \"isLastItemHighlighted\"),\n },\n {\n actions: [\"highlightNextItem\"],\n guard: \"canHighlightNextItem\",\n },\n ],\n \"CONTENT.ARROW_UP\": [\n {\n actions: [\"highlightLastItem\"],\n guard: and(\n \"hasHighlightedItem\",\n \"loop\",\n \"isFirstItemHighlighted\",\n ),\n },\n {\n actions: [\"highlightPreviousItem\"],\n guard: \"canHighlightPreviousItem\",\n },\n ],\n \"CONTENT.END\": {\n actions: [\"highlightLastItem\"],\n },\n \"CONTENT.HOME\": {\n actions: [\"highlightFirstItem\"],\n },\n \"CONTENT.TYPEAHEAD\": {\n actions: [\"highlightMatchingItem\"],\n },\n \"CONTROLLED.CLOSE\": [\n {\n actions: [\"focusTriggerEl\", \"clearHighlightedItem\"],\n guard: \"restoreFocus\",\n target: \"focused\",\n },\n {\n actions: [\"clearHighlightedItem\"],\n target: \"idle\",\n },\n ],\n \"ITEM.CLICK\": [\n {\n actions: [\"selectHighlightedItem\", \"invokeOnClose\"],\n guard: and(\"closeOnSelect\", \"isOpenControlled\"),\n },\n {\n actions: [\n \"selectHighlightedItem\",\n \"invokeOnClose\",\n \"focusTriggerEl\",\n \"clearHighlightedItem\",\n ],\n guard: \"closeOnSelect\",\n target: \"focused\",\n },\n {\n actions: [\"selectHighlightedItem\"],\n },\n ],\n \"ITEM.POINTER_LEAVE\": {\n actions: [\"clearHighlightedItem\"],\n },\n \"ITEM.POINTER_MOVE\": {\n actions: [\"highlightItem\"],\n },\n \"POSITIONING.SET\": {\n actions: [\"reposition\"],\n },\n \"TRIGGER.CLICK\": [\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\", \"clearHighlightedItem\"],\n target: \"focused\",\n },\n ],\n \"TRIGGER.TAB\": [\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\n \"invokeOnClose\",\n \"clearHighlightedItem\",\n \"focusTriggerEl\",\n ],\n target: \"focused\",\n },\n ],\n },\n tags: [\"open\"],\n },\n },\n\n watch({action, context, prop, track}) {\n track([() => context.get(\"value\")?.toString()], () => {\n action([\n \"syncSelectedItems\",\n \"syncSelectElement\",\n \"dispatchChangeEvent\",\n ])\n })\n track([() => prop(\"open\")], () => {\n action([\"toggleVisibility\"])\n })\n track([() => context.get(\"highlightedValue\")], () => {\n action([\"syncHighlightedItem\"])\n })\n track([() => prop(\"collection\").toString()], () => {\n action([\"syncCollection\"])\n })\n },\n })\n\nfunction restoreFocusFn(event: Record<string, any>) {\n const v = event.restoreFocus ?? event.previousEvent?.restoreFocus\n return v == null || !!v\n}\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {createProps, createSplitProps} from \"@qualcomm-ui/utils/object\"\n\nimport type {SelectApiProps} from \"./select.types\"\n\nconst selectProps: (keyof SelectApiProps)[] = createProps<SelectApiProps>()(\n \"closeOnSelect\",\n \"collection\",\n \"defaultHighlightedValue\",\n \"defaultOpen\",\n \"defaultValue\",\n \"deselectable\",\n \"dir\",\n \"disabled\",\n \"form\",\n \"getRootNode\",\n \"highlightedValue\",\n \"id\",\n \"ids\",\n \"invalid\",\n \"loopFocus\",\n \"multiple\",\n \"name\",\n \"onFocusOutside\",\n \"onHighlightChange\",\n \"onInteractOutside\",\n \"onOpenChange\",\n \"onPointerDownOutside\",\n \"onSelect\",\n \"onValueChange\",\n \"open\",\n \"placeholder\",\n \"positioning\",\n \"readOnly\",\n \"required\",\n \"scrollToIndexFn\",\n \"value\",\n)\n\nexport const splitSelectProps: <Props extends SelectApiProps>(\n props: Props,\n) => [SelectApiProps, Omit<Props, keyof SelectApiProps>] =\n createSplitProps<SelectApiProps>(selectProps)\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["select_exports", "__export", "createSelectApi", "emptyCollection", "selectCollection", "selectMachine", "splitSelectProps", "__toCommonJS", "import_floating_ui", "import_focus_visible", "import_query", "import_attributes", "import_guard", "domIds", "scope", "id", "domEls", "createSelectApi", "machine", "normalize", "computed", "context", "prop", "refs", "scope", "send", "state", "disabled", "invalid", "readOnly", "collection", "open", "focused", "highlightedValue", "highlightedItem", "selectedItems", "currentPlacement", "isTypingAhead", "interactive", "ariaActiveDescendant", "domIds", "getItemState", "props", "_disabled", "value", "popperStyles", "domEls", "options", "nextOpen", "fn", "event", "keyMap", "exec", "target", "defaultValue", "id", "htmlFor", "import_collection", "selectCollection", "options", "emptyCollection", "import_dismissable", "import_floating_ui", "import_focus_visible", "import_query", "import_array", "import_equal", "import_guard", "import_machine", "import_memo", "and", "not", "or", "isSingleValue", "value", "selectMachine", "context", "event", "prev", "v", "scope", "node", "domEls", "win", "changeEvent", "restoreFocusFn", "computed", "prop", "collection", "refs", "highlightedValue", "data", "scrollToIndexFn", "nextValue", "firstItem", "highlightedItem", "selectedItems", "valueAsString", "prevSelectedItems", "item", "selectEl", "option", "send", "bindable", "items", "positioning", "exec", "immediate", "optionEl", "contentEl", "highlightedIndex", "restoreFocus", "disabled", "guard", "bindableId", "ids", "props", "emptyCollection", "action", "track", "import_object", "selectProps", "splitSelectProps"]
|
|
7
7
|
}
|