ContextMenu

Right-click context menu built on Radix UI with labels, separators, shortcuts, checkboxes, radio items, and submenus.

Live Demo

Right-click here

ContextMenuContent Props

PropTypeDefaultDescription
childrenReact.ReactNodeContent shown inside the menu.
onOpenChange(open: boolean) => voidCallback when the menu opens or closes.

ContextMenuItem Props

PropTypeDefaultDescription
disabledbooleanfalseDisables the item.
onSelect(e: Event) => voidCalled when the item is selected.
insetbooleanfalseAdds left padding to align with checkbox/radio items.

Usage

import {
  ContextMenu,
  ContextMenuTrigger,
  ContextMenuContent,
  ContextMenuItem,
  ContextMenuLabel,
  ContextMenuSeparator,
  ContextMenuShortcut,
  ContextMenuCheckboxItem,
  ContextMenuSub,
  ContextMenuSubTrigger,
  ContextMenuSubContent,
} from '@ghiberti85/ui'

<ContextMenu>
  <ContextMenuTrigger>
    <div>Right-click me</div>
  </ContextMenuTrigger>
  <ContextMenuContent>
    <ContextMenuLabel>File</ContextMenuLabel>
    <ContextMenuSeparator />
    <ContextMenuItem>
      New File <ContextMenuShortcut>⌘N</ContextMenuShortcut>
    </ContextMenuItem>
    <ContextMenuCheckboxItem checked>Show toolbar</ContextMenuCheckboxItem>
    <ContextMenuSub>
      <ContextMenuSubTrigger>More</ContextMenuSubTrigger>
      <ContextMenuSubContent>
        <ContextMenuItem>Option A</ContextMenuItem>
      </ContextMenuSubContent>
    </ContextMenuSub>
  </ContextMenuContent>
</ContextMenu>

View in Storybook

Open in Storybook
Ghiberti UI — Design System