@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/CHANGELOG.md +36 -0
- package/dist/_shared/tokens.js +38 -0
- package/dist/_types/messages/BrandMessages.d.ts +3 -1
- package/dist/_types/messages/index.d.ts +1 -1
- package/dist/_types/molecules/SearchForm/SearchForm.d.ts +13 -0
- package/dist/_types/organisms/SiteSearch/SiteSearch.d.ts +171 -0
- package/dist/brand.css +78 -1
- package/dist/search-form.js +30 -24
- package/dist/site-search.css +1 -0
- package/dist/site-search.js +141 -0
- package/dist/tokens.css +81 -1
- package/package.json +6 -1
- package/src/tokens/index.css +1 -0
- package/src/tokens/molecules/site-search.css +57 -0
- package/src/tokens/molecules/site-search.ts +7 -0
- package/src/tokens/scss/_index.legacy.scss +1 -0
- package/src/tokens/scss/_index.scss +1 -0
- package/src/tokens/scss/molecules/_site-search.scss +41 -0
- package/src/tokens/surface-invert.css +7 -0
- package/src/tokens/surface-light.css +7 -0
- package/src/tokens/surface-public.css +8 -0
- package/src/tokens/tokens.json +38 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@studiolxd/brand",
|
|
3
|
-
"version": "49.
|
|
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",
|
package/src/tokens/index.css
CHANGED
|
@@ -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'));
|
|
@@ -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
|
}
|
package/src/tokens/tokens.json
CHANGED
|
@@ -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",
|