{"version":3,"names":["dynamic","createEffect","createMemo","omit","onCleanup","untrack","createChangeEventDetails","REASONS","composeRefs","userRef","useCompositeListItem","mergeRootProps","resolveClassStyle","useButton","useSelectRootContext","compareItemEquality","removeItem","SelectItemContext","SelectItem","props","root","itemValue","value","disabled","nativeButton","textRef","current","listItem","label","hasRegistered","index","idx","values","valuesRef","storeValue","equals","isItemEqualToValue","candidate","multiple","Array","isArray","length","undefined","setSelectedIndex","selectedItemTextRef","highlighted","activeIndex","selected","comparer","iv","some","sv","selectedByFocus","selectedIndex","indexRef","i","buttonProps","ref","buttonRef","focusableWhenDisabled","native","commitSelection","event","currentValue","nextValue","setValue","itemPress","setOpen","state","lastKey","didPointerDown","pointerType","contextValue","internal","role","aria-selected","tabindex","onTouchStart","selectionRef","allowSelectedMouseUp","allowUnselectedMouseUp","onKeyDown","key","setActiveIndex","typingRef","preventDefault","onClick","type","onPointerEnter","onPointerDown","onMouseUp","guard","disallowSelectedMouseUp","disallowUnselectedMouseUp","target","currentTarget","click","data-disabled","data-selected","data-highlighted","userClassStyle","userProps","merged","interactions","getItemProps","active","Tag","as"],"sources":["select-item.tsx"],"sourcesContent":["import type { JSX, ValidComponent } from \"@solidjs/web\";\nimport { dynamic } from \"@solidjs/web\";\nimport { createEffect, createMemo, omit, onCleanup, untrack } from \"solid-js\";\nimport {\n\tcreateChangeEventDetails,\n\tREASONS,\n} from \"../../internals/change-event-details\";\nimport { composeRefs, userRef } from \"../../internals/compose-refs\";\nimport { useCompositeListItem } from \"../../internals/composite/composite-list\";\nimport type { MutableRef } from \"../../internals/floating-ui/types\";\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 type { SelectValue } from \"../select-root-context\";\nimport { useSelectRootContext } from \"../select-root-context\";\nimport { compareItemEquality, removeItem } from \"../utils/item-equality\";\nimport {\n\tSelectItemContext,\n\ttype SelectItemContextValue,\n} from \"./select-item-context\";\n\nexport interface SelectItemState {\n\tdisabled: boolean;\n\tselected: boolean;\n\thighlighted: boolean;\n}\n\nexport interface SelectItemProps\n\textends NonNativeButtonProps,\n\t\tOmit<BaseUIComponentProps<\"div\", SelectItemState>, \"id\"> {\n\tas?: ValidComponent;\n\tvalue?: SelectValue;\n\tdisabled?: boolean | undefined;\n\tlabel?: string | undefined;\n}\n\nexport function SelectItem(props: SelectItemProps): JSX.Element {\n\tconst root = useSelectRootContext();\n\n\tconst itemValue = (): SelectValue => (\"value\" in props ? props.value : null);\n\tconst disabled = (): boolean => props.disabled ?? false;\n\tconst nativeButton = (): boolean => props.nativeButton ?? false;\n\n\tconst textRef: MutableRef<HTMLElement | null> = { current: null };\n\n\tconst listItem = useCompositeListItem({\n\t\tlabel: props.label,\n\t\ttextRef,\n\t});\n\n\tconst hasRegistered = createMemo<boolean>(() => listItem.index() !== -1);\n\n\tcreateEffect(\n\t\t() => ({ idx: listItem.index(), value: itemValue() }),\n\t\t({ idx, value }) => {\n\t\t\tif (idx === -1) return;\n\t\t\tconst values = root.valuesRef.current;\n\t\t\tvalues[idx] = value;\n\t\t},\n\t);\n\n\tonCleanup(() => {\n\t\tconst idx = listItem.index();\n\t\tif (idx !== -1) {\n\t\t\tdelete root.valuesRef.current[idx];\n\t\t}\n\t});\n\n\tcreateEffect(\n\t\t() => ({\n\t\t\tidx: listItem.index(),\n\t\t\tvalue: itemValue(),\n\t\t\tstoreValue: root.value(),\n\t\t\tequals: root.isItemEqualToValue(),\n\t\t}),\n\t\t({ idx, value, storeValue, equals }) => {\n\t\t\tif (idx === -1) return;\n\t\t\tlet candidate = storeValue;\n\t\t\tif (\n\t\t\t\troot.multiple() &&\n\t\t\t\tArray.isArray(storeValue) &&\n\t\t\t\tstoreValue.length > 0\n\t\t\t) {\n\t\t\t\tcandidate = storeValue[storeValue.length - 1];\n\t\t\t}\n\t\t\tif (\n\t\t\t\tcandidate !== undefined &&\n\t\t\t\tcompareItemEquality(value, candidate, equals)\n\t\t\t) {\n\t\t\t\troot.setSelectedIndex(idx);\n\t\t\t\tif (textRef.current) {\n\t\t\t\t\troot.selectedItemTextRef.current = textRef.current;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t);\n\n\tconst highlighted = createMemo<boolean>(\n\t\t() => root.activeIndex() === listItem.index(),\n\t);\n\n\t// P8: value-based equality for selected state.\n\tconst selected = createMemo<boolean>(() => {\n\t\tconst comparer = root.isItemEqualToValue();\n\t\tconst storeValue = root.value();\n\t\tconst iv = itemValue();\n\t\tif (root.multiple()) {\n\t\t\treturn (\n\t\t\t\tArray.isArray(storeValue) &&\n\t\t\t\tstoreValue.some((sv) => compareItemEquality(iv, sv, comparer))\n\t\t\t);\n\t\t}\n\t\treturn compareItemEquality(iv, storeValue, comparer);\n\t});\n\n\tconst selectedByFocus = createMemo<boolean>(\n\t\t() => root.selectedIndex() === listItem.index(),\n\t);\n\n\tconst indexRef: MutableRef<number> = { current: -1 };\n\tcreateEffect(\n\t\t() => listItem.index(),\n\t\t(i) => {\n\t\t\tindexRef.current = i;\n\t\t},\n\t);\n\n\tconst { props: buttonProps, ref: buttonRef } = useButton({\n\t\tdisabled,\n\t\tfocusableWhenDisabled: () => true,\n\t\tnative: nativeButton,\n\t});\n\n\tfunction commitSelection(event: MouseEvent | KeyboardEvent): void {\n\t\tconst storeValue = root.value();\n\t\tif (root.multiple()) {\n\t\t\tconst currentValue = Array.isArray(storeValue) ? storeValue : [];\n\t\t\tconst nextValue = selected()\n\t\t\t\t? removeItem(currentValue, itemValue(), root.isItemEqualToValue())\n\t\t\t\t: [...currentValue, itemValue()];\n\t\t\troot.setValue(\n\t\t\t\tnextValue,\n\t\t\t\tcreateChangeEventDetails(REASONS.itemPress, event),\n\t\t\t);\n\t\t} else {\n\t\t\troot.setValue(\n\t\t\t\titemValue(),\n\t\t\t\tcreateChangeEventDetails(REASONS.itemPress, event),\n\t\t\t);\n\t\t\troot.setOpen(false, createChangeEventDetails(REASONS.itemPress, event));\n\t\t}\n\t}\n\n\tconst state = createMemo<SelectItemState>(() => ({\n\t\tdisabled: disabled(),\n\t\tselected: selected(),\n\t\thighlighted: highlighted(),\n\t}));\n\n\tlet lastKey: string | null = null;\n\tlet didPointerDown = false;\n\tlet pointerType: string | null = null;\n\n\tconst contextValue: SelectItemContextValue = {\n\t\tselected,\n\t\tselectedByFocus,\n\t\thasRegistered,\n\t\tindexRef,\n\t\ttextRef,\n\t};\n\n\tconst internal = {\n\t\trole: \"option\",\n\t\tget \"aria-selected\"() {\n\t\t\treturn selected() ? \"true\" : \"false\";\n\t\t},\n\t\tget tabindex() {\n\t\t\treturn highlighted() ? 0 : -1;\n\t\t},\n\t\tonTouchStart(): void {\n\t\t\troot.selectionRef.current = {\n\t\t\t\tallowSelectedMouseUp: false,\n\t\t\t\tallowUnselectedMouseUp: false,\n\t\t\t};\n\t\t},\n\t\tonKeyDown(event: KeyboardEvent) {\n\t\t\tlastKey = event.key;\n\t\t\troot.setActiveIndex(listItem.index());\n\t\t\tif (event.key === \" \" && root.typingRef.current) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t},\n\t\tonClick(event: MouseEvent & { type: string }) {\n\t\t\tdidPointerDown = false;\n\t\t\tif (event.type === \"keydown\" && lastKey === null) return;\n\t\t\tif (disabled()) return;\n\t\t\tif (\n\t\t\t\tevent.type === \"keydown\" &&\n\t\t\t\tlastKey === \" \" &&\n\t\t\t\troot.typingRef.current\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlastKey = null;\n\t\t\tcommitSelection(event);\n\t\t},\n\t\tonPointerEnter(event: PointerEvent): void {\n\t\t\tpointerType = event.pointerType;\n\t\t},\n\t\tonPointerDown(event: PointerEvent): void {\n\t\t\tpointerType = event.pointerType;\n\t\t\tdidPointerDown = true;\n\t\t},\n\t\tonMouseUp(event: MouseEvent): void {\n\t\t\tif (disabled()) return;\n\t\t\tif (didPointerDown) {\n\t\t\t\tdidPointerDown = false;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst guard = root.selectionRef.current;\n\t\t\tconst disallowSelectedMouseUp = !guard.allowSelectedMouseUp && selected();\n\t\t\tconst disallowUnselectedMouseUp =\n\t\t\t\t!guard.allowUnselectedMouseUp && !selected();\n\t\t\tif (\n\t\t\t\tdisallowSelectedMouseUp ||\n\t\t\t\tdisallowUnselectedMouseUp ||\n\t\t\t\t(pointerType !== \"touch\" && !highlighted())\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst target = event.currentTarget as HTMLElement | null;\n\t\t\ttarget?.click();\n\t\t},\n\t\t// Default projection: disabled/selected/highlighted → presence.\n\t\tget \"data-disabled\"() {\n\t\t\treturn state().disabled ? \"\" : undefined;\n\t\t},\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};\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\"disabled\",\n\t\t\"label\",\n\t\t\"nativeButton\",\n\t);\n\n\t// `getItemProps` resolves the interaction `item` bags eagerly. The\n\t// `active`/`selected` it consumes (via `useRole`) only feed an unused\n\t// `-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\tactive: highlighted(),\n\t\t\t\tselected: selected(),\n\t\t\t}),\n\t\t),\n\t\tbuttonProps,\n\t);\n\tmerged = mergeRootProps(merged, internal);\n\tmerged = mergeRootProps(merged, userClassStyle);\n\tmerged = mergeRootProps(merged, userProps);\n\n\tconst Tag = dynamic(() => props.as ?? \"div\");\n\treturn (\n\t\t<SelectItemContext value={contextValue}>\n\t\t\t<Tag\n\t\t\t\t{...merged}\n\t\t\t\tref={composeRefs(buttonRef, listItem.ref, userRef(props))}\n\t\t\t/>\n\t\t</SelectItemContext>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}