@zag-js/combobox 0.50.0 → 0.51.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 +1 -1464
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1440
- package/dist/index.mjs.map +1 -1
- package/package.json +11 -11
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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 TriggerProps,\n ValueChangeDetails,\n} from \"./combobox.types\"\n","import { createAnatomy } from \"@zag-js/anatomy\"\n\nexport const anatomy = createAnatomy(\"combobox\").parts(\n \"root\",\n \"label\",\n \"input\",\n \"positioner\",\n \"control\",\n \"trigger\",\n \"content\",\n \"clearTrigger\",\n \"item\",\n \"itemText\",\n \"itemIndicator\",\n \"itemGroup\",\n \"itemGroupLabel\",\n)\nexport const parts = anatomy.build()\n","import { Collection, type CollectionItem, type CollectionOptions } from \"@zag-js/collection\"\nimport { ref } from \"@zag-js/core\"\n\nexport const collection = <T extends CollectionItem>(options: CollectionOptions<T>): Collection<T> => {\n return ref(new Collection(options))\n}\n\ncollection.empty = (): Collection<CollectionItem> => {\n return ref(new Collection<CollectionItem>({ items: [] }))\n}\n","import {\n clickIfLink,\n getEventKey,\n getNativeEvent,\n isContextMenuEvent,\n isLeftClick,\n type EventKeyMap,\n} from \"@zag-js/dom-event\"\nimport { ariaAttr, dataAttr, 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.isItemDisabled(item)\n const value = collection.itemToValue(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 rootProps: 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 labelProps: 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 controlProps: 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 positionerProps: normalize.element({\n ...parts.positioner.attrs,\n dir: state.context.dir,\n id: dom.getPositionerId(state.context),\n style: popperStyles.floating,\n }),\n\n inputProps: 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 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 const evt = getNativeEvent(event)\n if (evt.ctrlKey || evt.shiftKey || evt.isComposing) 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 if (evt.isComposing) return\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 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-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 const evt = getNativeEvent(event)\n if (!interactive) return\n if (!isLeftClick(evt)) 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 contentProps: 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 \"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 listProps: normalize.element({\n role: !composite ? \"listbox\" : undefined,\n \"aria-labelledby\": dom.getLabelId(state.context),\n \"aria-multiselectable\": state.context.multiple && !composite ? true : undefined,\n }),\n\n clearTriggerProps: 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 \"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 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\": itemState.highlighted,\n \"aria-disabled\": 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 onPointerUp(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: \"pointerup\", value })\n },\n onTouchEnd(event) {\n // prevent clicking elements behind content\n event.preventDefault()\n event.stopPropagation()\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-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) => `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 return query(dom.getContentEl(ctx), `[role=option][data-value=\"${CSS.escape(value)}\"`)\n },\n\n focusInputEl: (ctx: Ctx) => {\n const inputEl = dom.getInputEl(ctx)\n if (dom.getActiveElement(ctx) === inputEl) return\n inputEl?.focus({ preventScroll: true })\n },\n focusTriggerEl: (ctx: Ctx) => {\n const triggerEl = dom.getTriggerEl(ctx)\n if (dom.getActiveElement(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 ...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.first() === ctx.highlightedValue,\n isLastItemHighlighted: (ctx) => ctx.collection.last() === 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.items(ctx.value)\n const valueAsString = ctx.collection.itemsToString(selectedItems)\n\n ctx.highlightedItem = ctx.collection.item(ctx.highlightedValue)\n ctx.selectedItems = selectedItems\n ctx.valueAsString = valueAsString\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.first()\n set.highlightedValue(ctx, value)\n })\n },\n highlightFirstItemIfNeeded(ctx) {\n if (!ctx.autoHighlight) return\n raf(() => {\n const value = ctx.collection.first()\n set.highlightedValue(ctx, value)\n })\n },\n highlightLastItem(ctx) {\n raf(() => {\n const value = ctx.collection.last()\n set.highlightedValue(ctx, value)\n })\n },\n highlightNextItem(ctx) {\n let value: string | null = null\n if (ctx.highlightedValue) {\n value = ctx.collection.next(ctx.highlightedValue)\n if (!value && ctx.loopFocus) value = ctx.collection.first()\n } else {\n value = ctx.collection.first()\n }\n set.highlightedValue(ctx, value)\n },\n highlightPrevItem(ctx) {\n let value: string | null = null\n if (ctx.highlightedValue) {\n value = ctx.collection.prev(ctx.highlightedValue)\n if (!value && ctx.loopFocus) value = ctx.collection.last()\n } else {\n value = ctx.collection.last()\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.first()\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.last()\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.valueToString(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 ctx.selectedItems = ctx.value.map((v) => {\n const foundItem = prevSelectedItems.find((item) => ctx.collection.itemToValue(item) === v)\n if (foundItem) return foundItem\n return ctx.collection.item(v)\n })\n\n // set valueAsString\n const valueAsString = ctx.collection.itemsToString(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.item(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"]}
|
|
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 TriggerProps,\n ValueChangeDetails,\n} from \"./combobox.types\"\n","import { createAnatomy } from \"@zag-js/anatomy\"\n\nexport const anatomy = createAnatomy(\"combobox\").parts(\n \"root\",\n \"label\",\n \"input\",\n \"positioner\",\n \"control\",\n \"trigger\",\n \"content\",\n \"clearTrigger\",\n \"item\",\n \"itemText\",\n \"itemIndicator\",\n \"itemGroup\",\n \"itemGroupLabel\",\n)\nexport const parts = anatomy.build()\n","import { Collection, type CollectionItem, type CollectionOptions } from \"@zag-js/collection\"\nimport { ref } from \"@zag-js/core\"\n\nexport const collection = <T extends CollectionItem>(options: CollectionOptions<T>): Collection<T> => {\n return ref(new Collection(options))\n}\n\ncollection.empty = (): Collection<CollectionItem> => {\n return ref(new Collection<CollectionItem>({ items: [] }))\n}\n","import {\n clickIfLink,\n getEventKey,\n getNativeEvent,\n isContextMenuEvent,\n isLeftClick,\n type EventKeyMap,\n} from \"@zag-js/dom-event\"\nimport { ariaAttr, dataAttr, 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.isItemDisabled(item)\n const value = collection.itemToValue(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 rootProps: 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 labelProps: 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 controlProps: 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 positionerProps: normalize.element({\n ...parts.positioner.attrs,\n dir: state.context.dir,\n id: dom.getPositionerId(state.context),\n style: popperStyles.floating,\n }),\n\n inputProps: 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 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 const evt = getNativeEvent(event)\n if (evt.ctrlKey || evt.shiftKey || evt.isComposing) 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 if (evt.isComposing) return\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 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-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 const evt = getNativeEvent(event)\n if (!interactive) return\n if (!isLeftClick(evt)) 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 contentProps: 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 \"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 listProps: normalize.element({\n role: !composite ? \"listbox\" : undefined,\n \"aria-labelledby\": dom.getLabelId(state.context),\n \"aria-multiselectable\": state.context.multiple && !composite ? true : undefined,\n }),\n\n clearTriggerProps: 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 \"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 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\": itemState.highlighted,\n \"aria-disabled\": 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 onPointerUp(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: \"pointerup\", value })\n },\n onTouchEnd(event) {\n // prevent clicking elements behind content\n event.preventDefault()\n event.stopPropagation()\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-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) => `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 return query(dom.getContentEl(ctx), `[role=option][data-value=\"${CSS.escape(value)}\"`)\n },\n\n focusInputEl: (ctx: Ctx) => {\n const inputEl = dom.getInputEl(ctx)\n if (dom.getActiveElement(ctx) === inputEl) return\n inputEl?.focus({ preventScroll: true })\n },\n focusTriggerEl: (ctx: Ctx) => {\n const triggerEl = dom.getTriggerEl(ctx)\n if (dom.getActiveElement(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 ...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.first() === ctx.highlightedValue,\n isLastItemHighlighted: (ctx) => ctx.collection.last() === 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.items(ctx.value)\n const valueAsString = ctx.collection.itemsToString(selectedItems)\n\n ctx.highlightedItem = ctx.collection.item(ctx.highlightedValue)\n ctx.selectedItems = selectedItems\n ctx.valueAsString = valueAsString\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.first()\n set.highlightedValue(ctx, value)\n })\n },\n highlightFirstItemIfNeeded(ctx) {\n if (!ctx.autoHighlight) return\n raf(() => {\n const value = ctx.collection.first()\n set.highlightedValue(ctx, value)\n })\n },\n highlightLastItem(ctx) {\n raf(() => {\n const value = ctx.collection.last()\n set.highlightedValue(ctx, value)\n })\n },\n highlightNextItem(ctx) {\n let value: string | null = null\n if (ctx.highlightedValue) {\n value = ctx.collection.next(ctx.highlightedValue)\n if (!value && ctx.loopFocus) value = ctx.collection.first()\n } else {\n value = ctx.collection.first()\n }\n set.highlightedValue(ctx, value)\n },\n highlightPrevItem(ctx) {\n let value: string | null = null\n if (ctx.highlightedValue) {\n value = ctx.collection.prev(ctx.highlightedValue)\n if (!value && ctx.loopFocus) value = ctx.collection.last()\n } else {\n value = ctx.collection.last()\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.first()\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.last()\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.valueToString(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 ctx.selectedItems = ctx.value.map((v) => {\n const foundItem = prevSelectedItems.find((item) => ctx.collection.itemToValue(item) === v)\n if (foundItem) return foundItem\n return ctx.collection.item(v)\n })\n\n // set valueAsString\n const valueAsString = ctx.collection.itemsToString(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.item(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"]}
|