import { MouseEvent, SyntheticEvent, RefObject } from 'react'; import { MenuItemId, MenuLayout, MenuSize, MultipleItemType } from './common'; import { MenuPopper } from './menu-popper'; import { MenuSubmenuProps } from './menu-submenu'; export interface MenuContextValue { /** * @private */ toggleSelected?: (id: MenuItemId, e: MouseEvent) => void; /** * @private */ toggleExpanded?: (id: MenuItemId, e: MouseEvent) => void; /** * @private */ moveCursor?: (id: MenuItemId | null, e?: SyntheticEvent) => void; /** * only for hidePopperOnSelect * @private */ refMenuPopper?: RefObject; /** * 尺寸 */ size?: MenuSize; /** * (暂定)类型,如完成 side-nav 和 head-nav 的迁移,最终或可去掉 * - nav 导航菜单,一般用于侧边、顶部导航 * - common 通用菜单,作为基础组件,一般不直接使用 * 如不设置,则根 menu 为自动为 'nav',子 menu 为 'common' * @private */ type?: 'nav' | 'common'; /** * 布局方式 */ layout?: MenuLayout; /** * 选中的 item id 列表 */ selectedIds?: MenuItemId[]; /** * 展开的 submenu id 列表 */ expandedIds?: MenuItemId[]; /** * 是否为多选 */ multiple?: boolean; /** * (暂定)多选选项类型 */ multipleItemType?: MultipleItemType; /** * submenu type 默认值 */ submenuType?: MenuSubmenuProps['type']; /** * submenu selectable 模式值 */ submenuSelectable?: boolean; /** * submenu popper trigger type 默认值 */ submenuPopperTriggerType?: MenuSubmenuProps['popperTriggerType']; /** * 针对 type `folder` "展开/收起" 的操作热区 */ folderToggleSpot?: 'auto' | 'toggle'; /** * 选择光标所在的 item id */ cursorId?: MenuItemId | null; /** * 光标样式 */ cursorType?: 'nav' | 'common'; } export declare const MenuContext: import("react").Context; export declare const MenuContextProvider: import("react").Provider; export declare const MenuContextConsumer: import("react").Consumer;