@studiolxd/brand 49.12.0 → 49.13.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.13.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,59 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ :root {
6
+ --site-search-field-basis: 12rem; /** Ancho a partir del cual el campo y el botón dejan de caber en la misma línea: por debajo, el botón se va abajo. Es el ancho mínimo con el que el campo sigue siendo un campo de búsqueda y no una casilla */
7
+ --site-search-ghost-section-inline-size: 30%; /** Ancho de la barra fantasma del rastro de sección */
8
+ --site-search-ghost-title-inline-size: 70%; /** Ancho de la barra fantasma del título */
9
+ --site-search-ghost-url-inline-size: 45%; /** Ancho de la barra fantasma de la dirección */
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-form-gap: var(--spacing-2); /** Aire entre el campo y el botón de buscar */
12
+ --site-search-block-gap: var(--spacing-3); /** Aire entre las líneas de un bloque de estado (reposo, escribiendo, carga) */
13
+ --site-search-status-line-height: var(--line-height-normal); /** Interlineado del aviso de estado */
14
+ --site-search-status-gap: var(--spacing-2); /** Aire entre el indicador de carga y su texto */
15
+ --site-search-results-gap: var(--spacing-4); /** Aire entre dos resultados */
16
+ --site-search-result-gap: var(--spacing-1); /** Aire entre las cuatro líneas de un resultado: sección, título, extracto y dirección */
17
+ --site-search-result-padding-block: var(--spacing-4); /** Aire sobre el separador de cada resultado */
18
+ --site-search-result-section-font-size: var(--font-size-0); /** Cuerpo del rastro de sección («Documentación › Creator») */
19
+ --site-search-result-excerpt-line-height: var(--line-height-normal); /** Interlineado del extracto */
20
+ --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 */
21
+ --site-search-result-url-font-size: var(--font-size-0); /** Cuerpo de la dirección del resultado */
22
+ --site-search-suggestions-gap: var(--spacing-2); /** Aire entre las sugerencias de búsqueda */
23
+ --site-search-suggestions-label-font-size: var(--font-size-0); /** Cuerpo del rótulo de las sugerencias */
24
+ --site-search-skeleton-gap: var(--spacing-2); /** Aire entre las barras de un resultado fantasma */
25
+ --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 */
26
+ --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 */
27
+ --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 */
28
+ --site-search-result-separator-color: var(--color-border-default-on-light); /** Filete que separa dos resultados */
29
+ --site-search-result-separator-width: var(--border-width-default); /** Grosor del filete que separa dos resultados */
30
+ --site-search-result-title-font-size: var(--text-font-size); /** Cuerpo del título del resultado: el del texto que indexa */
31
+ --site-search-result-title-font-weight: var(--font-weight-emphasis); /** Peso del título del resultado */
32
+ --site-search-result-title-color: var(--color-text-on-light); /** Color del título del resultado */
33
+ --site-search-result-section-color: var(--color-text-muted-on-light); /** Color del rastro de sección — atenuado */
34
+ --site-search-result-excerpt-font-size: var(--text-paragraph-small-font-size); /** Cuerpo del extracto: un peldaño por debajo del título */
35
+ --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 */
36
+ --site-search-result-url-color: var(--color-text-muted-on-light); /** Color de la dirección — atenuada */
37
+ --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 */
38
+ --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 */
39
+ --site-search-result-focus-ring-color: var(--color-primary); /** Color del anillo de foco del enlace del resultado */
40
+ --site-search-result-focus-ring-width: var(--border-width-focus); /** Grosor del anillo de foco */
41
+ --site-search-result-focus-ring-offset: var(--border-width-default); /** Separación del anillo de foco */
42
+ --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 */
43
+ --site-search-result-mark-color: var(--color-text-on-light); /** Tinta del resaltado sobre el amarillo */
44
+ --site-search-suggestions-label-color: var(--color-text-muted-on-light); /** Color del rótulo de las sugerencias — atenuado */
45
+ }
46
+
47
+ .surface-dark,
48
+ .surface-invert,
49
+ [data-theme="dark"],
50
+ html.dark {
51
+ --site-search-result-focus-ring-color: var(--color-text-on-dark); /** Anillo de foco del enlace del resultado — surface-dark */
52
+ --site-search-status-color: var(--color-text-muted-on-dark); /** Aviso de estado — surface-dark */
53
+ --site-search-result-separator-color: var(--color-text-on-dark); /** Filete entre resultados — surface-dark */
54
+ --site-search-result-title-color: var(--color-text-on-dark); /** Título del resultado — surface-dark */
55
+ --site-search-result-section-color: var(--color-text-muted-on-dark); /** Rastro de sección — surface-dark */
56
+ --site-search-result-excerpt-color: var(--color-text-on-dark); /** Extracto — surface-dark */
57
+ --site-search-result-url-color: var(--color-text-muted-on-dark); /** Dirección del resultado — surface-dark */
58
+ --site-search-suggestions-label-color: var(--color-text-muted-on-dark); /** Rótulo de las sugerencias — surface-dark */
59
+ }
@@ -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,42 @@
1
+
2
+ // Do not edit directly, this file was auto-generated.
3
+
4
+ $lxd-site-search-gap: 1.5rem; // Aire entre los bloques del buscador: el formulario, el aviso de estado, los resultados y el pie
5
+ $lxd-site-search-form-gap: 0.5rem; // Aire entre el campo y el botón de buscar
6
+ $lxd-site-search-field-basis: 12rem; // Ancho a partir del cual el campo y el botón dejan de caber en la misma línea: por debajo, el botón se va abajo. Es el ancho mínimo con el que el campo sigue siendo un campo de búsqueda y no una casilla
7
+ $lxd-site-search-block-gap: 0.75rem; // Aire entre las líneas de un bloque de estado (reposo, escribiendo, carga)
8
+ $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
9
+ $lxd-site-search-status-line-height: 1.5; // Interlineado del aviso de estado
10
+ $lxd-site-search-status-color: #4a4a4a; // Color del aviso de estado — atenuado: acompaña a los resultados, no compite con ellos
11
+ $lxd-site-search-status-gap: 0.5rem; // Aire entre el indicador de carga y su texto
12
+ $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
13
+ $lxd-site-search-results-gap: 1rem; // Aire entre dos resultados
14
+ $lxd-site-search-result-gap: 0.25rem; // Aire entre las cuatro líneas de un resultado: sección, título, extracto y dirección
15
+ $lxd-site-search-result-padding-block: 1rem; // Aire sobre el separador de cada resultado
16
+ $lxd-site-search-result-separator-color: #d0d0d0; // Filete que separa dos resultados
17
+ $lxd-site-search-result-separator-width: 1px; // Grosor del filete que separa dos resultados
18
+ $lxd-site-search-result-title-font-size: 1rem; // Cuerpo del título del resultado: el del texto que indexa
19
+ $lxd-site-search-result-title-font-weight: 500; // Peso del título del resultado
20
+ $lxd-site-search-result-title-color: #111e30; // Color del título del resultado
21
+ $lxd-site-search-result-section-font-size: 0.75rem; // Cuerpo del rastro de sección («Documentación › Creator»)
22
+ $lxd-site-search-result-section-color: #4a4a4a; // Color del rastro de sección — atenuado
23
+ $lxd-site-search-result-excerpt-font-size: 0.875rem; // Cuerpo del extracto: un peldaño por debajo del título
24
+ $lxd-site-search-result-excerpt-line-height: 1.5; // Interlineado del extracto
25
+ $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
26
+ $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
27
+ $lxd-site-search-result-url-font-size: 0.75rem; // Cuerpo de la dirección del resultado
28
+ $lxd-site-search-result-url-color: #4a4a4a; // Color de la dirección — atenuada
29
+ $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
30
+ $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
31
+ $lxd-site-search-result-focus-ring-color: #111e30; // Color del anillo de foco del enlace del resultado
32
+ $lxd-site-search-result-focus-ring-width: 2px; // Grosor del anillo de foco
33
+ $lxd-site-search-result-focus-ring-offset: 1px; // Separación del anillo de foco
34
+ $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
35
+ $lxd-site-search-result-mark-color: #111e30; // Tinta del resaltado sobre el amarillo
36
+ $lxd-site-search-suggestions-gap: 0.5rem; // Aire entre las sugerencias de búsqueda
37
+ $lxd-site-search-suggestions-label-font-size: 0.75rem; // Cuerpo del rótulo de las sugerencias
38
+ $lxd-site-search-suggestions-label-color: #4a4a4a; // Color del rótulo de las sugerencias — atenuado
39
+ $lxd-site-search-ghost-section-inline-size: 30%; // Ancho de la barra fantasma del rastro de sección
40
+ $lxd-site-search-ghost-title-inline-size: 70%; // Ancho de la barra fantasma del título
41
+ $lxd-site-search-ghost-url-inline-size: 45%; // Ancho de la barra fantasma de la dirección
42
+ $lxd-site-search-skeleton-gap: 0.5rem; // Aire entre las barras de un resultado fantasma
@@ -740,4 +740,12 @@ 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-separator-color: var(--color-border-default-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);
743
751
  }
@@ -741,4 +741,12 @@ 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-separator-color: var(--color-border-default-on-light);
746
+ --site-search-result-title-color: var(--color-text-on-light);
747
+ --site-search-result-section-color: var(--color-text-muted-on-light);
748
+ --site-search-result-excerpt-color: var(--color-text-on-light);
749
+ --site-search-result-url-color: var(--color-text-muted-on-light);
750
+ --site-search-result-focus-ring-color: var(--color-primary);
751
+ --site-search-suggestions-label-color: var(--color-text-muted-on-light);
744
752
  }
@@ -278,4 +278,7 @@
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-font-size);
283
+ --site-search-result-excerpt-font-size: var(--text-paragraph-small-font-size);
281
284
  }
@@ -3402,6 +3402,45 @@
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-gap": "1.5rem",
3406
+ "--site-search-form-gap": "0.5rem",
3407
+ "--site-search-field-basis": "12rem",
3408
+ "--site-search-block-gap": "0.75rem",
3409
+ "--site-search-status-font-size": "0.875rem",
3410
+ "--site-search-status-line-height": "1.5",
3411
+ "--site-search-status-color": "#4a4a4a",
3412
+ "--site-search-status-gap": "0.5rem",
3413
+ "--site-search-status-query-font-weight": "500",
3414
+ "--site-search-results-gap": "1rem",
3415
+ "--site-search-result-gap": "0.25rem",
3416
+ "--site-search-result-padding-block": "1rem",
3417
+ "--site-search-result-separator-color": "#d0d0d0",
3418
+ "--site-search-result-separator-width": "1px",
3419
+ "--site-search-result-title-font-size": "1rem",
3420
+ "--site-search-result-title-font-weight": "500",
3421
+ "--site-search-result-title-color": "#111e30",
3422
+ "--site-search-result-section-font-size": "0.75rem",
3423
+ "--site-search-result-section-color": "#4a4a4a",
3424
+ "--site-search-result-excerpt-font-size": "0.875rem",
3425
+ "--site-search-result-excerpt-line-height": "1.5",
3426
+ "--site-search-result-excerpt-color": "#111e30",
3427
+ "--site-search-result-measure": "70ch",
3428
+ "--site-search-result-url-font-size": "0.75rem",
3429
+ "--site-search-result-url-color": "#4a4a4a",
3430
+ "--site-search-result-link-hover-line-width": "1px",
3431
+ "--site-search-result-link-hover-line-offset": "0.25rem",
3432
+ "--site-search-result-focus-ring-color": "#111e30",
3433
+ "--site-search-result-focus-ring-width": "2px",
3434
+ "--site-search-result-focus-ring-offset": "1px",
3435
+ "--site-search-result-mark-bg": "#ffcd00",
3436
+ "--site-search-result-mark-color": "#111e30",
3437
+ "--site-search-suggestions-gap": "0.5rem",
3438
+ "--site-search-suggestions-label-font-size": "0.75rem",
3439
+ "--site-search-suggestions-label-color": "#4a4a4a",
3440
+ "--site-search-ghost-section-inline-size": "30%",
3441
+ "--site-search-ghost-title-inline-size": "70%",
3442
+ "--site-search-ghost-url-inline-size": "45%",
3443
+ "--site-search-skeleton-gap": "0.5rem",
3405
3444
  "--steps-gap": "1.5rem",
3406
3445
  "--steps-marker-gap": "1rem",
3407
3446
  "--steps-body-gap": "0.5rem",