Animated Context Menu

Composable context-menu primitives with a pointer-origin clip morph, a gliding active row, checkbox and radio choices, keyboard navigation, typeahead, and long-press support.

Preview

Install

Add it with the shadcn CLI, or copy the source manually.

$ bunx --bun shadcn add @beui/context-menu

API Reference

ContextMenu

open?
boolean
defaultOpen?
boolean
false
onOpenChange?
((open: boolean) => void)
className?
string

ContextMenuTrigger

disabled?
boolean
false
className?
string

ContextMenuContent

className?
string
ariaLabel?
string
Context menu

ContextMenuItem

onSelect?
(() => void)
disabled?
boolean
closeOnSelect?
boolean
tone?
"default" | "destructive"
inset?
boolean
className?
string
textValue?
string

ContextMenuCheckboxItem

checked
boolean
onCheckedChange?
((checked: boolean) => void)

ContextMenuRadioGroup

value
string
onValueChange?
((value: string) => void)
className?
string

ContextMenuRadioItem

value
string

ContextMenuLabel

inset?
boolean
false
className?
string

ContextMenuSeparator

className?
string

ContextMenuShortcut

className?
string

Keep in mind

Some components on this site are inspired by or recreated from existing work across the web. I'm not here to take credit; just to learn, experiment, and sometimes push things a bit further. If something looks familiar and I forgot to mention you, reach out and I'll fix that right away.

Updated