/** * @fileoverview Menubar primitive — horizontal menu bar with dropdown menus, checkbox items, and keyboard navigation. * Built on Radix UI Menubar. Part of the Saasflare base component layer. * @module packages/ui/components/ui/menubar * @layer core * * @component * @example * import { Menubar, MenubarMenu, MenubarTrigger, MenubarContent, MenubarItem } from '@saasflare/ui'; * * * File * * New * Open * * * */ import * as React from "react"; import * as MenubarPrimitive from "@radix-ui/react-menubar"; import { type SaasflareComponentProps } from "../../providers"; /** * Props for {@link Menubar}. * * Extends the Radix Menubar root props with {@link SaasflareComponentProps}, * so `surface`, `radius`, `animated`, and `iconWeight` can be supplied * per-instance or inherited from . */ interface MenubarProps extends Omit, keyof SaasflareComponentProps>, SaasflareComponentProps { } /** * Root horizontal menu bar. Owns the Saasflare surface/radius/animated context for * its menus and emits the corresponding data attributes. */ declare function Menubar({ className, surface, radius, animated, iconWeight, ...props }: MenubarProps): import("react/jsx-runtime").JSX.Element; /** A single menu within the menubar, pairing a trigger with its content. */ declare function MenubarMenu({ ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element; /** Groups related menu items together for semantic structure. */ declare function MenubarGroup({ ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element; /** Portals menu content into the document body, outside the DOM flow. */ declare function MenubarPortal({ ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element; /** Groups radio items so only one can be checked at a time. */ declare function MenubarRadioGroup({ ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element; /** Clickable label that opens its associated menu. */ declare function MenubarTrigger({ className, ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element; /** * Props for {@link MenubarContent}. * * Extends the Radix Menubar content props (`align`, `alignOffset`, * `sideOffset`, …) with {@link SaasflareComponentProps}. */ interface MenubarContentProps extends Omit, keyof SaasflareComponentProps>, SaasflareComponentProps { } /** * Floating panel that holds a menu's items. Inherits surface/radius/animated and * emits the matching data attributes for CSS-driven motion. */ declare function MenubarContent({ className, align, alignOffset, sideOffset, surface, radius, animated, iconWeight, ...props }: MenubarContentProps): import("react/jsx-runtime").JSX.Element; /** Selectable menu item. Supports an inset variant and a destructive variant. */ declare function MenubarItem({ className, inset, variant, ...props }: React.ComponentProps & { inset?: boolean; variant?: "default" | "destructive"; }): import("react/jsx-runtime").JSX.Element; /** Menu item with a checkmark indicator reflecting its checked state. */ declare function MenubarCheckboxItem({ className, children, checked, iconWeight, ...props }: Omit, keyof SaasflareComponentProps> & Pick): import("react/jsx-runtime").JSX.Element; /** Menu item with a dot indicator for single-selection radio groups. */ declare function MenubarRadioItem({ className, children, iconWeight, ...props }: Omit, keyof SaasflareComponentProps> & Pick): import("react/jsx-runtime").JSX.Element; /** Non-interactive heading used to caption a group of menu items. */ declare function MenubarLabel({ className, inset, ...props }: React.ComponentProps & { inset?: boolean; }): import("react/jsx-runtime").JSX.Element; /** Thin horizontal divider between groups of menu items. */ declare function MenubarSeparator({ className, ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element; /** Right-aligned hint showing the keyboard shortcut for a menu item. */ declare function MenubarShortcut({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element; /** Wrapper for a nested submenu, pairing a sub-trigger with sub-content. */ declare function MenubarSub({ ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element; /** Menu item that opens a nested submenu, with a trailing caret indicator. */ declare function MenubarSubTrigger({ className, inset, children, iconWeight, ...props }: Omit, keyof SaasflareComponentProps> & { inset?: boolean; } & Pick): import("react/jsx-runtime").JSX.Element; /** Floating panel for a nested submenu's items. */ declare function MenubarSubContent({ className, ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element; export { Menubar, type MenubarProps, type MenubarContentProps, MenubarPortal, MenubarMenu, MenubarTrigger, MenubarContent, MenubarGroup, MenubarSeparator, MenubarLabel, MenubarItem, MenubarShortcut, MenubarCheckboxItem, MenubarRadioGroup, MenubarRadioItem, MenubarSub, MenubarSubTrigger, MenubarSubContent, };