@studiolxd/brand 49.12.0 → 49.14.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@studiolxd/brand",
3
- "version": "49.12.0",
3
+ "version": "49.14.0",
4
4
  "description": "El sistema de diseño de Studio LXD: componentes React, tokens y documentación de la suite SLXD.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -838,6 +838,11 @@
838
838
  "import": "./dist/org-chart.js",
839
839
  "default": "./dist/org-chart.js"
840
840
  },
841
+ "./site-search": {
842
+ "types": "./dist/_types/organisms/SiteSearch/SiteSearch.d.ts",
843
+ "import": "./dist/site-search.js",
844
+ "default": "./dist/site-search.js"
845
+ },
841
846
  "./planning-grid": {
842
847
  "types": "./dist/_types/organisms/PlanningGrid/PlanningGrid.d.ts",
843
848
  "import": "./dist/planning-grid.js",
@@ -160,6 +160,7 @@
160
160
  @import "./molecules/recurrence-field.css";
161
161
  @import "./molecules/planning-grid.css";
162
162
  @import "./molecules/org-chart.css";
163
+ @import "./molecules/site-search.css";
163
164
  @import "./molecules/copy-button.css";
164
165
  @import "./molecules/confirm-dialog.css";
165
166
  @import "./molecules/avatar-upload.css";
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ :root {
6
+ --site-search-ghost-section-inline-size: 30%; /** Ancho de la barra fantasma del rastro de sección */
7
+ --site-search-ghost-title-inline-size: 70%; /** Ancho de la barra fantasma del título */
8
+ --site-search-ghost-url-inline-size: 45%; /** Ancho de la barra fantasma de la dirección */
9
+ --site-search-inline-size: var(--input-width); /** Anchura del buscador: la de su contenedor. Es la página de resultados entera, así que ocupa todo el hueco donde se monte — declarada y no heredada del flujo, para que tampoco se encoja dentro de una fila flex o una celda de retícula */
10
+ --site-search-gap: var(--spacing-5); /** Aire entre los bloques del buscador: el formulario, el aviso de estado, los resultados y el pie */
11
+ --site-search-block-gap: var(--spacing-3); /** Aire entre las líneas de un bloque de estado (reposo, escribiendo, carga) */
12
+ --site-search-status-line-height: var(--line-height-normal); /** Interlineado del aviso de estado */
13
+ --site-search-status-gap: var(--spacing-2); /** Aire entre el indicador de carga y su texto */
14
+ --site-search-results-gap: var(--spacing-6); /** Aire entre dos resultados (32px). Sin filete que los separe, es el aire el que dice dónde acaba uno y empieza el siguiente: tiene que ser claramente mayor que el que hay entre las líneas de un mismo resultado */
15
+ --site-search-result-gap: var(--spacing-2); /** Aire entre las cuatro líneas de un resultado: sección, título, extracto y dirección */
16
+ --site-search-result-title-line-height: var(--line-height-snug); /** Interlineado del título del resultado: el de un título, más cerrado que el del texto que lleva debajo */
17
+ --site-search-result-measure: var(--content-measure); /** Medida de lectura del extracto: la del sistema (70ch). El filete y la lista siguen ocupando todo el ancho —son estructura—, pero el texto que se lee para decidir si el resultado sirve no se estira a lo ancho de una pantalla grande */
18
+ --site-search-suggestions-gap: var(--spacing-2); /** Aire entre las sugerencias de búsqueda */
19
+ --site-search-suggestions-label-font-size: var(--font-size-0); /** Cuerpo del rótulo de las sugerencias */
20
+ --site-search-skeleton-gap: var(--spacing-2); /** Aire entre las barras de un resultado fantasma */
21
+ --site-search-status-font-size: var(--text-paragraph-small-font-size); /** Cuerpo del aviso de estado: cuántos resultados hay, que se está buscando o que no hay nada */
22
+ --site-search-status-color: var(--color-text-muted-on-light); /** Color del aviso de estado — atenuado: acompaña a los resultados, no compite con ellos */
23
+ --site-search-status-query-font-weight: var(--font-weight-emphasis); /** Peso de la consulta dentro del aviso: lo único que cambia de una búsqueda a otra */
24
+ --site-search-result-title-font-size: var(--text-paragraph-large-font-size); /** Cuerpo del título del resultado: un peldaño por encima del cuerpo de la superficie, para que siga mandando ahora que el extracto y la dirección leen al cuerpo entero */
25
+ --site-search-result-title-font-weight: var(--font-weight-emphasis); /** Peso del título del resultado */
26
+ --site-search-result-title-color: var(--color-text-on-light); /** Color del título del resultado */
27
+ --site-search-result-section-font-size: var(--text-font-size); /** Cuerpo del rastro de sección («Documentación › Creator»): el cuerpo de la superficie, que en la página pública es el grande. Lo que lo separa del extracto es la tinta atenuada, no un cuerpo menor */
28
+ --site-search-result-section-line-height: var(--text-line-height); /** Interlineado del rastro de sección */
29
+ --site-search-result-section-color: var(--color-text-muted-on-light); /** Color del rastro de sección — atenuado */
30
+ --site-search-result-excerpt-font-size: var(--text-font-size); /** Cuerpo del extracto: el cuerpo de la superficie, que en la página pública es el grande (20px). Es el texto que se lee para decidir si el resultado sirve, así que lee a la talla de lectura de la página, no a una menor */
31
+ --site-search-result-excerpt-line-height: var(--text-line-height); /** Interlineado del extracto: el del cuerpo de la superficie */
32
+ --site-search-result-excerpt-color: var(--color-text-on-light); /** Color del extracto — la tinta de la superficie: es lo que se lee para decidir si el resultado sirve */
33
+ --site-search-result-url-font-size: var(--text-font-size); /** Cuerpo de la dirección del resultado: el cuerpo de la superficie, el mismo que el extracto y el rastro de sección */
34
+ --site-search-result-url-line-height: var(--text-line-height); /** Interlineado de la dirección */
35
+ --site-search-result-url-color: var(--color-text-muted-on-light); /** Color de la dirección — atenuada */
36
+ --site-search-result-link-hover-line-width: var(--border-width-default); /** Grosor de la línea bajo el título del resultado con el puntero encima. Un estado se marca con una línea de tinta, nunca con relleno */
37
+ --site-search-result-link-hover-line-offset: var(--link-underline-offset); /** Separación entre el título y su línea de hover. Apunta a la del enlace: en el DS todo subrayado se separa del texto lo mismo */
38
+ --site-search-result-focus-ring-color: var(--color-primary); /** Color del anillo de foco del enlace del resultado */
39
+ --site-search-result-focus-ring-width: var(--border-width-focus); /** Grosor del anillo de foco */
40
+ --site-search-result-focus-ring-offset: var(--border-width-default); /** Separación del anillo de foco */
41
+ --site-search-result-mark-bg: var(--color-accent-2); /** Fondo del resaltado de coincidencias (`<mark>`): el amarillo de marca, el mismo que usa `DocsSearch`. Es un relleno autocontenido —fondo y tinta emparejados—, así que no cambia en superficie oscura */
42
+ --site-search-result-mark-color: var(--color-text-on-light); /** Tinta del resaltado sobre el amarillo */
43
+ --site-search-suggestions-label-color: var(--color-text-muted-on-light); /** Color del rótulo de las sugerencias — atenuado */
44
+ }
45
+
46
+ .surface-dark,
47
+ .surface-invert,
48
+ [data-theme="dark"],
49
+ html.dark {
50
+ --site-search-result-focus-ring-color: var(--color-text-on-dark); /** Anillo de foco del enlace del resultado — surface-dark */
51
+ --site-search-status-color: var(--color-text-muted-on-dark); /** Aviso de estado — surface-dark */
52
+ --site-search-result-title-color: var(--color-text-on-dark); /** Título del resultado — surface-dark */
53
+ --site-search-result-section-color: var(--color-text-muted-on-dark); /** Rastro de sección — surface-dark */
54
+ --site-search-result-excerpt-color: var(--color-text-on-dark); /** Extracto — surface-dark */
55
+ --site-search-result-url-color: var(--color-text-muted-on-dark); /** Dirección del resultado — surface-dark */
56
+ --site-search-suggestions-label-color: var(--color-text-muted-on-dark); /** Rótulo de las sugerencias — surface-dark */
57
+ }
@@ -0,0 +1,7 @@
1
+ import siteSearch from '../../../tokens/organism/site-search.json';
2
+ import { flattenTokens } from '../utils';
3
+
4
+ const all = flattenTokens(siteSearch as never);
5
+
6
+ export const siteSearchBaseTokens = all.filter(t => !t.name.includes('surface-dark'));
7
+ export const siteSearchDarkTokens = all.filter(t => t.name.includes('surface-dark'));
@@ -166,5 +166,6 @@
166
166
  @import 'molecules/recurrence-field';
167
167
  @import 'molecules/planning-grid';
168
168
  @import 'molecules/org-chart';
169
+ @import 'molecules/site-search';
169
170
  @import 'molecules/recovery-codes';
170
171
  @import 'molecules/connector-auth';
@@ -166,5 +166,6 @@
166
166
  @forward 'molecules/recurrence-field';
167
167
  @forward 'molecules/planning-grid';
168
168
  @forward 'molecules/org-chart';
169
+ @forward 'molecules/site-search';
169
170
  @forward 'molecules/recovery-codes';
170
171
  @forward 'molecules/connector-auth';
@@ -0,0 +1,41 @@
1
+
2
+ // Do not edit directly, this file was auto-generated.
3
+
4
+ $lxd-site-search-inline-size: 100%; // Anchura del buscador: la de su contenedor. Es la página de resultados entera, así que ocupa todo el hueco donde se monte — declarada y no heredada del flujo, para que tampoco se encoja dentro de una fila flex o una celda de retícula
5
+ $lxd-site-search-gap: 1.5rem; // Aire entre los bloques del buscador: el formulario, el aviso de estado, los resultados y el pie
6
+ $lxd-site-search-block-gap: 0.75rem; // Aire entre las líneas de un bloque de estado (reposo, escribiendo, carga)
7
+ $lxd-site-search-status-font-size: 0.875rem; // Cuerpo del aviso de estado: cuántos resultados hay, que se está buscando o que no hay nada
8
+ $lxd-site-search-status-line-height: 1.5; // Interlineado del aviso de estado
9
+ $lxd-site-search-status-color: #4a4a4a; // Color del aviso de estado — atenuado: acompaña a los resultados, no compite con ellos
10
+ $lxd-site-search-status-gap: 0.5rem; // Aire entre el indicador de carga y su texto
11
+ $lxd-site-search-status-query-font-weight: 500; // Peso de la consulta dentro del aviso: lo único que cambia de una búsqueda a otra
12
+ $lxd-site-search-results-gap: 2rem; // Aire entre dos resultados (32px). Sin filete que los separe, es el aire el que dice dónde acaba uno y empieza el siguiente: tiene que ser claramente mayor que el que hay entre las líneas de un mismo resultado
13
+ $lxd-site-search-result-gap: 0.5rem; // Aire entre las cuatro líneas de un resultado: sección, título, extracto y dirección
14
+ $lxd-site-search-result-title-font-size: 1.25rem; // Cuerpo del título del resultado: un peldaño por encima del cuerpo de la superficie, para que siga mandando ahora que el extracto y la dirección leen al cuerpo entero
15
+ $lxd-site-search-result-title-line-height: 1.3; // Interlineado del título del resultado: el de un título, más cerrado que el del texto que lleva debajo
16
+ $lxd-site-search-result-title-font-weight: 500; // Peso del título del resultado
17
+ $lxd-site-search-result-title-color: #111e30; // Color del título del resultado
18
+ $lxd-site-search-result-section-font-size: 1rem; // Cuerpo del rastro de sección («Documentación › Creator»): el cuerpo de la superficie, que en la página pública es el grande. Lo que lo separa del extracto es la tinta atenuada, no un cuerpo menor
19
+ $lxd-site-search-result-section-line-height: 1.5; // Interlineado del rastro de sección
20
+ $lxd-site-search-result-section-color: #4a4a4a; // Color del rastro de sección — atenuado
21
+ $lxd-site-search-result-excerpt-font-size: 1rem; // Cuerpo del extracto: el cuerpo de la superficie, que en la página pública es el grande (20px). Es el texto que se lee para decidir si el resultado sirve, así que lee a la talla de lectura de la página, no a una menor
22
+ $lxd-site-search-result-excerpt-line-height: 1.5; // Interlineado del extracto: el del cuerpo de la superficie
23
+ $lxd-site-search-result-excerpt-color: #111e30; // Color del extracto — la tinta de la superficie: es lo que se lee para decidir si el resultado sirve
24
+ $lxd-site-search-result-measure: 70ch; // Medida de lectura del extracto: la del sistema (70ch). El filete y la lista siguen ocupando todo el ancho —son estructura—, pero el texto que se lee para decidir si el resultado sirve no se estira a lo ancho de una pantalla grande
25
+ $lxd-site-search-result-url-font-size: 1rem; // Cuerpo de la dirección del resultado: el cuerpo de la superficie, el mismo que el extracto y el rastro de sección
26
+ $lxd-site-search-result-url-line-height: 1.5; // Interlineado de la dirección
27
+ $lxd-site-search-result-url-color: #4a4a4a; // Color de la dirección — atenuada
28
+ $lxd-site-search-result-link-hover-line-width: 1px; // Grosor de la línea bajo el título del resultado con el puntero encima. Un estado se marca con una línea de tinta, nunca con relleno
29
+ $lxd-site-search-result-link-hover-line-offset: 0.25rem; // Separación entre el título y su línea de hover. Apunta a la del enlace: en el DS todo subrayado se separa del texto lo mismo
30
+ $lxd-site-search-result-focus-ring-color: #111e30; // Color del anillo de foco del enlace del resultado
31
+ $lxd-site-search-result-focus-ring-width: 2px; // Grosor del anillo de foco
32
+ $lxd-site-search-result-focus-ring-offset: 1px; // Separación del anillo de foco
33
+ $lxd-site-search-result-mark-bg: #ffcd00; // Fondo del resaltado de coincidencias (`<mark>`): el amarillo de marca, el mismo que usa `DocsSearch`. Es un relleno autocontenido —fondo y tinta emparejados—, así que no cambia en superficie oscura
34
+ $lxd-site-search-result-mark-color: #111e30; // Tinta del resaltado sobre el amarillo
35
+ $lxd-site-search-suggestions-gap: 0.5rem; // Aire entre las sugerencias de búsqueda
36
+ $lxd-site-search-suggestions-label-font-size: 0.75rem; // Cuerpo del rótulo de las sugerencias
37
+ $lxd-site-search-suggestions-label-color: #4a4a4a; // Color del rótulo de las sugerencias — atenuado
38
+ $lxd-site-search-ghost-section-inline-size: 30%; // Ancho de la barra fantasma del rastro de sección
39
+ $lxd-site-search-ghost-title-inline-size: 70%; // Ancho de la barra fantasma del título
40
+ $lxd-site-search-ghost-url-inline-size: 45%; // Ancho de la barra fantasma de la dirección
41
+ $lxd-site-search-skeleton-gap: 0.5rem; // Aire entre las barras de un resultado fantasma
@@ -740,4 +740,11 @@ html.dark .surface-invert {
740
740
  --planning-grid-footer-bg: var(--color-surface-secondary-on-light);
741
741
  --planning-grid-footer-color: var(--color-text-on-light);
742
742
  --planning-grid-over-color: var(--color-error-text-on-light);
743
+ --site-search-status-color: var(--color-text-muted-on-light);
744
+ --site-search-result-title-color: var(--color-text-on-light);
745
+ --site-search-result-section-color: var(--color-text-muted-on-light);
746
+ --site-search-result-excerpt-color: var(--color-text-on-light);
747
+ --site-search-result-url-color: var(--color-text-muted-on-light);
748
+ --site-search-result-focus-ring-color: var(--color-primary);
749
+ --site-search-suggestions-label-color: var(--color-text-muted-on-light);
743
750
  }
@@ -741,4 +741,11 @@ html.dark .surface-light {
741
741
  --planning-grid-footer-bg: var(--color-surface-secondary-on-light);
742
742
  --planning-grid-footer-color: var(--color-text-on-light);
743
743
  --planning-grid-over-color: var(--color-error-text-on-light);
744
+ --site-search-status-color: var(--color-text-muted-on-light);
745
+ --site-search-result-title-color: var(--color-text-on-light);
746
+ --site-search-result-section-color: var(--color-text-muted-on-light);
747
+ --site-search-result-excerpt-color: var(--color-text-on-light);
748
+ --site-search-result-url-color: var(--color-text-muted-on-light);
749
+ --site-search-result-focus-ring-color: var(--color-primary);
750
+ --site-search-suggestions-label-color: var(--color-text-muted-on-light);
744
751
  }
@@ -278,4 +278,12 @@
278
278
  --annotation-thread-body-line-height: var(--text-line-height);
279
279
  --annotation-thread-replies-label-font-size: var(--text-paragraph-small-font-size);
280
280
  --connector-auth-untrusted-toggle-font-size: var(--text-paragraph-small-font-size);
281
+ --site-search-status-font-size: var(--text-paragraph-small-font-size);
282
+ --site-search-result-title-font-size: var(--text-paragraph-large-font-size);
283
+ --site-search-result-section-font-size: var(--text-font-size);
284
+ --site-search-result-section-line-height: var(--text-line-height);
285
+ --site-search-result-excerpt-font-size: var(--text-font-size);
286
+ --site-search-result-excerpt-line-height: var(--text-line-height);
287
+ --site-search-result-url-font-size: var(--text-font-size);
288
+ --site-search-result-url-line-height: var(--text-line-height);
281
289
  }
