@ozen-ui/kit
Version:
React component library
21 lines (20 loc) • 1.07 kB
TypeScript
import type { MouseEvent } from 'react';
export type UseListNavigationItem = string | number | null;
export type UseListNavigationItems = UseListNavigationItem[];
export type UseListNavigationProps = {
active?: boolean;
items?: UseListNavigationItems;
selected?: UseListNavigationItem;
onSelect?: (event: KeyboardEvent | MouseEvent<HTMLElement>, item?: UseListNavigationItem) => void;
};
export type UseListNavigationState = {
focused?: UseListNavigationItem;
current?: UseListNavigationItem;
};
export type UseListNavigationEvents = {
onKeyDown?: (event: KeyboardEvent) => void;
onClick?: (event: MouseEvent<HTMLElement>, item: UseListNavigationItem) => void;
};
export type UseListNavigationReturn = UseListNavigationState & UseListNavigationEvents;
/** Навигация по элементам списка без перехвата фокуса с элемента контроля */
export declare function useDataListNavigation({ selected, onSelect, active, items: itemsProps, }: UseListNavigationProps): UseListNavigationReturn;