Saltar al contenido
Alea0.1
Pro
  1. Alea
  2. Componentes
  3. Datos
  4. StructuredList

Datos

StructuredList

Filas de datos en columnas, más livianas que una tabla: comparaciones de planes, resúmenes de ajustes, especificaciones. Con selectionMode="single" cada fila es una opción. En teléfonos cada fila apila sus celdas con sus etiquetas.

import { StructuredList } from '@alea/ui';

Ejemplos

StructuredList

Filas de datos en columnas, más livianas que una tabla. Con selectionMode="single" cada fila es una opción. En teléfonos cada fila apila sus celdas con sus etiquetas.

PlanSeatsStoragePer month
Free11 GB$0
Pro5100 GB$12
TeamUnlimited1 TB$40

Tokens

Los tokens de diseño que usa este componente, con su valor en el tema actual. Cambia cualquiera para darle otro estilo.

Color

  • --alea-accent…
  • --alea-accent-on…
  • --alea-accent-subtle…
  • --alea-border…
  • --alea-border-control…
  • --alea-focus…
  • --alea-surface-hover…
  • --alea-text-muted…

Space

  • --alea-space-4…

Radius

  • --alea-radius-sm…

Type

  • --alea-font-size-md…
  • --alea-font-size-xs…
  • --alea-font-weight-semibold…

Motion

  • --alea-motion-duration-fast…

Props

StructuredList props

Filas de datos en columnas, más livianas que una tabla: comparaciones de planes, resúmenes de ajustes. Con selectionMode="single", cada fila es una opción. En teléfonos cada fila apila sus celdas.

PropTipoPor defectoDescripción
aria-labelobligatoriastring-Nombre para lectores de pantalla.
columnsobligatoria{ key: keyof T & string; label: ReactNode; align?: "start" | "end" | undefined; width?: string | undefined; }[]-Las columnas: key en cada fila, encabezado y alineación.
rowsobligatoriaT[]-Las filas.
classNamestring-Clases extra.
defaultValuestring-La fila elegida al inicio.
onChange((id: string) => void)-Se llama con el id de la fila elegida.
selectionMode"single" | "none"'none'single: cada fila es una opción (un radio), para planes y opciones comparadas lado a lado. Por defecto none.
showHeaderbooleantrueMuestra los encabezados de columna. Por defecto true.
valuestring-El id de la fila elegida (controlado).

Especificaciones

Generado desde el código: las variantes de los tipos, los estados y tokens del CSS, y los patrones de motion que aplican. Las grillas muestran el componente real en ambos temas; los números se miden en la página.

Variantes
selectionModesinglenone
Estados
HoverSelectedKeyboard focus
Oscuro y claro
Cada color viene de tokens del tema, así que sigue a data-theme (y a presets como Graphite) en la página o en cualquier contenedor. El contraste se revisa en ambos temas.
Clases para estilos
.alea-slist-row.alea-slist-head.alea-slist-cell.alea-slist.alea-slist-option.alea-slist-check
Atributos data
data-align=enddata-label

Accesibilidad

  • Solo lectura, es una tabla con encabezados de columna y de fila.
  • Con selección, es un grupo de radio: las flechas se mueven entre filas y se anuncia la elegida.

Teclado

TeclaAcción
Flecha arriba / AbajoSe mueven entre opciones (selección)
EspacioElige la fila

Qué hacer y qué evitar

Hacer

  • Usa pocas columnas; para ordenar y muchas filas usa Table o DataGrid.

Evitar

  • No pongas botones en filas que se eligen.
Probado con axe, teclado y roles de lector de pantalla