@studiolxd/brand 49.9.0 → 49.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +105 -0
- package/dist/_shared/tokens.js +6 -0
- package/dist/_types/molecules/AppLauncher/AppLauncher.d.ts +19 -0
- package/dist/_types/molecules/SiteNav/SiteNav.d.ts +26 -0
- package/dist/app-launcher.css +1 -1
- package/dist/app-launcher.js +18 -10
- package/dist/brand.css +16 -4
- package/dist/site-nav.css +1 -1
- package/dist/site-nav.js +32 -21
- package/dist/tokens.css +16 -4
- package/package.json +341 -171
- package/src/tokens/molecules/app-launcher.css +7 -3
- package/src/tokens/molecules/site-nav.css +4 -0
- package/src/tokens/scss/molecules/_app-launcher.scss +6 -3
- package/src/tokens/scss/molecules/_site-nav.scss +3 -0
- package/src/tokens/surface-invert.css +2 -0
- package/src/tokens/surface-light.css +2 -0
- package/src/tokens/tokens.json +6 -0
|
@@ -4,13 +4,14 @@
|
|
|
4
4
|
|
|
5
5
|
:root {
|
|
6
6
|
--app-launcher-content-min-width: 20rem; /** Ancho mínimo del popover */
|
|
7
|
-
--app-launcher-content-columns: 3; /** Número de columnas de la rejilla de apps */
|
|
8
|
-
--app-launcher-content-
|
|
7
|
+
--app-launcher-content-columns: 3; /** Número de columnas de la rejilla de apps a partir de `sm` */
|
|
8
|
+
--app-launcher-content-columns-narrow: 2; /** Columnas de la rejilla por debajo de `sm`: dos. Con tres, doce baldosas en un panel estrecho dejaban el nombre de una app partido en tres líneas; con dos, la rejilla crece a lo alto lo justo y el panel sigue cabiendo entero */
|
|
9
|
+
--app-launcher-content-max-height: var(--available-height); /** Único tope del panel: el hueco que de verdad queda en la ventana, que Base UI mide y publica en `--available-height`. El panel NO tiene tope propio —crece con su contenido, y con doce apps se ve entero—; solo cuando ni ese hueco da, se recorta aquí y hace scroll */
|
|
9
10
|
--app-launcher-trigger-size: var(--size-component-md); /** Tamaño (cuadrado) del botón de rejilla */
|
|
10
11
|
--app-launcher-content-gap: var(--spacing-1); /** Espacio entre tiles */
|
|
11
12
|
--app-launcher-content-padding-block: var(--spacing-3); /** Padding vertical del panel */
|
|
12
13
|
--app-launcher-content-padding-inline: var(--spacing-3); /** Padding horizontal del panel */
|
|
13
|
-
--app-launcher-tile-gap: var(--spacing-1); /** Espacio entre el
|
|
14
|
+
--app-launcher-tile-gap: var(--spacing-1); /** Espacio entre el distintivo y el nombre dentro del tile */
|
|
14
15
|
--app-launcher-tile-name-font-size: var(--font-size-1); /** Tamaño de texto del nombre de app */
|
|
15
16
|
--app-launcher-trigger-border-radius: var(--border-radius-default); /** Radio del trigger */
|
|
16
17
|
--app-launcher-trigger-color: var(--color-text-on-light); /** Color del icono de rejilla */
|
|
@@ -27,11 +28,13 @@
|
|
|
27
28
|
--app-launcher-transition-easing: var(--floating-panel-transition-easing); /** Easing de la animación */
|
|
28
29
|
--app-launcher-tile-padding-block: var(--menu-item-padding-block); /** Padding vertical de cada tile — el de un ítem de Menu, para que la altura case con las listas de opciones del DS */
|
|
29
30
|
--app-launcher-tile-padding-inline: var(--menu-item-padding-inline); /** Padding horizontal de cada tile — el de un ítem de Menu */
|
|
31
|
+
--app-launcher-tile-badge-block-size: calc(var(--tag-font-size) * var(--tag-line-height) + 2 * var(--tag-padding-block)); /** Alto de la fila del distintivo, que va ENCIMA del nombre. Es la caja de una `Tag` (cuerpo por interlineado más su aire) y se reserva SIEMPRE, lleve distintivo la baldosa o no: de ahí que todos los nombres de la rejilla queden a la misma altura. Sale de los tokens de `Tag`, así que sigue cuadrando si la píldora cambia de talla */
|
|
30
32
|
--app-launcher-tile-border-radius: var(--border-radius-default); /** Radio de cada tile */
|
|
31
33
|
--app-launcher-tile-name-font-weight: var(--font-weight-default); /** Peso del nombre de app */
|
|
32
34
|
--app-launcher-tile-name-line-height: var(--menu-item-line-height); /** Interlineado del nombre de app — el de un ítem de Menu, para que la altura case con las listas de opciones del DS */
|
|
33
35
|
--app-launcher-tile-name-color: var(--color-text-on-light); /** Color del nombre de app */
|
|
34
36
|
--app-launcher-tile-name-active-font-weight: var(--font-weight-emphasis); /** Peso del nombre — app actual */
|
|
37
|
+
--app-launcher-tile-disabled-color: var(--color-disabled-text-on-light); /** Nombre de una app apagada («próximamente»): la tinta de un control deshabilitado sobre superficie clara. No baja de 3:1 sobre el panel —el mínimo de WCAG 1.4.11 para un componente inactivo—, que es el suelo de esta tinta y el motivo de no inventar un gris más claro */
|
|
35
38
|
--app-launcher-trigger-label-border-radius: var(--sidebar-nav-item-border-radius); /** Radio del disparador con texto — el de un ítem de SidebarNav */
|
|
36
39
|
--app-launcher-trigger-label-font-weight: var(--sidebar-nav-item-font-weight); /** Peso de texto del disparador con texto — el de un ítem de SidebarNav */
|
|
37
40
|
--app-launcher-trigger-label-color: var(--sidebar-nav-item-color); /** Color del disparador con texto (icono y texto, por `currentColor`/herencia) — el de un ítem de SidebarNav */
|
|
@@ -55,6 +58,7 @@ html.dark {
|
|
|
55
58
|
--app-launcher-trigger-color: var(--color-text-on-dark); /** Icono de rejilla — surface-dark */
|
|
56
59
|
--app-launcher-focus-ring-color: var(--color-text-on-dark); /** Focus ring — surface-dark. `focus-ring-color` (prussian) sería invisible sobre fondo oscuro. */
|
|
57
60
|
--app-launcher-tile-name-color: var(--color-text-on-dark); /** Nombre de app — surface-dark */
|
|
61
|
+
--app-launcher-tile-disabled-color: var(--color-disabled-text-on-dark); /** Nombre de una app apagada — surface-dark */
|
|
58
62
|
--app-launcher-trigger-label-color: var(--sidebar-nav-item-color); /** Disparador con texto — surface-dark. Por referencia al par oscuro del ítem de SidebarNav */
|
|
59
63
|
--app-launcher-content-bg: var(--floating-panel-bg); /** Fondo del panel — surface-dark */
|
|
60
64
|
--app-launcher-content-border-color: var(--floating-panel-border-color); /** Borde del panel — surface-dark */
|
|
@@ -9,10 +9,13 @@
|
|
|
9
9
|
--site-nav-item-gap: var(--spacing-3); /** Separación entre enlaces de un grupo */
|
|
10
10
|
--site-nav-item-font-size: var(--font-size-4); /** Enlaces: un punto por debajo de la cabecera del grupo (Heading talla 6 = font-size.5) */
|
|
11
11
|
--site-nav-item-line-height: var(--line-height-snug); /** Enlaces */
|
|
12
|
+
--site-nav-item-badge-gap: var(--spacing-2); /** Aire entre el rótulo del ítem y su distintivo */
|
|
12
13
|
--site-nav-item-font-weight: var(--font-weight-default); /** Enlaces */
|
|
13
14
|
--site-nav-item-color: var(--color-text-on-light); /** Enlaces */
|
|
14
15
|
--site-nav-item-hover-color: var(--color-text-on-light); /** Enlaces en hover: en claro no cambia el color, aparece la línea */
|
|
15
16
|
--site-nav-item-underline-offset: var(--border-width-focus); /** Separación entre el texto y la línea de hover (2px, más pegada que en los enlaces de texto). Se reserva siempre: la línea no desplaza nada al aparecer */
|
|
17
|
+
--site-nav-item-disabled-color: var(--color-disabled-text-on-light); /** Ítem apagado («próximamente»): la tinta de un control deshabilitado sobre superficie clara. No baja de 3:1 sobre el lienzo —el mínimo de WCAG 1.4.11 para un componente inactivo—, que es el suelo de esta tinta */
|
|
18
|
+
--site-nav-item-column-gap: var(--site-nav-group-gap); /** Pasillo entre las dos columnas de un grupo ancho (`columns: 2`). Es el mismo que separa dos grupos: las columnas de dentro tienen que leerse con el mismo aire que las de fuera, o el grupo ancho parecería dos grupos pegados */
|
|
16
19
|
--site-nav-item-current-font-weight: var(--font-weight-default); /** Página actual: mismo peso que el resto (la marca aria-current y, si hace falta, el producto la resalta) */
|
|
17
20
|
--site-nav-focus-ring-width: var(--border-width-focus); /** Anillo de foco */
|
|
18
21
|
--site-nav-focus-ring-offset: var(--border-width-focus); /** Separación del anillo de foco */
|
|
@@ -26,6 +29,7 @@
|
|
|
26
29
|
html.dark {
|
|
27
30
|
--site-nav-item-hover-line-width: 0px; /** Enlaces en hover — surface-dark: sin línea, cambia el color */
|
|
28
31
|
--site-nav-item-color: var(--color-text-on-dark); /** Enlaces — surface-dark */
|
|
32
|
+
--site-nav-item-disabled-color: var(--color-disabled-text-on-dark); /** Ítem apagado — surface-dark */
|
|
29
33
|
--site-nav-item-hover-color: var(--color-accent-2); /** Enlaces en hover — surface-dark: amarillo (accent-2) en vez de línea */
|
|
30
34
|
--site-nav-focus-ring-color: var(--color-text-on-dark); /** Anillo de foco — surface-dark */
|
|
31
35
|
}
|
|
@@ -16,7 +16,8 @@ $lxd-app-launcher-trigger-label-font-weight: 300; // Peso de texto del disparado
|
|
|
16
16
|
$lxd-app-launcher-trigger-label-line-height: 1.3; // Interlineado del disparador con texto — el de un ítem de SidebarNav
|
|
17
17
|
$lxd-app-launcher-trigger-label-color: #111e30; // Color del disparador con texto (icono y texto, por `currentColor`/herencia) — el de un ítem de SidebarNav
|
|
18
18
|
$lxd-app-launcher-content-min-width: 20rem; // Ancho mínimo del popover
|
|
19
|
-
$lxd-app-launcher-content-columns: 3; // Número de columnas de la rejilla de apps
|
|
19
|
+
$lxd-app-launcher-content-columns: 3; // Número de columnas de la rejilla de apps a partir de `sm`
|
|
20
|
+
$lxd-app-launcher-content-columns-narrow: 2; // Columnas de la rejilla por debajo de `sm`: dos. Con tres, doce baldosas en un panel estrecho dejaban el nombre de una app partido en tres líneas; con dos, la rejilla crece a lo alto lo justo y el panel sigue cabiendo entero
|
|
20
21
|
$lxd-app-launcher-content-gap: 0.25rem; // Espacio entre tiles
|
|
21
22
|
$lxd-app-launcher-content-bg: #ffffff; // Fondo del panel
|
|
22
23
|
$lxd-app-launcher-content-border-width: 1px; // Borde del panel
|
|
@@ -24,20 +25,22 @@ $lxd-app-launcher-content-border-color: #111e30; // Color del borde del panel
|
|
|
24
25
|
$lxd-app-launcher-content-border-radius: 0px; // Radio del panel
|
|
25
26
|
$lxd-app-launcher-content-shadow: none; // Sombra del panel
|
|
26
27
|
$lxd-app-launcher-content-z-index: 400; // Z-index del popover
|
|
27
|
-
$lxd-app-launcher-content-max-height: var(--available-height); //
|
|
28
|
+
$lxd-app-launcher-content-max-height: var(--available-height); // Único tope del panel: el hueco que de verdad queda en la ventana, que Base UI mide y publica en `--available-height`. El panel NO tiene tope propio —crece con su contenido, y con doce apps se ve entero—; solo cuando ni ese hueco da, se recorta aquí y hace scroll
|
|
28
29
|
$lxd-app-launcher-content-padding-block: 0.75rem; // Padding vertical del panel
|
|
29
30
|
$lxd-app-launcher-content-padding-inline: 0.75rem; // Padding horizontal del panel
|
|
30
31
|
$lxd-app-launcher-transition-duration: 150ms; // Duración de la animación de entrada/salida
|
|
31
32
|
$lxd-app-launcher-transition-easing: ease; // Easing de la animación
|
|
32
33
|
$lxd-app-launcher-tile-padding-block: 0.5rem; // Padding vertical de cada tile — el de un ítem de Menu, para que la altura case con las listas de opciones del DS
|
|
33
34
|
$lxd-app-launcher-tile-padding-inline: 1rem; // Padding horizontal de cada tile — el de un ítem de Menu
|
|
34
|
-
$lxd-app-launcher-tile-gap: 0.25rem; // Espacio entre el
|
|
35
|
+
$lxd-app-launcher-tile-gap: 0.25rem; // Espacio entre el distintivo y el nombre dentro del tile
|
|
36
|
+
$lxd-app-launcher-tile-badge-block-size: calc(0.875rem * 1 + 2 * 0.25rem); // Alto de la fila del distintivo, que va ENCIMA del nombre. Es la caja de una `Tag` (cuerpo por interlineado más su aire) y se reserva SIEMPRE, lleve distintivo la baldosa o no: de ahí que todos los nombres de la rejilla queden a la misma altura. Sale de los tokens de `Tag`, así que sigue cuadrando si la píldora cambia de talla
|
|
35
37
|
$lxd-app-launcher-tile-border-radius: 0px; // Radio de cada tile
|
|
36
38
|
$lxd-app-launcher-tile-name-font-size: 0.875rem; // Tamaño de texto del nombre de app
|
|
37
39
|
$lxd-app-launcher-tile-name-font-weight: 300; // Peso del nombre de app
|
|
38
40
|
$lxd-app-launcher-tile-name-line-height: 1.3; // Interlineado del nombre de app — el de un ítem de Menu, para que la altura case con las listas de opciones del DS
|
|
39
41
|
$lxd-app-launcher-tile-name-color: #111e30; // Color del nombre de app
|
|
40
42
|
$lxd-app-launcher-tile-name-active-font-weight: 500; // Peso del nombre — app actual
|
|
43
|
+
$lxd-app-launcher-tile-disabled-color: #4a4a4a; // Nombre de una app apagada («próximamente»): la tinta de un control deshabilitado sobre superficie clara. No baja de 3:1 sobre el panel —el mínimo de WCAG 1.4.11 para un componente inactivo—, que es el suelo de esta tinta y el motivo de no inventar un gris más claro
|
|
41
44
|
$lxd-app-launcher-trigger-hover-bg: #111e30; // Fondo del disparador (solo icono) bajo el puntero. Antes dejaba una línea de tinta debajo (regla de Colores), pero la línea bajo un glifo suelto —sin texto— se lee como un subrayado del icono; se sustituye por la misma inversión de marca que ya llevan los tiles del panel, la excepción declarada de este componente
|
|
42
45
|
$lxd-app-launcher-trigger-hover-color: #ffffff; // Color del icono de rejilla bajo el puntero — el mismo par que `trigger-hover-bg`
|
|
43
46
|
$lxd-app-launcher-tile-highlighted-bg: #111e30; // Relleno del tile bajo el puntero o el teclado — el del Menu: la inversión de marca. La rejilla de apps es la lista de opciones del panel, excepción declarada a «los estados no se rellenan» (Foundations → Colores)
|
|
@@ -12,6 +12,9 @@ $lxd-site-nav-item-color: #111e30; // Enlaces
|
|
|
12
12
|
$lxd-site-nav-item-hover-color: #111e30; // Enlaces en hover: en claro no cambia el color, aparece la línea
|
|
13
13
|
$lxd-site-nav-item-underline-offset: 2px; // Separación entre el texto y la línea de hover (2px, más pegada que en los enlaces de texto). Se reserva siempre: la línea no desplaza nada al aparecer
|
|
14
14
|
$lxd-site-nav-item-hover-line-width: 1px; // Enlaces en hover: la línea bajo el enlace (como los enlaces de texto), en claro
|
|
15
|
+
$lxd-site-nav-item-disabled-color: #4a4a4a; // Ítem apagado («próximamente»): la tinta de un control deshabilitado sobre superficie clara. No baja de 3:1 sobre el lienzo —el mínimo de WCAG 1.4.11 para un componente inactivo—, que es el suelo de esta tinta
|
|
16
|
+
$lxd-site-nav-item-badge-gap: 0.5rem; // Aire entre el rótulo del ítem y su distintivo
|
|
17
|
+
$lxd-site-nav-item-column-gap: 2rem; // Pasillo entre las dos columnas de un grupo ancho (`columns: 2`). Es el mismo que separa dos grupos: las columnas de dentro tienen que leerse con el mismo aire que las de fuera, o el grupo ancho parecería dos grupos pegados
|
|
15
18
|
$lxd-site-nav-item-current-font-weight: 300; // Página actual: mismo peso que el resto (la marca aria-current y, si hace falta, el producto la resalta)
|
|
16
19
|
$lxd-site-nav-focus-ring-width: 2px; // Anillo de foco
|
|
17
20
|
$lxd-site-nav-focus-ring-offset: 2px; // Separación del anillo de foco
|
|
@@ -24,6 +24,7 @@ html.dark .surface-invert {
|
|
|
24
24
|
--app-launcher-content-bg: var(--floating-panel-bg);
|
|
25
25
|
--app-launcher-content-border-color: var(--floating-panel-border-color);
|
|
26
26
|
--app-launcher-tile-name-color: var(--color-text-on-light);
|
|
27
|
+
--app-launcher-tile-disabled-color: var(--color-disabled-text-on-light);
|
|
27
28
|
--app-launcher-trigger-hover-bg: var(--menu-item-highlighted-bg);
|
|
28
29
|
--app-launcher-trigger-hover-color: var(--menu-item-highlighted-color);
|
|
29
30
|
--app-launcher-tile-highlighted-bg: var(--menu-item-highlighted-bg);
|
|
@@ -602,6 +603,7 @@ html.dark .surface-invert {
|
|
|
602
603
|
--site-nav-item-color: var(--color-text-on-light);
|
|
603
604
|
--site-nav-item-hover-color: var(--color-text-on-light);
|
|
604
605
|
--site-nav-item-hover-line-width: var(--link-underline-width);
|
|
606
|
+
--site-nav-item-disabled-color: var(--color-disabled-text-on-light);
|
|
605
607
|
--site-nav-focus-ring-color: var(--color-primary);
|
|
606
608
|
--stat-tile-border-color: var(--card-outline-border-color);
|
|
607
609
|
--stat-tile-label-color: var(--color-text-muted-on-light);
|
|
@@ -25,6 +25,7 @@ html.dark .surface-light {
|
|
|
25
25
|
--app-launcher-content-bg: var(--floating-panel-bg);
|
|
26
26
|
--app-launcher-content-border-color: var(--floating-panel-border-color);
|
|
27
27
|
--app-launcher-tile-name-color: var(--color-text-on-light);
|
|
28
|
+
--app-launcher-tile-disabled-color: var(--color-disabled-text-on-light);
|
|
28
29
|
--app-launcher-trigger-hover-bg: var(--menu-item-highlighted-bg);
|
|
29
30
|
--app-launcher-trigger-hover-color: var(--menu-item-highlighted-color);
|
|
30
31
|
--app-launcher-tile-highlighted-bg: var(--menu-item-highlighted-bg);
|
|
@@ -603,6 +604,7 @@ html.dark .surface-light {
|
|
|
603
604
|
--site-nav-item-color: var(--color-text-on-light);
|
|
604
605
|
--site-nav-item-hover-color: var(--color-text-on-light);
|
|
605
606
|
--site-nav-item-hover-line-width: var(--link-underline-width);
|
|
607
|
+
--site-nav-item-disabled-color: var(--color-disabled-text-on-light);
|
|
606
608
|
--site-nav-focus-ring-color: var(--color-primary);
|
|
607
609
|
--stat-tile-border-color: var(--card-outline-border-color);
|
|
608
610
|
--stat-tile-label-color: var(--color-text-muted-on-light);
|
package/src/tokens/tokens.json
CHANGED
|
@@ -191,6 +191,7 @@
|
|
|
191
191
|
"--app-launcher-trigger-label-color": "#111e30",
|
|
192
192
|
"--app-launcher-content-min-width": "20rem",
|
|
193
193
|
"--app-launcher-content-columns": "3",
|
|
194
|
+
"--app-launcher-content-columns-narrow": "2",
|
|
194
195
|
"--app-launcher-content-gap": "0.25rem",
|
|
195
196
|
"--app-launcher-content-bg": "#ffffff",
|
|
196
197
|
"--app-launcher-content-border-width": "1px",
|
|
@@ -206,12 +207,14 @@
|
|
|
206
207
|
"--app-launcher-tile-padding-block": "0.5rem",
|
|
207
208
|
"--app-launcher-tile-padding-inline": "1rem",
|
|
208
209
|
"--app-launcher-tile-gap": "0.25rem",
|
|
210
|
+
"--app-launcher-tile-badge-block-size": "calc(0.875rem * 1 + 2 * 0.25rem)",
|
|
209
211
|
"--app-launcher-tile-border-radius": "0px",
|
|
210
212
|
"--app-launcher-tile-name-font-size": "0.875rem",
|
|
211
213
|
"--app-launcher-tile-name-font-weight": "300",
|
|
212
214
|
"--app-launcher-tile-name-line-height": "1.3",
|
|
213
215
|
"--app-launcher-tile-name-color": "#111e30",
|
|
214
216
|
"--app-launcher-tile-name-active-font-weight": "500",
|
|
217
|
+
"--app-launcher-tile-disabled-color": "#4a4a4a",
|
|
215
218
|
"--app-launcher-trigger-hover-bg": "#111e30",
|
|
216
219
|
"--app-launcher-trigger-hover-color": "#ffffff",
|
|
217
220
|
"--app-launcher-tile-highlighted-bg": "#111e30",
|
|
@@ -2886,6 +2889,9 @@
|
|
|
2886
2889
|
"--site-nav-item-hover-color": "#111e30",
|
|
2887
2890
|
"--site-nav-item-underline-offset": "2px",
|
|
2888
2891
|
"--site-nav-item-hover-line-width": "1px",
|
|
2892
|
+
"--site-nav-item-disabled-color": "#4a4a4a",
|
|
2893
|
+
"--site-nav-item-badge-gap": "0.5rem",
|
|
2894
|
+
"--site-nav-item-column-gap": "2rem",
|
|
2889
2895
|
"--site-nav-item-current-font-weight": "300",
|
|
2890
2896
|
"--site-nav-focus-ring-width": "2px",
|
|
2891
2897
|
"--site-nav-focus-ring-offset": "2px",
|