{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "context-menu", "type": "registry:ui", "title": "Context Menu", "files": [ { "path": "ui/context-menu.tsrx", "type": "registry:ui", "target": "components/ui/context-menu.tsrx", "content": "// Base UI base context-menu — runs on @octanejs/base-ui's `ContextMenu`. Class strings from the\n// maintainer-supplied radix source; every difference below was checked against rendered DOM.\n//\n// This is dropdown-menu's sibling and inherits its findings, WITH ONE IMPROVEMENT: `ContextMenu`\n// ships a real `Separator` part, which `Menu` does not, so the separator is the primitive here\n// rather than a plain host element. It emits `role=\"separator\"`, `aria-orientation` and\n// `data-orientation`.\n//\n// CARRIED OVER FROM dropdown-menu, all re-verified against this primitive:\n// - Two CSS variables are renamed. Radix publishes per-component names; Base UI's Positioner\n// publishes generic ones, and a utility naming a variable nothing sets does nothing, silently:\n// --radix-context-menu-content-available-height -> --available-height\n// --radix-context-menu-content-transform-origin -> --transform-origin\n// - The submenu trigger marks itself open with `data-popup-open`, not the `data-open` the popup\n// carries, so radix's `data-open:bg-accent` would leave an open submenu's parent row unstyled.\n// - `Label` stays a plain `