holygrail5 1.0.19 → 1.0.21
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/README.md +88 -18
- package/config.json +205 -77
- package/dist/assets/fonts/suisse-intl-light.woff +0 -0
- package/dist/assets/fonts/suisse-intl-light.woff2 +0 -0
- package/dist/assets/fonts/suisse-intl-medium.woff +0 -0
- package/dist/assets/fonts/suisse-intl-medium.woff2 +0 -0
- package/dist/assets/fonts/suisse-intl-regular.woff +0 -0
- package/dist/assets/fonts/suisse-intl-regular.woff2 +0 -0
- package/dist/assets/fonts/suisse-intl-semibold.woff +0 -0
- package/dist/assets/fonts/suisse-intl-semibold.woff2 +0 -0
- package/dist/assets/fonts/suisse-works-bold.woff +0 -0
- package/dist/assets/fonts/suisse-works-bold.woff2 +0 -0
- package/dist/assets/fonts/suisse-works-medium.woff +0 -0
- package/dist/assets/fonts/suisse-works-medium.woff2 +0 -0
- package/dist/assets/fonts/suisse-works-regular.woff +0 -0
- package/dist/assets/fonts/suisse-works-regular.woff2 +0 -0
- package/dist/componentes.html +429 -0
- package/dist/developer-guide.md +7 -7
- package/dist/guide-styles.css +197 -25
- package/dist/index.html +807 -689
- package/dist/output.css +217 -114
- package/dist/skills.html +14 -8
- package/dist/themes/dutti-demo.html +713 -19
- package/dist/themes/dutti.css +67 -16
- package/dist/themes/limited-demo.html +1121 -0
- package/dist/themes/limited.css +2493 -0
- package/package.json +1 -1
- package/src/.data/.previous-values.json +151 -84
- package/src/assets/fonts/suisse-intl-light.woff +0 -0
- package/src/assets/fonts/suisse-intl-light.woff2 +0 -0
- package/src/assets/fonts/suisse-intl-medium.woff +0 -0
- package/src/assets/fonts/suisse-intl-medium.woff2 +0 -0
- package/src/assets/fonts/suisse-intl-regular.woff +0 -0
- package/src/assets/fonts/suisse-intl-regular.woff2 +0 -0
- package/src/assets/fonts/suisse-intl-semibold.woff +0 -0
- package/src/assets/fonts/suisse-intl-semibold.woff2 +0 -0
- package/src/assets/fonts/suisse-works-bold.woff +0 -0
- package/src/assets/fonts/suisse-works-bold.woff2 +0 -0
- package/src/assets/fonts/suisse-works-medium.woff +0 -0
- package/src/assets/fonts/suisse-works-medium.woff2 +0 -0
- package/src/assets/fonts/suisse-works-regular.woff +0 -0
- package/src/assets/fonts/suisse-works-regular.woff2 +0 -0
- package/src/build/asset-manager.js +94 -3
- package/src/build/build-orchestrator.js +74 -12
- package/src/build/components-generator.js +584 -0
- package/src/build/skills-generator.js +43 -5
- package/src/build/theme-config-loader.js +58 -0
- package/src/build/theme-transformer.js +109 -16
- package/src/build/theme-vars-table-generator.js +349 -0
- package/src/build/typo-table-generator.js +154 -0
- package/src/docs-generator/guide-styles.css +197 -24
- package/src/docs-generator/html-generator.js +92 -246
- package/src/docs-generator/sections/colors-section.js +109 -0
- package/src/docs-generator/value-tracker.js +154 -0
- package/src/generators/typo-generator.js +2 -1
- package/src/generators/utils.js +90 -1
- package/src/skills.html +1 -0
- package/src/watch-config.js +99 -32
- package/themes/{dutti → _base}/_buttons.css +2 -2
- package/themes/{dutti → _base}/_checkboxes.css +1 -1
- package/themes/{dutti → _base}/_forms.css +1 -1
- package/themes/{dutti → _base}/_inputs.css +55 -10
- package/themes/{dutti → _base}/_labels.css +1 -1
- package/themes/dutti/README.md +67 -21
- package/themes/dutti/_variables.css +7 -1
- package/themes/dutti/demo.html +18 -14
- package/themes/dutti/theme.css +22 -44
- package/themes/dutti/theme.json +86 -0
- package/themes/limited/_variables.css +123 -0
- package/themes/limited/demo.html +296 -0
- package/themes/limited/theme.css +32 -0
- package/themes/limited/theme.json +105 -0
- /package/themes/{dutti → _base}/_containers.css +0 -0
- /package/themes/{dutti → _base}/_radios.css +0 -0
- /package/themes/{dutti → _base}/_switches.css +0 -0
- /package/themes/{dutti → _base}/components/_icons.css +0 -0
- /package/themes/{dutti → _base}/objects/_grid.css +0 -0
package/README.md
CHANGED
|
@@ -25,7 +25,10 @@ Generador de CSS + guía HTML pensado para design systems ligeros: declaras tu `
|
|
|
25
25
|
- [7. CLI y argumentos](#7-cli-y-argumentos)
|
|
26
26
|
- [8. Guía HTML interactiva](#8-guía-html-interactiva)
|
|
27
27
|
- [9. Gestión de variables históricas](#9-gestión-de-variables-históricas)
|
|
28
|
-
- [10.
|
|
28
|
+
- [10. Temas (Dutti, Limited) y demos](#10-temas-dutti-limited-y-demos)
|
|
29
|
+
- [Arquitectura compartida: `themes/_base/`](#arquitectura-compartida-themes_base)
|
|
30
|
+
- [Crear un tema nuevo](#crear-un-tema-nuevo)
|
|
31
|
+
- [Sobrescribir un componente SOLO en un tema](#sobrescribir-un-componente-solo-en-un-tema)
|
|
29
32
|
- [Flujo de desarrollo de temas](#flujo-de-desarrollo-de-temas)
|
|
30
33
|
- [11. Arquitectura del sistema](#11-arquitectura-del-sistema)
|
|
31
34
|
- [Módulos principales](#módulos-principales)
|
|
@@ -73,7 +76,7 @@ npm run serve
|
|
|
73
76
|
npm run watch # regenera al guardar config.json
|
|
74
77
|
npm run dev # watch + servidor
|
|
75
78
|
|
|
76
|
-
# 4) Genera CSS y
|
|
79
|
+
# 4) Genera CSS y todos los temas activos (Dutti, Limited, …)
|
|
77
80
|
npm run build # genera CSS, HTML, assets y temas automáticamente
|
|
78
81
|
```
|
|
79
82
|
|
|
@@ -99,7 +102,7 @@ npm run build # genera CSS, HTML, assets y temas automáticamente
|
|
|
99
102
|
- **`dist/index.html`** → Guía interactiva con navegación sticky, buscador y diffs visuales.
|
|
100
103
|
- **`dist/guide-styles.css`** → Estilos de la guía de documentación.
|
|
101
104
|
- **`dist/assets/`** → Imágenes y recursos estáticos.
|
|
102
|
-
- **`dist/themes
|
|
105
|
+
- **`dist/themes/<name>.css`** + **`dist/themes/<name>-demo.html`** → Un par de ficheros por cada tema activo en `config.themes[]`. Actualmente se generan `dutti.css` / `dutti-demo.html` y `limited.css` / `limited-demo.html`.
|
|
103
106
|
|
|
104
107
|
---
|
|
105
108
|
|
|
@@ -142,13 +145,32 @@ holygrail5/
|
|
|
142
145
|
│ ├── dev-server.js # Servidor de desarrollo
|
|
143
146
|
│ └── watch-config.js # Sistema de watch
|
|
144
147
|
│
|
|
145
|
-
├── themes/
|
|
146
|
-
│
|
|
148
|
+
├── themes/ # Sistema de temas
|
|
149
|
+
│ ├── _base/ # Componentes compartidos (fuente única)
|
|
150
|
+
│ │ ├── _buttons.css
|
|
151
|
+
│ │ ├── _inputs.css
|
|
152
|
+
│ │ ├── _labels.css
|
|
153
|
+
│ │ ├── _checkboxes.css
|
|
154
|
+
│ │ ├── _radios.css
|
|
155
|
+
│ │ ├── _switches.css
|
|
156
|
+
│ │ ├── _forms.css
|
|
157
|
+
│ │ ├── _containers.css
|
|
158
|
+
│ │ ├── objects/
|
|
159
|
+
│ │ │ └── _grid.css
|
|
160
|
+
│ │ └── components/
|
|
161
|
+
│ │ └── _icons.css
|
|
162
|
+
│ │
|
|
163
|
+
│ ├── dutti/ # Tema Dutti (paleta neutra + sans-serif)
|
|
164
|
+
│ │ ├── theme.json
|
|
165
|
+
│ │ ├── _variables.css
|
|
166
|
+
│ │ ├── theme.css # @imports a ../_base/*
|
|
167
|
+
│ │ └── demo.html
|
|
168
|
+
│ │
|
|
169
|
+
│ └── limited/ # Tema Limited (dorados + serif)
|
|
170
|
+
│ ├── theme.json
|
|
147
171
|
│ ├── _variables.css
|
|
148
|
-
│ ├──
|
|
149
|
-
│
|
|
150
|
-
│ ├── demo.html
|
|
151
|
-
│ └── theme.css
|
|
172
|
+
│ ├── theme.css # @imports a ../_base/*
|
|
173
|
+
│ └── demo.html
|
|
152
174
|
│
|
|
153
175
|
├── tests/ # Tests unitarios
|
|
154
176
|
│ ├── asset-manager.test.js
|
|
@@ -226,7 +248,7 @@ holygrail5/
|
|
|
226
248
|
| `grid` | object | Define breakpoints, columnas y gutter por tamaño. |
|
|
227
249
|
| `aspectRatios` | array | **Opcional**: Define ratios de aspecto como `.hg-aspect-16-9` con fallback automático. |
|
|
228
250
|
| `typo` | object | Clases de tipografía (obligatorio al menos un breakpoint). |
|
|
229
|
-
| `
|
|
251
|
+
| `themes` | array | Lista de temas a combinar desde `themes/<name>/`. Cada entrada es `{ name, enabled }`. El `BuildOrchestrator` genera un par `dist/themes/<name>.css` + `dist/themes/<name>-demo.html` por cada tema con `enabled: true`. Por compatibilidad hacia atrás se sigue aceptando el antiguo `theme: { name, enabled }` (un único tema). |
|
|
230
252
|
| `assets` | object | **Opcional**: `{ css: [...], images: [...] }` para configurar qué archivos copiar a `dist/`. |
|
|
231
253
|
|
|
232
254
|
### 6.3 Configuración de Assets (Opcional)
|
|
@@ -330,18 +352,66 @@ node src/docs-generator/variables-cli.js remove -- --hg-typo-font-size-18
|
|
|
330
352
|
|
|
331
353
|
---
|
|
332
354
|
|
|
333
|
-
## 10.
|
|
355
|
+
## 10. Temas (Dutti, Limited) y demos
|
|
356
|
+
|
|
357
|
+
HolyGrail5 soporta **múltiples temas simultáneos** bajo `themes/`. El build recorre el array `config.themes[]` y, para cada entrada con `enabled: true`, produce un par `dist/themes/<name>.css` + `dist/themes/<name>-demo.html`. Por defecto vienen dos temas:
|
|
358
|
+
|
|
359
|
+
- **Dutti** (`themes/dutti/`): paleta neutra con tipografía sans-serif (Suisse Intl).
|
|
360
|
+
- **Limited** (`themes/limited/`): paleta de lujo cálido (dorados + crema) con tipografía 100% serif (Suisse Works).
|
|
361
|
+
|
|
362
|
+
### Arquitectura compartida: `themes/_base/`
|
|
363
|
+
|
|
364
|
+
Los CSS de componente (`_buttons.css`, `_inputs.css`, `_checkboxes.css`, `_radios.css`, `_switches.css`, `_labels.css`, `_forms.css`, `_containers.css`, `objects/_grid.css`, `components/_icons.css`) viven **una sola vez** en `themes/_base/` y se comparten entre todos los temas. Cada tema aporta únicamente lo que lo hace distinto:
|
|
365
|
+
|
|
366
|
+
- `theme.json` — meta + `tokenOverrides.color` + `componentVars` + `design`
|
|
367
|
+
- `_variables.css` — overrides de `--hg-color-*`, `--hg-typo-font-family-*` y mapeo de componentVars (`--btn-*`, `--input-*`, …) a los tokens base
|
|
368
|
+
- `theme.css` — `@import` de `_variables.css` local + `@import` de los componentes de `../_base/*.css`
|
|
369
|
+
- `demo.html` — demo interactiva con placeholders `HG_THEME_BLOCK` y `HG_TYPO_TABLE` que el build sustituye por las tablas de variables y tipografía del tema
|
|
370
|
+
|
|
371
|
+
Como los componentes de `_base/` consumen `var(--btn-*)`, `var(--input-*)`, etc., cambiar la paleta o la tipografía en el `_variables.css` de un tema se propaga automáticamente sin tocar los componentes.
|
|
372
|
+
|
|
373
|
+
### Crear un tema nuevo
|
|
374
|
+
|
|
375
|
+
1. Crea `themes/<nombre>/` con los 4 ficheros descritos arriba (puedes partir copiando `themes/dutti/` o `themes/limited/` y ajustar `theme.json` y `_variables.css`).
|
|
376
|
+
2. Registra el tema en `config.json`:
|
|
377
|
+
|
|
378
|
+
```json
|
|
379
|
+
{
|
|
380
|
+
"themes": [
|
|
381
|
+
{ "name": "dutti", "enabled": true },
|
|
382
|
+
{ "name": "limited", "enabled": true },
|
|
383
|
+
{ "name": "<nombre>", "enabled": true }
|
|
384
|
+
]
|
|
385
|
+
}
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
3. Añade una entrada a `THEMES_IN_NAV` en `src/build/theme-transformer.js` (y a los nav estáticos de `src/docs-generator/html-generator.js`, `src/build/skills-generator.js` y `src/skills.html`) para que el nuevo tema aparezca como enlace cruzado en los demos.
|
|
389
|
+
4. `npm run build` → verifica `dist/themes/<nombre>.css` y `dist/themes/<nombre>-demo.html`.
|
|
390
|
+
|
|
391
|
+
Para guía detallada paso a paso y plantillas completas ver `skills/theme-creator/SKILL.md`.
|
|
392
|
+
|
|
393
|
+
### Sobrescribir un componente SOLO en un tema
|
|
394
|
+
|
|
395
|
+
La regla es: *"si quieres un componente distinto, machácalo en el tema"*.
|
|
396
|
+
|
|
397
|
+
1. Copia el CSS de `themes/_base/_inputs.css` a `themes/<nombre>/_inputs.css` y modifícalo.
|
|
398
|
+
2. En `themes/<nombre>/theme.css` cambia el `@import` para apuntar al fichero local:
|
|
399
|
+
|
|
400
|
+
```css
|
|
401
|
+
/* antes */
|
|
402
|
+
@import url('../_base/_inputs.css');
|
|
403
|
+
/* después */
|
|
404
|
+
@import url('_inputs.css');
|
|
405
|
+
```
|
|
334
406
|
|
|
335
|
-
|
|
336
|
-
- El `ThemeTransformer` combina el tema en `dist/themes/dutti.css`, transforma el HTML agregando sidebar, header y scripts de Lenis automáticamente.
|
|
337
|
-
- Para crear tu propio tema copia la carpeta `themes/dutti`, ajusta los ficheros y actualiza `config.json → theme.name`.
|
|
407
|
+
3. El resto de componentes sigue heredando de `_base/`. Así evitas duplicar ficheros salvo cuando realmente haya override.
|
|
338
408
|
|
|
339
409
|
### Flujo de desarrollo de temas
|
|
340
410
|
|
|
341
|
-
1. `npm run watch` detecta cambios en `themes
|
|
342
|
-
2. Los cambios en `demo.html` o
|
|
343
|
-
3.
|
|
344
|
-
4.
|
|
411
|
+
1. `npm run watch` detecta cambios en `themes/` automáticamente (tanto en `_base/` como en cada tema).
|
|
412
|
+
2. Los cambios en `demo.html`, `theme.css`, `_variables.css` o en los componentes compartidos se procesan al guardar.
|
|
413
|
+
3. Los resultados se regeneran en `dist/themes/<name>-demo.html` y `dist/themes/<name>.css`.
|
|
414
|
+
4. `npm run serve` sirve los demos en tiempo real con navegación cruzada entre todos los temas activos.
|
|
345
415
|
|
|
346
416
|
---
|
|
347
417
|
|
package/config.json
CHANGED
|
@@ -4,10 +4,16 @@
|
|
|
4
4
|
"mobile": "1px",
|
|
5
5
|
"desktop": "992px"
|
|
6
6
|
},
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
"themes": [
|
|
8
|
+
{
|
|
9
|
+
"name": "dutti",
|
|
10
|
+
"enabled": true
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "limited",
|
|
14
|
+
"enabled": true
|
|
15
|
+
}
|
|
16
|
+
],
|
|
11
17
|
"assets": {
|
|
12
18
|
"css": [
|
|
13
19
|
{
|
|
@@ -28,6 +34,64 @@
|
|
|
28
34
|
"source": "src/assets/margen.webp",
|
|
29
35
|
"dest": "dist/assets/margen.webp"
|
|
30
36
|
}
|
|
37
|
+
],
|
|
38
|
+
"fonts": [
|
|
39
|
+
{
|
|
40
|
+
"source": "src/assets/fonts/suisse-intl-light.woff2",
|
|
41
|
+
"dest": "dist/assets/fonts/suisse-intl-light.woff2"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"source": "src/assets/fonts/suisse-intl-light.woff",
|
|
45
|
+
"dest": "dist/assets/fonts/suisse-intl-light.woff"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"source": "src/assets/fonts/suisse-intl-regular.woff2",
|
|
49
|
+
"dest": "dist/assets/fonts/suisse-intl-regular.woff2"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"source": "src/assets/fonts/suisse-intl-regular.woff",
|
|
53
|
+
"dest": "dist/assets/fonts/suisse-intl-regular.woff"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"source": "src/assets/fonts/suisse-intl-medium.woff2",
|
|
57
|
+
"dest": "dist/assets/fonts/suisse-intl-medium.woff2"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"source": "src/assets/fonts/suisse-intl-medium.woff",
|
|
61
|
+
"dest": "dist/assets/fonts/suisse-intl-medium.woff"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"source": "src/assets/fonts/suisse-intl-semibold.woff2",
|
|
65
|
+
"dest": "dist/assets/fonts/suisse-intl-semibold.woff2"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"source": "src/assets/fonts/suisse-intl-semibold.woff",
|
|
69
|
+
"dest": "dist/assets/fonts/suisse-intl-semibold.woff"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"source": "src/assets/fonts/suisse-works-regular.woff2",
|
|
73
|
+
"dest": "dist/assets/fonts/suisse-works-regular.woff2"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"source": "src/assets/fonts/suisse-works-regular.woff",
|
|
77
|
+
"dest": "dist/assets/fonts/suisse-works-regular.woff"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"source": "src/assets/fonts/suisse-works-medium.woff2",
|
|
81
|
+
"dest": "dist/assets/fonts/suisse-works-medium.woff2"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"source": "src/assets/fonts/suisse-works-medium.woff",
|
|
85
|
+
"dest": "dist/assets/fonts/suisse-works-medium.woff"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"source": "src/assets/fonts/suisse-works-bold.woff2",
|
|
89
|
+
"dest": "dist/assets/fonts/suisse-works-bold.woff2"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"source": "src/assets/fonts/suisse-works-bold.woff",
|
|
93
|
+
"dest": "dist/assets/fonts/suisse-works-bold.woff"
|
|
94
|
+
}
|
|
31
95
|
]
|
|
32
96
|
},
|
|
33
97
|
"colors": {
|
|
@@ -40,27 +104,23 @@
|
|
|
40
104
|
"orange": "#B75D0B",
|
|
41
105
|
"mustard": "#FFE693",
|
|
42
106
|
"primary": "#000000",
|
|
43
|
-
"error": "#
|
|
44
|
-
"info": "#
|
|
107
|
+
"error": "#dd2d01",
|
|
108
|
+
"info": "#2037a6",
|
|
45
109
|
"success": "#12882C",
|
|
46
|
-
"warning": "#
|
|
110
|
+
"warning": "#ffce4e",
|
|
47
111
|
"feel": "#fb9962",
|
|
48
112
|
"feel-dark": "#c94c07",
|
|
49
|
-
"special": "#b99d6b",
|
|
50
|
-
"vanilla": "#F4F2ED",
|
|
51
113
|
"silver": "#87888D",
|
|
52
114
|
"gold": "#A38A6B",
|
|
53
115
|
"platinum": "#5B7FA1",
|
|
54
|
-
"
|
|
55
|
-
"bg-light": "#F0F0F0",
|
|
56
|
-
"c-bg-light": "#000000",
|
|
57
|
-
"sk-grey": "#e3e3e3",
|
|
116
|
+
"bg-light": "#f9f9f9",
|
|
58
117
|
"bg-cream": "#f4f2ed"
|
|
59
118
|
},
|
|
60
119
|
"fontFamilyMap": {
|
|
61
|
-
"primary": "
|
|
62
|
-
"primary-
|
|
63
|
-
"
|
|
120
|
+
"primary-light": "\"suisse-light\", Arial, Helvetica, sans-serif",
|
|
121
|
+
"primary-regular": "\"suisse-regular\", Arial, Helvetica, sans-serif",
|
|
122
|
+
"primary-bold": "\"suisse-semibold\", Arial, Helvetica, sans-serif",
|
|
123
|
+
"secondary": "\"suisse-medium\", Arial, Helvetica, sans-serif"
|
|
64
124
|
},
|
|
65
125
|
"spacingMap": {
|
|
66
126
|
"0": "0",
|
|
@@ -478,6 +538,16 @@
|
|
|
478
538
|
"justify": "justify"
|
|
479
539
|
}
|
|
480
540
|
},
|
|
541
|
+
"text-decoration": {
|
|
542
|
+
"property": "text-decoration",
|
|
543
|
+
"class": "text",
|
|
544
|
+
"responsive": false,
|
|
545
|
+
"description": "Decoración del texto (subrayado, etc.)",
|
|
546
|
+
"values": {
|
|
547
|
+
"underline": "underline",
|
|
548
|
+
"none": "none"
|
|
549
|
+
}
|
|
550
|
+
},
|
|
481
551
|
"position": {
|
|
482
552
|
"property": "position",
|
|
483
553
|
"class": "position",
|
|
@@ -611,7 +681,7 @@
|
|
|
611
681
|
},
|
|
612
682
|
"typo": {
|
|
613
683
|
"title-xxl": {
|
|
614
|
-
"fontFamily": "\"
|
|
684
|
+
"fontFamily": "\"suisse-regular\", Arial, Helvetica, sans-serif",
|
|
615
685
|
"fontWeight": "300",
|
|
616
686
|
"mobile": {
|
|
617
687
|
"fontSize": "24px",
|
|
@@ -623,13 +693,13 @@
|
|
|
623
693
|
}
|
|
624
694
|
},
|
|
625
695
|
"h2": {
|
|
626
|
-
"fontFamily": "
|
|
627
|
-
"fontWeight": "
|
|
696
|
+
"fontFamily": "\"suisse-semibold\", Arial, Helvetica, sans-serif",
|
|
697
|
+
"fontWeight": "600",
|
|
628
698
|
"letterSpacing": "0rem",
|
|
629
699
|
"textTransform": "none",
|
|
630
700
|
"mobile": {
|
|
631
701
|
"fontSize": "18px",
|
|
632
|
-
"lineHeight": "1.
|
|
702
|
+
"lineHeight": "1.2"
|
|
633
703
|
},
|
|
634
704
|
"desktop": {
|
|
635
705
|
"fontSize": "24px",
|
|
@@ -637,158 +707,216 @@
|
|
|
637
707
|
}
|
|
638
708
|
},
|
|
639
709
|
"title-l-b": {
|
|
640
|
-
"fontFamily": "
|
|
641
|
-
"fontWeight": "
|
|
642
|
-
"letterSpacing": "0rem",
|
|
643
|
-
"textTransform": "uppercase",
|
|
710
|
+
"fontFamily": "\"suisse-regular\", Arial, Helvetica, sans-serif",
|
|
711
|
+
"fontWeight": "300",
|
|
644
712
|
"mobile": {
|
|
645
|
-
"fontSize": "
|
|
646
|
-
"lineHeight": "1.
|
|
713
|
+
"fontSize": "12px",
|
|
714
|
+
"lineHeight": "1.4"
|
|
647
715
|
},
|
|
648
716
|
"desktop": {
|
|
649
|
-
"fontSize": "
|
|
717
|
+
"fontSize": "13px",
|
|
650
718
|
"lineHeight": "1.4"
|
|
651
719
|
}
|
|
652
720
|
},
|
|
653
721
|
"title-l": {
|
|
654
|
-
"fontFamily": "
|
|
722
|
+
"fontFamily": "\"suisse-light\", Arial, Helvetica, sans-serif",
|
|
655
723
|
"fontWeight": "100",
|
|
724
|
+
"letterSpacing": "0.16em",
|
|
725
|
+
"textTransform": "uppercase",
|
|
656
726
|
"mobile": {
|
|
657
|
-
"fontSize": "
|
|
727
|
+
"fontSize": "12px",
|
|
658
728
|
"lineHeight": "1.4"
|
|
659
729
|
},
|
|
660
730
|
"desktop": {
|
|
661
|
-
"fontSize": "
|
|
731
|
+
"fontSize": "13px",
|
|
662
732
|
"lineHeight": "1.4"
|
|
663
733
|
}
|
|
664
734
|
},
|
|
665
735
|
"title-m": {
|
|
666
|
-
"fontFamily": "
|
|
736
|
+
"fontFamily": "\"suisse-light\", Arial, Helvetica, sans-serif",
|
|
667
737
|
"fontWeight": "100",
|
|
738
|
+
"letterSpacing": "0.16em",
|
|
668
739
|
"mobile": {
|
|
669
740
|
"fontSize": "12px",
|
|
670
741
|
"lineHeight": "1.4"
|
|
671
742
|
},
|
|
672
743
|
"desktop": {
|
|
673
|
-
"fontSize": "
|
|
744
|
+
"fontSize": "13px",
|
|
745
|
+
"lineHeight": "1.4"
|
|
746
|
+
}
|
|
747
|
+
},
|
|
748
|
+
"title-s-b": {
|
|
749
|
+
"fontFamily": "\"suisse-regular\", Arial, Helvetica, sans-serif",
|
|
750
|
+
"fontWeight": "300",
|
|
751
|
+
"letterSpacing": "0.16em",
|
|
752
|
+
"mobile": {
|
|
753
|
+
"fontSize": "10px",
|
|
754
|
+
"lineHeight": "1.4"
|
|
755
|
+
},
|
|
756
|
+
"desktop": {
|
|
757
|
+
"fontSize": "10px",
|
|
674
758
|
"lineHeight": "1.4"
|
|
675
759
|
}
|
|
676
760
|
},
|
|
677
761
|
"title-s": {
|
|
678
|
-
"fontFamily": "
|
|
679
|
-
"fontWeight": "
|
|
762
|
+
"fontFamily": "\"suisse-light\", Arial, Helvetica, sans-serif",
|
|
763
|
+
"fontWeight": "100",
|
|
764
|
+
"letterSpacing": "0.16em",
|
|
765
|
+
"textTransform": "uppercase",
|
|
680
766
|
"mobile": {
|
|
681
|
-
"fontSize": "
|
|
767
|
+
"fontSize": "10px",
|
|
682
768
|
"lineHeight": "1.4"
|
|
683
769
|
},
|
|
684
770
|
"desktop": {
|
|
685
|
-
"fontSize": "
|
|
771
|
+
"fontSize": "10px",
|
|
686
772
|
"lineHeight": "1.4"
|
|
687
773
|
}
|
|
688
774
|
},
|
|
689
775
|
"text-l": {
|
|
690
|
-
"fontFamily": "
|
|
776
|
+
"fontFamily": "\"suisse-light\", Arial, Helvetica, sans-serif",
|
|
691
777
|
"fontWeight": "100",
|
|
778
|
+
"letterSpacing": "0.04em",
|
|
692
779
|
"mobile": {
|
|
693
|
-
"fontSize": "
|
|
780
|
+
"fontSize": "13px",
|
|
694
781
|
"lineHeight": "1.5"
|
|
695
782
|
},
|
|
696
783
|
"desktop": {
|
|
697
|
-
"fontSize": "
|
|
784
|
+
"fontSize": "13px",
|
|
698
785
|
"lineHeight": "1.5"
|
|
699
786
|
}
|
|
700
787
|
},
|
|
701
788
|
"text-m": {
|
|
702
|
-
"fontFamily": "
|
|
789
|
+
"fontFamily": "\"suisse-light\", Arial, Helvetica, sans-serif",
|
|
703
790
|
"fontWeight": "100",
|
|
791
|
+
"letterSpacing": "0.04em",
|
|
704
792
|
"mobile": {
|
|
705
793
|
"fontSize": "12px",
|
|
706
794
|
"lineHeight": "1.5"
|
|
707
795
|
},
|
|
708
796
|
"desktop": {
|
|
709
|
-
"fontSize": "
|
|
797
|
+
"fontSize": "12px",
|
|
710
798
|
"lineHeight": "1.5"
|
|
711
799
|
}
|
|
712
800
|
},
|
|
713
|
-
"
|
|
714
|
-
"fontFamily": "
|
|
801
|
+
"p-tag": {
|
|
802
|
+
"fontFamily": "\"suisse-light\", Arial, Helvetica, sans-serif",
|
|
715
803
|
"fontWeight": "100",
|
|
804
|
+
"letterSpacing": "0.16em",
|
|
716
805
|
"mobile": {
|
|
717
|
-
"fontSize": "
|
|
806
|
+
"fontSize": "9px",
|
|
718
807
|
"lineHeight": "1"
|
|
719
808
|
},
|
|
720
809
|
"desktop": {
|
|
721
|
-
"fontSize": "
|
|
810
|
+
"fontSize": "10px",
|
|
722
811
|
"lineHeight": "1"
|
|
723
812
|
}
|
|
724
813
|
},
|
|
725
|
-
"
|
|
726
|
-
"fontFamily": "
|
|
814
|
+
"hg-body-l": {
|
|
815
|
+
"fontFamily": "\"suisse-light\", Arial, Helvetica, sans-serif",
|
|
727
816
|
"fontWeight": "100",
|
|
817
|
+
"letterSpacing": "0.04em",
|
|
728
818
|
"mobile": {
|
|
729
|
-
"fontSize": "
|
|
730
|
-
"lineHeight": "1"
|
|
819
|
+
"fontSize": "12px",
|
|
820
|
+
"lineHeight": "1.5"
|
|
731
821
|
},
|
|
732
822
|
"desktop": {
|
|
733
|
-
"fontSize": "
|
|
734
|
-
"lineHeight": "1"
|
|
823
|
+
"fontSize": "13px",
|
|
824
|
+
"lineHeight": "1.5"
|
|
735
825
|
}
|
|
736
826
|
},
|
|
737
|
-
"
|
|
738
|
-
"fontFamily": "\"
|
|
827
|
+
"hg-body-l-b": {
|
|
828
|
+
"fontFamily": "\"suisse-regular\", Arial, Helvetica, sans-serif",
|
|
829
|
+
"fontWeight": "300",
|
|
830
|
+
"letterSpacing": "0.04em",
|
|
739
831
|
"mobile": {
|
|
740
|
-
"fontSize": "
|
|
832
|
+
"fontSize": "12px",
|
|
741
833
|
"lineHeight": "1.5"
|
|
742
834
|
},
|
|
743
835
|
"desktop": {
|
|
744
|
-
"fontSize": "
|
|
836
|
+
"fontSize": "13px",
|
|
745
837
|
"lineHeight": "1.5"
|
|
746
838
|
}
|
|
747
839
|
},
|
|
748
|
-
"
|
|
749
|
-
"fontFamily": "\"
|
|
840
|
+
"hg-body-m": {
|
|
841
|
+
"fontFamily": "\"suisse-light\", Arial, Helvetica, sans-serif",
|
|
842
|
+
"fontWeight": "100",
|
|
843
|
+
"letterSpacing": "0.04em",
|
|
750
844
|
"mobile": {
|
|
751
|
-
"fontSize": "
|
|
752
|
-
"lineHeight": "1.
|
|
845
|
+
"fontSize": "12px",
|
|
846
|
+
"lineHeight": "1.5"
|
|
753
847
|
},
|
|
754
848
|
"desktop": {
|
|
755
|
-
"fontSize": "
|
|
756
|
-
"lineHeight": "1.
|
|
849
|
+
"fontSize": "12px",
|
|
850
|
+
"lineHeight": "1.5"
|
|
757
851
|
}
|
|
758
852
|
},
|
|
759
|
-
"
|
|
760
|
-
"fontFamily": "\"
|
|
853
|
+
"hg-body-m-b": {
|
|
854
|
+
"fontFamily": "\"suisse-regular\", Arial, Helvetica, sans-serif",
|
|
855
|
+
"fontWeight": "300",
|
|
856
|
+
"letterSpacing": "0.04em",
|
|
761
857
|
"mobile": {
|
|
762
|
-
"fontSize": "
|
|
763
|
-
"lineHeight": "1.
|
|
858
|
+
"fontSize": "12px",
|
|
859
|
+
"lineHeight": "1.5"
|
|
764
860
|
},
|
|
765
861
|
"desktop": {
|
|
766
862
|
"fontSize": "12px",
|
|
767
|
-
"lineHeight": "1.
|
|
863
|
+
"lineHeight": "1.5"
|
|
768
864
|
}
|
|
769
865
|
},
|
|
770
|
-
"
|
|
771
|
-
"fontFamily": "
|
|
866
|
+
"label-m": {
|
|
867
|
+
"fontFamily": "\"suisse-light\", Arial, Helvetica, sans-serif",
|
|
772
868
|
"fontWeight": "100",
|
|
869
|
+
"letterSpacing": "0.16em",
|
|
870
|
+
"textTransform": "uppercase",
|
|
773
871
|
"mobile": {
|
|
774
872
|
"fontSize": "12px",
|
|
775
|
-
"lineHeight": "1
|
|
873
|
+
"lineHeight": "1"
|
|
776
874
|
},
|
|
777
875
|
"desktop": {
|
|
778
|
-
"fontSize": "
|
|
779
|
-
"lineHeight": "1
|
|
876
|
+
"fontSize": "12px",
|
|
877
|
+
"lineHeight": "1"
|
|
780
878
|
}
|
|
781
879
|
},
|
|
782
|
-
"
|
|
783
|
-
"fontFamily": "
|
|
784
|
-
"fontWeight": "
|
|
880
|
+
"label-m-b": {
|
|
881
|
+
"fontFamily": "\"suisse-regular\", Arial, Helvetica, sans-serif",
|
|
882
|
+
"fontWeight": "300",
|
|
883
|
+
"letterSpacing": "0.16em",
|
|
884
|
+
"textTransform": "uppercase",
|
|
785
885
|
"mobile": {
|
|
786
886
|
"fontSize": "12px",
|
|
787
|
-
"lineHeight": "1
|
|
887
|
+
"lineHeight": "1"
|
|
788
888
|
},
|
|
789
889
|
"desktop": {
|
|
790
|
-
"fontSize": "
|
|
791
|
-
"lineHeight": "1
|
|
890
|
+
"fontSize": "12px",
|
|
891
|
+
"lineHeight": "1"
|
|
892
|
+
}
|
|
893
|
+
},
|
|
894
|
+
"label-s": {
|
|
895
|
+
"fontFamily": "\"suisse-light\", Arial, Helvetica, sans-serif",
|
|
896
|
+
"fontWeight": "100",
|
|
897
|
+
"letterSpacing": "0.06em",
|
|
898
|
+
"textTransform": "uppercase",
|
|
899
|
+
"mobile": {
|
|
900
|
+
"fontSize": "10px",
|
|
901
|
+
"lineHeight": "1"
|
|
902
|
+
},
|
|
903
|
+
"desktop": {
|
|
904
|
+
"fontSize": "10px",
|
|
905
|
+
"lineHeight": "1"
|
|
906
|
+
}
|
|
907
|
+
},
|
|
908
|
+
"label-s-b": {
|
|
909
|
+
"fontFamily": "\"suisse-regular\", Arial, Helvetica, sans-serif",
|
|
910
|
+
"fontWeight": "300",
|
|
911
|
+
"letterSpacing": "0.06em",
|
|
912
|
+
"textTransform": "uppercase",
|
|
913
|
+
"mobile": {
|
|
914
|
+
"fontSize": "10px",
|
|
915
|
+
"lineHeight": "1"
|
|
916
|
+
},
|
|
917
|
+
"desktop": {
|
|
918
|
+
"fontSize": "10px",
|
|
919
|
+
"lineHeight": "1"
|
|
792
920
|
}
|
|
793
921
|
}
|
|
794
922
|
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|