Todos los componentes (204)
Estado del pedido
Comercio · OrderStatus
Qué es y cuándo usarlo
Por dónde va un envío: los hitos en orden con su fecha, el de ahora marcado y lo que falta a la espera. Arriba, una frase que se lee de un vistazo, el número de seguimiento con su botón de copiar y el enlace a la web del transportista.
Cuándo usarlo
- En «Mis pedidos» y en la página de seguimiento de un pedido.
- El estado de cada hito (
milestones) sale solo de las fechas: el último condatees el de ahora, lo de antes está hecho y lo que no tiene fecha, pendiente.detaildice dónde pasó o quién lo hizo. faileden un hito que no salió bien (entrega fallida, devuelto a origen): corta la cadena y la frase de arriba deja de dar fecha para avisar de que hay que hacer algo.deliveryañade la fecha prevista a la frase de arriba mientras falta algo: con el último hito ya cumplido (entregado), la frase no da fecha.trackingabre la línea del envío;carrierylinksolo salen con él.
Cuándo no
- Las fases de un proceso que avanza, sin fechas ni transportista (un alta, un asistente):
Steps. - Un registro de lo que ya ha pasado, sin nada pendiente:
History.
Teclado: solo se enfocan el botón de copiar el número de seguimiento y el enlace al transportista, en ese orden; lo demás se lee.
Accesibilidad: es una región con nombre (label, obligatorio) y los hitos son una lista ordenada: se sabe cuántos pasos hay y por cuál va. El de ahora lleva aria-current="step", y el estado de cada hito va escrito para el lector de pantalla («hecho», «es el paso de ahora», «pendiente», «no salió bien»), no solo en el color del punto. El enlace avisa de que se abre en otra pestaña, y al copiar el número se dice «Copiado».
Contexto: va dentro de LocaleProvider (o de AmsetProvider), que decide cómo se escriben las fechas.
Aspecto fino: variables CSS --amset-order-state-*: -brand, -brand-icon, -detail, -gap, -hito-gap, -line, -title. El tamaño mueve el circulo del hito, su icono, la linea que los une y los cuerpos de letra.
Cómo se ve
En camino. Entrega prevista: 16 oct
Correos Express: AM123456789ESVer en la web del transportista (se abre en otra pestaña)
- Pago confirmado (hecho)12 oct, 09:12
- Preparando el pedido (hecho)Almacén de Getafe12 oct, 17:40
- En camino (es el paso de ahora)Centro logístico de Coslada13 oct, 08:05
- En reparto (pendiente)
- Entregado (pendiente)
<OrderStatus
label="Seguimiento del pedido 1042"
milestones={[
{ key: 'pagado', title: 'Pago confirmado', date: '2026-10-12T09:12' },
{ key: 'enviado', title: 'En camino', date: '2026-10-13T08:05', detail: 'Centro logistico de Coslada' },
{ key: 'entregado', title: 'Entregado' },
]}
delivery="2026-10-16"
tracking="AM123456789ES"
carrier="Correos Express"
/>Props
Se importa con import { OrderStatus } from '@amset/ui'. Las obligatorias van marcadas.
| Prop | Tipo | Para qué sirve |
|---|---|---|
labelobligatoria | string | Que pedido es. Obligatoria: nombra la region entera. |
milestonesobligatoria | readonly OrderMilestone[] | — |
carrier | string | Quien lo lleva: sale delante del numero. Solo con `tracking`. |
className | string | Se une a las clases de la biblioteca, no las sustituye. |
delivery | string | Fecha prevista de entrega, `AAAA-MM-DD`. Sale en el resumen mientras el pedido no ha llegado al ultimo hito; entregado, ya no. |
link | string | Enlace al seguimiento en la web del transportista. Solo con `tracking`. |
size | "sm" | "md" | "lg" | — |
tracking | string | Numero de seguimiento, que se puede copiar. Es lo que abre la linea del envio: sin el no se pintan ni `carrier` ni `link`. |
Acepta además los atributos del elemento que pinta: className, style, data-*, aria-* y sus eventos.
En el banco de pruebas
Cada estado y cada variante, para tocarlos de uno en uno, en su ficha de ui.amset.tech:
