import { Component, ContextType, CSSProperties, ReactNode, ReactChild, MouseEvent } from 'react'; import { MenuItemProps } from './menu-item'; import { MenuPopper, MenuPopperProps } from './menu-popper'; import { MenuContext } from './menu-context'; import { MenuItemId, SubmenuType } from './common'; export interface MenuSubmenuProps extends Pick { /** * 自定义 class */ className?: string; /** * 自定义 style */ style?: CSSProperties; /** * 子菜单类型 */ type?: SubmenuType; /** * 唯一标识 */ id?: MenuItemId; /** * 是否选中控制值 * * 如不控制,则以是否在 context.selectedIds 进行判断是否选中 */ selected?: boolean; /** * 是否展开控制值 * * 如不控制,则以是否在 context.expandedIds 进行判断是否展开 */ expanded?: boolean; /** * 菜单项元素 */ itemContent?: ReactNode; /** * popper menu 触发类型 */ popperTriggerType?: 'hover' | 'click'; /** * popper menu 位置 */ popperPlacement?: MenuPopperProps['placement']; /** * 点击回调 */ onClick?: (e: MouseEvent) => void; /** * 是否可以选择,即点击是否有进行 MenuItem 的 select 行为 */ selectable?: boolean; /** * 禁用 menu popper 的 popup portal * * 详见 [Popup](/components/popup) */ disablePortal?: MenuPopperProps['disablePortal']; /** * 指定 menu popper 的 popup portal * * 详见 [Popup](/components/popup) */ portalContainer?: MenuPopperProps['portalContainer']; } export declare class Submenu extends Component { static displayName: string; static defaultProps: { className: string; disabled: boolean; }; static contextType: import("react").Context; _id: string; context: ContextType; refMenuPopper: import("react").RefObject; refMenuArrow: import("react").RefObject; get id(): MenuItemId; get layout(): import("./common").MenuLayout | undefined; get isLayoutHorizontal(): boolean; get popperMenuPlacement(): MenuPopperProps['placement']; get isExpanded(): boolean; get isSelected(): boolean; get hasDescendantSelected(): boolean; get mustBePopper(): boolean; get isTypePopper(): boolean; get menuPopperSize(): "md" | "lg" | undefined; get isSelectable(): boolean; get type(): "group" | "folder" | "popper"; get popperTriggerType(): "click" | "hover"; get submenuSize(): "md" | "lg" | undefined; get submenuRefMenuPopper(): import("react").RefObject | undefined; handleClickItemContent: (e: MouseEvent) => void; renderMenuArrow: () => import("react/jsx-runtime").JSX.Element | null; renderPrefix: () => import("react/jsx-runtime").JSX.Element | null; renderMenuItem: (submenu: ReactChild | null) => import("react/jsx-runtime").JSX.Element; renderSubmenuMenu: () => import("react/jsx-runtime").JSX.Element; renderSubmenu: () => import("react/jsx-runtime").JSX.Element; render(): import("react/jsx-runtime").JSX.Element; }