import { Drawer as BaseDrawer } from "@base-ui/react/drawer"; import { Menu as BaseMenu } from "@base-ui/react/menu"; import { useRender } from "@base-ui/react/use-render"; import * as React from "react"; declare const Drawer: typeof BaseDrawer.Root; declare const DrawerTrigger: React.ForwardRefExoticComponent & React.RefAttributes & { asChild?: boolean; }, "ref"> & React.RefAttributes>; declare const DrawerContent: React.ForwardRefExoticComponent & React.RefAttributes & { children?: React.ReactNode; }, "ref"> & React.RefAttributes>; declare function DrawerFooter(props: Readonly & { render?: useRender.RenderProp>; }>): React.ReactElement; declare function DrawerTitle(props: Readonly>): React.ReactElement; declare const DropdownMenu: (props: BaseMenu.Root.Props) => import("react/jsx-runtime").JSX.Element; declare const DropdownMenuSub: typeof BaseMenu.SubmenuRoot; declare const DropdownMenuTrigger: React.ForwardRefExoticComponent & React.RefAttributes & { asChild?: boolean; }, "ref"> & React.RefAttributes>; declare const DropdownMenuContent: React.ForwardRefExoticComponent & React.RefAttributes & { children?: React.ReactNode; }, "ref"> & React.RefAttributes>; declare function DropdownMenuLabel(props: Readonly>): React.ReactElement; declare function DropdownMenuSeparator(props: Readonly>): React.ReactElement; declare function DropdownMenuSubTrigger(props: Readonly & { inset?: boolean; }>): React.ReactElement; declare function DropdownMenuSubContent(props: Readonly & { children?: React.ReactNode; }>): React.ReactElement; type DropDrawerRootProps = React.ComponentProps | React.ComponentProps; type DropDrawerTriggerProps = React.ComponentPropsWithoutRef | React.ComponentPropsWithoutRef; type DropDrawerContentProps = React.ComponentPropsWithoutRef | React.ComponentPropsWithoutRef; interface MobileSubmenuDataAttributes { "data-parent-submenu-id"?: string; "data-parent-submenu"?: string; "data-submenu-id"?: string; } interface SharedDropDrawerItemProps extends Omit, "children" | "onClick" | "onSelect">, MobileSubmenuDataAttributes { /** * Item contents. * @default undefined */ children?: React.ReactNode; /** * Additional CSS classes merged with the item styles. * @default undefined */ className?: string; /** * Whether the desktop dropdown should close after the item is activated. * @default undefined */ closeOnClick?: boolean; /** * Optional trailing icon or affordance rendered alongside the item content. * @default undefined */ icon?: React.ReactNode; /** * Whether to apply inset spacing to align the item with grouped content. * @default undefined */ inset?: boolean; /** * Mouse click handler invoked when the item is activated. * @default undefined */ onClick?: React.MouseEventHandler; /** * Selection callback invoked with the native event when the item is activated. * @default undefined */ onSelect?: (event: Event) => void; } /** * Provides a responsive dropdown-on-desktop, drawer-on-mobile navigation surface. * * @remarks * - Renders either Base UI `Menu.Root` or `Drawer.Root` depending on viewport size * - Built on Base UI Menu and Drawer primitives * * @example * ```tsx * * Open menu * * Profile * * * ``` * * @see {@link https://base-ui.com/react/components/menu | Base UI Menu Docs} */ declare function DropDrawer({ children, ...props }: DropDrawerRootProps): React.JSX.Element; declare namespace DropDrawer { var displayName: string; } /** * Renders the control that opens the dropdown or drawer surface. * * @remarks * - Renders either a Base UI menu trigger or drawer trigger * - Built on Base UI Menu and Drawer primitives * * @example * ```tsx * Open menu * ``` * * @see {@link https://base-ui.com/react/components/drawer | Base UI Drawer Docs} */ declare const DropDrawerTrigger: React.ForwardRefExoticComponent>; /** * Renders the responsive dropdown or drawer content surface. * * @remarks * - Renders a Base UI popup on desktop and drawer content on mobile * - Built on Base UI Menu and Drawer primitives with animated mobile submenu navigation * * @example * ```tsx * * Settings * * ``` * * @see {@link https://base-ui.com/react/components/menu | Base UI Menu Docs} */ declare const DropDrawerContent: React.ForwardRefExoticComponent>; /** * Renders an actionable item inside the drop drawer surface. * * @remarks * - Renders a Base UI menu item on desktop and a keyboard-accessible `
` on mobile * - Built on Base UI Menu and Drawer close primitives * * @example * ```tsx * }>Account * ``` * * @see {@link https://base-ui.com/react/components/menu | Base UI Menu Docs} */ declare function DropDrawerItem({ className, children, closeOnClick, disabled, icon, inset, onClick, onSelect, ...props }: SharedDropDrawerItemProps): React.JSX.Element; declare namespace DropDrawerItem { var displayName: string; } /** * Renders a visual separator between desktop drop drawer sections. * * @remarks * - Renders a separator only in desktop dropdown mode * - Built on Base UI Menu separator primitives * * @example * ```tsx * * ``` * * @see {@link https://base-ui.com/react/components/menu | Base UI Menu Docs} */ declare function DropDrawerSeparator({ className, ...props }: React.ComponentPropsWithoutRef): React.JSX.Element | null; declare namespace DropDrawerSeparator { var displayName: string; } /** * Renders a section label for the drop drawer surface. * * @remarks * - Renders a drawer title on mobile and a menu label on desktop * - Built on Base UI Drawer and Menu primitives * * @example * ```tsx * Actions * ``` * * @see {@link https://base-ui.com/react/components/menu | Base UI Menu Docs} */ declare function DropDrawerLabel({ className, children, ...props }: React.ComponentProps | React.ComponentProps): React.JSX.Element; declare namespace DropDrawerLabel { var displayName: string; } /** * Renders footer content aligned to the bottom of the responsive surface. * * @remarks * - Renders a drawer footer on mobile and a styled `
` on desktop * - Built on Base UI Drawer primitives for mobile layouts * * @example * ```tsx * Signed in as Alex * ``` * * @see {@link https://base-ui.com/react/components/drawer | Base UI Drawer Docs} */ declare function DropDrawerFooter({ className, children, ...props }: React.ComponentProps | React.ComponentProps<"div">): React.JSX.Element; declare namespace DropDrawerFooter { var displayName: string; } /** * Renders a grouped collection of drop drawer items. * * @remarks * - Renders a Base UI menu group on desktop and a `
` on mobile * - Inserts mobile-only separators between adjacent children * * @example * ```tsx * * Profile * Billing * * ``` * * @see {@link https://developer.mozilla.org/docs/Web/Accessibility/ARIA/Roles/group_role | ARIA Group Role} */ declare function DropDrawerGroup({ className, children, ...props }: React.ComponentProps<"div"> & { children: React.ReactNode; }): React.JSX.Element; declare namespace DropDrawerGroup { var displayName: string; } /** * Renders a submenu root within the drop drawer surface. * * @remarks * - Renders a Base UI submenu on desktop and a mobile-aware container on small screens * - Registers submenu content for animated mobile drill-down navigation * * @example * ```tsx * * More * * Sub item * * * ``` * * @see {@link https://base-ui.com/react/components/menu | Base UI Menu Docs} */ declare function DropDrawerSub({ children, id, ...props }: React.ComponentPropsWithoutRef & { children?: React.ReactNode; id?: string; }): React.JSX.Element; declare namespace DropDrawerSub { var displayName: string; } interface DropDrawerSubTriggerProps extends Omit, "children" | "onClick">, MobileSubmenuDataAttributes { /** * Trigger contents. * @default undefined */ children?: React.ReactNode; /** * Additional CSS classes merged with the trigger styles. * @default undefined */ className?: string; /** * Whether to apply inset spacing to align the trigger with grouped content. * @default undefined */ inset?: boolean; /** * Mouse click handler invoked before submenu navigation occurs. * @default undefined */ onClick?: React.MouseEventHandler; } /** * Renders the trigger that opens a nested submenu. * * @remarks * - Renders a Base UI submenu trigger on desktop and a keyboard-accessible `
` on mobile * - Built on Base UI Menu submenu primitives * * @example * ```tsx * Advanced * ``` * * @see {@link https://base-ui.com/react/components/menu | Base UI Menu Docs} */ declare function DropDrawerSubTrigger({ className, inset, children, onClick, ...props }: DropDrawerSubTriggerProps): React.JSX.Element; declare namespace DropDrawerSubTrigger { var displayName: string; } /** * Renders the content region for a nested submenu. * * @remarks * - Renders only in desktop dropdown mode * - Built on Base UI Menu submenu popup primitives * * @example * ```tsx * * Details * * ``` * * @see {@link https://base-ui.com/react/components/menu | Base UI Menu Docs} */ declare function DropDrawerSubContent({ className, sideOffset, children, ...props }: React.ComponentProps): React.JSX.Element | null; declare namespace DropDrawerSubContent { var displayName: string; } export { DropDrawer, DropDrawerContent, DropDrawerFooter, DropDrawerGroup, DropDrawerItem, DropDrawerLabel, DropDrawerSeparator, DropDrawerSub, DropDrawerSubContent, DropDrawerSubTrigger, DropDrawerTrigger, }; //# sourceMappingURL=dropdrawer.d.ts.map