/**
* @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, };