Saltar al contenido principal
Version: Next (5.0)

Fundamentos

Tipografía, espaciado, densidad, forma, elevación, movimiento e iconos. Cada valor de esta página es un token: use el token, no el número. Los valores exactos de las dos densidades están en la referencia de tokens.

Tipografía​

La fuente es Inter (variable, OFL-1.1), servida por AWE, con una alternativa del sistema: --awe-font-family-base: 'Inter Variable', Inter, system-ui, .... El código y los identificadores usan --awe-font-family-monospace.

TokenCómodaCompactaUso
--awe-font-size-xs12px11pxPies, badges, cabeceras de grid en espacios estrechos
--awe-font-size-sm13px12pxEtiquetas, ayudas, líneas secundarias, cabeceras de grid
--awe-font-size-base14px13pxTexto, campos, botones, celdas
--awe-font-size-md16px15pxTítulos de tarjetas y secciones
--awe-font-size-lg18px18pxTítulos de diálogos
--awe-font-size-xl20px20pxTítulo de página en compacta
--awe-font-size-2xl24px24pxTítulo de página, valores de KPI
--awe-font-size-3xl30px30pxDisplay (login y páginas independientes)

Los tokens de rol apuntan a la escala y son preferibles: --awe-font-size-page-title, --awe-font-size-section-title, --awe-font-size-dialog-title, --awe-font-size-display, --awe-font-size-label, --awe-font-size-caption.

PesoTokenUso
400--awe-font-weight-normalTexto, valores
500--awe-font-weight-mediumEtiquetas, botones, opciones de menú, pestañas
600--awe-font-weight-semiboldTítulos, elementos seleccionados, totales
700--awe-font-weight-boldPoco frecuente: badges con texto muy corto
  • Interlineados: --awe-line-height-tight (1,25, títulos), --awe-line-height-snug (1,375, etiquetas, listas) y --awe-line-height-base (1,5, texto).
  • Los títulos usan un espaciado de letras ligeramente negativo (--awe-letter-spacing-display, --awe-letter-spacing-tight). Las etiquetas pequeñas en mayúsculas usan --awe-letter-spacing-caps.
  • Los números de grids, totales y KPI usan cifras tabulares: font-variant-numeric: var(--awe-font-variant-numeric), alineados a la derecha, para que los dígitos cuadren.

Espaciado​

El espaciado sigue una rejilla de 4px. Los tokens numéricos son la escala; los nombres de talla actuales se mantienen como alias.

TokenValorAlias
--awe-space-0-52px--awe-space-2xs
--awe-space-14px--awe-space-xs
--awe-space-1-56px
--awe-space-28px--awe-space-sm
--awe-space-312px--awe-space-md
--awe-space-416px--awe-space-lg
--awe-space-520px
--awe-space-624px--awe-space-xl
--awe-space-832px--awe-space-2xl (nuevo)
--awe-space-10, -12, -1640px, 48px, 64px
Cambio de valor

Los nombres de talla se mantienen, pero no sus valores: hoy xs vale 5px, sm 10px, md 15px, lg 20px y xl 30px. En AWE 5 valen 4, 8, 12, 16 y 24px. Hay que revisar el CSS de producto que dependa de los valores antiguos.

El espaciado de la disposición tiene sus propios tokens, que cambian con la densidad: --awe-content-padding (dentro de las tarjetas), --awe-layout-gap (entre tarjetas), --awe-page-padding (bordes de la página), --awe-gap-form-row y --awe-gap-form-column (rejilla de criterios).

Densidad​

Cómoda (por defecto)Compacta
Fuente base14px13px
Altura de control (--awe-size-control)36px30px
Control pequeño / grande30px / 44px26px / 36px
Relleno de campo8px × 12px5px × 9px
Relleno de celda del grid11px × 14px6px × 10px
Altura de la cabecera60px52px
Ancho del menú264px240px

La densidad es data-awe-density="compact" en <html>. Se configura por aplicación y por usuario. Los componentes la obtienen sin más si usan los tokens de tamaño, relleno y separación. Nunca escriba una regla de componente para una sola densidad.

Forma​

Escala de radios:

