{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "comp-105",
  "type": "registry:component",
  "registryDependencies": [
    "https://coss.com/origin/r/button.json",
    "https://coss.com/origin/r/tooltip.json"
  ],
  "files": [
    {
      "path": "registry/default/components/comp-105.tsx",
      "content": "\"use client\";\n\nimport { CheckIcon, CopyIcon } from \"lucide-react\";\nimport { useState } from \"react\";\n\nimport { cn } from \"@/registry/default/lib/utils\";\nimport { Button } from \"@/registry/default/ui/button\";\nimport {\n  Tooltip,\n  TooltipContent,\n  TooltipProvider,\n  TooltipTrigger,\n} from \"@/registry/default/ui/tooltip\";\n\nexport default function Component() {\n  const [copied, setCopied] = useState<boolean>(false);\n\n  const handleCopy = async () => {\n    try {\n      // await navigator.clipboard.writeText(\"string to copy\");\n      setCopied(true);\n      setTimeout(() => setCopied(false), 1500);\n    } catch (err) {\n      console.error(\"Failed to copy text: \", err);\n    }\n  };\n\n  return (\n    <TooltipProvider delayDuration={0}>\n      <Tooltip>\n        <TooltipTrigger asChild>\n          <Button\n            aria-label={copied ? \"Copied\" : \"Copy to clipboard\"}\n            className=\"disabled:opacity-100\"\n            disabled={copied}\n            onClick={handleCopy}\n            size=\"icon\"\n            variant=\"outline\"\n          >\n            <div\n              className={cn(\n                \"transition-all\",\n                copied ? \"scale-100 opacity-100\" : \"scale-0 opacity-0\",\n              )}\n            >\n              <CheckIcon\n                aria-hidden=\"true\"\n                className=\"stroke-emerald-500\"\n                size={16}\n              />\n            </div>\n            <div\n              className={cn(\n                \"absolute transition-all\",\n                copied ? \"scale-0 opacity-0\" : \"scale-100 opacity-100\",\n              )}\n            >\n              <CopyIcon aria-hidden=\"true\" size={16} />\n            </div>\n          </Button>\n        </TooltipTrigger>\n        <TooltipContent className=\"px-2 py-1 text-xs\">\n          Click to copy\n        </TooltipContent>\n      </Tooltip>\n    </TooltipProvider>\n  );\n}\n",
      "type": "registry:component"
    }
  ],
  "meta": {
    "style": 2,
    "tags": [
      "button",
      "copy"
    ]
  }
}