{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "use-copy-to-clipboard",
  "type": "registry:hook",
  "title": "Use Copy To Clipboard",
  "description": "Copy text to the clipboard with a temporary copied state.",
  "files": [
    {
      "type": "registry:hook",
      "path": "hooks/use-copy-to-clipboard.ts",
      "sourcePath": "packages/ui/src/hooks/use-copy-to-clipboard.ts",
      "content": "\"use client\";\n\nimport { useState } from \"react\";\n\nexport type UseCopyToClipboardOptions = {\n  copiedDuration?: number;\n};\n\nexport const useCopyToClipboard = ({\n  copiedDuration = 3000,\n}: UseCopyToClipboardOptions = {}) => {\n  const [isCopied, setIsCopied] = useState<boolean>(false);\n\n  const copyToClipboard = (value: string) => {\n    if (!value || typeof navigator === \"undefined\" || !navigator.clipboard) {\n      return;\n    }\n\n    navigator.clipboard.writeText(value).then(\n      () => {\n        setIsCopied(true);\n        setTimeout(() => setIsCopied(false), copiedDuration);\n      },\n      () => {},\n    );\n  };\n\n  return { isCopied, copyToClipboard };\n};\n"
    }
  ]
}