Estado y avisos@unozero-ai/ui

Spinner

Carga corta de un control o de un bloque pequeño.

Usar

import {
  Spinner,
  TypingDots,
} from "@unozero-ai/ui/react";

<Spinner></Spinner>

Tamaños

De 16 a 48 px. sm va junto a texto, md y lg llenan un bloque, xl se reserva a una vista entera que espera. Toma el color primario. Es role="status" y el lector de pantalla oye «Cargando», el texto del kit que se cambia con setLabels. Un botón que procesa no necesita Spinner: usa la prop loading de Button.

En una fila

Para una comprobación corta sobre un elemento concreto de la lista, en el slot trailing de la fila. El texto de la fila dice qué está pasando; el Spinner solo indica que sigue en marcha.

Al díaPendiente

En un bloque

Cuando un bloque pequeño tarda menos de un segundo o dos. Si la espera es más larga y sabes qué forma va a tener el contenido, pinta un Skeleton: la página no salta al llegar. Si sabes cuánto falta, una barra de progreso.

Escribiendo

TypingDots son los tres puntos del chat mientras alguien redacta. Ahora toman el color del texto que los rodea, así que se ven en la burbuja neutra del asistente y también en la del huésped, de color primario. Su nombre accesible es «Escribiendo»; cámbialo con label cuando importe quién escribe. Con prefers-reduced-motion no rebotan: se encienden por turnos.

Hola, ¿tienen parqueadero para una camioneta?
Sí, el parqueadero es cubierto y no tiene costo para huéspedes.

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).

Spinner · <uz-spinner>

PropTipoDefectoDescripción
size"sm" | "md" | "lg" | "xl""md"Diámetro: sm 16 px, md 24 px, lg 32 px, xl 48 px.

TypingDots · <uz-typing-dots>

PropTipoDefectoDescripción
labelstring""Nombre accesible. Por defecto «Escribiendo».