@dataengineeringformachinelearning/viking-ui 4.0.2 → 4.0.3
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 +7 -5
- package/dist/README.md +7 -5
- package/dist/deml-components.css +23 -0
- package/dist/fesm2022/dataengineeringformachinelearning-viking-ui.mjs +180 -21
- package/dist/fesm2022/dataengineeringformachinelearning-viking-ui.mjs.map +1 -1
- package/dist/package.json +7 -1
- package/dist/src/web/card/viking-card-wc.ts +5 -1
- package/dist/src/web/core/styles.ts +125 -2
- package/dist/src/web/suite-header/viking-suite-header-wc.ts +15 -0
- package/dist/types/dataengineeringformachinelearning-viking-ui.d.ts +2 -1
- package/dist/viking-components.css +425 -31
- package/dist/viking-ui-elements.js +180 -42
- package/dist/viking-ui.css +1 -1
- package/dist/web-components.js +145 -3
- package/package.json +7 -1
- package/src/index.ts +1 -1
- package/src/lib/button/button.scss +23 -0
- package/src/lib/card/card.ts +33 -5
- package/src/lib/site-drakkar/site-navbar.ts +14 -4
- package/src/styles/_buttons.scss +92 -7
- package/src/styles/_layout-enforcement.scss +66 -3
- package/src/styles/components/icon-inline.scss +23 -0
- package/src/styles/components.scss +276 -9
- package/src/styles/static-navbar.scss +43 -4
- package/src/styles/surfaces/docs-showcase.scss +64 -1
- package/src/styles/surfaces/marketing-landing.scss +247 -6
- package/src/web/card/viking-card-wc.ts +5 -1
- package/src/web/core/styles.ts +125 -2
- package/src/web/suite-header/viking-suite-header-wc.ts +15 -0
|
@@ -32,12 +32,58 @@
|
|
|
32
32
|
grid-template-columns: 1fr 1.1fr;
|
|
33
33
|
gap: var(--viking-space-8);
|
|
34
34
|
}
|
|
35
|
+
|
|
36
|
+
&::before {
|
|
37
|
+
content: "";
|
|
38
|
+
position: absolute;
|
|
39
|
+
inset: auto 0 -2px 0;
|
|
40
|
+
height: 1px;
|
|
41
|
+
background: linear-gradient(
|
|
42
|
+
90deg,
|
|
43
|
+
transparent,
|
|
44
|
+
color-mix(in srgb, var(--viking-accent) 35%, transparent),
|
|
45
|
+
transparent
|
|
46
|
+
);
|
|
47
|
+
opacity: 0.45;
|
|
48
|
+
pointer-events: none;
|
|
49
|
+
}
|
|
35
50
|
}
|
|
36
51
|
|
|
37
52
|
.hero-copy {
|
|
38
53
|
display: flex;
|
|
39
54
|
flex-direction: column;
|
|
40
55
|
gap: var(--viking-space-3);
|
|
56
|
+
position: relative;
|
|
57
|
+
|
|
58
|
+
&::before {
|
|
59
|
+
content: "";
|
|
60
|
+
position: absolute;
|
|
61
|
+
left: 0;
|
|
62
|
+
right: 0;
|
|
63
|
+
top: 0;
|
|
64
|
+
height: 1px;
|
|
65
|
+
background: linear-gradient(
|
|
66
|
+
90deg,
|
|
67
|
+
transparent,
|
|
68
|
+
color-mix(in srgb, var(--viking-metallic-400) 48%, transparent),
|
|
69
|
+
transparent
|
|
70
|
+
);
|
|
71
|
+
opacity: 0.4;
|
|
72
|
+
pointer-events: none;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
&::after {
|
|
76
|
+
content: "";
|
|
77
|
+
position: absolute;
|
|
78
|
+
top: -10px;
|
|
79
|
+
left: 0;
|
|
80
|
+
width: 24px;
|
|
81
|
+
height: 16px;
|
|
82
|
+
border-top: 1px solid color-mix(in srgb, var(--viking-accent) 45%, transparent);
|
|
83
|
+
border-left: 1px solid color-mix(in srgb, var(--viking-accent) 22%, transparent);
|
|
84
|
+
opacity: 0.55;
|
|
85
|
+
pointer-events: none;
|
|
86
|
+
}
|
|
41
87
|
}
|
|
42
88
|
|
|
43
89
|
.hero-badge {
|
|
@@ -50,6 +96,21 @@
|
|
|
50
96
|
border-radius: 1000px;
|
|
51
97
|
width: fit-content;
|
|
52
98
|
box-shadow: var(--shadow-sm);
|
|
99
|
+
position: relative;
|
|
100
|
+
overflow: hidden;
|
|
101
|
+
border-color: var(--viking-border-strong);
|
|
102
|
+
|
|
103
|
+
&::after {
|
|
104
|
+
content: "";
|
|
105
|
+
position: absolute;
|
|
106
|
+
left: 1px;
|
|
107
|
+
right: 1px;
|
|
108
|
+
top: 0;
|
|
109
|
+
height: 1px;
|
|
110
|
+
background: color-mix(in srgb, var(--viking-accent) 35%, transparent);
|
|
111
|
+
opacity: 0.6;
|
|
112
|
+
pointer-events: none;
|
|
113
|
+
}
|
|
53
114
|
|
|
54
115
|
.badge-dot {
|
|
55
116
|
width: var(--grid-unit, 8px);
|
|
@@ -106,6 +167,20 @@
|
|
|
106
167
|
font-weight: 600;
|
|
107
168
|
color: var(--text-color);
|
|
108
169
|
letter-spacing: 0.02em;
|
|
170
|
+
position: relative;
|
|
171
|
+
overflow: hidden;
|
|
172
|
+
border-color: color-mix(in srgb, var(--viking-accent) 28%, var(--border));
|
|
173
|
+
box-shadow: var(--shadow-sm);
|
|
174
|
+
|
|
175
|
+
&::before {
|
|
176
|
+
content: "";
|
|
177
|
+
position: absolute;
|
|
178
|
+
inset: 0 0 auto 0;
|
|
179
|
+
height: 1px;
|
|
180
|
+
background: color-mix(in srgb, var(--viking-accent) 40%, transparent);
|
|
181
|
+
opacity: 0.45;
|
|
182
|
+
pointer-events: none;
|
|
183
|
+
}
|
|
109
184
|
|
|
110
185
|
svg {
|
|
111
186
|
width: 18px;
|
|
@@ -148,6 +223,40 @@
|
|
|
148
223
|
0 0 0 1px color-mix(in srgb, var(--viking-accent) 15%, transparent);
|
|
149
224
|
transform: rotateY(-4deg) rotateX(2deg);
|
|
150
225
|
transition: transform 0.4s ease;
|
|
226
|
+
position: relative;
|
|
227
|
+
|
|
228
|
+
&::before {
|
|
229
|
+
content: "";
|
|
230
|
+
position: absolute;
|
|
231
|
+
inset: 0;
|
|
232
|
+
border-radius: inherit;
|
|
233
|
+
pointer-events: none;
|
|
234
|
+
border: 1px solid color-mix(in srgb, var(--viking-metallic-500) 28%, transparent);
|
|
235
|
+
box-shadow: inset 0 1px 0 color-mix(in srgb, var(--viking-white) 7%, transparent);
|
|
236
|
+
opacity: 0.75;
|
|
237
|
+
background:
|
|
238
|
+
linear-gradient(
|
|
239
|
+
135deg,
|
|
240
|
+
transparent,
|
|
241
|
+
color-mix(in srgb, var(--viking-accent) 12%, transparent) 50%,
|
|
242
|
+
transparent
|
|
243
|
+
);
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
&::after {
|
|
247
|
+
content: "";
|
|
248
|
+
position: absolute;
|
|
249
|
+
top: 0;
|
|
250
|
+
right: 28px;
|
|
251
|
+
width: 30px;
|
|
252
|
+
height: 18px;
|
|
253
|
+
border-bottom: 1px solid color-mix(in srgb, var(--viking-accent) 24%, transparent);
|
|
254
|
+
border-right: 1px solid color-mix(in srgb, var(--viking-accent) 18%, transparent);
|
|
255
|
+
transform: skewX(-18deg);
|
|
256
|
+
pointer-events: none;
|
|
257
|
+
opacity: 0.55;
|
|
258
|
+
z-index: 2;
|
|
259
|
+
}
|
|
151
260
|
|
|
152
261
|
&:hover {
|
|
153
262
|
transform: rotateY(0deg) rotateX(0deg);
|
|
@@ -358,7 +467,7 @@
|
|
|
358
467
|
position: relative;
|
|
359
468
|
}
|
|
360
469
|
|
|
361
|
-
/*
|
|
470
|
+
/* Structural command-line divider for section cadence */
|
|
362
471
|
.quick-start-band::after {
|
|
363
472
|
content: "";
|
|
364
473
|
position: absolute;
|
|
@@ -426,10 +535,28 @@
|
|
|
426
535
|
border-color 0.25s ease,
|
|
427
536
|
transform 0.25s ease,
|
|
428
537
|
box-shadow 0.25s ease;
|
|
538
|
+
box-shadow: var(--shadow-sm);
|
|
539
|
+
overflow: hidden;
|
|
540
|
+
|
|
541
|
+
&::before {
|
|
542
|
+
content: "";
|
|
543
|
+
position: absolute;
|
|
544
|
+
left: 0;
|
|
545
|
+
right: 0;
|
|
546
|
+
top: 0;
|
|
547
|
+
height: 1px;
|
|
548
|
+
background: linear-gradient(
|
|
549
|
+
90deg,
|
|
550
|
+
color-mix(in srgb, var(--viking-accent) 35%, transparent),
|
|
551
|
+
transparent
|
|
552
|
+
);
|
|
553
|
+
opacity: 0.45;
|
|
554
|
+
pointer-events: none;
|
|
555
|
+
}
|
|
429
556
|
|
|
430
557
|
&:hover {
|
|
431
558
|
border-color: var(--viking-accent);
|
|
432
|
-
transform: translateY(-
|
|
559
|
+
transform: translateY(-2px);
|
|
433
560
|
box-shadow: var(--shadow-hover);
|
|
434
561
|
}
|
|
435
562
|
|
|
@@ -542,6 +669,8 @@
|
|
|
542
669
|
border-radius: 16px;
|
|
543
670
|
background: color-mix(in srgb, var(--viking-accent) 6%, var(--color-surface));
|
|
544
671
|
border: 1px solid color-mix(in srgb, var(--viking-accent) 18%, transparent);
|
|
672
|
+
position: relative;
|
|
673
|
+
overflow: hidden;
|
|
545
674
|
transition:
|
|
546
675
|
border-color 0.2s ease,
|
|
547
676
|
box-shadow 0.2s ease;
|
|
@@ -571,6 +700,16 @@
|
|
|
571
700
|
color: var(--text-muted);
|
|
572
701
|
line-height: 1.45;
|
|
573
702
|
}
|
|
703
|
+
|
|
704
|
+
&::after {
|
|
705
|
+
content: "";
|
|
706
|
+
position: absolute;
|
|
707
|
+
inset: 8px;
|
|
708
|
+
border: 1px solid color-mix(in srgb, var(--viking-metallic-400) 26%, transparent);
|
|
709
|
+
border-radius: inherit;
|
|
710
|
+
opacity: 0.5;
|
|
711
|
+
pointer-events: none;
|
|
712
|
+
}
|
|
574
713
|
}
|
|
575
714
|
|
|
576
715
|
/* ── Integrations strip ── */
|
|
@@ -665,7 +804,23 @@
|
|
|
665
804
|
padding: var(--viking-space-9) 0;
|
|
666
805
|
}
|
|
667
806
|
|
|
668
|
-
|
|
807
|
+
&::before {
|
|
808
|
+
content: "";
|
|
809
|
+
position: absolute;
|
|
810
|
+
left: 0;
|
|
811
|
+
top: 0;
|
|
812
|
+
right: 0;
|
|
813
|
+
height: 1px;
|
|
814
|
+
background: linear-gradient(
|
|
815
|
+
90deg,
|
|
816
|
+
transparent,
|
|
817
|
+
color-mix(in srgb, var(--viking-accent) 22%, transparent),
|
|
818
|
+
transparent
|
|
819
|
+
);
|
|
820
|
+
opacity: 0.25;
|
|
821
|
+
}
|
|
822
|
+
|
|
823
|
+
/* Structured divider marker for each capability showcase */
|
|
669
824
|
&::after {
|
|
670
825
|
content: "";
|
|
671
826
|
position: absolute;
|
|
@@ -721,6 +876,20 @@
|
|
|
721
876
|
line-height: 1.65;
|
|
722
877
|
margin: 0 0 24px 0;
|
|
723
878
|
}
|
|
879
|
+
|
|
880
|
+
&::after {
|
|
881
|
+
content: "";
|
|
882
|
+
display: block;
|
|
883
|
+
width: 42px;
|
|
884
|
+
height: 1px;
|
|
885
|
+
margin-top: 18px;
|
|
886
|
+
background: linear-gradient(
|
|
887
|
+
90deg,
|
|
888
|
+
var(--viking-accent),
|
|
889
|
+
transparent
|
|
890
|
+
);
|
|
891
|
+
opacity: 0.35;
|
|
892
|
+
}
|
|
724
893
|
}
|
|
725
894
|
|
|
726
895
|
.showcase-link {
|
|
@@ -749,6 +918,31 @@
|
|
|
749
918
|
border-radius: var(--viking-radius-xl, 16px);
|
|
750
919
|
padding: var(--viking-card-padding, var(--viking-space-4));
|
|
751
920
|
box-shadow: var(--shadow-md);
|
|
921
|
+
position: relative;
|
|
922
|
+
overflow: hidden;
|
|
923
|
+
|
|
924
|
+
&::before {
|
|
925
|
+
content: "";
|
|
926
|
+
position: absolute;
|
|
927
|
+
inset: 0;
|
|
928
|
+
border: 1px solid color-mix(in srgb, var(--viking-metallic-500) 24%, transparent);
|
|
929
|
+
border-radius: inherit;
|
|
930
|
+
box-shadow: inset 0 1px 0 color-mix(in srgb, var(--viking-white) 6%, transparent);
|
|
931
|
+
pointer-events: none;
|
|
932
|
+
}
|
|
933
|
+
|
|
934
|
+
&::after {
|
|
935
|
+
content: "";
|
|
936
|
+
position: absolute;
|
|
937
|
+
top: 0;
|
|
938
|
+
left: 18px;
|
|
939
|
+
width: 36px;
|
|
940
|
+
height: 12px;
|
|
941
|
+
border-bottom: 1px solid color-mix(in srgb, var(--viking-accent) 35%, transparent);
|
|
942
|
+
border-left: 1px solid color-mix(in srgb, var(--viking-accent) 18%, transparent);
|
|
943
|
+
opacity: 0.45;
|
|
944
|
+
pointer-events: none;
|
|
945
|
+
}
|
|
752
946
|
}
|
|
753
947
|
|
|
754
948
|
.visual-panel-header {
|
|
@@ -795,6 +989,8 @@
|
|
|
795
989
|
border-radius: var(--viking-radius-lg);
|
|
796
990
|
padding: var(--viking-card-padding-compact, var(--viking-space-3));
|
|
797
991
|
position: relative;
|
|
992
|
+
border-color: color-mix(in srgb, var(--viking-accent) 12%, var(--border));
|
|
993
|
+
box-shadow: var(--shadow-sm);
|
|
798
994
|
|
|
799
995
|
.metric-label {
|
|
800
996
|
display: block;
|
|
@@ -847,7 +1043,7 @@
|
|
|
847
1043
|
position: relative;
|
|
848
1044
|
}
|
|
849
1045
|
|
|
850
|
-
/*
|
|
1046
|
+
/* Structured double divider accent */
|
|
851
1047
|
.widget-showcase::after {
|
|
852
1048
|
content: "";
|
|
853
1049
|
position: absolute;
|
|
@@ -928,6 +1124,29 @@
|
|
|
928
1124
|
border-radius: var(--viking-radius-xl, 16px);
|
|
929
1125
|
padding: var(--viking-card-padding, var(--viking-space-4));
|
|
930
1126
|
box-shadow: var(--shadow-md);
|
|
1127
|
+
position: relative;
|
|
1128
|
+
overflow: hidden;
|
|
1129
|
+
border-color: color-mix(in srgb, var(--viking-border-strong) 85%, transparent);
|
|
1130
|
+
|
|
1131
|
+
&::before {
|
|
1132
|
+
content: "";
|
|
1133
|
+
position: absolute;
|
|
1134
|
+
inset: 0;
|
|
1135
|
+
pointer-events: none;
|
|
1136
|
+
background:
|
|
1137
|
+
radial-gradient(
|
|
1138
|
+
140px 42px at 16px 0,
|
|
1139
|
+
color-mix(in srgb, var(--viking-accent) 10%, transparent),
|
|
1140
|
+
transparent
|
|
1141
|
+
),
|
|
1142
|
+
linear-gradient(
|
|
1143
|
+
90deg,
|
|
1144
|
+
transparent,
|
|
1145
|
+
color-mix(in srgb, var(--viking-accent-strong) 16%, transparent),
|
|
1146
|
+
transparent
|
|
1147
|
+
);
|
|
1148
|
+
opacity: 0.35;
|
|
1149
|
+
}
|
|
931
1150
|
}
|
|
932
1151
|
|
|
933
1152
|
/* ── Pricing ── */
|
|
@@ -938,7 +1157,7 @@
|
|
|
938
1157
|
position: relative;
|
|
939
1158
|
}
|
|
940
1159
|
|
|
941
|
-
/*
|
|
1160
|
+
/* Structured double divider accent */
|
|
942
1161
|
.pricing-showcase::after {
|
|
943
1162
|
content: "";
|
|
944
1163
|
position: absolute;
|
|
@@ -1005,6 +1224,9 @@
|
|
|
1005
1224
|
border-radius: var(--viking-radius-xl);
|
|
1006
1225
|
background: var(--color-surface);
|
|
1007
1226
|
border: 1px solid var(--border);
|
|
1227
|
+
box-shadow: var(--shadow-sm);
|
|
1228
|
+
position: relative;
|
|
1229
|
+
overflow: hidden;
|
|
1008
1230
|
transition:
|
|
1009
1231
|
transform 0.3s ease,
|
|
1010
1232
|
box-shadow 0.3s ease;
|
|
@@ -1020,16 +1242,34 @@
|
|
|
1020
1242
|
}
|
|
1021
1243
|
|
|
1022
1244
|
&:hover {
|
|
1023
|
-
transform: translateY(-
|
|
1245
|
+
transform: translateY(-2px);
|
|
1246
|
+
border-color: var(--viking-accent);
|
|
1024
1247
|
box-shadow: var(--shadow-hover);
|
|
1025
1248
|
}
|
|
1026
1249
|
|
|
1250
|
+
&::before {
|
|
1251
|
+
content: "";
|
|
1252
|
+
position: absolute;
|
|
1253
|
+
left: 0;
|
|
1254
|
+
right: 0;
|
|
1255
|
+
top: 0;
|
|
1256
|
+
height: 1px;
|
|
1257
|
+
background: linear-gradient(
|
|
1258
|
+
90deg,
|
|
1259
|
+
color-mix(in srgb, var(--viking-accent) 24%, transparent),
|
|
1260
|
+
transparent
|
|
1261
|
+
);
|
|
1262
|
+
opacity: 0.45;
|
|
1263
|
+
pointer-events: none;
|
|
1264
|
+
}
|
|
1265
|
+
|
|
1027
1266
|
h3 {
|
|
1028
1267
|
font-size: 1.1rem;
|
|
1029
1268
|
color: var(--text-muted);
|
|
1030
1269
|
margin: 0;
|
|
1031
1270
|
text-transform: uppercase;
|
|
1032
1271
|
letter-spacing: 0.1em;
|
|
1272
|
+
font-weight: var(--viking-font-weight-semibold);
|
|
1033
1273
|
}
|
|
1034
1274
|
|
|
1035
1275
|
.price {
|
|
@@ -1081,6 +1321,7 @@
|
|
|
1081
1321
|
var(--viking-accent) 6%,
|
|
1082
1322
|
var(--color-surface)
|
|
1083
1323
|
);
|
|
1324
|
+
box-shadow: inset 0 1px 0 color-mix(in srgb, var(--viking-white) 8%, transparent);
|
|
1084
1325
|
|
|
1085
1326
|
.recommended-badge {
|
|
1086
1327
|
position: absolute;
|
|
@@ -28,7 +28,7 @@ export class VikingCardWc extends HTMLElementBase {
|
|
|
28
28
|
static readonly legacyTag = "viking-card-wc";
|
|
29
29
|
|
|
30
30
|
static get observedAttributes(): string[] {
|
|
31
|
-
return ["compact", "interactive", "title"];
|
|
31
|
+
return ["compact", "interactive", "title", "loading"];
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
connectedCallback(): void {
|
|
@@ -48,6 +48,10 @@ export class VikingCardWc extends HTMLElementBase {
|
|
|
48
48
|
"viking-card-interactive",
|
|
49
49
|
this.hasAttribute("interactive"),
|
|
50
50
|
);
|
|
51
|
+
this.classList.toggle(
|
|
52
|
+
"viking-card-loading",
|
|
53
|
+
this.hasAttribute("loading"),
|
|
54
|
+
);
|
|
51
55
|
|
|
52
56
|
const title = this.getAttribute("title");
|
|
53
57
|
if (title) {
|
package/src/web/core/styles.ts
CHANGED
|
@@ -39,7 +39,7 @@ export const VIKING_BUTTON_STYLES = `
|
|
|
39
39
|
gap: var(--viking-space-1);
|
|
40
40
|
min-height: var(--viking-control-height);
|
|
41
41
|
padding: 0 var(--viking-control-padding-x);
|
|
42
|
-
border-radius: var(--viking-radius);
|
|
42
|
+
border-radius: var(--viking-radius-lg);
|
|
43
43
|
border: 1px solid transparent;
|
|
44
44
|
cursor: pointer;
|
|
45
45
|
text-decoration: none;
|
|
@@ -48,9 +48,29 @@ export const VIKING_BUTTON_STYLES = `
|
|
|
48
48
|
min-width: var(--viking-btn-min-width, 120px);
|
|
49
49
|
white-space: nowrap;
|
|
50
50
|
position: relative;
|
|
51
|
+
background-clip: padding-box;
|
|
52
|
+
isolation: isolate;
|
|
51
53
|
user-select: none;
|
|
52
54
|
-webkit-tap-highlight-color: transparent;
|
|
53
55
|
box-sizing: border-box;
|
|
56
|
+
overflow: hidden;
|
|
57
|
+
box-shadow: var(--viking-shadow-sm);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.viking-btn::before {
|
|
61
|
+
content: "";
|
|
62
|
+
position: absolute;
|
|
63
|
+
inset: 1px 1px auto;
|
|
64
|
+
height: 1px;
|
|
65
|
+
background: linear-gradient(
|
|
66
|
+
90deg,
|
|
67
|
+
transparent,
|
|
68
|
+
color-mix(in srgb, var(--viking-metallic-100) 45%, transparent),
|
|
69
|
+
transparent
|
|
70
|
+
);
|
|
71
|
+
pointer-events: none;
|
|
72
|
+
opacity: 0.82;
|
|
73
|
+
transition: var(--viking-transition-interactive);
|
|
54
74
|
}
|
|
55
75
|
|
|
56
76
|
.viking-btn:focus-visible {
|
|
@@ -67,6 +87,36 @@ export const VIKING_BUTTON_STYLES = `
|
|
|
67
87
|
box-shadow: none !important;
|
|
68
88
|
}
|
|
69
89
|
|
|
90
|
+
.viking-btn[aria-busy='true']::before,
|
|
91
|
+
.viking-btn[aria-busy='true'] .viking-btn-label {
|
|
92
|
+
opacity: 0.85;
|
|
93
|
+
transform: translateY(1px);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.viking-btn[aria-busy='true'] .viking-btn-spinner {
|
|
97
|
+
opacity: 0.85;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.viking-btn::after {
|
|
101
|
+
content: "";
|
|
102
|
+
position: absolute;
|
|
103
|
+
inset: auto 0 0 0;
|
|
104
|
+
height: 1px;
|
|
105
|
+
background: linear-gradient(
|
|
106
|
+
90deg,
|
|
107
|
+
transparent,
|
|
108
|
+
color-mix(
|
|
109
|
+
in srgb,
|
|
110
|
+
var(--viking-metallic-100) 18%,
|
|
111
|
+
transparent
|
|
112
|
+
),
|
|
113
|
+
transparent
|
|
114
|
+
);
|
|
115
|
+
pointer-events: none;
|
|
116
|
+
opacity: 0.45;
|
|
117
|
+
transition: var(--viking-transition-interactive);
|
|
118
|
+
}
|
|
119
|
+
|
|
70
120
|
.viking-btn-sm {
|
|
71
121
|
min-height: var(--viking-control-height-sm);
|
|
72
122
|
padding: 0 var(--viking-space-2);
|
|
@@ -131,6 +181,20 @@ export const VIKING_BUTTON_STYLES = `
|
|
|
131
181
|
height: var(--viking-icon-size-md, 20px);
|
|
132
182
|
}
|
|
133
183
|
|
|
184
|
+
::slotted(viking-icon),
|
|
185
|
+
::slotted(.viking-icon),
|
|
186
|
+
::slotted([data-viking-icon]) {
|
|
187
|
+
display: inline-flex;
|
|
188
|
+
align-items: center;
|
|
189
|
+
justify-content: center;
|
|
190
|
+
width: var(--viking-icon-size-md);
|
|
191
|
+
height: var(--viking-icon-size-md);
|
|
192
|
+
line-height: 1;
|
|
193
|
+
flex-shrink: 0;
|
|
194
|
+
pointer-events: none;
|
|
195
|
+
flex: 0 0 auto;
|
|
196
|
+
}
|
|
197
|
+
|
|
134
198
|
.viking-btn-outline {
|
|
135
199
|
background: var(--viking-surface);
|
|
136
200
|
color: var(--viking-text);
|
|
@@ -145,6 +209,14 @@ export const VIKING_BUTTON_STYLES = `
|
|
|
145
209
|
transform: translateY(var(--viking-state-hover-lift));
|
|
146
210
|
}
|
|
147
211
|
|
|
212
|
+
.viking-btn-outline:active:not(:disabled):not([aria-busy='true']) {
|
|
213
|
+
transform: translateY(0) scale(var(--viking-state-active-scale));
|
|
214
|
+
box-shadow: inset 0 1px 2px
|
|
215
|
+
color-mix(in srgb, var(--viking-black) 28%, transparent),
|
|
216
|
+
var(--viking-shadow-sm);
|
|
217
|
+
border-color: var(--viking-border-strong);
|
|
218
|
+
}
|
|
219
|
+
|
|
148
220
|
.viking-btn-primary {
|
|
149
221
|
background: var(--viking-accent);
|
|
150
222
|
color: var(--viking-accent-content);
|
|
@@ -159,6 +231,14 @@ export const VIKING_BUTTON_STYLES = `
|
|
|
159
231
|
transform: translateY(var(--viking-state-hover-lift));
|
|
160
232
|
}
|
|
161
233
|
|
|
234
|
+
.viking-btn-primary:active:not(:disabled):not([aria-busy='true']) {
|
|
235
|
+
transform: translateY(0) scale(var(--viking-state-active-scale));
|
|
236
|
+
box-shadow: inset 0 1px 2px
|
|
237
|
+
color-mix(in srgb, var(--viking-black) 28%, transparent),
|
|
238
|
+
var(--viking-shadow-sm);
|
|
239
|
+
border-color: color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));
|
|
240
|
+
}
|
|
241
|
+
|
|
162
242
|
.viking-btn-secondary {
|
|
163
243
|
background: var(--viking-accent-secondary);
|
|
164
244
|
color: var(--viking-accent-secondary-content);
|
|
@@ -173,6 +253,14 @@ export const VIKING_BUTTON_STYLES = `
|
|
|
173
253
|
transform: translateY(var(--viking-state-hover-lift));
|
|
174
254
|
}
|
|
175
255
|
|
|
256
|
+
.viking-btn-secondary:active:not(:disabled):not([aria-busy='true']) {
|
|
257
|
+
transform: translateY(0) scale(var(--viking-state-active-scale));
|
|
258
|
+
box-shadow: inset 0 1px 2px
|
|
259
|
+
color-mix(in srgb, var(--viking-black) 28%, transparent),
|
|
260
|
+
var(--viking-shadow-sm);
|
|
261
|
+
border-color: color-mix(in srgb, var(--viking-accent-secondary) 82%, var(--viking-black));
|
|
262
|
+
}
|
|
263
|
+
|
|
176
264
|
.viking-btn-filled {
|
|
177
265
|
background: var(--viking-surface-alt);
|
|
178
266
|
color: var(--viking-text);
|
|
@@ -187,6 +275,13 @@ export const VIKING_BUTTON_STYLES = `
|
|
|
187
275
|
transform: translateY(var(--viking-state-hover-lift));
|
|
188
276
|
}
|
|
189
277
|
|
|
278
|
+
.viking-btn-filled:active:not(:disabled):not([aria-busy='true']) {
|
|
279
|
+
transform: translateY(0) scale(var(--viking-state-active-scale));
|
|
280
|
+
box-shadow: var(--viking-shadow-sm);
|
|
281
|
+
border-color: color-mix(in srgb, var(--viking-accent) 20%, var(--viking-border));
|
|
282
|
+
background: color-mix(in srgb, var(--viking-surface-alt) 84%, var(--viking-accent));
|
|
283
|
+
}
|
|
284
|
+
|
|
190
285
|
.viking-btn-danger {
|
|
191
286
|
background: var(--viking-danger);
|
|
192
287
|
color: var(--viking-on-danger);
|
|
@@ -196,10 +291,20 @@ export const VIKING_BUTTON_STYLES = `
|
|
|
196
291
|
|
|
197
292
|
.viking-btn-danger:hover:not(:disabled):not([aria-busy='true']) {
|
|
198
293
|
background: color-mix(in srgb, var(--viking-danger) 88%, var(--viking-white));
|
|
294
|
+
border-color: color-mix(in srgb, var(--viking-danger) 92%, var(--viking-white));
|
|
199
295
|
box-shadow: var(--viking-shadow-hover);
|
|
200
296
|
transform: translateY(var(--viking-state-hover-lift));
|
|
201
297
|
}
|
|
202
298
|
|
|
299
|
+
.viking-btn-danger:active:not(:disabled):not([aria-busy='true']) {
|
|
300
|
+
transform: translateY(0) scale(var(--viking-state-active-scale));
|
|
301
|
+
border-color: color-mix(in srgb, var(--viking-danger) 72%, var(--viking-black));
|
|
302
|
+
background: color-mix(in srgb, var(--viking-danger) 84%, var(--viking-black));
|
|
303
|
+
box-shadow: inset 0 1px 2px
|
|
304
|
+
color-mix(in srgb, var(--viking-black) 28%, transparent),
|
|
305
|
+
var(--viking-shadow-sm);
|
|
306
|
+
}
|
|
307
|
+
|
|
203
308
|
.viking-btn-ghost {
|
|
204
309
|
background: transparent;
|
|
205
310
|
color: var(--viking-text);
|
|
@@ -213,6 +318,12 @@ export const VIKING_BUTTON_STYLES = `
|
|
|
213
318
|
color: var(--viking-accent-strong);
|
|
214
319
|
}
|
|
215
320
|
|
|
321
|
+
.viking-btn-ghost:active:not(:disabled):not([aria-busy='true']) {
|
|
322
|
+
transform: translateY(0) scale(var(--viking-state-active-scale));
|
|
323
|
+
background: var(--viking-accent-soft);
|
|
324
|
+
color: var(--viking-accent-strong);
|
|
325
|
+
}
|
|
326
|
+
|
|
216
327
|
.viking-btn-subtle {
|
|
217
328
|
background: transparent;
|
|
218
329
|
color: var(--viking-text-muted);
|
|
@@ -227,6 +338,13 @@ export const VIKING_BUTTON_STYLES = `
|
|
|
227
338
|
border-color: var(--viking-border-strong);
|
|
228
339
|
}
|
|
229
340
|
|
|
341
|
+
.viking-btn-subtle:active:not(:disabled):not([aria-busy='true']) {
|
|
342
|
+
transform: translateY(0) scale(var(--viking-state-active-scale));
|
|
343
|
+
border-color: var(--viking-border);
|
|
344
|
+
background: color-mix(in srgb, var(--viking-accent-soft) 70%, var(--viking-surface));
|
|
345
|
+
box-shadow: inset 0 1px 2px color-mix(in srgb, var(--viking-black) 24%, transparent);
|
|
346
|
+
}
|
|
347
|
+
|
|
230
348
|
.viking-btn:active:not(:disabled):not([aria-busy='true']) {
|
|
231
349
|
transform: translateY(0) scale(var(--viking-state-active-scale));
|
|
232
350
|
}
|
|
@@ -234,7 +352,12 @@ export const VIKING_BUTTON_STYLES = `
|
|
|
234
352
|
.viking-btn-label {
|
|
235
353
|
display: inline-flex;
|
|
236
354
|
align-items: center;
|
|
237
|
-
|
|
355
|
+
gap: var(--viking-space-1);
|
|
356
|
+
line-height: 1.2;
|
|
357
|
+
min-width: 0;
|
|
358
|
+
justify-content: center;
|
|
359
|
+
text-align: center;
|
|
360
|
+
white-space: nowrap;
|
|
238
361
|
}
|
|
239
362
|
|
|
240
363
|
.viking-btn-spinner {
|
|
@@ -204,6 +204,17 @@ const VIKING_SUITE_HEADER_STYLES = `
|
|
|
204
204
|
text-transform: uppercase;
|
|
205
205
|
}
|
|
206
206
|
|
|
207
|
+
.suite-header__auth-icon,
|
|
208
|
+
.suite-header__menu-icon,
|
|
209
|
+
.suite-header__action-icon,
|
|
210
|
+
.suite-header__avatar-icon,
|
|
211
|
+
.suite-header__chevron {
|
|
212
|
+
display: inline-flex;
|
|
213
|
+
align-items: center;
|
|
214
|
+
justify-content: center;
|
|
215
|
+
flex-shrink: 0;
|
|
216
|
+
}
|
|
217
|
+
|
|
207
218
|
.suite-header__auth-link:hover {
|
|
208
219
|
background: var(--viking-accent-hover);
|
|
209
220
|
color: var(--viking-accent-content);
|
|
@@ -356,6 +367,10 @@ viking-suite-command-palette {
|
|
|
356
367
|
.suite-header__menu-button {
|
|
357
368
|
display: none;
|
|
358
369
|
}
|
|
370
|
+
|
|
371
|
+
.suite-header[data-menu-open='true'] .suite-header__mobile {
|
|
372
|
+
display: none;
|
|
373
|
+
}
|
|
359
374
|
}
|
|
360
375
|
`;
|
|
361
376
|
|