{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "context-menu",
  "title": "ContextMenu",
  "description": "Opens on right-click, long-press, or Shift+F10.",
  "dependencies": [
    "@radix-ui/react-context-menu@^2.3.8"
  ],
  "registryDependencies": [
    "https://creance.pages.dev/r/creance-base.json",
    "https://creance.pages.dev/r/menu.json"
  ],
  "files": [
    {
      "path": "context-menu/ContextMenu.tsx",
      "content": "'use client';\n\nimport * as RadixContextMenu from '@radix-ui/react-context-menu';\nimport { forwardRef, type ComponentPropsWithoutRef, type ReactNode } from 'react';\nimport { cx } from '@/lib/creance/cx';\nimport '@/components/creance/menu/Menu.css';\n\n/**\n * Radix ContextMenu: opens on right-click, long-press, or Shift+F10 and the Menu key on a focused\n * trigger. Never put an action only here; it must also be reachable another way.\n */\nexport const ContextMenu = RadixContextMenu.Root;\n/** Wraps the element that gets the menu. Use `asChild` with a focusable element. */\nexport const ContextMenuTrigger = RadixContextMenu.Trigger;\n\nexport const ContextMenuContent = forwardRef<HTMLDivElement, ComponentPropsWithoutRef<typeof RadixContextMenu.Content>>(\n  function ContextMenuContent({ className, ...props }, ref) {\n    return (\n      <RadixContextMenu.Portal>\n        <RadixContextMenu.Content ref={ref} className={cx('cr-menu cr-popover', className)} {...props} />\n      </RadixContextMenu.Portal>\n    );\n  },\n);\n\nexport interface ContextMenuItemProps extends ComponentPropsWithoutRef<typeof RadixContextMenu.Item> {\n  tone?: 'default' | 'danger';\n  shortcut?: ReactNode;\n  description?: ReactNode;\n}\n\nexport const ContextMenuItem = forwardRef<HTMLDivElement, ContextMenuItemProps>(function ContextMenuItem(\n  { tone = 'default', shortcut, description, className, children, ...props },\n  ref,\n) {\n  return (\n    <RadixContextMenu.Item ref={ref} className={cx('cr-menu__item', className)} data-tone={tone} {...props}>\n      <span className=\"cr-menu__text\">\n        {children}\n        {description && <span className=\"cr-menu__description\">{description}</span>}\n      </span>\n      {shortcut && <span className=\"cr-menu__shortcut\">{shortcut}</span>}\n    </RadixContextMenu.Item>\n  );\n});\n\nexport const ContextMenuSeparator = forwardRef<HTMLDivElement, ComponentPropsWithoutRef<typeof RadixContextMenu.Separator>>(\n  function ContextMenuSeparator({ className, ...props }, ref) {\n    return <RadixContextMenu.Separator ref={ref} className={cx('cr-menu__separator', className)} {...props} />;\n  },\n);\n\nexport const ContextMenuLabel = forwardRef<HTMLDivElement, ComponentPropsWithoutRef<typeof RadixContextMenu.Label>>(\n  function ContextMenuLabel({ className, ...props }, ref) {\n    return <RadixContextMenu.Label ref={ref} className={cx('cr-menu__label', className)} {...props} />;\n  },\n);\n",
      "type": "registry:ui",
      "target": "@components/creance/context-menu/ContextMenu.tsx"
    }
  ],
  "categories": [
    "molecule",
    "navigation"
  ],
  "type": "registry:ui"
}