Saltar al contenido
Alea0.1
Pro
  1. Alea
  2. Componentes
  3. Avisos
  4. Progress y Meter

Avisos

Progress y Meter

Cuánto avanza una tarea, y cuánto de algo se usa.

import { ProgressBar, ProgressCircle, Meter, ProgressSegments } from '@alea/ui';

Ejemplos

Barra de progreso

Determinada con un valor, indeterminada sin él.

Exporting variables10 %

Meter

Una cantidad dentro de un rango. tone="auto" cambia a advertencia y peligro al llenarse.

Free uses left7 of 10
Storage78 %
Quota96 %

Segmentos

Una barra dividida en partes: un meter que nombra cada parte.

Storage77 GB of 100 GB

Tonos, tamaños, franjas y el valor al final

tone colorea el relleno; striped muestra trabajo en curso; valuePosition="end" pone el valor después de la barra; description agrega una línea debajo. ProgressCircle acepta tonos, thickness, xl y tu propio centro.

Uploading 3 of 12 files35 %
About 2 minutes left
82 %
97 %
100 %
60 %
2 / 5

Configuraciones

Cada valor de cada propiedad, lado a lado. Los números coinciden con la leyenda.

showValue: false
showValue: true
sm
md
lg
striped: false
striped: true
accent
success
warning
danger
info
end
top
  1. Show ValueshowValue
  2. Sizesize
  3. Stripedstriped
  4. Tonetone
  5. Value PositionvaluePosition

Estados

Cada estado de interacción, forzado para compararlos, en ambos temas.

Oscuro

Habilitado
Indeterminate

Claro

Habilitado
Indeterminate

Anatomía

Las partes del componente y la clase que da estilo a cada una.

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-border…
  • --alea-gradient-accent-linear…
  • --alea-status-danger…
  • --alea-status-info…
  • --alea-status-success…
  • --alea-status-warning…
  • --alea-surface-raised…
  • --alea-text-muted…

Space

  • --alea-space-2…
  • --alea-space-3…

Radius

  • --alea-radius-full…

Type

  • --alea-font-family-body…
  • --alea-font-size-sm…
  • --alea-font-weight-medium…

Motion

  • --alea-motion-duration-slow…
  • --alea-motion-ease-in-out…
  • --alea-motion-ease-out…

Component

  • --alea-progress-tone…

Props

ProgressBar props

Cuánto avanzó una tarea: tonos, tres tamaños, franjas, el valor arriba o al final, y una descripción. Sin value es indeterminada.

PropTipoPor defectoDescripción
descriptionReactNode-Una línea bajo la barra: "3 de 12 archivos", "Faltan unos 2 minutos".
labelReactNode-La etiqueta visible.
showValueboolean-Muestra el porcentaje (o valueLabel). Por defecto true con una etiqueta o con valuePosition="end".
size"sm" | "md" | "lg"'md'Altura del riel: sm 4 px, md 8 px (por defecto) o lg 12 px.
stripedboolean-Franjas en movimiento sobre el relleno, para trabajo en curso.
tone"danger" | "accent" | "success" | "warning" | "info"-El color del relleno: accent (por defecto, el degradado), success, warning, danger o info.
valuePosition"end" | "top"'top'Dónde se muestra el valor: top (junto a la etiqueta, por defecto) o end (después de la barra).

ProgressCircle props

Progreso circular, para lugares compactos: cuatro tamaños, tonos, grosor y cualquier cosa en el centro.

PropTipoPor defectoDescripción
childrenReactNode-Tu propio contenido en el centro: un ícono, un avatar, "3/5".
showValueboolean-Muestra el porcentaje en el centro (desde md).
size"sm" | "md" | "lg" | "xl"'md'sm 24, md 40 (por defecto), lg 64, xl 96 px.
thicknessnumber5Grosor del anillo en el dibujo de 48 unidades: 3 (fino), 5 (por defecto) u 8 (grueso).
tone"danger" | "accent" | "success" | "warning" | "info"-El color del anillo: accent (por defecto), success, warning, danger o info.

Meter props

Una cantidad medida dentro de un rango conocido (almacenamiento, fuerza de contraseña, contraste). No es progreso.

PropTipoPor defectoDescripción
labelReactNode-La etiqueta visible.
showValuebooleantrueMuestra el valor junto a la etiqueta. Por defecto true.
tone"auto" | "neutral" | "accent" | "success" | "warning" | "danger" | "info"'accent'Color por nivel: auto pasa a warning sobre el 70% y a danger sobre el 90% (almacenamiento, cuota).

ProgressSegments props

Una barra dividida en partes: almacenamiento por tipo, presupuesto por equipo.

PropTipoPor defectoDescripción
labelobligatoriaReactNode-Nombre de la barra ("Almacenamiento").
segmentsobligatoria{ label: string; value: number; color?: string | undefined; }[]-Las partes: label, value y un color opcional (por defecto los colores de gráficos).
classNamestring-
showLegendbooleantrueMuestra la leyenda bajo la barra. Por defecto true.
totalnumber-El total. Por defecto la suma de los valores.
valueFormat((v: number) => string)vDa formato a cada valor en la leyenda, por ejemplo v => `${v} GB`.

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.

Size

Oscuro

ProgressBar dark
size="sm"size="md"
Upload60 %
Upload60 %

Claro

ProgressBar light
size="sm"size="md"
Upload60 %
Upload60 %

Medido: alto · padding horizontal · radio de esquina · tamaño de texto, en px, de la grilla oscura.

ProgressBar

Variantes
sizesmmdlg
tonedangeraccentsuccesswarninginfo
valuePositionendtop
Estados
Indeterminate
Motion
draw
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-progress.alea-progress-head.alea-progress-value.alea-progress-row.alea-progress-track.alea-progress-fill
Atributos data
data-size=smdata-tone=successdata-tone=warningdata-tone=dangerdata-tone=infodata-tone=neutraldata-tonedata-size=lgdata-striped

ProgressCircle

Variantes
sizesmmdlgxl
tonedangeraccentsuccesswarninginfo
Estados
Indeterminate
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-progress-circle.alea-progress-circle-arc.alea-progress-circle-value
Atributos data
data-size=smdata-size=lgdata-tone=successdata-tone=warningdata-tone=dangerdata-tone=infodata-size=xl

Meter

Variantes
toneautoneutralaccentsuccesswarningdangerinfo
Estados
Indeterminate
Motion
draw
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-progress.alea-meter.alea-progress-head.alea-progress-value.alea-progress-track.alea-progress-fill
Atributos data
data-size=smdata-tone=successdata-tone=warningdata-tone=dangerdata-tone=infodata-tone=neutraldata-tonedata-size=lgdata-striped

ProgressSegments

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-progress-seg.alea-progress-seg-head.alea-progress-seg-total.alea-progress-seg-bar.alea-progress-seg-part.alea-progress-seg-legend

Accesibilidad

  • Las barras de progreso y los medidores se anuncian con su valor; ponles nombre.

Qué hacer y qué evitar

Hacer

  • Usa ProgressBar para tareas y Meter para cantidades (almacenamiento, puntaje).
  • Dale una etiqueta para que los lectores de pantalla digan qué avanza.

Evitar

  • No uses una barra determinada cuando no puedes saber el avance: usa isIndeterminate.
  • No muestres una barra para cosas que terminan en menos de un segundo.
Probado con axe, teclado y roles de lector de pantalla