registry:component
Context Menu
v1.0.0ga
Right-click action menu primitive with nested and selectable items.
Registry Endpoint
Open JSONhttps://registry.aavya.com/r/ui-context-menu.json
npx shadcn@latest add https://registry.aavya.com/r/ui-context-menu.json
Live Preview
Right-click here
Usage Snippet
import ContextMenu from '@/components/ui/context-menu.tsx'
export default function Example() {
return (
<div className="p-6">
<ContextMenu />
</div>
)
}
Source Preview
'use client'
import * as React from 'react'
import * as ContextMenuPrimitive from '@radix-ui/react-context-menu'
import { CheckIcon, ChevronRightIcon, CircleIcon } from 'lucide-react'
import { cn } from '@/lib/utils'
function ContextMenu({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Root>) {
return <ContextMenuPrimitive.Root data-slot='context-menu' {...props} />
}
function ContextMenuTrigger({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Trigger>) {
return <ContextMenuPrimitive.Trigger data-slot='context-menu-trigger' {...props} />
}
function ContextMenuGroup({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Group>) {
return <ContextMenuPrimitive.Group data-slot='context-menu-group' {...props} />
}
function ContextMenuPortal({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Portal>) {
return <ContextMenuPrimitive.Portal data-slot='context-menu-portal' {...props} />
}
function ContextMenuSub({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Sub>) {
return <ContextMenuPrimitive.Sub data-slot='context-menu-sub' {...props} />
}
function ContextMenuRadioGroup({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.RadioGroup>) {
return <ContextMenuPrimitive.RadioGroup data-slot='context-menu-radio-group' {...props} />
}
function ContextMenuSubTrigger({
className,
inset,
childr