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/dist/guide-styles.css
CHANGED
|
@@ -1,3 +1,72 @@
|
|
|
1
|
+
/* ============================================
|
|
2
|
+
FUENTES — Suisse Intl (sans) + Suisse Works (serif)
|
|
3
|
+
Convención: una font-family por peso (suisse-light/regular/
|
|
4
|
+
medium/semibold) en lugar de una familia con varios pesos.
|
|
5
|
+
local() permite usar la fuente instalada en el sistema si
|
|
6
|
+
existe, evitando la descarga. font-display: swap evita el
|
|
7
|
+
FOIT — el texto se muestra con la fuente fallback y se
|
|
8
|
+
sustituye al cargar la web. Servimos woff2 (formato moderno,
|
|
9
|
+
más comprimido) con fallback a woff para navegadores muy
|
|
10
|
+
antiguos.
|
|
11
|
+
============================================ */
|
|
12
|
+
@font-face {
|
|
13
|
+
font-family: "suisse-light";
|
|
14
|
+
font-weight: 100;
|
|
15
|
+
font-display: swap;
|
|
16
|
+
src: local("SuisseIntl-Light"),
|
|
17
|
+
url('assets/fonts/suisse-intl-light.woff2') format('woff2'),
|
|
18
|
+
url('assets/fonts/suisse-intl-light.woff') format('woff');
|
|
19
|
+
}
|
|
20
|
+
@font-face {
|
|
21
|
+
font-family: "suisse-regular";
|
|
22
|
+
font-weight: 300;
|
|
23
|
+
font-display: swap;
|
|
24
|
+
src: local("SuisseIntl-Regular"),
|
|
25
|
+
url('assets/fonts/suisse-intl-regular.woff2') format('woff2'),
|
|
26
|
+
url('assets/fonts/suisse-intl-regular.woff') format('woff');
|
|
27
|
+
}
|
|
28
|
+
@font-face {
|
|
29
|
+
font-family: "suisse-medium";
|
|
30
|
+
font-weight: 400;
|
|
31
|
+
font-display: swap;
|
|
32
|
+
src: local("SuisseIntl-Medium"),
|
|
33
|
+
url('assets/fonts/suisse-intl-medium.woff2') format('woff2'),
|
|
34
|
+
url('assets/fonts/suisse-intl-medium.woff') format('woff');
|
|
35
|
+
}
|
|
36
|
+
@font-face {
|
|
37
|
+
font-family: "suisse-semibold";
|
|
38
|
+
font-weight: 500;
|
|
39
|
+
font-display: swap;
|
|
40
|
+
src: local("SuisseIntl-SemiBold"),
|
|
41
|
+
url('assets/fonts/suisse-intl-semibold.woff2') format('woff2'),
|
|
42
|
+
url('assets/fonts/suisse-intl-semibold.woff') format('woff');
|
|
43
|
+
}
|
|
44
|
+
/* Suisse Works (serif) — reservado para el tema Limited */
|
|
45
|
+
@font-face {
|
|
46
|
+
font-family: "suisse-works-regular";
|
|
47
|
+
font-weight: 400;
|
|
48
|
+
font-display: swap;
|
|
49
|
+
src: local("SuisseWorks-Regular"),
|
|
50
|
+
url('assets/fonts/suisse-works-regular.woff2') format('woff2'),
|
|
51
|
+
url('assets/fonts/suisse-works-regular.woff') format('woff');
|
|
52
|
+
}
|
|
53
|
+
@font-face {
|
|
54
|
+
font-family: "suisse-works-medium";
|
|
55
|
+
font-weight: 500;
|
|
56
|
+
font-display: swap;
|
|
57
|
+
src: local("SuisseWorks-Medium"),
|
|
58
|
+
url('assets/fonts/suisse-works-medium.woff2') format('woff2'),
|
|
59
|
+
url('assets/fonts/suisse-works-medium.woff') format('woff');
|
|
60
|
+
}
|
|
61
|
+
@font-face {
|
|
62
|
+
font-family: "suisse-works-bold";
|
|
63
|
+
font-weight: 700;
|
|
64
|
+
font-display: swap;
|
|
65
|
+
src: local("SuisseWorks-Bold"),
|
|
66
|
+
url('assets/fonts/suisse-works-bold.woff2') format('woff2'),
|
|
67
|
+
url('assets/fonts/suisse-works-bold.woff') format('woff');
|
|
68
|
+
}
|
|
69
|
+
|
|
1
70
|
/* ============================================
|
|
2
71
|
RESET Y BASE
|
|
3
72
|
============================================ */
|
|
@@ -8,7 +77,7 @@
|
|
|
8
77
|
body {
|
|
9
78
|
margin: 0;
|
|
10
79
|
padding: 0;
|
|
11
|
-
font-family: var(--hg-typo-font-family-primary);
|
|
80
|
+
font-family: var(--hg-typo-font-family-primary-regular);
|
|
12
81
|
}
|
|
13
82
|
|
|
14
83
|
h2 {
|
|
@@ -37,12 +106,12 @@ h2 {
|
|
|
37
106
|
margin-bottom: 40px;
|
|
38
107
|
font-weight: 500;
|
|
39
108
|
color: #000;
|
|
40
|
-
font-family:
|
|
109
|
+
font-family: var(--hg-typo-font-family-primary-bold);
|
|
41
110
|
letter-spacing: 0;
|
|
42
111
|
}
|
|
43
112
|
|
|
44
113
|
.guide-main-content h3 {
|
|
45
|
-
font-family:
|
|
114
|
+
font-family: var(--hg-typo-font-family-primary-regular);
|
|
46
115
|
color: #000;
|
|
47
116
|
font-size: 16px;
|
|
48
117
|
line-height: 28px;
|
|
@@ -57,7 +126,7 @@ h2 {
|
|
|
57
126
|
}
|
|
58
127
|
|
|
59
128
|
.guide-main-content h3 {
|
|
60
|
-
font-family:
|
|
129
|
+
font-family: var(--hg-typo-font-family-primary-regular);
|
|
61
130
|
color: #000;
|
|
62
131
|
font-size: 20px;
|
|
63
132
|
line-height: 28px;
|
|
@@ -110,7 +179,7 @@ h2 {
|
|
|
110
179
|
margin-top: 1rem;
|
|
111
180
|
font-size: 28px;
|
|
112
181
|
color: #000000;
|
|
113
|
-
font-family:
|
|
182
|
+
font-family: var(--hg-typo-font-family-primary-light);
|
|
114
183
|
margin-bottom: 20px;
|
|
115
184
|
|
|
116
185
|
line-height: 1.2;
|
|
@@ -125,7 +194,7 @@ h2 {
|
|
|
125
194
|
margin-top: 1rem;
|
|
126
195
|
font-size: 28px;
|
|
127
196
|
color: #000000;
|
|
128
|
-
font-family:
|
|
197
|
+
font-family: var(--hg-typo-font-family-primary-light);
|
|
129
198
|
margin-bottom: 20px;
|
|
130
199
|
|
|
131
200
|
line-height: 1.2;
|
|
@@ -206,11 +275,14 @@ h2 {
|
|
|
206
275
|
align-items: center;
|
|
207
276
|
}
|
|
208
277
|
.guide-nav a {
|
|
278
|
+
font-family: var(--hg-typo-font-family-primary-regular);
|
|
209
279
|
font-size: 13px;
|
|
210
280
|
color: #666;
|
|
211
281
|
text-decoration: none;
|
|
212
282
|
transition: color 0.2s;
|
|
213
283
|
white-space: nowrap;
|
|
284
|
+
text-transform: uppercase;
|
|
285
|
+
letter-spacing: 0.05em;
|
|
214
286
|
}
|
|
215
287
|
.guide-nav a:hover {
|
|
216
288
|
color: #000;
|
|
@@ -229,7 +301,6 @@ h2 {
|
|
|
229
301
|
font-size: 10px;
|
|
230
302
|
font-weight: 500;
|
|
231
303
|
transition: background 0.2s ease;
|
|
232
|
-
margin-left: auto;
|
|
233
304
|
width: 50px;
|
|
234
305
|
height: 50px;
|
|
235
306
|
flex-shrink: 0;
|
|
@@ -352,6 +423,102 @@ h2 {
|
|
|
352
423
|
overflow: auto;
|
|
353
424
|
}
|
|
354
425
|
|
|
426
|
+
/* ============================================
|
|
427
|
+
VARIABLES CSS — Grid de 3 columnas compacto
|
|
428
|
+
============================================ */
|
|
429
|
+
.guide-variables-grid {
|
|
430
|
+
column-count: 2;
|
|
431
|
+
column-gap: 2rem;
|
|
432
|
+
margin-top: 0;
|
|
433
|
+
font-family: var(--hg-typo-font-family-primary-regular);
|
|
434
|
+
}
|
|
435
|
+
@media (max-width: 720px) {
|
|
436
|
+
.guide-variables-grid { column-count: 1; }
|
|
437
|
+
}
|
|
438
|
+
.guide-variables-group {
|
|
439
|
+
break-inside: avoid;
|
|
440
|
+
-webkit-column-break-inside: avoid;
|
|
441
|
+
page-break-inside: avoid;
|
|
442
|
+
margin: 0 0 1.5rem;
|
|
443
|
+
padding: 0.75rem 1rem;
|
|
444
|
+
border: 1px solid #e9e9e9;
|
|
445
|
+
border-radius: 6px;
|
|
446
|
+
background: #fff;
|
|
447
|
+
display: block;
|
|
448
|
+
}
|
|
449
|
+
.guide-variables-group-title {
|
|
450
|
+
margin: 0 0 0.5rem;
|
|
451
|
+
font-family: var(--hg-typo-font-family-primary-regular);
|
|
452
|
+
font-size: 0.75rem;
|
|
453
|
+
font-weight: 700;
|
|
454
|
+
letter-spacing: 0.06em;
|
|
455
|
+
text-transform: uppercase;
|
|
456
|
+
color: #737373;
|
|
457
|
+
}
|
|
458
|
+
.guide-variables-group-count {
|
|
459
|
+
color: #a9a9a9;
|
|
460
|
+
font-weight: 400;
|
|
461
|
+
margin-left: 0.25rem;
|
|
462
|
+
}
|
|
463
|
+
.guide-variables-group-list {
|
|
464
|
+
display: flex;
|
|
465
|
+
flex-direction: column;
|
|
466
|
+
}
|
|
467
|
+
.guide-variable-item {
|
|
468
|
+
display: flex;
|
|
469
|
+
align-items: center;
|
|
470
|
+
justify-content: space-between;
|
|
471
|
+
gap: 0.75rem;
|
|
472
|
+
padding: 0.4rem 0;
|
|
473
|
+
border-bottom: 1px solid #efefef;
|
|
474
|
+
min-width: 0;
|
|
475
|
+
font-size: 0.72rem;
|
|
476
|
+
}
|
|
477
|
+
.guide-variables-group-list .guide-variable-item:last-child {
|
|
478
|
+
border-bottom: 0;
|
|
479
|
+
}
|
|
480
|
+
.guide-variable-item .guide-variable-name {
|
|
481
|
+
font-weight: 600;
|
|
482
|
+
color: #000;
|
|
483
|
+
word-break: break-all;
|
|
484
|
+
cursor: pointer;
|
|
485
|
+
line-height: 1.3;
|
|
486
|
+
flex: 1 1 auto;
|
|
487
|
+
min-width: 0;
|
|
488
|
+
}
|
|
489
|
+
.guide-variable-item .guide-variable-values {
|
|
490
|
+
display: flex;
|
|
491
|
+
align-items: baseline;
|
|
492
|
+
gap: 0.75rem;
|
|
493
|
+
flex-shrink: 0;
|
|
494
|
+
text-align: right;
|
|
495
|
+
font-size: 0.68rem;
|
|
496
|
+
}
|
|
497
|
+
.guide-variable-item .guide-variable-value {
|
|
498
|
+
color: #333;
|
|
499
|
+
cursor: pointer;
|
|
500
|
+
word-break: break-all;
|
|
501
|
+
max-width: 180px;
|
|
502
|
+
}
|
|
503
|
+
.guide-variable-item .guide-value-center-blue,
|
|
504
|
+
.guide-variable-item .guide-value-center-orange {
|
|
505
|
+
cursor: pointer;
|
|
506
|
+
font-weight: 500;
|
|
507
|
+
white-space: nowrap;
|
|
508
|
+
}
|
|
509
|
+
.guide-variable-item .guide-changed {
|
|
510
|
+
background: transparent;
|
|
511
|
+
}
|
|
512
|
+
.guide-variable-item .guide-variable-swatch {
|
|
513
|
+
display: inline-block;
|
|
514
|
+
width: 14px;
|
|
515
|
+
height: 14px;
|
|
516
|
+
border-radius: 3px;
|
|
517
|
+
border: 1px solid #e3e3e3;
|
|
518
|
+
flex-shrink: 0;
|
|
519
|
+
vertical-align: middle;
|
|
520
|
+
}
|
|
521
|
+
|
|
355
522
|
.guide-table {
|
|
356
523
|
width: 100%;
|
|
357
524
|
border-collapse: collapse;
|
|
@@ -414,7 +581,12 @@ h2 {
|
|
|
414
581
|
padding: 0.75rem;
|
|
415
582
|
min-height: 50px;
|
|
416
583
|
font-size: 1.5rem;
|
|
417
|
-
font-
|
|
584
|
+
/* Dejamos que cada font-family muestre su peso natural. En
|
|
585
|
+
esta convención (una familia por peso) cada @font-face
|
|
586
|
+
declara un único font-weight, así que forzar un weight
|
|
587
|
+
aquí anula la diferencia visual entre light / regular /
|
|
588
|
+
medium / semibold. */
|
|
589
|
+
font-weight: normal;
|
|
418
590
|
}
|
|
419
591
|
|
|
420
592
|
/* Rectángulo de lados afectados (tabla spacing modernas) */
|
|
@@ -507,12 +679,12 @@ h2 {
|
|
|
507
679
|
.guide-layout-class-name {
|
|
508
680
|
font-weight: 600;
|
|
509
681
|
color: #000000;
|
|
510
|
-
font-family:
|
|
682
|
+
font-family: var(--hg-typo-font-family-primary-regular);
|
|
511
683
|
}
|
|
512
684
|
|
|
513
685
|
.guide-text-regular,
|
|
514
686
|
.guide-table .guide-table-value {
|
|
515
|
-
font-family:
|
|
687
|
+
font-family: var(--hg-typo-font-family-primary-regular);
|
|
516
688
|
color: #333;
|
|
517
689
|
font-size: 13px;
|
|
518
690
|
}
|
|
@@ -522,7 +694,7 @@ h2 {
|
|
|
522
694
|
.guide-table .guide-desktop-value,
|
|
523
695
|
.guide-table .guide-value-center-blue {
|
|
524
696
|
font-weight: 500;
|
|
525
|
-
font-family:
|
|
697
|
+
font-family: var(--hg-typo-font-family-primary-regular);
|
|
526
698
|
color: #000000;
|
|
527
699
|
}
|
|
528
700
|
|
|
@@ -530,7 +702,7 @@ h2 {
|
|
|
530
702
|
.guide-layout-property,
|
|
531
703
|
.guide-color-var-name,
|
|
532
704
|
.guide-color-value {
|
|
533
|
-
font-family:
|
|
705
|
+
font-family: var(--hg-typo-font-family-primary-regular);
|
|
534
706
|
color: #666;
|
|
535
707
|
font-size: 13px;
|
|
536
708
|
}
|
|
@@ -554,7 +726,7 @@ h2 {
|
|
|
554
726
|
|
|
555
727
|
.guide-table .guide-value-center-orange {
|
|
556
728
|
font-weight: 500;
|
|
557
|
-
font-family:
|
|
729
|
+
font-family: var(--hg-typo-font-family-primary-regular);
|
|
558
730
|
color: #cc6600;
|
|
559
731
|
}
|
|
560
732
|
|
|
@@ -662,7 +834,7 @@ h2 {
|
|
|
662
834
|
.guide-info-box-code-info {
|
|
663
835
|
padding: 0.125rem 0.375rem;
|
|
664
836
|
border-radius: 3px;
|
|
665
|
-
font-family:
|
|
837
|
+
font-family: var(--hg-typo-font-family-primary-regular);
|
|
666
838
|
font-size: 0.875rem;
|
|
667
839
|
}
|
|
668
840
|
|
|
@@ -672,7 +844,7 @@ h2 {
|
|
|
672
844
|
padding: 1rem;
|
|
673
845
|
border-radius: 4px;
|
|
674
846
|
overflow-x: auto;
|
|
675
|
-
font-family:
|
|
847
|
+
font-family: var(--hg-typo-font-family-primary-regular);
|
|
676
848
|
font-size: 12px;
|
|
677
849
|
border-radius: 24px;
|
|
678
850
|
margin-bottom: 24px;
|
|
@@ -771,18 +943,18 @@ h2 {
|
|
|
771
943
|
============================================ */
|
|
772
944
|
.guide-colors-grid {
|
|
773
945
|
display: grid;
|
|
774
|
-
grid-template-columns: repeat(
|
|
775
|
-
gap:
|
|
946
|
+
grid-template-columns: repeat(10, minmax(0, 1fr));
|
|
947
|
+
gap: 0.75rem;
|
|
776
948
|
margin-top: 2rem;
|
|
777
949
|
padding-inline: 0.5rem;
|
|
778
950
|
padding-bottom: 2rem;
|
|
779
951
|
}
|
|
780
952
|
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
}
|
|
953
|
+
@media (max-width: 1280px) {
|
|
954
|
+
.guide-colors-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
|
|
955
|
+
}
|
|
956
|
+
@media (max-width: 720px) {
|
|
957
|
+
.guide-colors-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
|
786
958
|
}
|
|
787
959
|
|
|
788
960
|
|
|
@@ -957,7 +1129,7 @@ h2 {
|
|
|
957
1129
|
position: absolute;
|
|
958
1130
|
font-size: 0.875rem;
|
|
959
1131
|
font-weight: 600;
|
|
960
|
-
font-family:
|
|
1132
|
+
font-family: var(--hg-typo-font-family-primary-regular);
|
|
961
1133
|
color: #333;
|
|
962
1134
|
background: white;
|
|
963
1135
|
padding: 0.25rem 0.5rem;
|
|
@@ -1024,7 +1196,7 @@ h2 {
|
|
|
1024
1196
|
}
|
|
1025
1197
|
|
|
1026
1198
|
.guide-typeface-left {
|
|
1027
|
-
font-family: var(--hg-typo-font-family-primary);
|
|
1199
|
+
font-family: var(--hg-typo-font-family-primary-regular);
|
|
1028
1200
|
display: flex;
|
|
1029
1201
|
flex-direction: column;
|
|
1030
1202
|
gap: 2rem;
|
|
@@ -1189,7 +1361,7 @@ h2 {
|
|
|
1189
1361
|
}
|
|
1190
1362
|
|
|
1191
1363
|
.case-study-holygrail-title {
|
|
1192
|
-
font-family:
|
|
1364
|
+
font-family: var(--hg-typo-font-family-primary-light);
|
|
1193
1365
|
font-size: clamp(2.5rem, 12vw, 8rem);
|
|
1194
1366
|
font-weight: 100;
|
|
1195
1367
|
letter-spacing: 0.2em;
|