@dataengineeringformachinelearning/viking-ui 4.0.1 → 4.0.2

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.
@@ -1,17 +1,20 @@
1
1
  .landing-container {
2
2
  position: relative;
3
3
  min-height: calc(100vh - 64px);
4
- padding: 48px 16px 32px;
4
+ padding-block: var(--viking-space-6) var(--viking-space-4);
5
5
  overflow: hidden;
6
6
  font-family: var(--viking-font-family);
7
7
 
8
8
  @media (min-width: 768px) {
9
- padding: 72px 32px 64px;
9
+ padding-block: var(--viking-space-9) var(--viking-space-8);
10
10
  }
11
11
  }
12
12
 
13
13
  .showcase-layout {
14
- max-width: var(--container-max-width, 1260px);
14
+ max-width: var(
15
+ --viking-container-max-width,
16
+ var(--container-max-width, 1260px)
17
+ );
15
18
  margin: 0 auto;
16
19
  }
17
20
 
@@ -19,22 +22,22 @@
19
22
  .hero-showcase {
20
23
  display: grid;
21
24
  grid-template-columns: 1fr;
22
- gap: 48px;
25
+ gap: var(--viking-page-section-gap, var(--viking-space-6));
23
26
  align-items: center;
24
- margin-bottom: 72px;
27
+ margin-bottom: var(--viking-space-9);
25
28
  position: relative;
26
29
  z-index: 10;
27
30
  overflow: hidden;
28
31
  @media (min-width: 960px) {
29
32
  grid-template-columns: 1fr 1.1fr;
30
- gap: 64px;
33
+ gap: var(--viking-space-8);
31
34
  }
32
35
  }
33
36
 
34
37
  .hero-copy {
35
38
  display: flex;
36
39
  flex-direction: column;
37
- gap: 24px;
40
+ gap: var(--viking-space-3);
38
41
  }
39
42
 
