{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "p-toast-7",
  "description": "Anchored tooltip-style toast after copy",
  "registryDependencies": [
    "@coss/button",
    "@coss/toast",
    "@coss/tooltip",
    "@coss/use-copy-to-clipboard"
  ],
  "files": [
    {
      "path": "registry/default/particles/p-toast-7.tsx",
      "content": "\"use client\";\n\nimport { CheckIcon, CopyIcon } from \"lucide-react\";\nimport { useRef } from \"react\";\nimport { useCopyToClipboard } from \"@/registry/default/hooks/use-copy-to-clipboard\";\nimport { Button } from \"@/registry/default/ui/button\";\nimport { anchoredToastManager } from \"@/registry/default/ui/toast\";\nimport {\n  Tooltip,\n  TooltipPopup,\n  TooltipTrigger,\n} from \"@/registry/default/ui/tooltip\";\n\nexport default function Particle() {\n  const copyButtonRef = useRef<HTMLButtonElement>(null);\n  const toastTimeout = 2000;\n\n  const { copyToClipboard, isCopied } = useCopyToClipboard({\n    onCopy: () => {\n      if (copyButtonRef.current) {\n        anchoredToastManager.add({\n          data: {\n            tooltipStyle: true,\n          },\n          positionerProps: {\n            anchor: copyButtonRef.current,\n          },\n          timeout: toastTimeout,\n          title: \"Copied!\",\n        });\n      }\n    },\n    timeout: toastTimeout,\n  });\n\n  function handleCopy() {\n    const url = \"https://coss.com\";\n    copyToClipboard(url);\n  }\n\n  return (\n    <Tooltip>\n      <TooltipTrigger\n        render={\n          <Button\n            aria-label=\"Copy link\"\n            disabled={isCopied}\n            onClick={handleCopy}\n            ref={copyButtonRef}\n            size=\"icon\"\n            variant=\"outline\"\n          />\n        }\n      >\n        {isCopied ? (\n          <CheckIcon className=\"size-4\" />\n        ) : (\n          <CopyIcon className=\"size-4\" />\n        )}\n      </TooltipTrigger>\n      <TooltipPopup>\n        <p>Copy to clipboard</p>\n      </TooltipPopup>\n    </Tooltip>\n  );\n}\n",
      "type": "registry:block"
    }
  ],
  "categories": [
    "toast"
  ],
  "type": "registry:block"
}