Overlay
Context Menu
Right-click (or long-press) menu wearing the dropdown-menu skin, anchored to the pointer.
Right-click (or long-press) this card
Show codeHide code
"use client";
import { useState } from "react";
import {
ContextMenu,
ContextMenuCheckboxItem,
ContextMenuContent,
ContextMenuItem,
ContextMenuSeparator,
ContextMenuTrigger,
} from "@/registry/lilt/ui/context-menu";
export default function ContextMenuDemo() {
const [pinned, setPinned] = useState(false);
return (
<ContextMenu>
<ContextMenuTrigger className="flex h-40 w-full max-w-sm items-center justify-center rounded-[var(--radius-card)] border border-dashed border-[var(--lilt-border-strong)] px-6 text-center text-sm text-[var(--lilt-text-muted)]">
Right-click (or long-press) this card
</ContextMenuTrigger>
<ContextMenuContent>
<ContextMenuItem>Rename</ContextMenuItem>
<ContextMenuItem>Duplicate</ContextMenuItem>
<ContextMenuSeparator />
<ContextMenuCheckboxItem checked={pinned} onCheckedChange={setPinned}>
Pin to top
</ContextMenuCheckboxItem>
<ContextMenuSeparator />
<ContextMenuItem variant="danger">Delete</ContextMenuItem>
</ContextMenuContent>
</ContextMenu>
);
}Installation
npx shadcn@latest add @lilt/context-menuAccessibility
- Long-press opens it on touch; arrow keys and type-ahead navigate once open.
- Context menus are a shortcut, not the only path — mirror actions somewhere clickable.