@qualcomm-ui/core 1.0.1 → 1.0.3
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/README.md +1 -1
- package/dist/collapsible/index.cjs +1 -1
- package/dist/collapsible/index.cjs.map +2 -2
- package/dist/collapsible/index.js +1 -1
- package/dist/collapsible/index.js.map +2 -2
- package/dist/combobox/combobox.api.d.ts.map +1 -1
- package/dist/combobox/combobox.types.d.ts +1 -0
- package/dist/combobox/combobox.types.d.ts.map +1 -1
- package/dist/combobox/index.cjs +1 -1
- package/dist/combobox/index.cjs.map +2 -2
- package/dist/combobox/index.js +1 -1
- package/dist/combobox/index.js.map +2 -2
- package/dist/dialog/index.cjs +1 -1
- package/dist/dialog/index.cjs.map +2 -2
- package/dist/dialog/index.js +1 -1
- package/dist/dialog/index.js.map +2 -2
- package/dist/presence/index.cjs +1 -1
- package/dist/presence/index.cjs.map +2 -2
- package/dist/presence/index.js +1 -1
- package/dist/presence/index.js.map +2 -2
- package/dist/presence/presence.machine.d.ts.map +1 -1
- package/dist/tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/combobox/combobox.api.ts", "../../src/combobox/internal/combobox.dom.ts", "../../src/combobox/combobox.collection.ts", "../../src/combobox/combobox.machine.ts", "../../src/combobox/combobox.props.ts"],
|
|
4
|
-
"sourcesContent": ["// 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 {getPlacementStyles} from \"@qualcomm-ui/dom/floating-ui\"\nimport {isFocusVisible} from \"@qualcomm-ui/dom/focus-visible\"\nimport {\n getEventKey,\n isComposingEvent,\n isContextMenuEvent,\n isDownloadingEvent,\n isLeftClick,\n isOpeningInNewTab,\n} from \"@qualcomm-ui/dom/query\"\nimport {booleanAriaAttr, booleanDataAttr} from \"@qualcomm-ui/utils/attributes\"\nimport type {CollectionItem} from \"@qualcomm-ui/utils/collection\"\nimport type {DirectionProperty} from \"@qualcomm-ui/utils/direction\"\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 type {\n ComboboxApi,\n ComboboxApiItemProps,\n ComboboxClearTriggerBindings,\n ComboboxControlBindings,\n ComboboxEmptyBindings,\n ComboboxErrorIndicatorBindings,\n ComboboxErrorTextBindings,\n ComboboxHintBindings,\n ComboboxItemBindings,\n ComboboxItemContext,\n ComboboxItemGroupBindings,\n ComboboxItemGroupLabelBindings,\n ComboboxItemIndicatorBindings,\n ComboboxItemTextBindings,\n ComboboxLabelBindings,\n ComboboxPositionerBindings,\n ComboboxRootBindings,\n ComboboxSchema,\n ComboboxTriggerBindings,\n} from \"./combobox.types\"\nimport {\n domEls,\n domIds,\n getItemGroupId,\n getItemGroupLabelId,\n getItemId,\n} from \"./internal\"\n\nexport function createComboboxApi(\n machine: Machine<ComboboxSchema>,\n normalize: PropNormalizer,\n): ComboboxApi {\n const {computed, context, event, prop, refs, scope, send, state} = machine\n\n const translations = prop(\"translations\")\n const collection = prop(\"collection\")\n\n const disabled = !!prop(\"disabled\")\n const interactive = computed(\"isInteractive\")\n const invalid = !!prop(\"invalid\")\n const required = !!prop(\"required\")\n const readOnly = !!prop(\"readOnly\")\n\n const open = state.hasTag(\"open\")\n const focused = state.hasTag(\"focused\")\n const composite = prop(\"composite\")\n const highlightedValue = context.get(\"highlightedValue\")\n\n const popperStyles = getPlacementStyles({\n ...prop(\"positioning\"),\n placement: context.get(\"currentPlacement\"),\n })\n\n function getItemState(\n props: ComboboxApiItemProps<CollectionItem>,\n ): ComboboxItemContext {\n const itemDisabled = 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 ...props,\n disabled: disabled || itemDisabled,\n highlighted: highlightedValue === value,\n selected: context.get(\"value\").includes(value),\n value,\n }\n }\n\n const commonBindings: {\"data-scope\": \"combobox\"} & DirectionProperty = {\n \"data-scope\": \"combobox\",\n dir: prop(\"dir\"),\n }\n\n return {\n clearHighlightValue() {\n send({type: \"HIGHLIGHTED_VALUE.CLEAR\"})\n },\n clearValue(value) {\n if (value != null) {\n send({type: \"ITEM.CLEAR\", value})\n } else {\n send({type: \"VALUE.CLEAR\"})\n }\n },\n collection: prop(\"collection\"),\n disabled: !!disabled,\n focus() {\n domEls.input(scope)?.focus()\n },\n focused,\n hasSelectedItems: computed(\"hasSelectedItems\"),\n highlightedItem: context.get(\"highlightedItem\"),\n highlightedValue,\n inputValue: context.get(\"inputValue\"),\n multiple: !!prop(\"multiple\"),\n open,\n reposition(options = {}) {\n send({options, type: \"POSITIONING.SET\"})\n },\n required: prop(\"required\"),\n selectedItems: context.get(\"selectedItems\"),\n selectValue(value) {\n send({type: \"ITEM.SELECT\", value})\n },\n setHighlightValue(value) {\n send({type: \"HIGHLIGHTED_VALUE.SET\", value})\n },\n setInputValue(value, reason = \"script\") {\n send({src: reason, type: \"INPUT_VALUE.SET\", value})\n },\n setOpen(nextOpen, reason = \"script\") {\n const open = state.hasTag(\"open\")\n if (open === nextOpen) {\n return\n }\n send({src: reason, type: nextOpen ? \"OPEN\" : \"CLOSE\"})\n },\n setScrollToIndexFn(fn) {\n refs.set(\"scrollToIndexFn\", fn)\n },\n setValue(value) {\n send({type: \"VALUE.SET\", value})\n },\n syncSelectedItems() {\n send({type: \"SELECTED_ITEMS.SYNC\"})\n },\n value: context.get(\"value\"),\n valueAsString: computed(\"valueAsString\"),\n\n // group: bindings\n getClearTriggerBindings(props): ComboboxClearTriggerBindings {\n scope.ids.register(\"clearTrigger\", props)\n return normalize.button({\n ...commonBindings,\n \"aria-controls\": domIds.input(scope),\n \"aria-label\": translations.clearTriggerLabel,\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"clear-trigger\",\n\n disabled,\n hidden: !context.get(\"value\").length,\n id: props.id,\n onClick(event) {\n if (event.defaultPrevented) {\n return\n }\n if (!interactive) {\n return\n }\n send({src: \"clear-trigger\", type: \"VALUE.CLEAR\"})\n },\n onPointerDown(event) {\n if (!isLeftClick(event)) {\n return\n }\n event.preventDefault()\n },\n tabIndex: -1,\n type: \"button\",\n })\n },\n\n getContentBindings(props) {\n scope.ids.register(\"content\", props)\n return normalize.element({\n ...commonBindings,\n \"aria-labelledby\": domIds.label(scope),\n \"aria-multiselectable\":\n prop(\"multiple\") && composite ? \"true\" : undefined,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-empty\": booleanDataAttr(collection.size === 0),\n \"data-focus-visible\": booleanDataAttr(isFocusVisible()),\n \"data-part\": \"content\",\n \"data-placement\": context.get(\"currentPlacement\"),\n \"data-state\": open ? \"open\" : \"closed\",\n hidden: !open,\n id: props.id,\n onPointerDown(event) {\n if (!isLeftClick(event)) {\n return\n }\n // prevent options or elements within listbox from taking focus\n event.preventDefault()\n },\n role: !composite ? \"dialog\" : \"listbox\",\n tabIndex: -1,\n })\n },\n\n getControlBindings(props): ComboboxControlBindings {\n scope.ids.register(\"control\", props)\n return normalize.element({\n ...commonBindings,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"control\",\n \"data-state\": open ? \"open\" : \"closed\",\n id: props.id,\n })\n },\n\n getEmptyBindings(): ComboboxEmptyBindings {\n return normalize.element({\n ...commonBindings,\n \"data-part\": \"empty\",\n hidden: collection.size > 0,\n role: \"presentation\",\n })\n },\n\n getErrorIndicatorBindings(): ComboboxErrorIndicatorBindings {\n return normalize.element({\n ...commonBindings,\n \"aria-label\": \"Error\",\n \"data-part\": \"error-indicator\",\n hidden: !prop(\"invalid\"),\n })\n },\n\n getErrorTextBindings(\n props: IdRegistrationProps,\n ): ComboboxErrorTextBindings {\n scope.ids.register(\"errorText\", props)\n return normalize.element({\n ...commonBindings,\n \"aria-live\": \"polite\",\n \"data-part\": \"error-text\",\n hidden: !prop(\"invalid\"),\n id: props.id,\n })\n },\n\n getHintBindings(props: IdRegistrationProps): ComboboxHintBindings {\n scope.ids.register(\"hint\", props)\n return normalize.element({\n ...commonBindings,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-part\": \"hint\",\n id: props.id,\n })\n },\n\n getInputBindings(props) {\n scope.ids.register(\"input\", props)\n return normalize.input({\n ...commonBindings,\n \"aria-activedescendant\": highlightedValue\n ? getItemId(scope, highlightedValue)\n : undefined,\n \"aria-autocomplete\": computed(\"autoComplete\") ? \"both\" : \"list\",\n \"aria-controls\": domIds.content(scope),\n \"aria-expanded\": booleanAriaAttr(open),\n \"aria-invalid\": booleanAriaAttr(invalid),\n autoCapitalize: \"none\",\n autoComplete: \"off\",\n autoCorrect: \"off\",\n \"data-autofocus\": booleanDataAttr(prop(\"autoFocus\")),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"input\",\n \"data-state\": open ? \"open\" : \"closed\",\n defaultValue: context.get(\"inputValue\"),\n disabled,\n form: prop(\"form\"),\n id: props.id,\n name: prop(\"name\"),\n onBlur() {\n if (disabled) {\n return\n }\n send({type: \"INPUT.BLUR\"})\n },\n onChange(event) {\n send({\n src: \"input-change\",\n type: \"INPUT.CHANGE\",\n value: event.currentTarget.value,\n })\n },\n onClick(event) {\n if (event.defaultPrevented) {\n return\n }\n if (!prop(\"openOnClick\")) {\n return\n }\n if (!interactive) {\n return\n }\n send({src: \"input-click\", type: \"INPUT.CLICK\"})\n },\n onFocus() {\n if (disabled) {\n return\n }\n send({type: \"INPUT.FOCUS\"})\n },\n onKeyDown(event) {\n if (event.defaultPrevented || !interactive) {\n return\n }\n if (event.ctrlKey || event.shiftKey || isComposingEvent(event)) {\n return\n }\n\n const openOnKeyPress = prop(\"openOnKeyPress\")\n const isModifierKey = event.ctrlKey || event.metaKey || event.shiftKey\n const keypress = true\n\n const keymap: EventKeyMap = {\n ArrowDown(event) {\n if (!openOnKeyPress && !open) {\n return\n }\n send({\n keypress,\n src: \"arrow-key\",\n type: event.altKey ? \"OPEN\" : \"INPUT.ARROW_DOWN\",\n })\n event.preventDefault()\n },\n ArrowUp() {\n if (!openOnKeyPress && !open) {\n return\n }\n send({\n keypress,\n src: \"arrow-key\",\n type: event.altKey ? \"CLOSE\" : \"INPUT.ARROW_UP\",\n })\n event.preventDefault()\n },\n End(event) {\n if (isModifierKey) {\n return\n }\n send({keypress, type: \"INPUT.END\"})\n if (open) {\n event.preventDefault()\n }\n },\n Enter(event) {\n send({keypress, src: \"item-select\", type: \"INPUT.ENTER\"})\n\n // when there's a form owner, allow submitting custom value if\n // `allowCustomValue` is true\n const submittable =\n computed(\"isCustomValue\") && prop(\"allowCustomValue\")\n // Also allow submission when there's no highlighted item (bug fix)\n const hasHighlight = highlightedValue != null\n // Allow submission when alwaysSubmitOnEnter is true\n const alwaysSubmit = prop(\"alwaysSubmitOnEnter\")\n\n if (open && !submittable && !alwaysSubmit && hasHighlight) {\n event.preventDefault()\n }\n },\n Escape() {\n send({keypress, src: \"escape-key\", type: \"INPUT.ESCAPE\"})\n event.preventDefault()\n },\n Home(event) {\n if (isModifierKey) {\n return\n }\n send({keypress, type: \"INPUT.HOME\"})\n if (open) {\n event.preventDefault()\n }\n },\n }\n\n const key = getEventKey(event, {dir: prop(\"dir\")})\n const exec = keymap[key]\n exec?.(event)\n },\n placeholder: prop(\"placeholder\"),\n readOnly,\n required: prop(\"required\"),\n role: \"combobox\",\n spellCheck: \"false\",\n type: \"text\",\n })\n },\n\n getItemBindings(itemState): ComboboxItemBindings {\n const value = itemState.value\n\n return normalize.element({\n ...commonBindings,\n \"aria-disabled\": booleanAriaAttr(itemState.disabled),\n \"aria-selected\": booleanAriaAttr(itemState.highlighted),\n \"data-disabled\": booleanDataAttr(itemState.disabled),\n \"data-highlighted\": booleanDataAttr(itemState.highlighted),\n \"data-part\": \"item\",\n \"data-state\": itemState.selected ? \"checked\" : \"unchecked\",\n \"data-value\": itemState.value,\n id: getItemId(scope, value),\n onClick(event) {\n if (isDownloadingEvent(event)) {\n return\n }\n if (isOpeningInNewTab(event)) {\n return\n }\n if (isContextMenuEvent(event)) {\n return\n }\n if (itemState.disabled) {\n return\n }\n send({src: \"item-select\", type: \"ITEM.CLICK\", value})\n },\n onPointerLeave() {\n if (itemState.persistFocus) {\n return\n }\n if (itemState.disabled) {\n return\n }\n const prev = event.previous()\n const mouseMoved = prev?.type.includes(\"POINTER\")\n if (!mouseMoved) {\n return\n }\n send({type: \"ITEM.POINTER_LEAVE\", value})\n },\n onPointerMove() {\n if (itemState.disabled) {\n return\n }\n if (itemState.highlighted) {\n return\n }\n send({type: \"ITEM.POINTER_MOVE\", value})\n },\n role: \"option\",\n tabIndex: -1,\n })\n },\n\n getItemGroupBindings(props): ComboboxItemGroupBindings {\n const {id} = props\n return normalize.element({\n ...commonBindings,\n \"aria-labelledby\": getItemGroupLabelId(scope, id),\n \"data-empty\": booleanDataAttr(collection.size === 0),\n \"data-part\": \"item-group\",\n id: getItemGroupId(scope, id),\n role: \"group\",\n })\n },\n\n getItemGroupLabelBindings(props): ComboboxItemGroupLabelBindings {\n return normalize.element({\n ...commonBindings,\n \"data-part\": \"item-group-label\",\n id: getItemGroupLabelId(scope, props.htmlFor),\n role: \"presentation\",\n })\n },\n\n getItemIndicatorBindings(itemState): ComboboxItemIndicatorBindings {\n return normalize.element({\n ...commonBindings,\n \"aria-hidden\": true,\n \"data-part\": \"item-indicator\",\n \"data-state\": itemState.selected ? \"checked\" : \"unchecked\",\n hidden: !itemState.selected,\n })\n },\n\n getItemState,\n\n getItemTextBindings(itemState): ComboboxItemTextBindings {\n return normalize.element({\n ...commonBindings,\n \"data-disabled\": booleanDataAttr(itemState.disabled),\n \"data-highlighted\": booleanDataAttr(itemState.highlighted),\n \"data-part\": \"item-text\",\n \"data-state\": itemState.selected ? \"checked\" : \"unchecked\",\n })\n },\n\n getLabelBindings(props): ComboboxLabelBindings {\n scope.ids.register(\"label\", props)\n return normalize.label({\n ...commonBindings,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"label\",\n \"data-readonly\": booleanDataAttr(readOnly),\n \"data-required\": booleanDataAttr(required),\n htmlFor: domIds.input(scope),\n id: props.id,\n onClick(event) {\n if (composite) {\n return\n }\n event.preventDefault()\n domEls.trigger(scope)?.focus({preventScroll: true})\n },\n })\n },\n\n getPositionerBindings(props): ComboboxPositionerBindings {\n scope.ids.register(\"positioner\", props)\n return normalize.element({\n ...commonBindings,\n \"data-part\": \"positioner\",\n id: props.id,\n style: popperStyles.floating,\n })\n },\n\n getRootBindings(props): ComboboxRootBindings {\n scope.ids.register(\"root\", props)\n return normalize.element({\n ...commonBindings,\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"root\",\n \"data-readonly\": booleanDataAttr(readOnly),\n id: props.id,\n })\n },\n\n getTriggerBindings(props): ComboboxTriggerBindings {\n scope.ids.register(\"trigger\", props)\n return normalize.button({\n ...commonBindings,\n \"aria-controls\": open ? domIds.content(scope) : undefined,\n \"aria-expanded\": booleanAriaAttr(open),\n \"aria-haspopup\": composite ? \"listbox\" : \"dialog\",\n \"aria-label\": translations.triggerLabel,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-focusable\": booleanDataAttr(props.focusable),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"trigger\",\n \"data-readonly\": booleanDataAttr(readOnly),\n \"data-state\": open ? \"open\" : \"closed\",\n disabled,\n id: props.id,\n onClick(event) {\n if (event.defaultPrevented) {\n return\n }\n if (!interactive) {\n return\n }\n if (!isLeftClick(event)) {\n return\n }\n send({src: \"trigger-click\", type: \"TRIGGER.CLICK\"})\n },\n onFocus() {\n if (!props.focusable) {\n return\n }\n send({src: \"trigger\", type: \"INPUT.FOCUS\"})\n },\n onKeyDown(event) {\n if (event.defaultPrevented) {\n return\n }\n if (composite) {\n return\n }\n\n const keyMap: EventKeyMap = {\n ArrowDown() {\n send({src: \"arrow-key\", type: \"INPUT.ARROW_DOWN\"})\n },\n ArrowUp() {\n send({src: \"arrow-key\", type: \"INPUT.ARROW_UP\"})\n },\n }\n\n const key = getEventKey(event, {dir: prop(\"dir\")})\n const exec = keyMap[key]\n\n if (exec) {\n exec(event as any)\n event.preventDefault()\n }\n },\n onPointerDown(event) {\n if (!interactive) {\n return\n }\n if (event.pointerType === \"touch\") {\n return\n }\n if (!isLeftClick(event)) {\n return\n }\n event.preventDefault()\n queueMicrotask(() => {\n domEls.input(scope)?.focus({preventScroll: true})\n })\n },\n tabIndex: props.focusable ? undefined : -1,\n type: \"button\",\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 {query} from \"@qualcomm-ui/dom/query\"\nimport type {ScopeDomElements, ScopeDomIds} from \"@qualcomm-ui/utils/machine\"\n\nimport type {ComboboxElementIds, ComboboxScope} from \"../combobox.types\"\n\nexport const domIds: ScopeDomIds<\n Omit<ComboboxElementIds, \"itemGroupLabel\">,\n ComboboxScope\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 hint: (scope) => scope.ids.get(\"hint\"),\n input: (scope) => scope.ids.get(\"input\"),\n label: (scope) => scope.ids.get(\"label\"),\n positioner: (scope) => scope.ids.get(\"positioner\"),\n root: (scope) => scope.ids.get(\"root\"),\n trigger: (scope) => scope.ids.get(\"trigger\"),\n}\n\nexport const domEls: ScopeDomElements<\n Omit<ComboboxElementIds, \"itemGroup\" | \"itemGroupLabel\" | \"input\">,\n ComboboxScope\n> & {\n input: (scope: ComboboxScope) => HTMLInputElement | 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 hint: (scope) => scope.getById(domIds.hint(scope)),\n input: (scope) => scope.getById(domIds.input(scope)),\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 trigger: (scope) => scope.getById(domIds.trigger(scope)),\n}\n\nexport function getItemGroupId(scope: ComboboxScope, id: string) {\n return `${scope.ids.get(\"root\")}-item-group-${id}`\n}\n\nexport function getItemId(ctx: ComboboxScope, id: string) {\n return `${domIds.root(ctx)}-item-${id}`\n}\n\nexport function getItemGroupLabelId(ctx: ComboboxScope, id: string) {\n return `${domIds.root(ctx)}-item-group-label-${id}`\n}\n\nexport function getItemEl(\n ctx: ComboboxScope,\n value: string | null,\n): HTMLElement | null {\n if (value == null) {\n return null\n }\n const selector = `[role=option][data-value=\"${CSS.escape(value)}\"]`\n return query(domEls.content(ctx), selector)\n}\n\nexport function focusInputEl(ctx: ComboboxScope): void {\n const inputEl = domEls.input(ctx)\n if (ctx.isActiveElement(inputEl)) {\n return\n }\n inputEl?.focus({preventScroll: true})\n}\n\nexport function focusTriggerEl(ctx: ComboboxScope): void {\n const triggerEl = domEls.trigger(ctx)\n if (ctx.isActiveElement(triggerEl)) {\n return\n }\n triggerEl?.focus({preventScroll: true})\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 comboboxCollection = <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 {ariaHidden} from \"@qualcomm-ui/dom/aria-hidden\"\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 nextTick,\n observeAttributes,\n raf,\n scrollIntoView,\n setCaretToEnd,\n} from \"@qualcomm-ui/dom/query\"\nimport {addOrRemove, remove} from \"@qualcomm-ui/utils/array\"\nimport {isEqual} from \"@qualcomm-ui/utils/equal\"\nimport {match} from \"@qualcomm-ui/utils/functions\"\nimport {isBoolean} from \"@qualcomm-ui/utils/guard\"\nimport {\n createChoose,\n createGuards,\n createMachine,\n type GuardFn,\n type MachineConfig,\n} from \"@qualcomm-ui/utils/machine\"\n\nimport {emptyCollection} from \"./combobox.collection\"\nimport type {ComboboxOpenChangeReason, ComboboxSchema} from \"./combobox.types\"\nimport {domEls, focusInputEl, focusTriggerEl, getItemEl} from \"./internal\"\n\nconst {and, not} = createGuards<ComboboxSchema>()\n\nexport const comboboxMachine: MachineConfig<ComboboxSchema> =\n createMachine<ComboboxSchema>({\n actions: {\n autofillInputValue({computed, context, event, prop, scope}) {\n const inputEl = domEls.input(scope)\n const collection = prop(\"collection\")\n if (!computed(\"autoComplete\") || !inputEl || !event.keypress) {\n return\n }\n const valueText = collection.stringify(context.get(\"highlightedValue\"))\n raf(() => {\n inputEl.value = valueText || context.get(\"inputValue\")\n })\n },\n clearHighlightedValue({context}) {\n context.set(\"highlightedValue\", null)\n },\n clearInputValue({context}) {\n context.set(\"inputValue\", \"\")\n },\n clearItem(params) {\n const {context, event, flush, prop} = params\n if (event.value == null) {\n return\n }\n flush(() => {\n const nextValue = remove(context.get(\"value\"), event.value)\n context.set(\"value\", nextValue)\n\n // set input value\n const inputValue = match(prop(\"selectionBehavior\"), {\n clear: \"\",\n preserve: context.get(\"inputValue\"),\n replace: prop(\"collection\").stringifyMany(nextValue),\n })\n context.set(\"inputValue\", inputValue)\n })\n },\n clearSelectedItems(params) {\n const {context, flush, prop} = params\n flush(() => {\n context.set(\"value\", [])\n\n // set input value\n const inputValue = match(prop(\"selectionBehavior\"), {\n clear: \"\",\n preserve: context.get(\"inputValue\"),\n replace: prop(\"collection\").stringifyMany([]),\n })\n context.set(\"inputValue\", inputValue)\n })\n },\n highlightFirstItem({context, prop, scope}) {\n const exec = domEls.content(scope) ? queueMicrotask : raf\n exec(() => {\n const value = prop(\"collection\").firstValue\n if (value) {\n context.set(\"highlightedValue\", value)\n }\n })\n },\n highlightFirstItemIfNeeded({action, computed}) {\n if (!computed(\"autoHighlight\")) {\n return\n }\n action([\"highlightFirstItem\"])\n },\n highlightFirstOrSelectedItem({computed, context, prop}) {\n raf(() => {\n let value: string | null = null\n if (computed(\"hasSelectedItems\")) {\n value = prop(\"collection\").sort(context.get(\"value\"))[0]\n } else {\n value = prop(\"collection\").firstValue\n }\n if (value) {\n context.set(\"highlightedValue\", value)\n }\n })\n },\n highlightFirstSelectedItem({context, prop}) {\n raf(() => {\n const [value] = prop(\"collection\").sort(context.get(\"value\"))\n if (value) {\n context.set(\"highlightedValue\", value)\n }\n })\n },\n highlightLastItem({context, prop, scope}) {\n const exec = domEls.content(scope) ? queueMicrotask : raf\n exec(() => {\n const value = prop(\"collection\").lastValue\n if (value) {\n context.set(\"highlightedValue\", value)\n }\n })\n },\n highlightLastOrSelectedItem({computed, context, prop}) {\n raf(() => {\n const collection = prop(\"collection\")\n let value: string | null = null\n if (computed(\"hasSelectedItems\")) {\n value = collection.sort(context.get(\"value\"))[0]\n } else {\n value = collection.lastValue\n }\n if (value) {\n context.set(\"highlightedValue\", value)\n }\n })\n },\n highlightNextItem({context, prop}) {\n let value: string | null = null\n const highlightedValue = context.get(\"highlightedValue\")\n const collection = prop(\"collection\")\n if (highlightedValue) {\n value = collection.getNextValue(highlightedValue)\n if (!value && prop(\"loopFocus\")) {\n value = collection.firstValue\n }\n } else {\n value = collection.firstValue\n }\n if (value) {\n context.set(\"highlightedValue\", value)\n }\n },\n highlightPrevItem({context, prop}) {\n let value: string | null = null\n const highlightedValue = context.get(\"highlightedValue\")\n const collection = prop(\"collection\")\n if (highlightedValue) {\n value = collection.getPreviousValue(highlightedValue)\n if (!value && prop(\"loopFocus\")) {\n value = collection.lastValue\n }\n } else {\n value = collection.lastValue\n }\n if (value) {\n context.set(\"highlightedValue\", value)\n }\n },\n invokeOnClose({event, prop}) {\n const reason = getOpenChangeReason(event)\n prop(\"onOpenChange\")?.({open: false, reason})\n },\n invokeOnOpen({event, prop}) {\n const reason = getOpenChangeReason(event)\n prop(\"onOpenChange\")?.({open: true, reason})\n },\n reposition({context, event, prop, scope}) {\n const controlEl = () => domEls.control(scope)\n const positionerEl = () => domEls.positioner(scope)\n getPlacement(controlEl, positionerEl, {\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 revertInputValue({computed, context, prop}) {\n const selectionBehavior = prop(\"selectionBehavior\")\n // Without this, all items briefly render as the text input filter is\n // removed. This creates a noticeable jump as the content expands briefly\n // before it closes.\n raf(() => {\n const inputValue = match(selectionBehavior, {\n clear: \"\",\n preserve: context.get(\"inputValue\"),\n replace: computed(\"hasSelectedItems\")\n ? computed(\"valueAsString\")\n : \"\",\n })\n context.set(\"inputValue\", inputValue)\n })\n },\n scrollContentToTop({prop, refs, scope}) {\n const scrollToIndexFn = refs.get(\"scrollToIndexFn\")\n if (scrollToIndexFn) {\n const firstValue = prop(\"collection\").firstValue\n scrollToIndexFn({\n getElement: () => getItemEl(scope, firstValue),\n immediate: true,\n index: 0,\n })\n } else {\n const contentEl = domEls.content(scope)\n if (!contentEl) {\n return\n }\n contentEl.scrollTop = 0\n }\n },\n scrollToHighlightedItem({context, prop, refs, scope}) {\n nextTick(() => {\n const highlightedValue = context.get(\"highlightedValue\")\n if (highlightedValue == null) {\n return\n }\n\n const itemEl = getItemEl(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({\n getElement: () => getItemEl(scope, highlightedValue),\n immediate: true,\n index: highlightedIndex,\n })\n return\n }\n\n scrollIntoView(itemEl, {block: \"nearest\", rootEl: contentEl})\n })\n },\n selectHighlightedItem(params) {\n const {context, prop} = params\n const collection = prop(\"collection\")\n\n // check if item is valid\n const highlightedValue = context.get(\"highlightedValue\")\n if (!highlightedValue || !collection.has(highlightedValue)) {\n return\n }\n\n // select item\n const nextValue = prop(\"multiple\")\n ? addOrRemove(context.get(\"value\"), highlightedValue)\n : [highlightedValue]\n prop(\"onSelect\")?.({itemValue: highlightedValue, value: nextValue})\n context.set(\"value\", nextValue)\n\n // set input value\n const inputValue = match(prop(\"selectionBehavior\"), {\n clear: \"\",\n preserve: context.get(\"inputValue\"),\n replace: collection.stringifyMany(nextValue),\n })\n context.set(\"inputValue\", inputValue)\n },\n selectItem(params) {\n const {context, event, flush, prop} = params\n if (event.value == null) {\n return\n }\n flush(() => {\n const nextValue = prop(\"multiple\")\n ? addOrRemove(context.get(\"value\"), event.value)\n : [event.value]\n prop(\"onSelect\")?.({itemValue: event.value, value: nextValue})\n context.set(\"value\", nextValue)\n\n // set input value\n const inputValue = match(prop(\"selectionBehavior\"), {\n clear: \"\",\n preserve: context.get(\"inputValue\"),\n replace: prop(\"collection\").stringifyMany(nextValue),\n })\n context.set(\"inputValue\", inputValue)\n })\n },\n setFinalFocus({scope}) {\n raf(() => {\n const triggerEl = domEls.trigger(scope)\n if (triggerEl?.dataset.focusable == null) {\n focusInputEl(scope)\n } else {\n focusTriggerEl(scope)\n }\n })\n },\n setHighlightedValue({context, event}) {\n if (event.value == null) {\n return\n }\n context.set(\"highlightedValue\", event.value)\n },\n setInitialFocus({scope}) {\n raf(() => {\n focusInputEl(scope)\n })\n },\n setInputValue({context, event}) {\n context.set(\"inputValue\", event.value)\n },\n setValue(params) {\n const {context, event, flush, prop} = params\n flush(() => {\n context.set(\"value\", event.value)\n\n // set input value\n const inputValue = match(prop(\"selectionBehavior\"), {\n clear: \"\",\n preserve: context.get(\"inputValue\"),\n replace: prop(\"collection\").stringifyMany(event.value),\n })\n context.set(\"inputValue\", inputValue)\n })\n },\n syncHighlightedItem({context, prop}) {\n const item = prop(\"collection\").find(context.get(\"highlightedValue\"))\n context.set(\"highlightedItem\", item, {})\n },\n syncInputFocus({scope, state}) {\n const input = domEls.input(scope)\n if (!input) {\n return\n }\n if (\n input.ownerDocument.activeElement === input &&\n state.get() !== \"focused\"\n ) {\n state.set(\"focused\")\n }\n },\n syncInputValue({context, event, scope}) {\n const inputEl = domEls.input(scope)\n\n if (!inputEl) {\n return\n }\n inputEl.value = context.get(\"inputValue\")\n\n queueMicrotask(() => {\n if (event.current().type === \"INPUT.CHANGE\") {\n return\n }\n setCaretToEnd(inputEl)\n })\n },\n syncSelectedItems(params) {\n queueMicrotask(() => {\n const {context, prop} = params\n const collection = prop(\"collection\")\n const value = context.get(\"value\")\n\n // set selected items (based on value)\n const selectedItems = value.map((v) => {\n const item = context\n .get(\"selectedItems\")\n .find((item) => collection.getItemValue(item) === v)\n return item || collection.find(v)\n })\n context.set(\"selectedItems\", selectedItems)\n\n // set input value\n const inputValue = match(prop(\"selectionBehavior\"), {\n clear: \"\",\n preserve: context.get(\"inputValue\"),\n replace: collection.stringifyMany(value),\n })\n context.set(\"inputValue\", inputValue)\n })\n },\n toggleVisibility({event, prop, send}) {\n send({\n previousEvent: event,\n type: prop(\"open\") ? \"CONTROLLED.OPEN\" : \"CONTROLLED.CLOSE\",\n })\n },\n },\n\n computed: {\n autoComplete: ({prop}) => prop(\"inputBehavior\") === \"autocomplete\",\n autoHighlight: ({prop}) => prop(\"inputBehavior\") === \"autohighlight\",\n hasSelectedItems: ({context}) => context.get(\"value\").length > 0,\n isCustomValue: ({computed, context}) =>\n context.get(\"inputValue\") !== computed(\"valueAsString\"),\n isInputValueEmpty: ({context}) => context.get(\"inputValue\").length === 0,\n isInteractive: ({prop}) => !(prop(\"readOnly\") || prop(\"disabled\")),\n valueAsString: ({context, prop}) =>\n prop(\"collection\").stringifyItems(context.get(\"selectedItems\")),\n },\n\n context({bindable, getContext, getEvent, prop}) {\n return {\n currentPlacement: bindable<Placement | undefined>(() => ({\n defaultValue: undefined,\n })),\n highlightedItem: bindable<string | null>(() => {\n const highlightedValue = prop(\"highlightedValue\")\n const highlightedItem = prop(\"collection\").find(highlightedValue)\n return {defaultValue: highlightedItem}\n }),\n highlightedValue: bindable<string | null>(() => ({\n defaultValue: prop(\"defaultHighlightedValue\") || null,\n onChange(value) {\n const item = prop(\"collection\").find(value)\n prop(\"onHighlightChange\")?.({\n highlightedItem: item,\n highlightedValue: value,\n })\n },\n value: prop(\"highlightedValue\"),\n })),\n inputValue: bindable<string>(() => {\n let inputValue = prop(\"inputValue\") || prop(\"defaultInputValue\") || \"\"\n const value = prop(\"value\") || prop(\"defaultValue\") || []\n\n if (!inputValue.trim() && !prop(\"multiple\")) {\n const valueAsString = prop(\"collection\").stringifyMany(value)\n inputValue = match(prop(\"selectionBehavior\"), {\n clear: \"\",\n preserve: inputValue || valueAsString,\n replace: valueAsString,\n })\n }\n\n return {\n defaultValue: inputValue,\n onChange(value) {\n const event = getEvent()\n const reason = (event.previousEvent || event).src\n prop(\"onInputValueChange\")?.({inputValue: value, reason})\n },\n value: prop(\"inputValue\"),\n }\n }),\n selectedItems: bindable<string[]>(() => {\n const value = prop(\"value\") || prop(\"defaultValue\") || []\n const selectedItems = prop(\"collection\").findMany(value)\n return {defaultValue: selectedItems}\n }),\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n hash(value) {\n return value.join(\",\")\n },\n isEqual,\n onChange(value) {\n const context = getContext()\n const prevSelectedItems = context.get(\"selectedItems\")\n const collection = prop(\"collection\")\n\n const nextItems: any[] = value.map((v: string) => {\n const item = prevSelectedItems.find(\n (item: any) => collection.getItemValue(item) === v,\n )\n return item || collection.find(v)\n })\n\n context.set(\"selectedItems\", nextItems)\n\n prop(\"onValueChange\")?.({items: nextItems, value})\n },\n value: prop(\"value\"),\n })),\n }\n },\n\n effects: {\n hideOtherElements({scope}) {\n return ariaHidden([\n domEls.input(scope),\n domEls.content(scope),\n domEls.trigger(scope),\n domEls.clearTrigger(scope),\n ])\n },\n scrollToHighlightedItem({context, event, prop, refs, scope}) {\n const inputEl = domEls.input(scope)\n\n const cleanups: VoidFunction[] = []\n\n const exec = (immediate: boolean) => {\n const pointer = event.current().type.includes(\"POINTER\")\n const highlightedValue = context.get(\"highlightedValue\")\n if (pointer || !highlightedValue) {\n return\n }\n\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({\n getElement: () => getItemEl(scope, highlightedValue),\n immediate,\n index: highlightedIndex,\n })\n return\n }\n\n const itemEl = getItemEl(scope, highlightedValue)\n const raf_cleanup = raf(() => {\n scrollIntoView(itemEl, {block: \"nearest\", rootEl: contentEl})\n })\n cleanups.push(raf_cleanup)\n }\n\n const rafCleanup = raf(() => exec(true))\n cleanups.push(rafCleanup)\n\n const observerCleanup = observeAttributes(inputEl, {\n attributes: [\"aria-activedescendant\"],\n callback: () => exec(false),\n })\n cleanups.push(observerCleanup)\n\n return () => {\n cleanups.forEach((cleanup) => cleanup())\n }\n },\n trackDismissableLayer({prop, scope, send}) {\n if (prop(\"disableLayer\")) {\n return\n }\n const contentEl = () => domEls.content(scope)\n return trackDismissableElement(contentEl, {\n defer: true,\n exclude: () => [\n domEls.input(scope),\n domEls.trigger(scope),\n domEls.clearTrigger(scope),\n ],\n onDismiss() {\n send({\n restoreFocus: false,\n src: \"interact-outside\",\n type: \"LAYER.INTERACT_OUTSIDE\",\n })\n },\n onEscapeKeyDown(event) {\n event.preventDefault()\n event.stopPropagation()\n send({src: \"escape-key\", type: \"LAYER.ESCAPE\"})\n },\n onFocusOutside: prop(\"onFocusOutside\"),\n onInteractOutside: prop(\"onInteractOutside\"),\n onPointerDownOutside: prop(\"onPointerDownOutside\"),\n type: \"listbox\",\n })\n },\n trackFocusVisible({scope}) {\n return trackFocusVisible({root: scope.getRootNode?.()})\n },\n trackPlacement({context, prop, scope}) {\n const anchorEl = () => domEls.control(scope) || domEls.trigger(scope)\n const positionerEl = () => domEls.positioner(scope)\n\n context.set(\"currentPlacement\", prop(\"positioning\").placement)\n return getPlacement(anchorEl, positionerEl, {\n ...prop(\"positioning\"),\n defer: true,\n onComplete(data) {\n context.set(\"currentPlacement\", data.placement)\n },\n })\n },\n },\n\n guards: {\n allowCustomValue: ({prop}) => !!prop(\"allowCustomValue\"),\n autoComplete: ({computed, prop}) =>\n computed(\"autoComplete\") && !prop(\"multiple\"),\n autoFocus: ({prop}) => !!prop(\"autoFocus\"),\n autoHighlight: ({computed}) => computed(\"autoHighlight\"),\n closeOnSelect: ({prop}) => !!prop(\"closeOnSelect\"),\n hasHighlightedItem: ({context}) =>\n context.get(\"highlightedValue\") != null,\n isChangeEvent: ({event}) => event.previousEvent?.type === \"INPUT.CHANGE\",\n isCustomValue: ({computed}) => computed(\"isCustomValue\"),\n isFirstItemHighlighted: ({context, prop}) =>\n prop(\"collection\").firstValue === context.get(\"highlightedValue\"),\n isHighlightedItemRemoved: ({context, prop}) =>\n !prop(\"collection\").has(context.get(\"highlightedValue\")),\n isInputValueEmpty: ({computed}) => computed(\"isInputValueEmpty\"),\n isLastItemHighlighted: ({context, prop}) =>\n prop(\"collection\").lastValue === context.get(\"highlightedValue\"),\n isOpenControlled: ({prop}) => prop(\"open\") != null,\n openOnChange: ({context, prop}) => {\n const openOnChange = prop(\"openOnChange\")\n if (isBoolean(openOnChange)) {\n return openOnChange\n }\n return !!openOnChange?.({inputValue: context.get(\"inputValue\")})\n },\n restoreFocus: ({event}) =>\n event.restoreFocus == null ? true : !!event.restoreFocus,\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 hint: bindableId(ids?.hint),\n input: bindableId(ids?.input),\n label: bindableId(ids?.label),\n positioner: bindableId(ids?.positioner),\n root: bindableId(ids?.root),\n trigger: bindableId(ids?.trigger),\n }\n },\n\n initialState({prop}) {\n const open = prop(\"open\") || prop(\"defaultOpen\")\n return open ? \"suggesting\" : \"idle\"\n },\n\n on: {\n \"HIGHLIGHTED_VALUE.CLEAR\": {\n actions: [\"clearHighlightedValue\"],\n },\n \"HIGHLIGHTED_VALUE.SET\": {\n actions: [\"setHighlightedValue\"],\n },\n \"INPUT_VALUE.SET\": {\n actions: [\"setInputValue\"],\n },\n \"ITEM.CLEAR\": {\n actions: [\"clearItem\"],\n },\n \"ITEM.SELECT\": {\n actions: [\"selectItem\"],\n },\n \"POSITIONING.SET\": {\n actions: [\"reposition\"],\n },\n \"SELECTED_ITEMS.SYNC\": {\n actions: [\"syncSelectedItems\"],\n },\n \"VALUE.SET\": {\n actions: [\"setValue\"],\n },\n },\n\n onInit: {\n actions: [\n createChoose<ComboboxSchema>([\n {\n actions: [\"setInitialFocus\"],\n guard: \"autoFocus\",\n },\n ]) as any,\n \"syncInputFocus\",\n ],\n effects: [\"trackFocusVisible\"],\n },\n\n props({props}) {\n return {\n allowCustomValue: false,\n alwaysSubmitOnEnter: false,\n closeOnSelect: !props.multiple,\n collection: props.collection || emptyCollection(),\n composite: true,\n defaultInputValue: \"\",\n defaultValue: [],\n inputBehavior: \"none\",\n loopFocus: true,\n openOnChange: true,\n openOnClick: false,\n openOnKeyPress: true,\n selectionBehavior: props.multiple ? \"clear\" : \"replace\",\n ...props,\n positioning: {\n gutter: 2,\n placement: \"bottom-start\",\n sameWidth: true,\n ...props.positioning,\n },\n translations: {\n clearTriggerLabel: \"Clear value\",\n triggerLabel: \"Toggle suggestions\",\n ...props.translations,\n },\n }\n },\n\n refs: ({prop}) => {\n return {\n scrollToIndexFn: prop(\"scrollToIndexFn\"),\n }\n },\n\n states: {\n focused: {\n entry: [\"scrollContentToTop\", \"clearHighlightedValue\"],\n on: {\n \"CONTROLLED.OPEN\": [\n {\n guard: \"isChangeEvent\",\n target: \"suggesting\",\n },\n {\n target: \"interacting\",\n },\n ],\n \"INPUT.ARROW_DOWN\": [\n // == group 1 ==\n {\n actions: [\"invokeOnOpen\"],\n guard: and(\"isOpenControlled\", \"autoComplete\"),\n },\n {\n actions: [\"invokeOnOpen\"],\n guard: \"autoComplete\",\n target: \"interacting\",\n },\n // == group 2 ==\n {\n actions: [\"highlightFirstOrSelectedItem\", \"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"highlightFirstOrSelectedItem\", \"invokeOnOpen\"],\n target: \"interacting\",\n },\n ],\n \"INPUT.ARROW_UP\": [\n // == group 1 ==\n {\n actions: [\"invokeOnOpen\"],\n guard: \"autoComplete\",\n target: \"interacting\",\n },\n {\n actions: [\"invokeOnOpen\"],\n guard: \"autoComplete\",\n target: \"interacting\",\n },\n // == group 2 ==\n {\n actions: [\"highlightLastOrSelectedItem\", \"invokeOnOpen\"],\n target: \"interacting\",\n },\n {\n actions: [\"highlightLastOrSelectedItem\", \"invokeOnOpen\"],\n target: \"interacting\",\n },\n ],\n \"INPUT.BLUR\": {\n target: \"idle\",\n },\n \"INPUT.CHANGE\": [\n {\n actions: [\n \"setInputValue\",\n \"invokeOnOpen\",\n \"highlightFirstItemIfNeeded\",\n ],\n guard: and(\"isOpenControlled\", \"openOnChange\"),\n },\n {\n actions: [\n \"setInputValue\",\n \"invokeOnOpen\",\n \"highlightFirstItemIfNeeded\",\n ],\n guard: \"openOnChange\",\n target: \"suggesting\",\n },\n {\n actions: [\"setInputValue\"],\n },\n ],\n \"INPUT.CLICK\": [\n {\n actions: [\"highlightFirstSelectedItem\", \"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"highlightFirstSelectedItem\", \"invokeOnOpen\"],\n target: \"interacting\",\n },\n ],\n \"INPUT.ESCAPE\": {\n actions: [\"revertInputValue\"],\n guard: and(\"isCustomValue\", not(\"allowCustomValue\")),\n },\n \"LAYER.INTERACT_OUTSIDE\": {\n target: \"idle\",\n },\n OPEN: [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnOpen\"],\n target: \"interacting\",\n },\n ],\n \"TRIGGER.CLICK\": [\n {\n actions: [\n \"setInitialFocus\",\n \"highlightFirstSelectedItem\",\n \"invokeOnOpen\",\n ],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\n \"setInitialFocus\",\n \"highlightFirstSelectedItem\",\n \"invokeOnOpen\",\n ],\n target: \"interacting\",\n },\n ],\n \"VALUE.CLEAR\": {\n actions: [\"clearInputValue\", \"clearSelectedItems\"],\n },\n },\n tags: [\"focused\", \"closed\"],\n },\n\n idle: {\n entry: [\"scrollContentToTop\", \"clearHighlightedValue\"],\n on: {\n \"CONTROLLED.OPEN\": {\n target: \"interacting\",\n },\n \"INPUT.CLICK\": [\n {\n actions: [\"highlightFirstSelectedItem\", \"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"highlightFirstSelectedItem\", \"invokeOnOpen\"],\n target: \"interacting\",\n },\n ],\n \"INPUT.FOCUS\": {\n target: \"focused\",\n },\n OPEN: [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnOpen\"],\n target: \"interacting\",\n },\n ],\n \"TRIGGER.CLICK\": [\n {\n actions: [\n \"setInitialFocus\",\n \"highlightFirstSelectedItem\",\n \"invokeOnOpen\",\n ],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\n \"setInitialFocus\",\n \"highlightFirstSelectedItem\",\n \"invokeOnOpen\",\n ],\n target: \"interacting\",\n },\n ],\n \"VALUE.CLEAR\": {\n actions: [\n \"clearInputValue\",\n \"clearSelectedItems\",\n \"setInitialFocus\",\n ],\n target: \"focused\",\n },\n },\n tags: [\"idle\", \"closed\"],\n },\n\n interacting: {\n effects: [\n \"scrollToHighlightedItem\",\n \"trackDismissableLayer\",\n \"trackPlacement\",\n \"hideOtherElements\",\n ],\n entry: [\"setInitialFocus\"],\n on: {\n CHILDREN_CHANGE: [\n {\n actions: [\"clearHighlightedValue\"],\n guard: \"isHighlightedItemRemoved\",\n },\n {\n actions: [\"scrollToHighlightedItem\"],\n },\n ],\n CLOSE: [\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\", \"setFinalFocus\"],\n target: \"focused\",\n },\n ],\n \"CONTROLLED.CLOSE\": [\n {\n actions: [\"setFinalFocus\"],\n guard: \"restoreFocus\",\n target: \"focused\",\n },\n {\n target: \"idle\",\n },\n ],\n \"INPUT.ARROW_DOWN\": [\n {\n actions: [\"clearHighlightedValue\", \"scrollContentToTop\"],\n guard: and(\"autoComplete\", \"isLastItemHighlighted\"),\n },\n {\n actions: [\"highlightNextItem\"],\n },\n ],\n \"INPUT.ARROW_UP\": [\n {\n actions: [\"clearHighlightedValue\"],\n guard: and(\"autoComplete\", \"isFirstItemHighlighted\"),\n },\n {\n actions: [\"highlightPrevItem\"],\n },\n ],\n \"INPUT.CHANGE\": [\n {\n actions: [\"setInputValue\"],\n guard: \"autoComplete\",\n target: \"suggesting\",\n },\n {\n actions: [\"clearHighlightedValue\", \"setInputValue\"],\n target: \"suggesting\",\n },\n ],\n \"INPUT.END\": {\n actions: [\"highlightLastItem\"],\n },\n \"INPUT.ENTER\": [\n // == group 1 ==\n {\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n guard: and(\n \"isOpenControlled\",\n // TODO: fix and type\n \"isCustomValue\" as keyof GuardFn<ComboboxSchema>,\n not(\"hasHighlightedItem\"),\n not(\"allowCustomValue\"),\n ),\n },\n {\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n guard: and(\n \"isCustomValue\",\n not(\"hasHighlightedItem\"),\n not(\"allowCustomValue\"),\n ),\n target: \"focused\",\n },\n // == group 2 ==\n {\n actions: [\"selectHighlightedItem\", \"invokeOnClose\"],\n guard: and(\"isOpenControlled\", \"closeOnSelect\"),\n },\n {\n actions: [\n \"selectHighlightedItem\",\n \"invokeOnClose\",\n \"setFinalFocus\",\n ],\n guard: \"closeOnSelect\",\n target: \"focused\",\n },\n {\n actions: [\"selectHighlightedItem\"],\n },\n ],\n \"INPUT.HOME\": {\n actions: [\"highlightFirstItem\"],\n },\n \"ITEM.CLICK\": [\n {\n actions: [\"selectItem\", \"invokeOnClose\"],\n guard: and(\"isOpenControlled\", \"closeOnSelect\"),\n },\n {\n actions: [\"selectItem\", \"invokeOnClose\", \"setFinalFocus\"],\n guard: \"closeOnSelect\",\n target: \"focused\",\n },\n {\n actions: [\"selectItem\"],\n },\n ],\n \"ITEM.POINTER_LEAVE\": {\n actions: [\"clearHighlightedValue\"],\n },\n \"ITEM.POINTER_MOVE\": {\n actions: [\"setHighlightedValue\"],\n },\n \"LAYER.ESCAPE\": [\n {\n actions: [\"syncInputValue\", \"invokeOnClose\"],\n guard: and(\"isOpenControlled\", \"autoComplete\"),\n },\n {\n actions: [\"syncInputValue\", \"invokeOnClose\"],\n guard: \"autoComplete\",\n target: \"focused\",\n },\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\", \"setFinalFocus\"],\n target: \"focused\",\n },\n ],\n \"LAYER.INTERACT_OUTSIDE\": [\n // == group 1 ==\n {\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n guard: and(\n \"isOpenControlled\",\n \"isCustomValue\" as keyof GuardFn<ComboboxSchema>,\n not(\"allowCustomValue\"),\n ),\n },\n {\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n guard: and(\"isCustomValue\", not(\"allowCustomValue\")),\n target: \"idle\",\n },\n // == group 2 ==\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\"],\n target: \"idle\",\n },\n ],\n \"TRIGGER.CLICK\": [\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\"],\n target: \"focused\",\n },\n ],\n \"VALUE.CLEAR\": [\n {\n actions: [\n \"clearInputValue\",\n \"clearSelectedItems\",\n \"invokeOnClose\",\n ],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\n \"clearInputValue\",\n \"clearSelectedItems\",\n \"invokeOnClose\",\n \"setFinalFocus\",\n ],\n target: \"focused\",\n },\n ],\n },\n tags: [\"open\", \"focused\"],\n },\n\n suggesting: {\n effects: [\n \"trackDismissableLayer\",\n \"scrollToHighlightedItem\",\n \"trackPlacement\",\n \"hideOtherElements\",\n ],\n entry: [\"setInitialFocus\"],\n on: {\n CHILDREN_CHANGE: [\n {\n actions: [\"highlightFirstItem\"],\n guard: \"autoHighlight\",\n },\n {\n actions: [\"clearHighlightedValue\"],\n guard: \"isHighlightedItemRemoved\",\n },\n ],\n CLOSE: [\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\", \"setFinalFocus\"],\n target: \"focused\",\n },\n ],\n \"CONTROLLED.CLOSE\": [\n {\n actions: [\"setFinalFocus\"],\n guard: \"restoreFocus\",\n target: \"focused\",\n },\n {\n target: \"idle\",\n },\n ],\n \"INPUT.ARROW_DOWN\": {\n actions: [\"highlightNextItem\"],\n target: \"interacting\",\n },\n \"INPUT.ARROW_UP\": {\n actions: [\"highlightPrevItem\"],\n target: \"interacting\",\n },\n \"INPUT.CHANGE\": {\n actions: [\"setInputValue\"],\n },\n \"INPUT.END\": {\n actions: [\"highlightLastItem\"],\n target: \"interacting\",\n },\n \"INPUT.ENTER\": [\n // == group 1 ==\n {\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n guard: and(\n \"isOpenControlled\",\n \"isCustomValue\" as keyof GuardFn<ComboboxSchema>,\n not(\"hasHighlightedItem\"),\n not(\"allowCustomValue\"),\n ),\n },\n {\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n guard: and(\n \"isCustomValue\",\n not(\"hasHighlightedItem\"),\n not(\"allowCustomValue\"),\n ),\n target: \"focused\",\n },\n // == group 2 ==\n {\n actions: [\"selectHighlightedItem\", \"invokeOnClose\"],\n guard: and(\"isOpenControlled\", \"closeOnSelect\"),\n },\n {\n actions: [\n \"selectHighlightedItem\",\n \"invokeOnClose\",\n \"setFinalFocus\",\n ],\n guard: \"closeOnSelect\",\n target: \"focused\",\n },\n {\n actions: [\"selectHighlightedItem\"],\n },\n ],\n \"INPUT.HOME\": {\n actions: [\"highlightFirstItem\"],\n target: \"interacting\",\n },\n \"ITEM.CLICK\": [\n {\n actions: [\"selectItem\", \"invokeOnClose\"],\n guard: and(\"isOpenControlled\", \"closeOnSelect\"),\n },\n {\n actions: [\"selectItem\", \"invokeOnClose\", \"setFinalFocus\"],\n guard: \"closeOnSelect\",\n target: \"focused\",\n },\n {\n actions: [\"selectItem\"],\n },\n ],\n \"ITEM.POINTER_LEAVE\": {\n actions: [\"clearHighlightedValue\"],\n },\n \"ITEM.POINTER_MOVE\": {\n actions: [\"setHighlightedValue\"],\n target: \"interacting\",\n },\n \"LAYER.ESCAPE\": [\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\"],\n target: \"focused\",\n },\n ],\n \"LAYER.INTERACT_OUTSIDE\": [\n // == group 1 ==\n {\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n guard: and(\n \"isOpenControlled\",\n \"isCustomValue\" as keyof GuardFn<ComboboxSchema>,\n not(\"allowCustomValue\"),\n ),\n },\n {\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n guard: and(\"isCustomValue\", not(\"allowCustomValue\")),\n target: \"idle\",\n },\n // == group 2 ==\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\"],\n target: \"idle\",\n },\n ],\n \"TRIGGER.CLICK\": [\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\"],\n target: \"focused\",\n },\n ],\n \"VALUE.CLEAR\": [\n {\n actions: [\n \"clearInputValue\",\n \"clearSelectedItems\",\n \"invokeOnClose\",\n ],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\n \"clearInputValue\",\n \"clearSelectedItems\",\n \"invokeOnClose\",\n \"setFinalFocus\",\n ],\n target: \"focused\",\n },\n ],\n },\n tags: [\"open\", \"focused\"],\n },\n },\n\n watch({action, context, prop, send, track}) {\n track([() => context.hash(\"value\")], () => {\n action([\"syncSelectedItems\"])\n })\n track([() => context.get(\"inputValue\")], () => {\n action([\"syncInputValue\"])\n })\n track([() => context.get(\"highlightedValue\")], () => {\n action([\"syncHighlightedItem\", \"autofillInputValue\"])\n })\n track([() => prop(\"open\")], () => {\n action([\"toggleVisibility\"])\n })\n track([() => prop(\"collection\").toString()], () => {\n send({type: \"CHILDREN_CHANGE\"})\n })\n },\n })\n\nfunction getOpenChangeReason(\n event: ComboboxSchema[\"events\"],\n): ComboboxOpenChangeReason | undefined {\n return (event.previousEvent || event).src\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 {ComboboxApiProps} from \"./combobox.types\"\n\nexport const comboboxProps: (keyof ComboboxApiProps)[] =\n createProps<ComboboxApiProps>()(\n \"allowCustomValue\",\n \"alwaysSubmitOnEnter\",\n \"autoFocus\",\n \"closeOnSelect\",\n \"collection\",\n \"composite\",\n \"defaultHighlightedValue\",\n \"defaultInputValue\",\n \"defaultOpen\",\n \"defaultValue\",\n \"dir\",\n \"disabled\",\n \"disableLayer\",\n \"form\",\n \"getRootNode\",\n \"highlightedValue\",\n \"ids\",\n \"inputBehavior\",\n \"inputValue\",\n \"invalid\",\n \"loopFocus\",\n \"multiple\",\n \"name\",\n \"onFocusOutside\",\n \"onHighlightChange\",\n \"onInputValueChange\",\n \"onInteractOutside\",\n \"onOpenChange\",\n \"onPointerDownOutside\",\n \"onSelect\",\n \"onValueChange\",\n \"open\",\n \"openOnChange\",\n \"openOnClick\",\n \"openOnKeyPress\",\n \"placeholder\",\n \"positioning\",\n \"readOnly\",\n \"required\",\n \"scrollToIndexFn\",\n \"selectionBehavior\",\n \"translations\",\n \"value\",\n )\n\nexport const splitComboboxProps: <Props extends ComboboxApiProps>(\n props: Props,\n) => [ComboboxApiProps, Omit<Props, keyof ComboboxApiProps>] =\n createSplitProps<ComboboxApiProps>(comboboxProps)\n"],
|
|
5
|
-
"mappings": "AAMA,OAAQ,sBAAAA,OAAyB,+BACjC,OAAQ,kBAAAC,OAAqB,iCAC7B,OACE,eAAAC,EACA,oBAAAC,GACA,sBAAAC,GACA,sBAAAC,GACA,eAAAC,EACA,qBAAAC,OACK,yBACP,OAAQ,mBAAAC,EAAiB,mBAAAC,MAAsB,gCAG/C,OAAQ,UAAAC,OAAa,2BCbrB,OAAQ,SAAAC,OAAY,yBAKb,IAAMC,EAGT,CACF,aAAeC,GAAUA,EAAM,IAAI,IAAI,cAAc,EACrD,QAAUA,GAAUA,EAAM,IAAI,IAAI,SAAS,EAC3C,QAAUA,GAAUA,EAAM,IAAI,IAAI,SAAS,EAC3C,UAAYA,GAAUA,EAAM,IAAI,IAAI,WAAW,EAC/C,KAAOA,GAAUA,EAAM,IAAI,IAAI,MAAM,EACrC,MAAQA,GAAUA,EAAM,IAAI,IAAI,OAAO,EACvC,MAAQA,GAAUA,EAAM,IAAI,IAAI,OAAO,EACvC,WAAaA,GAAUA,EAAM,IAAI,IAAI,YAAY,EACjD,KAAOA,GAAUA,EAAM,IAAI,IAAI,MAAM,EACrC,QAAUA,GAAUA,EAAM,IAAI,IAAI,SAAS,CAC7C,EAEaC,EAKT,CACF,aAAeD,GAAUA,EAAM,QAAQD,EAAO,aAAaC,CAAK,CAAC,EACjE,QAAUA,GAAUA,EAAM,QAAQD,EAAO,QAAQC,CAAK,CAAC,EACvD,QAAUA,GAAUA,EAAM,QAAQD,EAAO,QAAQC,CAAK,CAAC,EACvD,UAAYA,GAAUA,EAAM,QAAQD,EAAO,UAAUC,CAAK,CAAC,EAC3D,KAAOA,GAAUA,EAAM,QAAQD,EAAO,KAAKC,CAAK,CAAC,EACjD,MAAQA,GAAUA,EAAM,QAAQD,EAAO,MAAMC,CAAK,CAAC,EACnD,MAAQA,GAAUA,EAAM,QAAQD,EAAO,QAAQC,CAAK,CAAC,EACrD,WAAaA,GAAUA,EAAM,QAAQD,EAAO,WAAWC,CAAK,CAAC,EAC7D,KAAOA,GAAUA,EAAM,QAAQD,EAAO,KAAKC,CAAK,CAAC,EACjD,QAAUA,GAAUA,EAAM,QAAQD,EAAO,QAAQC,CAAK,CAAC,CACzD,EAEO,SAASE,EAAeF,EAAsBG,EAAY,CAC/D,MAAO,GAAGH,EAAM,IAAI,IAAI,MAAM,CAAC,eAAeG,CAAE,EAClD,CAEO,SAASC,EAAUC,EAAoBF,EAAY,CACxD,MAAO,GAAGJ,EAAO,KAAKM,CAAG,CAAC,SAASF,CAAE,EACvC,CAEO,SAASG,EAAoBD,EAAoBF,EAAY,CAClE,MAAO,GAAGJ,EAAO,KAAKM,CAAG,CAAC,qBAAqBF,CAAE,EACnD,CAEO,SAASI,EACdF,EACAG,EACoB,CACpB,GAAIA,GAAS,KACX,OAAO,KAET,IAAMC,EAAW,6BAA6B,IAAI,OAAOD,CAAK,CAAC,KAC/D,OAAOV,GAAMG,EAAO,QAAQI,CAAG,EAAGI,CAAQ,CAC5C,CAEO,SAASC,EAAaL,EAA0B,CACrD,IAAMM,EAAUV,EAAO,MAAMI,CAAG,EAC5BA,EAAI,gBAAgBM,CAAO,GAG/BA,GAAS,MAAM,CAAC,cAAe,EAAI,CAAC,CACtC,CAEO,SAASC,EAAeP,EAA0B,CACvD,IAAMQ,EAAYZ,EAAO,QAAQI,CAAG,EAChCA,EAAI,gBAAgBQ,CAAS,GAGjCA,GAAW,MAAM,CAAC,cAAe,EAAI,CAAC,CACxC,CD1BO,SAASC,GACdC,EACAC,EACa,CACb,GAAM,CAAC,SAAAC,EAAU,QAAAC,EAAS,MAAAC,EAAO,KAAAC,EAAM,KAAAC,EAAM,MAAAC,EAAO,KAAAC,EAAM,MAAAC,CAAK,EAAIT,EAE7DU,EAAeL,EAAK,cAAc,EAClCM,EAAaN,EAAK,YAAY,EAE9BO,EAAW,CAAC,CAACP,EAAK,UAAU,EAC5BQ,EAAcX,EAAS,eAAe,EACtCY,EAAU,CAAC,CAACT,EAAK,SAAS,EAC1BU,EAAW,CAAC,CAACV,EAAK,UAAU,EAC5BW,EAAW,CAAC,CAACX,EAAK,UAAU,EAE5BY,EAAOR,EAAM,OAAO,MAAM,EAC1BS,EAAUT,EAAM,OAAO,SAAS,EAChCU,EAAYd,EAAK,WAAW,EAC5Be,EAAmBjB,EAAQ,IAAI,kBAAkB,EAEjDkB,EAAeC,GAAmB,CACtC,GAAGjB,EAAK,aAAa,EACrB,UAAWF,EAAQ,IAAI,kBAAkB,CAC3C,CAAC,EAED,SAASoB,EACPC,EACqB,CACrB,IAAMC,EAAed,EAAW,gBAAgBa,EAAM,IAAI,EACpDE,EAAQf,EAAW,aAAaa,EAAM,IAAI,EAChD,OAAAG,GACED,EACA,IACE,+CAA+C,KAAK,UAAUF,EAAM,IAAI,CAAC,EAC7E,EACO,CACL,GAAGA,EACH,SAAUZ,GAAYa,EACtB,YAAaL,IAAqBM,EAClC,SAAUvB,EAAQ,IAAI,OAAO,EAAE,SAASuB,CAAK,EAC7C,MAAAA,CACF,CACF,CAEA,IAAME,EAAiE,CACrE,aAAc,WACd,IAAKvB,EAAK,KAAK,CACjB,EAEA,MAAO,CACL,qBAAsB,CACpBG,EAAK,CAAC,KAAM,yBAAyB,CAAC,CACxC,EACA,WAAWkB,EAAO,CACZA,GAAS,KACXlB,EAAK,CAAC,KAAM,aAAc,MAAAkB,CAAK,CAAC,EAEhClB,EAAK,CAAC,KAAM,aAAa,CAAC,CAE9B,EACA,WAAYH,EAAK,YAAY,EAC7B,SAAU,CAAC,CAACO,EACZ,OAAQ,CACNiB,EAAO,MAAMtB,CAAK,GAAG,MAAM,CAC7B,EACA,QAAAW,EACA,iBAAkBhB,EAAS,kBAAkB,EAC7C,gBAAiBC,EAAQ,IAAI,iBAAiB,EAC9C,iBAAAiB,EACA,WAAYjB,EAAQ,IAAI,YAAY,EACpC,SAAU,CAAC,CAACE,EAAK,UAAU,EAC3B,KAAAY,EACA,WAAWa,EAAU,CAAC,EAAG,CACvBtB,EAAK,CAAC,QAAAsB,EAAS,KAAM,iBAAiB,CAAC,CACzC,EACA,SAAUzB,EAAK,UAAU,EACzB,cAAeF,EAAQ,IAAI,eAAe,EAC1C,YAAYuB,EAAO,CACjBlB,EAAK,CAAC,KAAM,cAAe,MAAAkB,CAAK,CAAC,CACnC,EACA,kBAAkBA,EAAO,CACvBlB,EAAK,CAAC,KAAM,wBAAyB,MAAAkB,CAAK,CAAC,CAC7C,EACA,cAAcA,EAAOK,EAAS,SAAU,CACtCvB,EAAK,CAAC,IAAKuB,EAAQ,KAAM,kBAAmB,MAAAL,CAAK,CAAC,CACpD,EACA,QAAQM,EAAUD,EAAS,SAAU,CACtBtB,EAAM,OAAO,MAAM,IACnBuB,GAGbxB,EAAK,CAAC,IAAKuB,EAAQ,KAAMC,EAAW,OAAS,OAAO,CAAC,CACvD,EACA,mBAAmBC,EAAI,CACrB3B,EAAK,IAAI,kBAAmB2B,CAAE,CAChC,EACA,SAASP,EAAO,CACdlB,EAAK,CAAC,KAAM,YAAa,MAAAkB,CAAK,CAAC,CACjC,EACA,mBAAoB,CAClBlB,EAAK,CAAC,KAAM,qBAAqB,CAAC,CACpC,EACA,MAAOL,EAAQ,IAAI,OAAO,EAC1B,cAAeD,EAAS,eAAe,EAGvC,wBAAwBsB,EAAqC,CAC3D,OAAAjB,EAAM,IAAI,SAAS,eAAgBiB,CAAK,EACjCvB,EAAU,OAAO,CACtB,GAAG2B,EACH,gBAAiBM,EAAO,MAAM3B,CAAK,EACnC,aAAcG,EAAa,kBAC3B,eAAgByB,EAAgBrB,CAAO,EACvC,YAAa,gBAEb,SAAAF,EACA,OAAQ,CAACT,EAAQ,IAAI,OAAO,EAAE,OAC9B,GAAIqB,EAAM,GACV,QAAQpB,EAAO,CACTA,EAAM,kBAGLS,GAGLL,EAAK,CAAC,IAAK,gBAAiB,KAAM,aAAa,CAAC,CAClD,EACA,cAAcJ,EAAO,CACdgC,EAAYhC,CAAK,GAGtBA,EAAM,eAAe,CACvB,EACA,SAAU,GACV,KAAM,QACR,CAAC,CACH,EAEA,mBAAmBoB,EAAO,CACxB,OAAAjB,EAAM,IAAI,SAAS,UAAWiB,CAAK,EAC5BvB,EAAU,QAAQ,CACvB,GAAG2B,EACH,kBAAmBM,EAAO,MAAM3B,CAAK,EACrC,uBACEF,EAAK,UAAU,GAAKc,EAAY,OAAS,OAC3C,gBAAiBgB,EAAgBvB,CAAQ,EACzC,aAAcuB,EAAgBxB,EAAW,OAAS,CAAC,EACnD,qBAAsBwB,EAAgBE,GAAe,CAAC,EACtD,YAAa,UACb,iBAAkBlC,EAAQ,IAAI,kBAAkB,EAChD,aAAcc,EAAO,OAAS,SAC9B,OAAQ,CAACA,EACT,GAAIO,EAAM,GACV,cAAcpB,EAAO,CACdgC,EAAYhC,CAAK,GAItBA,EAAM,eAAe,CACvB,EACA,KAAOe,EAAuB,UAAX,SACnB,SAAU,EACZ,CAAC,CACH,EAEA,mBAAmBK,EAAgC,CACjD,OAAAjB,EAAM,IAAI,SAAS,UAAWiB,CAAK,EAC5BvB,EAAU,QAAQ,CACvB,GAAG2B,EACH,gBAAiBO,EAAgBvB,CAAQ,EACzC,aAAcuB,EAAgBjB,CAAO,EACrC,eAAgBiB,EAAgBrB,CAAO,EACvC,YAAa,UACb,aAAcG,EAAO,OAAS,SAC9B,GAAIO,EAAM,EACZ,CAAC,CACH,EAEA,kBAA0C,CACxC,OAAOvB,EAAU,QAAQ,CACvB,GAAG2B,EACH,YAAa,QACb,OAAQjB,EAAW,KAAO,EAC1B,KAAM,cACR,CAAC,CACH,EAEA,2BAA4D,CAC1D,OAAOV,EAAU,QAAQ,CACvB,GAAG2B,EACH,aAAc,QACd,YAAa,kBACb,OAAQ,CAACvB,EAAK,SAAS,CACzB,CAAC,CACH,EAEA,qBACEmB,EAC2B,CAC3B,OAAAjB,EAAM,IAAI,SAAS,YAAaiB,CAAK,EAC9BvB,EAAU,QAAQ,CACvB,GAAG2B,EACH,YAAa,SACb,YAAa,aACb,OAAQ,CAACvB,EAAK,SAAS,EACvB,GAAImB,EAAM,EACZ,CAAC,CACH,EAEA,gBAAgBA,EAAkD,CAChE,OAAAjB,EAAM,IAAI,SAAS,OAAQiB,CAAK,EACzBvB,EAAU,QAAQ,CACvB,GAAG2B,EACH,gBAAiBO,EAAgBvB,CAAQ,EACzC,YAAa,OACb,GAAIY,EAAM,EACZ,CAAC,CACH,EAEA,iBAAiBA,EAAO,CACtB,OAAAjB,EAAM,IAAI,SAAS,QAASiB,CAAK,EAC1BvB,EAAU,MAAM,CACrB,GAAG2B,EACH,wBAAyBR,EACrBkB,EAAU/B,EAAOa,CAAgB,EACjC,OACJ,oBAAqBlB,EAAS,cAAc,EAAI,OAAS,OACzD,gBAAiBgC,EAAO,QAAQ3B,CAAK,EACrC,gBAAiBgC,EAAgBtB,CAAI,EACrC,eAAgBsB,EAAgBzB,CAAO,EACvC,eAAgB,OAChB,aAAc,MACd,YAAa,MACb,iBAAkBqB,EAAgB9B,EAAK,WAAW,CAAC,EACnD,eAAgB8B,EAAgBrB,CAAO,EACvC,YAAa,QACb,aAAcG,EAAO,OAAS,SAC9B,aAAcd,EAAQ,IAAI,YAAY,EACtC,SAAAS,EACA,KAAMP,EAAK,MAAM,EACjB,GAAImB,EAAM,GACV,KAAMnB,EAAK,MAAM,EACjB,QAAS,CACHO,GAGJJ,EAAK,CAAC,KAAM,YAAY,CAAC,CAC3B,EACA,SAASJ,EAAO,CACdI,EAAK,CACH,IAAK,eACL,KAAM,eACN,MAAOJ,EAAM,cAAc,KAC7B,CAAC,CACH,EACA,QAAQA,EAAO,CACTA,EAAM,kBAGLC,EAAK,aAAa,GAGlBQ,GAGLL,EAAK,CAAC,IAAK,cAAe,KAAM,aAAa,CAAC,CAChD,EACA,SAAU,CACJI,GAGJJ,EAAK,CAAC,KAAM,aAAa,CAAC,CAC5B,EACA,UAAUJ,EAAO,CAIf,GAHIA,EAAM,kBAAoB,CAACS,GAG3BT,EAAM,SAAWA,EAAM,UAAYoC,GAAiBpC,CAAK,EAC3D,OAGF,IAAMqC,EAAiBpC,EAAK,gBAAgB,EACtCqC,EAAgBtC,EAAM,SAAWA,EAAM,SAAWA,EAAM,SACxDuC,EAAW,GAEXC,EAAsB,CAC1B,UAAUxC,EAAO,CACX,CAACqC,GAAkB,CAACxB,IAGxBT,EAAK,CACH,SAAAmC,EACA,IAAK,YACL,KAAMvC,EAAM,OAAS,OAAS,kBAChC,CAAC,EACDA,EAAM,eAAe,EACvB,EACA,SAAU,CACJ,CAACqC,GAAkB,CAACxB,IAGxBT,EAAK,CACH,SAAAmC,EACA,IAAK,YACL,KAAMvC,EAAM,OAAS,QAAU,gBACjC,CAAC,EACDA,EAAM,eAAe,EACvB,EACA,IAAIA,EAAO,CACLsC,IAGJlC,EAAK,CAAC,SAAAmC,EAAU,KAAM,WAAW,CAAC,EAC9B1B,GACFb,EAAM,eAAe,EAEzB,EACA,MAAMA,EAAO,CACXI,EAAK,CAAC,SAAAmC,EAAU,IAAK,cAAe,KAAM,aAAa,CAAC,EAIxD,IAAME,GACJ3C,EAAS,eAAe,GAAKG,EAAK,kBAAkB,EAEhDyC,GAAe1B,GAAoB,KAEnC2B,GAAe1C,EAAK,qBAAqB,EAE3CY,GAAQ,CAAC4B,IAAe,CAACE,IAAgBD,IAC3C1C,EAAM,eAAe,CAEzB,EACA,QAAS,CACPI,EAAK,CAAC,SAAAmC,EAAU,IAAK,aAAc,KAAM,cAAc,CAAC,EACxDvC,EAAM,eAAe,CACvB,EACA,KAAKA,EAAO,CACNsC,IAGJlC,EAAK,CAAC,SAAAmC,EAAU,KAAM,YAAY,CAAC,EAC/B1B,GACFb,EAAM,eAAe,EAEzB,CACF,EAEM4C,EAAMC,EAAY7C,EAAO,CAAC,IAAKC,EAAK,KAAK,CAAC,CAAC,EAC3C6C,GAAON,EAAOI,CAAG,EACvBE,KAAO9C,CAAK,CACd,EACA,YAAaC,EAAK,aAAa,EAC/B,SAAAW,EACA,SAAUX,EAAK,UAAU,EACzB,KAAM,WACN,WAAY,QACZ,KAAM,MACR,CAAC,CACH,EAEA,gBAAgB8C,EAAiC,CAC/C,IAAMzB,EAAQyB,EAAU,MAExB,OAAOlD,EAAU,QAAQ,CACvB,GAAG2B,EACH,gBAAiBW,EAAgBY,EAAU,QAAQ,EACnD,gBAAiBZ,EAAgBY,EAAU,WAAW,EACtD,gBAAiBhB,EAAgBgB,EAAU,QAAQ,EACnD,mBAAoBhB,EAAgBgB,EAAU,WAAW,EACzD,YAAa,OACb,aAAcA,EAAU,SAAW,UAAY,YAC/C,aAAcA,EAAU,MACxB,GAAIb,EAAU/B,EAAOmB,CAAK,EAC1B,QAAQtB,EAAO,CACTgD,GAAmBhD,CAAK,GAGxBiD,GAAkBjD,CAAK,GAGvBkD,GAAmBlD,CAAK,GAGxB+C,EAAU,UAGd3C,EAAK,CAAC,IAAK,cAAe,KAAM,aAAc,MAAAkB,CAAK,CAAC,CACtD,EACA,gBAAiB,CACXyB,EAAU,cAGVA,EAAU,UAKV,CAFS/C,EAAM,SAAS,GACH,KAAK,SAAS,SAAS,GAIhDI,EAAK,CAAC,KAAM,qBAAsB,MAAAkB,CAAK,CAAC,CAC1C,EACA,eAAgB,CACVyB,EAAU,UAGVA,EAAU,aAGd3C,EAAK,CAAC,KAAM,oBAAqB,MAAAkB,CAAK,CAAC,CACzC,EACA,KAAM,SACN,SAAU,EACZ,CAAC,CACH,EAEA,qBAAqBF,EAAkC,CACrD,GAAM,CAAC,GAAA+B,CAAE,EAAI/B,EACb,OAAOvB,EAAU,QAAQ,CACvB,GAAG2B,EACH,kBAAmB4B,EAAoBjD,EAAOgD,CAAE,EAChD,aAAcpB,EAAgBxB,EAAW,OAAS,CAAC,EACnD,YAAa,aACb,GAAI8C,EAAelD,EAAOgD,CAAE,EAC5B,KAAM,OACR,CAAC,CACH,EAEA,0BAA0B/B,EAAuC,CAC/D,OAAOvB,EAAU,QAAQ,CACvB,GAAG2B,EACH,YAAa,mBACb,GAAI4B,EAAoBjD,EAAOiB,EAAM,OAAO,EAC5C,KAAM,cACR,CAAC,CACH,EAEA,yBAAyB2B,EAA0C,CACjE,OAAOlD,EAAU,QAAQ,CACvB,GAAG2B,EACH,cAAe,GACf,YAAa,iBACb,aAAcuB,EAAU,SAAW,UAAY,YAC/C,OAAQ,CAACA,EAAU,QACrB,CAAC,CACH,EAEA,aAAA5B,EAEA,oBAAoB4B,EAAqC,CACvD,OAAOlD,EAAU,QAAQ,CACvB,GAAG2B,EACH,gBAAiBO,EAAgBgB,EAAU,QAAQ,EACnD,mBAAoBhB,EAAgBgB,EAAU,WAAW,EACzD,YAAa,YACb,aAAcA,EAAU,SAAW,UAAY,WACjD,CAAC,CACH,EAEA,iBAAiB3B,EAA8B,CAC7C,OAAAjB,EAAM,IAAI,SAAS,QAASiB,CAAK,EAC1BvB,EAAU,MAAM,CACrB,GAAG2B,EACH,gBAAiBO,EAAgBvB,CAAQ,EACzC,aAAcuB,EAAgBjB,CAAO,EACrC,eAAgBiB,EAAgBrB,CAAO,EACvC,YAAa,QACb,gBAAiBqB,EAAgBnB,CAAQ,EACzC,gBAAiBmB,EAAgBpB,CAAQ,EACzC,QAASmB,EAAO,MAAM3B,CAAK,EAC3B,GAAIiB,EAAM,GACV,QAAQpB,EAAO,CACTe,IAGJf,EAAM,eAAe,EACrByB,EAAO,QAAQtB,CAAK,GAAG,MAAM,CAAC,cAAe,EAAI,CAAC,EACpD,CACF,CAAC,CACH,EAEA,sBAAsBiB,EAAmC,CACvD,OAAAjB,EAAM,IAAI,SAAS,aAAciB,CAAK,EAC/BvB,EAAU,QAAQ,CACvB,GAAG2B,EACH,YAAa,aACb,GAAIJ,EAAM,GACV,MAAOH,EAAa,QACtB,CAAC,CACH,EAEA,gBAAgBG,EAA6B,CAC3C,OAAAjB,EAAM,IAAI,SAAS,OAAQiB,CAAK,EACzBvB,EAAU,QAAQ,CACvB,GAAG2B,EACH,eAAgBO,EAAgBrB,CAAO,EACvC,YAAa,OACb,gBAAiBqB,EAAgBnB,CAAQ,EACzC,GAAIQ,EAAM,EACZ,CAAC,CACH,EAEA,mBAAmBA,EAAgC,CACjD,OAAAjB,EAAM,IAAI,SAAS,UAAWiB,CAAK,EAC5BvB,EAAU,OAAO,CACtB,GAAG2B,EACH,gBAAiBX,EAAOiB,EAAO,QAAQ3B,CAAK,EAAI,OAChD,gBAAiBgC,EAAgBtB,CAAI,EACrC,gBAAiBE,EAAY,UAAY,SACzC,aAAcT,EAAa,aAC3B,gBAAiByB,EAAgBvB,CAAQ,EACzC,iBAAkBuB,EAAgBX,EAAM,SAAS,EACjD,eAAgBW,EAAgBrB,CAAO,EACvC,YAAa,UACb,gBAAiBqB,EAAgBnB,CAAQ,EACzC,aAAcC,EAAO,OAAS,SAC9B,SAAAL,EACA,GAAIY,EAAM,GACV,QAAQpB,EAAO,CACTA,EAAM,kBAGLS,GAGAuB,EAAYhC,CAAK,GAGtBI,EAAK,CAAC,IAAK,gBAAiB,KAAM,eAAe,CAAC,CACpD,EACA,SAAU,CACHgB,EAAM,WAGXhB,EAAK,CAAC,IAAK,UAAW,KAAM,aAAa,CAAC,CAC5C,EACA,UAAUJ,EAAO,CAIf,GAHIA,EAAM,kBAGNe,EACF,OAGF,IAAMuC,EAAsB,CAC1B,WAAY,CACVlD,EAAK,CAAC,IAAK,YAAa,KAAM,kBAAkB,CAAC,CACnD,EACA,SAAU,CACRA,EAAK,CAAC,IAAK,YAAa,KAAM,gBAAgB,CAAC,CACjD,CACF,EAEMwC,EAAMC,EAAY7C,EAAO,CAAC,IAAKC,EAAK,KAAK,CAAC,CAAC,EAC3C6C,EAAOQ,EAAOV,CAAG,EAEnBE,IACFA,EAAK9C,CAAY,EACjBA,EAAM,eAAe,EAEzB,EACA,cAAcA,EAAO,CACdS,GAGDT,EAAM,cAAgB,SAGrBgC,EAAYhC,CAAK,IAGtBA,EAAM,eAAe,EACrB,eAAe,IAAM,CACnByB,EAAO,MAAMtB,CAAK,GAAG,MAAM,CAAC,cAAe,EAAI,CAAC,CAClD,CAAC,EACH,EACA,SAAUiB,EAAM,UAAY,OAAY,GACxC,KAAM,QACR,CAAC,CACH,CACF,CACF,CExnBA,OAEE,kBAAAmC,MAEK,gCAEA,IAAMC,GACXC,GAEO,IAAIF,EAAkBE,CAAO,EAGzBC,EAAkB,IAGtB,IAAIH,EAAkB,CAAC,MAAO,CAAC,CAAC,CAAC,ECf1C,OAAQ,cAAAI,OAAiB,+BACzB,OAAQ,2BAAAC,OAA8B,+BACtC,OAAQ,gBAAAC,MAAmC,+BAC3C,OAAQ,qBAAAC,OAAwB,iCAChC,OACE,YAAAC,GACA,qBAAAC,GACA,OAAAC,EACA,kBAAAC,EACA,iBAAAC,OACK,yBACP,OAAQ,eAAAC,EAAa,UAAAC,OAAa,2BAClC,OAAQ,WAAAC,OAAc,2BACtB,OAAQ,SAAAC,MAAY,+BACpB,OAAQ,aAAAC,OAAgB,2BACxB,OACE,gBAAAC,GACA,gBAAAC,GACA,iBAAAC,OAGK,6BAMP,GAAM,CAAC,IAAAC,EAAK,IAAAC,CAAG,EAAIC,GAA6B,EAEnCC,GACXC,GAA8B,CAC5B,QAAS,CACP,mBAAmB,CAAC,SAAAC,EAAU,QAAAC,EAAS,MAAAC,EAAO,KAAAC,EAAM,MAAAC,CAAK,EAAG,CAC1D,IAAMC,EAAUC,EAAO,MAAMF,CAAK,EAC5BG,EAAaJ,EAAK,YAAY,EACpC,GAAI,CAACH,EAAS,cAAc,GAAK,CAACK,GAAW,CAACH,EAAM,SAClD,OAEF,IAAMM,EAAYD,EAAW,UAAUN,EAAQ,IAAI,kBAAkB,CAAC,EACtEQ,EAAI,IAAM,CACRJ,EAAQ,MAAQG,GAAaP,EAAQ,IAAI,YAAY,CACvD,CAAC,CACH,EACA,sBAAsB,CAAC,QAAAA,CAAO,EAAG,CAC/BA,EAAQ,IAAI,mBAAoB,IAAI,CACtC,EACA,gBAAgB,CAAC,QAAAA,CAAO,EAAG,CACzBA,EAAQ,IAAI,aAAc,EAAE,CAC9B,EACA,UAAUS,EAAQ,CAChB,GAAM,CAAC,QAAAT,EAAS,MAAAC,EAAO,MAAAS,EAAO,KAAAR,CAAI,EAAIO,EAClCR,EAAM,OAAS,MAGnBS,EAAM,IAAM,CACV,IAAMC,EAAYC,GAAOZ,EAAQ,IAAI,OAAO,EAAGC,EAAM,KAAK,EAC1DD,EAAQ,IAAI,QAASW,CAAS,EAG9B,IAAME,EAAaC,EAAMZ,EAAK,mBAAmB,EAAG,CAClD,MAAO,GACP,SAAUF,EAAQ,IAAI,YAAY,EAClC,QAASE,EAAK,YAAY,EAAE,cAAcS,CAAS,CACrD,CAAC,EACDX,EAAQ,IAAI,aAAca,CAAU,CACtC,CAAC,CACH,EACA,mBAAmBJ,EAAQ,CACzB,GAAM,CAAC,QAAAT,EAAS,MAAAU,EAAO,KAAAR,CAAI,EAAIO,EAC/BC,EAAM,IAAM,CACVV,EAAQ,IAAI,QAAS,CAAC,CAAC,EAGvB,IAAMa,EAAaC,EAAMZ,EAAK,mBAAmB,EAAG,CAClD,MAAO,GACP,SAAUF,EAAQ,IAAI,YAAY,EAClC,QAASE,EAAK,YAAY,EAAE,cAAc,CAAC,CAAC,CAC9C,CAAC,EACDF,EAAQ,IAAI,aAAca,CAAU,CACtC,CAAC,CACH,EACA,mBAAmB,CAAC,QAAAb,EAAS,KAAAE,EAAM,MAAAC,CAAK,EAAG,EAC5BE,EAAO,QAAQF,CAAK,EAAI,eAAiBK,GACjD,IAAM,CACT,IAAMO,EAAQb,EAAK,YAAY,EAAE,WAC7Ba,GACFf,EAAQ,IAAI,mBAAoBe,CAAK,CAEzC,CAAC,CACH,EACA,2BAA2B,CAAC,OAAAC,EAAQ,SAAAjB,CAAQ,EAAG,CACxCA,EAAS,eAAe,GAG7BiB,EAAO,CAAC,oBAAoB,CAAC,CAC/B,EACA,6BAA6B,CAAC,SAAAjB,EAAU,QAAAC,EAAS,KAAAE,CAAI,EAAG,CACtDM,EAAI,IAAM,CACR,IAAIO,EAAuB,KACvBhB,EAAS,kBAAkB,EAC7BgB,EAAQb,EAAK,YAAY,EAAE,KAAKF,EAAQ,IAAI,OAAO,CAAC,EAAE,CAAC,EAEvDe,EAAQb,EAAK,YAAY,EAAE,WAEzBa,GACFf,EAAQ,IAAI,mBAAoBe,CAAK,CAEzC,CAAC,CACH,EACA,2BAA2B,CAAC,QAAAf,EAAS,KAAAE,CAAI,EAAG,CAC1CM,EAAI,IAAM,CACR,GAAM,CAACO,CAAK,EAAIb,EAAK,YAAY,EAAE,KAAKF,EAAQ,IAAI,OAAO,CAAC,EACxDe,GACFf,EAAQ,IAAI,mBAAoBe,CAAK,CAEzC,CAAC,CACH,EACA,kBAAkB,CAAC,QAAAf,EAAS,KAAAE,EAAM,MAAAC,CAAK,EAAG,EAC3BE,EAAO,QAAQF,CAAK,EAAI,eAAiBK,GACjD,IAAM,CACT,IAAMO,EAAQb,EAAK,YAAY,EAAE,UAC7Ba,GACFf,EAAQ,IAAI,mBAAoBe,CAAK,CAEzC,CAAC,CACH,EACA,4BAA4B,CAAC,SAAAhB,EAAU,QAAAC,EAAS,KAAAE,CAAI,EAAG,CACrDM,EAAI,IAAM,CACR,IAAMF,EAAaJ,EAAK,YAAY,EAChCa,EAAuB,KACvBhB,EAAS,kBAAkB,EAC7BgB,EAAQT,EAAW,KAAKN,EAAQ,IAAI,OAAO,CAAC,EAAE,CAAC,EAE/Ce,EAAQT,EAAW,UAEjBS,GACFf,EAAQ,IAAI,mBAAoBe,CAAK,CAEzC,CAAC,CACH,EACA,kBAAkB,CAAC,QAAAf,EAAS,KAAAE,CAAI,EAAG,CACjC,IAAIa,EAAuB,KACrBE,EAAmBjB,EAAQ,IAAI,kBAAkB,EACjDM,EAAaJ,EAAK,YAAY,EAChCe,GACFF,EAAQT,EAAW,aAAaW,CAAgB,EAC5C,CAACF,GAASb,EAAK,WAAW,IAC5Ba,EAAQT,EAAW,aAGrBS,EAAQT,EAAW,WAEjBS,GACFf,EAAQ,IAAI,mBAAoBe,CAAK,CAEzC,EACA,kBAAkB,CAAC,QAAAf,EAAS,KAAAE,CAAI,EAAG,CACjC,IAAIa,EAAuB,KACrBE,EAAmBjB,EAAQ,IAAI,kBAAkB,EACjDM,EAAaJ,EAAK,YAAY,EAChCe,GACFF,EAAQT,EAAW,iBAAiBW,CAAgB,EAChD,CAACF,GAASb,EAAK,WAAW,IAC5Ba,EAAQT,EAAW,YAGrBS,EAAQT,EAAW,UAEjBS,GACFf,EAAQ,IAAI,mBAAoBe,CAAK,CAEzC,EACA,cAAc,CAAC,MAAAd,EAAO,KAAAC,CAAI,EAAG,CAC3B,IAAMgB,EAASC,EAAoBlB,CAAK,EACxCC,EAAK,cAAc,IAAI,CAAC,KAAM,GAAO,OAAAgB,CAAM,CAAC,CAC9C,EACA,aAAa,CAAC,MAAAjB,EAAO,KAAAC,CAAI,EAAG,CAC1B,IAAMgB,EAASC,EAAoBlB,CAAK,EACxCC,EAAK,cAAc,IAAI,CAAC,KAAM,GAAM,OAAAgB,CAAM,CAAC,CAC7C,EACA,WAAW,CAAC,QAAAlB,EAAS,MAAAC,EAAO,KAAAC,EAAM,MAAAC,CAAK,EAAG,CAGxCiB,EAFkB,IAAMf,EAAO,QAAQF,CAAK,EACvB,IAAME,EAAO,WAAWF,CAAK,EACZ,CACpC,GAAGD,EAAK,aAAa,EACrB,GAAGD,EAAM,QACT,MAAO,GACP,UAAW,GACX,WAAWoB,EAAM,CACfrB,EAAQ,IAAI,mBAAoBqB,EAAK,SAAS,CAChD,CACF,CAAC,CACH,EACA,iBAAiB,CAAC,SAAAtB,EAAU,QAAAC,EAAS,KAAAE,CAAI,EAAG,CAC1C,IAAMoB,EAAoBpB,EAAK,mBAAmB,EAIlDM,EAAI,IAAM,CACR,IAAMK,EAAaC,EAAMQ,EAAmB,CAC1C,MAAO,GACP,SAAUtB,EAAQ,IAAI,YAAY,EAClC,QAASD,EAAS,kBAAkB,EAChCA,EAAS,eAAe,EACxB,EACN,CAAC,EACDC,EAAQ,IAAI,aAAca,CAAU,CACtC,CAAC,CACH,EACA,mBAAmB,CAAC,KAAAX,EAAM,KAAAqB,EAAM,MAAApB,CAAK,EAAG,CACtC,IAAMqB,EAAkBD,EAAK,IAAI,iBAAiB,EAClD,GAAIC,EAAiB,CACnB,IAAMC,EAAavB,EAAK,YAAY,EAAE,WACtCsB,EAAgB,CACd,WAAY,IAAME,EAAUvB,EAAOsB,CAAU,EAC7C,UAAW,GACX,MAAO,CACT,CAAC,CACH,KAAO,CACL,IAAME,EAAYtB,EAAO,QAAQF,CAAK,EACtC,GAAI,CAACwB,EACH,OAEFA,EAAU,UAAY,CACxB,CACF,EACA,wBAAwB,CAAC,QAAA3B,EAAS,KAAAE,EAAM,KAAAqB,EAAM,MAAApB,CAAK,EAAG,CACpDyB,GAAS,IAAM,CACb,IAAMX,EAAmBjB,EAAQ,IAAI,kBAAkB,EACvD,GAAIiB,GAAoB,KACtB,OAGF,IAAMY,EAASH,EAAUvB,EAAOc,CAAgB,EAC1CU,EAAYtB,EAAO,QAAQF,CAAK,EAEhCqB,EAAkBD,EAAK,IAAI,iBAAiB,EAClD,GAAIC,EAAiB,CACnB,IAAMM,EACJ5B,EAAK,YAAY,EAAE,QAAQe,CAAgB,EAC7CO,EAAgB,CACd,WAAY,IAAME,EAAUvB,EAAOc,CAAgB,EACnD,UAAW,GACX,MAAOa,CACT,CAAC,EACD,MACF,CAEAC,EAAeF,EAAQ,CAAC,MAAO,UAAW,OAAQF,CAAS,CAAC,CAC9D,CAAC,CACH,EACA,sBAAsBlB,EAAQ,CAC5B,GAAM,CAAC,QAAAT,EAAS,KAAAE,CAAI,EAAIO,EAClBH,EAAaJ,EAAK,YAAY,EAG9Be,EAAmBjB,EAAQ,IAAI,kBAAkB,EACvD,GAAI,CAACiB,GAAoB,CAACX,EAAW,IAAIW,CAAgB,EACvD,OAIF,IAAMN,EAAYT,EAAK,UAAU,EAC7B8B,EAAYhC,EAAQ,IAAI,OAAO,EAAGiB,CAAgB,EAClD,CAACA,CAAgB,EACrBf,EAAK,UAAU,IAAI,CAAC,UAAWe,EAAkB,MAAON,CAAS,CAAC,EAClEX,EAAQ,IAAI,QAASW,CAAS,EAG9B,IAAME,EAAaC,EAAMZ,EAAK,mBAAmB,EAAG,CAClD,MAAO,GACP,SAAUF,EAAQ,IAAI,YAAY,EAClC,QAASM,EAAW,cAAcK,CAAS,CAC7C,CAAC,EACDX,EAAQ,IAAI,aAAca,CAAU,CACtC,EACA,WAAWJ,EAAQ,CACjB,GAAM,CAAC,QAAAT,EAAS,MAAAC,EAAO,MAAAS,EAAO,KAAAR,CAAI,EAAIO,EAClCR,EAAM,OAAS,MAGnBS,EAAM,IAAM,CACV,IAAMC,EAAYT,EAAK,UAAU,EAC7B8B,EAAYhC,EAAQ,IAAI,OAAO,EAAGC,EAAM,KAAK,EAC7C,CAACA,EAAM,KAAK,EAChBC,EAAK,UAAU,IAAI,CAAC,UAAWD,EAAM,MAAO,MAAOU,CAAS,CAAC,EAC7DX,EAAQ,IAAI,QAASW,CAAS,EAG9B,IAAME,EAAaC,EAAMZ,EAAK,mBAAmB,EAAG,CAClD,MAAO,GACP,SAAUF,EAAQ,IAAI,YAAY,EAClC,QAASE,EAAK,YAAY,EAAE,cAAcS,CAAS,CACrD,CAAC,EACDX,EAAQ,IAAI,aAAca,CAAU,CACtC,CAAC,CACH,EACA,cAAc,CAAC,MAAAV,CAAK,EAAG,CACrBK,EAAI,IAAM,CACUH,EAAO,QAAQF,CAAK,GACvB,QAAQ,WAAa,KAClC8B,EAAa9B,CAAK,EAElB+B,EAAe/B,CAAK,CAExB,CAAC,CACH,EACA,oBAAoB,CAAC,QAAAH,EAAS,MAAAC,CAAK,EAAG,CAChCA,EAAM,OAAS,MAGnBD,EAAQ,IAAI,mBAAoBC,EAAM,KAAK,CAC7C,EACA,gBAAgB,CAAC,MAAAE,CAAK,EAAG,CACvBK,EAAI,IAAM,CACRyB,EAAa9B,CAAK,CACpB,CAAC,CACH,EACA,cAAc,CAAC,QAAAH,EAAS,MAAAC,CAAK,EAAG,CAC9BD,EAAQ,IAAI,aAAcC,EAAM,KAAK,CACvC,EACA,SAASQ,EAAQ,CACf,GAAM,CAAC,QAAAT,EAAS,MAAAC,EAAO,MAAAS,EAAO,KAAAR,CAAI,EAAIO,EACtCC,EAAM,IAAM,CACVV,EAAQ,IAAI,QAASC,EAAM,KAAK,EAGhC,IAAMY,EAAaC,EAAMZ,EAAK,mBAAmB,EAAG,CAClD,MAAO,GACP,SAAUF,EAAQ,IAAI,YAAY,EAClC,QAASE,EAAK,YAAY,EAAE,cAAcD,EAAM,KAAK,CACvD,CAAC,EACDD,EAAQ,IAAI,aAAca,CAAU,CACtC,CAAC,CACH,EACA,oBAAoB,CAAC,QAAAb,EAAS,KAAAE,CAAI,EAAG,CACnC,IAAMiC,EAAOjC,EAAK,YAAY,EAAE,KAAKF,EAAQ,IAAI,kBAAkB,CAAC,EACpEA,EAAQ,IAAI,kBAAmBmC,EAAM,CAAC,CAAC,CACzC,EACA,eAAe,CAAC,MAAAhC,EAAO,MAAAiC,CAAK,EAAG,CAC7B,IAAMC,EAAQhC,EAAO,MAAMF,CAAK,EAC3BkC,GAIHA,EAAM,cAAc,gBAAkBA,GACtCD,EAAM,IAAI,IAAM,WAEhBA,EAAM,IAAI,SAAS,CAEvB,EACA,eAAe,CAAC,QAAApC,EAAS,MAAAC,EAAO,MAAAE,CAAK,EAAG,CACtC,IAAMC,EAAUC,EAAO,MAAMF,CAAK,EAE7BC,IAGLA,EAAQ,MAAQJ,EAAQ,IAAI,YAAY,EAExC,eAAe,IAAM,CACfC,EAAM,QAAQ,EAAE,OAAS,gBAG7BqC,GAAclC,CAAO,CACvB,CAAC,EACH,EACA,kBAAkBK,EAAQ,CACxB,eAAe,IAAM,CACnB,GAAM,CAAC,QAAAT,EAAS,KAAAE,CAAI,EAAIO,EAClBH,EAAaJ,EAAK,YAAY,EAC9Ba,EAAQf,EAAQ,IAAI,OAAO,EAG3BuC,EAAgBxB,EAAM,IAAKyB,GAClBxC,EACV,IAAI,eAAe,EACnB,KAAMmC,GAAS7B,EAAW,aAAa6B,CAAI,IAAMK,CAAC,GACtClC,EAAW,KAAKkC,CAAC,CACjC,EACDxC,EAAQ,IAAI,gBAAiBuC,CAAa,EAG1C,IAAM1B,EAAaC,EAAMZ,EAAK,mBAAmB,EAAG,CAClD,MAAO,GACP,SAAUF,EAAQ,IAAI,YAAY,EAClC,QAASM,EAAW,cAAcS,CAAK,CACzC,CAAC,EACDf,EAAQ,IAAI,aAAca,CAAU,CACtC,CAAC,CACH,EACA,iBAAiB,CAAC,MAAAZ,EAAO,KAAAC,EAAM,KAAAuC,CAAI,EAAG,CACpCA,EAAK,CACH,cAAexC,EACf,KAAMC,EAAK,MAAM,EAAI,kBAAoB,kBAC3C,CAAC,CACH,CACF,EAEA,SAAU,CACR,aAAc,CAAC,CAAC,KAAAA,CAAI,IAAMA,EAAK,eAAe,IAAM,eACpD,cAAe,CAAC,CAAC,KAAAA,CAAI,IAAMA,EAAK,eAAe,IAAM,gBACrD,iBAAkB,CAAC,CAAC,QAAAF,CAAO,IAAMA,EAAQ,IAAI,OAAO,EAAE,OAAS,EAC/D,cAAe,CAAC,CAAC,SAAAD,EAAU,QAAAC,CAAO,IAChCA,EAAQ,IAAI,YAAY,IAAMD,EAAS,eAAe,EACxD,kBAAmB,CAAC,CAAC,QAAAC,CAAO,IAAMA,EAAQ,IAAI,YAAY,EAAE,SAAW,EACvE,cAAe,CAAC,CAAC,KAAAE,CAAI,IAAM,EAAEA,EAAK,UAAU,GAAKA,EAAK,UAAU,GAChE,cAAe,CAAC,CAAC,QAAAF,EAAS,KAAAE,CAAI,IAC5BA,EAAK,YAAY,EAAE,eAAeF,EAAQ,IAAI,eAAe,CAAC,CAClE,EAEA,QAAQ,CAAC,SAAA0C,EAAU,WAAAC,EAAY,SAAAC,EAAU,KAAA1C,CAAI,EAAG,CAC9C,MAAO,CACL,iBAAkBwC,EAAgC,KAAO,CACvD,aAAc,MAChB,EAAE,EACF,gBAAiBA,EAAwB,IAAM,CAC7C,IAAMzB,EAAmBf,EAAK,kBAAkB,EAEhD,MAAO,CAAC,aADgBA,EAAK,YAAY,EAAE,KAAKe,CAAgB,CAC3B,CACvC,CAAC,EACD,iBAAkByB,EAAwB,KAAO,CAC/C,aAAcxC,EAAK,yBAAyB,GAAK,KACjD,SAASa,EAAO,CACd,IAAMoB,EAAOjC,EAAK,YAAY,EAAE,KAAKa,CAAK,EAC1Cb,EAAK,mBAAmB,IAAI,CAC1B,gBAAiBiC,EACjB,iBAAkBpB,CACpB,CAAC,CACH,EACA,MAAOb,EAAK,kBAAkB,CAChC,EAAE,EACF,WAAYwC,EAAiB,IAAM,CACjC,IAAI7B,EAAaX,EAAK,YAAY,GAAKA,EAAK,mBAAmB,GAAK,GAC9Da,EAAQb,EAAK,OAAO,GAAKA,EAAK,cAAc,GAAK,CAAC,EAExD,GAAI,CAACW,EAAW,KAAK,GAAK,CAACX,EAAK,UAAU,EAAG,CAC3C,IAAM2C,EAAgB3C,EAAK,YAAY,EAAE,cAAca,CAAK,EAC5DF,EAAaC,EAAMZ,EAAK,mBAAmB,EAAG,CAC5C,MAAO,GACP,SAAUW,GAAcgC,EACxB,QAASA,CACX,CAAC,CACH,CAEA,MAAO,CACL,aAAchC,EACd,SAASE,EAAO,CACd,IAAMd,EAAQ2C,EAAS,EACjB1B,GAAUjB,EAAM,eAAiBA,GAAO,IAC9CC,EAAK,oBAAoB,IAAI,CAAC,WAAYa,EAAO,OAAAG,CAAM,CAAC,CAC1D,EACA,MAAOhB,EAAK,YAAY,CAC1B,CACF,CAAC,EACD,cAAewC,EAAmB,IAAM,CACtC,IAAM3B,EAAQb,EAAK,OAAO,GAAKA,EAAK,cAAc,GAAK,CAAC,EAExD,MAAO,CAAC,aADcA,EAAK,YAAY,EAAE,SAASa,CAAK,CACpB,CACrC,CAAC,EACD,MAAO2B,EAAS,KAAO,CACrB,aAAcxC,EAAK,cAAc,EACjC,KAAKa,EAAO,CACV,OAAOA,EAAM,KAAK,GAAG,CACvB,EACA,QAAA+B,GACA,SAAS/B,EAAO,CACd,IAAMf,EAAU2C,EAAW,EACrBI,EAAoB/C,EAAQ,IAAI,eAAe,EAC/CM,EAAaJ,EAAK,YAAY,EAE9B8C,EAAmBjC,EAAM,IAAKyB,GACrBO,EAAkB,KAC5BZ,GAAc7B,EAAW,aAAa6B,CAAI,IAAMK,CACnD,GACelC,EAAW,KAAKkC,CAAC,CACjC,EAEDxC,EAAQ,IAAI,gBAAiBgD,CAAS,EAEtC9C,EAAK,eAAe,IAAI,CAAC,MAAO8C,EAAW,MAAAjC,CAAK,CAAC,CACnD,EACA,MAAOb,EAAK,OAAO,CACrB,EAAE,CACJ,CACF,EAEA,QAAS,CACP,kBAAkB,CAAC,MAAAC,CAAK,EAAG,CACzB,OAAO8C,GAAW,CAChB5C,EAAO,MAAMF,CAAK,EAClBE,EAAO,QAAQF,CAAK,EACpBE,EAAO,QAAQF,CAAK,EACpBE,EAAO,aAAaF,CAAK,CAC3B,CAAC,CACH,EACA,wBAAwB,CAAC,QAAAH,EAAS,MAAAC,EAAO,KAAAC,EAAM,KAAAqB,EAAM,MAAApB,CAAK,EAAG,CAC3D,IAAMC,EAAUC,EAAO,MAAMF,CAAK,EAE5B+C,EAA2B,CAAC,EAE5BC,EAAQC,GAAuB,CACnC,IAAMC,EAAUpD,EAAM,QAAQ,EAAE,KAAK,SAAS,SAAS,EACjDgB,EAAmBjB,EAAQ,IAAI,kBAAkB,EACvD,GAAIqD,GAAW,CAACpC,EACd,OAGF,IAAMU,EAAYtB,EAAO,QAAQF,CAAK,EAEhCqB,EAAkBD,EAAK,IAAI,iBAAiB,EAClD,GAAIC,EAAiB,CACnB,IAAMM,EACJ5B,EAAK,YAAY,EAAE,QAAQe,CAAgB,EAC7CO,EAAgB,CACd,WAAY,IAAME,EAAUvB,EAAOc,CAAgB,EACnD,UAAAmC,EACA,MAAOtB,CACT,CAAC,EACD,MACF,CAEA,IAAMD,EAASH,EAAUvB,EAAOc,CAAgB,EAC1CqC,EAAc9C,EAAI,IAAM,CAC5BuB,EAAeF,EAAQ,CAAC,MAAO,UAAW,OAAQF,CAAS,CAAC,CAC9D,CAAC,EACDuB,EAAS,KAAKI,CAAW,CAC3B,EAEMC,EAAa/C,EAAI,IAAM2C,EAAK,EAAI,CAAC,EACvCD,EAAS,KAAKK,CAAU,EAExB,IAAMC,EAAkBC,GAAkBrD,EAAS,CACjD,WAAY,CAAC,uBAAuB,EACpC,SAAU,IAAM+C,EAAK,EAAK,CAC5B,CAAC,EACD,OAAAD,EAAS,KAAKM,CAAe,EAEtB,IAAM,CACXN,EAAS,QAASQ,GAAYA,EAAQ,CAAC,CACzC,CACF,EACA,sBAAsB,CAAC,KAAAxD,EAAM,MAAAC,EAAO,KAAAsC,CAAI,EAAG,CACzC,OAAIvC,EAAK,cAAc,EACrB,OAGKyD,GADW,IAAMtD,EAAO,QAAQF,CAAK,EACF,CACxC,MAAO,GACP,QAAS,IAAM,CACbE,EAAO,MAAMF,CAAK,EAClBE,EAAO,QAAQF,CAAK,EACpBE,EAAO,aAAaF,CAAK,CAC3B,EACA,WAAY,CACVsC,EAAK,CACH,aAAc,GACd,IAAK,mBACL,KAAM,wBACR,CAAC,CACH,EACA,gBAAgBxC,EAAO,CACrBA,EAAM,eAAe,EACrBA,EAAM,gBAAgB,EACtBwC,EAAK,CAAC,IAAK,aAAc,KAAM,cAAc,CAAC,CAChD,EACA,eAAgBvC,EAAK,gBAAgB,EACrC,kBAAmBA,EAAK,mBAAmB,EAC3C,qBAAsBA,EAAK,sBAAsB,EACjD,KAAM,SACR,CAAC,CACH,EACA,kBAAkB,CAAC,MAAAC,CAAK,EAAG,CACzB,OAAOyD,GAAkB,CAAC,KAAMzD,EAAM,cAAc,CAAC,CAAC,CACxD,EACA,eAAe,CAAC,QAAAH,EAAS,KAAAE,EAAM,MAAAC,CAAK,EAAG,CACrC,IAAM0D,EAAW,IAAMxD,EAAO,QAAQF,CAAK,GAAKE,EAAO,QAAQF,CAAK,EAC9D2D,EAAe,IAAMzD,EAAO,WAAWF,CAAK,EAElD,OAAAH,EAAQ,IAAI,mBAAoBE,EAAK,aAAa,EAAE,SAAS,EACtDkB,EAAayC,EAAUC,EAAc,CAC1C,GAAG5D,EAAK,aAAa,EACrB,MAAO,GACP,WAAWmB,EAAM,CACfrB,EAAQ,IAAI,mBAAoBqB,EAAK,SAAS,CAChD,CACF,CAAC,CACH,CACF,EAEA,OAAQ,CACN,iBAAkB,CAAC,CAAC,KAAAnB,CAAI,IAAM,CAAC,CAACA,EAAK,kBAAkB,EACvD,aAAc,CAAC,CAAC,SAAAH,EAAU,KAAAG,CAAI,IAC5BH,EAAS,cAAc,GAAK,CAACG,EAAK,UAAU,EAC9C,UAAW,CAAC,CAAC,KAAAA,CAAI,IAAM,CAAC,CAACA,EAAK,WAAW,EACzC,cAAe,CAAC,CAAC,SAAAH,CAAQ,IAAMA,EAAS,eAAe,EACvD,cAAe,CAAC,CAAC,KAAAG,CAAI,IAAM,CAAC,CAACA,EAAK,eAAe,EACjD,mBAAoB,CAAC,CAAC,QAAAF,CAAO,IAC3BA,EAAQ,IAAI,kBAAkB,GAAK,KACrC,cAAe,CAAC,CAAC,MAAAC,CAAK,IAAMA,EAAM,eAAe,OAAS,eAC1D,cAAe,CAAC,CAAC,SAAAF,CAAQ,IAAMA,EAAS,eAAe,EACvD,uBAAwB,CAAC,CAAC,QAAAC,EAAS,KAAAE,CAAI,IACrCA,EAAK,YAAY,EAAE,aAAeF,EAAQ,IAAI,kBAAkB,EAClE,yBAA0B,CAAC,CAAC,QAAAA,EAAS,KAAAE,CAAI,IACvC,CAACA,EAAK,YAAY,EAAE,IAAIF,EAAQ,IAAI,kBAAkB,CAAC,EACzD,kBAAmB,CAAC,CAAC,SAAAD,CAAQ,IAAMA,EAAS,mBAAmB,EAC/D,sBAAuB,CAAC,CAAC,QAAAC,EAAS,KAAAE,CAAI,IACpCA,EAAK,YAAY,EAAE,YAAcF,EAAQ,IAAI,kBAAkB,EACjE,iBAAkB,CAAC,CAAC,KAAAE,CAAI,IAAMA,EAAK,MAAM,GAAK,KAC9C,aAAc,CAAC,CAAC,QAAAF,EAAS,KAAAE,CAAI,IAAM,CACjC,IAAM6D,EAAe7D,EAAK,cAAc,EACxC,OAAI8D,GAAUD,CAAY,EACjBA,EAEF,CAAC,CAACA,IAAe,CAAC,WAAY/D,EAAQ,IAAI,YAAY,CAAC,CAAC,CACjE,EACA,aAAc,CAAC,CAAC,MAAAC,CAAK,IACnBA,EAAM,cAAgB,KAAO,GAAO,CAAC,CAACA,EAAM,YAChD,EAEA,IAAK,CAAC,CAAC,WAAAgE,EAAY,IAAAC,CAAG,KACb,CACL,aAAcD,EAAWC,GAAK,YAAY,EAC1C,QAASD,EAAWC,GAAK,OAAO,EAChC,QAASD,EAAWC,GAAK,OAAO,EAChC,UAAWD,EAAWC,GAAK,SAAS,EACpC,KAAMD,EAAWC,GAAK,IAAI,EAC1B,MAAOD,EAAWC,GAAK,KAAK,EAC5B,MAAOD,EAAWC,GAAK,KAAK,EAC5B,WAAYD,EAAWC,GAAK,UAAU,EACtC,KAAMD,EAAWC,GAAK,IAAI,EAC1B,QAASD,EAAWC,GAAK,OAAO,CAClC,GAGF,aAAa,CAAC,KAAAhE,CAAI,EAAG,CAEnB,OADaA,EAAK,MAAM,GAAKA,EAAK,aAAa,EACjC,aAAe,MAC/B,EAEA,GAAI,CACF,0BAA2B,CACzB,QAAS,CAAC,uBAAuB,CACnC,EACA,wBAAyB,CACvB,QAAS,CAAC,qBAAqB,CACjC,EACA,kBAAmB,CACjB,QAAS,CAAC,eAAe,CAC3B,EACA,aAAc,CACZ,QAAS,CAAC,WAAW,CACvB,EACA,cAAe,CACb,QAAS,CAAC,YAAY,CACxB,EACA,kBAAmB,CACjB,QAAS,CAAC,YAAY,CACxB,EACA,sBAAuB,CACrB,QAAS,CAAC,mBAAmB,CAC/B,EACA,YAAa,CACX,QAAS,CAAC,UAAU,CACtB,CACF,EAEA,OAAQ,CACN,QAAS,CACPiE,GAA6B,CAC3B,CACE,QAAS,CAAC,iBAAiB,EAC3B,MAAO,WACT,CACF,CAAC,EACD,gBACF,EACA,QAAS,CAAC,mBAAmB,CAC/B,EAEA,MAAM,CAAC,MAAAC,CAAK,EAAG,CACb,MAAO,CACL,iBAAkB,GAClB,oBAAqB,GACrB,cAAe,CAACA,EAAM,SACtB,WAAYA,EAAM,YAAcC,EAAgB,EAChD,UAAW,GACX,kBAAmB,GACnB,aAAc,CAAC,EACf,cAAe,OACf,UAAW,GACX,aAAc,GACd,YAAa,GACb,eAAgB,GAChB,kBAAmBD,EAAM,SAAW,QAAU,UAC9C,GAAGA,EACH,YAAa,CACX,OAAQ,EACR,UAAW,eACX,UAAW,GACX,GAAGA,EAAM,WACX,EACA,aAAc,CACZ,kBAAmB,cACnB,aAAc,qBACd,GAAGA,EAAM,YACX,CACF,CACF,EAEA,KAAM,CAAC,CAAC,KAAAlE,CAAI,KACH,CACL,gBAAiBA,EAAK,iBAAiB,CACzC,GAGF,OAAQ,CACN,QAAS,CACP,MAAO,CAAC,qBAAsB,uBAAuB,EACrD,GAAI,CACF,kBAAmB,CACjB,CACE,MAAO,gBACP,OAAQ,YACV,EACA,CACE,OAAQ,aACV,CACF,EACA,mBAAoB,CAElB,CACE,QAAS,CAAC,cAAc,EACxB,MAAOR,EAAI,mBAAoB,cAAc,CAC/C,EACA,CACE,QAAS,CAAC,cAAc,EACxB,MAAO,eACP,OAAQ,aACV,EAEA,CACE,QAAS,CAAC,+BAAgC,cAAc,EACxD,MAAO,kBACT,EACA,CACE,QAAS,CAAC,+BAAgC,cAAc,EACxD,OAAQ,aACV,CACF,EACA,iBAAkB,CAEhB,CACE,QAAS,CAAC,cAAc,EACxB,MAAO,eACP,OAAQ,aACV,EACA,CACE,QAAS,CAAC,cAAc,EACxB,MAAO,eACP,OAAQ,aACV,EAEA,CACE,QAAS,CAAC,8BAA+B,cAAc,EACvD,OAAQ,aACV,EACA,CACE,QAAS,CAAC,8BAA+B,cAAc,EACvD,OAAQ,aACV,CACF,EACA,aAAc,CACZ,OAAQ,MACV,EACA,eAAgB,CACd,CACE,QAAS,CACP,gBACA,eACA,4BACF,EACA,MAAOA,EAAI,mBAAoB,cAAc,CAC/C,EACA,CACE,QAAS,CACP,gBACA,eACA,4BACF,EACA,MAAO,eACP,OAAQ,YACV,EACA,CACE,QAAS,CAAC,eAAe,CAC3B,CACF,EACA,cAAe,CACb,CACE,QAAS,CAAC,6BAA8B,cAAc,EACtD,MAAO,kBACT,EACA,CACE,QAAS,CAAC,6BAA8B,cAAc,EACtD,OAAQ,aACV,CACF,EACA,eAAgB,CACd,QAAS,CAAC,kBAAkB,EAC5B,MAAOA,EAAI,gBAAiBC,EAAI,kBAAkB,CAAC,CACrD,EACA,yBAA0B,CACxB,OAAQ,MACV,EACA,KAAM,CACJ,CACE,QAAS,CAAC,cAAc,EACxB,MAAO,kBACT,EACA,CACE,QAAS,CAAC,cAAc,EACxB,OAAQ,aACV,CACF,EACA,gBAAiB,CACf,CACE,QAAS,CACP,kBACA,6BACA,cACF,EACA,MAAO,kBACT,EACA,CACE,QAAS,CACP,kBACA,6BACA,cACF,EACA,OAAQ,aACV,CACF,EACA,cAAe,CACb,QAAS,CAAC,kBAAmB,oBAAoB,CACnD,CACF,EACA,KAAM,CAAC,UAAW,QAAQ,CAC5B,EAEA,KAAM,CACJ,MAAO,CAAC,qBAAsB,uBAAuB,EACrD,GAAI,CACF,kBAAmB,CACjB,OAAQ,aACV,EACA,cAAe,CACb,CACE,QAAS,CAAC,6BAA8B,cAAc,EACtD,MAAO,kBACT,EACA,CACE,QAAS,CAAC,6BAA8B,cAAc,EACtD,OAAQ,aACV,CACF,EACA,cAAe,CACb,OAAQ,SACV,EACA,KAAM,CACJ,CACE,QAAS,CAAC,cAAc,EACxB,MAAO,kBACT,EACA,CACE,QAAS,CAAC,cAAc,EACxB,OAAQ,aACV,CACF,EACA,gBAAiB,CACf,CACE,QAAS,CACP,kBACA,6BACA,cACF,EACA,MAAO,kBACT,EACA,CACE,QAAS,CACP,kBACA,6BACA,cACF,EACA,OAAQ,aACV,CACF,EACA,cAAe,CACb,QAAS,CACP,kBACA,qBACA,iBACF,EACA,OAAQ,SACV,CACF,EACA,KAAM,CAAC,OAAQ,QAAQ,CACzB,EAEA,YAAa,CACX,QAAS,CACP,0BACA,wBACA,iBACA,mBACF,EACA,MAAO,CAAC,iBAAiB,EACzB,GAAI,CACF,gBAAiB,CACf,CACE,QAAS,CAAC,uBAAuB,EACjC,MAAO,0BACT,EACA,CACE,QAAS,CAAC,yBAAyB,CACrC,CACF,EACA,MAAO,CACL,CACE,QAAS,CAAC,eAAe,EACzB,MAAO,kBACT,EACA,CACE,QAAS,CAAC,gBAAiB,eAAe,EAC1C,OAAQ,SACV,CACF,EACA,mBAAoB,CAClB,CACE,QAAS,CAAC,eAAe,EACzB,MAAO,eACP,OAAQ,SACV,EACA,CACE,OAAQ,MACV,CACF,EACA,mBAAoB,CAClB,CACE,QAAS,CAAC,wBAAyB,oBAAoB,EACvD,MAAOD,EAAI,eAAgB,uBAAuB,CACpD,EACA,CACE,QAAS,CAAC,mBAAmB,CAC/B,CACF,EACA,iBAAkB,CAChB,CACE,QAAS,CAAC,uBAAuB,EACjC,MAAOA,EAAI,eAAgB,wBAAwB,CACrD,EACA,CACE,QAAS,CAAC,mBAAmB,CAC/B,CACF,EACA,eAAgB,CACd,CACE,QAAS,CAAC,eAAe,EACzB,MAAO,eACP,OAAQ,YACV,EACA,CACE,QAAS,CAAC,wBAAyB,eAAe,EAClD,OAAQ,YACV,CACF,EACA,YAAa,CACX,QAAS,CAAC,mBAAmB,CAC/B,EACA,cAAe,CAEb,CACE,QAAS,CAAC,mBAAoB,eAAe,EAC7C,MAAOA,EACL,mBAEA,gBACAC,EAAI,oBAAoB,EACxBA,EAAI,kBAAkB,CACxB,CACF,EACA,CACE,QAAS,CAAC,mBAAoB,eAAe,EAC7C,MAAOD,EACL,gBACAC,EAAI,oBAAoB,EACxBA,EAAI,kBAAkB,CACxB,EACA,OAAQ,SACV,EAEA,CACE,QAAS,CAAC,wBAAyB,eAAe,EAClD,MAAOD,EAAI,mBAAoB,eAAe,CAChD,EACA,CACE,QAAS,CACP,wBACA,gBACA,eACF,EACA,MAAO,gBACP,OAAQ,SACV,EACA,CACE,QAAS,CAAC,uBAAuB,CACnC,CACF,EACA,aAAc,CACZ,QAAS,CAAC,oBAAoB,CAChC,EACA,aAAc,CACZ,CACE,QAAS,CAAC,aAAc,eAAe,EACvC,MAAOA,EAAI,mBAAoB,eAAe,CAChD,EACA,CACE,QAAS,CAAC,aAAc,gBAAiB,eAAe,EACxD,MAAO,gBACP,OAAQ,SACV,EACA,CACE,QAAS,CAAC,YAAY,CACxB,CACF,EACA,qBAAsB,CACpB,QAAS,CAAC,uBAAuB,CACnC,EACA,oBAAqB,CACnB,QAAS,CAAC,qBAAqB,CACjC,EACA,eAAgB,CACd,CACE,QAAS,CAAC,iBAAkB,eAAe,EAC3C,MAAOA,EAAI,mBAAoB,cAAc,CAC/C,EACA,CACE,QAAS,CAAC,iBAAkB,eAAe,EAC3C,MAAO,eACP,OAAQ,SACV,EACA,CACE,QAAS,CAAC,eAAe,EACzB,MAAO,kBACT,EACA,CACE,QAAS,CAAC,gBAAiB,eAAe,EAC1C,OAAQ,SACV,CACF,EACA,yBAA0B,CAExB,CACE,QAAS,CAAC,mBAAoB,eAAe,EAC7C,MAAOA,EACL,mBACA,gBACAC,EAAI,kBAAkB,CACxB,CACF,EACA,CACE,QAAS,CAAC,mBAAoB,eAAe,EAC7C,MAAOD,EAAI,gBAAiBC,EAAI,kBAAkB,CAAC,EACnD,OAAQ,MACV,EAEA,CACE,QAAS,CAAC,eAAe,EACzB,MAAO,kBACT,EACA,CACE,QAAS,CAAC,eAAe,EACzB,OAAQ,MACV,CACF,EACA,gBAAiB,CACf,CACE,QAAS,CAAC,eAAe,EACzB,MAAO,kBACT,EACA,CACE,QAAS,CAAC,eAAe,EACzB,OAAQ,SACV,CACF,EACA,cAAe,CACb,CACE,QAAS,CACP,kBACA,qBACA,eACF,EACA,MAAO,kBACT,EACA,CACE,QAAS,CACP,kBACA,qBACA,gBACA,eACF,EACA,OAAQ,SACV,CACF,CACF,EACA,KAAM,CAAC,OAAQ,SAAS,CAC1B,EAEA,WAAY,CACV,QAAS,CACP,wBACA,0BACA,iBACA,mBACF,EACA,MAAO,CAAC,iBAAiB,EACzB,GAAI,CACF,gBAAiB,CACf,CACE,QAAS,CAAC,oBAAoB,EAC9B,MAAO,eACT,EACA,CACE,QAAS,CAAC,uBAAuB,EACjC,MAAO,0BACT,CACF,EACA,MAAO,CACL,CACE,QAAS,CAAC,eAAe,EACzB,MAAO,kBACT,EACA,CACE,QAAS,CAAC,gBAAiB,eAAe,EAC1C,OAAQ,SACV,CACF,EACA,mBAAoB,CAClB,CACE,QAAS,CAAC,eAAe,EACzB,MAAO,eACP,OAAQ,SACV,EACA,CACE,OAAQ,MACV,CACF,EACA,mBAAoB,CAClB,QAAS,CAAC,mBAAmB,EAC7B,OAAQ,aACV,EACA,iBAAkB,CAChB,QAAS,CAAC,mBAAmB,EAC7B,OAAQ,aACV,EACA,eAAgB,CACd,QAAS,CAAC,eAAe,CAC3B,EACA,YAAa,CACX,QAAS,CAAC,mBAAmB,EAC7B,OAAQ,aACV,EACA,cAAe,CAEb,CACE,QAAS,CAAC,mBAAoB,eAAe,EAC7C,MAAOD,EACL,mBACA,gBACAC,EAAI,oBAAoB,EACxBA,EAAI,kBAAkB,CACxB,CACF,EACA,CACE,QAAS,CAAC,mBAAoB,eAAe,EAC7C,MAAOD,EACL,gBACAC,EAAI,oBAAoB,EACxBA,EAAI,kBAAkB,CACxB,EACA,OAAQ,SACV,EAEA,CACE,QAAS,CAAC,wBAAyB,eAAe,EAClD,MAAOD,EAAI,mBAAoB,eAAe,CAChD,EACA,CACE,QAAS,CACP,wBACA,gBACA,eACF,EACA,MAAO,gBACP,OAAQ,SACV,EACA,CACE,QAAS,CAAC,uBAAuB,CACnC,CACF,EACA,aAAc,CACZ,QAAS,CAAC,oBAAoB,EAC9B,OAAQ,aACV,EACA,aAAc,CACZ,CACE,QAAS,CAAC,aAAc,eAAe,EACvC,MAAOA,EAAI,mBAAoB,eAAe,CAChD,EACA,CACE,QAAS,CAAC,aAAc,gBAAiB,eAAe,EACxD,MAAO,gBACP,OAAQ,SACV,EACA,CACE,QAAS,CAAC,YAAY,CACxB,CACF,EACA,qBAAsB,CACpB,QAAS,CAAC,uBAAuB,CACnC,EACA,oBAAqB,CACnB,QAAS,CAAC,qBAAqB,EAC/B,OAAQ,aACV,EACA,eAAgB,CACd,CACE,QAAS,CAAC,eAAe,EACzB,MAAO,kBACT,EACA,CACE,QAAS,CAAC,eAAe,EACzB,OAAQ,SACV,CACF,EACA,yBAA0B,CAExB,CACE,QAAS,CAAC,mBAAoB,eAAe,EAC7C,MAAOA,EACL,mBACA,gBACAC,EAAI,kBAAkB,CACxB,CACF,EACA,CACE,QAAS,CAAC,mBAAoB,eAAe,EAC7C,MAAOD,EAAI,gBAAiBC,EAAI,kBAAkB,CAAC,EACnD,OAAQ,MACV,EAEA,CACE,QAAS,CAAC,eAAe,EACzB,MAAO,kBACT,EACA,CACE,QAAS,CAAC,eAAe,EACzB,OAAQ,MACV,CACF,EACA,gBAAiB,CACf,CACE,QAAS,CAAC,eAAe,EACzB,MAAO,kBACT,EACA,CACE,QAAS,CAAC,eAAe,EACzB,OAAQ,SACV,CACF,EACA,cAAe,CACb,CACE,QAAS,CACP,kBACA,qBACA,eACF,EACA,MAAO,kBACT,EACA,CACE,QAAS,CACP,kBACA,qBACA,gBACA,eACF,EACA,OAAQ,SACV,CACF,CACF,EACA,KAAM,CAAC,OAAQ,SAAS,CAC1B,CACF,EAEA,MAAM,CAAC,OAAAqB,EAAQ,QAAAhB,EAAS,KAAAE,EAAM,KAAAuC,EAAM,MAAA6B,CAAK,EAAG,CAC1CA,EAAM,CAAC,IAAMtE,EAAQ,KAAK,OAAO,CAAC,EAAG,IAAM,CACzCgB,EAAO,CAAC,mBAAmB,CAAC,CAC9B,CAAC,EACDsD,EAAM,CAAC,IAAMtE,EAAQ,IAAI,YAAY,CAAC,EAAG,IAAM,CAC7CgB,EAAO,CAAC,gBAAgB,CAAC,CAC3B,CAAC,EACDsD,EAAM,CAAC,IAAMtE,EAAQ,IAAI,kBAAkB,CAAC,EAAG,IAAM,CACnDgB,EAAO,CAAC,sBAAuB,oBAAoB,CAAC,CACtD,CAAC,EACDsD,EAAM,CAAC,IAAMpE,EAAK,MAAM,CAAC,EAAG,IAAM,CAChCc,EAAO,CAAC,kBAAkB,CAAC,CAC7B,CAAC,EACDsD,EAAM,CAAC,IAAMpE,EAAK,YAAY,EAAE,SAAS,CAAC,EAAG,IAAM,CACjDuC,EAAK,CAAC,KAAM,iBAAiB,CAAC,CAChC,CAAC,CACH,CACF,CAAC,EAEH,SAAStB,EACPlB,EACsC,CACtC,OAAQA,EAAM,eAAiBA,GAAO,GACxC,CC7yCA,OAAQ,eAAAsE,GAAa,oBAAAC,OAAuB,4BAIrC,IAAMC,GACXF,GAA8B,EAC5B,mBACA,sBACA,YACA,gBACA,aACA,YACA,0BACA,oBACA,cACA,eACA,MACA,WACA,eACA,OACA,cACA,mBACA,MACA,gBACA,aACA,UACA,YACA,WACA,OACA,iBACA,oBACA,qBACA,oBACA,eACA,uBACA,WACA,gBACA,OACA,eACA,cACA,iBACA,cACA,cACA,WACA,WACA,kBACA,oBACA,eACA,OACF,EAEWG,GAGXF,GAAmCC,EAAa",
|
|
4
|
+
"sourcesContent": ["// 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 {getPlacementStyles} from \"@qualcomm-ui/dom/floating-ui\"\nimport {isFocusVisible} from \"@qualcomm-ui/dom/focus-visible\"\nimport {\n getEventKey,\n isComposingEvent,\n isContextMenuEvent,\n isDownloadingEvent,\n isLeftClick,\n isOpeningInNewTab,\n} from \"@qualcomm-ui/dom/query\"\nimport {booleanAriaAttr, booleanDataAttr} from \"@qualcomm-ui/utils/attributes\"\nimport type {CollectionItem} from \"@qualcomm-ui/utils/collection\"\nimport type {DirectionProperty} from \"@qualcomm-ui/utils/direction\"\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 type {\n ComboboxApi,\n ComboboxApiItemProps,\n ComboboxClearTriggerBindings,\n ComboboxControlBindings,\n ComboboxEmptyBindings,\n ComboboxErrorIndicatorBindings,\n ComboboxErrorTextBindings,\n ComboboxHintBindings,\n ComboboxItemBindings,\n ComboboxItemContext,\n ComboboxItemGroupBindings,\n ComboboxItemGroupLabelBindings,\n ComboboxItemIndicatorBindings,\n ComboboxItemTextBindings,\n ComboboxLabelBindings,\n ComboboxPositionerBindings,\n ComboboxRootBindings,\n ComboboxSchema,\n ComboboxTriggerBindings,\n} from \"./combobox.types\"\nimport {\n domEls,\n domIds,\n getItemGroupId,\n getItemGroupLabelId,\n getItemId,\n} from \"./internal\"\n\nexport function createComboboxApi(\n machine: Machine<ComboboxSchema>,\n normalize: PropNormalizer,\n): ComboboxApi {\n const {computed, context, event, prop, refs, scope, send, state} = machine\n\n const translations = prop(\"translations\")\n const collection = prop(\"collection\")\n\n const disabled = !!prop(\"disabled\")\n const interactive = computed(\"isInteractive\")\n const invalid = !!prop(\"invalid\")\n const required = !!prop(\"required\")\n const readOnly = !!prop(\"readOnly\")\n\n const open = state.hasTag(\"open\")\n const focused = state.hasTag(\"focused\")\n const composite = prop(\"composite\")\n const highlightedValue = context.get(\"highlightedValue\")\n\n const popperStyles = getPlacementStyles({\n ...prop(\"positioning\"),\n placement: context.get(\"currentPlacement\"),\n })\n\n function getItemState(\n props: ComboboxApiItemProps<CollectionItem>,\n ): ComboboxItemContext {\n const itemDisabled = 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 ...props,\n disabled: disabled || itemDisabled,\n highlighted: highlightedValue === value,\n selected: context.get(\"value\").includes(value),\n value,\n }\n }\n\n const commonBindings: {\"data-scope\": \"combobox\"} & DirectionProperty = {\n \"data-scope\": \"combobox\",\n dir: prop(\"dir\"),\n }\n\n return {\n clearHighlightValue() {\n send({type: \"HIGHLIGHTED_VALUE.CLEAR\"})\n },\n clearValue(value) {\n if (value != null) {\n send({type: \"ITEM.CLEAR\", value})\n } else {\n send({type: \"VALUE.CLEAR\"})\n }\n },\n collection: prop(\"collection\"),\n disabled: !!disabled,\n focus() {\n domEls.input(scope)?.focus()\n },\n focused,\n hasSelectedItems: computed(\"hasSelectedItems\"),\n highlightedItem: context.get(\"highlightedItem\"),\n highlightedValue,\n inputValue: context.get(\"inputValue\"),\n multiple: !!prop(\"multiple\"),\n open,\n reposition(options = {}) {\n send({options, type: \"POSITIONING.SET\"})\n },\n required: prop(\"required\"),\n selectedItems: context.get(\"selectedItems\"),\n selectValue(value) {\n send({type: \"ITEM.SELECT\", value})\n },\n setHighlightValue(value) {\n send({type: \"HIGHLIGHTED_VALUE.SET\", value})\n },\n setInputValue(value, reason = \"script\") {\n send({src: reason, type: \"INPUT_VALUE.SET\", value})\n },\n setOpen(nextOpen, reason = \"script\") {\n const open = state.hasTag(\"open\")\n if (open === nextOpen) {\n return\n }\n send({src: reason, type: nextOpen ? \"OPEN\" : \"CLOSE\"})\n },\n setScrollToIndexFn(fn) {\n refs.set(\"scrollToIndexFn\", fn)\n },\n setValue(value) {\n send({type: \"VALUE.SET\", value})\n },\n syncSelectedItems() {\n send({type: \"SELECTED_ITEMS.SYNC\"})\n },\n value: context.get(\"value\"),\n valueAsString: computed(\"valueAsString\"),\n\n // group: bindings\n getClearTriggerBindings(props): ComboboxClearTriggerBindings {\n scope.ids.register(\"clearTrigger\", props)\n return normalize.button({\n ...commonBindings,\n \"aria-controls\": domIds.input(scope),\n \"aria-label\": translations.clearTriggerLabel,\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"clear-trigger\",\n\n disabled,\n hidden: !context.get(\"value\").length,\n id: props.id,\n onClick(event) {\n if (event.defaultPrevented) {\n return\n }\n if (!interactive) {\n return\n }\n send({src: \"clear-trigger\", type: \"VALUE.CLEAR\"})\n },\n onPointerDown(event) {\n if (!isLeftClick(event)) {\n return\n }\n event.preventDefault()\n },\n tabIndex: -1,\n type: \"button\",\n })\n },\n\n getContentBindings(props) {\n scope.ids.register(\"content\", props)\n return normalize.element({\n ...commonBindings,\n \"aria-labelledby\": domIds.label(scope),\n \"aria-multiselectable\":\n prop(\"multiple\") && composite ? \"true\" : undefined,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-empty\": booleanDataAttr(collection.size === 0),\n \"data-focus-visible\": booleanDataAttr(isFocusVisible()),\n \"data-part\": \"content\",\n \"data-placement\": context.get(\"currentPlacement\"),\n \"data-state\": open ? \"open\" : \"closed\",\n hidden: !open,\n id: props.id,\n onPointerDown(event) {\n if (!isLeftClick(event)) {\n return\n }\n // prevent options or elements within listbox from taking focus\n event.preventDefault()\n },\n role: !composite ? \"dialog\" : \"listbox\",\n tabIndex: -1,\n })\n },\n\n getControlBindings(props): ComboboxControlBindings {\n scope.ids.register(\"control\", props)\n return normalize.element({\n ...commonBindings,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"control\",\n \"data-state\": open ? \"open\" : \"closed\",\n id: props.id,\n })\n },\n\n getEmptyBindings(): ComboboxEmptyBindings {\n return normalize.element({\n ...commonBindings,\n \"data-part\": \"empty\",\n hidden: collection.size > 0,\n role: \"presentation\",\n })\n },\n\n getErrorIndicatorBindings(): ComboboxErrorIndicatorBindings {\n return normalize.element({\n ...commonBindings,\n \"aria-label\": \"Error\",\n \"data-part\": \"error-indicator\",\n hidden: !prop(\"invalid\"),\n })\n },\n\n getErrorTextBindings(\n props: IdRegistrationProps,\n ): ComboboxErrorTextBindings {\n scope.ids.register(\"errorText\", props)\n return normalize.element({\n ...commonBindings,\n \"aria-live\": \"polite\",\n \"data-part\": \"error-text\",\n hidden: !prop(\"invalid\"),\n id: props.id,\n })\n },\n\n getHintBindings(props: IdRegistrationProps): ComboboxHintBindings {\n scope.ids.register(\"hint\", props)\n return normalize.element({\n ...commonBindings,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-part\": \"hint\",\n id: props.id,\n })\n },\n\n getInputBindings(props) {\n scope.ids.register(\"input\", props)\n return normalize.input({\n ...commonBindings,\n \"aria-activedescendant\": highlightedValue\n ? getItemId(scope, highlightedValue)\n : undefined,\n \"aria-autocomplete\": computed(\"autoComplete\") ? \"both\" : \"list\",\n \"aria-controls\": domIds.content(scope),\n \"aria-expanded\": booleanAriaAttr(open),\n \"aria-invalid\": booleanAriaAttr(invalid),\n autoCapitalize: \"none\",\n autoComplete: \"off\",\n autoCorrect: \"off\",\n \"data-autofocus\": booleanDataAttr(prop(\"autoFocus\")),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"input\",\n \"data-state\": open ? \"open\" : \"closed\",\n defaultValue: context.get(\"inputValue\"),\n disabled,\n form: prop(\"form\"),\n id: props.id,\n name: prop(\"name\"),\n onBlur() {\n if (disabled) {\n return\n }\n send({type: \"INPUT.BLUR\"})\n },\n onChange(event) {\n send({\n src: \"input-change\",\n type: \"INPUT.CHANGE\",\n value: event.currentTarget.value,\n })\n },\n onClick(event) {\n if (event.defaultPrevented) {\n return\n }\n if (!prop(\"openOnClick\")) {\n return\n }\n if (!interactive) {\n return\n }\n send({src: \"input-click\", type: \"INPUT.CLICK\"})\n },\n onFocus() {\n if (disabled) {\n return\n }\n send({type: \"INPUT.FOCUS\"})\n },\n onKeyDown(event) {\n if (event.defaultPrevented || !interactive) {\n return\n }\n if (event.ctrlKey || event.shiftKey || isComposingEvent(event)) {\n return\n }\n\n const openOnKeyPress = prop(\"openOnKeyPress\")\n const isModifierKey = event.ctrlKey || event.metaKey || event.shiftKey\n const keypress = true\n\n const keymap: EventKeyMap = {\n ArrowDown(event) {\n if (!openOnKeyPress && !open) {\n return\n }\n send({\n keypress,\n src: \"arrow-key\",\n type: event.altKey ? \"OPEN\" : \"INPUT.ARROW_DOWN\",\n })\n event.preventDefault()\n },\n ArrowUp() {\n if (!openOnKeyPress && !open) {\n return\n }\n send({\n keypress,\n src: \"arrow-key\",\n type: event.altKey ? \"CLOSE\" : \"INPUT.ARROW_UP\",\n })\n event.preventDefault()\n },\n End(event) {\n if (isModifierKey) {\n return\n }\n send({keypress, type: \"INPUT.END\"})\n if (open) {\n event.preventDefault()\n }\n },\n Enter(event) {\n send({keypress, src: \"item-select\", type: \"INPUT.ENTER\"})\n\n // when there's a form owner, allow submitting custom value if\n // `allowCustomValue` is true\n const submittable =\n computed(\"isCustomValue\") && prop(\"allowCustomValue\")\n // Also allow submission when there's no highlighted item (bug fix)\n const hasHighlight = highlightedValue != null\n // Allow submission when alwaysSubmitOnEnter is true\n const alwaysSubmit = prop(\"alwaysSubmitOnEnter\")\n\n if (open && !submittable && !alwaysSubmit && hasHighlight) {\n event.preventDefault()\n }\n },\n Escape() {\n send({keypress, src: \"escape-key\", type: \"INPUT.ESCAPE\"})\n event.preventDefault()\n },\n Home(event) {\n if (isModifierKey) {\n return\n }\n send({keypress, type: \"INPUT.HOME\"})\n if (open) {\n event.preventDefault()\n }\n },\n }\n\n const key = getEventKey(event, {dir: prop(\"dir\")})\n const exec = keymap[key]\n exec?.(event)\n },\n placeholder: prop(\"placeholder\"),\n readOnly,\n required: prop(\"required\"),\n role: \"combobox\",\n spellCheck: \"false\",\n type: \"text\",\n })\n },\n\n getItemBindings(itemState): ComboboxItemBindings {\n const value = itemState.value\n\n return normalize.element({\n ...commonBindings,\n \"aria-disabled\": booleanAriaAttr(itemState.disabled),\n \"aria-selected\": booleanAriaAttr(itemState.highlighted),\n \"data-disabled\": booleanDataAttr(itemState.disabled),\n \"data-highlighted\": booleanDataAttr(itemState.highlighted),\n \"data-part\": \"item\",\n \"data-state\": itemState.selected ? \"checked\" : \"unchecked\",\n \"data-value\": itemState.value,\n id: getItemId(scope, value),\n onClick(event) {\n if (isDownloadingEvent(event)) {\n return\n }\n if (isOpeningInNewTab(event)) {\n return\n }\n if (isContextMenuEvent(event)) {\n return\n }\n if (itemState.disabled) {\n return\n }\n send({src: \"item-select\", type: \"ITEM.CLICK\", value})\n },\n onPointerLeave() {\n if (itemState.persistFocus) {\n return\n }\n if (itemState.disabled) {\n return\n }\n const prev = event.previous()\n const mouseMoved = prev?.type.includes(\"POINTER\")\n if (!mouseMoved) {\n return\n }\n send({type: \"ITEM.POINTER_LEAVE\", value})\n },\n onPointerMove() {\n if (itemState.disabled) {\n return\n }\n if (itemState.highlighted) {\n return\n }\n send({type: \"ITEM.POINTER_MOVE\", value})\n },\n role: \"option\",\n tabIndex: -1,\n })\n },\n\n getItemGroupBindings(props): ComboboxItemGroupBindings {\n const {id} = props\n return normalize.element({\n ...commonBindings,\n \"aria-labelledby\": getItemGroupLabelId(scope, id),\n \"data-empty\": booleanDataAttr(collection.size === 0),\n \"data-part\": \"item-group\",\n id: getItemGroupId(scope, id),\n role: \"group\",\n })\n },\n\n getItemGroupLabelBindings(props): ComboboxItemGroupLabelBindings {\n return normalize.element({\n ...commonBindings,\n \"data-part\": \"item-group-label\",\n id: getItemGroupLabelId(scope, props.htmlFor),\n role: \"presentation\",\n })\n },\n\n getItemIndicatorBindings(itemState): ComboboxItemIndicatorBindings {\n return normalize.element({\n ...commonBindings,\n \"aria-hidden\": true,\n \"data-part\": \"item-indicator\",\n \"data-state\": itemState.selected ? \"checked\" : \"unchecked\",\n hidden: !itemState.selected,\n })\n },\n\n getItemState,\n\n getItemTextBindings(itemState): ComboboxItemTextBindings {\n return normalize.element({\n ...commonBindings,\n \"data-disabled\": booleanDataAttr(itemState.disabled),\n \"data-highlighted\": booleanDataAttr(itemState.highlighted),\n \"data-part\": \"item-text\",\n \"data-state\": itemState.selected ? \"checked\" : \"unchecked\",\n })\n },\n\n getLabelBindings(props): ComboboxLabelBindings {\n scope.ids.register(\"label\", props)\n return normalize.label({\n ...commonBindings,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"label\",\n \"data-readonly\": booleanDataAttr(readOnly),\n \"data-required\": booleanDataAttr(required),\n htmlFor: domIds.input(scope),\n id: props.id,\n onClick(event) {\n if (composite) {\n return\n }\n event.preventDefault()\n domEls.trigger(scope)?.focus({preventScroll: true})\n },\n })\n },\n\n getPositionerBindings(props): ComboboxPositionerBindings {\n scope.ids.register(\"positioner\", props)\n return normalize.element({\n ...commonBindings,\n \"data-part\": \"positioner\",\n id: props.id,\n style: popperStyles.floating,\n })\n },\n\n getRootBindings(props): ComboboxRootBindings {\n scope.ids.register(\"root\", props)\n return normalize.element({\n ...commonBindings,\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"root\",\n \"data-readonly\": booleanDataAttr(readOnly),\n id: props.id,\n onClick: (event) => {\n if (event.target === domEls.control(scope)) {\n domEls.input(scope)?.focus({preventScroll: true})\n }\n },\n })\n },\n\n getTriggerBindings(props): ComboboxTriggerBindings {\n scope.ids.register(\"trigger\", props)\n return normalize.button({\n ...commonBindings,\n \"aria-controls\": open ? domIds.content(scope) : undefined,\n \"aria-expanded\": booleanAriaAttr(open),\n \"aria-haspopup\": composite ? \"listbox\" : \"dialog\",\n \"aria-label\": translations.triggerLabel,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-focusable\": booleanDataAttr(props.focusable),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"trigger\",\n \"data-readonly\": booleanDataAttr(readOnly),\n \"data-state\": open ? \"open\" : \"closed\",\n disabled,\n id: props.id,\n onClick(event) {\n if (event.defaultPrevented) {\n return\n }\n if (!interactive) {\n return\n }\n if (!isLeftClick(event)) {\n return\n }\n send({src: \"trigger-click\", type: \"TRIGGER.CLICK\"})\n },\n onFocus() {\n if (!props.focusable) {\n return\n }\n send({src: \"trigger\", type: \"INPUT.FOCUS\"})\n },\n onKeyDown(event) {\n if (event.defaultPrevented) {\n return\n }\n if (composite) {\n return\n }\n\n const keyMap: EventKeyMap = {\n ArrowDown() {\n send({src: \"arrow-key\", type: \"INPUT.ARROW_DOWN\"})\n },\n ArrowUp() {\n send({src: \"arrow-key\", type: \"INPUT.ARROW_UP\"})\n },\n }\n\n const key = getEventKey(event, {dir: prop(\"dir\")})\n const exec = keyMap[key]\n\n if (exec) {\n exec(event as any)\n event.preventDefault()\n }\n },\n onPointerDown(event) {\n if (!interactive) {\n return\n }\n if (event.pointerType === \"touch\") {\n return\n }\n if (!isLeftClick(event)) {\n return\n }\n event.preventDefault()\n queueMicrotask(() => {\n domEls.input(scope)?.focus({preventScroll: true})\n })\n },\n tabIndex: props.focusable ? undefined : -1,\n type: \"button\",\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 {query} from \"@qualcomm-ui/dom/query\"\nimport type {ScopeDomElements, ScopeDomIds} from \"@qualcomm-ui/utils/machine\"\n\nimport type {ComboboxElementIds, ComboboxScope} from \"../combobox.types\"\n\nexport const domIds: ScopeDomIds<\n Omit<ComboboxElementIds, \"itemGroupLabel\">,\n ComboboxScope\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 hint: (scope) => scope.ids.get(\"hint\"),\n input: (scope) => scope.ids.get(\"input\"),\n label: (scope) => scope.ids.get(\"label\"),\n positioner: (scope) => scope.ids.get(\"positioner\"),\n root: (scope) => scope.ids.get(\"root\"),\n trigger: (scope) => scope.ids.get(\"trigger\"),\n}\n\nexport const domEls: ScopeDomElements<\n Omit<ComboboxElementIds, \"itemGroup\" | \"itemGroupLabel\" | \"input\">,\n ComboboxScope\n> & {\n input: (scope: ComboboxScope) => HTMLInputElement | 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 hint: (scope) => scope.getById(domIds.hint(scope)),\n input: (scope) => scope.getById(domIds.input(scope)),\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 trigger: (scope) => scope.getById(domIds.trigger(scope)),\n}\n\nexport function getItemGroupId(scope: ComboboxScope, id: string) {\n return `${scope.ids.get(\"root\")}-item-group-${id}`\n}\n\nexport function getItemId(ctx: ComboboxScope, id: string) {\n return `${domIds.root(ctx)}-item-${id}`\n}\n\nexport function getItemGroupLabelId(ctx: ComboboxScope, id: string) {\n return `${domIds.root(ctx)}-item-group-label-${id}`\n}\n\nexport function getItemEl(\n ctx: ComboboxScope,\n value: string | null,\n): HTMLElement | null {\n if (value == null) {\n return null\n }\n const selector = `[role=option][data-value=\"${CSS.escape(value)}\"]`\n return query(domEls.content(ctx), selector)\n}\n\nexport function focusInputEl(ctx: ComboboxScope): void {\n const inputEl = domEls.input(ctx)\n if (ctx.isActiveElement(inputEl)) {\n return\n }\n inputEl?.focus({preventScroll: true})\n}\n\nexport function focusTriggerEl(ctx: ComboboxScope): void {\n const triggerEl = domEls.trigger(ctx)\n if (ctx.isActiveElement(triggerEl)) {\n return\n }\n triggerEl?.focus({preventScroll: true})\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 comboboxCollection = <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 {ariaHidden} from \"@qualcomm-ui/dom/aria-hidden\"\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 nextTick,\n observeAttributes,\n raf,\n scrollIntoView,\n setCaretToEnd,\n} from \"@qualcomm-ui/dom/query\"\nimport {addOrRemove, remove} from \"@qualcomm-ui/utils/array\"\nimport {isEqual} from \"@qualcomm-ui/utils/equal\"\nimport {match} from \"@qualcomm-ui/utils/functions\"\nimport {isBoolean} from \"@qualcomm-ui/utils/guard\"\nimport {\n createChoose,\n createGuards,\n createMachine,\n type GuardFn,\n type MachineConfig,\n} from \"@qualcomm-ui/utils/machine\"\n\nimport {emptyCollection} from \"./combobox.collection\"\nimport type {ComboboxOpenChangeReason, ComboboxSchema} from \"./combobox.types\"\nimport {domEls, focusInputEl, focusTriggerEl, getItemEl} from \"./internal\"\n\nconst {and, not} = createGuards<ComboboxSchema>()\n\nexport const comboboxMachine: MachineConfig<ComboboxSchema> =\n createMachine<ComboboxSchema>({\n actions: {\n autofillInputValue({computed, context, event, prop, scope}) {\n const inputEl = domEls.input(scope)\n const collection = prop(\"collection\")\n if (!computed(\"autoComplete\") || !inputEl || !event.keypress) {\n return\n }\n const valueText = collection.stringify(context.get(\"highlightedValue\"))\n raf(() => {\n inputEl.value = valueText || context.get(\"inputValue\")\n })\n },\n clearHighlightedValue({context}) {\n context.set(\"highlightedValue\", null)\n },\n clearInputValue({context}) {\n context.set(\"inputValue\", \"\")\n },\n clearItem(params) {\n const {context, event, flush, prop} = params\n if (event.value == null) {\n return\n }\n flush(() => {\n const nextValue = remove(context.get(\"value\"), event.value)\n context.set(\"value\", nextValue)\n\n // set input value\n const inputValue = match(prop(\"selectionBehavior\"), {\n clear: \"\",\n preserve: context.get(\"inputValue\"),\n replace: prop(\"collection\").stringifyMany(nextValue),\n })\n context.set(\"inputValue\", inputValue)\n })\n },\n clearSelectedItems(params) {\n const {context, flush, prop} = params\n flush(() => {\n context.set(\"value\", [])\n\n // set input value\n const inputValue = match(prop(\"selectionBehavior\"), {\n clear: \"\",\n preserve: context.get(\"inputValue\"),\n replace: prop(\"collection\").stringifyMany([]),\n })\n context.set(\"inputValue\", inputValue)\n })\n },\n highlightFirstItem({context, prop, scope}) {\n const exec = domEls.content(scope) ? queueMicrotask : raf\n exec(() => {\n const value = prop(\"collection\").firstValue\n if (value) {\n context.set(\"highlightedValue\", value)\n }\n })\n },\n highlightFirstItemIfNeeded({action, computed}) {\n if (!computed(\"autoHighlight\")) {\n return\n }\n action([\"highlightFirstItem\"])\n },\n highlightFirstOrSelectedItem({computed, context, prop}) {\n raf(() => {\n let value: string | null = null\n if (computed(\"hasSelectedItems\")) {\n value = prop(\"collection\").sort(context.get(\"value\"))[0]\n } else {\n value = prop(\"collection\").firstValue\n }\n if (value) {\n context.set(\"highlightedValue\", value)\n }\n })\n },\n highlightFirstSelectedItem({context, prop}) {\n raf(() => {\n const [value] = prop(\"collection\").sort(context.get(\"value\"))\n if (value) {\n context.set(\"highlightedValue\", value)\n }\n })\n },\n highlightLastItem({context, prop, scope}) {\n const exec = domEls.content(scope) ? queueMicrotask : raf\n exec(() => {\n const value = prop(\"collection\").lastValue\n if (value) {\n context.set(\"highlightedValue\", value)\n }\n })\n },\n highlightLastOrSelectedItem({computed, context, prop}) {\n raf(() => {\n const collection = prop(\"collection\")\n let value: string | null = null\n if (computed(\"hasSelectedItems\")) {\n value = collection.sort(context.get(\"value\"))[0]\n } else {\n value = collection.lastValue\n }\n if (value) {\n context.set(\"highlightedValue\", value)\n }\n })\n },\n highlightNextItem({context, prop}) {\n let value: string | null = null\n const highlightedValue = context.get(\"highlightedValue\")\n const collection = prop(\"collection\")\n if (highlightedValue) {\n value = collection.getNextValue(highlightedValue)\n if (!value && prop(\"loopFocus\")) {\n value = collection.firstValue\n }\n } else {\n value = collection.firstValue\n }\n if (value) {\n context.set(\"highlightedValue\", value)\n }\n },\n highlightPrevItem({context, prop}) {\n let value: string | null = null\n const highlightedValue = context.get(\"highlightedValue\")\n const collection = prop(\"collection\")\n if (highlightedValue) {\n value = collection.getPreviousValue(highlightedValue)\n if (!value && prop(\"loopFocus\")) {\n value = collection.lastValue\n }\n } else {\n value = collection.lastValue\n }\n if (value) {\n context.set(\"highlightedValue\", value)\n }\n },\n invokeOnClose({event, prop}) {\n const reason = getOpenChangeReason(event)\n prop(\"onOpenChange\")?.({open: false, reason})\n },\n invokeOnOpen({event, prop}) {\n const reason = getOpenChangeReason(event)\n prop(\"onOpenChange\")?.({open: true, reason})\n },\n reposition({context, event, prop, scope}) {\n const controlEl = () => domEls.control(scope)\n const positionerEl = () => domEls.positioner(scope)\n getPlacement(controlEl, positionerEl, {\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 revertInputValue({computed, context, prop}) {\n const selectionBehavior = prop(\"selectionBehavior\")\n // Without this, all items briefly render as the text input filter is\n // removed. This creates a noticeable jump as the content expands briefly\n // before it closes.\n raf(() => {\n const inputValue = match(selectionBehavior, {\n clear: \"\",\n preserve: context.get(\"inputValue\"),\n replace: computed(\"hasSelectedItems\")\n ? computed(\"valueAsString\")\n : \"\",\n })\n context.set(\"inputValue\", inputValue)\n })\n },\n scrollContentToTop({prop, refs, scope}) {\n const scrollToIndexFn = refs.get(\"scrollToIndexFn\")\n if (scrollToIndexFn) {\n const firstValue = prop(\"collection\").firstValue\n scrollToIndexFn({\n getElement: () => getItemEl(scope, firstValue),\n immediate: true,\n index: 0,\n })\n } else {\n const contentEl = domEls.content(scope)\n if (!contentEl) {\n return\n }\n contentEl.scrollTop = 0\n }\n },\n scrollToHighlightedItem({context, prop, refs, scope}) {\n nextTick(() => {\n const highlightedValue = context.get(\"highlightedValue\")\n if (highlightedValue == null) {\n return\n }\n\n const itemEl = getItemEl(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({\n getElement: () => getItemEl(scope, highlightedValue),\n immediate: true,\n index: highlightedIndex,\n })\n return\n }\n\n scrollIntoView(itemEl, {block: \"nearest\", rootEl: contentEl})\n })\n },\n selectHighlightedItem(params) {\n const {context, prop} = params\n const collection = prop(\"collection\")\n\n // check if item is valid\n const highlightedValue = context.get(\"highlightedValue\")\n if (!highlightedValue || !collection.has(highlightedValue)) {\n return\n }\n\n // select item\n const nextValue = prop(\"multiple\")\n ? addOrRemove(context.get(\"value\"), highlightedValue)\n : [highlightedValue]\n prop(\"onSelect\")?.({itemValue: highlightedValue, value: nextValue})\n context.set(\"value\", nextValue)\n\n // set input value\n const inputValue = match(prop(\"selectionBehavior\"), {\n clear: \"\",\n preserve: context.get(\"inputValue\"),\n replace: collection.stringifyMany(nextValue),\n })\n context.set(\"inputValue\", inputValue)\n },\n selectItem(params) {\n const {context, event, flush, prop} = params\n if (event.value == null) {\n return\n }\n flush(() => {\n const nextValue = prop(\"multiple\")\n ? addOrRemove(context.get(\"value\"), event.value)\n : [event.value]\n prop(\"onSelect\")?.({itemValue: event.value, value: nextValue})\n context.set(\"value\", nextValue)\n\n // set input value\n const inputValue = match(prop(\"selectionBehavior\"), {\n clear: \"\",\n preserve: context.get(\"inputValue\"),\n replace: prop(\"collection\").stringifyMany(nextValue),\n })\n context.set(\"inputValue\", inputValue)\n })\n },\n setFinalFocus({scope}) {\n raf(() => {\n const triggerEl = domEls.trigger(scope)\n if (triggerEl?.dataset.focusable == null) {\n focusInputEl(scope)\n } else {\n focusTriggerEl(scope)\n }\n })\n },\n setHighlightedValue({context, event}) {\n if (event.value == null) {\n return\n }\n context.set(\"highlightedValue\", event.value)\n },\n setInitialFocus({scope}) {\n raf(() => {\n focusInputEl(scope)\n })\n },\n setInputValue({context, event}) {\n context.set(\"inputValue\", event.value)\n },\n setValue(params) {\n const {context, event, flush, prop} = params\n flush(() => {\n context.set(\"value\", event.value)\n\n // set input value\n const inputValue = match(prop(\"selectionBehavior\"), {\n clear: \"\",\n preserve: context.get(\"inputValue\"),\n replace: prop(\"collection\").stringifyMany(event.value),\n })\n context.set(\"inputValue\", inputValue)\n })\n },\n syncHighlightedItem({context, prop}) {\n const item = prop(\"collection\").find(context.get(\"highlightedValue\"))\n context.set(\"highlightedItem\", item, {})\n },\n syncInputFocus({scope, state}) {\n const input = domEls.input(scope)\n if (!input) {\n return\n }\n if (\n input.ownerDocument.activeElement === input &&\n state.get() !== \"focused\"\n ) {\n state.set(\"focused\")\n }\n },\n syncInputValue({context, event, scope}) {\n const inputEl = domEls.input(scope)\n\n if (!inputEl) {\n return\n }\n inputEl.value = context.get(\"inputValue\")\n\n queueMicrotask(() => {\n if (event.current().type === \"INPUT.CHANGE\") {\n return\n }\n setCaretToEnd(inputEl)\n })\n },\n syncSelectedItems(params) {\n queueMicrotask(() => {\n const {context, prop} = params\n const collection = prop(\"collection\")\n const value = context.get(\"value\")\n\n // set selected items (based on value)\n const selectedItems = value.map((v) => {\n const item = context\n .get(\"selectedItems\")\n .find((item) => collection.getItemValue(item) === v)\n return item || collection.find(v)\n })\n context.set(\"selectedItems\", selectedItems)\n\n // set input value\n const inputValue = match(prop(\"selectionBehavior\"), {\n clear: \"\",\n preserve: context.get(\"inputValue\"),\n replace: collection.stringifyMany(value),\n })\n context.set(\"inputValue\", inputValue)\n })\n },\n toggleVisibility({event, prop, send}) {\n send({\n previousEvent: event,\n type: prop(\"open\") ? \"CONTROLLED.OPEN\" : \"CONTROLLED.CLOSE\",\n })\n },\n },\n\n computed: {\n autoComplete: ({prop}) => prop(\"inputBehavior\") === \"autocomplete\",\n autoHighlight: ({prop}) => prop(\"inputBehavior\") === \"autohighlight\",\n hasSelectedItems: ({context}) => context.get(\"value\").length > 0,\n isCustomValue: ({computed, context}) =>\n context.get(\"inputValue\") !== computed(\"valueAsString\"),\n isInputValueEmpty: ({context}) => context.get(\"inputValue\").length === 0,\n isInteractive: ({prop}) => !(prop(\"readOnly\") || prop(\"disabled\")),\n valueAsString: ({context, prop}) =>\n prop(\"collection\").stringifyItems(context.get(\"selectedItems\")),\n },\n\n context({bindable, getContext, getEvent, prop}) {\n return {\n currentPlacement: bindable<Placement | undefined>(() => ({\n defaultValue: undefined,\n })),\n highlightedItem: bindable<string | null>(() => {\n const highlightedValue = prop(\"highlightedValue\")\n const highlightedItem = prop(\"collection\").find(highlightedValue)\n return {defaultValue: highlightedItem}\n }),\n highlightedValue: bindable<string | null>(() => ({\n defaultValue: prop(\"defaultHighlightedValue\") || null,\n onChange(value) {\n const item = prop(\"collection\").find(value)\n prop(\"onHighlightChange\")?.({\n highlightedItem: item,\n highlightedValue: value,\n })\n },\n value: prop(\"highlightedValue\"),\n })),\n inputValue: bindable<string>(() => {\n let inputValue = prop(\"inputValue\") || prop(\"defaultInputValue\") || \"\"\n const value = prop(\"value\") || prop(\"defaultValue\") || []\n\n if (!inputValue.trim() && !prop(\"multiple\")) {\n const valueAsString = prop(\"collection\").stringifyMany(value)\n inputValue = match(prop(\"selectionBehavior\"), {\n clear: \"\",\n preserve: inputValue || valueAsString,\n replace: valueAsString,\n })\n }\n\n return {\n defaultValue: inputValue,\n onChange(value) {\n const event = getEvent()\n const reason = (event.previousEvent || event).src\n prop(\"onInputValueChange\")?.({inputValue: value, reason})\n },\n value: prop(\"inputValue\"),\n }\n }),\n selectedItems: bindable<string[]>(() => {\n const value = prop(\"value\") || prop(\"defaultValue\") || []\n const selectedItems = prop(\"collection\").findMany(value)\n return {defaultValue: selectedItems}\n }),\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n hash(value) {\n return value.join(\",\")\n },\n isEqual,\n onChange(value) {\n const context = getContext()\n const prevSelectedItems = context.get(\"selectedItems\")\n const collection = prop(\"collection\")\n\n const nextItems: any[] = value.map((v: string) => {\n const item = prevSelectedItems.find(\n (item: any) => collection.getItemValue(item) === v,\n )\n return item || collection.find(v)\n })\n\n context.set(\"selectedItems\", nextItems)\n\n prop(\"onValueChange\")?.({items: nextItems, value})\n },\n value: prop(\"value\"),\n })),\n }\n },\n\n effects: {\n hideOtherElements({scope}) {\n return ariaHidden([\n domEls.input(scope),\n domEls.content(scope),\n domEls.trigger(scope),\n domEls.clearTrigger(scope),\n ])\n },\n scrollToHighlightedItem({context, event, prop, refs, scope}) {\n const inputEl = domEls.input(scope)\n\n const cleanups: VoidFunction[] = []\n\n const exec = (immediate: boolean) => {\n const pointer = event.current().type.includes(\"POINTER\")\n const highlightedValue = context.get(\"highlightedValue\")\n if (pointer || !highlightedValue) {\n return\n }\n\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({\n getElement: () => getItemEl(scope, highlightedValue),\n immediate,\n index: highlightedIndex,\n })\n return\n }\n\n const itemEl = getItemEl(scope, highlightedValue)\n const raf_cleanup = raf(() => {\n scrollIntoView(itemEl, {block: \"nearest\", rootEl: contentEl})\n })\n cleanups.push(raf_cleanup)\n }\n\n const rafCleanup = raf(() => exec(true))\n cleanups.push(rafCleanup)\n\n const observerCleanup = observeAttributes(inputEl, {\n attributes: [\"aria-activedescendant\"],\n callback: () => exec(false),\n })\n cleanups.push(observerCleanup)\n\n return () => {\n cleanups.forEach((cleanup) => cleanup())\n }\n },\n trackDismissableLayer({prop, scope, send}) {\n if (prop(\"disableLayer\")) {\n return\n }\n const contentEl = () => domEls.content(scope)\n return trackDismissableElement(contentEl, {\n defer: true,\n exclude: () => [\n domEls.input(scope),\n domEls.trigger(scope),\n domEls.clearTrigger(scope),\n ],\n onDismiss() {\n send({\n restoreFocus: false,\n src: \"interact-outside\",\n type: \"LAYER.INTERACT_OUTSIDE\",\n })\n },\n onEscapeKeyDown(event) {\n event.preventDefault()\n event.stopPropagation()\n send({src: \"escape-key\", type: \"LAYER.ESCAPE\"})\n },\n onFocusOutside: prop(\"onFocusOutside\"),\n onInteractOutside: prop(\"onInteractOutside\"),\n onPointerDownOutside: prop(\"onPointerDownOutside\"),\n type: \"listbox\",\n })\n },\n trackFocusVisible({scope}) {\n return trackFocusVisible({root: scope.getRootNode?.()})\n },\n trackPlacement({context, prop, scope}) {\n const anchorEl = () => domEls.control(scope) || domEls.trigger(scope)\n const positionerEl = () => domEls.positioner(scope)\n\n context.set(\"currentPlacement\", prop(\"positioning\").placement)\n return getPlacement(anchorEl, positionerEl, {\n ...prop(\"positioning\"),\n defer: true,\n onComplete(data) {\n context.set(\"currentPlacement\", data.placement)\n },\n })\n },\n },\n\n guards: {\n allowCustomValue: ({prop}) => !!prop(\"allowCustomValue\"),\n autoComplete: ({computed, prop}) =>\n computed(\"autoComplete\") && !prop(\"multiple\"),\n autoFocus: ({prop}) => !!prop(\"autoFocus\"),\n autoHighlight: ({computed}) => computed(\"autoHighlight\"),\n closeOnSelect: ({prop}) => !!prop(\"closeOnSelect\"),\n hasHighlightedItem: ({context}) =>\n context.get(\"highlightedValue\") != null,\n isChangeEvent: ({event}) => event.previousEvent?.type === \"INPUT.CHANGE\",\n isCustomValue: ({computed}) => computed(\"isCustomValue\"),\n isFirstItemHighlighted: ({context, prop}) =>\n prop(\"collection\").firstValue === context.get(\"highlightedValue\"),\n isHighlightedItemRemoved: ({context, prop}) =>\n !prop(\"collection\").has(context.get(\"highlightedValue\")),\n isInputValueEmpty: ({computed}) => computed(\"isInputValueEmpty\"),\n isLastItemHighlighted: ({context, prop}) =>\n prop(\"collection\").lastValue === context.get(\"highlightedValue\"),\n isOpenControlled: ({prop}) => prop(\"open\") != null,\n openOnChange: ({context, prop}) => {\n const openOnChange = prop(\"openOnChange\")\n if (isBoolean(openOnChange)) {\n return openOnChange\n }\n return !!openOnChange?.({inputValue: context.get(\"inputValue\")})\n },\n restoreFocus: ({event}) =>\n event.restoreFocus == null ? true : !!event.restoreFocus,\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 hint: bindableId(ids?.hint),\n input: bindableId(ids?.input),\n label: bindableId(ids?.label),\n positioner: bindableId(ids?.positioner),\n root: bindableId(ids?.root),\n trigger: bindableId(ids?.trigger),\n }\n },\n\n initialState({prop}) {\n const open = prop(\"open\") || prop(\"defaultOpen\")\n return open ? \"suggesting\" : \"idle\"\n },\n\n on: {\n \"HIGHLIGHTED_VALUE.CLEAR\": {\n actions: [\"clearHighlightedValue\"],\n },\n \"HIGHLIGHTED_VALUE.SET\": {\n actions: [\"setHighlightedValue\"],\n },\n \"INPUT_VALUE.SET\": {\n actions: [\"setInputValue\"],\n },\n \"ITEM.CLEAR\": {\n actions: [\"clearItem\"],\n },\n \"ITEM.SELECT\": {\n actions: [\"selectItem\"],\n },\n \"POSITIONING.SET\": {\n actions: [\"reposition\"],\n },\n \"SELECTED_ITEMS.SYNC\": {\n actions: [\"syncSelectedItems\"],\n },\n \"VALUE.SET\": {\n actions: [\"setValue\"],\n },\n },\n\n onInit: {\n actions: [\n createChoose<ComboboxSchema>([\n {\n actions: [\"setInitialFocus\"],\n guard: \"autoFocus\",\n },\n ]) as any,\n \"syncInputFocus\",\n ],\n effects: [\"trackFocusVisible\"],\n },\n\n props({props}) {\n return {\n allowCustomValue: false,\n alwaysSubmitOnEnter: false,\n closeOnSelect: !props.multiple,\n collection: props.collection || emptyCollection(),\n composite: true,\n defaultInputValue: \"\",\n defaultValue: [],\n inputBehavior: \"none\",\n loopFocus: true,\n openOnChange: true,\n openOnClick: false,\n openOnKeyPress: true,\n selectionBehavior: props.multiple ? \"clear\" : \"replace\",\n ...props,\n positioning: {\n gutter: 2,\n placement: \"bottom-start\",\n sameWidth: true,\n ...props.positioning,\n },\n translations: {\n clearTriggerLabel: \"Clear value\",\n triggerLabel: \"Toggle suggestions\",\n ...props.translations,\n },\n }\n },\n\n refs: ({prop}) => {\n return {\n scrollToIndexFn: prop(\"scrollToIndexFn\"),\n }\n },\n\n states: {\n focused: {\n entry: [\"scrollContentToTop\", \"clearHighlightedValue\"],\n on: {\n \"CONTROLLED.OPEN\": [\n {\n guard: \"isChangeEvent\",\n target: \"suggesting\",\n },\n {\n target: \"interacting\",\n },\n ],\n \"INPUT.ARROW_DOWN\": [\n // == group 1 ==\n {\n actions: [\"invokeOnOpen\"],\n guard: and(\"isOpenControlled\", \"autoComplete\"),\n },\n {\n actions: [\"invokeOnOpen\"],\n guard: \"autoComplete\",\n target: \"interacting\",\n },\n // == group 2 ==\n {\n actions: [\"highlightFirstOrSelectedItem\", \"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"highlightFirstOrSelectedItem\", \"invokeOnOpen\"],\n target: \"interacting\",\n },\n ],\n \"INPUT.ARROW_UP\": [\n // == group 1 ==\n {\n actions: [\"invokeOnOpen\"],\n guard: \"autoComplete\",\n target: \"interacting\",\n },\n {\n actions: [\"invokeOnOpen\"],\n guard: \"autoComplete\",\n target: \"interacting\",\n },\n // == group 2 ==\n {\n actions: [\"highlightLastOrSelectedItem\", \"invokeOnOpen\"],\n target: \"interacting\",\n },\n {\n actions: [\"highlightLastOrSelectedItem\", \"invokeOnOpen\"],\n target: \"interacting\",\n },\n ],\n \"INPUT.BLUR\": {\n target: \"idle\",\n },\n \"INPUT.CHANGE\": [\n {\n actions: [\n \"setInputValue\",\n \"invokeOnOpen\",\n \"highlightFirstItemIfNeeded\",\n ],\n guard: and(\"isOpenControlled\", \"openOnChange\"),\n },\n {\n actions: [\n \"setInputValue\",\n \"invokeOnOpen\",\n \"highlightFirstItemIfNeeded\",\n ],\n guard: \"openOnChange\",\n target: \"suggesting\",\n },\n {\n actions: [\"setInputValue\"],\n },\n ],\n \"INPUT.CLICK\": [\n {\n actions: [\"highlightFirstSelectedItem\", \"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"highlightFirstSelectedItem\", \"invokeOnOpen\"],\n target: \"interacting\",\n },\n ],\n \"INPUT.ESCAPE\": {\n actions: [\"revertInputValue\"],\n guard: and(\"isCustomValue\", not(\"allowCustomValue\")),\n },\n \"LAYER.INTERACT_OUTSIDE\": {\n target: \"idle\",\n },\n OPEN: [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnOpen\"],\n target: \"interacting\",\n },\n ],\n \"TRIGGER.CLICK\": [\n {\n actions: [\n \"setInitialFocus\",\n \"highlightFirstSelectedItem\",\n \"invokeOnOpen\",\n ],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\n \"setInitialFocus\",\n \"highlightFirstSelectedItem\",\n \"invokeOnOpen\",\n ],\n target: \"interacting\",\n },\n ],\n \"VALUE.CLEAR\": {\n actions: [\"clearInputValue\", \"clearSelectedItems\"],\n },\n },\n tags: [\"focused\", \"closed\"],\n },\n\n idle: {\n entry: [\"scrollContentToTop\", \"clearHighlightedValue\"],\n on: {\n \"CONTROLLED.OPEN\": {\n target: \"interacting\",\n },\n \"INPUT.CLICK\": [\n {\n actions: [\"highlightFirstSelectedItem\", \"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"highlightFirstSelectedItem\", \"invokeOnOpen\"],\n target: \"interacting\",\n },\n ],\n \"INPUT.FOCUS\": {\n target: \"focused\",\n },\n OPEN: [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnOpen\"],\n target: \"interacting\",\n },\n ],\n \"TRIGGER.CLICK\": [\n {\n actions: [\n \"setInitialFocus\",\n \"highlightFirstSelectedItem\",\n \"invokeOnOpen\",\n ],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\n \"setInitialFocus\",\n \"highlightFirstSelectedItem\",\n \"invokeOnOpen\",\n ],\n target: \"interacting\",\n },\n ],\n \"VALUE.CLEAR\": {\n actions: [\n \"clearInputValue\",\n \"clearSelectedItems\",\n \"setInitialFocus\",\n ],\n target: \"focused\",\n },\n },\n tags: [\"idle\", \"closed\"],\n },\n\n interacting: {\n effects: [\n \"scrollToHighlightedItem\",\n \"trackDismissableLayer\",\n \"trackPlacement\",\n \"hideOtherElements\",\n ],\n entry: [\"setInitialFocus\"],\n on: {\n CHILDREN_CHANGE: [\n {\n actions: [\"clearHighlightedValue\"],\n guard: \"isHighlightedItemRemoved\",\n },\n {\n actions: [\"scrollToHighlightedItem\"],\n },\n ],\n CLOSE: [\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\", \"setFinalFocus\"],\n target: \"focused\",\n },\n ],\n \"CONTROLLED.CLOSE\": [\n {\n actions: [\"setFinalFocus\"],\n guard: \"restoreFocus\",\n target: \"focused\",\n },\n {\n target: \"idle\",\n },\n ],\n \"INPUT.ARROW_DOWN\": [\n {\n actions: [\"clearHighlightedValue\", \"scrollContentToTop\"],\n guard: and(\"autoComplete\", \"isLastItemHighlighted\"),\n },\n {\n actions: [\"highlightNextItem\"],\n },\n ],\n \"INPUT.ARROW_UP\": [\n {\n actions: [\"clearHighlightedValue\"],\n guard: and(\"autoComplete\", \"isFirstItemHighlighted\"),\n },\n {\n actions: [\"highlightPrevItem\"],\n },\n ],\n \"INPUT.CHANGE\": [\n {\n actions: [\"setInputValue\"],\n guard: \"autoComplete\",\n target: \"suggesting\",\n },\n {\n actions: [\"clearHighlightedValue\", \"setInputValue\"],\n target: \"suggesting\",\n },\n ],\n \"INPUT.END\": {\n actions: [\"highlightLastItem\"],\n },\n \"INPUT.ENTER\": [\n // == group 1 ==\n {\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n guard: and(\n \"isOpenControlled\",\n // TODO: fix and type\n \"isCustomValue\" as keyof GuardFn<ComboboxSchema>,\n not(\"hasHighlightedItem\"),\n not(\"allowCustomValue\"),\n ),\n },\n {\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n guard: and(\n \"isCustomValue\",\n not(\"hasHighlightedItem\"),\n not(\"allowCustomValue\"),\n ),\n target: \"focused\",\n },\n // == group 2 ==\n {\n actions: [\"selectHighlightedItem\", \"invokeOnClose\"],\n guard: and(\"isOpenControlled\", \"closeOnSelect\"),\n },\n {\n actions: [\n \"selectHighlightedItem\",\n \"invokeOnClose\",\n \"setFinalFocus\",\n ],\n guard: \"closeOnSelect\",\n target: \"focused\",\n },\n {\n actions: [\"selectHighlightedItem\"],\n },\n ],\n \"INPUT.HOME\": {\n actions: [\"highlightFirstItem\"],\n },\n \"ITEM.CLICK\": [\n {\n actions: [\"selectItem\", \"invokeOnClose\"],\n guard: and(\"isOpenControlled\", \"closeOnSelect\"),\n },\n {\n actions: [\"selectItem\", \"invokeOnClose\", \"setFinalFocus\"],\n guard: \"closeOnSelect\",\n target: \"focused\",\n },\n {\n actions: [\"selectItem\"],\n },\n ],\n \"ITEM.POINTER_LEAVE\": {\n actions: [\"clearHighlightedValue\"],\n },\n \"ITEM.POINTER_MOVE\": {\n actions: [\"setHighlightedValue\"],\n },\n \"LAYER.ESCAPE\": [\n {\n actions: [\"syncInputValue\", \"invokeOnClose\"],\n guard: and(\"isOpenControlled\", \"autoComplete\"),\n },\n {\n actions: [\"syncInputValue\", \"invokeOnClose\"],\n guard: \"autoComplete\",\n target: \"focused\",\n },\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\", \"setFinalFocus\"],\n target: \"focused\",\n },\n ],\n \"LAYER.INTERACT_OUTSIDE\": [\n // == group 1 ==\n {\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n guard: and(\n \"isOpenControlled\",\n \"isCustomValue\" as keyof GuardFn<ComboboxSchema>,\n not(\"allowCustomValue\"),\n ),\n },\n {\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n guard: and(\"isCustomValue\", not(\"allowCustomValue\")),\n target: \"idle\",\n },\n // == group 2 ==\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\"],\n target: \"idle\",\n },\n ],\n \"TRIGGER.CLICK\": [\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\"],\n target: \"focused\",\n },\n ],\n \"VALUE.CLEAR\": [\n {\n actions: [\n \"clearInputValue\",\n \"clearSelectedItems\",\n \"invokeOnClose\",\n ],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\n \"clearInputValue\",\n \"clearSelectedItems\",\n \"invokeOnClose\",\n \"setFinalFocus\",\n ],\n target: \"focused\",\n },\n ],\n },\n tags: [\"open\", \"focused\"],\n },\n\n suggesting: {\n effects: [\n \"trackDismissableLayer\",\n \"scrollToHighlightedItem\",\n \"trackPlacement\",\n \"hideOtherElements\",\n ],\n entry: [\"setInitialFocus\"],\n on: {\n CHILDREN_CHANGE: [\n {\n actions: [\"highlightFirstItem\"],\n guard: \"autoHighlight\",\n },\n {\n actions: [\"clearHighlightedValue\"],\n guard: \"isHighlightedItemRemoved\",\n },\n ],\n CLOSE: [\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\", \"setFinalFocus\"],\n target: \"focused\",\n },\n ],\n \"CONTROLLED.CLOSE\": [\n {\n actions: [\"setFinalFocus\"],\n guard: \"restoreFocus\",\n target: \"focused\",\n },\n {\n target: \"idle\",\n },\n ],\n \"INPUT.ARROW_DOWN\": {\n actions: [\"highlightNextItem\"],\n target: \"interacting\",\n },\n \"INPUT.ARROW_UP\": {\n actions: [\"highlightPrevItem\"],\n target: \"interacting\",\n },\n \"INPUT.CHANGE\": {\n actions: [\"setInputValue\"],\n },\n \"INPUT.END\": {\n actions: [\"highlightLastItem\"],\n target: \"interacting\",\n },\n \"INPUT.ENTER\": [\n // == group 1 ==\n {\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n guard: and(\n \"isOpenControlled\",\n \"isCustomValue\" as keyof GuardFn<ComboboxSchema>,\n not(\"hasHighlightedItem\"),\n not(\"allowCustomValue\"),\n ),\n },\n {\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n guard: and(\n \"isCustomValue\",\n not(\"hasHighlightedItem\"),\n not(\"allowCustomValue\"),\n ),\n target: \"focused\",\n },\n // == group 2 ==\n {\n actions: [\"selectHighlightedItem\", \"invokeOnClose\"],\n guard: and(\"isOpenControlled\", \"closeOnSelect\"),\n },\n {\n actions: [\n \"selectHighlightedItem\",\n \"invokeOnClose\",\n \"setFinalFocus\",\n ],\n guard: \"closeOnSelect\",\n target: \"focused\",\n },\n {\n actions: [\"selectHighlightedItem\"],\n },\n ],\n \"INPUT.HOME\": {\n actions: [\"highlightFirstItem\"],\n target: \"interacting\",\n },\n \"ITEM.CLICK\": [\n {\n actions: [\"selectItem\", \"invokeOnClose\"],\n guard: and(\"isOpenControlled\", \"closeOnSelect\"),\n },\n {\n actions: [\"selectItem\", \"invokeOnClose\", \"setFinalFocus\"],\n guard: \"closeOnSelect\",\n target: \"focused\",\n },\n {\n actions: [\"selectItem\"],\n },\n ],\n \"ITEM.POINTER_LEAVE\": {\n actions: [\"clearHighlightedValue\"],\n },\n \"ITEM.POINTER_MOVE\": {\n actions: [\"setHighlightedValue\"],\n target: \"interacting\",\n },\n \"LAYER.ESCAPE\": [\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\"],\n target: \"focused\",\n },\n ],\n \"LAYER.INTERACT_OUTSIDE\": [\n // == group 1 ==\n {\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n guard: and(\n \"isOpenControlled\",\n \"isCustomValue\" as keyof GuardFn<ComboboxSchema>,\n not(\"allowCustomValue\"),\n ),\n },\n {\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n guard: and(\"isCustomValue\", not(\"allowCustomValue\")),\n target: \"idle\",\n },\n // == group 2 ==\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\"],\n target: \"idle\",\n },\n ],\n \"TRIGGER.CLICK\": [\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\"],\n target: \"focused\",\n },\n ],\n \"VALUE.CLEAR\": [\n {\n actions: [\n \"clearInputValue\",\n \"clearSelectedItems\",\n \"invokeOnClose\",\n ],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\n \"clearInputValue\",\n \"clearSelectedItems\",\n \"invokeOnClose\",\n \"setFinalFocus\",\n ],\n target: \"focused\",\n },\n ],\n },\n tags: [\"open\", \"focused\"],\n },\n },\n\n watch({action, context, prop, send, track}) {\n track([() => context.hash(\"value\")], () => {\n action([\"syncSelectedItems\"])\n })\n track([() => context.get(\"inputValue\")], () => {\n action([\"syncInputValue\"])\n })\n track([() => context.get(\"highlightedValue\")], () => {\n action([\"syncHighlightedItem\", \"autofillInputValue\"])\n })\n track([() => prop(\"open\")], () => {\n action([\"toggleVisibility\"])\n })\n track([() => prop(\"collection\").toString()], () => {\n send({type: \"CHILDREN_CHANGE\"})\n })\n },\n })\n\nfunction getOpenChangeReason(\n event: ComboboxSchema[\"events\"],\n): ComboboxOpenChangeReason | undefined {\n return (event.previousEvent || event).src\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 {ComboboxApiProps} from \"./combobox.types\"\n\nexport const comboboxProps: (keyof ComboboxApiProps)[] =\n createProps<ComboboxApiProps>()(\n \"allowCustomValue\",\n \"alwaysSubmitOnEnter\",\n \"autoFocus\",\n \"closeOnSelect\",\n \"collection\",\n \"composite\",\n \"defaultHighlightedValue\",\n \"defaultInputValue\",\n \"defaultOpen\",\n \"defaultValue\",\n \"dir\",\n \"disabled\",\n \"disableLayer\",\n \"form\",\n \"getRootNode\",\n \"highlightedValue\",\n \"ids\",\n \"inputBehavior\",\n \"inputValue\",\n \"invalid\",\n \"loopFocus\",\n \"multiple\",\n \"name\",\n \"onFocusOutside\",\n \"onHighlightChange\",\n \"onInputValueChange\",\n \"onInteractOutside\",\n \"onOpenChange\",\n \"onPointerDownOutside\",\n \"onSelect\",\n \"onValueChange\",\n \"open\",\n \"openOnChange\",\n \"openOnClick\",\n \"openOnKeyPress\",\n \"placeholder\",\n \"positioning\",\n \"readOnly\",\n \"required\",\n \"scrollToIndexFn\",\n \"selectionBehavior\",\n \"translations\",\n \"value\",\n )\n\nexport const splitComboboxProps: <Props extends ComboboxApiProps>(\n props: Props,\n) => [ComboboxApiProps, Omit<Props, keyof ComboboxApiProps>] =\n createSplitProps<ComboboxApiProps>(comboboxProps)\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["getPlacementStyles", "isFocusVisible", "getEventKey", "isComposingEvent", "isContextMenuEvent", "isDownloadingEvent", "isLeftClick", "isOpeningInNewTab", "booleanAriaAttr", "booleanDataAttr", "ensure", "query", "domIds", "scope", "domEls", "getItemGroupId", "id", "getItemId", "ctx", "getItemGroupLabelId", "getItemEl", "value", "selector", "focusInputEl", "inputEl", "focusTriggerEl", "triggerEl", "createComboboxApi", "machine", "normalize", "computed", "context", "event", "prop", "refs", "scope", "send", "state", "translations", "collection", "disabled", "interactive", "invalid", "required", "readOnly", "open", "focused", "composite", "highlightedValue", "popperStyles", "getPlacementStyles", "getItemState", "props", "itemDisabled", "value", "ensure", "commonBindings", "domEls", "options", "reason", "nextOpen", "fn", "domIds", "booleanDataAttr", "isLeftClick", "isFocusVisible", "getItemId", "booleanAriaAttr", "isComposingEvent", "openOnKeyPress", "isModifierKey", "keypress", "keymap", "submittable", "hasHighlight", "alwaysSubmit", "key", "getEventKey", "exec", "itemState", "isDownloadingEvent", "isOpeningInNewTab", "isContextMenuEvent", "id", "getItemGroupLabelId", "getItemGroupId", "keyMap", "ListCollection", "comboboxCollection", "options", "emptyCollection", "ariaHidden", "trackDismissableElement", "getPlacement", "trackFocusVisible", "nextTick", "observeAttributes", "raf", "scrollIntoView", "setCaretToEnd", "addOrRemove", "remove", "isEqual", "match", "isBoolean", "createChoose", "createGuards", "createMachine", "and", "not", "createGuards", "comboboxMachine", "createMachine", "computed", "context", "event", "prop", "scope", "inputEl", "domEls", "collection", "valueText", "raf", "params", "flush", "nextValue", "remove", "inputValue", "match", "value", "action", "highlightedValue", "reason", "getOpenChangeReason", "getPlacement", "data", "selectionBehavior", "refs", "scrollToIndexFn", "firstValue", "getItemEl", "contentEl", "nextTick", "itemEl", "highlightedIndex", "scrollIntoView", "addOrRemove", "focusInputEl", "focusTriggerEl", "item", "state", "input", "setCaretToEnd", "selectedItems", "v", "send", "bindable", "getContext", "getEvent", "valueAsString", "isEqual", "prevSelectedItems", "nextItems", "ariaHidden", "cleanups", "exec", "immediate", "pointer", "raf_cleanup", "rafCleanup", "observerCleanup", "observeAttributes", "cleanup", "trackDismissableElement", "trackFocusVisible", "anchorEl", "positionerEl", "openOnChange", "isBoolean", "bindableId", "ids", "createChoose", "props", "emptyCollection", "track", "createProps", "createSplitProps", "comboboxProps", "splitComboboxProps"]
|
|
7
7
|
}
|
package/dist/dialog/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var u=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var F=Object.prototype.hasOwnProperty;var b=(e,t)=>{for(var i in t)u(e,i,{get:t[i],enumerable:!0})},v=(e,t,i,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of h(t))!F.call(e,r)&&r!==i&&u(e,r,{get:()=>t[r],enumerable:!(n=S(t,r))||n.enumerable});return e};var T=e=>v(u({},"__esModule",{value:!0}),e);var A={};b(A,{createDialogApi:()=>I,dialogMachine:()=>L,dialogProps:()=>k,splitDialogProps:()=>x});module.exports=T(A);var D=require("@qualcomm-ui/utils/attributes");var s={backdrop:e=>e.ids.get("backdrop"),closeTrigger:e=>e.ids.get("closeTrigger"),content:e=>e.ids.get("content"),description:e=>e.ids.get("description"),label:e=>e.ids.get("label"),positioner:e=>e.ids.get("positioner"),trigger:e=>e.ids.get("trigger")},a={backdrop:e=>e.getById(s.backdrop(e)),closeTrigger:e=>e.getById(s.closeTrigger(e)),content:e=>e.getById(s.content(e)),description:e=>e.getById(s.description(e)),label:e=>e.getById(s.label(e)),positioner:e=>e.getById(s.positioner(e)),trigger:e=>e.getById(s.trigger(e))};var l={"data-scope":"dialog"};function I(e,t){let{prop:i,scope:n,send:r,state:g}=e,m=i("aria-label"),c=g.matches("open");return{open:c,setOpen(o){g.matches("open")!==o&&r({type:o?"OPEN":"CLOSE"})},getBackdropBindings(o){return n.ids.register("backdrop",o),t.element({...l,"data-part":"backdrop","data-state":g.get(),dir:i("dir"),hidden:!c,id:o.id})},getBodyBindings(){return t.element({...l,"data-part":"body"})},getCloseTriggerBindings(o){return n.ids.register("closeTrigger",o),t.button({...l,"data-part":"close-trigger",dir:i("dir"),id:o.id,onClick(d){d.defaultPrevented||r({type:"CLOSE"})},type:"button"})},getContentBindings(o){n.ids.register("content",o);let d=s.label(n);return t.element({...l,"aria-describedby":s.description(n)||void 0,"aria-label":m||void 0,"aria-labelledby":m||!d?void 0:d,"aria-modal":i("modal"),"data-part":"content","data-state":g.get(),dir:i("dir"),hidden:!c,id:o.id,role:i("role"),tabIndex:-1})},getDescriptionBindings(o){return n.ids.register("description",o),t.element({...l,"data-part":"description",dir:i("dir"),id:o.id})},getFooterBindings(){return t.element({...l,"data-part":"footer",dir:i("dir")})},getHeadingBindings(o){return n.ids.register("label",o),t.element({...l,"data-part":"heading",dir:i("dir"),id:o.id})},getPositionerBindings(o){return n.ids.register("positioner",o),t.element({...l,"data-part":"positioner",dir:i("dir"),id:o.id,style:{pointerEvents:c?void 0:"none"}})},getTriggerBindings(o){return n.ids.register("trigger",o),t.button({...l,"aria-controls":s.content(n),"aria-expanded":(0,D.booleanAriaAttr)(c),"aria-haspopup":"dialog","data-part":"trigger","data-state":g.get(),dir:i("dir"),id:o.id,onClick(d){d.defaultPrevented||r({type:"TOGGLE"})},type:"button"})}}}var O=require("@qualcomm-ui/dom/aria-hidden"),f=require("@qualcomm-ui/dom/dismissable"),E=require("@qualcomm-ui/dom/focus-trap"),y=require("@qualcomm-ui/dom/query"),B=require("@qualcomm-ui/dom/remove-scroll"),C=require("@qualcomm-ui/utils/guard"),P=require("@qualcomm-ui/utils/machine");var L=(0,P.createMachine)({actions:{invokeOnClose:({prop:e})=>{e("onOpenChange")?.(!1)},invokeOnOpen:({prop:e})=>{e("onOpenChange")?.(!0)},syncZIndex:({scope:e})=>{(0,y.raf)(()=>{let t=a.content(e);if(!t)return;let i=getComputedStyle(t);[a.positioner(e),a.backdrop(e)].forEach(r=>{r?.style.setProperty("--z-index",i.zIndex)})})},toggleVisibility:({prop:e,send:t})=>{t({type:e("open")?"CONTROLLED.OPEN":"CONTROLLED.CLOSE"})}},effects:{hideContentBelow({prop:e,scope:t}){return e("modal")?(0,O.ariaHidden)(()=>[a.content(t)],{defer:!0}):void 0},preventScroll({prop:e,scope:t}){if(e("preventScroll"))return(0,B.preventBodyScroll)(t.getDoc())},trackDismissableElement({prop:e,scope:t,send:i}){return(0,f.trackDismissableElement)(()=>a.content(t),{defer:!0,exclude:()=>[a.trigger(t)],onDismiss(){i({src:"interact-outside",type:"CLOSE"})},onEscapeKeyDown(r){e("onEscapeKeyDown")?.(r),e("closeOnEscape")||r.preventDefault()},onFocusOutside:e("onFocusOutside"),onInteractOutside(r){e("onInteractOutside")?.(r),e("closeOnInteractOutside")||r.preventDefault()},onPointerDownOutside:e("onPointerDownOutside"),onRequestDismiss:e("onRequestDismiss"),persistentElements:e("persistentElements"),pointerBlocking:e("modal")})},trapFocus:({prop:e,scope:t})=>!e("trapFocus")||!e("modal")?void 0:(0,E.trapFocus)(()=>a.content(t),{initialFocus:e("initialFocusEl"),preventScroll:!0,returnFocusOnDeactivate:e("restoreFocus"),setReturnFocus:n=>e("finalFocusEl")?.()??n})},guards:{isOpenControlled:({prop:e})=>(0,C.isDefined)(e("open"))},ids:({bindableId:e})=>({backdrop:e(),closeTrigger:e(),content:e(),description:e(),label:e(),positioner:e(),trigger:e()}),initialState({prop:e}){return e("open")||e("defaultOpen")?"open":"closed"},props:({props:e,scope:t})=>{let i=e.role==="alertdialog";return{closeOnEscape:!0,closeOnInteractOutside:!i,dir:"ltr",initialFocusEl:i?()=>a.closeTrigger(t):void 0,modal:!0,preventScroll:!0,restoreFocus:!0,role:"dialog",trapFocus:!0,...e}},states:{closed:{on:{"CONTROLLED.OPEN":{target:"open"},OPEN:[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["invokeOnOpen"],target:"open"}],TOGGLE:[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["invokeOnOpen"],target:"open"}]}},open:{effects:["trackDismissableElement","trapFocus","preventScroll","hideContentBelow"],entry:["syncZIndex"],on:{CLOSE:[{actions:["invokeOnClose"],guard:"isOpenControlled"},{actions:["invokeOnClose"],target:"closed"}],"CONTROLLED.CLOSE":{target:"closed"},TOGGLE:[{actions:["invokeOnClose"],guard:"isOpenControlled"},{actions:["invokeOnClose"],target:"closed"}]}}},watch({actions:e,prop:t,track:i}){i([()=>t("open")],()=>{e.toggleVisibility()})}});var p=require("@qualcomm-ui/utils/object"),k=(0,p.createProps)()("aria-label","closeOnEscape","closeOnInteractOutside","defaultOpen","dir","finalFocusEl","getRootNode","initialFocusEl","modal","onEscapeKeyDown","onFocusOutside","onInteractOutside","onOpenChange","onPointerDownOutside","onRequestDismiss","open","persistentElements","preventScroll","restoreFocus","role","trapFocus"),x=(0,p.createSplitProps)(k);
|
|
1
|
+
"use strict";var u=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var F=Object.prototype.hasOwnProperty;var b=(e,t)=>{for(var i in t)u(e,i,{get:t[i],enumerable:!0})},v=(e,t,i,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of h(t))!F.call(e,r)&&r!==i&&u(e,r,{get:()=>t[r],enumerable:!(n=S(t,r))||n.enumerable});return e};var T=e=>v(u({},"__esModule",{value:!0}),e);var A={};b(A,{createDialogApi:()=>I,dialogMachine:()=>L,dialogProps:()=>k,splitDialogProps:()=>x});module.exports=T(A);var D=require("@qualcomm-ui/utils/attributes");var s={backdrop:e=>e.ids.get("backdrop"),closeTrigger:e=>e.ids.get("closeTrigger"),content:e=>e.ids.get("content"),description:e=>e.ids.get("description"),label:e=>e.ids.get("label"),positioner:e=>e.ids.get("positioner"),trigger:e=>e.ids.get("trigger")},a={backdrop:e=>e.getById(s.backdrop(e)),closeTrigger:e=>e.getById(s.closeTrigger(e)),content:e=>e.getById(s.content(e)),description:e=>e.getById(s.description(e)),label:e=>e.getById(s.label(e)),positioner:e=>e.getById(s.positioner(e)),trigger:e=>e.getById(s.trigger(e))};var l={"data-scope":"dialog"};function I(e,t){let{prop:i,scope:n,send:r,state:g}=e,m=i("aria-label"),c=g.matches("open");return{open:c,setOpen(o){g.matches("open")!==o&&r({type:o?"OPEN":"CLOSE"})},getBackdropBindings(o){return n.ids.register("backdrop",o),t.element({...l,"data-part":"backdrop","data-state":g.get(),dir:i("dir"),hidden:!c,id:o.id})},getBodyBindings(){return t.element({...l,"data-part":"body"})},getCloseTriggerBindings(o){return n.ids.register("closeTrigger",o),t.button({...l,"data-part":"close-trigger",dir:i("dir"),id:o.id,onClick(d){d.defaultPrevented||r({type:"CLOSE"})},type:"button"})},getContentBindings(o){n.ids.register("content",o);let d=s.label(n);return t.element({...l,"aria-describedby":s.description(n)||void 0,"aria-label":m||void 0,"aria-labelledby":m||!d?void 0:d,"aria-modal":i("modal"),"data-part":"content","data-state":g.get(),dir:i("dir"),hidden:!c,id:o.id,role:i("role"),tabIndex:-1})},getDescriptionBindings(o){return n.ids.register("description",o),t.element({...l,"data-part":"description",dir:i("dir"),id:o.id})},getFooterBindings(){return t.element({...l,"data-part":"footer",dir:i("dir")})},getHeadingBindings(o){return n.ids.register("label",o),t.element({...l,"data-part":"heading",dir:i("dir"),id:o.id})},getPositionerBindings(o){return n.ids.register("positioner",o),t.element({...l,"data-part":"positioner",dir:i("dir"),id:o.id,style:{pointerEvents:c?void 0:"none"}})},getTriggerBindings(o){return n.ids.register("trigger",o),t.button({...l,"aria-controls":s.content(n),"aria-expanded":(0,D.booleanAriaAttr)(c),"aria-haspopup":"dialog","data-part":"trigger","data-state":g.get(),dir:i("dir"),id:o.id,onClick(d){d.defaultPrevented||r({type:"TOGGLE"})},type:"button"})}}}var O=require("@qualcomm-ui/dom/aria-hidden"),f=require("@qualcomm-ui/dom/dismissable"),E=require("@qualcomm-ui/dom/focus-trap"),y=require("@qualcomm-ui/dom/query"),B=require("@qualcomm-ui/dom/remove-scroll"),C=require("@qualcomm-ui/utils/guard"),P=require("@qualcomm-ui/utils/machine");var L=(0,P.createMachine)({actions:{invokeOnClose:({prop:e})=>{e("onOpenChange")?.(!1)},invokeOnOpen:({prop:e})=>{e("onOpenChange")?.(!0)},syncZIndex:({scope:e})=>{(0,y.raf)(()=>{let t=a.content(e);if(!t)return;let i=getComputedStyle?.(t);[a.positioner(e),a.backdrop(e)].forEach(r=>{r?.style.setProperty("--z-index",i.zIndex)})})},toggleVisibility:({prop:e,send:t})=>{t({type:e("open")?"CONTROLLED.OPEN":"CONTROLLED.CLOSE"})}},effects:{hideContentBelow({prop:e,scope:t}){return e("modal")?(0,O.ariaHidden)(()=>[a.content(t)],{defer:!0}):void 0},preventScroll({prop:e,scope:t}){if(e("preventScroll"))return(0,B.preventBodyScroll)(t.getDoc())},trackDismissableElement({prop:e,scope:t,send:i}){return(0,f.trackDismissableElement)(()=>a.content(t),{defer:!0,exclude:()=>[a.trigger(t)],onDismiss(){i({src:"interact-outside",type:"CLOSE"})},onEscapeKeyDown(r){e("onEscapeKeyDown")?.(r),e("closeOnEscape")||r.preventDefault()},onFocusOutside:e("onFocusOutside"),onInteractOutside(r){e("onInteractOutside")?.(r),e("closeOnInteractOutside")||r.preventDefault()},onPointerDownOutside:e("onPointerDownOutside"),onRequestDismiss:e("onRequestDismiss"),persistentElements:e("persistentElements"),pointerBlocking:e("modal")})},trapFocus:({prop:e,scope:t})=>!e("trapFocus")||!e("modal")?void 0:(0,E.trapFocus)(()=>a.content(t),{initialFocus:e("initialFocusEl"),preventScroll:!0,returnFocusOnDeactivate:e("restoreFocus"),setReturnFocus:n=>e("finalFocusEl")?.()??n})},guards:{isOpenControlled:({prop:e})=>(0,C.isDefined)(e("open"))},ids:({bindableId:e})=>({backdrop:e(),closeTrigger:e(),content:e(),description:e(),label:e(),positioner:e(),trigger:e()}),initialState({prop:e}){return e("open")||e("defaultOpen")?"open":"closed"},props:({props:e,scope:t})=>{let i=e.role==="alertdialog";return{closeOnEscape:!0,closeOnInteractOutside:!i,dir:"ltr",initialFocusEl:i?()=>a.closeTrigger(t):void 0,modal:!0,preventScroll:!0,restoreFocus:!0,role:"dialog",trapFocus:!0,...e}},states:{closed:{on:{"CONTROLLED.OPEN":{target:"open"},OPEN:[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["invokeOnOpen"],target:"open"}],TOGGLE:[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["invokeOnOpen"],target:"open"}]}},open:{effects:["trackDismissableElement","trapFocus","preventScroll","hideContentBelow"],entry:["syncZIndex"],on:{CLOSE:[{actions:["invokeOnClose"],guard:"isOpenControlled"},{actions:["invokeOnClose"],target:"closed"}],"CONTROLLED.CLOSE":{target:"closed"},TOGGLE:[{actions:["invokeOnClose"],guard:"isOpenControlled"},{actions:["invokeOnClose"],target:"closed"}]}}},watch({actions:e,prop:t,track:i}){i([()=>t("open")],()=>{e.toggleVisibility()})}});var p=require("@qualcomm-ui/utils/object"),k=(0,p.createProps)()("aria-label","closeOnEscape","closeOnInteractOutside","defaultOpen","dir","finalFocusEl","getRootNode","initialFocusEl","modal","onEscapeKeyDown","onFocusOutside","onInteractOutside","onOpenChange","onPointerDownOutside","onRequestDismiss","open","persistentElements","preventScroll","restoreFocus","role","trapFocus"),x=(0,p.createSplitProps)(k);
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|