Saltar al contenido
EspañolEnglish
Todos los componentes (204)

Historial

Datos · History · .amset-history

Qué es y cuándo usarlo

Lo que le ha ido pasando a algo (un pedido, una factura, un ticket): cada entrada con qué pasó, cuándo, quién lo hizo y el detalle, unidas por una línea.

Cuándo usarlo

  • Como registro de actividad en la ficha de un pedido, una factura o un cliente.
  • tone en una entrada para lo que importa, con el vocabulario común (neutral, accent, info, success, warning, error): un pago en success, un recordatorio en info, un rechazo en error; icon para distinguirlas de un vistazo.
  • sort="oldest-first" cuando se lee como una historia de principio a fin. Solo da la vuelta a lo que recibe: no ordena por fecha.
  • Una date como Date se escribe con dateFormat en el idioma del LocaleProvider (o en locale, si se pasa); como texto («hace 2 h») sale tal cual.
  • En un panel lateral, dentro de un contenedor con data-density="compact": la densidad es global, no una prop.

Cuándo no

  • Para las fases de un proceso que va hacia delante: Steps (o OrderStatus para el seguimiento de un envío).
  • Para un hilo de mensajes entre personas: Conversation.

Teclado: no tiene; se recorre lo que vaya dentro del detalle.

Accesibilidad: es una lista ordenada (ol) con nombre (label) y cada fecha dada como Date va en un time con su datetime: se lee, se copia y se entiende sin ver la línea que las une. Los iconos y los puntos son decorativos. Sin entradas dice que no ha pasado nada («Todavía no ha pasado nada», o lo que diga empty) en vez de dejar una lista vacía.

Aspecto fino: variables CSS --amset-history-*: -author, -brand, -date, -detail, -detail-padding, -dot, -gap, -icon, -line, -slot, -title. El tamaño (size) mueve el círculo, su icono, el hueco y los cuerpos de letra. El hueco entre entradas lo manda la densidad, no el tamaño.

Cómo se ve

  1. Pedido recibido1 de octubre
  2. Pago confirmado1 de octubre
  3. Entregado3 de octubre

<History
  label="Historial del pedido"
  entries={[
    { key: '1', title: 'Pedido recibido', date: '1 de octubre' },
    { key: '3', title: 'Entregado', date: '3 de octubre' },
  ]}
/>

Props

Se importa con import { History } from '@amset/ui'. Las obligatorias van marcadas.

PropTipoPara qué sirve
entriesobligatoriareadonly HistoryEntry[]—
labelobligatoriastringDe que es este historial: "Actividad de la factura". Obligatorio.
classNamestringSe une a las clases de la biblioteca, no las sustituye.
dateFormatIntl.DateTimeFormatOptionsComo se escribe cada fecha. Por defecto, fecha y hora cortas.
emptyReactNode—
localestringSustituye al idioma del proveedor en las fechas. Sin el, manda el proveedor.
size"sm" | "md" | "lg"—
sort"newest-first" | "oldest-first"Lo mas nuevo arriba (por defecto) o abajo. Solo ordena lo que se le da.

Acepta además los atributos del elemento que pinta: className, style, data-*, aria-* y sus eventos.

Mandos

Estas variables CSS son la forma de adaptarlo. Se declaran sobre el selector del componente, no en :root: la hoja las redeclara en la propia regla y una declaración en el mismo elemento gana siempre.

VariablePor defecto
--amset-history-brand1.5rem
--amset-history-line2px
--amset-history-icon0.875rem
--amset-history-dot0.5rem
--amset-history-gapvar(--amset-space-3)
--amset-history-titlevar(--amset-text-base)
--amset-history-datevar(--amset-text-xs)
--amset-history-authorvar(--amset-text-sm)
--amset-history-detailvar(--amset-text-sm)
--amset-history-detail-paddingvar(--amset-space-2) var(--amset-space-3)

Cómo se cambia

.amset-history {
  --amset-history-brand: ...;
  --amset-history-line: ...;
}

En el banco de pruebas

Cada estado y cada variante, para tocarlos de uno en uno, en su ficha de ui.amset.tech: