mui-nav-menu
Version:
Navigation menu component based on material ui
45 lines (44 loc) • 1.79 kB
TypeScript
import { PopperPlacementType } from "@mui/material";
import { TransitionProps } from "@mui/material/transitions";
import React, { FC, PropsWithChildren } from "react";
import { CheckSelectedFn, InlineIndent, ItemType, MenuLink, MenuMode, TriggerType } from "./types";
interface INavMenuProps {
/** Shadow of empty value pop-up card,It accepts values between 0 and 24 inclusive.*/
elevation?: number;
/**Popper placement */
placement?: PopperPlacementType;
prefixCls?: string;
items?: Array<ItemType>;
disableCloseOnSelect?: boolean;
inlineIndent?: InlineIndent;
checkSelectedFn?: CheckSelectedFn;
defaultCollapseIcon?: React.ReactNode;
defaultExpandIcon?: React.ReactNode;
defaultPopupRootIcon?: React.ReactNode;
defaultPopupSubIcon?: React.ReactNode;
mode?: MenuMode;
collapsed?: boolean;
arrow?: boolean;
accordion?: boolean;
trigger?: TriggerType;
disableSelection?: boolean;
openIds?: string[];
enterDelay?: number;
leaveDelay?: number;
linkComponent?: React.ElementType;
defaultOpenIds?: string[];
defaultSelectedIds?: string[];
onOpenChange?: (openIds: string[]) => void;
/**additional css class of root dom node*/
rootClassName?: string;
/**additional css class of popper dom node*/
popperClassName?: string;
selectedIds?: string[];
onSelectedChange?: (selectedIds: string[]) => void;
TransitionComponent?: React.JSXElementConstructor<TransitionProps & {
children: React.ReactElement<any, any>;
}>;
onItemClick?: (id: string, paths: string[], domEvent: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLDivElement>, link?: MenuLink) => void;
}
declare const NavMenu: FC<PropsWithChildren<INavMenuProps>>;
export default NavMenu;