@dataengineeringformachinelearning/viking-ui 1.0.1 → 3.0.0-alpha.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.
- package/README.md +180 -37
- package/dist/deml-components.css +1122 -0
- package/dist/design-tokens.css +688 -0
- package/dist/elements/button/viking-button.d.ts +14 -0
- package/dist/elements/card/viking-card.d.ts +8 -0
- package/dist/elements/core/dom.d.ts +4 -0
- package/dist/elements/core/styles.d.ts +2 -0
- package/dist/elements/modal/viking-modal.d.ts +15 -0
- package/dist/fonts/inter/InterVariable-Italic.woff2 +0 -0
- package/dist/fonts/inter/InterVariable.woff2 +0 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +4051 -0
- package/dist/lib/core/brand-icons.d.ts +29 -0
- package/dist/lib/core/icons.d.ts +132 -0
- package/dist/lib/core/integration-brand-icons.d.ts +18 -0
- package/dist/lib/core/lucide-paths.generated.d.ts +90 -0
- package/dist/lib/site-drakkar/site-drakkar.config.d.ts +50 -0
- package/dist/lib/site-drakkar/suite-search-items.d.ts +17 -0
- package/dist/viking-components.css +1837 -0
- package/dist/viking-tokens.json +318 -0
- package/dist/viking-ui-elements.js +1750 -0
- package/dist/viking-ui.css +1 -0
- package/dist/web/badge/viking-badge-wc.d.ts +28 -0
- package/dist/web/button/viking-button-wc.d.ts +28 -0
- package/dist/web/callout/viking-callout-wc.d.ts +27 -0
- package/dist/web/card/viking-card-wc.d.ts +29 -0
- package/dist/web/core/base.d.ts +12 -0
- package/dist/web/core/dom.d.ts +11 -0
- package/dist/web/core/icons-inline.d.ts +7 -0
- package/dist/web/core/styles.d.ts +12 -0
- package/dist/web/core/types.d.ts +10 -0
- package/dist/web/field/viking-field-wc.d.ts +32 -0
- package/dist/web/index.d.ts +15 -0
- package/dist/web/input/viking-input-wc.d.ts +32 -0
- package/dist/web/modal/viking-modal-wc.d.ts +50 -0
- package/dist/web/search-palette/viking-search-palette-wc.d.ts +64 -0
- package/dist/web/select/viking-select-wc.d.ts +48 -0
- package/dist/web/suite-header/viking-suite-header-wc.d.ts +36 -0
- package/dist/web/suite-search-palette/viking-suite-search-palette-wc.d.ts +39 -0
- package/dist/web/theme-toggle/viking-theme-toggle-wc.d.ts +19 -0
- package/dist/web/types.d.ts +40 -0
- package/dist/web-components/index.d.ts +1 -0
- package/dist/web-components.js +1750 -0
- package/dist/widget.js +1182 -0
- package/package.json +89 -30
- package/src/assets/fonts/inter/InterVariable-Italic.woff2 +0 -0
- package/src/assets/fonts/inter/InterVariable.woff2 +0 -0
- package/src/elements/button/viking-button.ts +201 -0
- package/src/elements/card/viking-card.ts +60 -0
- package/src/elements/core/dom.ts +33 -0
- package/src/elements/core/styles.ts +28 -0
- package/src/elements/modal/viking-modal.ts +154 -0
- package/src/index.ts +1 -0
- package/src/lib/core/brand-icons.ts +62 -0
- package/src/lib/core/icons.ts +206 -0
- package/src/lib/core/integration-brand-icons.ts +77 -0
- package/src/lib/core/lucide-paths.generated.ts +130 -0
- package/src/lib/site-drakkar/site-drakkar.config.ts +295 -0
- package/src/lib/site-drakkar/suite-search-items.ts +246 -0
- package/src/styles/_buttons.scss +301 -0
- package/src/styles/_component-primitives.scss +183 -0
- package/src/styles/_drakkar-buttons.scss +85 -0
- package/src/styles/_fonts.scss +22 -0
- package/src/styles/_forms.scss +66 -0
- package/src/styles/_input.scss +106 -0
- package/src/styles/_layout-enforcement.scss +166 -0
- package/src/styles/_layout-rhythm.scss +158 -0
- package/src/styles/_legacy-aliases.scss +212 -0
- package/src/styles/_series-colors.scss +24 -0
- package/src/styles/_static-primitives.scss +857 -0
- package/src/styles/_typography.scss +87 -0
- package/src/styles/_variables.scss +527 -0
- package/src/styles/components/a11y.scss +90 -0
- package/src/styles/components/badges.scss +102 -0
- package/src/styles/components/extracted-utilities.scss +459 -0
- package/src/styles/components/footer.scss +155 -0
- package/src/styles/components/icon-heading.scss +47 -0
- package/src/styles/components/icon-inline.scss +78 -0
- package/src/styles/components/layout.scss +59 -0
- package/src/styles/components/utilities.scss +131 -0
- package/src/styles/components/viking-inspired.scss +204 -0
- package/src/styles/components/whitepaper-cta.scss +130 -0
- package/src/styles/components-bundle.scss +9 -0
- package/src/styles/components.scss +175 -0
- package/src/styles/deml-components.scss +10 -0
- package/src/styles/index.scss +8 -0
- package/src/styles/layout-shell.scss +39 -11
- package/src/styles/page-shell.scss +663 -33
- package/src/styles/static-navbar.scss +862 -146
- package/src/styles/surfaces/backend.scss +142 -0
- package/src/styles/surfaces/docs-global.scss +73 -0
- package/src/styles/surfaces/docs-shell.scss +412 -0
- package/src/styles/surfaces/docs-showcase.scss +1051 -0
- package/src/styles/surfaces/marketing-cta.scss +62 -0
- package/src/styles/surfaces/marketing-docs-bento.scss +67 -0
- package/src/styles/surfaces/marketing-global.scss +748 -0
- package/src/styles/surfaces/marketing-landing.scss +1260 -0
- package/src/styles/surfaces/marketing-publication.scss +535 -0
- package/src/styles/surfaces/marketing-theme.scss +14 -0
- package/src/styles/surfaces/swagger-ui.scss +921 -0
- package/src/styles/tokens-export.scss +18 -0
- package/src/styles/tokens.scss +5 -0
- package/src/styles/viking-ui-bundle.scss +21 -2
- package/src/styles/viking-ui.scss +213 -51
- package/src/tokens/viking-tokens.json +318 -0
- package/src/web/badge/viking-badge-wc.ts +116 -0
- package/src/web/button/viking-button-wc.ts +165 -0
- package/src/web/callout/viking-callout-wc.ts +105 -0
- package/src/web/card/viking-card-wc.ts +66 -0
- package/src/web/core/base.ts +56 -0
- package/src/web/core/dom.ts +53 -0
- package/src/web/core/icons-inline.ts +44 -0
- package/src/web/core/styles.ts +1138 -0
- package/src/web/core/types.ts +19 -0
- package/src/web/field/viking-field-wc.ts +154 -0
- package/src/web/index.ts +73 -0
- package/src/web/input/viking-input-wc.ts +211 -0
- package/src/web/modal/viking-modal-wc.ts +187 -0
- package/src/web/search-palette/viking-search-palette-wc.ts +494 -0
- package/src/web/select/viking-select-wc.ts +218 -0
- package/src/web/suite-header/viking-suite-header-wc.ts +714 -0
- package/src/web/suite-search-palette/viking-suite-search-palette-wc.ts +234 -0
- package/src/web/theme-toggle/viking-theme-toggle-wc.ts +139 -0
- package/src/web/types.ts +37 -0
- package/src/web-components/index.ts +1 -0
- package/fesm2022/dataengineeringformachinelearning-viking-ui.mjs +0 -5949
- package/fesm2022/dataengineeringformachinelearning-viking-ui.mjs.map +0 -1
- package/types/dataengineeringformachinelearning-viking-ui.d.ts +0 -1374
- package/viking.manifest.json +0 -189
package/README.md
CHANGED
|
@@ -1,65 +1,208 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Viking-UI
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Universal DEML component library for Astro, Angular, and Django.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
- **16px** main content / **14px** UI chrome typography
|
|
7
|
-
- **Crayola blue** (`#2176ff`) primary, **blue-bell** (`#33a1fd`) accents
|
|
8
|
-
- Zero-dependency components (`viking-*` selectors, `--viking-*` tokens)
|
|
9
|
-
- WCAG 2.1 AA focus rings, axe-core tested templates
|
|
5
|
+
## Architecture
|
|
10
6
|
|
|
11
|
-
|
|
7
|
+
- `src/styles/_variables.scss` defines the canonical `--viking-*` design tokens.
|
|
8
|
+
- `src/styles/components-bundle.scss` defines static CSS primitives shared by every app.
|
|
9
|
+
- `src/tokens/viking-tokens.json` exposes the same token contract for tooling.
|
|
10
|
+
- `src/elements/` contains framework-neutral Web Components with Shadow DOM style isolation.
|
|
11
|
+
- `dist/design-tokens.css`, `dist/viking-components.css`, `dist/deml-components.css`, `dist/viking-ui.css`, `dist/viking-tokens.json`, and `dist/viking-ui-elements.js` are the built artifacts.
|
|
12
|
+
- `dist/viking-ui.css` is the full app bundle. Load it once per surface; do not stack it with the split CSS artifacts.
|
|
13
|
+
|
|
14
|
+
## Build
|
|
12
15
|
|
|
13
16
|
```bash
|
|
14
|
-
npm
|
|
17
|
+
npm run build --prefix packages/viking-ui
|
|
18
|
+
npm run test:viking-ui:package
|
|
15
19
|
```
|
|
16
20
|
|
|
17
|
-
|
|
21
|
+
## Versioning
|
|
18
22
|
|
|
19
|
-
|
|
23
|
+
Viking-UI uses Changesets from the repository root:
|
|
20
24
|
|
|
21
|
-
```
|
|
22
|
-
|
|
25
|
+
```bash
|
|
26
|
+
npm run changeset
|
|
27
|
+
npm run version:viking-ui
|
|
23
28
|
```
|
|
24
29
|
|
|
25
|
-
|
|
30
|
+
See [docs/viking-ui-release.md](../../docs/viking-ui-release.md) for the full
|
|
31
|
+
release, visual regression, and propagation workflow.
|
|
32
|
+
|
|
33
|
+
## Consumption
|
|
26
34
|
|
|
27
35
|
```html
|
|
28
|
-
<link rel="stylesheet" href="/assets/design-tokens.css" />
|
|
29
36
|
<link rel="stylesheet" href="/assets/viking-ui.css" />
|
|
37
|
+
<script type="module" src="/assets/viking-ui-elements.js"></script>
|
|
30
38
|
```
|
|
31
39
|
|
|
32
|
-
|
|
40
|
+
```ts
|
|
41
|
+
import "@dataengineeringformachinelearning/viking-ui/elements.js";
|
|
42
|
+
import "@dataengineeringformachinelearning/viking-ui/viking-ui.css";
|
|
43
|
+
```
|
|
33
44
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
45
|
+
## Use via CDN (jsDelivr)
|
|
46
|
+
|
|
47
|
+
The package artifacts are published in `dist/`, so you can load them directly from jsDelivr:
|
|
48
|
+
|
|
49
|
+
### 1) CSS only
|
|
50
|
+
|
|
51
|
+
```html
|
|
52
|
+
<link
|
|
53
|
+
rel="stylesheet"
|
|
54
|
+
href="https://cdn.jsdelivr.net/npm/@dataengineeringformachinelearning/viking-ui@latest/dist/viking-ui.css"
|
|
55
|
+
/>
|
|
38
56
|
```
|
|
39
57
|
|
|
40
|
-
|
|
58
|
+
### 2) Web Components only
|
|
41
59
|
|
|
42
|
-
|
|
60
|
+
```html
|
|
61
|
+
<script
|
|
62
|
+
type="module"
|
|
63
|
+
src="https://cdn.jsdelivr.net/npm/@dataengineeringformachinelearning/viking-ui@latest/dist/web-components.js"
|
|
64
|
+
></script>
|
|
65
|
+
```
|
|
43
66
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
67
|
+
### 3) CSS + Web Components together
|
|
68
|
+
|
|
69
|
+
```html
|
|
70
|
+
<link
|
|
71
|
+
rel="stylesheet"
|
|
72
|
+
href="https://cdn.jsdelivr.net/npm/@dataengineeringformachinelearning/viking-ui@latest/dist/viking-ui.css"
|
|
73
|
+
/>
|
|
74
|
+
<script
|
|
75
|
+
type="module"
|
|
76
|
+
src="https://cdn.jsdelivr.net/npm/@dataengineeringformachinelearning/viking-ui@latest/dist/web-components.js"
|
|
77
|
+
></script>
|
|
47
78
|
```
|
|
48
79
|
|
|
49
|
-
|
|
50
|
-
| ----- | ---- |
|
|
51
|
-
| patch | Bug fixes, token/CSS tweaks, a11y fixes |
|
|
52
|
-
| minor | New components, additive APIs |
|
|
53
|
-
| major | Breaking input/output or removed exports |
|
|
80
|
+
### 4) Version pinning
|
|
54
81
|
|
|
55
|
-
|
|
82
|
+
Use `@latest` for latest stable assets, or replace it with a concrete version for locked
|
|
83
|
+
builds.
|
|
56
84
|
|
|
57
|
-
|
|
85
|
+
```html
|
|
86
|
+
<!-- Latest -->
|
|
87
|
+
<link
|
|
88
|
+
rel="stylesheet"
|
|
89
|
+
href="https://cdn.jsdelivr.net/npm/@dataengineeringformachinelearning/viking-ui@3.0.0-alpha.2/dist/viking-ui.css"
|
|
90
|
+
/>
|
|
91
|
+
<script
|
|
92
|
+
type="module"
|
|
93
|
+
src="https://cdn.jsdelivr.net/npm/@dataengineeringformachinelearning/viking-ui@3.0.0-alpha.2/dist/web-components.js"
|
|
94
|
+
></script>
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
```html
|
|
98
|
+
<!-- Pinned -->
|
|
99
|
+
<link
|
|
100
|
+
rel="stylesheet"
|
|
101
|
+
href="https://cdn.jsdelivr.net/npm/@dataengineeringformachinelearning/viking-ui@3.0.0-alpha.2/dist/viking-ui.css"
|
|
102
|
+
/>
|
|
103
|
+
<script
|
|
104
|
+
type="module"
|
|
105
|
+
src="https://cdn.jsdelivr.net/npm/@dataengineeringformachinelearning/viking-ui@3.0.0-alpha.2/dist/web-components.js"
|
|
106
|
+
></script>
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### 5) Full minimal HTML example (copy/paste)
|
|
110
|
+
|
|
111
|
+
```html
|
|
112
|
+
<!doctype html>
|
|
113
|
+
<html lang="en" data-theme="dark">
|
|
114
|
+
<head>
|
|
115
|
+
<meta charset="utf-8" />
|
|
116
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
117
|
+
<title>Viking-UI CDN demo</title>
|
|
118
|
+
<link
|
|
119
|
+
rel="stylesheet"
|
|
120
|
+
href="https://cdn.jsdelivr.net/npm/@dataengineeringformachinelearning/viking-ui@latest/dist/viking-ui.css"
|
|
121
|
+
/>
|
|
122
|
+
<script
|
|
123
|
+
type="module"
|
|
124
|
+
src="https://cdn.jsdelivr.net/npm/@dataengineeringformachinelearning/viking-ui@latest/dist/web-components.js"
|
|
125
|
+
></script>
|
|
126
|
+
</head>
|
|
127
|
+
<body>
|
|
128
|
+
<main
|
|
129
|
+
style="max-width: 680px; margin: 2rem auto; display: grid; gap: 1rem;"
|
|
130
|
+
>
|
|
131
|
+
<h1 class="viking-heading viking-heading-xl">Viking widget</h1>
|
|
132
|
+
<viking-card-wc compact>
|
|
133
|
+
<h2 class="viking-heading viking-heading-sm">Widget card</h2>
|
|
134
|
+
<p class="viking-text-muted">
|
|
135
|
+
Works in marketing pages and external websites.
|
|
136
|
+
</p>
|
|
137
|
+
</viking-card-wc>
|
|
138
|
+
<viking-button-wc variant="primary">Open dashboard</viking-button-wc>
|
|
139
|
+
</main>
|
|
140
|
+
</body>
|
|
141
|
+
</html>
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### 6) Status widget via jsDelivr (no npm install)
|
|
145
|
+
|
|
146
|
+
Use this when embedding a live status badge on external pages:
|
|
147
|
+
|
|
148
|
+
```html
|
|
149
|
+
<!doctype html>
|
|
150
|
+
<html lang="en" data-theme="dark">
|
|
151
|
+
<head>
|
|
152
|
+
<meta charset="utf-8" />
|
|
153
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
154
|
+
<title>DEML Status Widget</title>
|
|
155
|
+
<link
|
|
156
|
+
rel="stylesheet"
|
|
157
|
+
href="https://cdn.jsdelivr.net/npm/@dataengineeringformachinelearning/viking-ui@latest/dist/viking-ui.css"
|
|
158
|
+
/>
|
|
159
|
+
<script
|
|
160
|
+
type="module"
|
|
161
|
+
src="https://cdn.jsdelivr.net/npm/@dataengineeringformachinelearning/viking-ui@latest/dist/web-components.js"
|
|
162
|
+
></script>
|
|
163
|
+
<script
|
|
164
|
+
src="https://cdn.jsdelivr.net/npm/@dataengineeringformachinelearning/viking-ui@latest/dist/widget.js"
|
|
165
|
+
async
|
|
166
|
+
defer
|
|
167
|
+
data-page-id="platform-status"
|
|
168
|
+
data-backend-url="https://api.example.com"
|
|
169
|
+
data-frontend-url="https://deml.app"
|
|
170
|
+
></script>
|
|
171
|
+
</head>
|
|
172
|
+
<body></body>
|
|
173
|
+
</html>
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
Pinned release example:
|
|
177
|
+
|
|
178
|
+
```html
|
|
179
|
+
<script
|
|
180
|
+
src="https://cdn.jsdelivr.net/npm/@dataengineeringformachinelearning/viking-ui@3.0.0-alpha.2/dist/widget.js"
|
|
181
|
+
async
|
|
182
|
+
defer
|
|
183
|
+
data-page-id="platform-status"
|
|
184
|
+
data-backend-url="https://api.example.com"
|
|
185
|
+
data-frontend-url="https://deml.app"
|
|
186
|
+
></script>
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
Replace `api.example.com` with your backend URL and update `data-page-id` / `data-frontend-url` for your status page.
|
|
190
|
+
|
|
191
|
+
This package is the source of truth. Existing Angular wrappers in `frontend/projects/viking-ui` adapt the design system for Angular while migration continues; Astro and Django consume the package artifacts directly through synced static assets.
|
|
192
|
+
|
|
193
|
+
Angular app shells consume the package CSS from `angular.json`:
|
|
194
|
+
|
|
195
|
+
```json
|
|
196
|
+
{
|
|
197
|
+
"styles": ["../packages/viking-ui/dist/viking-ui.css", "src/styles.scss"]
|
|
198
|
+
}
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
Django, marketing, and showcase static assets are copied from `packages/viking-ui/dist` by:
|
|
58
202
|
|
|
59
203
|
```bash
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
npm run build:viking-ui
|
|
63
|
-
cd dist/viking-ui
|
|
64
|
-
npm publish --access public --otp=YOUR_CODE
|
|
204
|
+
python scripts/sync_design_system.py
|
|
205
|
+
node scripts/validate_viking_ui_assets.mjs
|
|
65
206
|
```
|
|
207
|
+
|
|
208
|
+
See [MIGRATION_PLAN.md](./MIGRATION_PLAN.md) for the rebuild phases.
|