ContextMenu
Right-click context menu powered by Radix. Shares visual styling with DropdownMenu for consistency.
When to use
- File/item actions — copy, paste, rename, delete.
- Canvas editors — right-click for contextual tools.
- Table rows — contextual actions on data items.
When NOT to use
- For click-triggered menus — use DropdownMenu.
- For navigation — use NavigationMenu.
Import
import {
ContextMenu,
ContextMenuTrigger,
ContextMenuContent,
ContextMenuItem,
ContextMenuSeparator,
ContextMenuShortcut,
} from '@mihcm/ui/ContextMenu';Basic usage
<ContextMenu>
<ContextMenuTrigger>
<div className="border p-8">Right-click here</div>
</ContextMenuTrigger>
<ContextMenuContent>
<ContextMenuItem onSelect={() => {}}>Edit</ContextMenuItem>
<ContextMenuSeparator />
<ContextMenuItem variant="destructive" onSelect={() => {}}>
Delete
</ContextMenuItem>
</ContextMenuContent>
</ContextMenu>With shortcuts
<ContextMenuItem>
Copy <ContextMenuShortcut>⌘C</ContextMenuShortcut>
</ContextMenuItem>Sub-menus
<ContextMenuSub>
<ContextMenuSubTrigger>More Tools</ContextMenuSubTrigger>
<ContextMenuSubContent>
<ContextMenuItem>Save As…</ContextMenuItem>
<ContextMenuItem>Developer Tools</ContextMenuItem>
</ContextMenuSubContent>
</ContextMenuSub>Composition
- Wrap the right-click target in
ContextMenuTrigger. The menu appears oncontextmenuevent. - Use
ContextMenuSubfor nested submenus (one level deep is best — deeper nesting is hard to navigate). ContextMenuCheckboxItemandContextMenuRadioItemhandle toggle/select patterns.ContextMenuShortcutrenders keyboard shortcut hints right-aligned in each item.
Related
- DropdownMenu — click-triggered variant.
- Menubar — horizontal menu bar for desktop apps.