{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "extends": "none",
  "name": "button-loader-example",
  "title": "Button Loader",
  "description": "button-loader-example",
  "dependencies": [
    "@heroicons/react"
  ],
  "registryDependencies": [
    "https://intentui.com/r/button",
    "https://intentui.com/r/loader"
  ],
  "files": [
    {
      "path": "src/components/examples/buttons/button/button-loader-example.tsx",
      "content": "'use client'\n\nimport { CheckCircleIcon, KeyIcon } from '@heroicons/react/20/solid'\nimport { useState } from 'react'\nimport { Button } from '@/components/ui/button'\nimport { Loader } from '@/components/ui/loader'\n\nexport default function ButtonLoaderDemo() {\n  const [loading, setLoading] = useState<'idle' | 'loading' | 'success'>('idle')\n\n  const pressHandler = () => {\n    setLoading('loading')\n\n    setTimeout(() => setLoading('success'), 3000)\n\n    setTimeout(() => setLoading('idle'), 6000)\n  }\n\n  return (\n    <Button\n      isPending={loading === 'loading'}\n      className=\"w-52 justify-between\"\n      onPress={pressHandler}\n      intent=\"primary\"\n    >\n      {loading === 'success' ? (\n        <CheckCircleIcon />\n      ) : loading === 'loading' ? (\n        <Loader variant=\"spin\" />\n      ) : (\n        <KeyIcon />\n      )}\n      {loading === 'loading'\n        ? 'Generating key...'\n        : loading === 'success'\n          ? 'Key generated!'\n          : 'Generate API key'}\n    </Button>\n  )\n}\n",
      "type": "registry:page",
      "target": "app/button-loader-example/page.tsx"
    }
  ],
  "type": "registry:page"
}