import * as React from 'react'; import { MenuDirection, MenuOrientation } from './useMenuRoot'; /** * * Demos: * * - [Menu](https://base-ui.netlify.app/components/react-menu/) * * API: * * - [MenuRoot API](https://base-ui.netlify.app/components/react-menu/#api-reference-MenuRoot) */ declare function MenuRoot(props: MenuRoot.Props): React.JSX.Element; declare namespace MenuRoot { var propTypes: any; } declare namespace MenuRoot { interface Props { /** * If `true`, the Menu supports CSS-based animations and transitions. * It is kept in the DOM until the animation completes. * * @default true */ animated?: boolean; children: React.ReactNode; /** * If `true`, the Menu is initially open. * * @default false */ defaultOpen?: boolean; /** * If `true`, using keyboard navigation will wrap focus to the other end of the list once the end is reached. * @default true */ loop?: boolean; /** * Callback fired when the component requests to be opened or closed. */ onOpenChange?: (open: boolean, event: Event | undefined) => void; /** * Allows to control whether the dropdown is open. * This is a controlled counterpart of `defaultOpen`. */ open?: boolean; /** * The orientation of the Menu (horizontal or vertical). * * @default 'vertical' */ orientation?: MenuOrientation; /** * The direction of the Menu (left-to-right or right-to-left). * * @default 'ltr' */ dir?: MenuDirection; /** * If `true`, the Menu is disabled. * * @default false */ disabled?: boolean; /** * Determines if pressing the Esc key closes the parent menus. * This is only applicable for nested menus. * * If set to `false` pressing Esc closes only the current menu. * * @default true */ closeParentOnEsc?: boolean; /** * The delay in milliseconds until the menu popup is opened when `openOnHover` is `true`. * * @default 100 */ delay?: number; /** * Whether the menu popup opens when the trigger is hovered after the provided `delay`. * By default, `openOnHover` is set to `true` for nested menus. */ openOnHover?: boolean; } } export { MenuRoot };