Saltar al contenido principal

Tokens · @luz-ds/tokens

Tokens

Esta traducción la ha escrito una IA y todavía no la ha revisado ninguna persona. Leer esta página en inglés

Propiedades personalizadas de CSS para todos los valores de color, espacio, tamaño y tipografía. Usa los semánticos: cambian según el modo de color.

Dos capas

  • Los primitivos contienen valores sin procesar: --luz-blue-60, --luz-space-md. Son iguales en todos los modos.
  • Los tokens semánticos asignan una función a un color: --luz-text-primary, --luz-surface-page. En cada modo apuntan a distintos primitivos.
  • Las escalas de espacio, tamaño, radio, sombra y tipografía, los roles tipográficos, los puntos de ruptura y el movimiento son primitivos que los componentes usan directamente: no cambian según el modo.
packages/tokens/tokens.json        the source of the primitives
packages/tokens/src/semantic.css   the semantic colours, per mode
dist/luz-tokens.css                both layers, and the ET Book font
dist/tokens.css                    both layers, no font

Usa colores semánticos, nunca primitivos

Un componente que usa un color primitivo se ve bien en un modo y mal en los demás.

/* Do: semantic tokens follow the mode */
.panel {
  color: var(--luz-text-primary);
  background: var(--luz-surface);
  border: 1px solid var(--luz-divider);
  padding: var(--luz-space-md);
}

/* Don't: a primitive colour stays the same in dark mode */
.panel {
  color: var(--luz-gray-100);
  background: var(--luz-blue-10);
}

Texto sobre un relleno sólido

Con --luz-text-on-fill, usa un token de relleno, no el color de marca ni el de estado.

  • Los rellenos: --luz-brand-fill, --luz-brand-fill-hover, --luz-brand-fill-active y --luz-color-danger-fill.
  • En los modos claro y de alto contraste, equivalen a los colores de marca y de peligro. En el modo oscuro son un nivel más oscuros: el color oscuro de marca es lo bastante claro para leerse como texto, y el texto blanco sobre él no alcanza 4,5:1.