{"version":3,"sources":["jsdelivr-header.js","/npm/@zag-js/select@1.41.2/dist/select.anatomy.mjs","/npm/@zag-js/select@1.41.2/dist/select.collection.mjs","/npm/@zag-js/select@1.41.2/dist/select.dom.mjs","/npm/@zag-js/select@1.41.2/dist/select.connect.mjs","/npm/@zag-js/select@1.41.2/dist/select.machine.mjs","/npm/@zag-js/select@1.41.2/dist/select.props.mjs"],"names":[],"mappings":"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","file":"/npm/@zag-js/select@1.41.2/dist/index.mjs/+esm","sourceRoot":"","sourcesContent":["/**\n * Bundled by jsDelivr using Rollup v2.79.2 and Terser v5.48.0.\n * Original file: /npm/@zag-js/select@1.41.2/dist/index.mjs\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","// src/select.anatomy.ts\nimport { createAnatomy } from \"@zag-js/anatomy\";\nvar anatomy = createAnatomy(\"select\").parts(\n  \"label\",\n  \"positioner\",\n  \"trigger\",\n  \"indicator\",\n  \"clearTrigger\",\n  \"item\",\n  \"itemText\",\n  \"itemIndicator\",\n  \"itemGroup\",\n  \"itemGroupLabel\",\n  \"list\",\n  \"content\",\n  \"root\",\n  \"control\",\n  \"valueText\"\n);\nvar parts = anatomy.build();\nexport {\n  anatomy,\n  parts\n};\n","// src/select.collection.ts\nimport { ListCollection } from \"@zag-js/collection\";\nvar collection = (options) => {\n  return new ListCollection(options);\n};\ncollection.empty = () => {\n  return new ListCollection({ items: [] });\n};\nexport {\n  collection\n};\n","// src/select.dom.ts\nvar getRootId = (ctx) => ctx.ids?.root ?? `select:${ctx.id}`;\nvar getContentId = (ctx) => ctx.ids?.content ?? `select:${ctx.id}:content`;\nvar getTriggerId = (ctx) => ctx.ids?.trigger ?? `select:${ctx.id}:trigger`;\nvar getClearTriggerId = (ctx) => ctx.ids?.clearTrigger ?? `select:${ctx.id}:clear-trigger`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `select:${ctx.id}:label`;\nvar getControlId = (ctx) => ctx.ids?.control ?? `select:${ctx.id}:control`;\nvar getItemId = (ctx, id) => ctx.ids?.item?.(id) ?? `select:${ctx.id}:option:${id}`;\nvar getHiddenSelectId = (ctx) => ctx.ids?.hiddenSelect ?? `select:${ctx.id}:select`;\nvar getPositionerId = (ctx) => ctx.ids?.positioner ?? `select:${ctx.id}:positioner`;\nvar getItemGroupId = (ctx, id) => ctx.ids?.itemGroup?.(id) ?? `select:${ctx.id}:optgroup:${id}`;\nvar getItemGroupLabelId = (ctx, id) => ctx.ids?.itemGroupLabel?.(id) ?? `select:${ctx.id}:optgroup-label:${id}`;\nvar getHiddenSelectEl = (ctx) => ctx.getById(getHiddenSelectId(ctx));\nvar getContentEl = (ctx) => ctx.getById(getContentId(ctx));\nvar getControlEl = (ctx) => ctx.getById(getControlId(ctx));\nvar getTriggerEl = (ctx) => ctx.getById(getTriggerId(ctx));\nvar getClearTriggerEl = (ctx) => ctx.getById(getClearTriggerId(ctx));\nvar getPositionerEl = (ctx) => ctx.getById(getPositionerId(ctx));\nvar getItemEl = (ctx, id) => {\n  if (id == null) return null;\n  return ctx.getById(getItemId(ctx, id));\n};\nexport {\n  getClearTriggerEl,\n  getClearTriggerId,\n  getContentEl,\n  getContentId,\n  getControlEl,\n  getControlId,\n  getHiddenSelectEl,\n  getHiddenSelectId,\n  getItemEl,\n  getItemGroupId,\n  getItemGroupLabelId,\n  getItemId,\n  getLabelId,\n  getPositionerEl,\n  getPositionerId,\n  getRootId,\n  getTriggerEl,\n  getTriggerId\n};\n","// src/select.connect.ts\nimport {\n  ariaAttr,\n  contains,\n  dataAttr,\n  getByTypeahead,\n  getEventKey,\n  getEventTarget,\n  getNativeEvent,\n  isEditableElement,\n  isInternalChangeEvent,\n  isValidTabEvent,\n  visuallyHiddenStyle\n} from \"@zag-js/dom-query\";\nimport { getPlacementSide, getPlacementStyles } from \"@zag-js/popper\";\nimport { ensure } from \"@zag-js/utils\";\nimport { parts } from \"./select.anatomy.mjs\";\nimport * as dom from \"./select.dom.mjs\";\nfunction connect(service, normalize) {\n  const { context, prop, scope, state, computed, send } = service;\n  const translations = prop(\"translations\");\n  const disabled = prop(\"disabled\") || context.get(\"fieldsetDisabled\");\n  const invalid = !!prop(\"invalid\");\n  const required = !!prop(\"required\");\n  const readOnly = !!prop(\"readOnly\");\n  const composite = prop(\"composite\");\n  const collection = prop(\"collection\");\n  const open = state.hasTag(\"open\");\n  const focused = state.matches(\"focused\");\n  const highlightedValue = context.get(\"highlightedValue\");\n  const highlightedItem = context.get(\"highlightedItem\");\n  const selectedItems = computed(\"selectedItems\");\n  const currentPlacement = context.get(\"currentPlacement\");\n  const currentPlacementSide = currentPlacement ? getPlacementSide(currentPlacement) : void 0;\n  const isTypingAhead = computed(\"isTypingAhead\");\n  const interactive = computed(\"isInteractive\");\n  const ariaActiveDescendant = highlightedValue ? dom.getItemId(scope, highlightedValue) : void 0;\n  function getItemState(props) {\n    const _disabled = collection.getItemDisabled(props.item);\n    const value = collection.getItemValue(props.item);\n    ensure(value, () => `[zag-js] No value found for item ${JSON.stringify(props.item)}`);\n    return {\n      value,\n      disabled: Boolean(disabled || _disabled),\n      highlighted: highlightedValue === value,\n      selected: context.get(\"value\").includes(value)\n    };\n  }\n  const popperStyles = getPlacementStyles({\n    ...prop(\"positioning\"),\n    placement: currentPlacement\n  });\n  return {\n    open,\n    focused,\n    empty: context.get(\"value\").length === 0,\n    highlightedItem,\n    highlightedValue,\n    selectedItems,\n    hasSelectedItems: computed(\"hasSelectedItems\"),\n    value: context.get(\"value\"),\n    valueAsString: computed(\"valueAsString\"),\n    collection,\n    multiple: !!prop(\"multiple\"),\n    disabled: !!disabled,\n    reposition(options = {}) {\n      send({ type: \"POSITIONING.SET\", options });\n    },\n    focus() {\n      dom.getTriggerEl(scope)?.focus({ preventScroll: true });\n    },\n    setOpen(nextOpen) {\n      const open2 = state.hasTag(\"open\");\n      if (open2 === nextOpen) return;\n      send({ type: nextOpen ? \"OPEN\" : \"CLOSE\" });\n    },\n    selectValue(value) {\n      send({ type: \"ITEM.SELECT\", value });\n    },\n    setValue(value) {\n      send({ type: \"VALUE.SET\", value });\n    },\n    selectAll() {\n      send({ type: \"VALUE.SET\", value: collection.getValues() });\n    },\n    setHighlightValue(value) {\n      send({ type: \"HIGHLIGHTED_VALUE.SET\", value });\n    },\n    clearHighlightValue() {\n      send({ type: \"HIGHLIGHTED_VALUE.CLEAR\" });\n    },\n    clearValue(value) {\n      if (value) {\n        send({ type: \"ITEM.CLEAR\", value });\n      } else {\n        send({ type: \"VALUE.CLEAR\" });\n      }\n    },\n    getItemState,\n    getRootProps() {\n      return normalize.element({\n        ...parts.root.attrs,\n        dir: prop(\"dir\"),\n        id: dom.getRootId(scope),\n        \"data-invalid\": dataAttr(invalid),\n        \"data-readonly\": dataAttr(readOnly)\n      });\n    },\n    getLabelProps() {\n      return normalize.label({\n        dir: prop(\"dir\"),\n        id: dom.getLabelId(scope),\n        ...parts.label.attrs,\n        \"data-disabled\": dataAttr(disabled),\n        \"data-invalid\": dataAttr(invalid),\n        \"data-readonly\": dataAttr(readOnly),\n        \"data-required\": dataAttr(required),\n        htmlFor: dom.getHiddenSelectId(scope),\n        onClick(event) {\n          if (event.defaultPrevented) return;\n          if (disabled) return;\n          dom.getTriggerEl(scope)?.focus({ preventScroll: true });\n        }\n      });\n    },\n    getControlProps() {\n      return normalize.element({\n        ...parts.control.attrs,\n        dir: prop(\"dir\"),\n        id: dom.getControlId(scope),\n        \"data-state\": open ? \"open\" : \"closed\",\n        \"data-focus\": dataAttr(focused),\n        \"data-disabled\": dataAttr(disabled),\n        \"data-invalid\": dataAttr(invalid)\n      });\n    },\n    getValueTextProps() {\n      return normalize.element({\n        ...parts.valueText.attrs,\n        dir: prop(\"dir\"),\n        \"data-disabled\": dataAttr(disabled),\n        \"data-invalid\": dataAttr(invalid),\n        \"data-focus\": dataAttr(focused)\n      });\n    },\n    getTriggerProps() {\n      return normalize.button({\n        id: dom.getTriggerId(scope),\n        disabled,\n        dir: prop(\"dir\"),\n        type: \"button\",\n        role: \"combobox\",\n        \"aria-controls\": dom.getContentId(scope),\n        \"aria-expanded\": open,\n        \"aria-haspopup\": \"listbox\",\n        \"data-state\": open ? \"open\" : \"closed\",\n        \"aria-invalid\": invalid,\n        \"aria-required\": required,\n        \"aria-labelledby\": dom.getLabelId(scope),\n        ...parts.trigger.attrs,\n        \"data-disabled\": dataAttr(disabled),\n        \"data-invalid\": dataAttr(invalid),\n        \"data-readonly\": dataAttr(readOnly),\n        \"data-placement\": currentPlacement,\n        \"data-side\": currentPlacementSide,\n        \"data-placeholder-shown\": dataAttr(!computed(\"hasSelectedItems\")),\n        onClick(event) {\n          if (!interactive) return;\n          if (event.defaultPrevented) return;\n          send({ type: \"TRIGGER.CLICK\" });\n        },\n        onFocus() {\n          send({ type: \"TRIGGER.FOCUS\" });\n        },\n        onBlur() {\n          send({ type: \"TRIGGER.BLUR\" });\n        },\n        onKeyDown(event) {\n          if (event.defaultPrevented) return;\n          if (!interactive) return;\n          const keyMap = {\n            ArrowUp() {\n              send({ type: \"TRIGGER.ARROW_UP\" });\n            },\n            ArrowDown(event2) {\n              send({ type: event2.altKey ? \"OPEN\" : \"TRIGGER.ARROW_DOWN\" });\n            },\n            ArrowLeft() {\n              send({ type: \"TRIGGER.ARROW_LEFT\" });\n            },\n            ArrowRight() {\n              send({ type: \"TRIGGER.ARROW_RIGHT\" });\n            },\n            Home() {\n              send({ type: \"TRIGGER.HOME\" });\n            },\n            End() {\n              send({ type: \"TRIGGER.END\" });\n            },\n            Enter() {\n              send({ type: \"TRIGGER.ENTER\" });\n            },\n            Space(event2) {\n              if (isTypingAhead) {\n                send({ type: \"TRIGGER.TYPEAHEAD\", key: event2.key });\n              } else {\n                send({ type: \"TRIGGER.ENTER\" });\n              }\n            }\n          };\n          const exec = keyMap[getEventKey(event, {\n            dir: prop(\"dir\"),\n            orientation: \"vertical\"\n          })];\n          if (exec) {\n            exec(event);\n            event.preventDefault();\n            return;\n          }\n          if (getByTypeahead.isValidEvent(event)) {\n            send({ type: \"TRIGGER.TYPEAHEAD\", key: event.key });\n            event.preventDefault();\n          }\n        }\n      });\n    },\n    getIndicatorProps() {\n      return normalize.element({\n        ...parts.indicator.attrs,\n        dir: prop(\"dir\"),\n        \"aria-hidden\": true,\n        \"data-state\": open ? \"open\" : \"closed\",\n        \"data-disabled\": dataAttr(disabled),\n        \"data-invalid\": dataAttr(invalid),\n        \"data-readonly\": dataAttr(readOnly)\n      });\n    },\n    getItemProps(props) {\n      const itemState = getItemState(props);\n      return normalize.element({\n        id: dom.getItemId(scope, itemState.value),\n        role: \"option\",\n        ...parts.item.attrs,\n        dir: prop(\"dir\"),\n        \"data-value\": itemState.value,\n        \"aria-selected\": itemState.selected,\n        \"data-state\": itemState.selected ? \"checked\" : \"unchecked\",\n        \"data-highlighted\": dataAttr(itemState.highlighted),\n        \"data-disabled\": dataAttr(itemState.disabled),\n        \"aria-disabled\": ariaAttr(itemState.disabled),\n        onPointerMove(event) {\n          if (itemState.disabled || event.pointerType !== \"mouse\") return;\n          if (itemState.value === highlightedValue) return;\n          send({ type: \"ITEM.POINTER_MOVE\", value: itemState.value });\n        },\n        onClick(event) {\n          if (event.defaultPrevented) return;\n          if (itemState.disabled) return;\n          send({ type: \"ITEM.CLICK\", src: \"pointerup\", value: itemState.value });\n        },\n        onPointerLeave(event) {\n          if (itemState.disabled) return;\n          if (props.persistFocus) return;\n          if (event.pointerType !== \"mouse\") return;\n          const pointerMoved = service.event.previous()?.type.includes(\"POINTER\");\n          if (!pointerMoved) return;\n          send({ type: \"ITEM.POINTER_LEAVE\" });\n        }\n      });\n    },\n    getItemTextProps(props) {\n      const itemState = getItemState(props);\n      return normalize.element({\n        ...parts.itemText.attrs,\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        \"data-state\": itemState.selected ? \"checked\" : \"unchecked\",\n        hidden: !itemState.selected\n      });\n    },\n    getItemGroupLabelProps(props) {\n      const { htmlFor } = props;\n      return normalize.element({\n        ...parts.itemGroupLabel.attrs,\n        id: dom.getItemGroupLabelId(scope, htmlFor),\n        dir: prop(\"dir\"),\n        role: \"presentation\"\n      });\n    },\n    getItemGroupProps(props) {\n      const { id } = props;\n      return normalize.element({\n        ...parts.itemGroup.attrs,\n        \"data-disabled\": dataAttr(disabled),\n        id: dom.getItemGroupId(scope, id),\n        \"aria-labelledby\": dom.getItemGroupLabelId(scope, id),\n        role: \"group\",\n        dir: prop(\"dir\")\n      });\n    },\n    getClearTriggerProps() {\n      return normalize.button({\n        ...parts.clearTrigger.attrs,\n        id: dom.getClearTriggerId(scope),\n        type: \"button\",\n        \"aria-label\": translations.clearTriggerLabel,\n        \"data-invalid\": dataAttr(invalid),\n        disabled,\n        hidden: !computed(\"hasSelectedItems\"),\n        dir: prop(\"dir\"),\n        onClick(event) {\n          if (event.defaultPrevented) return;\n          send({ type: \"CLEAR.CLICK\" });\n        }\n      });\n    },\n    getHiddenSelectProps() {\n      const value = context.get(\"value\");\n      const defaultValue = prop(\"multiple\") ? value : value?.[0];\n      const handleChange = (e) => {\n        const evt = getNativeEvent(e);\n        if (isInternalChangeEvent(evt)) return;\n        send({ type: \"VALUE.SET\", value: getSelectedValues(e.currentTarget) });\n      };\n      return normalize.select({\n        name: prop(\"name\"),\n        form: prop(\"form\"),\n        disabled,\n        multiple: prop(\"multiple\"),\n        required: prop(\"required\"),\n        \"aria-hidden\": true,\n        id: dom.getHiddenSelectId(scope),\n        defaultValue,\n        style: visuallyHiddenStyle,\n        tabIndex: -1,\n        autoComplete: prop(\"autoComplete\"),\n        onChange: handleChange,\n        onInput: handleChange,\n        // Some browser extensions will focus the hidden select.\n        // Let's forward the focus to the trigger.\n        onFocus() {\n          dom.getTriggerEl(scope)?.focus({ preventScroll: true });\n        },\n        \"aria-labelledby\": dom.getLabelId(scope)\n      });\n    },\n    getPositionerProps() {\n      return normalize.element({\n        ...parts.positioner.attrs,\n        dir: prop(\"dir\"),\n        id: dom.getPositionerId(scope),\n        style: popperStyles.floating\n      });\n    },\n    getContentProps() {\n      return normalize.element({\n        hidden: !open,\n        dir: prop(\"dir\"),\n        id: dom.getContentId(scope),\n        role: composite ? \"listbox\" : \"dialog\",\n        ...parts.content.attrs,\n        \"data-state\": open ? \"open\" : \"closed\",\n        \"data-placement\": currentPlacement,\n        \"data-side\": currentPlacementSide,\n        \"data-activedescendant\": ariaActiveDescendant,\n        \"aria-activedescendant\": composite ? ariaActiveDescendant : void 0,\n        \"aria-multiselectable\": prop(\"multiple\") && composite ? true : void 0,\n        \"aria-labelledby\": dom.getLabelId(scope),\n        tabIndex: 0,\n        onKeyDown(event) {\n          if (!interactive) return;\n          if (!contains(event.currentTarget, getEventTarget(event))) return;\n          if (event.key === \"Tab\") {\n            const valid = isValidTabEvent(event);\n            if (!valid) {\n              event.preventDefault();\n              return;\n            }\n          }\n          const keyMap = {\n            ArrowUp() {\n              send({ type: \"CONTENT.ARROW_UP\" });\n            },\n            ArrowDown() {\n              send({ type: \"CONTENT.ARROW_DOWN\" });\n            },\n            Home() {\n              send({ type: \"CONTENT.HOME\" });\n            },\n            End() {\n              send({ type: \"CONTENT.END\" });\n            },\n            Enter() {\n              send({ type: \"ITEM.CLICK\", src: \"keydown.enter\" });\n            },\n            Space(event2) {\n              if (isTypingAhead) {\n                send({ type: \"CONTENT.TYPEAHEAD\", key: event2.key });\n              } else {\n                keyMap.Enter?.(event2);\n              }\n            }\n          };\n          const exec = keyMap[getEventKey(event)];\n          if (exec) {\n            exec(event);\n            event.preventDefault();\n            return;\n          }\n          const target = getEventTarget(event);\n          if (isEditableElement(target)) {\n            return;\n          }\n          if (getByTypeahead.isValidEvent(event)) {\n            send({ type: \"CONTENT.TYPEAHEAD\", key: event.key });\n            event.preventDefault();\n          }\n        }\n      });\n    },\n    getListProps() {\n      return normalize.element({\n        ...parts.list.attrs,\n        tabIndex: 0,\n        role: !composite ? \"listbox\" : void 0,\n        \"aria-labelledby\": dom.getTriggerId(scope),\n        \"aria-activedescendant\": !composite ? ariaActiveDescendant : void 0,\n        \"aria-multiselectable\": !composite && prop(\"multiple\") ? true : void 0\n      });\n    }\n  };\n}\nvar getSelectedValues = (el) => {\n  return el.multiple ? Array.from(el.selectedOptions, (o) => o.value) : el.value ? [el.value] : [];\n};\nexport {\n  connect\n};\n","// src/select.machine.ts\nimport { createGuards, createMachine } from \"@zag-js/core\";\nimport { trackDismissableElement } from \"@zag-js/dismissable\";\nimport {\n  getByTypeahead,\n  getInitialFocus,\n  markAsInternalChangeEvent,\n  observeAttributes,\n  raf,\n  scrollIntoView,\n  trackFormControl\n} from \"@zag-js/dom-query\";\nimport { getInteractionModality, setInteractionModality, trackFocusVisible } from \"@zag-js/focus-visible\";\nimport { getPlacement } from \"@zag-js/popper\";\nimport { addOrRemove, isEqual } from \"@zag-js/utils\";\nimport { createSelectedItemMap, deriveSelectionState, resolveSelectedItems } from \"@zag-js/collection\";\nimport { collection } from \"./select.collection.mjs\";\nimport * as dom from \"./select.dom.mjs\";\nvar { and, not, or } = createGuards();\nvar machine = createMachine({\n  props({ props }) {\n    return {\n      loopFocus: false,\n      closeOnSelect: !props.multiple,\n      composite: true,\n      defaultValue: [],\n      ...props,\n      collection: props.collection ?? collection.empty(),\n      translations: {\n        clearTriggerLabel: \"Clear value\",\n        ...props.translations\n      },\n      positioning: {\n        placement: \"bottom-start\",\n        gutter: 8,\n        ...props.positioning\n      }\n    };\n  },\n  context({ prop, bindable, getContext }) {\n    const initialValue = prop(\"value\") ?? prop(\"defaultValue\") ?? [];\n    const initialSelectedItems = prop(\"collection\").findMany(initialValue);\n    return {\n      value: bindable(() => ({\n        defaultValue: prop(\"defaultValue\"),\n        value: prop(\"value\"),\n        isEqual,\n        onChange(value) {\n          const context = getContext();\n          const collection2 = prop(\"collection\");\n          const selectedItemMap = context.get(\"selectedItemMap\");\n          const proposed = deriveSelectionState({\n            values: value,\n            collection: collection2,\n            selectedItemMap\n          });\n          const effectiveValue = prop(\"value\") ?? value;\n          const effective = effectiveValue === value ? proposed : deriveSelectionState({\n            values: effectiveValue,\n            collection: collection2,\n            selectedItemMap: proposed.nextSelectedItemMap\n          });\n          context.set(\"selectedItemMap\", effective.nextSelectedItemMap);\n          return prop(\"onValueChange\")?.({ value, items: proposed.selectedItems });\n        }\n      })),\n      highlightedValue: bindable(() => ({\n        defaultValue: prop(\"defaultHighlightedValue\") || null,\n        value: prop(\"highlightedValue\"),\n        onChange(value) {\n          prop(\"onHighlightChange\")?.({\n            highlightedValue: value,\n            highlightedItem: prop(\"collection\").find(value),\n            highlightedIndex: prop(\"collection\").indexOf(value)\n          });\n        }\n      })),\n      currentPlacement: bindable(() => ({\n        defaultValue: void 0\n      })),\n      fieldsetDisabled: bindable(() => ({\n        defaultValue: false\n      })),\n      highlightedItem: bindable(() => ({\n        defaultValue: null\n      })),\n      selectedItemMap: bindable(() => {\n        return {\n          defaultValue: createSelectedItemMap({\n            selectedItems: initialSelectedItems,\n            collection: prop(\"collection\")\n          })\n        };\n      })\n    };\n  },\n  refs() {\n    return {\n      typeahead: { ...getByTypeahead.defaultOptions }\n    };\n  },\n  computed: {\n    hasSelectedItems: ({ context }) => context.get(\"value\").length > 0,\n    isTypingAhead: ({ refs }) => refs.get(\"typeahead\").keysSoFar !== \"\",\n    isDisabled: ({ prop, context }) => !!prop(\"disabled\") || !!context.get(\"fieldsetDisabled\"),\n    isInteractive: ({ prop }) => !(prop(\"disabled\") || prop(\"readOnly\")),\n    selectedItems: ({ context, prop }) => resolveSelectedItems({\n      values: context.get(\"value\"),\n      collection: prop(\"collection\"),\n      selectedItemMap: context.get(\"selectedItemMap\")\n    }),\n    valueAsString: ({ computed, prop }) => prop(\"collection\").stringifyItems(computed(\"selectedItems\"))\n  },\n  initialState({ prop }) {\n    const open = prop(\"open\") || prop(\"defaultOpen\");\n    return open ? \"open\" : \"idle\";\n  },\n  entry: [\"syncSelectElement\"],\n  watch({ context, prop, track, action }) {\n    track([() => context.get(\"value\").toString()], () => {\n      action([\"syncSelectedItems\", \"syncSelectElement\", \"dispatchChangeEvent\"]);\n    });\n    track([() => prop(\"open\")], () => {\n      action([\"toggleVisibility\"]);\n    });\n    track([() => context.get(\"highlightedValue\")], () => {\n      action([\"syncHighlightedItem\"]);\n    });\n    track([() => prop(\"collection\").toString()], () => {\n      action([\"syncCollection\"]);\n    });\n  },\n  on: {\n    \"HIGHLIGHTED_VALUE.SET\": {\n      actions: [\"setHighlightedItem\"]\n    },\n    \"HIGHLIGHTED_VALUE.CLEAR\": {\n      actions: [\"clearHighlightedItem\"]\n    },\n    \"ITEM.SELECT\": {\n      actions: [\"selectItem\"]\n    },\n    \"ITEM.CLEAR\": {\n      actions: [\"clearItem\"]\n    },\n    \"VALUE.SET\": {\n      actions: [\"setSelectedItems\"]\n    },\n    \"VALUE.CLEAR\": {\n      actions: [\"clearSelectedItems\"]\n    },\n    \"CLEAR.CLICK\": {\n      actions: [\"clearSelectedItems\", \"focusTriggerEl\"]\n    }\n  },\n  effects: [\"trackFormControlState\"],\n  states: {\n    idle: {\n      tags: [\"closed\"],\n      on: {\n        \"CONTROLLED.OPEN\": [\n          {\n            guard: \"isTriggerClickEvent\",\n            target: \"open\",\n            actions: [\"setInitialFocus\", \"highlightFirstSelectedItem\"]\n          },\n          {\n            target: \"open\",\n            actions: [\"setInitialFocus\"]\n          }\n        ],\n        \"TRIGGER.CLICK\": [\n          {\n            guard: \"isOpenControlled\",\n            actions: [\"invokeOnOpen\"]\n          },\n          {\n            target: \"open\",\n            actions: [\"invokeOnOpen\", \"setInitialFocus\", \"highlightFirstSelectedItem\"]\n          }\n        ],\n        \"TRIGGER.FOCUS\": {\n          target: \"focused\"\n        },\n        OPEN: [\n          {\n            guard: \"isOpenControlled\",\n            actions: [\"invokeOnOpen\"]\n          },\n          {\n            target: \"open\",\n            actions: [\"setInitialFocus\", \"invokeOnOpen\"]\n          }\n        ]\n      }\n    },\n    focused: {\n      tags: [\"closed\"],\n      on: {\n        \"CONTROLLED.OPEN\": [\n          {\n            guard: \"isTriggerClickEvent\",\n            target: \"open\",\n            actions: [\"setInitialFocus\", \"highlightFirstSelectedItem\"]\n          },\n          {\n            guard: \"isTriggerArrowUpEvent\",\n            target: \"open\",\n            actions: [\"setInitialFocus\", \"highlightComputedLastItem\"]\n          },\n          {\n            guard: or(\"isTriggerArrowDownEvent\", \"isTriggerEnterEvent\"),\n            target: \"open\",\n            actions: [\"setInitialFocus\", \"highlightComputedFirstItem\"]\n          },\n          {\n            target: \"open\",\n            actions: [\"setInitialFocus\"]\n          }\n        ],\n        OPEN: [\n          {\n            guard: \"isOpenControlled\",\n            actions: [\"invokeOnOpen\"]\n          },\n          {\n            target: \"open\",\n            actions: [\"setInitialFocus\", \"invokeOnOpen\"]\n          }\n        ],\n        \"TRIGGER.BLUR\": {\n          target: \"idle\"\n        },\n        \"TRIGGER.CLICK\": [\n          {\n            guard: \"isOpenControlled\",\n            actions: [\"invokeOnOpen\"]\n          },\n          {\n            target: \"open\",\n            actions: [\"setInitialFocus\", \"invokeOnOpen\", \"highlightFirstSelectedItem\"]\n          }\n        ],\n        \"TRIGGER.ENTER\": [\n          {\n            guard: \"isOpenControlled\",\n            actions: [\"invokeOnOpen\"]\n          },\n          {\n            target: \"open\",\n            actions: [\"setInitialFocus\", \"invokeOnOpen\", \"highlightComputedFirstItem\"]\n          }\n        ],\n        \"TRIGGER.ARROW_UP\": [\n          {\n            guard: \"isOpenControlled\",\n            actions: [\"invokeOnOpen\"]\n          },\n          {\n            target: \"open\",\n            actions: [\"setInitialFocus\", \"invokeOnOpen\", \"highlightComputedLastItem\"]\n          }\n        ],\n        \"TRIGGER.ARROW_DOWN\": [\n          {\n            guard: \"isOpenControlled\",\n            actions: [\"invokeOnOpen\"]\n          },\n          {\n            target: \"open\",\n            actions: [\"setInitialFocus\", \"invokeOnOpen\", \"highlightComputedFirstItem\"]\n          }\n        ],\n        \"TRIGGER.ARROW_LEFT\": [\n          {\n            guard: and(not(\"multiple\"), \"hasSelectedItems\"),\n            actions: [\"selectPreviousItem\"]\n          },\n          {\n            guard: not(\"multiple\"),\n            actions: [\"selectLastItem\"]\n          }\n        ],\n        \"TRIGGER.ARROW_RIGHT\": [\n          {\n            guard: and(not(\"multiple\"), \"hasSelectedItems\"),\n            actions: [\"selectNextItem\"]\n          },\n          {\n            guard: not(\"multiple\"),\n            actions: [\"selectFirstItem\"]\n          }\n        ],\n        \"TRIGGER.HOME\": {\n          guard: not(\"multiple\"),\n          actions: [\"selectFirstItem\"]\n        },\n        \"TRIGGER.END\": {\n          guard: not(\"multiple\"),\n          actions: [\"selectLastItem\"]\n        },\n        \"TRIGGER.TYPEAHEAD\": {\n          guard: not(\"multiple\"),\n          actions: [\"selectMatchingItem\"]\n        }\n      }\n    },\n    open: {\n      tags: [\"open\"],\n      exit: [\"scrollContentToTop\"],\n      effects: [\"trackDismissableElement\", \"trackFocusVisible\", \"computePlacement\", \"scrollToHighlightedItem\"],\n      on: {\n        \"CONTROLLED.CLOSE\": [\n          {\n            guard: \"restoreFocus\",\n            target: \"focused\",\n            actions: [\"focusTriggerEl\", \"clearHighlightedItem\"]\n          },\n          {\n            target: \"idle\",\n            actions: [\"clearHighlightedItem\"]\n          }\n        ],\n        CLOSE: [\n          {\n            guard: \"isOpenControlled\",\n            actions: [\"invokeOnClose\"]\n          },\n          {\n            guard: \"restoreFocus\",\n            target: \"focused\",\n            actions: [\"invokeOnClose\", \"focusTriggerEl\", \"clearHighlightedItem\"]\n          },\n          {\n            target: \"idle\",\n            actions: [\"invokeOnClose\", \"clearHighlightedItem\"]\n          }\n        ],\n        \"TRIGGER.CLICK\": [\n          {\n            guard: \"isOpenControlled\",\n            actions: [\"invokeOnClose\"]\n          },\n          {\n            target: \"focused\",\n            actions: [\"invokeOnClose\", \"clearHighlightedItem\"]\n          }\n        ],\n        \"ITEM.CLICK\": [\n          {\n            guard: and(\"closeOnSelect\", \"isOpenControlled\"),\n            actions: [\"selectHighlightedItem\", \"invokeOnClose\"]\n          },\n          {\n            guard: \"closeOnSelect\",\n            target: \"focused\",\n            actions: [\"selectHighlightedItem\", \"invokeOnClose\", \"focusTriggerEl\", \"clearHighlightedItem\"]\n          },\n          {\n            actions: [\"selectHighlightedItem\"]\n          }\n        ],\n        \"CONTENT.HOME\": {\n          actions: [\"highlightFirstItem\"]\n        },\n        \"CONTENT.END\": {\n          actions: [\"highlightLastItem\"]\n        },\n        \"CONTENT.ARROW_DOWN\": [\n          {\n            guard: and(\"hasHighlightedItem\", \"loop\", \"isLastItemHighlighted\"),\n            actions: [\"highlightFirstItem\"]\n          },\n          {\n            guard: \"hasHighlightedItem\",\n            actions: [\"highlightNextItem\"]\n          },\n          {\n            actions: [\"highlightFirstItem\"]\n          }\n        ],\n        \"CONTENT.ARROW_UP\": [\n          {\n            guard: and(\"hasHighlightedItem\", \"loop\", \"isFirstItemHighlighted\"),\n            actions: [\"highlightLastItem\"]\n          },\n          {\n            guard: \"hasHighlightedItem\",\n            actions: [\"highlightPreviousItem\"]\n          },\n          {\n            actions: [\"highlightLastItem\"]\n          }\n        ],\n        \"CONTENT.TYPEAHEAD\": {\n          actions: [\"highlightMatchingItem\"]\n        },\n        \"ITEM.POINTER_MOVE\": {\n          actions: [\"highlightItem\"]\n        },\n        \"ITEM.POINTER_LEAVE\": {\n          actions: [\"clearHighlightedItem\"]\n        },\n        \"POSITIONING.SET\": {\n          actions: [\"reposition\"]\n        }\n      }\n    }\n  },\n  implementations: {\n    guards: {\n      loop: ({ prop }) => !!prop(\"loopFocus\"),\n      multiple: ({ prop }) => !!prop(\"multiple\"),\n      hasSelectedItems: ({ computed }) => !!computed(\"hasSelectedItems\"),\n      hasHighlightedItem: ({ context }) => context.get(\"highlightedValue\") != null,\n      isFirstItemHighlighted: ({ context, prop }) => context.get(\"highlightedValue\") === prop(\"collection\").firstValue,\n      isLastItemHighlighted: ({ context, prop }) => context.get(\"highlightedValue\") === prop(\"collection\").lastValue,\n      closeOnSelect: ({ prop, event }) => !!(event.closeOnSelect ?? prop(\"closeOnSelect\")),\n      restoreFocus: ({ event }) => restoreFocusFn(event),\n      // guard assertions (for controlled mode)\n      isOpenControlled: ({ prop }) => prop(\"open\") !== void 0,\n      isTriggerClickEvent: ({ event }) => event.previousEvent?.type === \"TRIGGER.CLICK\",\n      isTriggerEnterEvent: ({ event }) => event.previousEvent?.type === \"TRIGGER.ENTER\",\n      isTriggerArrowUpEvent: ({ event }) => event.previousEvent?.type === \"TRIGGER.ARROW_UP\",\n      isTriggerArrowDownEvent: ({ event }) => event.previousEvent?.type === \"TRIGGER.ARROW_DOWN\"\n    },\n    effects: {\n      trackFocusVisible({ scope }) {\n        return trackFocusVisible({ root: scope.getRootNode?.() });\n      },\n      trackFormControlState({ context, scope }) {\n        return trackFormControl(dom.getHiddenSelectEl(scope), {\n          onFieldsetDisabledChange(disabled) {\n            context.set(\"fieldsetDisabled\", disabled);\n          },\n          onFormReset() {\n            const value = context.initial(\"value\");\n            context.set(\"value\", value);\n          }\n        });\n      },\n      trackDismissableElement({ scope, send, prop }) {\n        const contentEl = () => dom.getContentEl(scope);\n        let restoreFocus = true;\n        return trackDismissableElement(contentEl, {\n          type: \"listbox\",\n          defer: true,\n          exclude: [dom.getTriggerEl(scope), dom.getClearTriggerEl(scope)],\n          onFocusOutside: prop(\"onFocusOutside\"),\n          onPointerDownOutside: prop(\"onPointerDownOutside\"),\n          onInteractOutside(event) {\n            prop(\"onInteractOutside\")?.(event);\n            restoreFocus = !(event.detail.focusable || event.detail.contextmenu);\n          },\n          onDismiss() {\n            send({ type: \"CLOSE\", src: \"interact-outside\", restoreFocus });\n          }\n        });\n      },\n      computePlacement({ context, prop, scope }) {\n        const positioning = prop(\"positioning\");\n        context.set(\"currentPlacement\", positioning.placement);\n        const triggerEl = () => dom.getTriggerEl(scope);\n        const positionerEl = () => dom.getPositionerEl(scope);\n        return getPlacement(triggerEl, positionerEl, {\n          defer: true,\n          ...positioning,\n          onComplete(data) {\n            context.set(\"currentPlacement\", data.placement);\n          }\n        });\n      },\n      scrollToHighlightedItem({ context, prop, scope }) {\n        const exec = (immediate) => {\n          const highlightedValue = context.get(\"highlightedValue\");\n          if (highlightedValue == null) return;\n          const modality = getInteractionModality();\n          if (modality === \"pointer\") return;\n          const contentEl2 = dom.getContentEl(scope);\n          const scrollToIndexFn = prop(\"scrollToIndexFn\");\n          if (scrollToIndexFn) {\n            const highlightedIndex = prop(\"collection\").indexOf(highlightedValue);\n            scrollToIndexFn?.({\n              index: highlightedIndex,\n              immediate,\n              getElement: () => dom.getItemEl(scope, highlightedValue)\n            });\n            return;\n          }\n          const itemEl = dom.getItemEl(scope, highlightedValue);\n          scrollIntoView(itemEl, { rootEl: contentEl2, block: \"nearest\" });\n        };\n        raf(() => {\n          setInteractionModality(\"virtual\");\n          exec(true);\n        });\n        const contentEl = () => dom.getContentEl(scope);\n        return observeAttributes(contentEl, {\n          defer: true,\n          attributes: [\"data-activedescendant\"],\n          callback() {\n            exec(false);\n          }\n        });\n      }\n    },\n    actions: {\n      reposition({ context, prop, scope, event }) {\n        const positionerEl = () => dom.getPositionerEl(scope);\n        getPlacement(dom.getTriggerEl(scope), positionerEl, {\n          ...prop(\"positioning\"),\n          ...event.options,\n          defer: true,\n          listeners: false,\n          onComplete(data) {\n            context.set(\"currentPlacement\", data.placement);\n          }\n        });\n      },\n      toggleVisibility({ send, prop, event }) {\n        send({ type: prop(\"open\") ? \"CONTROLLED.OPEN\" : \"CONTROLLED.CLOSE\", previousEvent: event });\n      },\n      highlightPreviousItem({ context, prop }) {\n        const highlightedValue = context.get(\"highlightedValue\");\n        if (highlightedValue == null) return;\n        const value = prop(\"collection\").getPreviousValue(highlightedValue, 1, prop(\"loopFocus\"));\n        if (value == null) return;\n        context.set(\"highlightedValue\", value);\n      },\n      highlightNextItem({ context, prop }) {\n        const highlightedValue = context.get(\"highlightedValue\");\n        if (highlightedValue == null) return;\n        const value = prop(\"collection\").getNextValue(highlightedValue, 1, prop(\"loopFocus\"));\n        if (value == null) return;\n        context.set(\"highlightedValue\", value);\n      },\n      highlightFirstItem({ context, prop }) {\n        const value = prop(\"collection\").firstValue;\n        context.set(\"highlightedValue\", value);\n      },\n      highlightLastItem({ context, prop }) {\n        const value = prop(\"collection\").lastValue;\n        context.set(\"highlightedValue\", value);\n      },\n      setInitialFocus({ scope }) {\n        raf(() => {\n          const element = getInitialFocus({\n            root: dom.getContentEl(scope)\n          });\n          element?.focus({ preventScroll: true });\n        });\n      },\n      focusTriggerEl({ event, scope }) {\n        if (!restoreFocusFn(event)) return;\n        raf(() => {\n          const element = dom.getTriggerEl(scope);\n          element?.focus({ preventScroll: true });\n        });\n      },\n      selectHighlightedItem({ context, prop, event }) {\n        let value = event.value ?? context.get(\"highlightedValue\");\n        if (value == null || !prop(\"collection\").has(value)) return;\n        prop(\"onSelect\")?.({ value });\n        const nullable = prop(\"deselectable\") && !prop(\"multiple\") && context.get(\"value\").includes(value);\n        value = nullable ? null : value;\n        context.set(\"value\", (prev) => {\n          if (value == null) return [];\n          if (prop(\"multiple\")) return addOrRemove(prev, value);\n          return [value];\n        });\n      },\n      highlightComputedFirstItem({ context, prop, computed }) {\n        const collection2 = prop(\"collection\");\n        const value = computed(\"hasSelectedItems\") ? collection2.sort(context.get(\"value\"))[0] : collection2.firstValue;\n        context.set(\"highlightedValue\", value);\n      },\n      highlightComputedLastItem({ context, prop, computed }) {\n        const collection2 = prop(\"collection\");\n        const value = computed(\"hasSelectedItems\") ? collection2.sort(context.get(\"value\"))[0] : collection2.lastValue;\n        context.set(\"highlightedValue\", value);\n      },\n      highlightFirstSelectedItem({ context, prop, computed }) {\n        if (!computed(\"hasSelectedItems\")) return;\n        const value = prop(\"collection\").sort(context.get(\"value\"))[0];\n        context.set(\"highlightedValue\", value);\n      },\n      highlightItem({ context, event }) {\n        context.set(\"highlightedValue\", event.value);\n      },\n      highlightMatchingItem({ context, prop, event, refs }) {\n        const value = prop(\"collection\").search(event.key, {\n          state: refs.get(\"typeahead\"),\n          currentValue: context.get(\"highlightedValue\")\n        });\n        if (value == null) return;\n        context.set(\"highlightedValue\", value);\n      },\n      setHighlightedItem({ context, event }) {\n        context.set(\"highlightedValue\", event.value);\n      },\n      clearHighlightedItem({ context }) {\n        context.set(\"highlightedValue\", null);\n      },\n      selectItem({ context, prop, event }) {\n        prop(\"onSelect\")?.({ value: event.value });\n        const nullable = prop(\"deselectable\") && !prop(\"multiple\") && context.get(\"value\").includes(event.value);\n        const value = nullable ? null : event.value;\n        context.set(\"value\", (prev) => {\n          if (value == null) return [];\n          if (prop(\"multiple\")) return addOrRemove(prev, value);\n          return [value];\n        });\n      },\n      clearItem({ context, event }) {\n        context.set(\"value\", (prev) => prev.filter((v) => v !== event.value));\n      },\n      setSelectedItems({ context, event }) {\n        context.set(\"value\", event.value);\n      },\n      clearSelectedItems({ context }) {\n        context.set(\"value\", []);\n      },\n      selectPreviousItem({ context, prop }) {\n        const [firstItem] = context.get(\"value\");\n        const value = prop(\"collection\").getPreviousValue(firstItem);\n        if (value) context.set(\"value\", [value]);\n      },\n      selectNextItem({ context, prop }) {\n        const [firstItem] = context.get(\"value\");\n        const value = prop(\"collection\").getNextValue(firstItem);\n        if (value) context.set(\"value\", [value]);\n      },\n      selectFirstItem({ context, prop }) {\n        const value = prop(\"collection\").firstValue;\n        if (value) context.set(\"value\", [value]);\n      },\n      selectLastItem({ context, prop }) {\n        const value = prop(\"collection\").lastValue;\n        if (value) context.set(\"value\", [value]);\n      },\n      selectMatchingItem({ context, prop, event, refs }) {\n        const value = prop(\"collection\").search(event.key, {\n          state: refs.get(\"typeahead\"),\n          currentValue: context.get(\"value\")[0]\n        });\n        if (value == null) return;\n        context.set(\"value\", [value]);\n      },\n      scrollContentToTop({ prop, scope }) {\n        if (prop(\"scrollToIndexFn\")) {\n          const firstValue = prop(\"collection\").firstValue;\n          prop(\"scrollToIndexFn\")?.({\n            index: 0,\n            immediate: true,\n            getElement: () => dom.getItemEl(scope, firstValue)\n          });\n        } else {\n          dom.getContentEl(scope)?.scrollTo(0, 0);\n        }\n      },\n      invokeOnOpen({ prop, context }) {\n        prop(\"onOpenChange\")?.({ open: true, value: context.get(\"value\") });\n      },\n      invokeOnClose({ prop, context }) {\n        prop(\"onOpenChange\")?.({ open: false, value: context.get(\"value\") });\n      },\n      syncSelectElement({ context, prop, scope }) {\n        const selectEl = dom.getHiddenSelectEl(scope);\n        if (!selectEl) return;\n        if (context.get(\"value\").length === 0 && !prop(\"multiple\")) {\n          selectEl.selectedIndex = -1;\n          return;\n        }\n        for (const option of selectEl.options) {\n          option.selected = context.get(\"value\").includes(option.value);\n        }\n      },\n      syncCollection({ context, prop }) {\n        const collection2 = prop(\"collection\");\n        const highlightedItem = collection2.find(context.get(\"highlightedValue\"));\n        if (highlightedItem) context.set(\"highlightedItem\", highlightedItem);\n        const next = deriveSelectionState({\n          values: context.get(\"value\"),\n          collection: collection2,\n          selectedItemMap: context.get(\"selectedItemMap\")\n        });\n        context.set(\"selectedItemMap\", next.nextSelectedItemMap);\n      },\n      syncSelectedItems({ context, prop }) {\n        const next = deriveSelectionState({\n          values: context.get(\"value\"),\n          collection: prop(\"collection\"),\n          selectedItemMap: context.get(\"selectedItemMap\")\n        });\n        context.set(\"selectedItemMap\", next.nextSelectedItemMap);\n      },\n      syncHighlightedItem({ context, prop }) {\n        const collection2 = prop(\"collection\");\n        const highlightedValue = context.get(\"highlightedValue\");\n        const highlightedItem = highlightedValue ? collection2.find(highlightedValue) : null;\n        context.set(\"highlightedItem\", highlightedItem);\n      },\n      dispatchChangeEvent({ scope }) {\n        queueMicrotask(() => {\n          const node = dom.getHiddenSelectEl(scope);\n          if (!node) return;\n          const win = scope.getWin();\n          const evt = new win.Event(\"change\", { bubbles: true, composed: true });\n          node.dispatchEvent(markAsInternalChangeEvent(evt));\n        });\n      }\n    }\n  }\n});\nfunction restoreFocusFn(event) {\n  const v = event.restoreFocus ?? event.previousEvent?.restoreFocus;\n  return v == null || !!v;\n}\nexport {\n  machine\n};\n","// src/select.props.ts\nimport { createProps } from \"@zag-js/types\";\nimport { createSplitProps } from \"@zag-js/utils\";\nvar props = createProps()([\n  \"autoComplete\",\n  \"closeOnSelect\",\n  \"collection\",\n  \"composite\",\n  \"defaultHighlightedValue\",\n  \"defaultOpen\",\n  \"defaultValue\",\n  \"deselectable\",\n  \"dir\",\n  \"disabled\",\n  \"form\",\n  \"getRootNode\",\n  \"highlightedValue\",\n  \"id\",\n  \"ids\",\n  \"invalid\",\n  \"loopFocus\",\n  \"multiple\",\n  \"name\",\n  \"onFocusOutside\",\n  \"onHighlightChange\",\n  \"onInteractOutside\",\n  \"onOpenChange\",\n  \"onPointerDownOutside\",\n  \"onSelect\",\n  \"onValueChange\",\n  \"open\",\n  \"positioning\",\n  \"readOnly\",\n  \"required\",\n  \"scrollToIndexFn\",\n  \"translations\",\n  \"value\"\n]);\nvar splitProps = createSplitProps(props);\nvar itemProps = createProps()([\"item\", \"persistFocus\"]);\nvar splitItemProps = createSplitProps(itemProps);\nvar itemGroupProps = createProps()([\"id\"]);\nvar splitItemGroupProps = createSplitProps(itemGroupProps);\nvar itemGroupLabelProps = createProps()([\"htmlFor\"]);\nvar splitItemGroupLabelProps = createSplitProps(itemGroupLabelProps);\nexport {\n  itemGroupLabelProps,\n  itemGroupProps,\n  itemProps,\n  props,\n  splitItemGroupLabelProps,\n  splitItemGroupProps,\n  splitItemProps,\n  splitProps\n};\n"]}