import * as React from 'react'; import * as M from '@radix-ui/react-menubar'; import type { MenuBarRootVariantProps, MenuBarContentVariantProps, MenuBarItemVariantProps, MenuBarSeparatorVariantProps, MenuBarTriggerVariantProps } from './menu.bar.styles'; import { StyledMenuBarItemIndicator, StyledMenuBarRightSlot, StyledMenuBarCheckboxItem, StyledMenuBarRadioItem, StyledMenuBarMenu } from './menu.bar.styles'; import { baseComponentProps } from '../@shared/types'; /** * * NOTES: * * Forwards the ref to the underlying DOM element. * * const [Primitive] = React.forwardRef, Props> * */ /** * * @types */ /** * * ROOT_MENU_BAR.. * * the root element that wraps the menu bar. * * root style. * * Props: * - asChild: boolean * - defaultValue: string * - value: string * - onValueChange: (value: string) => void * - dir: 'ltr' | 'rtl' * - loop: boolean */ type MenuBarPrimitiveProps = baseComponentProps & React.ComponentPropsWithRef; type MenuBarProps = MenuBarPrimitiveProps & MenuBarRootVariantProps; /** * * * * MENU_SUB * */ type MenuBarSUBPrimitiveProps = baseComponentProps & React.ComponentPropsWithRef; type MenuBarSUBProps = MenuBarSUBPrimitiveProps; declare const MenuSub: ({ children, css, ...rest }: MenuBarSUBProps) => JSX.Element; /** * * MENU_BAR_MENU.. * * the menu element that wraps the menu bar. * * Props: * - value: string * * A unique value that associates the item with an active value * * when the navigation menu is controlled. * * This prop is managed automatically when uncontrolled. * */ /** * * MENU_BAR_TRIGGER.. * * button element that triggers the menu to open. */ type MenuBarTriggerPrimitiveProps = baseComponentProps & MenuBarTriggerVariantProps & React.ComponentPropsWithRef; declare const MenuTrigger: React.ForwardRefExoticComponent & React.RefAttributes>; /** * * MENU_BAR_SUB_TRIGGER.. * * button element that triggers the sub menu to open. (offset) * * * * * * * */ type MenuBarSubTriggerPrimitiveProps = baseComponentProps & React.ComponentPropsWithRef; declare const MenuSubTrigger: React.ForwardRefExoticComponent & React.RefAttributes>; /** * * MENU_BAR_CONTENT.. * * the content that renders inside of the portal. (the menu) */ declare const MenuBarPortal: React.FC; type MenuBarContentPrimitiveProps = baseComponentProps & React.ComponentPropsWithRef; type MenuBarContentProps = MenuBarContentVariantProps & MenuBarContentPrimitiveProps & { label?: string; }; declare const MenuContent: React.ForwardRefExoticComponent & React.RefAttributes>; /** * * * MENU_SUB_CONTENT & PORTAL.. */ type MenuBarSubContentPrimitiveProps = baseComponentProps & React.ComponentPropsWithRef; declare const MenuSubContent: React.ForwardRefExoticComponent & React.RefAttributes>; /** * * MENU_ITEM.. * * a menu item that renders inside of MENU_BAR_CONTENT. * * also could be named (option) */ type asHrefProps = { as?: React.ElementType; href?: string; }; type MenuBarItemPrimitiveProps = baseComponentProps & React.ComponentPropsWithRef & asHrefProps; type MenuBarItemProps = MenuBarItemPrimitiveProps & MenuBarItemVariantProps; declare const MenuItem: React.ForwardRefExoticComponent & React.RefAttributes>; /** * * MENU_ITEM.. * * a menu item that renders inside of MENU_BAR_CONTENT. * * also could be named (option) */ type MenuBarGroupPrimitiveProps = baseComponentProps & React.ComponentPropsWithRef; declare const MenuGroup: React.ForwardRefExoticComponent & React.RefAttributes>; type MenuBarSeparatorPrimitiveProps = baseComponentProps & React.ComponentPropsWithRef; type MenuBarSeparatorProps = MenuBarSeparatorPrimitiveProps & MenuBarSeparatorVariantProps; declare const MenuSeparator: React.ForwardRefExoticComponent & React.RefAttributes>; export declare const Menubar: React.FC & { Menu: typeof StyledMenuBarMenu; SubMenu: typeof MenuSub; Trigger: typeof MenuTrigger; SubTrigger: typeof MenuSubTrigger; Content: typeof MenuContent; SubContent: typeof MenuSubContent; Item: typeof MenuItem; Group: typeof MenuGroup; ItemIndicator: typeof StyledMenuBarItemIndicator; Separator: typeof MenuSeparator; RadioItem: typeof StyledMenuBarRadioItem; CheckboxItem: typeof StyledMenuBarCheckboxItem; SlotRight: typeof StyledMenuBarRightSlot; Portal: typeof MenuBarPortal; }; export {}; //# sourceMappingURL=menu.bar.d.ts.map