@dataengineeringformachinelearning/viking-ui 4.0.1 → 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 +182 -23
- 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/auth-panel/auth-panel.ts +9 -9
- 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/backend.scss +22 -10
- package/src/styles/surfaces/docs-shell.scss +40 -15
- package/src/styles/surfaces/docs-showcase.scss +132 -30
- package/src/styles/surfaces/marketing-landing.scss +311 -45
- package/src/styles/surfaces/swagger-ui.scss +9 -8
- package/src/styles/viking-ui.scss +12 -12
- 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
|
@@ -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(--
|
|
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
|
|
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:
|
|
142
|
-
--viking-space-1:
|
|
143
|
-
--viking-space-1-5:
|
|
144
|
-
--viking-space-2:
|
|
145
|
-
--viking-space-3:
|
|
146
|
-
--viking-space-4:
|
|
147
|
-
--viking-space-5:
|
|
148
|
-
--viking-space-6:
|
|
149
|
-
--viking-space-7:
|
|
150
|
-
--viking-space-8:
|
|
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;
|
|
@@ -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
|
|