{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "lightbulb",
  "title": "Lightbulb Theme Toggle",
  "files": [
    {
      "path": "src/Lightbulb.tsx",
      "content": "import { type ButtonHTMLAttributes, type CSSProperties } from \"react\";\n\nexport interface LightbulbProps extends Omit<\n  ButtonHTMLAttributes<HTMLButtonElement>,\n  \"children\"\n> {\n  duration?: number;\n  [key: `data-${string}`]: string | number | boolean | null | undefined;\n}\n\nexport function Lightbulb({\n  duration = 500,\n  className,\n  type = \"button\",\n  title = \"Toggle theme\",\n  \"aria-label\": ariaLabel = \"Toggle theme\",\n  ...props\n}: LightbulbProps) {\n  return (\n    <button\n      type={type}\n      title={title}\n      aria-label={ariaLabel}\n      className={className}\n      {...props}\n    >\n      <svg\n        width=\"1em\"\n        height=\"1em\"\n        viewBox=\"0 0 32 32\"\n        aria-hidden=\"true\"\n        strokeWidth={\"2\"}\n        stroke={\"currentColor\"}\n        fill={\"currentColor\"}\n        strokeLinecap={\"round\"}\n        style={\n          { \"--toggles-lightbulb--duration\": `${duration}ms` } as CSSProperties\n        }\n      >\n        <path\n          strokeWidth={1}\n          d={\n            \"M9.4 9.9c1.8-1.8 4.1-2.7 6.6-2.7 5.1 0 9.3 4.2 9.3 9.3 0 2.3-.8 4.4-2.3 6.1-.7.8-2 2.8-2.5 4.4 0 .2-.2.4-.5.4-.2 0-.4-.2-.4-.5v-.1c.5-1.8 2-3.9 2.7-4.8 1.4-1.5 2.1-3.5 2.1-5.6 0-4.7-3.7-8.5-8.4-8.5-2.3 0-4.4.9-5.9 2.5-1.6 1.6-2.5 3.7-2.5 6 0 2.1.7 4 2.1 5.6.8.9 2.2 2.9 2.7 4.9 0 .2-.1.5-.4.5h-.1c-.2 0-.4-.1-.4-.4-.5-1.7-1.8-3.7-2.5-4.5-1.5-1.7-2.3-3.9-2.3-6.1 0-2.3 1-4.7 2.7-6.5z\"\n          }\n        />\n        <path d={\"M19.8 27.5h-7.6\"} />\n        <path d={\"M19.8 29.2h-7.6\"} />\n        <path d={\"M19.8 30.9h-7.6\"} />\n        <path\n          pathLength={1}\n          fill={\"none\"}\n          d={\n            \"M14.6 27.1c0-3.4 0-6.8-.1-10.2-.2-1-1.1-1.7-2-1.7-1.2-.1-2.3 1-2.2 2.3.1 1 .9 1.9 2.1 2h7.2c1.1-.1 2-1 2.1-2 .1-1.2-1-2.3-2.2-2.3-.9 0-1.7.7-2 1.7 0 3.4 0 6.8-.1 10.2\"\n          }\n          className=\"[stroke-dasharray:1.1] transition-[stroke-dashoffset,opacity] duration-(--toggles-lightbulb--duration) [stroke-dashoffset:0] opacity-100 dark:[stroke-dashoffset:1] dark:opacity-0\"\n        />\n        <path\n          d={\"M16 5V1.3\"}\n          pathLength={1}\n          strokeWidth={1.5}\n          className=\"[stroke-dasharray:1.1] transition-[stroke-dashoffset,opacity] duration-(--toggles-lightbulb--duration) [stroke-dashoffset:0] opacity-100 dark:[stroke-dashoffset:1] dark:opacity-0\"\n        />\n        <path\n          d={\"M27.5 15.8h3.9\"}\n          pathLength={1}\n          strokeWidth={1.5}\n          className=\"[stroke-dasharray:1.1] transition-[stroke-dashoffset,opacity] duration-(--toggles-lightbulb--duration) [stroke-dashoffset:0] opacity-100 dark:[stroke-dashoffset:1] dark:opacity-0\"\n        />\n        <path\n          d={\"M23.6 7.9 26.3 5.4\"}\n          pathLength={1}\n          strokeWidth={1.5}\n          className=\"[stroke-dasharray:1.1] transition-[stroke-dashoffset,opacity] duration-(--toggles-lightbulb--duration) [stroke-dashoffset:0] opacity-100 dark:[stroke-dashoffset:1] dark:opacity-0\"\n        />\n        <path\n          d={\"M8.4 7.9 5.7 5.4\"}\n          pathLength={1}\n          strokeWidth={1.5}\n          className=\"[stroke-dasharray:1.1] transition-[stroke-dashoffset,opacity] duration-(--toggles-lightbulb--duration) [stroke-dashoffset:0] opacity-100 dark:[stroke-dashoffset:1] dark:opacity-0\"\n        />\n        <path\n          d={\"M4.5 15.8H.6\"}\n          pathLength={1}\n          strokeWidth={1.5}\n          className=\"[stroke-dasharray:1.1] transition-[stroke-dashoffset,opacity] duration-(--toggles-lightbulb--duration) [stroke-dashoffset:0] opacity-100 dark:[stroke-dashoffset:1] dark:opacity-0\"\n        />\n      </svg>\n    </button>\n  );\n}\n",
      "type": "registry:component",
      "target": "components/lightbulb-theme-toggle.tsx"
    }
  ],
  "type": "registry:block"
}