TokenValorUso
--awe-radius-xs2pxResaltados de texto, marcas pequeñas
--awe-radius-sm4pxCasillas, chips, etiquetas, opciones de lista
--awe-radius-md6pxCampos, botones, capas (--awe-radius-field, --awe-radius-overlay)
--awe-radius-lg8pxPaneles interiores, tarjetas de lanzadera
--awe-radius-xl12pxTarjetas y diálogos (--awe-radius-card, --awe-radius-modal)
--awe-radius-full9999pxAvatares, píldoras, interruptores

--awe-radius se mantiene como alias de md. Hoy --awe-radius-sm y -lg se derivan (la mitad y el doble); en AWE 5 son valores fijos de la escala.

Elevación​

TokenUso
--awe-shadow-xs (--awe-shadow-card, --awe-shadow-field)Tarjetas, campos, botones con borde: apenas elevados
--awe-shadow-smSegmento seleccionado, tirador del interruptor
--awe-shadow-md (--awe-shadow-overlay)Desplegables, listas, popovers, toasts, tooltips
--awe-shadow-lg (--awe-shadow-modal)Diálogos, panel lateral, ventana maximizada

Las tarjetas se apoyan en un borde más xs, no en sombras fuertes. Las sombras son más intensas en modo oscuro (--awe-color-shadow). Las capas tienen tokens de z-index fijos: --awe-z-header, --awe-z-menu, --awe-z-dropdown, --awe-z-modal, --awe-z-toast y --awe-z-tooltip. Las capas que no deben quedar recortadas (listas, flyouts, toasts) usan la top layer (popover, <dialog>).

Foco​

El foco de teclado es un contorno de 2px en --awe-color-focus-ring con 2px de separación (--awe-focus-ring, --awe-focus-ring-offset), mostrado con :focus-visible. Los campos muestran el borde de foco más un halo suave (--awe-shadow-field-focus; --awe-shadow-field-invalid si son inválidos). Nunca quite un contorno sin sustituirlo.

Movimiento​

TokenValorUso
--awe-motion-duration-fast120msHover, cambios de color, salida de elementos pequeños
--awe-motion-duration-base200msConmutadores, diálogos, tooltips
--awe-motion-duration-slow300msToasts, panel lateral, máscara
--awe-motion-duration-expand240msExpandir y plegar (niveles del menú, acordeones, rail)
--awe-motion-easing-standardcubic-bezier(0.2, 0, 0, 1)La mayoría de transiciones
--awe-motion-easing-enter / -exitdeceleración / aceleraciónElementos que aparecen / se van
--awe-motion-easing-expandcubic-bezier(0.22, 1, 0.36, 1)Contenido desplegable
  • Con prefers-reduced-motion: reduce todas las duraciones valen 0. Si usa los tokens, lo obtiene sin más.
  • Sin animación en el primer pintado: un estado restaurado (un nivel del menú abierto) aparece ya en su sitio.
  • Anime el tamaño real: los desplegables animan grid-template-rows de 0fr a 1fr, no un max-height fijo.

Iconografía​

AWE 5 usa los iconos de línea Lucide (ISC) en los dos motores: rejilla de 24px, trazo de 1,75px fijado por CSS, currentColor. Tamaños: --awe-size-icon-sm, --awe-size-icon y --awe-size-icon-lg (14, 16 y 20px en cómoda).

El XML conserva sus nombres de icono. Una tabla de equivalencias asocia cada nombre fa-* a un icono Lucide, así que las pantallas actuales no cambian. Ejemplo:

Icono del XMLLucide
fa-searchsearch
fa-plusplus
fa-trashtrash
fa-pencil, fa-editpencil
fa-floppy-osave
fa-filterfunnel
fa-downloaddownload
fa-printprinter
fa-timesx
fa-cogsettings

La página de Iconos tiene la tabla completa, los nombres mdi:, los nombres que mantienen su fuente actual durante la transición y la familia lucide: para las pantallas nuevas.

Reglas:

  • Un botón solo con icono necesita aria-label y un tooltip.
  • Los iconos decorativos llevan aria-hidden="true".
  • El color viene del texto padre; no coloree los iconos por separado salvo para indicar estado.