UNPKG

@momentum-ui/react-collaboration

Version:

Cisco Momentum UI Framework for React Collaboration Applications

31 lines (30 loc) 1.36 kB
import { Dispatch, HTMLAttributes, SetStateAction } from 'react'; import { ListOrientation } from '../components/List/List.types'; import { ListItemBaseIndex } from '../components/ListItemBase/ListItemBase.types'; type IUseOrientationBasedKeyboardNavigationReturn = { keyboardProps: HTMLAttributes<HTMLElement>; focusWithinProps: HTMLAttributes<HTMLElement>; getContext: () => { setCurrentFocus: Dispatch<SetStateAction<ListItemBaseIndex>>; shouldFocusOnPress?: boolean; shouldItemFocusBeInset?: boolean; noLoop?: boolean; updateFocusBlocked?: boolean; isFocusedWithin?: boolean; getCurrentFocus?: () => ListItemBaseIndex; addFocusCallback?: (index: ListItemBaseIndex, callback: (focused: boolean, focusBlocked: boolean) => void) => void; }; }; export type IUseOrientationBasedKeyboardNavigationProps = { listSize: number; allItemIndexes?: ListItemBaseIndex[]; orientation: ListOrientation; noLoop?: boolean; initialFocus?: ListItemBaseIndex; contextProps?: { shouldFocusOnPress?: boolean; shouldItemFocusBeInset?: boolean; }; }; declare const useOrientationBasedKeyboardNavigation: (props: IUseOrientationBasedKeyboardNavigationProps) => IUseOrientationBasedKeyboardNavigationReturn; export default useOrientationBasedKeyboardNavigation;