Fundamentos

La capa semántica

Los tokens semánticos genéricos —los que no pertenecen a ningún componente—, agrupados por el concepto que nombran, un fichero por concepto. Los de un componente están en la página de ese componente.

Superficie

Un fondo sobre el que se coloca contenido. Hay dos: el documento, y un contenedor, que se separa del documento para que lo que lleva dentro se lea como una unidad. El borde de un contenedor es una sola decisión —color, grosor y tipo—, y la toma el contenedor.

TokenQué nombra
--surface--color--documentEl color de fondo del documento.
--surface--color--containerEl color de fondo de un contenedor.
--surface--border--containerEl color del borde de un contenedor.
--surface--border-width--containerEl grosor del borde de un contenedor.
--surface--border-style--containerEl tipo (border-style) del borde de un contenedor.
--surface--radius--containerEl radio de borde de un contenedor.

Texto

El color de un texto dice qué clase de texto es, no cuánta atención merece: dirigir la atención es trabajo de las superficies de marca. Hay dos letras, la de exposición y la de lectura, y cada una lleva su familia, su grosor, su interlineado y su espaciado.

TokenQué nombra
--text--color--displayEl color del texto de exposición, el que va en la letra de exposición: titulares, cifras de precio, etiquetas de acción.
--text--color--uiEl color del texto de interfaz, el que nombra u opera un control: la etiqueta de un campo o de una casilla, el valor escrito en un campo, el título de un resultado, la opción de un menú.
--text--color--bodyEl color del texto de lectura: párrafos, descripciones, celdas.
--text--color--metaEl color del texto que anota a otro: metadatos, eyebrows, etiquetas de sección, cabeceras de tabla, un precio anterior.
--text--color--inactiveEl color del texto inactivo: un marcador de posición, un valor que ya no está disponible.
--text--color--linkEl color de un enlace dentro del texto.
--text--color--link-hoverEl color de un enlace al apuntarlo.
--text--color--navigationEl color de un enlace de navegación en reposo.
--text--font-family--displayLa familia tipográfica del texto de exposición: titulares, cifras, etiquetas de acción.
--text--font-family--bodyLa familia tipográfica del texto de lectura.
--text--font-weight--displayEl grosor de letra del texto de exposición.
--text--font-weight--bodyEl grosor de letra del texto de lectura.
--text--font-size--heroEl tamaño de letra del titular de portada. Es fluido: cambia con el ancho del viewport.
--text--font-size--heading-1El tamaño de letra de un titular de primer nivel (h1). Es fluido.
--text--font-size--heading-2El tamaño de letra de un titular de segundo nivel (h2).
--text--font-size--heading-3El tamaño de letra de un titular de tercer nivel (h3).
--text--font-size--heading-4El tamaño de letra de un titular de cuarto nivel (h4).
--text--font-size--card-titleEl tamaño de letra del titular de una tarjeta. Es fluido.
--text--font-size--priceEl tamaño de letra de una cifra de precio.
--text--font-size--bodyEl tamaño de letra del texto de lectura.
--text--font-size--captionEl tamaño de letra del texto que acompaña a un control: una etiqueta, un mensaje de error, un subtítulo.
--text--font-size--eyebrowEl tamaño de letra de un eyebrow.
--text--line-height--displayEl interlineado del texto de exposición.
--text--line-height--bodyEl interlineado del texto de lectura.
--text--letter-spacing--displayEl espaciado entre letras del texto de exposición.
--text--letter-spacing--priceEl espaciado entre letras de una cifra de precio.
--text--letter-spacing--eyebrowEl espaciado entre letras de un eyebrow, que va en mayúsculas separadas.

Borde

La línea de un elemento que solo necesita delimitarse: un campo, una ficha, una píldora, una celda. Un borde es una sola decisión —color, grosor y tipo—: el concepto que decide el color de una línea decide también su grosor y su tipo. Este concepto cubre la línea de los elementos que no tienen una propia; un contenedor, el trazo de un control, un fragmento de código o un anillo que forma parte de una pieza tienen la suya en su propio concepto.

TokenQué nombra
--border--width--lineEl grosor de la línea de un elemento que solo se delimita.
--border--style--lineEl tipo (border-style) de esa línea.
--border--color--restEl color del borde de un elemento en reposo.
--border--color--hoverEl color del borde de un elemento al apuntarlo.
--border--color--activeEl color del borde de un elemento mientras es el actual: un campo con el foco, un desplegable abierto, una fila seleccionada.
--border--color--dividerEl color de una línea que separa dos secciones sobre el mismo fondo.

Foco

TokenQué nombra
--focus--color--ringEl color del anillo de foco.
--focus--outline--ringEl anillo de foco completo (grosor, tipo y color), para aplicar en outline.

Código

TokenQué nombra
--code--color--textEl color del texto de un fragmento de código, en línea o en bloque.
--code--background--snippetEl color de fondo de un fragmento de código.
--code--border--snippetEl color del borde de un fragmento de código.
--code--border-width--snippetEl grosor del borde de un fragmento de código.
--code--border-style--snippetEl tipo (border-style) del borde de un fragmento de código.

Apuntado

TokenQué nombra
--hover--background--targetEl color de fondo que toma un elemento al apuntarlo, en los elementos que responden al puntero con un color de fondo.

No disponible

TokenQué nombra
--disabled--color--textEl color del texto de un control no disponible.
--disabled--background--controlEl color de fondo de un control no disponible.
--disabled--border--controlEl color del borde de un control no disponible.

Selección

Estar elegido, en sus dos formas: un control que se marca o se desmarca, y el elemento actual entre sus iguales.

TokenQué nombra
--selection--background--boxEl color de fondo de la casilla de un control sin marcar.
--selection--border--boxEl color del borde de la casilla de un control de selección.
--selection--border-width--boxEl grosor del borde de la casilla de un control de selección.
--selection--border-style--boxEl tipo (border-style) del borde de la casilla de un control de selección.
--selection--color--checkedEl color de la marca de un control marcado.
--selection--background--option-checkedEl color de fondo de una opción entera cuando está marcada.
--selection--color--option-checked-textEl color del texto de una opción entera cuando está marcada.
--selection--background--currentEl color de fondo del elemento actual entre sus iguales.
--selection--color--current-textEl color del texto del elemento actual entre sus iguales.
--selection--border--currentEl color del borde del elemento actual entre sus iguales.
--selection--border-width--currentEl grosor del borde del elemento actual entre sus iguales.
--selection--border-style--currentEl tipo (border-style) del borde del elemento actual entre sus iguales.
--selection--color--peer-textEl color del texto de un igual que no es el actual.

Acción

TokenQué nombra
--action--background--primaryEl color de fondo de la acción primaria.
--action--background--primary-hoverEl color de fondo de la acción primaria al apuntarla.
--action--border--primaryEl color del borde de la acción primaria.
--action--color--primary-textEl color del texto de la acción primaria.

Estado

Una condición que la interfaz comunica: éxito, error, aviso e inclusión.

TokenQué nombra
--state--color--successEl color del estado de éxito.
--state--color--success-textEl color del texto o de la marca sobre una forma rellena con el color de éxito.
--state--background--successEl color de fondo del estado de éxito.
--state--color--errorEl color del estado de error.
--state--color--error-textEl color del texto o de la marca sobre una forma rellena con el color de error.
--state--background--errorEl color de fondo del estado de error.
--state--background--error-hoverEl color de fondo de una acción de error al apuntarla.
--state--color--warningEl color del estado de aviso.
--state--color--warning-textEl color del texto o de la marca sobre una forma rellena con el color de aviso.
--state--background--warningEl color de fondo del estado de aviso.
--state--color--includedEl color de la marca que dice que algo está incluido cuando se dibuja sola, sin disco.
--state--background--includedEl color de fondo del disco que lleva esa marca.
--state--color--included-textEl color de la marca sobre ese disco.

