Estado y avisos@unozero-ai/ui

StatusPanel

Pantalla de resultado de un proceso: en curso, hecho, aviso o error.

Usar

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

<StatusPanel></StatusPanel>

Cuándo usarlo

En un producto, StatusPanel es la página entera a la que se llega de rebote cuando termina un proceso que el usuario no controla: la vuelta de un pago con Stripe o Wompi, la de una autorización con Google o Meta. Ocupa toda la pantalla (min-height: 100dvh, fondo y 16 px de aire en el propio elemento) con una tarjeta centrada, y su título es el encabezado de nivel 1. Muchos huéspedes solo verán esta pantalla del producto, por eso todas cuentan el resultado igual. En las demos de abajo va con className="min-h-0 bg-transparent p-0" y level={3} para que quepa en el recuadro y no rompa el esquema de esta página; en tu página, quita las dos cosas. Para una lista sin datos usa EmptyState.

Hecho

tone="success". El título va en heading (en el kit React era title) y dice el resultado, message lo concreta con el importe o la reserva y footnote cuenta qué pasa después. Los botones van en el slot actions, no en una prop. Una sola acción rellena: la que el usuario quiere hacer ahora (la Regla de una Sola Decisión).

Ver mi reserva

En curso

tone="pending", el tono por defecto, no es un final: muestra un Spinner y oculta las acciones aunque las pases, para que nadie salga a mitad de un canje de código. Esta demo pone un botón en actions y no se ve.

Volver al panel

Error

Di qué falló y qué no pasó («no se hizo ningún cargo»). Si el mensaje lleva marcado, como el importe en negrita, va como contenido en vez de message. La salida principal es reintentar; la alternativa va en outline. El icono cambia de forma con cada tono, así que el estado se lee sin depender del color (la Regla del Tenant).

El banco rechazó el pago de 1.240.000 COP. No se hizo ningún cargo.Intentar de nuevoPagar con otro medio

Aviso

Para un final que no es un error del usuario ni del sistema: un enlace caducado, un permiso a medias.

Pedir un enlace nuevo

Del proceso al resultado

Es el mismo elemento de principio a fin: cambia tone, heading y message cuando llegue la respuesta. El icono nuevo entra con un fundido y el título es una región viva, así que el lector de pantalla anuncia el cambio sin que el usuario haga nada. Las acciones aparecen solas al dejar pending.

Ir a conversacionesRepetir la conexión

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

StatusPanel · <uz-status-panel>

PropTipoDefectoDescripción
tone"pending" | "success" | "error" | "warning""pending"Desenlace: pending (spinner, sin acciones), success, error o warning.
headingstring""El title del kit React.
messagestring""Lo que concreta el resultado: el importe, la reserva (alternativa con marcado: el slot por defecto).
footnotestring""Nota al pie: qué pasa después o a quién escribir.
levelnumber1Nivel del título para el esquema de la página (aria-level).
SlotDescripción
(por defecto)Mensaje con marcado (alternativa a message), p. ej. con un enlace.
actionsLos botones; ocultos mientras tone="pending".
footnoteNota al pie con marcado (alternativa a footnote).
Parte CSSDescripción
uz-status-panel::part(card)La tarjeta.