CopyButton

Copia un valor al portapapeles y confirma en el sitio, sin un toast aparte.

Usar

import { CopyButton } from "@unozero-ai/ui/react";

<CopyButton></CopyButton>

Configurador

Cambia las propiedades y pulsa el botón: el icono se funde en el check, que dura dos segundos y vuelve solo. Fuera de HTTPS (una intranet, el móvil contra el servidor de desarrollo) copia con el método clásico.

<CopyButton value="RES-48213" label="Copiar" copiedLabel="Copiado" />

Solo icono

La variante por defecto, junto al valor que copia. label es su nombre accesible: dale uno concreto («Copiar localizador») para que, con varios en la misma vista, el lector de pantalla los distinga.

LocalizadorRES-48213

Con etiqueta

variant="button" cuando copiar es la tarea de esa fila: un enlace de pago que el recepcionista va a pegar en WhatsApp. copiedLabel dice qué se copió, no solo que se copió.

https://reservas.hotelcasamar.co/pago/RES-48213

En un campo de solo lectura

Para identificadores y claves que el usuario lleva a otra herramienta. Va en el slot end de un Input con readonly: el valor se puede seleccionar a mano y también copiar de un clic. La letra mono llega al campo interno por su parte CSS, ::part(input).

Caso real: detalle de la reserva

Un botón por dato que se pega en otro sitio: el PMS, un correo, el chat. No lo pongas en datos que nadie copia. Y si el resultado tiene que verse fuera del botón, usa un toast: la confirmación de CopyButton es local y se va en dos segundos.

Localizador
RES-48213
Huésped
Laura Gómez Restrepo
Correo
laura.gomez@correo.com
Teléfono
+57 310 482 9175
Código de check-in
7Q4-K2M

API

Generada del custom-elements.json que publica @unozero-ai/ui. Las partes se estilan desde tu CSS con el nombre del elemento: uz-button::part(base).

CopyButton · <uz-copy-button>

PropTipoDefectoDescripción
valuestring""—
variant"icon" | "button""icon"—
labelstring""Por defecto, el texto global copy (ver setLabels).
copiedLabelstring""—
Parte CSSDescripción
uz-copy-button::part(base)El <button> interno.