@dataengineeringformachinelearning/viking-ui 4.0.4 → 4.0.5

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.
Files changed (246) hide show
  1. package/README.md +35 -11
  2. package/dist/README.md +35 -11
  3. package/dist/design-tokens.css +300 -85
  4. package/dist/fesm2022/dataengineeringformachinelearning-viking-ui.mjs +100 -64
  5. package/dist/fesm2022/dataengineeringformachinelearning-viking-ui.mjs.map +1 -1
  6. package/dist/icons.js +306 -0
  7. package/dist/package.json +24 -5
  8. package/{src/lib/site-drakkar/site-drakkar.config.ts → dist/site-drakkar.js} +64 -130
  9. package/dist/src/tokens/viking-tokens.json +9 -7
  10. package/dist/types/dataengineeringformachinelearning-viking-ui.d.ts +97 -3
  11. package/dist/viking-components.css +161 -70
  12. package/dist/viking-tokens.json +9 -7
  13. package/dist/viking-ui-elements.js +44 -32
  14. package/dist/viking-ui.css +1 -1
  15. package/dist/web-components.js +44 -32
  16. package/package.json +30 -8
  17. package/dist/scripts/build-web-components.mjs +0 -37
  18. package/dist/src/web/badge/viking-badge-wc.ts +0 -116
  19. package/dist/src/web/button/viking-button-wc.ts +0 -165
  20. package/dist/src/web/callout/viking-callout-wc.ts +0 -105
  21. package/dist/src/web/card/viking-card-wc.ts +0 -67
  22. package/dist/src/web/core/base.ts +0 -56
  23. package/dist/src/web/core/dom.ts +0 -53
  24. package/dist/src/web/core/icons-inline.ts +0 -44
  25. package/dist/src/web/core/styles.ts +0 -1261
  26. package/dist/src/web/core/types.ts +0 -19
  27. package/dist/src/web/field/viking-field-wc.ts +0 -154
  28. package/dist/src/web/index.ts +0 -73
  29. package/dist/src/web/input/viking-input-wc.ts +0 -211
  30. package/dist/src/web/modal/viking-modal-wc.ts +0 -187
  31. package/dist/src/web/search-palette/viking-search-palette-wc.ts +0 -495
  32. package/dist/src/web/select/viking-select-wc.ts +0 -218
  33. package/dist/src/web/suite-header/viking-suite-header-wc.ts +0 -729
  34. package/dist/src/web/suite-search-palette/viking-suite-search-palette-wc.ts +0 -234
  35. package/dist/src/web/theme-toggle/viking-theme-toggle-wc.ts +0 -139
  36. package/dist/src/web/types.ts +0 -37
  37. package/dist/src/web/web-components.spec.ts +0 -297
  38. package/src/assets/drakkar-favicon.svg +0 -17
  39. package/src/assets/fonts/inter/InterVariable-Italic.woff2 +0 -0
  40. package/src/assets/fonts/inter/InterVariable.woff2 +0 -0
  41. package/src/core/brand/deml-lockup.svg +0 -5
  42. package/src/core/brand/deml-mark-compact.svg +0 -4
  43. package/src/core/brand/deml-mark-filled.svg +0 -3
  44. package/src/core/brand/deml-mark-outline.svg +0 -4
  45. package/src/core/brand-icons.ts +0 -62
  46. package/src/core/icons.spec.ts +0 -52
  47. package/src/core/icons.ts +0 -206
  48. package/src/core/integration-brand-icons.ts +0 -77
  49. package/src/core/lucide-paths.generated.ts +0 -130
  50. package/src/core/types.ts +0 -85
  51. package/src/core/uid.ts +0 -7
  52. package/src/elements/button/viking-button.ts +0 -201
  53. package/src/elements/card/viking-card.ts +0 -60
  54. package/src/elements/core/dom.ts +0 -33
  55. package/src/elements/core/styles.ts +0 -28
  56. package/src/elements/modal/viking-modal.ts +0 -154
  57. package/src/index.ts +0 -1
  58. package/src/lib/accordion/accordion.ts +0 -126
  59. package/src/lib/app-header/app-header.scss +0 -274
  60. package/src/lib/app-header/app-header.ts +0 -43
  61. package/src/lib/app-sidebar/app-sidebar.scss +0 -415
  62. package/src/lib/app-sidebar/app-sidebar.ts +0 -29
  63. package/src/lib/auth-panel/auth-panel.spec.ts +0 -132
  64. package/src/lib/auth-panel/auth-panel.ts +0 -228
  65. package/src/lib/autocomplete/autocomplete.ts +0 -223
  66. package/src/lib/avatar/avatar.ts +0 -126
  67. package/src/lib/badge/badge.ts +0 -182
  68. package/src/lib/bar/bar.ts +0 -31
  69. package/src/lib/brand/brand.ts +0 -60
  70. package/src/lib/breadcrumbs/breadcrumbs.ts +0 -81
  71. package/src/lib/button/button-group.ts +0 -40
  72. package/src/lib/button/button.scss +0 -119
  73. package/src/lib/button/button.ts +0 -98
  74. package/src/lib/calendar/calendar.ts +0 -253
  75. package/src/lib/callout/callout.ts +0 -211
  76. package/src/lib/card/card-title.spec.ts +0 -27
  77. package/src/lib/card/card-title.ts +0 -50
  78. package/src/lib/card/card.ts +0 -200
  79. package/src/lib/carousel/carousel.ts +0 -206
  80. package/src/lib/chart/chart-zoom.spec.ts +0 -65
  81. package/src/lib/chart/chart-zoom.ts +0 -71
  82. package/src/lib/chart/chart.ts +0 -1257
  83. package/src/lib/chart-card-header/chart-card-header.ts +0 -80
  84. package/src/lib/chart-empty-state/chart-empty-state.ts +0 -146
  85. package/src/lib/chart-panel/chart-panel.ts +0 -133
  86. package/src/lib/checkbox/checkbox.ts +0 -139
  87. package/src/lib/color-picker/color-picker.ts +0 -148
  88. package/src/lib/command/command.ts +0 -260
  89. package/src/lib/composer/composer.ts +0 -180
  90. package/src/lib/confirm-dialog/confirm-dialog.ts +0 -163
  91. package/src/lib/confirm-dialog/dialog.service.ts +0 -79
  92. package/src/lib/context/context.ts +0 -75
  93. package/src/lib/core/brand-icons.ts +0 -62
  94. package/src/lib/core/cva.ts +0 -33
  95. package/src/lib/core/icons.ts +0 -206
  96. package/src/lib/core/integration-brand-icons.ts +0 -77
  97. package/src/lib/core/lucide-paths.generated.ts +0 -130
  98. package/src/lib/date-picker/date-picker.ts +0 -139
  99. package/src/lib/dropdown/dropdown.ts +0 -188
  100. package/src/lib/editor/editor.ts +0 -170
  101. package/src/lib/empty-state/empty-state.ts +0 -100
  102. package/src/lib/fab/fab.ts +0 -76
  103. package/src/lib/field/field.ts +0 -111
  104. package/src/lib/file-upload/file-upload.ts +0 -208
  105. package/src/lib/footer/footer.scss +0 -162
  106. package/src/lib/footer/footer.ts +0 -28
  107. package/src/lib/form-section/form-section.ts +0 -200
  108. package/src/lib/forms.spec.ts +0 -92
  109. package/src/lib/gauge-arc/gauge-arc.ts +0 -85
  110. package/src/lib/hud-panel/hud-panel.ts +0 -27
  111. package/src/lib/icon/icon.ts +0 -284
  112. package/src/lib/icon-badge/icon-badge.ts +0 -87
  113. package/src/lib/icon-heading/icon-heading.spec.ts +0 -32
  114. package/src/lib/icon-heading/icon-heading.ts +0 -38
  115. package/src/lib/icon-text/icon-text.ts +0 -120
  116. package/src/lib/input/input.ts +0 -119
  117. package/src/lib/kanban/kanban.ts +0 -211
  118. package/src/lib/kbd/kbd.ts +0 -32
  119. package/src/lib/label/label.ts +0 -39
  120. package/src/lib/loading-overlay/loading-overlay.ts +0 -80
  121. package/src/lib/menubar/menubar.ts +0 -77
  122. package/src/lib/metric-card/metric-card.ts +0 -33
  123. package/src/lib/modal/modal.ts +0 -207
  124. package/src/lib/native-select/native-select.ts +0 -124
  125. package/src/lib/navbar/navbar.ts +0 -124
  126. package/src/lib/navigation-menu/navigation-menu.ts +0 -116
  127. package/src/lib/otp-input/otp-input.ts +0 -164
  128. package/src/lib/page-back-link/page-back-link.ts +0 -74
  129. package/src/lib/page-header/page-header.ts +0 -70
  130. package/src/lib/pagination/pagination.ts +0 -157
  131. package/src/lib/pillbox/pillbox.ts +0 -157
  132. package/src/lib/popover/popover.ts +0 -92
  133. package/src/lib/profile/profile.ts +0 -73
  134. package/src/lib/progress/progress.ts +0 -123
  135. package/src/lib/radio/radio.ts +0 -132
  136. package/src/lib/ring-gauge/ring-gauge.ts +0 -75
  137. package/src/lib/scroll-area/scroll-area.ts +0 -57
  138. package/src/lib/search-palette/search-palette.scss +0 -288
  139. package/src/lib/search-palette/search-palette.ts +0 -114
  140. package/src/lib/select/select.ts +0 -292
  141. package/src/lib/separator/separator.ts +0 -59
  142. package/src/lib/sheet/sheet.ts +0 -192
  143. package/src/lib/sidebar-nav/sidebar-nav.scss +0 -218
  144. package/src/lib/sidebar-nav/sidebar-nav.ts +0 -158
  145. package/src/lib/site-drakkar/site-footer.ts +0 -133
  146. package/src/lib/site-drakkar/site-navbar.scss +0 -2
  147. package/src/lib/site-drakkar/site-navbar.ts +0 -286
  148. package/src/lib/site-drakkar/suite-search-items.spec.ts +0 -61
  149. package/src/lib/site-drakkar/suite-search-items.ts +0 -246
  150. package/src/lib/skeleton/skeleton.ts +0 -51
  151. package/src/lib/slider/slider.ts +0 -133
  152. package/src/lib/spinner/spinner.ts +0 -75
  153. package/src/lib/status-metric-row/status-metric-row.ts +0 -74
  154. package/src/lib/suite-search-palette/suite-search-palette.ts +0 -95
  155. package/src/lib/switch/switch.ts +0 -131
  156. package/src/lib/table/table.ts +0 -137
  157. package/src/lib/tabs/tab-panel.ts +0 -61
  158. package/src/lib/tabs/tab.ts +0 -107
  159. package/src/lib/tabs/tabs.ts +0 -109
  160. package/src/lib/textarea/textarea.ts +0 -103
  161. package/src/lib/theme-toggle/theme-toggle.spec.ts +0 -40
  162. package/src/lib/theme-toggle/theme-toggle.ts +0 -40
  163. package/src/lib/time-picker/time-picker.ts +0 -197
  164. package/src/lib/timeline/timeline.ts +0 -152
  165. package/src/lib/toast/toast.ts +0 -196
  166. package/src/lib/toggle/toggle-group.ts +0 -60
  167. package/src/lib/toggle/toggle.ts +0 -101
  168. package/src/lib/tooltip/tooltip.ts +0 -119
  169. package/src/lib/typography/heading.ts +0 -52
  170. package/src/lib/typography/text.ts +0 -51
  171. package/src/lib/uptime-bar/uptime-bar.ts +0 -55
  172. package/src/lib/verification-code-field/verification-code-field.ts +0 -149
  173. package/src/lib/whitepaper-cta/whitepaper-cta.scss +0 -130
  174. package/src/lib/whitepaper-cta/whitepaper-cta.ts +0 -78
  175. package/src/lib/wizard/wizard.ts +0 -80
  176. package/src/public-api.ts +0 -172
  177. package/src/styles/_buttons.scss +0 -386
  178. package/src/styles/_component-primitives.scss +0 -183
  179. package/src/styles/_drakkar-buttons.scss +0 -85
  180. package/src/styles/_fonts.scss +0 -22
  181. package/src/styles/_forms.scss +0 -66
  182. package/src/styles/_input.scss +0 -106
  183. package/src/styles/_layout-enforcement.scss +0 -229
  184. package/src/styles/_layout-rhythm.scss +0 -158
  185. package/src/styles/_legacy-aliases.scss +0 -212
  186. package/src/styles/_series-colors.scss +0 -24
  187. package/src/styles/_static-primitives.scss +0 -857
  188. package/src/styles/_typography.scss +0 -87
  189. package/src/styles/_variables.scss +0 -527
  190. package/src/styles/components/a11y.scss +0 -90
  191. package/src/styles/components/badges.scss +0 -102
  192. package/src/styles/components/extracted-utilities.scss +0 -459
  193. package/src/styles/components/footer.scss +0 -168
  194. package/src/styles/components/icon-heading.scss +0 -47
  195. package/src/styles/components/icon-inline.scss +0 -101
  196. package/src/styles/components/layout.scss +0 -59
  197. package/src/styles/components/utilities.scss +0 -131
  198. package/src/styles/components/viking-inspired.scss +0 -204
  199. package/src/styles/components/whitepaper-cta.scss +0 -130
  200. package/src/styles/components-bundle.scss +0 -9
  201. package/src/styles/components.scss +0 -442
  202. package/src/styles/deml-components.scss +0 -10
  203. package/src/styles/index.scss +0 -8
  204. package/src/styles/layout-shell.scss +0 -111
  205. package/src/styles/page-shell.scss +0 -859
  206. package/src/styles/static-navbar.scss +0 -1250
  207. package/src/styles/surfaces/backend.scss +0 -154
  208. package/src/styles/surfaces/docs-global.scss +0 -73
  209. package/src/styles/surfaces/docs-shell.scss +0 -437
  210. package/src/styles/surfaces/docs-showcase.scss +0 -1153
  211. package/src/styles/surfaces/marketing-cta.scss +0 -62
  212. package/src/styles/surfaces/marketing-docs-bento.scss +0 -67
  213. package/src/styles/surfaces/marketing-global.scss +0 -748
  214. package/src/styles/surfaces/marketing-landing.scss +0 -1526
  215. package/src/styles/surfaces/marketing-publication.scss +0 -535
  216. package/src/styles/surfaces/marketing-theme.scss +0 -14
  217. package/src/styles/surfaces/swagger-ui.scss +0 -1013
  218. package/src/styles/tokens-export.scss +0 -18
  219. package/src/styles/tokens.scss +0 -5
  220. package/src/styles/viking-ui-bundle.scss +0 -23
  221. package/src/styles/viking-ui.scss +0 -272
  222. package/src/tokens/series-presets.ts +0 -15
  223. package/src/tokens/tailwind.preset.js +0 -209
  224. package/src/tokens/viking-tokens.json +0 -318
  225. package/src/viking-ui.spec.ts +0 -416
  226. package/src/web/badge/viking-badge-wc.ts +0 -116
  227. package/src/web/button/viking-button-wc.ts +0 -165
  228. package/src/web/callout/viking-callout-wc.ts +0 -105
  229. package/src/web/card/viking-card-wc.ts +0 -67
  230. package/src/web/core/base.ts +0 -56
  231. package/src/web/core/dom.ts +0 -53
  232. package/src/web/core/icons-inline.ts +0 -44
  233. package/src/web/core/styles.ts +0 -1261
  234. package/src/web/core/types.ts +0 -19
  235. package/src/web/field/viking-field-wc.ts +0 -154
  236. package/src/web/index.ts +0 -73
  237. package/src/web/input/viking-input-wc.ts +0 -211
  238. package/src/web/modal/viking-modal-wc.ts +0 -187
  239. package/src/web/search-palette/viking-search-palette-wc.ts +0 -495
  240. package/src/web/select/viking-select-wc.ts +0 -218
  241. package/src/web/suite-header/viking-suite-header-wc.ts +0 -729
  242. package/src/web/suite-search-palette/viking-suite-search-palette-wc.ts +0 -234
  243. package/src/web/theme-toggle/viking-theme-toggle-wc.ts +0 -139
  244. package/src/web/types.ts +0 -37
  245. package/src/web/web-components.spec.ts +0 -297
  246. package/src/web-components/index.ts +0 -1
