{
  "$schema": "https://www.cooki-ui.design/schema/registry-item.json",
  "name": "minimal-radial-menu",
  "type": "registry:ui",
  "title": "Kinetic Radial Action Menu",
  "description": "Expanding 360-degree radial pie action launcher with spring physics angles, tooltips, and center trigger toggling.",
  "category": "navigation",
  "dependencies": [
    "framer-motion",
    "@phosphor-icons/react"
  ],
  "files": [
    {
      "path": "registry/navigation/minimal-radial-menu/minimal-radial-menu.tsx",
      "type": "registry:ui",
      "target": "components/ui/minimal-radial-menu.tsx",
      "content": "import React, { useState } from 'react';\nimport { motion, AnimatePresence } from 'framer-motion';\nimport { Plus, Terminal, Gear, Code, ShareNetwork, Cpu } from '@phosphor-icons/react';\n\nconst ACTIONS = [\n  { id: 'code', icon: <Code size={15} />, label: 'Inspect' },\n  { id: 'term', icon: <Terminal size={15} />, label: 'CLI' },\n  { id: 'gear', icon: <Gear size={15} />, label: 'Settings' },\n  { id: 'share', icon: <ShareNetwork size={15} />, label: 'Share' },\n  { id: 'ai', icon: <Cpu size={15} />, label: 'AI Gen' },\n];\n\nexport const MinimalRadialMenu: React.FC = () => {\n  const [isOpen, setIsOpen] = useState(false);\n\n  return (\n    <div className=\"relative w-56 h-56 flex items-center justify-center\">\n      {/* Radial Items */}\n      <AnimatePresence>\n        {isOpen &&\n          ACTIONS.map((a, i) => {\n            const angle = (i * (360 / ACTIONS.length)) * (Math.PI / 180);\n            const radius = 75;\n            const x = Math.round(Math.cos(angle) * radius);\n            const y = Math.round(Math.sin(angle) * radius);\n\n            return (\n              <motion.button\n                key={a.id}\n                initial={{ scale: 0, x: 0, y: 0 }}\n                animate={{ scale: 1, x, y }}\n                exit={{ scale: 0, x: 0, y: 0 }}\n                transition={{ type: 'spring', damping: 18, stiffness: 350, delay: i * 0.04 }}\n                className=\"absolute w-9 h-9 rounded-full bg-white dark:bg-zinc-800 text-zinc-900 dark:text-white shadow-lg border border-zinc-200 dark:border-white/10 flex items-center justify-center hover:scale-110 hover:bg-indigo-600 hover:text-white transition-transform cursor-pointer\"\n                title={a.label}\n              >\n                {a.icon}\n              </motion.button>\n            );\n          })}\n      </AnimatePresence>\n\n      {/* Center Trigger Button */}\n      <button\n        onClick={() => setIsOpen(!isOpen)}\n        className=\"relative z-20 w-12 h-12 rounded-full bg-zinc-900 dark:bg-white text-white dark:text-zinc-950 flex items-center justify-center shadow-xl hover:scale-105 active:scale-95 transition-all cursor-pointer\"\n      >\n        <motion.div animate={{ rotate: isOpen ? 135 : 0 }} transition={{ duration: 0.2 }}>\n          <Plus size={20} weight=\"bold\" />\n        </motion.div>\n      </button>\n    </div>\n  );\n};\n"
    }
  ]
}