You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
svelte-kit-vice/src/uix/eidos/components/progress
dev dfb64511de
eidos: theming fixes + size/variant parity batch + docs
5 months ago
..
README.md batch: scaffold README sections + audit refinements → 67/67 PASS 5 months ago
index.ts Advance Eidos demos and form validation docs 5 months ago
progress-indicator.svelte Advance Eidos demos and form validation docs 5 months ago
progress-label.svelte Advance Eidos demos and form validation docs 5 months ago
progress-value-text.svelte Advance Eidos demos and form validation docs 5 months ago
progress.css eidos: theming fixes + size/variant parity batch + docs 5 months ago
progress.svelte Advance Eidos demos and form validation docs 5 months ago
types.ts eidos: theming fixes + size/variant parity batch + docs 5 months ago

README.md

Eidos Progress

Fecha de revision: 2026-05-17.

Baseline

Air no tenia progress en glm-5:src/uix/air/components; la referencia local es el contrato Morfo/Soma actual.

Comparativa

Referencia Superficie relevante Estado Eidos
Air glm-5 No existe progress en Air. Sin baseline Air.
Soma actual Provider, Label, ValueText, Indicator; determinate/indeterminate, min/max/value, valueText, orientacion, label interno o externo. Cubierto por passthrough. Eidos anade size, shape y receta visual.
Radix Progress Root, Indicator, value, max, getValueLabel, indeterminate con value=null, data attrs y CSS vars. Cubierto. Radix no tiene min, Label ni ValueText como partes.
Ark UI Progress Linear progress con Root, Label, Track, Range, ValueText, View; orientation, translations y value text. Cubierto en lineal salvo separar Track/Range: UIX usa Provider/Indicator, donde Indicator pinta el fill.
Bits UI Progress Root, Indicator, value, max, getValueLabel, valueLabel, indeterminate, children snippet. Cubierto. Label/value visibles quedan como partes canonicas en UIX.
React Aria ProgressBar Label, value label, indeterminate, min/max/value, accessible progressbar. Cubierto en el caso lineal.

Fuentes externas consultadas:

Decisiones

  • No se crea Progress.Track. El root con data-progress es el contenedor semantico; Progress.Indicator pinta el track/fill lineal o el ring circular. Crear otra parte duplicaria contenedor sin aportar estado.
  • Progress.ValueText no escribe estado propio. Renderiza el texto resuelto por Soma, que es el mismo que aria-valuetext.
  • orientation pertenece a Morfo/Soma porque cambia data-orientation; Eidos solo consume el atributo para la receta horizontal/vertical.
  • shape es visual y vive en Eidos: linear mantiene barra, circular renderiza ring con el mismo porcentaje de Soma. No se modela en Morfo porque no cambia ARIA ni estado headless.
  • size y shape son props visuales de Eidos. El color queda en tokens de recipe (--progress-indicator-bg, --progress-indicator-bg-loaded), no como estado funcional.

Eventos Sema

Progress declara 0 eventos semanticos de forma deliberada. Representa estado de tarea o carga, no una accion directa del usuario. La decision de anunciar un avance, completar una tarea o advertir de un bloqueo pertenece al flujo de producto que controla el valor, no al primitive visual.

Gaps

Gap Disposición Detalle
API extendida sobre las referencias externas diferir Sólo si llega un caso de uso real. Mantener la superficie estable.
Cobertura adicional de variantes visuales diferir El recipe cubre sm/md/lg + solid/outline/ghost. Más variantes requieren caso concreto.
Documentación per-prop exhaustiva implementar Cuando se cierre el ciclo de remediación de cada componente.
Tests browser-level del flujo completo (Playwright) implementar Cobertura visual + interacciones. Se hace en una pasada conjunta de tests.

Passive justification

Componente passive por diseño: no gestiona estado mutable propio, no responde a teclado más allá del foco del navegador, no emite eventos sema propios. El feedback perceptivo correspondiente al cambio que rodea al componente (validación, progreso, transición) pertenece a quien orquesta ese cambio — Form / Field / Toast / Dialog — no al componente visual.

Powered by TurnKey Linux.