@zag-js/combobox 0.69.0 → 0.71.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +82 -124
- package/dist/index.mjs +12 -29
- package/package.json +12 -13
- package/dist/index.js.map +0 -1
- package/dist/index.mjs.map +0 -1
- package/src/combobox.anatomy.ts +0 -19
- package/src/combobox.collection.ts +0 -10
- package/src/combobox.connect.ts +0 -427
- package/src/combobox.dom.ts +0 -41
- package/src/combobox.machine.ts +0 -971
- package/src/combobox.props.ts +0 -57
- package/src/combobox.types.ts +0 -443
- package/src/index.ts +0 -27
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/combobox.anatomy.ts","../src/combobox.collection.ts","../src/combobox.connect.ts","../src/combobox.dom.ts","../src/combobox.machine.ts"],"sourcesContent":["export type { FocusOutsideEvent, InteractOutsideEvent, PointerDownOutsideEvent } from \"@zag-js/dismissable\"\nexport { anatomy } from \"./combobox.anatomy\"\nexport { collection } from \"./combobox.collection\"\nexport { connect } from \"./combobox.connect\"\nexport { machine } from \"./combobox.machine\"\nexport type {\n MachineApi as Api,\n CollectionItem,\n CollectionOptions,\n UserDefinedContext as Context,\n ElementIds,\n HighlightChangeDetails,\n InputValueChangeDetails,\n IntlTranslations,\n ItemGroupLabelProps,\n ItemGroupProps,\n ItemProps,\n ItemState,\n OpenChangeDetails,\n Placement,\n PositioningOptions,\n ScrollToIndexDetails,\n SelectionValueDetails,\n Service,\n TriggerProps,\n ValueChangeDetails,\n} from \"./combobox.types\"\n","import { createAnatomy } from \"@zag-js/anatomy\"\n\nexport const anatomy = createAnatomy(\"combobox\").parts(\n \"root\",\n \"clearTrigger\",\n \"content\",\n \"control\",\n \"input\",\n \"item\",\n \"itemGroup\",\n \"itemGroupLabel\",\n \"itemIndicator\",\n \"itemText\",\n \"label\",\n \"list\",\n \"positioner\",\n \"trigger\",\n)\nexport const parts = anatomy.build()\n","import { ListCollection, type CollectionItem, type CollectionOptions } from \"@zag-js/collection\"\nimport { ref } from \"@zag-js/core\"\n\nexport const collection = <T extends CollectionItem>(options: CollectionOptions<T>): ListCollection<T> => {\n return ref(new ListCollection(options))\n}\n\ncollection.empty = (): ListCollection<CollectionItem> => {\n return ref(new ListCollection<CollectionItem>({ items: [] }))\n}\n","import { clickIfLink, getEventKey, isContextMenuEvent, isLeftClick, type EventKeyMap } from \"@zag-js/dom-event\"\nimport { ariaAttr, dataAttr, isComposingEvent, isDownloadingEvent, isOpeningInNewTab } from \"@zag-js/dom-query\"\nimport { getPlacementStyles } from \"@zag-js/popper\"\nimport type { NormalizeProps, PropTypes } from \"@zag-js/types\"\nimport { parts } from \"./combobox.anatomy\"\nimport { dom } from \"./combobox.dom\"\nimport type { CollectionItem, ItemProps, ItemState, MachineApi, Send, State } from \"./combobox.types\"\n\nexport function connect<T extends PropTypes, V extends CollectionItem>(\n state: State,\n send: Send,\n normalize: NormalizeProps<T>,\n): MachineApi<T, V> {\n const translations = state.context.translations\n const collection = state.context.collection\n\n const disabled = state.context.disabled\n const interactive = state.context.isInteractive\n const invalid = state.context.invalid\n const readOnly = state.context.readOnly\n\n const open = state.hasTag(\"open\")\n const focused = state.hasTag(\"focused\")\n const composite = state.context.composite\n const highlightedValue = state.context.highlightedValue\n\n const popperStyles = getPlacementStyles({\n ...state.context.positioning,\n placement: state.context.currentPlacement,\n })\n\n function getItemState(props: ItemProps): ItemState {\n const { item } = props\n const disabled = collection.getItemDisabled(item)\n const value = collection.getItemValue(item)!\n return {\n value,\n disabled: Boolean(disabled || disabled),\n highlighted: highlightedValue === value,\n selected: state.context.value.includes(value),\n }\n }\n\n return {\n focused,\n open,\n inputValue: state.context.inputValue,\n highlightedValue,\n highlightedItem: state.context.highlightedItem,\n value: state.context.value,\n valueAsString: state.context.valueAsString,\n hasSelectedItems: state.context.hasSelectedItems,\n selectedItems: state.context.selectedItems,\n collection: state.context.collection,\n reposition(options = {}) {\n send({ type: \"POSITIONING.SET\", options })\n },\n setCollection(collection) {\n send({ type: \"COLLECTION.SET\", value: collection })\n },\n setHighlightValue(value) {\n send({ type: \"HIGHLIGHTED_VALUE.SET\", value })\n },\n selectValue(value) {\n send({ type: \"ITEM.SELECT\", value })\n },\n setValue(value) {\n send({ type: \"VALUE.SET\", value })\n },\n setInputValue(value) {\n send({ type: \"INPUT_VALUE.SET\", value })\n },\n clearValue(value) {\n if (value != null) {\n send({ type: \"ITEM.CLEAR\", value })\n } else {\n send(\"VALUE.CLEAR\")\n }\n },\n focus() {\n dom.getInputEl(state.context)?.focus()\n },\n setOpen(nextOpen) {\n if (nextOpen === open) return\n send(nextOpen ? \"OPEN\" : \"CLOSE\")\n },\n\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n dir: state.context.dir,\n id: dom.getRootId(state.context),\n \"data-invalid\": dataAttr(invalid),\n \"data-readonly\": dataAttr(readOnly),\n })\n },\n\n getLabelProps() {\n return normalize.label({\n ...parts.label.attrs,\n dir: state.context.dir,\n htmlFor: dom.getInputId(state.context),\n id: dom.getLabelId(state.context),\n \"data-readonly\": dataAttr(readOnly),\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(invalid),\n \"data-focus\": dataAttr(focused),\n onClick(event) {\n if (composite) return\n event.preventDefault()\n dom.getTriggerEl(state.context)?.focus({ preventScroll: true })\n },\n })\n },\n\n getControlProps() {\n return normalize.element({\n ...parts.control.attrs,\n dir: state.context.dir,\n id: dom.getControlId(state.context),\n \"data-state\": open ? \"open\" : \"closed\",\n \"data-focus\": dataAttr(focused),\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(invalid),\n })\n },\n\n getPositionerProps() {\n return normalize.element({\n ...parts.positioner.attrs,\n dir: state.context.dir,\n id: dom.getPositionerId(state.context),\n style: popperStyles.floating,\n })\n },\n\n getInputProps() {\n return normalize.input({\n ...parts.input.attrs,\n dir: state.context.dir,\n \"aria-invalid\": ariaAttr(invalid),\n \"data-invalid\": dataAttr(invalid),\n name: state.context.name,\n form: state.context.form,\n disabled: disabled,\n autoFocus: state.context.autoFocus,\n required: state.context.required,\n autoComplete: \"off\",\n autoCorrect: \"off\",\n autoCapitalize: \"none\",\n spellCheck: \"false\",\n readOnly: readOnly,\n placeholder: state.context.placeholder,\n id: dom.getInputId(state.context),\n type: \"text\",\n role: \"combobox\",\n defaultValue: state.context.inputValue,\n \"aria-autocomplete\": state.context.autoComplete ? \"both\" : \"list\",\n \"aria-controls\": dom.getContentId(state.context),\n \"aria-expanded\": open,\n \"data-state\": open ? \"open\" : \"closed\",\n \"aria-activedescendant\": highlightedValue ? dom.getItemId(state.context, highlightedValue) : undefined,\n onClick(event) {\n if (event.defaultPrevented) return\n if (!state.context.openOnClick) return\n if (!interactive) return\n send(\"INPUT.CLICK\")\n },\n onFocus() {\n if (disabled) return\n send(\"INPUT.FOCUS\")\n },\n onBlur() {\n if (disabled) return\n send(\"INPUT.BLUR\")\n },\n onChange(event) {\n send({ type: \"INPUT.CHANGE\", value: event.currentTarget.value })\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return\n if (!interactive) return\n\n if (event.ctrlKey || event.shiftKey || isComposingEvent(event)) return\n\n const openOnKeyPress = state.context.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) return\n send({ type: event.altKey ? \"OPEN\" : \"INPUT.ARROW_DOWN\", keypress })\n event.preventDefault()\n },\n ArrowUp() {\n if (!openOnKeyPress && !open) return\n send({ type: event.altKey ? \"CLOSE\" : \"INPUT.ARROW_UP\", keypress })\n event.preventDefault()\n },\n Home(event) {\n if (isModifierKey) return\n send({ type: \"INPUT.HOME\", keypress })\n if (open) {\n event.preventDefault()\n }\n },\n End(event) {\n if (isModifierKey) return\n send({ type: \"INPUT.END\", keypress })\n if (open) {\n event.preventDefault()\n }\n },\n Enter(event) {\n send({ type: \"INPUT.ENTER\", keypress })\n if (open) {\n event.preventDefault()\n }\n const itemEl = dom.getHighlightedItemEl(state.context)\n clickIfLink(itemEl)\n },\n Escape() {\n send({ type: \"INPUT.ESCAPE\", keypress })\n event.preventDefault()\n },\n }\n\n const key = getEventKey(event, state.context)\n const exec = keymap[key]\n exec?.(event)\n },\n })\n },\n\n getTriggerProps(props = {}) {\n return normalize.button({\n ...parts.trigger.attrs,\n dir: state.context.dir,\n id: dom.getTriggerId(state.context),\n \"aria-haspopup\": composite ? \"listbox\" : \"dialog\",\n type: \"button\",\n tabIndex: props.focusable ? undefined : -1,\n \"aria-label\": translations.triggerLabel,\n \"aria-expanded\": open,\n \"data-state\": open ? \"open\" : \"closed\",\n \"aria-controls\": open ? dom.getContentId(state.context) : undefined,\n disabled,\n \"data-invalid\": dataAttr(invalid),\n \"data-focusable\": dataAttr(props.focusable),\n \"data-readonly\": dataAttr(readOnly),\n \"data-disabled\": dataAttr(disabled),\n onFocus() {\n if (!props.focusable) return\n send({ type: \"INPUT.FOCUS\", src: \"trigger\" })\n },\n onClick(event) {\n if (event.defaultPrevented) return\n if (!interactive) return\n if (!isLeftClick(event)) return\n send(\"TRIGGER.CLICK\")\n },\n onPointerDown(event) {\n if (!interactive) return\n if (event.pointerType === \"touch\") return\n event.preventDefault()\n queueMicrotask(() => {\n dom.getInputEl(state.context)?.focus({ preventScroll: true })\n })\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return\n if (composite) return\n\n const keyMap: EventKeyMap = {\n ArrowDown() {\n send({ type: \"INPUT.ARROW_DOWN\", src: \"trigger\" })\n },\n ArrowUp() {\n send({ type: \"INPUT.ARROW_UP\", src: \"trigger\" })\n },\n }\n\n const key = getEventKey(event, state.context)\n const exec = keyMap[key]\n\n if (exec) {\n exec(event)\n event.preventDefault()\n }\n },\n })\n },\n\n getContentProps() {\n return normalize.element({\n ...parts.content.attrs,\n dir: state.context.dir,\n id: dom.getContentId(state.context),\n role: !composite ? \"dialog\" : \"listbox\",\n tabIndex: -1,\n hidden: !open,\n \"data-state\": open ? \"open\" : \"closed\",\n \"data-placement\": state.context.currentPlacement,\n \"aria-labelledby\": dom.getLabelId(state.context),\n \"aria-multiselectable\": state.context.multiple && composite ? true : undefined,\n onPointerDown(event) {\n // prevent options or elements within listbox from taking focus\n event.preventDefault()\n },\n })\n },\n\n getListProps() {\n return normalize.element({\n ...parts.list.attrs,\n role: !composite ? \"listbox\" : undefined,\n \"aria-labelledby\": dom.getLabelId(state.context),\n \"aria-multiselectable\": state.context.multiple && !composite ? true : undefined,\n })\n },\n\n getClearTriggerProps() {\n return normalize.button({\n ...parts.clearTrigger.attrs,\n dir: state.context.dir,\n id: dom.getClearTriggerId(state.context),\n type: \"button\",\n tabIndex: -1,\n disabled: disabled,\n \"data-invalid\": dataAttr(invalid),\n \"aria-label\": translations.clearTriggerLabel,\n \"aria-controls\": dom.getInputId(state.context),\n hidden: !state.context.value.length,\n onPointerDown(event) {\n event.preventDefault()\n },\n onClick(event) {\n if (event.defaultPrevented) return\n if (!interactive) return\n send({ type: \"VALUE.CLEAR\", src: \"clear-trigger\" })\n },\n })\n },\n\n getItemState,\n\n getItemProps(props) {\n const itemState = getItemState(props)\n const value = itemState.value\n\n return normalize.element({\n ...parts.item.attrs,\n dir: state.context.dir,\n id: dom.getItemId(state.context, value),\n role: \"option\",\n tabIndex: -1,\n \"data-highlighted\": dataAttr(itemState.highlighted),\n \"data-state\": itemState.selected ? \"checked\" : \"unchecked\",\n \"aria-selected\": ariaAttr(itemState.highlighted),\n \"aria-disabled\": ariaAttr(itemState.disabled),\n \"data-disabled\": dataAttr(itemState.disabled),\n \"data-value\": itemState.value,\n onPointerMove() {\n if (itemState.disabled) return\n if (itemState.highlighted) return\n send({ type: \"ITEM.POINTER_MOVE\", value })\n },\n onPointerLeave() {\n if (props.persistFocus) return\n if (itemState.disabled) return\n const mouseMoved = state.previousEvent.type.includes(\"POINTER\")\n if (!mouseMoved) return\n send({ type: \"ITEM.POINTER_LEAVE\", value })\n },\n onClick(event) {\n if (isDownloadingEvent(event)) return\n if (isOpeningInNewTab(event)) return\n if (isContextMenuEvent(event)) return\n if (itemState.disabled) return\n send({ type: \"ITEM.CLICK\", src: \"click\", value })\n },\n })\n },\n\n getItemTextProps(props) {\n const itemState = getItemState(props)\n return normalize.element({\n ...parts.itemText.attrs,\n dir: state.context.dir,\n \"data-state\": itemState.selected ? \"checked\" : \"unchecked\",\n \"data-disabled\": dataAttr(itemState.disabled),\n \"data-highlighted\": dataAttr(itemState.highlighted),\n })\n },\n getItemIndicatorProps(props) {\n const itemState = getItemState(props)\n return normalize.element({\n \"aria-hidden\": true,\n ...parts.itemIndicator.attrs,\n dir: state.context.dir,\n \"data-state\": itemState.selected ? \"checked\" : \"unchecked\",\n hidden: !itemState.selected,\n })\n },\n\n getItemGroupProps(props) {\n const { id } = props\n return normalize.element({\n ...parts.itemGroup.attrs,\n dir: state.context.dir,\n id: dom.getItemGroupId(state.context, id),\n \"aria-labelledby\": dom.getItemGroupLabelId(state.context, id),\n })\n },\n\n getItemGroupLabelProps(props) {\n const { htmlFor } = props\n return normalize.element({\n ...parts.itemGroupLabel.attrs,\n dir: state.context.dir,\n id: dom.getItemGroupLabelId(state.context, htmlFor),\n role: \"group\",\n })\n },\n }\n}\n","import { createScope, query } from \"@zag-js/dom-query\"\nimport type { MachineContext as Ctx } from \"./combobox.types\"\n\nexport const dom = createScope({\n getRootId: (ctx: Ctx) => ctx.ids?.root ?? `combobox:${ctx.id}`,\n getLabelId: (ctx: Ctx) => ctx.ids?.label ?? `combobox:${ctx.id}:label`,\n getControlId: (ctx: Ctx) => ctx.ids?.control ?? `combobox:${ctx.id}:control`,\n getInputId: (ctx: Ctx) => ctx.ids?.input ?? `combobox:${ctx.id}:input`,\n getContentId: (ctx: Ctx) => ctx.ids?.content ?? `combobox:${ctx.id}:content`,\n getPositionerId: (ctx: Ctx) => ctx.ids?.positioner ?? `combobox:${ctx.id}:popper`,\n getTriggerId: (ctx: Ctx) => ctx.ids?.trigger ?? `combobox:${ctx.id}:toggle-btn`,\n getClearTriggerId: (ctx: Ctx) => ctx.ids?.clearTrigger ?? `combobox:${ctx.id}:clear-btn`,\n getItemGroupId: (ctx: Ctx, id: string | number) => ctx.ids?.itemGroup?.(id) ?? `combobox:${ctx.id}:optgroup:${id}`,\n getItemGroupLabelId: (ctx: Ctx, id: string | number) =>\n ctx.ids?.itemGroupLabel?.(id) ?? `combobox:${ctx.id}:optgroup-label:${id}`,\n getItemId: (ctx: Ctx, id: string) => ctx.ids?.item?.(id) ?? `combobox:${ctx.id}:option:${id}`,\n\n getContentEl: (ctx: Ctx) => dom.getById(ctx, dom.getContentId(ctx)),\n getInputEl: (ctx: Ctx) => dom.getById<HTMLInputElement>(ctx, dom.getInputId(ctx)),\n getPositionerEl: (ctx: Ctx) => dom.getById(ctx, dom.getPositionerId(ctx)),\n getControlEl: (ctx: Ctx) => dom.getById(ctx, dom.getControlId(ctx)),\n getTriggerEl: (ctx: Ctx) => dom.getById(ctx, dom.getTriggerId(ctx)),\n getClearTriggerEl: (ctx: Ctx) => dom.getById(ctx, dom.getClearTriggerId(ctx)),\n getHighlightedItemEl: (ctx: Ctx) => {\n const value = ctx.highlightedValue\n if (value == null) return\n const selector = `[role=option][data-value=\"${CSS.escape(value)}\"`\n return query(dom.getContentEl(ctx), selector)\n },\n\n focusInputEl: (ctx: Ctx) => {\n const inputEl = dom.getInputEl(ctx)\n if (dom.isActiveElement(ctx, inputEl)) return\n inputEl?.focus({ preventScroll: true })\n },\n focusTriggerEl: (ctx: Ctx) => {\n const triggerEl = dom.getTriggerEl(ctx)\n if (dom.isActiveElement(ctx, triggerEl)) return\n triggerEl?.focus({ preventScroll: true })\n },\n})\n","import { ariaHidden } from \"@zag-js/aria-hidden\"\nimport { createMachine, guards } from \"@zag-js/core\"\nimport { trackDismissableElement } from \"@zag-js/dismissable\"\nimport { observeAttributes, observeChildren, raf, scrollIntoView } from \"@zag-js/dom-query\"\nimport { getPlacement } from \"@zag-js/popper\"\nimport { addOrRemove, compact, isArray, isBoolean, isEqual, match } from \"@zag-js/utils\"\nimport { collection } from \"./combobox.collection\"\nimport { dom } from \"./combobox.dom\"\nimport type { CollectionItem, MachineContext, MachineState, UserDefinedContext } from \"./combobox.types\"\n\nconst { and, not } = guards\n\nexport function machine<T extends CollectionItem>(userContext: UserDefinedContext<T>) {\n const ctx = compact(userContext)\n return createMachine<MachineContext, MachineState>(\n {\n id: \"combobox\",\n initial: ctx.open ? \"suggesting\" : \"idle\",\n context: {\n loopFocus: true,\n openOnClick: false,\n value: [],\n highlightedValue: null,\n inputValue: \"\",\n allowCustomValue: false,\n closeOnSelect: !ctx.multiple,\n inputBehavior: \"none\",\n selectionBehavior: \"replace\",\n openOnKeyPress: true,\n openOnChange: true,\n composite: true,\n readOnly: false,\n disabled: false,\n ...ctx,\n highlightedItem: null,\n selectedItems: [],\n valueAsString: \"\",\n collection: ctx.collection ?? collection.empty(),\n positioning: {\n placement: \"bottom\",\n flip: false,\n sameWidth: true,\n ...ctx.positioning,\n },\n translations: {\n triggerLabel: \"Toggle suggestions\",\n clearTriggerLabel: \"Clear value\",\n ...ctx.translations,\n },\n },\n\n created: [\"syncInitialValues\", \"syncSelectionBehavior\"],\n\n computed: {\n isInputValueEmpty: (ctx) => ctx.inputValue.length === 0,\n isInteractive: (ctx) => !(ctx.readOnly || ctx.disabled),\n autoComplete: (ctx) => ctx.inputBehavior === \"autocomplete\",\n autoHighlight: (ctx) => ctx.inputBehavior === \"autohighlight\",\n hasSelectedItems: (ctx) => ctx.value.length > 0,\n },\n\n watch: {\n value: [\"syncSelectedItems\"],\n inputValue: [\"syncInputValue\"],\n highlightedValue: [\"syncHighlightedItem\", \"autofillInputValue\"],\n multiple: [\"syncSelectionBehavior\"],\n open: [\"toggleVisibility\"],\n },\n\n on: {\n \"HIGHLIGHTED_VALUE.SET\": {\n actions: [\"setHighlightedItem\"],\n },\n \"ITEM.SELECT\": {\n actions: [\"selectItem\"],\n },\n \"ITEM.CLEAR\": {\n actions: [\"clearItem\"],\n },\n \"VALUE.SET\": {\n actions: [\"setSelectedItems\"],\n },\n \"INPUT_VALUE.SET\": {\n actions: \"setInputValue\",\n },\n \"COLLECTION.SET\": {\n actions: [\"setCollection\"],\n },\n \"POSITIONING.SET\": {\n actions: [\"reposition\"],\n },\n },\n\n states: {\n idle: {\n tags: [\"idle\", \"closed\"],\n entry: [\"scrollContentToTop\", \"clearHighlightedItem\"],\n on: {\n \"CONTROLLED.OPEN\": {\n target: \"interacting\",\n },\n \"TRIGGER.CLICK\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"setInitialFocus\", \"highlightFirstSelectedItem\", \"invokeOnOpen\"],\n },\n {\n target: \"interacting\",\n actions: [\"setInitialFocus\", \"highlightFirstSelectedItem\", \"invokeOnOpen\"],\n },\n ],\n \"INPUT.CLICK\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"highlightFirstSelectedItem\", \"invokeOnOpen\"],\n },\n {\n target: \"interacting\",\n actions: [\"highlightFirstSelectedItem\", \"invokeOnOpen\"],\n },\n ],\n \"INPUT.FOCUS\": {\n target: \"focused\",\n },\n OPEN: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"],\n },\n {\n target: \"interacting\",\n actions: [\"invokeOnOpen\"],\n },\n ],\n \"VALUE.CLEAR\": {\n target: \"focused\",\n actions: [\"clearInputValue\", \"clearSelectedItems\", \"setInitialFocus\"],\n },\n },\n },\n\n focused: {\n tags: [\"focused\", \"closed\"],\n entry: [\"scrollContentToTop\", \"clearHighlightedItem\"],\n on: {\n \"CONTROLLED.OPEN\": [\n {\n guard: \"isChangeEvent\",\n target: \"suggesting\",\n },\n {\n target: \"interacting\",\n },\n ],\n \"INPUT.CHANGE\": [\n {\n guard: and(\"isOpenControlled\", \"openOnChange\"),\n actions: [\"setInputValue\", \"invokeOnOpen\", \"highlightFirstItemIfNeeded\"],\n },\n {\n guard: \"openOnChange\",\n target: \"suggesting\",\n actions: [\"setInputValue\", \"invokeOnOpen\", \"highlightFirstItemIfNeeded\"],\n },\n {\n actions: \"setInputValue\",\n },\n ],\n \"LAYER.INTERACT_OUTSIDE\": {\n target: \"idle\",\n },\n \"INPUT.ESCAPE\": {\n guard: and(\"isCustomValue\", not(\"allowCustomValue\")),\n actions: \"revertInputValue\",\n },\n \"INPUT.BLUR\": {\n target: \"idle\",\n },\n \"INPUT.CLICK\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"highlightFirstSelectedItem\", \"invokeOnOpen\"],\n },\n {\n target: \"interacting\",\n actions: [\"highlightFirstSelectedItem\", \"invokeOnOpen\"],\n },\n ],\n \"TRIGGER.CLICK\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"setInitialFocus\", \"highlightFirstSelectedItem\", \"invokeOnOpen\"],\n },\n {\n target: \"interacting\",\n actions: [\"setInitialFocus\", \"highlightFirstSelectedItem\", \"invokeOnOpen\"],\n },\n ],\n \"INPUT.ARROW_DOWN\": [\n // == group 1 ==\n {\n guard: and(\"isOpenControlled\", \"autoComplete\"),\n actions: [\"invokeOnOpen\"],\n },\n {\n guard: \"autoComplete\",\n target: \"interacting\",\n actions: [\"invokeOnOpen\"],\n },\n // == group 2 ==\n {\n guard: \"isOpenControlled\",\n actions: [\"highlightFirstOrSelectedItem\", \"invokeOnOpen\"],\n },\n {\n target: \"interacting\",\n actions: [\"highlightFirstOrSelectedItem\", \"invokeOnOpen\"],\n },\n ],\n \"INPUT.ARROW_UP\": [\n // == group 1 ==\n {\n guard: \"autoComplete\",\n target: \"interacting\",\n actions: \"invokeOnOpen\",\n },\n {\n guard: \"autoComplete\",\n target: \"interacting\",\n actions: \"invokeOnOpen\",\n },\n // == group 2 ==\n {\n target: \"interacting\",\n actions: [\"highlightLastOrSelectedItem\", \"invokeOnOpen\"],\n },\n {\n target: \"interacting\",\n actions: [\"highlightLastOrSelectedItem\", \"invokeOnOpen\"],\n },\n ],\n OPEN: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"],\n },\n {\n target: \"interacting\",\n actions: [\"invokeOnOpen\"],\n },\n ],\n \"VALUE.CLEAR\": {\n actions: [\"clearInputValue\", \"clearSelectedItems\"],\n },\n },\n },\n\n interacting: {\n tags: [\"open\", \"focused\"],\n entry: [\"setInitialFocus\"],\n activities: [\"scrollToHighlightedItem\", \"trackDismissableLayer\", \"computePlacement\", \"hideOtherElements\"],\n on: {\n \"CONTROLLED.CLOSE\": [\n {\n guard: \"restoreFocus\",\n target: \"focused\",\n actions: [\"setFinalFocus\"],\n },\n {\n target: \"idle\",\n },\n ],\n \"INPUT.HOME\": {\n actions: [\"highlightFirstItem\"],\n },\n \"INPUT.END\": {\n actions: [\"highlightLastItem\"],\n },\n \"INPUT.ARROW_DOWN\": [\n {\n guard: and(\"autoComplete\", \"isLastItemHighlighted\"),\n actions: [\"clearHighlightedItem\", \"scrollContentToTop\"],\n },\n {\n actions: [\"highlightNextItem\"],\n },\n ],\n \"INPUT.ARROW_UP\": [\n {\n guard: and(\"autoComplete\", \"isFirstItemHighlighted\"),\n actions: \"clearHighlightedItem\",\n },\n {\n actions: \"highlightPrevItem\",\n },\n ],\n \"INPUT.ENTER\": [\n {\n guard: and(\"isOpenControlled\", \"closeOnSelect\"),\n actions: [\"selectHighlightedItem\", \"invokeOnClose\"],\n },\n {\n guard: \"closeOnSelect\",\n target: \"focused\",\n actions: [\"selectHighlightedItem\", \"invokeOnClose\", \"setFinalFocus\"],\n },\n {\n actions: [\"selectHighlightedItem\"],\n },\n ],\n \"INPUT.CHANGE\": [\n {\n guard: \"autoComplete\",\n target: \"suggesting\",\n actions: [\"setInputValue\", \"invokeOnOpen\"],\n },\n {\n target: \"suggesting\",\n actions: [\"clearHighlightedItem\", \"setInputValue\", \"invokeOnOpen\"],\n },\n ],\n \"ITEM.POINTER_MOVE\": {\n actions: [\"setHighlightedItem\"],\n },\n \"ITEM.POINTER_LEAVE\": {\n actions: [\"clearHighlightedItem\"],\n },\n \"ITEM.CLICK\": [\n {\n guard: and(\"isOpenControlled\", \"closeOnSelect\"),\n actions: [\"selectItem\", \"invokeOnClose\"],\n },\n {\n guard: \"closeOnSelect\",\n target: \"focused\",\n actions: [\"selectItem\", \"invokeOnClose\", \"setFinalFocus\"],\n },\n {\n actions: [\"selectItem\"],\n },\n ],\n \"LAYER.ESCAPE\": [\n {\n guard: and(\"isOpenControlled\", \"autoComplete\"),\n actions: [\"syncInputValue\", \"invokeOnClose\"],\n },\n {\n guard: \"autoComplete\",\n target: \"focused\",\n actions: [\"syncInputValue\", \"invokeOnClose\"],\n },\n {\n guard: \"isOpenControlled\",\n actions: \"invokeOnClose\",\n },\n {\n target: \"focused\",\n actions: [\"invokeOnClose\", \"setFinalFocus\"],\n },\n ],\n \"TRIGGER.CLICK\": [\n {\n guard: \"isOpenControlled\",\n actions: \"invokeOnClose\",\n },\n {\n target: \"focused\",\n actions: \"invokeOnClose\",\n },\n ],\n \"LAYER.INTERACT_OUTSIDE\": [\n // == group 1 ==\n {\n guard: and(\"isOpenControlled\", \"isCustomValue\", not(\"allowCustomValue\")),\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n },\n {\n guard: and(\"isCustomValue\", not(\"allowCustomValue\")),\n target: \"idle\",\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n },\n // == group 2 ==\n {\n guard: \"isOpenControlled\",\n actions: \"invokeOnClose\",\n },\n {\n target: \"idle\",\n actions: \"invokeOnClose\",\n },\n ],\n CLOSE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"],\n },\n {\n target: \"focused\",\n actions: [\"invokeOnClose\", \"setFinalFocus\"],\n },\n ],\n \"VALUE.CLEAR\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"clearInputValue\", \"clearSelectedItems\", \"invokeOnClose\"],\n },\n {\n target: \"focused\",\n actions: [\"clearInputValue\", \"clearSelectedItems\", \"invokeOnClose\", \"setFinalFocus\"],\n },\n ],\n },\n },\n\n suggesting: {\n tags: [\"open\", \"focused\"],\n activities: [\n \"trackDismissableLayer\",\n \"scrollToHighlightedItem\",\n \"computePlacement\",\n \"trackChildNodes\",\n \"hideOtherElements\",\n ],\n entry: [\"setInitialFocus\"],\n on: {\n \"CONTROLLED.CLOSE\": [\n {\n guard: \"restoreFocus\",\n target: \"focused\",\n actions: [\"setFinalFocus\"],\n },\n {\n target: \"idle\",\n },\n ],\n CHILDREN_CHANGE: {\n actions: [\"highlightFirstItem\"],\n },\n \"INPUT.ARROW_DOWN\": {\n target: \"interacting\",\n actions: [\"highlightNextItem\"],\n },\n \"INPUT.ARROW_UP\": {\n target: \"interacting\",\n actions: [\"highlightPrevItem\"],\n },\n \"INPUT.HOME\": {\n target: \"interacting\",\n actions: [\"highlightFirstItem\"],\n },\n \"INPUT.END\": {\n target: \"interacting\",\n actions: [\"highlightLastItem\"],\n },\n \"INPUT.ENTER\": [\n {\n guard: and(\"isOpenControlled\", \"closeOnSelect\"),\n actions: [\"selectHighlightedItem\", \"invokeOnClose\"],\n },\n {\n guard: \"closeOnSelect\",\n target: \"focused\",\n actions: [\"selectHighlightedItem\", \"invokeOnClose\", \"setFinalFocus\"],\n },\n {\n actions: [\"selectHighlightedItem\"],\n },\n ],\n \"INPUT.CHANGE\": [\n {\n guard: \"autoHighlight\",\n actions: [\"setInputValue\"],\n },\n {\n actions: [\"setInputValue\"],\n },\n ],\n \"LAYER.ESCAPE\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"],\n },\n {\n target: \"focused\",\n actions: [\"invokeOnClose\"],\n },\n ],\n \"ITEM.POINTER_MOVE\": {\n target: \"interacting\",\n actions: [\"setHighlightedItem\"],\n },\n \"ITEM.POINTER_LEAVE\": {\n actions: [\"clearHighlightedItem\"],\n },\n \"LAYER.INTERACT_OUTSIDE\": [\n // == group 1 ==\n {\n guard: and(\"isOpenControlled\", \"isCustomValue\", not(\"allowCustomValue\")),\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n },\n {\n guard: and(\"isCustomValue\", not(\"allowCustomValue\")),\n target: \"idle\",\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n },\n // == group 2 ==\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"],\n },\n {\n target: \"idle\",\n actions: [\"invokeOnClose\"],\n },\n ],\n \"TRIGGER.CLICK\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"],\n },\n {\n target: \"focused\",\n actions: [\"invokeOnClose\"],\n },\n ],\n \"ITEM.CLICK\": [\n {\n guard: and(\"isOpenControlled\", \"closeOnSelect\"),\n actions: [\"selectItem\", \"invokeOnClose\"],\n },\n {\n guard: \"closeOnSelect\",\n target: \"focused\",\n actions: [\"selectItem\", \"invokeOnClose\", \"setFinalFocus\"],\n },\n {\n actions: [\"selectItem\"],\n },\n ],\n CLOSE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"],\n },\n {\n target: \"focused\",\n actions: [\"invokeOnClose\", \"setFinalFocus\"],\n },\n ],\n \"VALUE.CLEAR\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"clearInputValue\", \"clearSelectedItems\", \"invokeOnClose\"],\n },\n {\n target: \"focused\",\n actions: [\"clearInputValue\", \"clearSelectedItems\", \"invokeOnClose\", \"setFinalFocus\"],\n },\n ],\n },\n },\n },\n },\n\n {\n guards: {\n isInputValueEmpty: (ctx) => ctx.isInputValueEmpty,\n autoComplete: (ctx) => ctx.autoComplete && !ctx.multiple,\n autoHighlight: (ctx) => ctx.autoHighlight,\n isFirstItemHighlighted: (ctx) => ctx.collection.firstValue === ctx.highlightedValue,\n isLastItemHighlighted: (ctx) => ctx.collection.lastValue === ctx.highlightedValue,\n isCustomValue: (ctx) => ctx.inputValue !== ctx.valueAsString,\n allowCustomValue: (ctx) => !!ctx.allowCustomValue,\n hasHighlightedItem: (ctx) => ctx.highlightedValue != null,\n closeOnSelect: (ctx) => !!ctx.closeOnSelect,\n isOpenControlled: (ctx) => !!ctx[\"open.controlled\"],\n openOnChange: (ctx, evt) => {\n if (isBoolean(ctx.openOnChange)) return ctx.openOnChange\n return !!ctx.openOnChange?.({ inputValue: evt.value })\n },\n restoreFocus: (_ctx, evt) => (evt.restoreFocus == null ? true : !!evt.restoreFocus),\n isChangeEvent: (_ctx, evt) => evt.previousEvent?.type === \"INPUT.CHANGE\",\n },\n\n activities: {\n trackDismissableLayer(ctx, _evt, { send }) {\n if (ctx.disableLayer) return\n const contentEl = () => dom.getContentEl(ctx)\n return trackDismissableElement(contentEl, {\n defer: true,\n exclude: () => [dom.getInputEl(ctx), dom.getTriggerEl(ctx), dom.getClearTriggerEl(ctx)],\n onFocusOutside: ctx.onFocusOutside,\n onPointerDownOutside: ctx.onPointerDownOutside,\n onInteractOutside: ctx.onInteractOutside,\n onEscapeKeyDown(event) {\n event.preventDefault()\n event.stopPropagation()\n send(\"LAYER.ESCAPE\")\n },\n onDismiss() {\n send({ type: \"LAYER.INTERACT_OUTSIDE\", restoreFocus: false })\n },\n })\n },\n hideOtherElements(ctx) {\n return ariaHidden([dom.getInputEl(ctx), dom.getContentEl(ctx), dom.getTriggerEl(ctx)])\n },\n computePlacement(ctx) {\n const controlEl = () => dom.getControlEl(ctx)\n const positionerEl = () => dom.getPositionerEl(ctx)\n ctx.currentPlacement = ctx.positioning.placement\n return getPlacement(controlEl, positionerEl, {\n ...ctx.positioning,\n defer: true,\n onComplete(data) {\n ctx.currentPlacement = data.placement\n },\n })\n },\n // in event the options are fetched (async), we still want to auto-highlight the first option\n trackChildNodes(ctx, _evt, { send }) {\n if (!ctx.autoHighlight) return\n const exec = () => send(\"CHILDREN_CHANGE\")\n const contentEl = () => dom.getContentEl(ctx)\n return observeChildren(contentEl, {\n callback: exec,\n defer: true,\n })\n },\n scrollToHighlightedItem(ctx, _evt, { getState }) {\n const inputEl = dom.getInputEl(ctx)\n\n let cleanups: VoidFunction[] = []\n\n const exec = (immediate: boolean) => {\n const state = getState()\n\n const pointer = state.event.type.includes(\"POINTER\")\n if (pointer || !ctx.highlightedValue) return\n\n const itemEl = dom.getHighlightedItemEl(ctx)\n const contentEl = dom.getContentEl(ctx)\n\n if (ctx.scrollToIndexFn) {\n const highlightedIndex = ctx.collection.indexOf(ctx.highlightedValue)\n ctx.scrollToIndexFn({ index: highlightedIndex, immediate })\n return\n }\n\n const rafCleanup = raf(() => {\n scrollIntoView(itemEl, { rootEl: contentEl, block: \"nearest\" })\n })\n cleanups.push(rafCleanup)\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 },\n\n actions: {\n reposition(ctx, evt) {\n const controlEl = () => dom.getControlEl(ctx)\n const positionerEl = () => dom.getPositionerEl(ctx)\n getPlacement(controlEl, positionerEl, {\n ...ctx.positioning,\n ...evt.options,\n defer: true,\n listeners: false,\n onComplete(data) {\n ctx.currentPlacement = data.placement\n },\n })\n },\n setHighlightedItem(ctx, evt) {\n if (evt.value == null) return\n set.highlightedValue(ctx, evt.value)\n },\n clearHighlightedItem(ctx) {\n set.highlightedValue(ctx, null, true)\n },\n selectHighlightedItem(ctx) {\n set.value(ctx, ctx.highlightedValue)\n },\n selectItem(ctx, evt) {\n if (evt.value == null) return\n set.value(ctx, evt.value)\n },\n clearItem(ctx, evt) {\n if (evt.value == null) return\n const value = ctx.value.filter((v) => v !== evt.value)\n set.value(ctx, value)\n },\n setInitialFocus(ctx) {\n raf(() => {\n dom.focusInputEl(ctx)\n })\n },\n setFinalFocus(ctx) {\n raf(() => {\n const triggerEl = dom.getTriggerEl(ctx)\n if (triggerEl?.dataset.focusable == null) {\n dom.focusInputEl(ctx)\n } else {\n dom.focusTriggerEl(ctx)\n }\n })\n },\n syncInputValue(ctx) {\n const inputEl = dom.getInputEl(ctx)\n if (!inputEl) return\n\n inputEl.value = ctx.inputValue\n\n queueMicrotask(() => {\n const { selectionStart, selectionEnd } = inputEl\n\n if (Math.abs((selectionEnd ?? 0) - (selectionStart ?? 0)) !== 0) return\n if (selectionStart !== 0) return\n\n inputEl.setSelectionRange(inputEl.value.length, inputEl.value.length)\n })\n },\n setInputValue(ctx, evt) {\n set.inputValue(ctx, evt.value)\n },\n clearInputValue(ctx) {\n set.inputValue(ctx, \"\")\n },\n revertInputValue(ctx) {\n const inputValue = match(ctx.selectionBehavior, {\n replace: ctx.hasSelectedItems ? ctx.valueAsString : \"\",\n preserve: ctx.inputValue,\n clear: \"\",\n })\n\n set.inputValue(ctx, inputValue)\n },\n syncInitialValues(ctx) {\n const selectedItems = ctx.collection.findMany(ctx.value)\n const valueAsString = ctx.collection.stringifyMany(ctx.value)\n\n ctx.highlightedItem = ctx.collection.find(ctx.highlightedValue)\n ctx.selectedItems = selectedItems\n ctx.valueAsString = valueAsString\n\n if (ctx.inputValue.trim() || ctx.multiple) return\n\n ctx.inputValue = match(ctx.selectionBehavior, {\n preserve: ctx.inputValue || valueAsString,\n replace: valueAsString,\n clear: \"\",\n })\n },\n syncSelectionBehavior(ctx) {\n if (ctx.multiple) {\n ctx.selectionBehavior = \"clear\"\n }\n },\n setSelectedItems(ctx, evt) {\n if (!isArray(evt.value)) return\n set.value(ctx, evt.value)\n },\n clearSelectedItems(ctx) {\n set.value(ctx, [])\n },\n scrollContentToTop(ctx) {\n if (ctx.scrollToIndexFn) {\n ctx.scrollToIndexFn({ index: 0, immediate: true })\n } else {\n const contentEl = dom.getContentEl(ctx)\n if (!contentEl) return\n contentEl.scrollTop = 0\n }\n },\n invokeOnOpen(ctx) {\n ctx.onOpenChange?.({ open: true })\n },\n invokeOnClose(ctx) {\n ctx.onOpenChange?.({ open: false })\n },\n highlightFirstItem(ctx) {\n raf(() => {\n const value = ctx.collection.firstValue\n set.highlightedValue(ctx, value, true)\n })\n },\n highlightFirstItemIfNeeded(ctx) {\n if (!ctx.autoHighlight) return\n raf(() => {\n const value = ctx.collection.firstValue\n set.highlightedValue(ctx, value)\n })\n },\n highlightLastItem(ctx) {\n raf(() => {\n const value = ctx.collection.lastValue\n set.highlightedValue(ctx, value)\n })\n },\n highlightNextItem(ctx) {\n let value: string | null = null\n if (ctx.highlightedValue) {\n value = ctx.collection.getNextValue(ctx.highlightedValue)\n if (!value && ctx.loopFocus) value = ctx.collection.firstValue\n } else {\n value = ctx.collection.firstValue\n }\n set.highlightedValue(ctx, value)\n },\n highlightPrevItem(ctx) {\n let value: string | null = null\n if (ctx.highlightedValue) {\n value = ctx.collection.getPreviousValue(ctx.highlightedValue)\n if (!value && ctx.loopFocus) value = ctx.collection.lastValue\n } else {\n value = ctx.collection.lastValue\n }\n set.highlightedValue(ctx, value)\n },\n highlightFirstSelectedItem(ctx) {\n raf(() => {\n const [value] = ctx.collection.sort(ctx.value)\n set.highlightedValue(ctx, value)\n })\n },\n highlightFirstOrSelectedItem(ctx) {\n raf(() => {\n let value: string | null = null\n if (ctx.hasSelectedItems) {\n value = ctx.collection.sort(ctx.value)[0]\n } else {\n value = ctx.collection.firstValue\n }\n set.highlightedValue(ctx, value)\n })\n },\n highlightLastOrSelectedItem(ctx) {\n raf(() => {\n let value: string | null = null\n if (ctx.hasSelectedItems) {\n value = ctx.collection.sort(ctx.value)[0]\n } else {\n value = ctx.collection.lastValue\n }\n set.highlightedValue(ctx, value)\n })\n },\n autofillInputValue(ctx, evt) {\n const inputEl = dom.getInputEl(ctx)\n if (!ctx.autoComplete || !inputEl || !evt.keypress) return\n const valueText = ctx.collection.stringify(ctx.highlightedValue)\n raf(() => {\n inputEl.value = valueText || ctx.inputValue\n })\n },\n setCollection(ctx, evt) {\n ctx.collection = evt.value\n },\n syncSelectedItems(ctx) {\n sync.valueChange(ctx)\n },\n syncHighlightedItem(ctx) {\n sync.highlightChange(ctx)\n },\n toggleVisibility(ctx, evt, { send }) {\n send({ type: ctx.open ? \"CONTROLLED.OPEN\" : \"CONTROLLED.CLOSE\", previousEvent: evt })\n },\n },\n },\n )\n}\n\nconst sync = {\n valueChange: (ctx: MachineContext) => {\n // side effect\n const prevSelectedItems = ctx.selectedItems\n\n ctx.selectedItems = ctx.value.map((v) => {\n const foundItem = prevSelectedItems.find((item) => ctx.collection.getItemValue(item) === v)\n if (foundItem) return foundItem\n return ctx.collection.find(v)\n })\n\n const valueAsString = ctx.collection.stringifyItems(ctx.selectedItems)\n ctx.valueAsString = valueAsString\n\n // set inputValue\n let inputValue: string | undefined\n if (ctx.getSelectionValue) {\n //\n inputValue = ctx.getSelectionValue({\n inputValue: ctx.inputValue,\n selectedItems: Array.from(ctx.selectedItems),\n valueAsString,\n })\n //\n } else {\n //\n inputValue = match(ctx.selectionBehavior, {\n replace: ctx.valueAsString,\n preserve: ctx.inputValue,\n clear: \"\",\n })\n }\n\n set.inputValue(ctx, inputValue)\n },\n highlightChange: (ctx: MachineContext) => {\n ctx.highlightedItem = ctx.collection.find(ctx.highlightedValue)\n },\n}\n\nconst invoke = {\n valueChange: (ctx: MachineContext) => {\n sync.valueChange(ctx)\n ctx.onValueChange?.({\n value: Array.from(ctx.value),\n items: Array.from(ctx.selectedItems),\n })\n },\n highlightChange: (ctx: MachineContext) => {\n sync.highlightChange(ctx)\n ctx.onHighlightChange?.({\n highlightedValue: ctx.highlightedValue,\n highlightedItem: ctx.highlightedItem,\n })\n },\n inputChange: (ctx: MachineContext) => {\n ctx.onInputValueChange?.({ inputValue: ctx.inputValue })\n },\n}\n\nconst set = {\n value: (ctx: MachineContext, value: string | string[] | null | undefined, force = false) => {\n if (isEqual(ctx.value, value)) return\n if (value == null && !force) return\n if (value == null && force) {\n ctx.value = []\n invoke.valueChange(ctx)\n return\n }\n if (isArray(value)) {\n ctx.value = value\n } else if (value != null) {\n ctx.value = ctx.multiple ? addOrRemove(ctx.value, value) : [value]\n }\n invoke.valueChange(ctx)\n },\n highlightedValue: (ctx: MachineContext, value: string | null | undefined, force = false) => {\n if (isEqual(ctx.highlightedValue, value)) return\n if (!value && !force) return\n ctx.highlightedValue = value || null\n invoke.highlightChange(ctx)\n },\n inputValue: (ctx: MachineContext, value: string) => {\n if (isEqual(ctx.inputValue, value)) return\n ctx.inputValue = value\n invoke.inputChange(ctx)\n },\n}\n"],"mappings":"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","names":["import_dom_query","collection","disabled","event","import_core","import_dom_query","import_popper","ctx","rafCleanup"]}
|
package/dist/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/combobox.anatomy.ts","../src/combobox.collection.ts","../src/combobox.connect.ts","../src/combobox.dom.ts","../src/combobox.machine.ts"],"sourcesContent":["import { createAnatomy } from \"@zag-js/anatomy\"\n\nexport const anatomy = createAnatomy(\"combobox\").parts(\n \"root\",\n \"clearTrigger\",\n \"content\",\n \"control\",\n \"input\",\n \"item\",\n \"itemGroup\",\n \"itemGroupLabel\",\n \"itemIndicator\",\n \"itemText\",\n \"label\",\n \"list\",\n \"positioner\",\n \"trigger\",\n)\nexport const parts = anatomy.build()\n","import { ListCollection, type CollectionItem, type CollectionOptions } from \"@zag-js/collection\"\nimport { ref } from \"@zag-js/core\"\n\nexport const collection = <T extends CollectionItem>(options: CollectionOptions<T>): ListCollection<T> => {\n return ref(new ListCollection(options))\n}\n\ncollection.empty = (): ListCollection<CollectionItem> => {\n return ref(new ListCollection<CollectionItem>({ items: [] }))\n}\n","import { clickIfLink, getEventKey, isContextMenuEvent, isLeftClick, type EventKeyMap } from \"@zag-js/dom-event\"\nimport { ariaAttr, dataAttr, isComposingEvent, isDownloadingEvent, isOpeningInNewTab } from \"@zag-js/dom-query\"\nimport { getPlacementStyles } from \"@zag-js/popper\"\nimport type { NormalizeProps, PropTypes } from \"@zag-js/types\"\nimport { parts } from \"./combobox.anatomy\"\nimport { dom } from \"./combobox.dom\"\nimport type { CollectionItem, ItemProps, ItemState, MachineApi, Send, State } from \"./combobox.types\"\n\nexport function connect<T extends PropTypes, V extends CollectionItem>(\n state: State,\n send: Send,\n normalize: NormalizeProps<T>,\n): MachineApi<T, V> {\n const translations = state.context.translations\n const collection = state.context.collection\n\n const disabled = state.context.disabled\n const interactive = state.context.isInteractive\n const invalid = state.context.invalid\n const readOnly = state.context.readOnly\n\n const open = state.hasTag(\"open\")\n const focused = state.hasTag(\"focused\")\n const composite = state.context.composite\n const highlightedValue = state.context.highlightedValue\n\n const popperStyles = getPlacementStyles({\n ...state.context.positioning,\n placement: state.context.currentPlacement,\n })\n\n function getItemState(props: ItemProps): ItemState {\n const { item } = props\n const disabled = collection.getItemDisabled(item)\n const value = collection.getItemValue(item)!\n return {\n value,\n disabled: Boolean(disabled || disabled),\n highlighted: highlightedValue === value,\n selected: state.context.value.includes(value),\n }\n }\n\n return {\n focused,\n open,\n inputValue: state.context.inputValue,\n highlightedValue,\n highlightedItem: state.context.highlightedItem,\n value: state.context.value,\n valueAsString: state.context.valueAsString,\n hasSelectedItems: state.context.hasSelectedItems,\n selectedItems: state.context.selectedItems,\n collection: state.context.collection,\n reposition(options = {}) {\n send({ type: \"POSITIONING.SET\", options })\n },\n setCollection(collection) {\n send({ type: \"COLLECTION.SET\", value: collection })\n },\n setHighlightValue(value) {\n send({ type: \"HIGHLIGHTED_VALUE.SET\", value })\n },\n selectValue(value) {\n send({ type: \"ITEM.SELECT\", value })\n },\n setValue(value) {\n send({ type: \"VALUE.SET\", value })\n },\n setInputValue(value) {\n send({ type: \"INPUT_VALUE.SET\", value })\n },\n clearValue(value) {\n if (value != null) {\n send({ type: \"ITEM.CLEAR\", value })\n } else {\n send(\"VALUE.CLEAR\")\n }\n },\n focus() {\n dom.getInputEl(state.context)?.focus()\n },\n setOpen(nextOpen) {\n if (nextOpen === open) return\n send(nextOpen ? \"OPEN\" : \"CLOSE\")\n },\n\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n dir: state.context.dir,\n id: dom.getRootId(state.context),\n \"data-invalid\": dataAttr(invalid),\n \"data-readonly\": dataAttr(readOnly),\n })\n },\n\n getLabelProps() {\n return normalize.label({\n ...parts.label.attrs,\n dir: state.context.dir,\n htmlFor: dom.getInputId(state.context),\n id: dom.getLabelId(state.context),\n \"data-readonly\": dataAttr(readOnly),\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(invalid),\n \"data-focus\": dataAttr(focused),\n onClick(event) {\n if (composite) return\n event.preventDefault()\n dom.getTriggerEl(state.context)?.focus({ preventScroll: true })\n },\n })\n },\n\n getControlProps() {\n return normalize.element({\n ...parts.control.attrs,\n dir: state.context.dir,\n id: dom.getControlId(state.context),\n \"data-state\": open ? \"open\" : \"closed\",\n \"data-focus\": dataAttr(focused),\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(invalid),\n })\n },\n\n getPositionerProps() {\n return normalize.element({\n ...parts.positioner.attrs,\n dir: state.context.dir,\n id: dom.getPositionerId(state.context),\n style: popperStyles.floating,\n })\n },\n\n getInputProps() {\n return normalize.input({\n ...parts.input.attrs,\n dir: state.context.dir,\n \"aria-invalid\": ariaAttr(invalid),\n \"data-invalid\": dataAttr(invalid),\n name: state.context.name,\n form: state.context.form,\n disabled: disabled,\n autoFocus: state.context.autoFocus,\n required: state.context.required,\n autoComplete: \"off\",\n autoCorrect: \"off\",\n autoCapitalize: \"none\",\n spellCheck: \"false\",\n readOnly: readOnly,\n placeholder: state.context.placeholder,\n id: dom.getInputId(state.context),\n type: \"text\",\n role: \"combobox\",\n defaultValue: state.context.inputValue,\n \"aria-autocomplete\": state.context.autoComplete ? \"both\" : \"list\",\n \"aria-controls\": dom.getContentId(state.context),\n \"aria-expanded\": open,\n \"data-state\": open ? \"open\" : \"closed\",\n \"aria-activedescendant\": highlightedValue ? dom.getItemId(state.context, highlightedValue) : undefined,\n onClick(event) {\n if (event.defaultPrevented) return\n if (!state.context.openOnClick) return\n if (!interactive) return\n send(\"INPUT.CLICK\")\n },\n onFocus() {\n if (disabled) return\n send(\"INPUT.FOCUS\")\n },\n onBlur() {\n if (disabled) return\n send(\"INPUT.BLUR\")\n },\n onChange(event) {\n send({ type: \"INPUT.CHANGE\", value: event.currentTarget.value })\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return\n if (!interactive) return\n\n if (event.ctrlKey || event.shiftKey || isComposingEvent(event)) return\n\n const openOnKeyPress = state.context.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) return\n send({ type: event.altKey ? \"OPEN\" : \"INPUT.ARROW_DOWN\", keypress })\n event.preventDefault()\n },\n ArrowUp() {\n if (!openOnKeyPress && !open) return\n send({ type: event.altKey ? \"CLOSE\" : \"INPUT.ARROW_UP\", keypress })\n event.preventDefault()\n },\n Home(event) {\n if (isModifierKey) return\n send({ type: \"INPUT.HOME\", keypress })\n if (open) {\n event.preventDefault()\n }\n },\n End(event) {\n if (isModifierKey) return\n send({ type: \"INPUT.END\", keypress })\n if (open) {\n event.preventDefault()\n }\n },\n Enter(event) {\n send({ type: \"INPUT.ENTER\", keypress })\n if (open) {\n event.preventDefault()\n }\n const itemEl = dom.getHighlightedItemEl(state.context)\n clickIfLink(itemEl)\n },\n Escape() {\n send({ type: \"INPUT.ESCAPE\", keypress })\n event.preventDefault()\n },\n }\n\n const key = getEventKey(event, state.context)\n const exec = keymap[key]\n exec?.(event)\n },\n })\n },\n\n getTriggerProps(props = {}) {\n return normalize.button({\n ...parts.trigger.attrs,\n dir: state.context.dir,\n id: dom.getTriggerId(state.context),\n \"aria-haspopup\": composite ? \"listbox\" : \"dialog\",\n type: \"button\",\n tabIndex: props.focusable ? undefined : -1,\n \"aria-label\": translations.triggerLabel,\n \"aria-expanded\": open,\n \"data-state\": open ? \"open\" : \"closed\",\n \"aria-controls\": open ? dom.getContentId(state.context) : undefined,\n disabled,\n \"data-invalid\": dataAttr(invalid),\n \"data-focusable\": dataAttr(props.focusable),\n \"data-readonly\": dataAttr(readOnly),\n \"data-disabled\": dataAttr(disabled),\n onFocus() {\n if (!props.focusable) return\n send({ type: \"INPUT.FOCUS\", src: \"trigger\" })\n },\n onClick(event) {\n if (event.defaultPrevented) return\n if (!interactive) return\n if (!isLeftClick(event)) return\n send(\"TRIGGER.CLICK\")\n },\n onPointerDown(event) {\n if (!interactive) return\n if (event.pointerType === \"touch\") return\n event.preventDefault()\n queueMicrotask(() => {\n dom.getInputEl(state.context)?.focus({ preventScroll: true })\n })\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return\n if (composite) return\n\n const keyMap: EventKeyMap = {\n ArrowDown() {\n send({ type: \"INPUT.ARROW_DOWN\", src: \"trigger\" })\n },\n ArrowUp() {\n send({ type: \"INPUT.ARROW_UP\", src: \"trigger\" })\n },\n }\n\n const key = getEventKey(event, state.context)\n const exec = keyMap[key]\n\n if (exec) {\n exec(event)\n event.preventDefault()\n }\n },\n })\n },\n\n getContentProps() {\n return normalize.element({\n ...parts.content.attrs,\n dir: state.context.dir,\n id: dom.getContentId(state.context),\n role: !composite ? \"dialog\" : \"listbox\",\n tabIndex: -1,\n hidden: !open,\n \"data-state\": open ? \"open\" : \"closed\",\n \"data-placement\": state.context.currentPlacement,\n \"aria-labelledby\": dom.getLabelId(state.context),\n \"aria-multiselectable\": state.context.multiple && composite ? true : undefined,\n onPointerDown(event) {\n // prevent options or elements within listbox from taking focus\n event.preventDefault()\n },\n })\n },\n\n getListProps() {\n return normalize.element({\n ...parts.list.attrs,\n role: !composite ? \"listbox\" : undefined,\n \"aria-labelledby\": dom.getLabelId(state.context),\n \"aria-multiselectable\": state.context.multiple && !composite ? true : undefined,\n })\n },\n\n getClearTriggerProps() {\n return normalize.button({\n ...parts.clearTrigger.attrs,\n dir: state.context.dir,\n id: dom.getClearTriggerId(state.context),\n type: \"button\",\n tabIndex: -1,\n disabled: disabled,\n \"data-invalid\": dataAttr(invalid),\n \"aria-label\": translations.clearTriggerLabel,\n \"aria-controls\": dom.getInputId(state.context),\n hidden: !state.context.value.length,\n onPointerDown(event) {\n event.preventDefault()\n },\n onClick(event) {\n if (event.defaultPrevented) return\n if (!interactive) return\n send({ type: \"VALUE.CLEAR\", src: \"clear-trigger\" })\n },\n })\n },\n\n getItemState,\n\n getItemProps(props) {\n const itemState = getItemState(props)\n const value = itemState.value\n\n return normalize.element({\n ...parts.item.attrs,\n dir: state.context.dir,\n id: dom.getItemId(state.context, value),\n role: \"option\",\n tabIndex: -1,\n \"data-highlighted\": dataAttr(itemState.highlighted),\n \"data-state\": itemState.selected ? \"checked\" : \"unchecked\",\n \"aria-selected\": ariaAttr(itemState.highlighted),\n \"aria-disabled\": ariaAttr(itemState.disabled),\n \"data-disabled\": dataAttr(itemState.disabled),\n \"data-value\": itemState.value,\n onPointerMove() {\n if (itemState.disabled) return\n if (itemState.highlighted) return\n send({ type: \"ITEM.POINTER_MOVE\", value })\n },\n onPointerLeave() {\n if (props.persistFocus) return\n if (itemState.disabled) return\n const mouseMoved = state.previousEvent.type.includes(\"POINTER\")\n if (!mouseMoved) return\n send({ type: \"ITEM.POINTER_LEAVE\", value })\n },\n onClick(event) {\n if (isDownloadingEvent(event)) return\n if (isOpeningInNewTab(event)) return\n if (isContextMenuEvent(event)) return\n if (itemState.disabled) return\n send({ type: \"ITEM.CLICK\", src: \"click\", value })\n },\n })\n },\n\n getItemTextProps(props) {\n const itemState = getItemState(props)\n return normalize.element({\n ...parts.itemText.attrs,\n dir: state.context.dir,\n \"data-state\": itemState.selected ? \"checked\" : \"unchecked\",\n \"data-disabled\": dataAttr(itemState.disabled),\n \"data-highlighted\": dataAttr(itemState.highlighted),\n })\n },\n getItemIndicatorProps(props) {\n const itemState = getItemState(props)\n return normalize.element({\n \"aria-hidden\": true,\n ...parts.itemIndicator.attrs,\n dir: state.context.dir,\n \"data-state\": itemState.selected ? \"checked\" : \"unchecked\",\n hidden: !itemState.selected,\n })\n },\n\n getItemGroupProps(props) {\n const { id } = props\n return normalize.element({\n ...parts.itemGroup.attrs,\n dir: state.context.dir,\n id: dom.getItemGroupId(state.context, id),\n \"aria-labelledby\": dom.getItemGroupLabelId(state.context, id),\n })\n },\n\n getItemGroupLabelProps(props) {\n const { htmlFor } = props\n return normalize.element({\n ...parts.itemGroupLabel.attrs,\n dir: state.context.dir,\n id: dom.getItemGroupLabelId(state.context, htmlFor),\n role: \"group\",\n })\n },\n }\n}\n","import { createScope, query } from \"@zag-js/dom-query\"\nimport type { MachineContext as Ctx } from \"./combobox.types\"\n\nexport const dom = createScope({\n getRootId: (ctx: Ctx) => ctx.ids?.root ?? `combobox:${ctx.id}`,\n getLabelId: (ctx: Ctx) => ctx.ids?.label ?? `combobox:${ctx.id}:label`,\n getControlId: (ctx: Ctx) => ctx.ids?.control ?? `combobox:${ctx.id}:control`,\n getInputId: (ctx: Ctx) => ctx.ids?.input ?? `combobox:${ctx.id}:input`,\n getContentId: (ctx: Ctx) => ctx.ids?.content ?? `combobox:${ctx.id}:content`,\n getPositionerId: (ctx: Ctx) => ctx.ids?.positioner ?? `combobox:${ctx.id}:popper`,\n getTriggerId: (ctx: Ctx) => ctx.ids?.trigger ?? `combobox:${ctx.id}:toggle-btn`,\n getClearTriggerId: (ctx: Ctx) => ctx.ids?.clearTrigger ?? `combobox:${ctx.id}:clear-btn`,\n getItemGroupId: (ctx: Ctx, id: string | number) => ctx.ids?.itemGroup?.(id) ?? `combobox:${ctx.id}:optgroup:${id}`,\n getItemGroupLabelId: (ctx: Ctx, id: string | number) =>\n ctx.ids?.itemGroupLabel?.(id) ?? `combobox:${ctx.id}:optgroup-label:${id}`,\n getItemId: (ctx: Ctx, id: string) => ctx.ids?.item?.(id) ?? `combobox:${ctx.id}:option:${id}`,\n\n getContentEl: (ctx: Ctx) => dom.getById(ctx, dom.getContentId(ctx)),\n getInputEl: (ctx: Ctx) => dom.getById<HTMLInputElement>(ctx, dom.getInputId(ctx)),\n getPositionerEl: (ctx: Ctx) => dom.getById(ctx, dom.getPositionerId(ctx)),\n getControlEl: (ctx: Ctx) => dom.getById(ctx, dom.getControlId(ctx)),\n getTriggerEl: (ctx: Ctx) => dom.getById(ctx, dom.getTriggerId(ctx)),\n getClearTriggerEl: (ctx: Ctx) => dom.getById(ctx, dom.getClearTriggerId(ctx)),\n getHighlightedItemEl: (ctx: Ctx) => {\n const value = ctx.highlightedValue\n if (value == null) return\n const selector = `[role=option][data-value=\"${CSS.escape(value)}\"`\n return query(dom.getContentEl(ctx), selector)\n },\n\n focusInputEl: (ctx: Ctx) => {\n const inputEl = dom.getInputEl(ctx)\n if (dom.isActiveElement(ctx, inputEl)) return\n inputEl?.focus({ preventScroll: true })\n },\n focusTriggerEl: (ctx: Ctx) => {\n const triggerEl = dom.getTriggerEl(ctx)\n if (dom.isActiveElement(ctx, triggerEl)) return\n triggerEl?.focus({ preventScroll: true })\n },\n})\n","import { ariaHidden } from \"@zag-js/aria-hidden\"\nimport { createMachine, guards } from \"@zag-js/core\"\nimport { trackDismissableElement } from \"@zag-js/dismissable\"\nimport { observeAttributes, observeChildren, raf, scrollIntoView } from \"@zag-js/dom-query\"\nimport { getPlacement } from \"@zag-js/popper\"\nimport { addOrRemove, compact, isArray, isBoolean, isEqual, match } from \"@zag-js/utils\"\nimport { collection } from \"./combobox.collection\"\nimport { dom } from \"./combobox.dom\"\nimport type { CollectionItem, MachineContext, MachineState, UserDefinedContext } from \"./combobox.types\"\n\nconst { and, not } = guards\n\nexport function machine<T extends CollectionItem>(userContext: UserDefinedContext<T>) {\n const ctx = compact(userContext)\n return createMachine<MachineContext, MachineState>(\n {\n id: \"combobox\",\n initial: ctx.open ? \"suggesting\" : \"idle\",\n context: {\n loopFocus: true,\n openOnClick: false,\n value: [],\n highlightedValue: null,\n inputValue: \"\",\n allowCustomValue: false,\n closeOnSelect: !ctx.multiple,\n inputBehavior: \"none\",\n selectionBehavior: \"replace\",\n openOnKeyPress: true,\n openOnChange: true,\n composite: true,\n readOnly: false,\n disabled: false,\n ...ctx,\n highlightedItem: null,\n selectedItems: [],\n valueAsString: \"\",\n collection: ctx.collection ?? collection.empty(),\n positioning: {\n placement: \"bottom\",\n flip: false,\n sameWidth: true,\n ...ctx.positioning,\n },\n translations: {\n triggerLabel: \"Toggle suggestions\",\n clearTriggerLabel: \"Clear value\",\n ...ctx.translations,\n },\n },\n\n created: [\"syncInitialValues\", \"syncSelectionBehavior\"],\n\n computed: {\n isInputValueEmpty: (ctx) => ctx.inputValue.length === 0,\n isInteractive: (ctx) => !(ctx.readOnly || ctx.disabled),\n autoComplete: (ctx) => ctx.inputBehavior === \"autocomplete\",\n autoHighlight: (ctx) => ctx.inputBehavior === \"autohighlight\",\n hasSelectedItems: (ctx) => ctx.value.length > 0,\n },\n\n watch: {\n value: [\"syncSelectedItems\"],\n inputValue: [\"syncInputValue\"],\n highlightedValue: [\"syncHighlightedItem\", \"autofillInputValue\"],\n multiple: [\"syncSelectionBehavior\"],\n open: [\"toggleVisibility\"],\n },\n\n on: {\n \"HIGHLIGHTED_VALUE.SET\": {\n actions: [\"setHighlightedItem\"],\n },\n \"ITEM.SELECT\": {\n actions: [\"selectItem\"],\n },\n \"ITEM.CLEAR\": {\n actions: [\"clearItem\"],\n },\n \"VALUE.SET\": {\n actions: [\"setSelectedItems\"],\n },\n \"INPUT_VALUE.SET\": {\n actions: \"setInputValue\",\n },\n \"COLLECTION.SET\": {\n actions: [\"setCollection\"],\n },\n \"POSITIONING.SET\": {\n actions: [\"reposition\"],\n },\n },\n\n states: {\n idle: {\n tags: [\"idle\", \"closed\"],\n entry: [\"scrollContentToTop\", \"clearHighlightedItem\"],\n on: {\n \"CONTROLLED.OPEN\": {\n target: \"interacting\",\n },\n \"TRIGGER.CLICK\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"setInitialFocus\", \"highlightFirstSelectedItem\", \"invokeOnOpen\"],\n },\n {\n target: \"interacting\",\n actions: [\"setInitialFocus\", \"highlightFirstSelectedItem\", \"invokeOnOpen\"],\n },\n ],\n \"INPUT.CLICK\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"highlightFirstSelectedItem\", \"invokeOnOpen\"],\n },\n {\n target: \"interacting\",\n actions: [\"highlightFirstSelectedItem\", \"invokeOnOpen\"],\n },\n ],\n \"INPUT.FOCUS\": {\n target: \"focused\",\n },\n OPEN: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"],\n },\n {\n target: \"interacting\",\n actions: [\"invokeOnOpen\"],\n },\n ],\n \"VALUE.CLEAR\": {\n target: \"focused\",\n actions: [\"clearInputValue\", \"clearSelectedItems\", \"setInitialFocus\"],\n },\n },\n },\n\n focused: {\n tags: [\"focused\", \"closed\"],\n entry: [\"scrollContentToTop\", \"clearHighlightedItem\"],\n on: {\n \"CONTROLLED.OPEN\": [\n {\n guard: \"isChangeEvent\",\n target: \"suggesting\",\n },\n {\n target: \"interacting\",\n },\n ],\n \"INPUT.CHANGE\": [\n {\n guard: and(\"isOpenControlled\", \"openOnChange\"),\n actions: [\"setInputValue\", \"invokeOnOpen\", \"highlightFirstItemIfNeeded\"],\n },\n {\n guard: \"openOnChange\",\n target: \"suggesting\",\n actions: [\"setInputValue\", \"invokeOnOpen\", \"highlightFirstItemIfNeeded\"],\n },\n {\n actions: \"setInputValue\",\n },\n ],\n \"LAYER.INTERACT_OUTSIDE\": {\n target: \"idle\",\n },\n \"INPUT.ESCAPE\": {\n guard: and(\"isCustomValue\", not(\"allowCustomValue\")),\n actions: \"revertInputValue\",\n },\n \"INPUT.BLUR\": {\n target: \"idle\",\n },\n \"INPUT.CLICK\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"highlightFirstSelectedItem\", \"invokeOnOpen\"],\n },\n {\n target: \"interacting\",\n actions: [\"highlightFirstSelectedItem\", \"invokeOnOpen\"],\n },\n ],\n \"TRIGGER.CLICK\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"setInitialFocus\", \"highlightFirstSelectedItem\", \"invokeOnOpen\"],\n },\n {\n target: \"interacting\",\n actions: [\"setInitialFocus\", \"highlightFirstSelectedItem\", \"invokeOnOpen\"],\n },\n ],\n \"INPUT.ARROW_DOWN\": [\n // == group 1 ==\n {\n guard: and(\"isOpenControlled\", \"autoComplete\"),\n actions: [\"invokeOnOpen\"],\n },\n {\n guard: \"autoComplete\",\n target: \"interacting\",\n actions: [\"invokeOnOpen\"],\n },\n // == group 2 ==\n {\n guard: \"isOpenControlled\",\n actions: [\"highlightFirstOrSelectedItem\", \"invokeOnOpen\"],\n },\n {\n target: \"interacting\",\n actions: [\"highlightFirstOrSelectedItem\", \"invokeOnOpen\"],\n },\n ],\n \"INPUT.ARROW_UP\": [\n // == group 1 ==\n {\n guard: \"autoComplete\",\n target: \"interacting\",\n actions: \"invokeOnOpen\",\n },\n {\n guard: \"autoComplete\",\n target: \"interacting\",\n actions: \"invokeOnOpen\",\n },\n // == group 2 ==\n {\n target: \"interacting\",\n actions: [\"highlightLastOrSelectedItem\", \"invokeOnOpen\"],\n },\n {\n target: \"interacting\",\n actions: [\"highlightLastOrSelectedItem\", \"invokeOnOpen\"],\n },\n ],\n OPEN: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"],\n },\n {\n target: \"interacting\",\n actions: [\"invokeOnOpen\"],\n },\n ],\n \"VALUE.CLEAR\": {\n actions: [\"clearInputValue\", \"clearSelectedItems\"],\n },\n },\n },\n\n interacting: {\n tags: [\"open\", \"focused\"],\n entry: [\"setInitialFocus\"],\n activities: [\"scrollToHighlightedItem\", \"trackDismissableLayer\", \"computePlacement\", \"hideOtherElements\"],\n on: {\n \"CONTROLLED.CLOSE\": [\n {\n guard: \"restoreFocus\",\n target: \"focused\",\n actions: [\"setFinalFocus\"],\n },\n {\n target: \"idle\",\n },\n ],\n \"INPUT.HOME\": {\n actions: [\"highlightFirstItem\"],\n },\n \"INPUT.END\": {\n actions: [\"highlightLastItem\"],\n },\n \"INPUT.ARROW_DOWN\": [\n {\n guard: and(\"autoComplete\", \"isLastItemHighlighted\"),\n actions: [\"clearHighlightedItem\", \"scrollContentToTop\"],\n },\n {\n actions: [\"highlightNextItem\"],\n },\n ],\n \"INPUT.ARROW_UP\": [\n {\n guard: and(\"autoComplete\", \"isFirstItemHighlighted\"),\n actions: \"clearHighlightedItem\",\n },\n {\n actions: \"highlightPrevItem\",\n },\n ],\n \"INPUT.ENTER\": [\n {\n guard: and(\"isOpenControlled\", \"closeOnSelect\"),\n actions: [\"selectHighlightedItem\", \"invokeOnClose\"],\n },\n {\n guard: \"closeOnSelect\",\n target: \"focused\",\n actions: [\"selectHighlightedItem\", \"invokeOnClose\", \"setFinalFocus\"],\n },\n {\n actions: [\"selectHighlightedItem\"],\n },\n ],\n \"INPUT.CHANGE\": [\n {\n guard: \"autoComplete\",\n target: \"suggesting\",\n actions: [\"setInputValue\", \"invokeOnOpen\"],\n },\n {\n target: \"suggesting\",\n actions: [\"clearHighlightedItem\", \"setInputValue\", \"invokeOnOpen\"],\n },\n ],\n \"ITEM.POINTER_MOVE\": {\n actions: [\"setHighlightedItem\"],\n },\n \"ITEM.POINTER_LEAVE\": {\n actions: [\"clearHighlightedItem\"],\n },\n \"ITEM.CLICK\": [\n {\n guard: and(\"isOpenControlled\", \"closeOnSelect\"),\n actions: [\"selectItem\", \"invokeOnClose\"],\n },\n {\n guard: \"closeOnSelect\",\n target: \"focused\",\n actions: [\"selectItem\", \"invokeOnClose\", \"setFinalFocus\"],\n },\n {\n actions: [\"selectItem\"],\n },\n ],\n \"LAYER.ESCAPE\": [\n {\n guard: and(\"isOpenControlled\", \"autoComplete\"),\n actions: [\"syncInputValue\", \"invokeOnClose\"],\n },\n {\n guard: \"autoComplete\",\n target: \"focused\",\n actions: [\"syncInputValue\", \"invokeOnClose\"],\n },\n {\n guard: \"isOpenControlled\",\n actions: \"invokeOnClose\",\n },\n {\n target: \"focused\",\n actions: [\"invokeOnClose\", \"setFinalFocus\"],\n },\n ],\n \"TRIGGER.CLICK\": [\n {\n guard: \"isOpenControlled\",\n actions: \"invokeOnClose\",\n },\n {\n target: \"focused\",\n actions: \"invokeOnClose\",\n },\n ],\n \"LAYER.INTERACT_OUTSIDE\": [\n // == group 1 ==\n {\n guard: and(\"isOpenControlled\", \"isCustomValue\", not(\"allowCustomValue\")),\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n },\n {\n guard: and(\"isCustomValue\", not(\"allowCustomValue\")),\n target: \"idle\",\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n },\n // == group 2 ==\n {\n guard: \"isOpenControlled\",\n actions: \"invokeOnClose\",\n },\n {\n target: \"idle\",\n actions: \"invokeOnClose\",\n },\n ],\n CLOSE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"],\n },\n {\n target: \"focused\",\n actions: [\"invokeOnClose\", \"setFinalFocus\"],\n },\n ],\n \"VALUE.CLEAR\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"clearInputValue\", \"clearSelectedItems\", \"invokeOnClose\"],\n },\n {\n target: \"focused\",\n actions: [\"clearInputValue\", \"clearSelectedItems\", \"invokeOnClose\", \"setFinalFocus\"],\n },\n ],\n },\n },\n\n suggesting: {\n tags: [\"open\", \"focused\"],\n activities: [\n \"trackDismissableLayer\",\n \"scrollToHighlightedItem\",\n \"computePlacement\",\n \"trackChildNodes\",\n \"hideOtherElements\",\n ],\n entry: [\"setInitialFocus\"],\n on: {\n \"CONTROLLED.CLOSE\": [\n {\n guard: \"restoreFocus\",\n target: \"focused\",\n actions: [\"setFinalFocus\"],\n },\n {\n target: \"idle\",\n },\n ],\n CHILDREN_CHANGE: {\n actions: [\"highlightFirstItem\"],\n },\n \"INPUT.ARROW_DOWN\": {\n target: \"interacting\",\n actions: [\"highlightNextItem\"],\n },\n \"INPUT.ARROW_UP\": {\n target: \"interacting\",\n actions: [\"highlightPrevItem\"],\n },\n \"INPUT.HOME\": {\n target: \"interacting\",\n actions: [\"highlightFirstItem\"],\n },\n \"INPUT.END\": {\n target: \"interacting\",\n actions: [\"highlightLastItem\"],\n },\n \"INPUT.ENTER\": [\n {\n guard: and(\"isOpenControlled\", \"closeOnSelect\"),\n actions: [\"selectHighlightedItem\", \"invokeOnClose\"],\n },\n {\n guard: \"closeOnSelect\",\n target: \"focused\",\n actions: [\"selectHighlightedItem\", \"invokeOnClose\", \"setFinalFocus\"],\n },\n {\n actions: [\"selectHighlightedItem\"],\n },\n ],\n \"INPUT.CHANGE\": [\n {\n guard: \"autoHighlight\",\n actions: [\"setInputValue\"],\n },\n {\n actions: [\"setInputValue\"],\n },\n ],\n \"LAYER.ESCAPE\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"],\n },\n {\n target: \"focused\",\n actions: [\"invokeOnClose\"],\n },\n ],\n \"ITEM.POINTER_MOVE\": {\n target: \"interacting\",\n actions: [\"setHighlightedItem\"],\n },\n \"ITEM.POINTER_LEAVE\": {\n actions: [\"clearHighlightedItem\"],\n },\n \"LAYER.INTERACT_OUTSIDE\": [\n // == group 1 ==\n {\n guard: and(\"isOpenControlled\", \"isCustomValue\", not(\"allowCustomValue\")),\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n },\n {\n guard: and(\"isCustomValue\", not(\"allowCustomValue\")),\n target: \"idle\",\n actions: [\"revertInputValue\", \"invokeOnClose\"],\n },\n // == group 2 ==\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"],\n },\n {\n target: \"idle\",\n actions: [\"invokeOnClose\"],\n },\n ],\n \"TRIGGER.CLICK\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"],\n },\n {\n target: \"focused\",\n actions: [\"invokeOnClose\"],\n },\n ],\n \"ITEM.CLICK\": [\n {\n guard: and(\"isOpenControlled\", \"closeOnSelect\"),\n actions: [\"selectItem\", \"invokeOnClose\"],\n },\n {\n guard: \"closeOnSelect\",\n target: \"focused\",\n actions: [\"selectItem\", \"invokeOnClose\", \"setFinalFocus\"],\n },\n {\n actions: [\"selectItem\"],\n },\n ],\n CLOSE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"],\n },\n {\n target: \"focused\",\n actions: [\"invokeOnClose\", \"setFinalFocus\"],\n },\n ],\n \"VALUE.CLEAR\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"clearInputValue\", \"clearSelectedItems\", \"invokeOnClose\"],\n },\n {\n target: \"focused\",\n actions: [\"clearInputValue\", \"clearSelectedItems\", \"invokeOnClose\", \"setFinalFocus\"],\n },\n ],\n },\n },\n },\n },\n\n {\n guards: {\n isInputValueEmpty: (ctx) => ctx.isInputValueEmpty,\n autoComplete: (ctx) => ctx.autoComplete && !ctx.multiple,\n autoHighlight: (ctx) => ctx.autoHighlight,\n isFirstItemHighlighted: (ctx) => ctx.collection.firstValue === ctx.highlightedValue,\n isLastItemHighlighted: (ctx) => ctx.collection.lastValue === ctx.highlightedValue,\n isCustomValue: (ctx) => ctx.inputValue !== ctx.valueAsString,\n allowCustomValue: (ctx) => !!ctx.allowCustomValue,\n hasHighlightedItem: (ctx) => ctx.highlightedValue != null,\n closeOnSelect: (ctx) => !!ctx.closeOnSelect,\n isOpenControlled: (ctx) => !!ctx[\"open.controlled\"],\n openOnChange: (ctx, evt) => {\n if (isBoolean(ctx.openOnChange)) return ctx.openOnChange\n return !!ctx.openOnChange?.({ inputValue: evt.value })\n },\n restoreFocus: (_ctx, evt) => (evt.restoreFocus == null ? true : !!evt.restoreFocus),\n isChangeEvent: (_ctx, evt) => evt.previousEvent?.type === \"INPUT.CHANGE\",\n },\n\n activities: {\n trackDismissableLayer(ctx, _evt, { send }) {\n if (ctx.disableLayer) return\n const contentEl = () => dom.getContentEl(ctx)\n return trackDismissableElement(contentEl, {\n defer: true,\n exclude: () => [dom.getInputEl(ctx), dom.getTriggerEl(ctx), dom.getClearTriggerEl(ctx)],\n onFocusOutside: ctx.onFocusOutside,\n onPointerDownOutside: ctx.onPointerDownOutside,\n onInteractOutside: ctx.onInteractOutside,\n onEscapeKeyDown(event) {\n event.preventDefault()\n event.stopPropagation()\n send(\"LAYER.ESCAPE\")\n },\n onDismiss() {\n send({ type: \"LAYER.INTERACT_OUTSIDE\", restoreFocus: false })\n },\n })\n },\n hideOtherElements(ctx) {\n return ariaHidden([dom.getInputEl(ctx), dom.getContentEl(ctx), dom.getTriggerEl(ctx)])\n },\n computePlacement(ctx) {\n const controlEl = () => dom.getControlEl(ctx)\n const positionerEl = () => dom.getPositionerEl(ctx)\n ctx.currentPlacement = ctx.positioning.placement\n return getPlacement(controlEl, positionerEl, {\n ...ctx.positioning,\n defer: true,\n onComplete(data) {\n ctx.currentPlacement = data.placement\n },\n })\n },\n // in event the options are fetched (async), we still want to auto-highlight the first option\n trackChildNodes(ctx, _evt, { send }) {\n if (!ctx.autoHighlight) return\n const exec = () => send(\"CHILDREN_CHANGE\")\n const contentEl = () => dom.getContentEl(ctx)\n return observeChildren(contentEl, {\n callback: exec,\n defer: true,\n })\n },\n scrollToHighlightedItem(ctx, _evt, { getState }) {\n const inputEl = dom.getInputEl(ctx)\n\n let cleanups: VoidFunction[] = []\n\n const exec = (immediate: boolean) => {\n const state = getState()\n\n const pointer = state.event.type.includes(\"POINTER\")\n if (pointer || !ctx.highlightedValue) return\n\n const itemEl = dom.getHighlightedItemEl(ctx)\n const contentEl = dom.getContentEl(ctx)\n\n if (ctx.scrollToIndexFn) {\n const highlightedIndex = ctx.collection.indexOf(ctx.highlightedValue)\n ctx.scrollToIndexFn({ index: highlightedIndex, immediate })\n return\n }\n\n const rafCleanup = raf(() => {\n scrollIntoView(itemEl, { rootEl: contentEl, block: \"nearest\" })\n })\n cleanups.push(rafCleanup)\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 },\n\n actions: {\n reposition(ctx, evt) {\n const controlEl = () => dom.getControlEl(ctx)\n const positionerEl = () => dom.getPositionerEl(ctx)\n getPlacement(controlEl, positionerEl, {\n ...ctx.positioning,\n ...evt.options,\n defer: true,\n listeners: false,\n onComplete(data) {\n ctx.currentPlacement = data.placement\n },\n })\n },\n setHighlightedItem(ctx, evt) {\n if (evt.value == null) return\n set.highlightedValue(ctx, evt.value)\n },\n clearHighlightedItem(ctx) {\n set.highlightedValue(ctx, null, true)\n },\n selectHighlightedItem(ctx) {\n set.value(ctx, ctx.highlightedValue)\n },\n selectItem(ctx, evt) {\n if (evt.value == null) return\n set.value(ctx, evt.value)\n },\n clearItem(ctx, evt) {\n if (evt.value == null) return\n const value = ctx.value.filter((v) => v !== evt.value)\n set.value(ctx, value)\n },\n setInitialFocus(ctx) {\n raf(() => {\n dom.focusInputEl(ctx)\n })\n },\n setFinalFocus(ctx) {\n raf(() => {\n const triggerEl = dom.getTriggerEl(ctx)\n if (triggerEl?.dataset.focusable == null) {\n dom.focusInputEl(ctx)\n } else {\n dom.focusTriggerEl(ctx)\n }\n })\n },\n syncInputValue(ctx) {\n const inputEl = dom.getInputEl(ctx)\n if (!inputEl) return\n\n inputEl.value = ctx.inputValue\n\n queueMicrotask(() => {\n const { selectionStart, selectionEnd } = inputEl\n\n if (Math.abs((selectionEnd ?? 0) - (selectionStart ?? 0)) !== 0) return\n if (selectionStart !== 0) return\n\n inputEl.setSelectionRange(inputEl.value.length, inputEl.value.length)\n })\n },\n setInputValue(ctx, evt) {\n set.inputValue(ctx, evt.value)\n },\n clearInputValue(ctx) {\n set.inputValue(ctx, \"\")\n },\n revertInputValue(ctx) {\n const inputValue = match(ctx.selectionBehavior, {\n replace: ctx.hasSelectedItems ? ctx.valueAsString : \"\",\n preserve: ctx.inputValue,\n clear: \"\",\n })\n\n set.inputValue(ctx, inputValue)\n },\n syncInitialValues(ctx) {\n const selectedItems = ctx.collection.findMany(ctx.value)\n const valueAsString = ctx.collection.stringifyMany(ctx.value)\n\n ctx.highlightedItem = ctx.collection.find(ctx.highlightedValue)\n ctx.selectedItems = selectedItems\n ctx.valueAsString = valueAsString\n\n if (ctx.inputValue.trim() || ctx.multiple) return\n\n ctx.inputValue = match(ctx.selectionBehavior, {\n preserve: ctx.inputValue || valueAsString,\n replace: valueAsString,\n clear: \"\",\n })\n },\n syncSelectionBehavior(ctx) {\n if (ctx.multiple) {\n ctx.selectionBehavior = \"clear\"\n }\n },\n setSelectedItems(ctx, evt) {\n if (!isArray(evt.value)) return\n set.value(ctx, evt.value)\n },\n clearSelectedItems(ctx) {\n set.value(ctx, [])\n },\n scrollContentToTop(ctx) {\n if (ctx.scrollToIndexFn) {\n ctx.scrollToIndexFn({ index: 0, immediate: true })\n } else {\n const contentEl = dom.getContentEl(ctx)\n if (!contentEl) return\n contentEl.scrollTop = 0\n }\n },\n invokeOnOpen(ctx) {\n ctx.onOpenChange?.({ open: true })\n },\n invokeOnClose(ctx) {\n ctx.onOpenChange?.({ open: false })\n },\n highlightFirstItem(ctx) {\n raf(() => {\n const value = ctx.collection.firstValue\n set.highlightedValue(ctx, value, true)\n })\n },\n highlightFirstItemIfNeeded(ctx) {\n if (!ctx.autoHighlight) return\n raf(() => {\n const value = ctx.collection.firstValue\n set.highlightedValue(ctx, value)\n })\n },\n highlightLastItem(ctx) {\n raf(() => {\n const value = ctx.collection.lastValue\n set.highlightedValue(ctx, value)\n })\n },\n highlightNextItem(ctx) {\n let value: string | null = null\n if (ctx.highlightedValue) {\n value = ctx.collection.getNextValue(ctx.highlightedValue)\n if (!value && ctx.loopFocus) value = ctx.collection.firstValue\n } else {\n value = ctx.collection.firstValue\n }\n set.highlightedValue(ctx, value)\n },\n highlightPrevItem(ctx) {\n let value: string | null = null\n if (ctx.highlightedValue) {\n value = ctx.collection.getPreviousValue(ctx.highlightedValue)\n if (!value && ctx.loopFocus) value = ctx.collection.lastValue\n } else {\n value = ctx.collection.lastValue\n }\n set.highlightedValue(ctx, value)\n },\n highlightFirstSelectedItem(ctx) {\n raf(() => {\n const [value] = ctx.collection.sort(ctx.value)\n set.highlightedValue(ctx, value)\n })\n },\n highlightFirstOrSelectedItem(ctx) {\n raf(() => {\n let value: string | null = null\n if (ctx.hasSelectedItems) {\n value = ctx.collection.sort(ctx.value)[0]\n } else {\n value = ctx.collection.firstValue\n }\n set.highlightedValue(ctx, value)\n })\n },\n highlightLastOrSelectedItem(ctx) {\n raf(() => {\n let value: string | null = null\n if (ctx.hasSelectedItems) {\n value = ctx.collection.sort(ctx.value)[0]\n } else {\n value = ctx.collection.lastValue\n }\n set.highlightedValue(ctx, value)\n })\n },\n autofillInputValue(ctx, evt) {\n const inputEl = dom.getInputEl(ctx)\n if (!ctx.autoComplete || !inputEl || !evt.keypress) return\n const valueText = ctx.collection.stringify(ctx.highlightedValue)\n raf(() => {\n inputEl.value = valueText || ctx.inputValue\n })\n },\n setCollection(ctx, evt) {\n ctx.collection = evt.value\n },\n syncSelectedItems(ctx) {\n sync.valueChange(ctx)\n },\n syncHighlightedItem(ctx) {\n sync.highlightChange(ctx)\n },\n toggleVisibility(ctx, evt, { send }) {\n send({ type: ctx.open ? \"CONTROLLED.OPEN\" : \"CONTROLLED.CLOSE\", previousEvent: evt })\n },\n },\n },\n )\n}\n\nconst sync = {\n valueChange: (ctx: MachineContext) => {\n // side effect\n const prevSelectedItems = ctx.selectedItems\n\n ctx.selectedItems = ctx.value.map((v) => {\n const foundItem = prevSelectedItems.find((item) => ctx.collection.getItemValue(item) === v)\n if (foundItem) return foundItem\n return ctx.collection.find(v)\n })\n\n const valueAsString = ctx.collection.stringifyItems(ctx.selectedItems)\n ctx.valueAsString = valueAsString\n\n // set inputValue\n let inputValue: string | undefined\n if (ctx.getSelectionValue) {\n //\n inputValue = ctx.getSelectionValue({\n inputValue: ctx.inputValue,\n selectedItems: Array.from(ctx.selectedItems),\n valueAsString,\n })\n //\n } else {\n //\n inputValue = match(ctx.selectionBehavior, {\n replace: ctx.valueAsString,\n preserve: ctx.inputValue,\n clear: \"\",\n })\n }\n\n set.inputValue(ctx, inputValue)\n },\n highlightChange: (ctx: MachineContext) => {\n ctx.highlightedItem = ctx.collection.find(ctx.highlightedValue)\n },\n}\n\nconst invoke = {\n valueChange: (ctx: MachineContext) => {\n sync.valueChange(ctx)\n ctx.onValueChange?.({\n value: Array.from(ctx.value),\n items: Array.from(ctx.selectedItems),\n })\n },\n highlightChange: (ctx: MachineContext) => {\n sync.highlightChange(ctx)\n ctx.onHighlightChange?.({\n highlightedValue: ctx.highlightedValue,\n highlightedItem: ctx.highlightedItem,\n })\n },\n inputChange: (ctx: MachineContext) => {\n ctx.onInputValueChange?.({ inputValue: ctx.inputValue })\n },\n}\n\nconst set = {\n value: (ctx: MachineContext, value: string | string[] | null | undefined, force = false) => {\n if (isEqual(ctx.value, value)) return\n if (value == null && !force) return\n if (value == null && force) {\n ctx.value = []\n invoke.valueChange(ctx)\n return\n }\n if (isArray(value)) {\n ctx.value = value\n } else if (value != null) {\n ctx.value = ctx.multiple ? addOrRemove(ctx.value, value) : [value]\n }\n invoke.valueChange(ctx)\n },\n highlightedValue: (ctx: MachineContext, value: string | null | undefined, force = false) => {\n if (isEqual(ctx.highlightedValue, value)) return\n if (!value && !force) return\n ctx.highlightedValue = value || null\n invoke.highlightChange(ctx)\n },\n inputValue: (ctx: MachineContext, value: string) => {\n if (isEqual(ctx.inputValue, value)) return\n ctx.inputValue = value\n invoke.inputChange(ctx)\n },\n}\n"],"mappings":"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","names":["collection","disabled","event","ctx","rafCleanup"]}
|
package/src/combobox.anatomy.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { createAnatomy } from "@zag-js/anatomy"
|
|
2
|
-
|
|
3
|
-
export const anatomy = createAnatomy("combobox").parts(
|
|
4
|
-
"root",
|
|
5
|
-
"clearTrigger",
|
|
6
|
-
"content",
|
|
7
|
-
"control",
|
|
8
|
-
"input",
|
|
9
|
-
"item",
|
|
10
|
-
"itemGroup",
|
|
11
|
-
"itemGroupLabel",
|
|
12
|
-
"itemIndicator",
|
|
13
|
-
"itemText",
|
|
14
|
-
"label",
|
|
15
|
-
"list",
|
|
16
|
-
"positioner",
|
|
17
|
-
"trigger",
|
|
18
|
-
)
|
|
19
|
-
export const parts = anatomy.build()
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { ListCollection, type CollectionItem, type CollectionOptions } from "@zag-js/collection"
|
|
2
|
-
import { ref } from "@zag-js/core"
|
|
3
|
-
|
|
4
|
-
export const collection = <T extends CollectionItem>(options: CollectionOptions<T>): ListCollection<T> => {
|
|
5
|
-
return ref(new ListCollection(options))
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
collection.empty = (): ListCollection<CollectionItem> => {
|
|
9
|
-
return ref(new ListCollection<CollectionItem>({ items: [] }))
|
|
10
|
-
}
|