useCopyToClipboard

Hook para copiar texto para a área de transferência com feedback visual.

Visão Geral

O useCopyToClipboard é um hook que permite copiar texto para a área de transferência do navegador, fornecendo feedback visual através do estado isCopied.


Exemplo de Uso

import { useCopyToClipboard } from "@convertcompany/ui/hooks";
import { Button } from "@convertcompany/ui";

export default function Example() {
  const { isCopied, handleCopy } = useCopyToClipboard({ text: "Texto para copiar" });

  return <Button onClick={handleCopy}>{isCopied ? "Copiado!" : "Copiar"}</Button>;
}

Retorno

PropriedadeTipo
isCopiedIndica se o texto foi copiado recentemente.
boolean
handleCopyFunção que executa a cópia do texto para a área de transferência.
() => void

Parâmetros

PropriedadeTipo
textTexto a ser copiado para a área de transferência.
string

Comportamento

  • O estado isCopied fica como true por 2 segundos após a cópia bem-sucedida.
  • Caso a cópia falhe, um erro será logado no console.

Considerações

  • Requer que o navegador permita o uso da API navigator.clipboard.
  • Ideal para uso em botões ou ações rápidas de cópia.