40
43
  .hero-badge {
@@ -93,7 +96,11 @@
93
96
  gap: 8px;
94
97
  padding: 8px 14px;
95
98
  border-radius: 1000px;
96
- background: color-mix(in srgb, var(--viking-accent) 10%, var(--color-surface));
99
+ background: color-mix(
100
+ in srgb,
101
+ var(--viking-accent) 10%,
102
+ var(--color-surface)
103
+ );
97
104
  border: 1px solid color-mix(in srgb, var(--viking-accent) 25%, transparent);
98
105
  font-size: 0.85rem;
99
106
  font-weight: 600;
@@ -115,7 +122,8 @@
115
122
  @keyframes pulseDot {
116
123
  0%,
117
124
  100% {
118
- box-shadow: 0 0 0 0 color-mix(in srgb, var(--viking-accent) 60%, transparent);
125
+ box-shadow: 0 0 0 0
126
+ color-mix(in srgb, var(--viking-accent) 60%, transparent);
119
127
  }
120
128
  50% {
121
129
  box-shadow: 0 0 0 6px
@@ -151,7 +159,11 @@
151
159
  align-items: center;
152
160
  gap: 8px;
153
161
  padding: 12px 16px;
154
- background: color-mix(in srgb, var(--viking-charcoal-900) 60%, var(--color-surface));
162
+ background: color-mix(
163
+ in srgb,
164
+ var(--viking-charcoal-900) 60%,
165
+ var(--color-surface)
166
+ );
155
167
  border-bottom: 1px solid var(--border);
156
168
 
157
169
  .mockup-dot {
@@ -229,7 +241,11 @@
229
241
  }
230
242
 
231
243
  .mockup-gauge {
232
- background: color-mix(in srgb, var(--viking-charcoal-900) 40%, var(--color-surface));
244
+ background: color-mix(
245
+ in srgb,
246
+ var(--viking-charcoal-900) 40%,
247
+ var(--color-surface)
248
+ );
233
249
  border: 1px solid var(--border);
234
250
  border-radius: 10px;
235
251
  padding: 12px;
@@ -270,7 +286,11 @@
270
286
 
271
287
  .chart-bar {
272
288
  flex: 1;
273
- background: linear-gradient(180deg, var(--viking-accent), var(--viking-accent-strong));
289
+ background: linear-gradient(
290
+ 180deg,
291
+ var(--viking-accent),
292
+ var(--viking-accent-strong)
293
+ );
274
294
  border-radius: 4px 4px 0 0;
275
295
  opacity: 0.85;
276
296
  animation: barPulse 3s ease-in-out infinite;
@@ -283,7 +303,7 @@
283
303
  }
284
304
 
285
305
  @for $h from 40 through 95 {
286
- &[data-height='#{$h}'] {
306
+ &[data-height="#{$h}"] {
287
307
  --chart-bar-height: #{$h};
288
308
  }
289
309
  }
@@ -332,8 +352,8 @@
332
352
 
333
353
  /* ── Quick start ── */
334
354
  .quick-start-band {
335
- padding: 56px 0 64px;
336
- margin-bottom: 32px;
355
+ padding: var(--viking-space-7) 0 var(--viking-space-8);
356
+ margin-bottom: var(--viking-space-4);
337
357
  border-bottom: 1px solid var(--border);
338
358
  position: relative;
339
359
  }
@@ -359,7 +379,7 @@
359
379
  .quick-start-header {
360
380
  text-align: center;
361
381
  max-width: 640px;
362
- margin: 0 auto 48px;
382
+ margin: 0 auto var(--viking-page-section-gap, var(--viking-space-6));
363
383
 
364
384
  h2 {
365
385
  font-size: clamp(1.75rem, 3vw, 2.25rem);
@@ -380,14 +400,14 @@
380
400
  .quick-start-steps {
381
401
  display: grid;
382
402
  grid-template-columns: 1fr;
383
- gap: 24px;
403
+ gap: var(--viking-space-3);
384
404
  list-style: none;
385
405
  padding: 0;
386
406
  margin: 0;
387
407
 
388
408
  @media (min-width: 768px) {
389
409
  grid-template-columns: repeat(2, 1fr);
390
- gap: 32px;
410
+ gap: var(--viking-space-4);
391
411
  }
392
412
 
393
413
  @media (min-width: 1100px) {
@@ -633,16 +653,16 @@
633
653
  .showcase-band {
634
654
  display: grid;
635
655
  grid-template-columns: 1fr;
636
- gap: 40px;
656
+ gap: var(--viking-space-5);
637
657
  align-items: center;
638
- padding: 56px 0;
658
+ padding: var(--viking-space-7) 0;
639
659
  border-bottom: 1px solid var(--border);
640
660
  position: relative;
641
661
 
642
662
  @media (min-width: 900px) {
643
663
  grid-template-columns: 1fr 1fr;
644
- gap: 64px;
645
- padding: 72px 0;
664
+ gap: var(--viking-space-8);
665
+ padding: var(--viking-space-9) 0;
646
666
  }
647
667
 
648
668
  /* double divider accent for each capability showcase */
@@ -727,7 +747,7 @@
727
747
  background: var(--color-surface);
728
748
  border: 1px solid var(--border);
729
749
  border-radius: var(--viking-radius-xl, 16px);
730
- padding: 28px;
750
+ padding: var(--viking-card-padding, var(--viking-space-4));
731
751
  box-shadow: var(--shadow-md);
732
752
  }
733
753
 
@@ -752,12 +772,12 @@
752
772
  .visual-metrics {
753
773
  display: grid;
754
774
  grid-template-columns: 1fr;
755
- gap: 12px;
756
- margin-bottom: 24px;
775
+ gap: var(--viking-space-2);
776
+ margin-bottom: var(--viking-space-3);
757
777
 
758
778
  @media (min-width: 600px) {
759
779
  grid-template-columns: repeat(2, 1fr);
760
- gap: 16px;
780
+ gap: var(--viking-space-2);
761
781
  }
762
782
 
763
783
  @media (min-width: 900px) {
@@ -766,10 +786,14 @@
766
786
  }
767
787
 
768
788
  .visual-metric {
769
- background: color-mix(in srgb, var(--viking-charcoal-900) 35%, var(--color-surface));
789
+ background: color-mix(
790
+ in srgb,
791
+ var(--viking-charcoal-900) 35%,
792
+ var(--color-surface)
793
+ );
770
794
  border: 1px solid var(--border);
771
795
  border-radius: var(--viking-radius-lg);
772
- padding: 16px;
796
+ padding: var(--viking-card-padding-compact, var(--viking-space-3));
773
797
  position: relative;
774
798
 
775
799
  .metric-label {
@@ -818,7 +842,7 @@
818
842
 
819
843
  /* ── Widget showcase ── */
820
844
  .widget-showcase {
821
- padding: 72px 0;
845
+ padding: var(--viking-space-9) 0;
822
846
  border-bottom: 1px solid var(--border);
823
847
  position: relative;
824
848
  }
@@ -844,12 +868,12 @@
844
868
  .widget-showcase-inner {
845
869
  display: grid;
846
870
  grid-template-columns: 1fr;
847
- gap: 40px;
871
+ gap: var(--viking-space-5);
848
872
  align-items: center;
849
873
 
850
874
  @media (min-width: 900px) {
851
875
  grid-template-columns: 1fr 1fr;
852
- gap: 64px;
876
+ gap: var(--viking-space-8);
853
877
  }
854
878
  }
855
879
 
@@ -902,13 +926,13 @@
902
926
  background: var(--color-surface);
903
927
  border: 1px solid var(--border);
904
928
  border-radius: var(--viking-radius-xl, 16px);
905
- padding: 32px;
929
+ padding: var(--viking-card-padding, var(--viking-space-4));
906
930
  box-shadow: var(--shadow-md);
907
931
  }
908
932
 
909
933
  /* ── Pricing ── */
910
934
  .pricing-showcase {
911
- padding: 72px 0;
935
+ padding: var(--viking-space-9) 0;
912
936
  text-align: center;
913
937
  border-bottom: 1px solid var(--border);
914
938
  position: relative;
@@ -933,7 +957,7 @@
933
957
  }
934
958
 
935
959
  .pricing-header {
936
- margin-bottom: 48px;
960
+ margin-bottom: var(--viking-page-section-gap, var(--viking-space-6));
937
961
 
938
962
  .section-tag {
939
963
  font-size: 0.85rem;
@@ -960,7 +984,7 @@
960
984
 
961
985
  .pricing-cards-container {
962
986
  display: flex;
963
- gap: 2rem;
987
+ gap: var(--viking-space-4);
964
988
  flex-direction: column;
965
989
  align-items: center;
966
990
  justify-content: center;
@@ -977,8 +1001,8 @@
977
1001
  width: 100%;
978
1002
  min-width: 0;
979
1003
  max-width: 100%;
980
- padding: 2.5rem 2rem;
981
- border-radius: 1.5rem;
1004
+ padding: var(--viking-space-5) var(--viking-card-padding);
1005
+ border-radius: var(--viking-radius-xl);
982
1006
  background: var(--color-surface);
983
1007
  border: 1px solid var(--border);
984
1008
  transition:
@@ -1159,7 +1183,8 @@
1159
1183
  padding: 64px 24px;
1160
1184
  position: relative;
1161
1185
  z-index: 10;
1162
- border-top: 1px solid color-mix(in srgb, var(--viking-accent) 25%, transparent);
1186
+ border-top: 1px solid
1187
+ color-mix(in srgb, var(--viking-accent) 25%, transparent);
1163
1188
  display: flex;
1164
1189
  flex-direction: column;
1165
1190
  align-items: center;
@@ -1249,7 +1274,7 @@
1249
1274
  }
1250
1275
 
1251
1276
  /* Inline Viking SVG icons must not clip in marketing pages */
1252
- .landing-container svg[aria-hidden='true'] {
1277
+ .landing-container svg[aria-hidden="true"] {
1253
1278
  overflow: visible;
1254
1279
  line-height: 1;
1255
1280
  display: inline-flex;
@@ -8,7 +8,7 @@ body.backend-swagger {
8
8
  }
9
9
 
10
10
  .backend-swagger-shell {
11
- padding-block: var(--viking-space-3) var(--viking-space-6);
11
+ padding-block: var(--viking-space-6) var(--viking-space-8);
12
12
  }
13
13
 
14
14
  /* ── VikingCard panel wrapping Swagger UI ──────────────────────────────────── */
@@ -26,7 +26,7 @@ body.backend-swagger {
26
26
  }
27
27
 
28
28
  .backend-swagger-toolbar {
29
- padding: var(--viking-space-2) var(--viking-space-3);
29
+ padding: var(--viking-space-3) var(--viking-card-padding);
30
30
  border-bottom: 1px solid var(--viking-border);
31
31
  background: color-mix(in srgb, var(--viking-surface-alt) 40%, transparent);
32
32
  }
@@ -41,7 +41,8 @@ body.backend-swagger {
41
41
  }
42
42
 
43
43
  .backend-swagger-panel #swagger-ui {
44
- padding: 0 var(--viking-space-3) var(--viking-space-3);
44
+ padding: var(--viking-space-2) var(--viking-card-padding)
45
+ var(--viking-card-padding);
45
46
  }
46
47
 
47
48
  .swagger-ui .opblock .opblock-summary {
@@ -290,7 +291,7 @@ body.backend-swagger {
290
291
  .swagger-ui .opblock .opblock-summary {
291
292
  border: none;
292
293
  background: transparent !important;
293
- padding: var(--viking-space-2, 16px) 0;
294
+ padding: var(--viking-space-3, 24px) 0;
294
295
  }
295
296
 
296
297
  .swagger-ui .opblock.is-open .opblock-summary {
@@ -411,7 +412,7 @@ body.backend-swagger {
411
412
  }
412
413
 
413
414
  .swagger-ui .opblock-body {
414
- padding: var(--viking-space-2, 16px) 0;
415
+ padding: var(--viking-space-3, 24px) 0;
415
416
  }
416
417
 
417
418
  .swagger-ui .opblock-description-wrapper,
@@ -422,7 +423,7 @@ body.backend-swagger {
422
423
  font-family: inherit;
423
424
  font-size: 0.88rem;
424
425
  margin: 0;
425
- padding: var(--viking-space-1, 8px) 0;
426
+ padding: var(--viking-space-2, 16px) 0;
426
427
  }
427
428
 
428
429
  .swagger-ui .opblock-description-wrapper h4,
@@ -438,7 +439,7 @@ body.backend-swagger {
438
439
 
439
440
  .swagger-ui .table-container {
440
441
  background: transparent;
441
- padding: var(--viking-space-1, 8px) 0;
442
+ padding: var(--viking-space-2, 16px) 0;
442
443
  }
443
444
 
444
445
  .swagger-ui .parameters-col_description,
@@ -634,7 +635,7 @@ body.backend-swagger {
634
635
  color: var(--viking-text, var(--text-color));
635
636
  font-family: var(--viking-font-family-mono, "JetBrains Mono", monospace);
636
637
  font-size: 0.88rem;
637
- min-height: 32px;
638
+ min-height: var(--viking-control-height, 44px);
638
639
  padding: var(--viking-space-1, 8px) var(--viking-space-2, 16px);
639
640
  }
640
641
 
@@ -132,22 +132,22 @@
132
132
  --viking-control-height: var(--viking-touch-target-min, 44px);
133
133
  --viking-control-height-sm: 40px;
134
134
  --viking-control-height-xs: 24px;
135
- --viking-control-padding-x: var(--space-2, var(--viking-space-2, 16px));
135
+ --viking-control-padding-x: var(--viking-space-2, 16px);
136
136
  --viking-btn-min-width: var(--btn-min-width, 120px);
137
137
 
138
- /* Spacing — 4px grid with legacy aliases */
138
+ /* Spacing — canonical 4px grid. Legacy --space-* aliases map to these values. */
139
139
  --viking-grid-unit: 4px;
140
140
  --viking-space-0: 0;
141
- --viking-space-half: var(--space-half, 4px);
142
- --viking-space-1: var(--space-1, 8px);
143
- --viking-space-1-5: var(--space-1-5, 12px);
144
- --viking-space-2: var(--space-2, 16px);
145
- --viking-space-3: var(--space-3, 24px);
146
- --viking-space-4: var(--space-4, 32px);
147
- --viking-space-5: var(--space-5, 40px);
148
- --viking-space-6: var(--space-6, 48px);
149
- --viking-space-7: var(--space-7, 56px);
150
- --viking-space-8: var(--space-8, 64px);
141
+ --viking-space-half: 4px;
142
+ --viking-space-1: 8px;
143
+ --viking-space-1-5: 12px;
144
+ --viking-space-2: 16px;
145
+ --viking-space-3: 24px;
146
+ --viking-space-4: 32px;
147
+ --viking-space-5: 40px;
148
+ --viking-space-6: 48px;
149
+ --viking-space-7: 56px;
150
+ --viking-space-8: 64px;
151
151
 
152
152
  /* Chart axis labels */
153
153
  --viking-chart-axis-size: 12px;