/// import noop from '../utils/noop'; import CommonMenu from './CommonMenu'; import MenuItem from './MenuItem'; import SubMenu from './SubMenu'; export interface IMenuBaseProps { mode?: 'inline' | 'pop'; onClick?: (e: React.MouseEvent, key: string) => void; onSubMenuClick?: (id?: string | number) => void; style?: React.CSSProperties; className?: string; } export interface IMenuInlineProps extends IMenuBaseProps { mode: 'inline'; defaultExpandKeys?: string[]; defaultExpandedKeys?: string[]; defaultSelectedKey?: string; expandedKeys?: string[]; onExpandChange?: (expanded?: string[]) => void; selectedKey?: string; onSelectChange?: (selected: string) => void; inlineIndent?: number; } export interface IMenuPopProps extends IMenuBaseProps { mode: 'pop'; } export declare type IMenuProps = IMenuPopProps | IMenuInlineProps; interface IMenuState { selectedKey?: string; expandedKeys?: string[]; prevSelectedKeyProp?: string; prevExpandedKeysProp?: string[]; } export declare class Menu extends CommonMenu { static MenuItem: typeof MenuItem; static SubMenu: typeof SubMenu; static defaultProps: { onClick: typeof noop; mode: string; inlineIndent: number; defaultExpandKeys: any[]; onSubMenuClick: typeof noop; }; constructor(props: IMenuProps); static getDerivedStateFromProps(props: IMenuProps, state: IMenuState): Partial; toggleExpand: (key: string) => void; handleSelect: (key: string) => void; handleClick: (e: React.MouseEvent, key: string) => void; renderMenuItem: (component: any, index: number) => import("react").DetailedReactHTMLElement; render(): JSX.Element; } export default Menu;