Uqudo UIregistry

Context Menu

Displays a menu at the pointer, triggered by a right click or a long press.

Right click here

Installation

npx shadcn@latest add @uqudo/context-menu

Usage

import {
  ContextMenu,
  ContextMenuContent,
  ContextMenuItem,
  ContextMenuTrigger,
} from "@/components/uqudo/ui/context-menu"
<ContextMenu>
  <ContextMenuTrigger>Right click</ContextMenuTrigger>
  <ContextMenuContent>
    <ContextMenuItem>Profile</ContextMenuItem>
    <ContextMenuItem>Billing</ContextMenuItem>
    <ContextMenuItem>Team</ContextMenuItem>
    <ContextMenuItem variant="destructive">Delete</ContextMenuItem>
  </ContextMenuContent>
</ContextMenu>

ContextMenuContent already renders inside a portal, so you do not need to add ContextMenuPortal yourself. Use inset on items to align them with items that have a check indicator.

API Reference

ContextMenuItem

Prop

Type

ContextMenuCheckboxItem

Prop

Type

ContextMenuRadioGroup / ContextMenuRadioItem

Prop

Type

Exports

Every part forwards className and all props of the matching Radix primitive.

ComponentWrapsNotes
ContextMenuContextMenu.RootAccepts onOpenChange, modal, dir.
ContextMenuTriggerContextMenu.TriggerThe element that opens the menu on right click / long press.
ContextMenuContentContextMenu.ContentPortalled and animated panel. Accepts alignOffset, loop...
ContextMenuItemContextMenu.ItemSee above.
ContextMenuCheckboxItemContextMenu.CheckboxItemSee above.
ContextMenuRadioGroupContextMenu.RadioGroupSee above.
ContextMenuRadioItemContextMenu.RadioItemSee above.
ContextMenuLabelContextMenu.LabelMuted heading. Accepts inset.
ContextMenuSeparatorContextMenu.SeparatorHorizontal rule.
ContextMenuShortcut<span>Right-aligned muted text for a keyboard shortcut.
ContextMenuGroupContextMenu.GroupGroups related items.
ContextMenuPortalContextMenu.PortalOnly needed for custom content outside ContextMenuContent.
ContextMenuSubContextMenu.SubWraps a sub menu. Accepts open, defaultOpen, onOpenChange.
ContextMenuSubTriggerContextMenu.SubTriggerItem that opens the sub menu; appends a chevron. Accepts inset.
ContextMenuSubContentContextMenu.SubContentPanel of the sub menu.

Data attributes

AttributeElementValue
data-slotevery partcontext-menu, context-menu-item, ...
data-variantitemThe resolved variant.
data-insetitem, sub trigger, label, ...true when inset is set.
data-statecontent, sub trigger, checkboxSet by Radix (open, checked, ...).

On this page