import { type Accessor, createContext, useContext } from "solid-js"; import type { MutableRef } from "../../internals/floating-ui/types"; export interface SelectItemContextValue { selected: Accessor; selectedByFocus: Accessor; hasRegistered: Accessor; indexRef: MutableRef; textRef: MutableRef; } export const SelectItemContext = createContext( null, ); export function useSelectItemContext(): SelectItemContextValue { const v = useContext(SelectItemContext); if (v == null) { throw new Error( "Base UI: SelectItemContext is missing. Item parts must be placed within .", ); } return v; }