bg-success text-success-foreground
—
Pagado
Reserva confirmada · +12% vs. la semana pasada
- Texto en el relleno
- ——
- Sobre tarjeta
- ——
- Sobre fondo
- ——
Confirmaciones, pagos recibidos, cambios a favor.
Fundamentos
Superficies, texto, acento y estados, con su contraste medido en cada personalidad.
Los componentes nunca escriben un color: piden un token semántico
(bg-card, text-muted-foreground) y el motor lo resuelve para la
personalidad y el modo donde viven. Cada valor de esta página se lee en vivo del navegador:
mueve la barra de arriba y cambian juntos, contrastes incluidos.
Una marca no elige veinte colores: elige marca, tinta, papel y tinte.
El motor (eclipse_ui/tokens.css) tiñe la tinta con un poco de la marca y saca cada
gris como un paso de esa tinta mezclada con el fondo en oklab:
color-mix(in oklab, tinta 15%, fondo) es el borde. En oscuro tinta y papel se
invierten y los pasos crecen. El texto sobre la marca y el texto de marca se ajustan solos
hasta leerse. Carbón fija sus valores a mano, así que sus muestras no
caen exactas sobre la línea. Para ver cada personalidad completa sobre la página de un estudio,
abre Personalidades.
--eui-brand
—
La luz de la marca: botón principal, medidor, foco.
--eui-ink
—
El texto en claro; el fondo en oscuro.
--eui-paper
—
El fondo en claro; el texto en oscuro.
--eui-tint
—
Cuánta marca entra en los grises: su temperatura.
Fuera de la línea: la tarjeta es blanca en claro y toma el relleno en oscuro; el hover
mezcla — de tinta sobre la tarjeta;
la marca en hover mezcla — del color del texto,
y el lavado, 12% de marca sobre el fondo.
La escalera de capas: cada superficie es apenas distinta de la de abajo y la separa un borde de 1px. Elige por función, no por tono: la tarjeta es tarjeta en todas las personalidades aunque cambie su color. Más en Profundidad.
Fondo
bg-background
--color-background
—
La página y el escenario. Todo empieza aquí.
Elevado
bg-raised
--color-raised
—
Un paso de tinta sobre el fondo: barras, encabezados de tabla, la base de un control segmentado.
Tarjeta
bg-card
--color-card
—
Tarjetas, paneles, menús y modales. bg-surface es el mismo token.
Hover
bg-surface-hover
--color-surface-hover
—
La fila, opción o tarjeta bajo el cursor; la opción activa de una lista.
Relleno
bg-muted
--color-muted
—
Pistas y rellenos de controles: interruptor apagado, barra de progreso.
Cinco tonos de texto, de lo que se lee primero a lo que casi no se ve. Cada celda está pintada sobre su superficie y dice su contraste medido (WCAG 2): AAA desde 7:1, AA desde 4.5:1, AA grande desde 3:1 (solo títulos de 24px o 19px seminegrita) y no apto para texto por debajo.
text-foreground
--color-foreground
—
Títulos, valores y lo que se lee primero.
Vinyasa 07:00
Contraste sobre fondo: — —
Vinyasa 07:00
Contraste sobre elevado: — —
Vinyasa 07:00
Contraste sobre tarjeta: — —
Vinyasa 07:00
Contraste sobre hover: — —
text-muted-foreground
--color-muted-foreground
—
Texto secundario: descripciones, ayudas, celdas.
Vinyasa 07:00
Contraste sobre fondo: — —
Vinyasa 07:00
Contraste sobre elevado: — —
Vinyasa 07:00
Contraste sobre tarjeta: — —
Vinyasa 07:00
Contraste sobre hover: — —
text-primary-text
--color-primary-text
—
Texto en color de marca: ligas y etiquetas.
Vinyasa 07:00
Contraste sobre fondo: — —
Vinyasa 07:00
Contraste sobre elevado: — —
Vinyasa 07:00
Contraste sobre tarjeta: — —
Vinyasa 07:00
Contraste sobre hover: — —
text-faint
--color-faint
—
Solo metadatos que no hace falta leer: horas y contadores.
Vinyasa 07:00
Contraste sobre fondo: — —
Vinyasa 07:00
Contraste sobre elevado: — —
Vinyasa 07:00
Contraste sobre tarjeta: — —
Vinyasa 07:00
Contraste sobre hover: — —
text-subtle
--color-subtle
—
Íconos tenues y separadores. Nunca texto.
Vinyasa 07:00
Contraste sobre fondo: — —
Vinyasa 07:00
Contraste sobre elevado: — —
Vinyasa 07:00
Contraste sobre tarjeta: — —
Vinyasa 07:00
Contraste sobre hover: — —
El borde de 1px es la separación principal del sistema, antes que cualquier sombra. Tres pasos: el de siempre, uno más tenue para dividir dentro de una pieza y uno más firme para lo que está bajo el cursor.
border-border
--color-border · —
El de siempre: tarjetas, campos, tablas. La separación principal.
border-border-subtle
--color-border-subtle · —
Divisiones dentro de una pieza: filas de una lista, pie de una tarjeta.
border-border-hover
--color-border-hover · —
El borde bajo el cursor o de lo activo: hover:border-border-hover.
La marca es la luz de tu producto y se usa poco: el botón principal, el medidor, lo que importa en
la vista. El texto sobre ella lo elige el motor (oscuro o claro según qué tan clara es la luz);
el texto en color de marca usa text-primary-text, que se acerca a la tinta
hasta leerse.
Marca
bg-primary
--color-primary
—
Botón principal, medidor, el punto que importa.
Marca en hover
bg-primary-hover
--color-primary-hover
—
La marca un paso hacia el color del texto.
Texto sobre la marca
text-primary-foreground
--color-primary-foreground
—
Oscuro sobre luz clara, claro sobre luz oscura: lo elige el motor.
Lavado
bg-wash
--eui-brand-wash
—
12% de marca sobre el fondo: lo elegido, un aviso suave.
Velo
bg-accent-subtle
--eui-accent-subtle
—
Un velo de tinta: resaltado de fila o de pastilla.
Ver todos los paquetes · liga en text-primary-text
Éxito, atención y peligro no salen de la marca: un rojo siempre debe leerse como error, en cualquier marca. Cada uno tiene su relleno con su texto encima y su versión como texto; los números dicen dónde se puede usar cada cosa.
bg-success text-success-foreground
—
Pagado
Reserva confirmada · +12% vs. la semana pasada
Confirmaciones, pagos recibidos, cambios a favor.
bg-warning text-warning-foreground
—
Quedan 2
Cancelación tardía: el crédito no se devuelve
Cupo casi lleno, cancelación tardía. Como texto, siempre junto a un ícono y solo donde aquí diga AA.
bg-destructive text-destructive-foreground
—
Cancelar
El correo ya tiene una cuenta
Errores de campo, cancelar, eliminar. Pasa AA como texto chico.
El único color fuera de la marca es el del foco, y solo aparece con teclado
(:focus-visible). eui-focus pinta un anillo nítido de 2px separado
2px del control con --eui-focus (azul en Carbón) o, si la personalidad no lo fija,
la marca al 60%. eui-ring es la versión con halo (separación del color del fondo,
el anillo y un resplandor que sigue el dial --eui-halo); la usan los botones.
Recorre la muestra con Tab.
text-foreground para lo que se lee primero, text-muted-foreground para lo secundario: los dos pasan AA en fondo, elevado, tarjeta, hover y relleno, en todas las personalidades.text-faint solo para metadatos (horas, contadores) y text-subtle solo para íconos tenues: no pasan AA en todas las personalidades. Si hay que leerlo para decidir algo, es text-muted-foreground.bg-wash o bg-primary/10.text-primary-text, nunca text-primary: la marca pura es para rellenos y no siempre se lee sobre el fondo.warning es un amarillo: como texto sobre un fondo claro casi nunca llega a AA. Úsalo de relleno (con text-warning-foreground encima) o como texto solo donde la muestra de estados diga AA.bg-primary/10, border-destructive/30), nunca un color nuevo. Nada de hex ni gray-* en una vista: si falta un color, falta un token.
El contrato de contraste vive en config/eclipse_ui/contrast.yml: estos pares deben pasar AA
(4.5:1) en todas las personalidades, en claro y en oscuro. La tabla los mide
ahora en este navegador, sin importar la barra; la prueba test/eclipse_ui/contrast_test.rb
los mide igual (con Chrome sin ventana, dentro de bin/rails test) y falla si alguno baja.
foreground sobre background, raised, card, surface-hover, mutedmuted-foreground sobre background, raised, card, surface-hover, muteddestructive sobre background, card, surface-hoverprimary-text sobre background, cardprimary-foreground sobre primary, primary-hoverdestructive-foreground sobre destructivesuccess sobre background, cardsuccess-foreground sobre successwarning-foreground sobre warning| Personalidad | Claro: el par más bajo | Oscuro: el par más bajo |
|---|---|---|
| Carbón | — — midiendo… — pares en AA | — — midiendo… — pares en AA |
| Eclipse | — — midiendo… — pares en AA | — — midiendo… — pares en AA |
| Alba | — — midiendo… — pares en AA | — — midiendo… — pares en AA |
| Brisa | — — midiendo… — pares en AA | — — midiendo… — pares en AA |
| Umbra | — — midiendo… — pares en AA | — — midiendo… — pares en AA |
| Terra | — — midiendo… — pares en AA | — — midiendo… — pares en AA |