@@ -1,1153 +0,0 @@
1
- /* Docs showcase — premium marketing-aligned layout */
2
-
3
- /* ── Section tag (marketing parity) ── */
4
- .section-tag {
5
- display: inline-block;
6
- font-size: var(--viking-font-size-xs);
7
- font-weight: var(--viking-font-weight-semibold);
8
- letter-spacing: var(--viking-letter-spacing-caps);
9
- text-transform: uppercase;
10
- color: var(--viking-accent);
11
- }
12
-
13
- /* ── Page shell ── */
14
- .showcase-page {
15
- display: flex;
16
- flex-direction: column;
17
- gap: var(--viking-page-section-gap, var(--viking-space-5));
18
- padding-block: var(--viking-space-6);
19
- position: relative;
20
-
21
- &::before {
22
- content: "";
23
- position: absolute;
24
- inset: 0;
25
- pointer-events: none;
26
- background:
27
- linear-gradient(
28
- 90deg,
29
- transparent,
30
- color-mix(in srgb, var(--viking-accent) 10%, transparent),
31
- transparent
32
- );
33
- opacity: 0.03;
34
- }
35
- }
36
-
37
- @media (min-width: 768px) {
38
- .showcase-page {
39
- padding-block: var(--viking-space-8);
40
- }
41
- }
42
-
43
- /* ── Hero ── */
44
- .showcase-hero {
45
- display: grid;
46
- gap: var(--viking-space-5);
47
- align-items: center;
48
- position: relative;
49
-
50
- &::before {
51
- content: "";
52
- position: absolute;
53
- inset: auto 0 -2px 0;
54
- height: 1px;
55
- background: linear-gradient(
56
- 90deg,
57
- transparent,
58
- color-mix(in srgb, var(--viking-accent) 35%, transparent),
59
- transparent
60
- );
61
- opacity: 0.4;
62
- }
63
- }
64
-
65
- @media (min-width: 960px) {
66
- .showcase-hero {
67
- grid-template-columns: 1.15fr 1fr;
68
- gap: var(--viking-space-6);
69
- }
70
- }
71
-
72
- .showcase-hero-copy {
73
- display: flex;
74
- flex-direction: column;
75
- gap: var(--viking-space-3);
76
- position: relative;
77
-
78
- &::after {
79
- content: "";
80
- position: absolute;
81
- top: -10px;
82
- left: 0;
83
- width: 22px;
84
- height: 14px;
85
- border-top: 1px solid color-mix(in srgb, var(--viking-accent) 40%, transparent);
86
- border-left: 1px solid color-mix(in srgb, var(--viking-accent) 24%, transparent);
87
- opacity: 0.5;
88
- pointer-events: none;
89
- }
90
- }
91
-
92
- .showcase-hero-badge {
93
- display: inline-flex;
94
- align-items: center;
95
- gap: var(--viking-space-1);
96
- width: fit-content;
97
- padding: var(--viking-space-1) var(--viking-space-2);
98
- border: 1px solid var(--viking-border);
99
- border-radius: var(--viking-radius-pill);
100
- background: var(--viking-surface);
101
- box-shadow: var(--viking-shadow-sm);
102
- position: relative;
103
-
104
- &::after {
105
- content: "";
106
- position: absolute;
107
- left: 1px;
108
- right: 1px;
109
- top: 0;
110
- height: 1px;
111
- background: color-mix(in srgb, var(--viking-accent) 35%, transparent);
112
- opacity: 0.55;
113
- }
114
- }
115
-
116
- .showcase-hero-badge-dot {
117
- width: var(--viking-space-1);
118
- height: var(--viking-space-1);
119
- border-radius: 50%;
120
- background: var(--viking-accent);
121
- flex-shrink: 0;
122
- }
123
-
124
- .pulse-dot {
125
- animation: showcasePulseDot 2s ease-in-out infinite;
126
- }
127
-
128
- @keyframes showcasePulseDot {
129
- 0%,
130
- 100% {
131
- box-shadow: 0 0 0 0
132
- color-mix(in srgb, var(--viking-accent) 60%, transparent);
133
- }
134
- 50% {
135
- box-shadow: 0 0 0 6px
136
- color-mix(in srgb, var(--viking-accent) 0%, transparent);
137
- }
138
- }
139
-
140
- @media (prefers-reduced-motion: reduce) {
141
- .pulse-dot {
142
- animation: none;
143
- }
144
- }
145
-
146
- .showcase-hero-title {
147
- margin: 0;
148
- font-size: clamp(2rem, 4.5vw, 3rem);
149
- font-weight: var(--viking-font-weight-bold, 800);
150
- letter-spacing: var(--viking-letter-spacing-tight);
151
- color: var(--viking-text);
152
- }
153
-
154
- .showcase-hero-lead {
155
- margin: 0;
156
- max-width: var(--viking-content-readable-max-width, 48rem);
157
- font-size: var(--viking-font-size-lg);
158
- line-height: var(--viking-line-height-relaxed);
159
- color: var(--viking-text-muted);
160
- }
161
-
162
- .showcase-hero-actions {
163
- display: flex;
164
- flex-wrap: wrap;
165
- gap: var(--viking-space-2);
166
- }
167
-
168
- .showcase-hero-panel {
169
- display: flex;
170
- flex-direction: column;
171
- gap: var(--viking-space-2);
172
- position: relative;
173
- overflow: hidden;
174
- border: 1px solid var(--viking-border);
175
- border-radius: var(--viking-radius-lg);
176
- padding: var(--viking-space-2);
177
- background: var(--viking-surface);
178
- box-shadow: var(--viking-shadow-sm);
179
- }
180
-
181
- .showcase-hero-panel::before {
182
- content: "";
183
- position: absolute;
184
- inset: 0 0 auto;
185
- height: 1px;
186
- background: linear-gradient(
187
- 90deg,
188
- transparent,
189
- color-mix(in srgb, var(--viking-accent) 40%, transparent),
190
- transparent
191
- );
192
- pointer-events: none;
193
- opacity: 0.7;
194
- }
195
-
196
- /* ── Toolbar ── */
197
- .showcase-toolbar {
198
- padding: var(--viking-card-padding);
199
- }
200
-
201
- .showcase-toolbar-row {
202
- display: grid;
203
- grid-template-columns: 1fr;
204
- gap: var(--viking-space-2);
205
- }
206
-
207
- @media (min-width: 768px) {
208
- .showcase-toolbar-row {
209
- grid-template-columns: minmax(0, 2fr) minmax(12rem, 1fr);
210
- align-items: end;
211
- }
212
- }
213
-
214
- .showcase-search-field,
215
- .showcase-category-field {
216
- margin: 0;
217
- }
218
-
219
- /* ── Category bar (sticky horizontal nav) ── */
220
- .showcase-category-bar {
221
- position: sticky;
222
- top: calc(
223
- var(--viking-navbar-height, 64px) + var(--showcase-subnav-height, 52px)
224
- );
225
- z-index: 40;
226
- border-block: 1px solid var(--viking-border);
227
- background: color-mix(in srgb, var(--viking-bg) 94%, transparent);
228
- backdrop-filter: blur(8px);
229
- }
230
-
231
- .showcase-category-bar-inner {
232
- padding-block: var(--viking-space-2);
233
- }
234
-
235
- .showcase-category-bar-scroll {
236
- display: flex;
237
- gap: var(--viking-space-1);
238
- overflow-x: auto;
239
- scrollbar-width: none;
240
- -webkit-overflow-scrolling: touch;
241
- padding-bottom: var(--viking-space-half);
242
- }
243
-
244
- .showcase-category-bar-scroll::-webkit-scrollbar {
245
- display: none;
246
- }
247
-
248
- .showcase-category-chip {
249
- flex-shrink: 0;
250
- padding: var(--viking-space-1) var(--viking-space-2);
251
- border: 1px solid var(--viking-border);
252
- border-radius: var(--viking-radius-pill);
253
- background: var(--viking-surface);
254
- color: var(--viking-text-muted);
255
- font-size: var(--viking-font-size-sm);
256
- font-weight: var(--viking-font-weight-medium);
257
- text-decoration: none;
258
- white-space: nowrap;
259
- transition: var(--viking-transition-interactive);
260
- min-height: var(--viking-control-height, 44px);
261
- display: inline-flex;
262
- align-items: center;
263
- }
264
-
265
- .showcase-category-chip:hover {
266
- border-color: var(--viking-accent);
267
- color: var(--viking-accent);
268
- }
269
-
270
- .showcase-category-chip.is-active {
271
- border-color: var(--viking-accent);
272
- background: color-mix(
273
- in srgb,
274
- var(--viking-accent) 10%,
275
- var(--viking-surface)
276
- );
277
- color: var(--viking-accent);
278
- }
279
-
280
- /* ── Legacy section classes (other doc pages) ── */
281
- .showcase-category {
282
- display: flex;
283
- flex-direction: column;
284
- gap: var(--viking-space-4);
285
- padding: var(--viking-space-6) 0;
286
- border-bottom: 1px solid var(--viking-border);
287
- scroll-margin-top: calc(
288
- var(--viking-navbar-height, 64px) + var(--showcase-subnav-height, 52px) +
289
- 56px
290
- );
291
- }
292
-
293
- .showcase-category:last-child {
294
- border-bottom: 0;
295
- }
296
-
297
- .showcase-category-header {
298
- display: flex;
299
- flex-direction: column;
300
- gap: var(--viking-space-2);
301
- padding-bottom: var(--viking-space-3);
302
- border-bottom: 1px solid var(--viking-border-subtle);
303
- }
304
-
305
- .showcase-component-list {
306
- display: flex;
307
- flex-direction: column;
308
- gap: var(--viking-space-4);
309
- }
310
-
311
- /* ── Category sections (component gallery) ── */
312
- .showcase-section {
313
- display: flex;
314
- flex-direction: column;
315
- gap: var(--viking-space-4);
316
- padding-block: var(--viking-space-5);
317
- border-top: 1px solid color-mix(in srgb, var(--viking-accent) 20%, transparent);
318
- border-bottom: 1px solid var(--viking-border);
319
- scroll-margin-top: calc(
320
- var(--viking-navbar-height, 64px) + var(--showcase-subnav-height, 52px) +
321
- 56px
322
- );
323
- position: relative;
324
- }
325
-
326
- .showcase-section::after {
327
- content: "";
328
- position: absolute;
329
- top: 0;
330
- left: 50%;
331
- transform: translateX(-50%);
332
- width: 80px;
333
- height: 1px;
334
- background: linear-gradient(
335
- 90deg,
336
- transparent,
337
- var(--viking-accent),
338
- transparent
339
- );
340
- opacity: 0.25;
341
- }
342
-
343
- .showcase-section:last-child {
344
- border-bottom: 0;
345
- }
346
-
347
- .showcase-section-compact {
348
- padding-block: var(--viking-space-4);
349
- }
350
-
351
- .showcase-section-header {
352
- display: flex;
353
- flex-direction: column;
354
- gap: var(--viking-space-1);
355
- max-width: var(--viking-content-readable-max-width, 48rem);
356
- }
357
-
358
- .showcase-section-title {
359
- margin: 0;
360
- font-size: var(--viking-font-size-2xl);
361
- font-weight: var(--viking-font-weight-bold);
362
- letter-spacing: var(--viking-letter-spacing-tight);
363
- color: var(--viking-text);
364
- }
365
-
366
- .showcase-section-desc {
367
- margin: 0;
368
- font-size: var(--viking-font-size-lg);
369
- }
370
-
371
- /* ── Component grid ── */
372
- .showcase-component-grid {
373
- display: grid;
374
- grid-template-columns: 1fr;
375
- gap: var(--viking-space-3);
376
- }
377
-
378
- @media (min-width: 768px) {
379
- .showcase-component-grid {
380
- grid-template-columns: repeat(2, 1fr);
381
- }
382
- }
383
-
384
- /* ── Component showcase card ── */
385
- .component-showcase-card {
386
- display: flex;
387
- flex-direction: column;
388
- gap: var(--viking-space-3);
389
- padding: var(--viking-card-padding);
390
- scroll-margin-top: calc(
391
- var(--viking-navbar-height, 64px) + var(--showcase-subnav-height, 52px) +
392
- 56px
393
- );
394
- transition:
395
- transform var(--viking-duration-normal) var(--viking-ease-out),
396
- border-color var(--viking-duration-normal) var(--viking-ease-out),
397
- box-shadow var(--viking-duration-normal) var(--viking-ease-out);
398
- }
399
-
400
- .component-showcase-card-compact:hover {
401
- transform: translateY(var(--viking-state-hover-lift, -4px));
402
- border-color: var(--viking-accent-strong, var(--viking-accent));
403
- box-shadow: var(--viking-shadow-hover);
404
- }
405
-
406
- .component-showcase-header {
407
- display: flex;
408
- flex-direction: column;
409
- gap: var(--viking-space-1);
410
- }
411
-
412
- .component-showcase-title-block {
413
- display: flex;
414
- flex-direction: column;
415
- gap: var(--viking-space-half);
416
- }
417
-
418
- .component-showcase-link {
419
- color: inherit;
420
- text-decoration: none;
421
- transition: color var(--viking-duration-fast) var(--viking-ease-out);
422
- }
423
-
424
- .component-showcase-link:hover {
425
- color: var(--viking-accent);
426
- }
427
-
428
- .component-showcase-desc {
429
- margin: 0;
430
- font-size: var(--viking-font-size-sm);
431
- display: -webkit-box;
432
- -webkit-line-clamp: 2;
433
- -webkit-box-orient: vertical;
434
- overflow: hidden;
435
- }
436
-
437
- .component-showcase-tags {
438
- display: flex;
439
- flex-wrap: wrap;
440
- gap: var(--viking-space-half);
441
- }
442
-
443
- .component-showcase-preview {
444
- padding: var(--viking-space-3);
445
- background: color-mix(
446
- in srgb,
447
- var(--viking-bg) 30%,
448
- var(--viking-surface-alt)
449
- );
450
- border: 1px solid var(--viking-border-subtle);
451
- border-radius: var(--viking-radius-lg);
452
- min-height: 7rem;
453
- display: flex;
454
- align-items: center;
455
- justify-content: center;
456
- position: relative;
457
- overflow: hidden;
458
- }
459
-
460
- .component-showcase-preview::before {
461
- content: "";
462
- position: absolute;
463
- inset: 0 0 auto;
464
- height: 1px;
465
- background: linear-gradient(
466
- 90deg,
467
- transparent,
468
- color-mix(
469
- in srgb,
470
- var(--viking-metallic-200, var(--viking-border)) 22%,
471
- transparent
472
- ),
473
- transparent
474
- );
475
- pointer-events: none;
476
- }
477
-
478
- .component-showcase-footer {
479
- display: flex;
480
- flex-wrap: wrap;
481
- align-items: center;
482
- justify-content: space-between;
483
- gap: var(--viking-space-2);
484
- padding-top: var(--viking-space-1);
485
- border-top: 1px solid var(--viking-border-subtle);
486
- }
487
-
488
- .component-showcase-frameworks {
489
- display: flex;
490
- flex-wrap: wrap;
491
- gap: var(--viking-space-half);
492
- }
493
-
494
- .component-framework-chip {
495
- padding: var(--viking-space-half) var(--viking-space-1);
496
- border-radius: var(--viking-radius-sm);
497
- background: color-mix(
498
- in srgb,
499
- var(--viking-accent) 8%,
500
- var(--viking-surface-alt)
501
- );
502
- border: 1px solid color-mix(in srgb, var(--viking-accent) 15%, transparent);
503
- font-size: var(--viking-font-size-2xs, var(--viking-font-size-xs));
504
- font-weight: var(--viking-font-weight-medium);
505
- color: var(--viking-text-muted);
506
- }
507
-
508
- .component-showcase-cta {
509
- display: inline-flex;
510
- align-items: center;
511
- gap: var(--viking-space-half);
512
- font-size: var(--viking-font-size-sm);
513
- font-weight: var(--viking-font-weight-semibold);
514
- color: var(--viking-accent);
515
- text-decoration: none;
516
- min-height: var(--viking-control-height, 44px);
517
- padding-inline: var(--viking-space-1);
518
- }
519
-
520
- .component-showcase-cta:hover {
521
- text-decoration: underline;
522
- }
523
-
524
- .component-showcase-code {
525
- display: flex;
526
- flex-direction: column;
527
- gap: var(--viking-space-1);
528
- }
529
-
530
- .component-showcase-code-label {
531
- margin: 0;
532
- }
533
-
534
- .component-showcase-api {
535
- padding-top: var(--viking-space-2);
536
- border-top: 1px solid var(--viking-border-subtle);
537
- }
538
-
539
- /* ── Detail page ── */
540
- .component-detail-page {
541
- gap: var(--viking-space-4);
542
- }
543
-
544
- .component-breadcrumb {
545
- display: flex;
546
- flex-wrap: wrap;
547
- align-items: center;
548
- gap: var(--viking-space-half);
549
- font-size: var(--viking-font-size-sm);
550
- color: var(--viking-text-muted);
551
- }
552
-
553
- .component-breadcrumb a {
554
- color: var(--viking-accent);
555
- text-decoration: none;
556
- }
557
-
558
- .component-breadcrumb a:hover {
559
- text-decoration: underline;
560
- }
561
-
562
- .showcase-detail-header {
563
- display: flex;
564
- flex-direction: column;
565
- gap: var(--viking-space-2);
566
- }
567
-
568
- .component-api-panel {
569
- padding: var(--viking-card-padding);
570
- }
571
-
572
- .showcase-related-grid {
573
- display: grid;
574
- grid-template-columns: 1fr;
575
- gap: var(--viking-space-2);
576
- }
577
-
578
- @media (min-width: 640px) {
579
- .showcase-related-grid {
580
- grid-template-columns: repeat(2, 1fr);
581
- }
582
- }
583
-
584
- .showcase-related-card {
585
- display: flex;
586
- flex-direction: column;
587
- gap: var(--viking-space-half);
588
- padding: var(--viking-card-padding);
589
- text-decoration: none;
590
- color: inherit;
591
- transition: var(--viking-transition-interactive);
592
- }
593
-
594
- .showcase-related-card:hover {
595
- transform: translateY(var(--viking-state-hover-lift, -4px));
596
- border-color: var(--viking-accent);
597
- box-shadow: var(--viking-shadow-hover);
598
- }
599
-
600
- .showcase-detail-actions {
601
- display: flex;
602
- flex-wrap: wrap;
603
- gap: var(--viking-space-2);
604
- padding-top: var(--viking-space-3);
605
- border-top: 1px solid var(--viking-border-subtle);
606
- }
607
-
608
- /* ── API reference cards ── */
609
- .api-reference {
610
- display: flex;
611
- flex-direction: column;
612
- gap: var(--viking-space-3);
613
- }
614
-
615
- .api-reference-header {
616
- display: flex;
617
- flex-wrap: wrap;
618
- align-items: flex-start;
619
- justify-content: space-between;
620
- gap: var(--viking-space-2);
621
- }
622
-
623
- .api-selectors {
624
- display: flex;
625
- flex-wrap: wrap;
626
- gap: var(--viking-space-1);
627
- }
628
-
629
- .api-selector-chip {
630
- display: inline-flex;
631
- align-items: center;
632
- gap: var(--viking-space-half);
633
- padding: var(--viking-space-half) var(--viking-space-1);
634
- border: 1px solid var(--viking-border);
635
- border-radius: var(--viking-radius-pill);
636
- font-size: var(--viking-font-size-xs);
637
- color: var(--viking-text-muted);
638
- background: var(--viking-surface-alt);
639
- }
640
-
641
- .api-prop-group {
642
- display: flex;
643
- flex-direction: column;
644
- gap: var(--viking-space-2);
645
- }
646
-
647
- .api-prop-group-label {
648
- margin: 0;
649
- }
650
-
651
- .api-prop-grid {
652
- display: grid;
653
- grid-template-columns: 1fr;
654
- gap: var(--viking-space-2);
655
- }
656
-
657
- @media (min-width: 640px) {
658
- .api-prop-grid {
659
- grid-template-columns: repeat(2, 1fr);
660
- }
661
- }
662
-
663
- @media (min-width: 1024px) {
664
- .api-prop-grid {
665
- grid-template-columns: repeat(3, 1fr);
666
- }
667
- }
668
-
669
- .api-prop-card {
670
- display: flex;
671
- flex-direction: column;
672
- gap: var(--viking-space-half);
673
- }
674
-
675
- .api-prop-name {
676
- display: flex;
677
- flex-wrap: wrap;
678
- align-items: baseline;
679
- gap: var(--viking-space-1);
680
- }
681
-
682
- .api-prop-type {
683
- font-size: var(--viking-font-size-xs);
684
- color: var(--viking-accent);
685
- font-family: var(--viking-font-family-mono, ui-monospace, monospace);
686
- }
687
-
688
- .api-prop-default {
689
- margin: 0;
690
- font-size: var(--viking-font-size-xs);
691
- color: var(--viking-text-muted);
692
- }
693
-
694
- .api-prop-desc {
695
- margin: 0;
696
- font-size: var(--viking-font-size-sm);
697
- }
698
-
699
- /* ── Landing page (index) ── */
700
- .landing-showcase {
701
- display: flex;
702
- flex-direction: column;
703
- gap: var(--viking-page-section-gap, var(--viking-space-6));
704
- }
705
-
706
- .landing-hero {
707
- display: grid;
708
- gap: var(--viking-space-5);
709
- align-items: center;
710
- padding: var(--viking-space-5) 0 var(--viking-space-3);
711
- }
712
-
713
- @media (min-width: 960px) {
714
- .landing-hero {
715
- grid-template-columns: minmax(0, 1.02fr) minmax(24rem, 0.98fr);
716
- gap: var(--viking-space-6);
717
- }
718
- }
719
-
720
- .landing-hero-copy {
721
- display: flex;
722
- flex-direction: column;
723
- gap: var(--viking-space-3);
724
- min-width: 0;
725
- }
726
-
727
- .landing-hero-copy > .viking-heading {
728
- max-width: 18ch;
729
- }
730
-
731
- .landing-hero-copy > .viking-text-muted {
732
- max-width: var(--viking-content-readable-max-width, 48rem);
733
- }
734
-
735
- .landing-hero-badge {
736
- display: inline-flex;
737
- align-items: center;
738
- gap: var(--viking-space-1);
739
- width: fit-content;
740
- padding: var(--viking-space-1) var(--viking-space-2);
741
- border: 1px solid var(--viking-border);
742
- border-radius: var(--viking-radius-pill);
743
- background: var(--viking-surface);
744
- font-size: var(--viking-font-size-sm);
745
- font-weight: var(--viking-font-weight-semibold);
746
- letter-spacing: var(--viking-letter-spacing-wide);
747
- }
748
-
749
- .landing-hero-badge-dot {
750
- width: var(--viking-space-1);
751
- height: var(--viking-space-1);
752
- border-radius: 50%;
753
- background: var(--viking-accent);
754
- box-shadow: 0 0 0 2px
755
- color-mix(in srgb, var(--viking-accent) 30%, transparent);
756
- }
757
-
758
- .landing-hero-actions {
759
- display: flex;
760
- flex-wrap: wrap;
761
- gap: var(--viking-space-2);
762
- }
763
-
764
- .landing-stats {
765
- display: grid;
766
- grid-template-columns: repeat(2, 1fr);
767
- gap: var(--viking-space-3);
768
- }
769
-
770
- @media (min-width: 640px) {
771
- .landing-stats {
772
- grid-template-columns: repeat(4, 1fr);
773
- }
774
- }
775
-
776
- .landing-stat {
777
- padding: var(--viking-card-padding-compact);
778
- border: 1px solid var(--viking-border);
779
- border-radius: var(--viking-radius);
780
- background: var(--viking-surface-recipe, var(--viking-surface));
781
- min-width: 0;
782
- box-shadow: var(--viking-shadow-xs);
783
- }
784
-
785
- .landing-section {
786
- display: flex;
787
- flex-direction: column;
788
- gap: var(--viking-space-3);
789
- padding-block: var(--viking-space-4);
790
- border-top: 1px solid var(--viking-border-subtle);
791
- }
792
-
793
- .landing-section-header {
794
- display: flex;
795
- flex-direction: column;
796
- gap: var(--viking-space-1);
797
- max-width: var(--viking-content-readable-max-width, 48rem);
798
- }
799
-
800
- .landing-section-header-row {
801
- max-width: none;
802
- justify-content: space-between;
803
- gap: var(--viking-space-3);
804
- }
805
-
806
- @media (min-width: 820px) {
807
- .landing-section-header-row {
808
- flex-direction: row;
809
- align-items: end;
810
- }
811
- }
812
-
813
- .landing-feature-grid {
814
- display: grid;
815
- grid-template-columns: 1fr;
816
- gap: var(--viking-space-3);
817
- }
818
-
819
- @media (min-width: 768px) {
820
- .landing-feature-grid {
821
- grid-template-columns: repeat(3, 1fr);
822
- }
823
- }
824
-
825
- .landing-preview-panel {
826
- padding: var(--viking-card-padding);
827
- border: 1px solid var(--viking-border-strong);
828
- border-radius: var(--viking-radius-lg);
829
- background: var(--viking-surface-recipe, var(--viking-surface));
830
- box-shadow: var(--viking-shadow-lg);
831
- display: flex;
832
- flex-direction: column;
833
- gap: var(--viking-space-2);
834
- position: relative;
835
- overflow: hidden;
836
- }
837
-
838
- .landing-preview-panel::before {
839
- content: "";
840
- position: absolute;
841
- inset: 0 0 auto 0;
842
- height: 1px;
843
- background: linear-gradient(
844
- 90deg,
845
- transparent,
846
- color-mix(in srgb, var(--viking-accent) 40%, transparent),
847
- transparent
848
- );
849
- }
850
-
851
- .landing-preview-toolbar,
852
- .landing-preview-form {
853
- display: flex;
854
- flex-direction: column;
855
- gap: var(--viking-space-3);
856
- }
857
-
858
- .landing-preview-toolbar {
859
- flex-direction: row;
860
- justify-content: space-between;
861
- align-items: center;
862
- }
863
-
864
- .landing-preview-grid {
865
- display: grid;
866
- grid-template-columns: 1fr;
867
- gap: var(--viking-space-3);
868
- }
869
-
870
- @media (min-width: 560px) {
871
- .landing-preview-grid {
872
- grid-template-columns: repeat(2, 1fr);
873
- }
874
- }
875
-
876
- .landing-framework-strip {
877
- display: flex;
878
- flex-wrap: wrap;
879
- gap: var(--viking-space-2);
880
- padding: var(--viking-space-3) 0;
881
- }
882
-
883
- .landing-framework-chip {
884
- display: inline-flex;
885
- align-items: center;
886
- gap: var(--viking-space-half);
887
- padding: var(--viking-space-1) var(--viking-space-2);
888
- border: 1px solid var(--viking-border);
889
- border-radius: var(--viking-radius-pill);
890
- background: var(--viking-surface-alt);
891
- font-size: var(--viking-font-size-sm);
892
- font-weight: var(--viking-font-weight-medium);
893
- }
894
-
895
- .landing-framework-chip code {
896
- font-size: var(--viking-font-size-xs);
897
- color: var(--viking-accent);
898
- }
899
-
900
- .landing-quickstart-grid {
901
- display: grid;
902
- grid-template-columns: 1fr;
903
- gap: var(--viking-space-3);
904
- align-items: start;
905
- }
906
-
907
- @media (min-width: 980px) {
908
- .landing-quickstart-grid {
909
- grid-template-columns: minmax(16rem, 0.8fr) minmax(0, 1.2fr);
910
- }
911
- }
912
-
913
- .landing-quickstart-steps {
914
- display: flex;
915
- flex-direction: column;
916
- gap: var(--viking-space-2);
917
- padding: var(--viking-card-padding);
918
- }
919
-
920
- .landing-step-list {
921
- display: flex;
922
- flex-direction: column;
923
- gap: var(--viking-space-1);
924
- margin: 0;
925
- padding-left: var(--viking-space-3);
926
- }
927
-
928
- .landing-quickstart-code {
929
- min-width: 0;
930
- }
931
-
932
- .landing-component-grid,
933
- .landing-framework-grid {
934
- display: grid;
935
- grid-template-columns: 1fr;
936
- gap: var(--viking-space-2);
937
- }
938
-
939
- @media (min-width: 720px) {
940
- .landing-component-grid {
941
- grid-template-columns: repeat(2, 1fr);
942
- }
943
-
944
- .landing-framework-grid {
945
- grid-template-columns: repeat(2, 1fr);
946
- }
947
- }
948
-
949
- @media (min-width: 1080px) {
950
- .landing-component-grid {
951
- grid-template-columns: repeat(3, 1fr);
952
- }
953
-
954
- .landing-framework-grid {
955
- grid-template-columns: repeat(4, 1fr);
956
- }
957
- }
958
-
959
- .landing-component-card,
960
- .landing-framework-card {
961
- display: flex;
962
- flex-direction: column;
963
- gap: var(--viking-space-1);
964
- padding: var(--viking-card-padding);
965
- color: inherit;
966
- text-decoration: none;
967
- transition:
968
- transform var(--viking-duration-normal) var(--viking-ease-out),
969
- border-color var(--viking-duration-normal) var(--viking-ease-out),
970
- box-shadow var(--viking-duration-normal) var(--viking-ease-out);
971
- }
972
-
973
- .landing-component-card:hover,
974
- .landing-framework-card:hover {
975
- transform: translateY(var(--viking-state-hover-lift, -4px));
976
- border-color: var(--viking-accent);
977
- box-shadow: var(--viking-shadow-hover);
978
- }
979
-
980
- .landing-component-card p,
981
- .landing-framework-card span:last-child {
982
- margin: 0;
983
- }
984
-
985
- .landing-playground-band {
986
- display: grid;
987
- grid-template-columns: 1fr;
988
- gap: var(--viking-space-3);
989
- align-items: center;
990
- padding: var(--viking-space-4);
991
- border: 1px solid var(--viking-border);
992
- border-radius: var(--viking-radius-lg);
993
- background: var(--viking-surface-recipe, var(--viking-surface));
994
- box-shadow: var(--viking-shadow-md);
995
- }
996
-
997
- @media (min-width: 900px) {
998
- .landing-playground-band {
999
- grid-template-columns: 1fr minmax(18rem, 0.72fr);
1000
- }
1001
- }
1002
-
1003
- .landing-playground-copy,
1004
- .landing-playground-preview {
1005
- display: flex;
1006
- flex-direction: column;
1007
- gap: var(--viking-space-2);
1008
- }
1009
-
1010
- .landing-playground-preview {
1011
- padding: var(--viking-card-padding);
1012
- }
1013
-
1014
- .component-detail-link {
1015
- display: inline-block;
1016
- margin-top: var(--viking-space-1);
1017
- font-size: var(--viking-font-size-sm);
1018
- color: var(--viking-accent);
1019
- text-decoration: none;
1020
- }
1021
-
1022
- .component-detail-link:hover {
1023
- text-decoration: underline;
1024
- }
1025
-
1026
- /* ── Demo helpers ── */
1027
- .showcase-auth-panel {
1028
- max-width: 24rem;
1029
- padding: var(--viking-space-3);
1030
- border: 1px solid var(--viking-border);
1031
- border-radius: var(--viking-radius-lg);
1032
- background: var(--viking-surface-alt);
1033
- display: flex;
1034
- flex-direction: column;
1035
- gap: var(--viking-space-2);
1036
- }
1037
-
1038
- .showcase-search-palette {
1039
- max-width: 36rem;
1040
- display: flex;
1041
- flex-direction: column;
1042
- border: 1px solid var(--viking-border-strong);
1043
- border-radius: var(--viking-radius-lg);
1044
- background: var(--viking-surface-raised, var(--viking-surface));
1045
- box-shadow: var(--viking-shadow-lg);
1046
- overflow: hidden;
1047
- isolation: isolate;
1048
- }
1049
-
1050
- .viking-search-group-label-static {
1051
- margin: var(--viking-space-1) 0 var(--viking-space-half);
1052
- padding: 0 var(--viking-space-1);
1053
- font-size: var(--viking-font-size-2xs, var(--viking-font-size-xs));
1054
- font-weight: var(--viking-font-weight-semibold, 600);
1055
- letter-spacing: var(--viking-letter-spacing-caps);
1056
- text-transform: uppercase;
1057
- color: var(--viking-text-muted);
1058
- }
1059
-
1060
- .showcase-search-palette-header {
1061
- display: flex;
1062
- align-items: center;
1063
- gap: var(--viking-space-1);
1064
- padding: var(--viking-space-2);
1065
- border-bottom: 1px solid var(--viking-border);
1066
- background: color-mix(
1067
- in srgb,
1068
- var(--viking-bg) 26%,
1069
- var(--viking-surface-raised)
1070
- );
1071
- }
1072
-
1073
- .showcase-search-icon {
1074
- color: var(--viking-text-muted);
1075
- font-size: var(--viking-font-size-lg);
1076
- }
1077
-
1078
- .showcase-search-input {
1079
- flex: 1;
1080
- border: none;
1081
- background: transparent;
1082
- color: var(--viking-text);
1083
- font: inherit;
1084
- outline: none;
1085
- }
1086
-
1087
- .showcase-search-palette-body {
1088
- padding: var(--viking-space-2);
1089
- }
1090
-
1091
- .showcase-search-palette-footer {
1092
- padding: var(--viking-space-1) var(--viking-space-2);
1093
- border-top: 1px solid var(--viking-border);
1094
- font-size: calc(var(--viking-font-size) * 0.85);
1095
- color: var(--viking-text-muted);
1096
- text-align: center;
1097
- }
1098
-
1099
- .showcase-chart-demo {
1100
- width: 100%;
1101
- max-width: 24rem;
1102
- padding: var(--viking-space-2);
1103
- border: 1px solid var(--viking-border);
1104
- border-radius: var(--viking-radius);
1105
- background: color-mix(in srgb, var(--viking-surface) 96%, var(--viking-bg));
1106
- }
1107
-
1108
- .showcase-chart-line {
1109
- fill: none;
1110
- stroke: var(--viking-accent);
1111
- stroke-width: 2;
1112
- }
1113
-
1114
- .showcase-chart-area {
1115
- fill: color-mix(in srgb, var(--viking-accent) 20%, transparent);
1116
- stroke: none;
1117
- }
1118
-
1119
- .showcase-modal-demo {
1120
- position: relative;
1121
- padding: var(--viking-space-4);
1122
- border-radius: var(--viking-radius-lg);
1123
- background: var(--viking-surface-alt);
1124
- overflow: hidden;
1125
- }
1126
-
1127
- .showcase-modal-backdrop {
1128
- position: absolute;
1129
- inset: 0;
1130
- background: color-mix(in srgb, var(--viking-bg) 60%, transparent);
1131
- }
1132
-
1133
- .showcase-modal-panel {
1134
- position: relative;
1135
- z-index: 1;
1136
- max-width: 28rem;
1137
- margin: 0 auto;
1138
- }
1139
-
1140
- .showcase-toast-demo {
1141
- max-width: 24rem;
1142
- border-left: 3px solid var(--viking-success);
1143
- }
1144
-
1145
- .showcase-icon-demo {
1146
- display: inline-flex;
1147
- align-items: center;
1148
- justify-content: center;
1149
- width: var(--viking-space-5);
1150
- height: var(--viking-space-5);
1151
- color: var(--viking-accent);
1152
- font-size: var(--viking-font-size-lg);
1153
- }