/// import { EventHandlers } from '../utils'; export interface UseListItemParameters { /** * If `true`, the list item will dispatch the `itemHover` action on pointer over. * Since the use cases for it are rare, it's disabled by default. * It could be used to mimic the native `select` behavior, which highlights the hovered item. * * @default false */ handlePointerOverEvents?: boolean; /** * The list item. */ item: ItemValue; /** * A ref to the list item's DOM element. */ rootRef?: React.Ref; } interface UseListItemRootSlotOwnProps { id?: string; onClick: React.MouseEventHandler; onPointerOver: React.PointerEventHandler | undefined; ref: React.RefCallback | null; tabIndex?: number; } export type UseListItemRootSlotProps = Omit & UseListItemRootSlotOwnProps; export interface UseListItemReturnValue { /** * Resolver for the root slot's props. * @param otherHandlers event handlers for the root slot * @returns props that should be spread on the root slot */ getRootProps: (otherHandlers?: TOther) => UseListItemRootSlotProps; /** * If `true`, the current item is highlighted. */ highlighted: boolean; /** * If `true`, the current item is selected. */ selected: boolean; /** * The ref to the root element. */ rootRef: React.RefCallback | null; } export {};