Menubar
import { Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger } from '@hanzo/ui'
Default
File, Edit and View menus with items, shortcuts, separators and a submenu.
File
Edit
View
export function Default() {return (<Menubar><MenubarMenu value="file"><MenubarTrigger>File</MenubarTrigger><MenubarContent><MenubarItem>New Tab <MenubarShortcut>⌘T</MenubarShortcut></MenubarItem><MenubarItem>New Window <MenubarShortcut>⌘N</MenubarShortcut></MenubarItem><MenubarItem disabled>New Incognito Window</MenubarItem><MenubarSeparator /><MenubarSub><MenubarSubTrigger>Share</MenubarSubTrigger><MenubarSubContent><MenubarItem>Email link</MenubarItem><MenubarItem>Messages</MenubarItem><MenubarItem>Notes</MenubarItem></MenubarSubContent></MenubarSub><MenubarSeparator /><MenubarItem>Print... <MenubarShortcut>⌘P</MenubarShortcut></MenubarItem></MenubarContent></MenubarMenu><MenubarMenu value="edit"><MenubarTrigger>Edit</MenubarTrigger><MenubarContent><MenubarItem>Undo <MenubarShortcut>⌘Z</MenubarShortcut></MenubarItem><MenubarItem>Redo <MenubarShortcut>⇧⌘Z</MenubarShortcut></MenubarItem><MenubarSeparator /><MenubarItem>Cut</MenubarItem><MenubarItem>Copy</MenubarItem><MenubarItem>Paste</MenubarItem></MenubarContent></MenubarMenu><MenubarMenu value="view"><MenubarTrigger>View</MenubarTrigger><MenubarContent><MenubarCheckboxItem>Always Show Bookmarks Bar</MenubarCheckboxItem><MenubarCheckboxItem checked>Always Show Full URLs</MenubarCheckboxItem><MenubarSeparator /><MenubarItem inset>Reload <MenubarShortcut>⌘R</MenubarShortcut></MenubarItem><MenubarItem disabled inset>Force Reload <MenubarShortcut>⇧⌘R</MenubarShortcut></MenubarItem></MenubarContent></MenubarMenu></Menubar>)}
Radio group
A single "Profiles" menu whose rows are a mutually-exclusive choice.
Profiles
export function RadioGroup() {return (<Menubar><MenubarMenu value="profiles"><MenubarTrigger>Profiles</MenubarTrigger><MenubarContent><MenubarRadioGroup value="benoit"><MenubarRadioItem value="andy">Andy</MenubarRadioItem><MenubarRadioItem value="benoit">Benoit</MenubarRadioItem><MenubarRadioItem value="luis">Luis</MenubarRadioItem></MenubarRadioGroup><MenubarSeparator /><MenubarItem inset>Edit...</MenubarItem><MenubarSeparator /><MenubarItem inset>Add Profile...</MenubarItem></MenubarContent></MenubarMenu></Menubar>)}
Default open
`defaultValue` starts the bar with its Edit menu already open.
File
Edit
export function DefaultOpen() {return (<YStack gap="$3"><XStack><Menubar defaultValue="edit"><MenubarMenu value="file"><MenubarTrigger>File</MenubarTrigger><MenubarContent><MenubarItem>New Tab</MenubarItem><MenubarItem>New Window</MenubarItem></MenubarContent></MenubarMenu><MenubarMenu value="edit"><MenubarTrigger>Edit</MenubarTrigger><MenubarContent><MenubarItem>Undo</MenubarItem><MenubarItem>Redo</MenubarItem></MenubarContent></MenubarMenu></Menubar></XStack></YStack>)}
Types
export type MenubarProps = Omit<React.ComponentProps<typeof XStack>, 'onValueChange'> & {/** Which menu is open, by its `MenubarMenu`'s `value`. Controlled. */value?: stringdefaultValue?: stringonValueChange?: (value: string | undefined) => void}
export type MenubarMenuProps = React.ComponentProps<typeof Menu> & {/** Identifies this menu to the root's `value`/`onValueChange`. Auto-generated if omitted. */value?: string}
export type MenubarTriggerProps = React.ComponentProps<typeof Menu.Trigger>
export type MenubarContentProps = React.ComponentProps<typeof Menu.Content> & {sideOffset?: numberalign?: 'start' | 'center' | 'end'}
export type MenubarItemProps = Omit<React.ComponentProps<typeof Menu.Item>,'inset' | 'variant'> & {inset?: booleanvariant?: 'default' | 'destructive'}
Exports
MenubarMenubarCheckboxItemMenubarContentMenubarGroupMenubarItemMenubarLabelMenubarMenuMenubarPortalMenubarRadioGroupMenubarRadioItemMenubarSeparatorMenubarShortcutMenubarSubMenubarSubContentMenubarSubTriggerMenubarTriggertype MenubarContentPropstype MenubarItemPropstype MenubarMenuPropstype MenubarPropstype MenubarTriggerProps