Movimiento

TokenQué nombra
--motion--transition--feedbackLa transición de una respuesta inmediata: un cambio de color al apuntar o al enfocar.
--motion--transition--stateLa transición de un cambio de estado: algo que conmuta o que se desplaza.
--motion--transition--movementLa transición de una parte que se mueve: un chevron que gira, una flecha que avanza.
--motion--transition--revealLa transición de una entrada o de un despliegue.

Campo

Un campo de texto.

TokenQué nombra
--field--radius--boxEl radio de borde de un campo de texto.
--field--background--boxEl color de fondo de un campo de texto.

Mensaje

TokenQué nombra
--message--radius--boxEl radio de borde de un aviso colocado en la página.

Menú

TokenQué nombra
--menu--radius--panelEl radio de borde del panel flotante de un menú.
--menu--radius--itemEl radio de borde de una fila de un menú.
--menu--shadow--panelLa sombra del panel flotante de un menú.

Control

Un disparador pulsable con forma de píldora o circular.

TokenQué nombra
--control--radius--pillEl radio de borde de un control con forma de píldora.
--control--radius--icon-buttonEl radio de borde de un control circular.
--control--height--compactEl alto de todo control compacto, para que una fila de controles compactos quede a ras.
--control--background--restEl color de fondo de un control en reposo.
--control--color--strokeEl color del borde de un control y de su sombra desplazada.
--control--border-width--strokeEl grosor del borde de un control.
--control--border-style--strokeEl tipo (border-style) del borde de un control.
--control--color--glyphEl color del glifo de un control que es solo un icono, en reposo.
--control--color--glyph-hoverEl color de ese glifo al apuntarlo.
--control--offset--pill-restEl desplazamiento de la sombra de un control con forma de píldora en reposo.
--control--offset--pill-pressedEl desplazamiento de la sombra de un control con forma de píldora pulsado, y el de reposo de uno compacto.
--control--offset--pill-activeEl desplazamiento de la sombra de un control compacto con forma de píldora mientras se pulsa.

Indicador

TokenQué nombra
--indicator--radius--pillEl radio de borde de un marcador de estado con forma de píldora.
--indicator--radius--dotEl radio de borde de un marcador de estado con forma de punto.

Icono

TokenQué nombra
--icon--radius--infoEl radio de borde de un marcador informativo, nunca interactivo.
--icon--color--infoEl color de un glifo informativo, nunca interactivo.

Pista

Una pista por la que se desplaza un mando, o que se rellena hasta un punto.

TokenQué nombra
--track--radius--railEl radio de borde de la pista.
--track--radius--knobEl radio de borde del mando.
--track--background--railEl color de fondo de la parte sin rellenar de la pista.
--track--background--fillEl color de fondo de la parte rellena de la pista.
--track--background--knobEl color de fondo del mando.

Elevación

TokenQué nombra
--elevation--shadow--raisedLa sombra de un elemento que se separa apenas de la página.
--elevation--shadow--floatingLa sombra de un elemento que flota sobre el contenido.
--elevation--shadow--overlayLa sombra de un elemento colocado por encima de todo.

Capas

TokenQué nombra
--layer--order--menu-panelEl z-index del panel flotante de un menú.
--layer--order--frameEl z-index de un marco fijo de la página.
--layer--order--tooltipEl z-index de una ayuda emergente.
--layer--order--modalEl z-index de una ventana modal.
--layer--order--toastEl z-index de una notificación pasajera.

Son los únicos z-index que comparten contexto de apilado: lo que un componente eleva dentro de su propia caja cuenta desde 1 en su contexto aislado y nunca toma uno de estos valores.

Contenido

TokenQué nombra
--content--size--columnEl ancho máximo de la columna de contenido.
--content--size--readingEl ancho máximo de la columna de un texto de lectura.