{"version":3,"names":["dynamic","createEffect","createMemo","omit","onCleanup","Show","untrack","composeRefs","userRef","useCompositeListItem","mergeRootProps","resolveClassStyle","useButton","compareItemEquality","findItemIndex","useComboboxRootContext","ComboboxItemContext","ComboboxItem","props","root","itemValue","value","disabled","nativeButton","listItem","hasItems","items","undefined","resolvedIndex","index","iv","flatFilteredItems","isItemEqualToValue","highlighted","activeIndex","selected","sv","selectedValue","Array","isArray","some","entry","itemRef","has","idx","listRef","current","list","valuesRef","allValuesRef","includes","push","all","pos","indexOf","splice","id","rid","state","ref","buttonRef","focusableWhenDisabled","native","composite","onPointerDown","event","preventDefault","onMouseDown","onClick","readOnly","handleSelection","internal","role","aria-selected","data-selected","data-highlighted","data-disabled","userClassStyle","userProps","merged","interactions","getItemProps","active","visible","matchesQuery","visibilityToken","Symbol","reportVisible","setItemVisible","Tag","as","el"],"sources":["combobox-item.tsx"],"sourcesContent":["import type { JSX, ValidComponent } from \"@solidjs/web\";\nimport { dynamic } from \"@solidjs/web\";\nimport {\n\tcreateEffect,\n\tcreateMemo,\n\tomit,\n\tonCleanup,\n\tShow,\n\tuntrack,\n} from \"solid-js\";\nimport { composeRefs, userRef } from \"../../internals/compose-refs\";\nimport { useCompositeListItem } from \"../../internals/composite/composite-list\";\nimport { mergeRootProps } from \"../../internals/merge-root-props\";\nimport { resolveClassStyle } from \"../../internals/resolve-class-style\";\nimport type {\n\tBaseUIComponentProps,\n\tNonNativeButtonProps,\n} from \"../../internals/types\";\nimport { useButton } from \"../../internals/use-button/use-button\";\nimport { compareItemEquality, findItemIndex } from \"../internals/item-equality\";\nimport { useComboboxRootContext } from \"../root/combobox-root-context\";\nimport { ComboboxItemContext } from \"./item-context\";\n\nexport interface ComboboxItemState {\n\tdisabled: boolean;\n\tselected: boolean;\n\thighlighted: boolean;\n}\n\nexport interface ComboboxItemProps<Value = unknown>\n\textends NonNativeButtonProps,\n\t\tOmit<BaseUIComponentProps<\"div\", ComboboxItemState>, \"id\"> {\n\tas?: ValidComponent;\n\tvalue?: Value | null | undefined;\n\tindex?: number | undefined;\n\tdisabled?: boolean | undefined;\n\tchildren?: JSX.Element;\n}\n\n/**\n * An individual item in the list. Renders a `<div>` with `role=\"option\"`.\n */\nexport function ComboboxItem<Value = unknown>(\n\tprops: ComboboxItemProps<Value>,\n): JSX.Element {\n\tconst root = useComboboxRootContext<Value>();\n\n\tconst itemValue = (): Value | null => (props.value ?? null) as Value | null;\n\tconst disabled = (): boolean => props.disabled ?? false;\n\tconst nativeButton = (): boolean => props.nativeButton ?? false;\n\n\tconst listItem = useCompositeListItem<null>();\n\n\tconst hasItems = (): boolean => root.items() !== undefined;\n\n\tconst resolvedIndex = createMemo<number>(() => {\n\t\tif (props.index != null) return props.index;\n\t\tif (hasItems()) {\n\t\t\tconst iv = itemValue();\n\t\t\tif (iv == null) return -1;\n\t\t\treturn findItemIndex(\n\t\t\t\troot.flatFilteredItems(),\n\t\t\t\tiv,\n\t\t\t\troot.isItemEqualToValue(),\n\t\t\t);\n\t\t}\n\t\treturn listItem.index();\n\t});\n\n\tconst highlighted = createMemo<boolean>(\n\t\t() => root.activeIndex() === resolvedIndex() && resolvedIndex() !== -1,\n\t);\n\t// P8: value-based equality for selected state.\n\tconst selected = createMemo<boolean>(() => {\n\t\tconst sv = root.selectedValue();\n\t\tif (sv == null) return false;\n\t\tconst iv = itemValue();\n\t\tif (iv == null) return false;\n\t\tif (Array.isArray(sv)) {\n\t\t\treturn (sv as Value[]).some((entry) =>\n\t\t\t\tcompareItemEquality(iv, entry, root.isItemEqualToValue()),\n\t\t\t);\n\t\t}\n\t\treturn compareItemEquality(iv, sv as Value, root.isItemEqualToValue());\n\t});\n\n\tlet itemRef: HTMLElement | null = null;\n\n\tcreateEffect(\n\t\t() => ({\n\t\t\thas: hasItems(),\n\t\t\tidx: resolvedIndex(),\n\t\t\tiv: itemValue(),\n\t\t}),\n\t\t({ has, idx, iv }) => {\n\t\t\tif (idx === -1 || iv == null) return;\n\t\t\t// Register the rendered node into `listRef` in BOTH modes. In\n\t\t\t// `items`-mode the root only SIZES `listRef` (`.length = flat.length`)\n\t\t\t// and never fills the nodes, so without this the array is all holes and\n\t\t\t// `useListNavigation`'s pointer path (`listRef.indexOf(currentTarget)`)\n\t\t\t// returns -1 — hover highlighting is dead. Keyboard nav is unaffected\n\t\t\t// because it drives `activeIndex` numerically. The `valuesRef` /\n\t\t\t// `allValuesRef` bookkeeping below stays items-mode-excluded: the root\n\t\t\t// owns those from `flatFilteredItems`.\n\t\t\tif (itemRef) root.listRef.current[idx] = itemRef;\n\t\t\tif (has) return;\n\t\t\tconst list = root.valuesRef.current;\n\t\t\tlist[idx] = iv;\n\t\t\tif (!root.allValuesRef.current.includes(iv)) {\n\t\t\t\troot.allValuesRef.current.push(iv);\n\t\t\t}\n\t\t},\n\t);\n\n\tonCleanup(() => {\n\t\tconst idx = resolvedIndex();\n\t\tif (idx === -1) return;\n\t\t// Mirror the both-modes node registration above: drop our node from\n\t\t// `listRef` only if it's still the one we registered (a re-rendered\n\t\t// sibling may have already claimed the slot). The `valuesRef` /\n\t\t// `allValuesRef` teardown stays items-mode-excluded — the root owns it.\n\t\tif (root.listRef.current[idx] === itemRef) {\n\t\t\tdelete root.listRef.current[idx];\n\t\t}\n\t\tif (!hasItems()) {\n\t\t\tdelete root.valuesRef.current[idx];\n\t\t\tconst iv = itemValue();\n\t\t\tif (iv != null) {\n\t\t\t\tconst all = root.allValuesRef.current;\n\t\t\t\tconst pos = all.indexOf(iv);\n\t\t\t\tif (pos !== -1) all.splice(pos, 1);\n\t\t\t}\n\t\t}\n\t});\n\n\tconst id = createMemo<string | undefined>(() => {\n\t\tconst rid = root.id();\n\t\tconst idx = resolvedIndex();\n\t\tif (rid == null || idx === -1) return undefined;\n\t\treturn `${rid}-${idx}`;\n\t});\n\n\tconst state = createMemo<ComboboxItemState>(() => ({\n\t\tdisabled: disabled(),\n\t\tselected: selected(),\n\t\thighlighted: highlighted(),\n\t}));\n\n\tconst { ref: buttonRef } = useButton({\n\t\tdisabled,\n\t\tfocusableWhenDisabled: () => true,\n\t\tnative: nativeButton,\n\t\tcomposite: true,\n\t});\n\n\tfunction onPointerDown(event: PointerEvent): void {\n\t\tevent.preventDefault();\n\t}\n\tfunction onMouseDown(event: MouseEvent): void {\n\t\tevent.preventDefault();\n\t}\n\tfunction onClick(event: MouseEvent): void {\n\t\tif (disabled() || root.readOnly()) return;\n\t\tconst iv = itemValue();\n\t\tif (iv == null) return;\n\t\troot.handleSelection(event, iv);\n\t}\n\n\tconst internal = {\n\t\trole: \"option\" as const,\n\t\tget id() {\n\t\t\treturn id() ?? \"\";\n\t\t},\n\t\tget \"aria-selected\"() {\n\t\t\treturn selected() ? (\"true\" as const) : (\"false\" as const);\n\t\t},\n\t\tonPointerDown,\n\t\tonMouseDown,\n\t\tonClick,\n\t\t// itemStateAttributesMapping: selected/highlighted/disabled → presence.\n\t\tget \"data-selected\"() {\n\t\t\treturn state().selected ? \"\" : undefined;\n\t\t},\n\t\tget \"data-highlighted\"() {\n\t\t\treturn state().highlighted ? \"\" : undefined;\n\t\t},\n\t\tget \"data-disabled\"() {\n\t\t\treturn state().disabled ? \"\" : undefined;\n\t\t},\n\t};\n\n\tconst userClassStyle = resolveClassStyle(props, () => state());\n\tconst userProps = omit(\n\t\tprops,\n\t\t\"as\",\n\t\t\"class\",\n\t\t\"style\",\n\t\t\"attrs\",\n\n\t\t\"value\",\n\t\t\"index\",\n\t\t\"disabled\",\n\t\t\"nativeButton\",\n\t);\n\n\t// `getItemProps` resolves the interaction `item` bags eagerly (the `useRole`\n\t// item callback reads `active`/`selected` synchronously). Those only feed an\n\t// unused `-fui-option` id and an `aria-selected` that `internal` re-provides\n\t// reactively below, so this is a one-shot snapshot — untrack the read to\n\t// avoid `[STRICT_READ_UNTRACKED]`.\n\tlet merged: Record<string, unknown> = mergeRootProps(\n\t\tuntrack(() =>\n\t\t\troot.interactions.getItemProps({\n\t\t\t\tget active() {\n\t\t\t\t\treturn highlighted();\n\t\t\t\t},\n\t\t\t\tget selected() {\n\t\t\t\t\treturn selected();\n\t\t\t\t},\n\t\t\t}),\n\t\t),\n\t\tinternal,\n\t);\n\tmerged = mergeRootProps(merged, userClassStyle);\n\tmerged = mergeRootProps(merged, userProps);\n\n\t// In items-mode an item is visible iff it survived filtering (its value is\n\t// present in `flatFilteredItems`, i.e. `resolvedIndex() !== -1`). In\n\t// static-children mode there is no `flatFilteredItems`, so the item filters\n\t// itself against the live query via `root.matchesQuery` (the cmdk pattern).\n\tconst visible = createMemo<boolean>(() => {\n\t\tif (hasItems()) return resolvedIndex() !== -1;\n\t\tconst iv = itemValue();\n\t\tif (iv == null) return true;\n\t\treturn root.matchesQuery(iv);\n\t});\n\n\t// Report live visibility so `<Combobox.Empty>` / `<Combobox.List>` can\n\t// reflect the count of matching static children. Inert in items-mode\n\t// (always reports `false` so the token is never counted; empty derives from\n\t// `flatFilteredItems` there). The `visibleItemTick` signal the root bumps is\n\t// `ownedWrite`, so writing it from this effect-apply scope is allowed.\n\tconst visibilityToken = Symbol(\"combobox-item-visible\");\n\tcreateEffect(\n\t\t() => (hasItems() ? false : visible()),\n\t\t(reportVisible) => {\n\t\t\troot.setItemVisible(visibilityToken, reportVisible);\n\t\t},\n\t);\n\tonCleanup(() => {\n\t\troot.setItemVisible(visibilityToken, false);\n\t});\n\n\tconst Tag = dynamic(() => props.as ?? \"div\");\n\treturn (\n\t\t<ComboboxItemContext value={{ selected }}>\n\t\t\t<Show when={visible()}>\n\t\t\t\t<Tag\n\t\t\t\t\t{...merged}\n\t\t\t\t\tref={composeRefs(\n\t\t\t\t\t\tbuttonRef,\n\t\t\t\t\t\tlistItem.ref,\n\t\t\t\t\t\t(el: HTMLElement | null) => {\n\t\t\t\t\t\t\titemRef = el;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tuserRef(props),\n\t\t\t\t\t)}\n\t\t\t\t/>\n\t\t\t</Show>\n\t\t</ComboboxItemContext>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}