@dataengineeringformachinelearning/viking-ui 4.0.2 → 4.0.4
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 +211 -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 +2 -1
- package/dist/src/web/core/styles.ts +125 -2
- package/dist/src/web/search-palette/viking-search-palette-wc.ts +1 -0
- package/dist/src/web/suite-header/viking-suite-header-wc.ts +15 -0
- package/dist/types/dataengineeringformachinelearning-viking-ui.d.ts +3 -2
- 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 +143 -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 +35 -5
- package/src/lib/footer/footer.scss +8 -1
- package/src/lib/site-drakkar/site-footer.ts +5 -1
- package/src/lib/site-drakkar/site-navbar.ts +23 -4
- package/src/lib/theme-toggle/theme-toggle.ts +1 -0
- package/src/styles/_buttons.scss +92 -7
- package/src/styles/_layout-enforcement.scss +66 -3
- package/src/styles/components/footer.scss +26 -13
- package/src/styles/components/icon-inline.scss +23 -0
- package/src/styles/components.scss +276 -9
- package/src/styles/static-navbar.scss +110 -36
- package/src/styles/surfaces/docs-showcase.scss +64 -1
- package/src/styles/surfaces/marketing-landing.scss +247 -6
- package/src/styles/surfaces/swagger-ui.scss +92 -1
- package/src/styles/viking-ui.scss +2 -0
- package/src/web/card/viking-card-wc.ts +2 -1
- package/src/web/core/styles.ts +125 -2
- package/src/web/search-palette/viking-search-palette-wc.ts +1 -0
- package/src/web/suite-header/viking-suite-header-wc.ts +15 -0
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dataengineeringformachinelearning/viking-ui",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.4",
|
|
4
4
|
"description": "Universal Viking-UI design system for Astro, Angular, and Django.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -24,7 +24,13 @@
|
|
|
24
24
|
"types": "./types/dataengineeringformachinelearning-viking-ui.d.ts",
|
|
25
25
|
"default": "./fesm2022/dataengineeringformachinelearning-viking-ui.mjs"
|
|
26
26
|
},
|
|
27
|
+
"./angular": {
|
|
28
|
+
"types": "./dist/types/dataengineeringformachinelearning-viking-ui.d.ts",
|
|
29
|
+
"import": "./dist/fesm2022/dataengineeringformachinelearning-viking-ui.mjs",
|
|
30
|
+
"default": "./dist/fesm2022/dataengineeringformachinelearning-viking-ui.mjs"
|
|
31
|
+
},
|
|
27
32
|
"./dist/index.js": "./dist/fesm2022/dataengineeringformachinelearning-viking-ui.mjs",
|
|
33
|
+
"./dist/index.d.ts": "./dist/types/dataengineeringformachinelearning-viking-ui.d.ts",
|
|
28
34
|
"./dist/viking-ui.css": "./dist/viking-ui.css",
|
|
29
35
|
"./dist/viking-ui-elements.js": "./dist/viking-ui-elements.js",
|
|
30
36
|
"./dist/web-components.js": "./dist/web-components.js",
|
|
@@ -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,7 @@ export class VikingCardWc extends HTMLElementBase {
|
|
|
48
48
|
"viking-card-interactive",
|
|
49
49
|
this.hasAttribute("interactive"),
|
|
50
50
|
);
|
|
51
|
+
this.classList.toggle("viking-card-loading", this.hasAttribute("loading"));
|
|
51
52
|
|
|
52
53
|
const title = this.getAttribute("title");
|
|
53
54
|
if (title) {
|
|
@@ -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 {
|
|
@@ -125,6 +125,7 @@ export class VikingSearchPaletteWc extends HTMLElementBase {
|
|
|
125
125
|
|
|
126
126
|
connectedCallback(): void {
|
|
127
127
|
this.render();
|
|
128
|
+
this.removeAttribute("open");
|
|
128
129
|
this.syncOpen();
|
|
129
130
|
this.bindGlobalShortcut();
|
|
130
131
|
this.dialogEl?.addEventListener("close", this.onClose);
|
|
@@ -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
|
|
|
@@ -888,6 +888,7 @@ declare class VikingSiteNavbar {
|
|
|
888
888
|
readonly context: _angular_core.InputSignal<SiteDrakkarContext>;
|
|
889
889
|
readonly urls: _angular_core.InputSignal<SiteUrls>;
|
|
890
890
|
readonly isAuthenticated: _angular_core.InputSignal<boolean>;
|
|
891
|
+
readonly isBusy: _angular_core.InputSignal<boolean>;
|
|
891
892
|
readonly theme: _angular_core.InputSignal<"dark" | "light">;
|
|
892
893
|
readonly showSearch: _angular_core.InputSignal<boolean>;
|
|
893
894
|
readonly login: _angular_core.OutputEmitterRef<void>;
|
|
@@ -904,7 +905,7 @@ declare class VikingSiteNavbar {
|
|
|
904
905
|
protected closeMobileMenu(): void;
|
|
905
906
|
protected openSearch(): void;
|
|
906
907
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<VikingSiteNavbar, never>;
|
|
907
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingSiteNavbar, "viking-site-navbar", never, { "context": { "alias": "context"; "required": false; "isSignal": true; }; "urls": { "alias": "urls"; "required": false; "isSignal": true; }; "isAuthenticated": { "alias": "isAuthenticated"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "showSearch": { "alias": "showSearch"; "required": false; "isSignal": true; }; }, { "login": "login"; "logout": "logout"; "themeToggle": "themeToggle"; "searchOpen": "searchOpen"; }, never, never, true, never>;
|
|
908
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<VikingSiteNavbar, "viking-site-navbar", never, { "context": { "alias": "context"; "required": false; "isSignal": true; }; "urls": { "alias": "urls"; "required": false; "isSignal": true; }; "isAuthenticated": { "alias": "isAuthenticated"; "required": false; "isSignal": true; }; "isBusy": { "alias": "isBusy"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "showSearch": { "alias": "showSearch"; "required": false; "isSignal": true; }; }, { "login": "login"; "logout": "logout"; "themeToggle": "themeToggle"; "searchOpen": "searchOpen"; }, never, never, true, never>;
|
|
908
909
|
}
|
|
909
910
|
|
|
910
911
|
/**
|
|
@@ -916,7 +917,7 @@ declare class VikingSiteFooter {
|
|
|
916
917
|
readonly year: _angular_core.InputSignal<number>;
|
|
917
918
|
readonly cookieSettings: _angular_core.OutputEmitterRef<Event>;
|
|
918
919
|
readonly bugReport: _angular_core.OutputEmitterRef<Event>;
|
|
919
|
-
readonly usaBadgeHover: _angular_core.OutputEmitterRef<
|
|
920
|
+
readonly usaBadgeHover: _angular_core.OutputEmitterRef<Event>;
|
|
920
921
|
protected readonly columns: readonly _dataengineeringformachinelearning_viking_ui.SiteFooterColumn[];
|
|
921
922
|
protected readonly cookieSettingsUrl: () => string;
|
|
922
923
|
protected resolveHref: (link: SiteFooterLink) => string;
|