monday-ui-react-core
Version:
Official monday.com UI resources for application development in React.js
37 lines (36 loc) • 1.62 kB
TypeScript
import React, { MutableRefObject } from "react";
declare enum Role {
APPLICATION = "application",
COMBOBOX = "combobox",
COMPOSITE = "composite",
GROUP = "group",
TEXTBOX = "textbox",
MENU = "menu"
}
declare function useActiveDescendantListFocus({ focusedElementRef, // the reference for the component that listens to keyboard
itemsIds, isItemSelectable, onItemClick, defaultVisualFocusFirstIndex, focusedElementRole, isHorizontalList, isIgnoreSpaceAsItemSelection, useDocumentEventListeners, ignoreDocumentFallback }: {
focusedElementRef: MutableRefObject<HTMLElement>;
itemsIds: string[];
isItemSelectable: (index: number) => boolean;
onItemClick: (event: React.KeyboardEvent | React.MouseEvent, index: number) => void;
defaultVisualFocusFirstIndex?: boolean;
focusedElementRole?: Role;
isHorizontalList?: boolean;
isIgnoreSpaceAsItemSelection?: boolean;
useDocumentEventListeners?: boolean;
ignoreDocumentFallback?: boolean;
}): {
visualFocusItemIndex: number;
visualFocusItemId: string;
focusedElementProps: {
"aria-activedescendant": string;
role: Role;
};
onItemClickCallback: (event: React.KeyboardEvent | React.MouseEvent, index: number) => void;
createOnItemClickCallback: (itemIndex: number) => (event: React.KeyboardEvent | React.MouseEvent) => void;
setVisualFocusItemId: (visualFocusItemId: string, isTriggeredByKeyboard: boolean) => void;
};
declare namespace useActiveDescendantListFocus {
var roles: typeof Role;
}
export default useActiveDescendantListFocus;