{"version":3,"names":["dynamic","createMemo","omit","createChangeEventDetails","REASONS","composeRefs","userRef","mergeRootProps","resolveClassStyle","useComboboxChipsContext","useComboboxRootContext","ComboboxInput","props","root","chips","disabled","readOnly","listEmpty","flatFilteredItems","length","setInputRef","el","setInputElement","state","open","popupSide","onInput","event","value","currentTarget","details","inputChange","setInputValue","openOnInputClick","setOpen","autoHighlightMode","setIndices","activeIndex","type","handleChipKeyDown","inputEl","sv","selectedValue","selectedArr","Array","isArray","highlighted","highlightedChipIndex","renderedChips","chipsRef","current","undefined","key","preventDefault","next","setHighlightedChipIndex","focus","inputRef","selectionStart","removalIndex","selectedIndex","keyboardActiveRef","none","setSelectedValue","filter","_","i","onKeyDown","ai","li","listRef","click","escapeKey","onPointerMove","onPointerDown","internal","autocomplete","spellcheck","role","aria-expanded","aria-haspopup","grid","aria-controls","listElement","id","inputValue","required","data-popup-open","data-disabled","data-readonly","data-list-empty","data-popup-side","userClassStyle","userProps","merged","interactions","getReferenceProps","Tag","as"],"sources":["combobox-input.tsx"],"sourcesContent":["import type { JSX, ValidComponent } from \"@solidjs/web\";\nimport { dynamic } from \"@solidjs/web\";\nimport { createMemo, omit } from \"solid-js\";\nimport {\n\tcreateChangeEventDetails,\n\tREASONS,\n} from \"../../internals/change-event-details\";\nimport { composeRefs, userRef } from \"../../internals/compose-refs\";\nimport { mergeRootProps } from \"../../internals/merge-root-props\";\nimport { resolveClassStyle } from \"../../internals/resolve-class-style\";\nimport type { BaseUIComponentProps } from \"../../internals/types\";\nimport { useComboboxChipsContext } from \"../chips/chips-context\";\nimport type { ComboboxSide } from \"../positioner/positioner-context\";\nimport {\n\ttype ComboboxRootChangeEventDetails,\n\tuseComboboxRootContext,\n} from \"../root/combobox-root-context\";\n\nexport interface ComboboxInputState {\n\topen: boolean;\n\tdisabled: boolean;\n\treadOnly: boolean;\n\tpopupSide: ComboboxSide | null;\n\tlistEmpty: boolean;\n}\n\nexport interface ComboboxInputProps\n\textends BaseUIComponentProps<\"input\", ComboboxInputState> {\n\tas?: ValidComponent;\n\tdisabled?: boolean | undefined;\n}\n\n/**\n * A text input to search for items in the list. Renders an `<input>`.\n */\nexport function ComboboxInput(props: ComboboxInputProps): JSX.Element {\n\tconst root = useComboboxRootContext();\n\tconst chips = useComboboxChipsContext();\n\n\tconst disabled = (): boolean => root.disabled() || (props.disabled ?? false);\n\tconst readOnly = (): boolean => root.readOnly();\n\tconst listEmpty = createMemo<boolean>(\n\t\t() => root.flatFilteredItems().length === 0,\n\t);\n\n\tconst setInputRef = (el: HTMLInputElement | null): void => {\n\t\troot.setInputElement(el);\n\t};\n\n\tconst state = createMemo<ComboboxInputState>(() => ({\n\t\topen: root.open(),\n\t\tdisabled: disabled(),\n\t\treadOnly: readOnly(),\n\t\tpopupSide: root.popupSide(),\n\t\tlistEmpty: listEmpty(),\n\t}));\n\n\tfunction onInput(event: InputEvent): void {\n\t\tconst value = (event.currentTarget as HTMLInputElement).value;\n\t\tconst details = createChangeEventDetails(\n\t\t\tREASONS.inputChange,\n\t\t\tevent,\n\t\t) as ComboboxRootChangeEventDetails;\n\t\troot.setInputValue(value, details);\n\n\t\tif (!readOnly() && !disabled()) {\n\t\t\tif (!root.open() && (value !== \"\" || root.openOnInputClick())) {\n\t\t\t\troot.setOpen(true, details);\n\t\t\t}\n\t\t}\n\t\tif (!root.autoHighlightMode()) {\n\t\t\troot.setIndices({ activeIndex: null, type: \"keyboard\" });\n\t\t}\n\t}\n\n\t// Chip keyboard navigation (multi-select only). Returns `true` when the\n\t// event was consumed so the main handler can bail before the\n\t// Enter/Escape logic runs. No-op (returns `false`) when chips aren't in use.\n\tfunction handleChipKeyDown(event: KeyboardEvent): boolean {\n\t\tif (!chips) return false;\n\n\t\tconst inputEl = event.currentTarget as HTMLInputElement | null;\n\t\tconst sv = root.selectedValue();\n\t\tconst selectedArr = Array.isArray(sv) ? (sv as unknown[]) : [];\n\t\tconst highlighted = chips.highlightedChipIndex();\n\t\tconst renderedChips = chips.chipsRef.current.length;\n\n\t\t// A chip is already focused: arrow keys move between chips, stepping\n\t\t// back into the input past either end.\n\t\tif (highlighted !== undefined) {\n\t\t\tif (event.key === \"ArrowLeft\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst next = highlighted > 0 ? highlighted - 1 : undefined;\n\t\t\t\tchips.setHighlightedChipIndex(next);\n\t\t\t\tif (next !== undefined) chips.chipsRef.current[next]?.focus();\n\t\t\t\telse root.inputRef.current?.focus();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (event.key === \"ArrowRight\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst next =\n\t\t\t\t\thighlighted < renderedChips - 1 ? highlighted + 1 : undefined;\n\t\t\t\tchips.setHighlightedChipIndex(next);\n\t\t\t\tif (next !== undefined) chips.chipsRef.current[next]?.focus();\n\t\t\t\telse root.inputRef.current?.focus();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\n\t\t// Caret at the input's start: ArrowLeft enters the chip strip.\n\t\tif (\n\t\t\tevent.key === \"ArrowLeft\" &&\n\t\t\tinputEl &&\n\t\t\t(inputEl.selectionStart ?? 0) === 0 &&\n\t\t\tselectedArr.length > 0\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\tconst next = renderedChips > 0 ? renderedChips - 1 : undefined;\n\t\t\tchips.setHighlightedChipIndex(next);\n\t\t\tif (next !== undefined) chips.chipsRef.current[next]?.focus();\n\t\t\treturn true;\n\t\t}\n\n\t\t// Empty input: Backspace removes the last selected chip.\n\t\tif (\n\t\t\tevent.key === \"Backspace\" &&\n\t\t\tinputEl &&\n\t\t\tinputEl.value === \"\" &&\n\t\t\tselectedArr.length > 0\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\tconst removalIndex =\n\t\t\t\trenderedChips > 0 ? renderedChips - 1 : selectedArr.length - 1;\n\t\t\troot.setIndices({\n\t\t\t\tactiveIndex: null,\n\t\t\t\tselectedIndex: null,\n\t\t\t\ttype: root.keyboardActiveRef.current ? \"keyboard\" : \"pointer\",\n\t\t\t});\n\t\t\tconst details = createChangeEventDetails(\n\t\t\t\tREASONS.none,\n\t\t\t\tevent,\n\t\t\t) as ComboboxRootChangeEventDetails;\n\t\t\troot.setSelectedValue(\n\t\t\t\tselectedArr.filter((_, i) => i !== removalIndex) as never,\n\t\t\t\tdetails,\n\t\t\t);\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tfunction onKeyDown(event: KeyboardEvent): void {\n\t\tif (disabled() || readOnly()) return;\n\t\troot.keyboardActiveRef.current = true;\n\n\t\tif (handleChipKeyDown(event)) return;\n\n\t\tif (event.key === \"Enter\" && root.open()) {\n\t\t\tconst ai = root.activeIndex();\n\t\t\tif (ai == null) return;\n\t\t\tevent.preventDefault();\n\t\t\tconst li = root.listRef.current[ai];\n\t\t\tif (li) {\n\t\t\t\tli.click();\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (\n\t\t\tevent.key === \"Escape\" &&\n\t\t\t!root.open() &&\n\t\t\troot.selectedValue() != null &&\n\t\t\t!Array.isArray(root.selectedValue())\n\t\t) {\n\t\t\tconst details = createChangeEventDetails(\n\t\t\t\tREASONS.escapeKey,\n\t\t\t\tevent,\n\t\t\t) as ComboboxRootChangeEventDetails;\n\t\t\troot.setInputValue(\"\", details);\n\t\t\troot.setSelectedValue(null, details);\n\t\t}\n\t}\n\n\tfunction onPointerMove(): void {\n\t\troot.keyboardActiveRef.current = false;\n\t}\n\n\tfunction onPointerDown(): void {\n\t\troot.keyboardActiveRef.current = false;\n\t}\n\n\tconst internal = {\n\t\ttype: \"text\",\n\t\tautocomplete: \"off\" as const,\n\t\tspellcheck: false,\n\t\trole: \"combobox\",\n\t\t\"aria-autocomplete\": \"list\" as const,\n\t\tget \"aria-expanded\"() {\n\t\t\treturn root.open() ? (\"true\" as const) : (\"false\" as const);\n\t\t},\n\t\tget \"aria-haspopup\"() {\n\t\t\treturn root.grid() ? (\"grid\" as const) : (\"listbox\" as const);\n\t\t},\n\t\tget \"aria-controls\"() {\n\t\t\treturn root.open() ? (root.listElement()?.id ?? \"\") : \"\";\n\t\t},\n\t\tget value() {\n\t\t\treturn root.inputValue();\n\t\t},\n\t\tget disabled() {\n\t\t\treturn disabled();\n\t\t},\n\t\tget readOnly() {\n\t\t\treturn readOnly();\n\t\t},\n\t\tget required() {\n\t\t\treturn root.required();\n\t\t},\n\t\tonInput,\n\t\tonKeyDown,\n\t\tonPointerMove,\n\t\tonPointerDown,\n\t\t// inputStateAttributesMapping projection.\n\t\tget \"data-popup-open\"() {\n\t\t\treturn state().open ? \"\" : undefined;\n\t\t},\n\t\tget \"data-disabled\"() {\n\t\t\treturn state().disabled ? \"\" : undefined;\n\t\t},\n\t\tget \"data-readonly\"() {\n\t\t\treturn state().readOnly ? \"\" : undefined;\n\t\t},\n\t\tget \"data-list-empty\"() {\n\t\t\treturn state().listEmpty ? \"\" : undefined;\n\t\t},\n\t\tget \"data-popup-side\"() {\n\t\t\treturn state().popupSide ?? undefined;\n\t\t},\n\t};\n\n\tconst userClassStyle = resolveClassStyle(props, () => state());\n\tconst userProps = omit(props, \"as\", \"class\", \"style\", \"attrs\", \"disabled\");\n\n\tlet merged: Record<string, unknown> = mergeRootProps(\n\t\troot.interactions.getReferenceProps(),\n\t\tinternal,\n\t);\n\tmerged = mergeRootProps(merged, userClassStyle);\n\tmerged = mergeRootProps(merged, userProps);\n\n\tconst Tag = dynamic(() => props.as ?? \"input\");\n\treturn <Tag {...merged} ref={composeRefs(setInputRef, userRef(props))} />;\n}\n"],"mappings":"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","ignoreList":[]}