mui-nav-menu
Version:
Navigation menu component based on material ui
39 lines (38 loc) • 1.7 kB
TypeScript
/// <reference types="react" />
import { PopperPlacementType } from "@mui/material";
import { TransitionProps } from "@mui/material/transitions";
import { CheckSelectedFn, InlineIndent, ItemViewData, MenuLink, MenuMode, TriggerType } from "../types";
export interface IMenuContext {
inlineIndent?: InlineIndent;
collapsed?: boolean;
linkComponent?: React.ElementType;
placement?: PopperPlacementType;
elevation?: number;
enterDelay?: number;
leaveDelay?: number;
arrow?: boolean;
trigger: TriggerType;
mode?: MenuMode;
prefixCls?: string;
defaultCollapseIcon?: React.ReactNode;
defaultExpandIcon?: React.ReactNode;
defaultPopupRootIcon?: React.ReactNode;
defaultPopupSubIcon?: React.ReactNode;
openIds?: string[];
focusedNodeId: string;
onInternalOpenChange: (id: string, open: boolean, idPaths: string[]) => void;
defaultOpenIds?: string[];
popperClassName?: string;
selectedIds?: string[];
onSelectedChange: (selectedIds: string[], closePopup: boolean) => void;
onItemClick?: (id: string, paths: string[], domEvent: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLDivElement>, link?: MenuLink) => void;
checkSelectedFn?: CheckSelectedFn;
TransitionComponent?: React.JSXElementConstructor<TransitionProps & {
children: React.ReactElement<any, any>;
}>;
getChildrenIds: (parentId: string, excludeDisabled?: boolean) => string[];
getNode: (nodeId: string) => ItemViewData;
setFocusedNodeId: React.Dispatch<React.SetStateAction<string>>;
}
export declare const MenuContext: import("react").Context<IMenuContext>;
export declare const useMenuContext: () => IMenuContext;