{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "glow-button",
  "type": "registry:ui",
  "title": "Glow Button",
  "description": "Glow/border animation following the cursor.",
  "dependencies": [
    "framer-motion"
  ],
  "registryDependencies": [],
  "files": [
    {
      "path": "registry/ui/hover/glow-button.tsx",
      "type": "registry:ui",
      "target": "components/amicro/glow-button.tsx",
      "content": "import React, { useRef, useState } from 'react';\r\nimport { motion } from 'framer-motion';\r\n\r\ninterface GlowButtonProps {\r\n  children: React.ReactNode;\r\n  className?: string;\r\n  glowColor?: string;\r\n  onClick?: () => void;\r\n}\r\n\r\nexport function GlowButton({\r\n  children,\r\n  className = '',\r\n  glowColor = 'rgba(59, 130, 246, 0.15)', // Light blue default\r\n  onClick,\r\n}: GlowButtonProps) {\r\n  const containerRef = useRef<HTMLButtonElement>(null);\r\n  const [coords, setCoords] = useState({ x: 0, y: 0 });\r\n  const [opacity, setOpacity] = useState(0);\r\n\r\n  const handleMouseMove = (e: React.MouseEvent<HTMLButtonElement>) => {\r\n    if (!containerRef.current) return;\r\n    const rect = containerRef.current.getBoundingClientRect();\r\n    setCoords({\r\n      x: e.clientX - rect.left,\r\n      y: e.clientY - rect.top,\r\n    });\r\n  };\r\n\r\n  return (\r\n    <button\r\n      ref={containerRef}\r\n      onMouseMove={handleMouseMove}\r\n      onMouseEnter={() => setOpacity(1)}\r\n      onMouseLeave={() => setOpacity(0)}\r\n      onClick={onClick}\r\n      className={`relative overflow-hidden inline-flex items-center justify-center rounded-xl bg-neutral-900 border border-neutral-800 text-white font-medium text-sm h-11 px-6 shadow-md transition-colors hover:border-neutral-700 cursor-pointer ${className}`}\r\n    >\r\n      {/* Dynamic Cursor Glow Layer */}\r\n      <motion.div\r\n        className=\"pointer-events-none absolute -inset-px rounded-xl opacity-0 transition-opacity duration-300\"\r\n        style={{\r\n          opacity,\r\n          background: `radial-gradient(120px circle at ${coords.x}px ${coords.y}px, ${glowColor}, transparent 80%)`,\r\n        }}\r\n      />\r\n      \r\n      {/* Content wrapper */}\r\n      <span className=\"relative z-10\">{children}</span>\r\n    </button>\r\n  );\r\n}\r\n"
    }
  ]
}