import { BaseProps, DirectionType } from "../_utils/props.js"; import React, { ReactNode } from "react"; //#region src/menu/types.d.ts type MenuMode = DirectionType | 'inline'; type Theme = 'light' | 'dark'; type MenuVariant = 'outline' | 'fill' | 'ghost'; type MenuSelectionStyle = 'border' | 'background' | 'indicator' | 'mixed'; type MenuSize = 'sm' | 'md' | 'lg'; type MenuAppearance = 'navigation' | 'dropdown' | 'overlay'; interface MenuSelectInfo { key: string; selectedKeys: string[]; } interface MenuProps extends BaseProps, Omit, 'onSelect'> { defaultIndex?: string; selectedKeys?: string[]; defaultSelectedKeys?: string[]; openKeys?: string[]; defaultOpenKeys?: string[]; multiple?: boolean; /** color theme of the menu */ theme?: Theme; /** type of menu: vertical, horizontal or inline */ mode?: MenuMode; /** built-in visual variant */ variant?: MenuVariant; /** visual scene */ appearance?: MenuAppearance; /** selected state presentation */ selectionStyle?: MenuSelectionStyle; /** item size */ size?: MenuSize; /** indent (in pixels) of inline menu items on each level */ inlineIndent?: number; /** called when a menu item is selected */ onSelect?: (selectedIndex: string, info: MenuSelectInfo) => void; /** called when submenu open keys change */ onOpenChange?: (openKeys: string[]) => void; overlayClassName?: string; } interface MenuItemProps extends BaseProps, React.ComponentPropsWithoutRef<'li'> { index?: string; disabled?: boolean; danger?: boolean; icon?: ReactNode; extra?: ReactNode; onClick?: React.MouseEventHandler; } interface MenuItemGroupProps extends BaseProps, Omit, 'title'> { index?: string; title?: ReactNode; } interface SubMenuProps extends BaseProps, Omit, 'title'> { title: ReactNode; index?: string; disabled?: boolean; danger?: boolean; icon?: ReactNode; extra?: ReactNode; overlayClassName?: string; } //#endregion export { MenuAppearance, MenuItemGroupProps, MenuItemProps, MenuMode, MenuProps, MenuSelectInfo, MenuSelectionStyle, MenuSize, MenuVariant, SubMenuProps, Theme }; //# sourceMappingURL=types.d.ts.map