@@ -3402,6 +3402,44 @@
3402
3402
  "--planning-grid-pending-opacity": "0.4",
3403
3403
  "--public-page-shell-preferences-padding-block": "1.5rem",
3404
3404
  "--public-page-shell-preferences-gap": "0.75rem",
3405
+ "--site-search-inline-size": "100%",
3406
+ "--site-search-gap": "1.5rem",
3407
+ "--site-search-block-gap": "0.75rem",
3408
+ "--site-search-status-font-size": "0.875rem",
3409
+ "--site-search-status-line-height": "1.5",
3410
+ "--site-search-status-color": "#4a4a4a",
3411
+ "--site-search-status-gap": "0.5rem",
3412
+ "--site-search-status-query-font-weight": "500",
3413
+ "--site-search-results-gap": "2rem",
3414
+ "--site-search-result-gap": "0.5rem",
3415
+ "--site-search-result-title-font-size": "1.25rem",
3416
+ "--site-search-result-title-line-height": "1.3",
3417
+ "--site-search-result-title-font-weight": "500",
3418
+ "--site-search-result-title-color": "#111e30",
3419
+ "--site-search-result-section-font-size": "1rem",
3420
+ "--site-search-result-section-line-height": "1.5",
3421
+ "--site-search-result-section-color": "#4a4a4a",
3422
+ "--site-search-result-excerpt-font-size": "1rem",
3423
+ "--site-search-result-excerpt-line-height": "1.5",
3424
+ "--site-search-result-excerpt-color": "#111e30",
3425
+ "--site-search-result-measure": "70ch",
3426
+ "--site-search-result-url-font-size": "1rem",
3427
+ "--site-search-result-url-line-height": "1.5",
3428
+ "--site-search-result-url-color": "#4a4a4a",
3429
+ "--site-search-result-link-hover-line-width": "1px",
3430
+ "--site-search-result-link-hover-line-offset": "0.25rem",
3431
+ "--site-search-result-focus-ring-color": "#111e30",
3432
+ "--site-search-result-focus-ring-width": "2px",
3433
+ "--site-search-result-focus-ring-offset": "1px",
3434
+ "--site-search-result-mark-bg": "#ffcd00",
3435
+ "--site-search-result-mark-color": "#111e30",
3436
+ "--site-search-suggestions-gap": "0.5rem",
3437
+ "--site-search-suggestions-label-font-size": "0.75rem",
3438
+ "--site-search-suggestions-label-color": "#4a4a4a",
3439
+ "--site-search-ghost-section-inline-size": "30%",
3440
+ "--site-search-ghost-title-inline-size": "70%",
3441
+ "--site-search-ghost-url-inline-size": "45%",
3442
+ "--site-search-skeleton-gap": "0.5rem",
3405
3443
  "--steps-gap": "1.5rem",
3406
3444
  "--steps-marker-gap": "1rem",
3407
3445
  "--steps-body-gap": "0.5rem",