@happyvertical/smrt-ui 0.40.65 → 0.40.67

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 (34) hide show
  1. package/AGENTS.md +27 -4
  2. package/README.md +7 -2
  3. package/dist/themes/README.md +60 -15
  4. package/dist/themes/ThemeProvider.svelte +11 -0
  5. package/dist/themes/__tests__/happyvertical-theme.test.js +231 -0
  6. package/dist/themes/__tests__/token-aliases.test.js +1 -0
  7. package/dist/themes/components/ThemeSwitcher.svelte +1 -0
  8. package/dist/themes/components/ThemeSwitcher.svelte.d.ts.map +1 -1
  9. package/dist/themes/css-generator.d.ts.map +1 -1
  10. package/dist/themes/css-generator.js +12 -5
  11. package/dist/themes/fonts/LICENSE.md +4 -2
  12. package/dist/themes/fonts/archivo-latin-ext.woff2 +0 -0
  13. package/dist/themes/fonts/archivo-latin.woff2 +0 -0
  14. package/dist/themes/fonts/b612-bold-latin.woff2 +0 -0
  15. package/dist/themes/fonts/b612-latin.woff2 +0 -0
  16. package/dist/themes/fonts/b612-mono-latin.woff2 +0 -0
  17. package/dist/themes/happyvertical/index.d.ts +68 -0
  18. package/dist/themes/happyvertical/index.d.ts.map +1 -0
  19. package/dist/themes/happyvertical/index.js +402 -0
  20. package/dist/themes/index.d.ts +3 -1
  21. package/dist/themes/index.d.ts.map +1 -1
  22. package/dist/themes/index.js +3 -1
  23. package/dist/themes/registry.d.ts.map +1 -1
  24. package/dist/themes/registry.js +3 -0
  25. package/dist/themes/styles/all.css +6 -4
  26. package/dist/themes/styles/happyvertical-fonts.css +83 -0
  27. package/dist/themes/styles/happyvertical.css +561 -0
  28. package/dist/themes/styles/index.d.ts +3 -0
  29. package/dist/themes/styles/index.d.ts.map +1 -1
  30. package/dist/themes/styles/index.js +3 -0
  31. package/dist/themes/types.d.ts +10 -2
  32. package/dist/themes/types.d.ts.map +1 -1
  33. package/dist/themes/types.js +2 -1
  34. package/package.json +2 -2
@@ -0,0 +1,561 @@
1
+ /**
2
+ * HappyVertical Theme CSS — "Day Shift"
3
+ *
4
+ * Static CSS for the HappyVertical brand theme (happyvertical/smrt#2318): a
5
+ * calm instrument panel of enamel ground, faceplate panels, hairline bezels,
6
+ * and one budgeted amber accent. Import at build time for SSR or when JS
7
+ * theming is not needed.
8
+ *
9
+ * import '@happyvertical/smrt-ui/themes/styles/happyvertical-fonts.css'; // optional fonts
10
+ * import '@happyvertical/smrt-ui/themes/styles/happyvertical.css';
11
+ *
12
+ * The two `[data-theme="happyvertical"]` token blocks below are the exact
13
+ * output of the theme generator (src/themes/css-generator.ts) for
14
+ * `happyverticalTheme`, so this static-CSS delivery path and the JS
15
+ * ThemeProvider emit identical values (#1586). Regenerate them from
16
+ * `generateThemeCSS(happyverticalTheme, …)` after editing
17
+ * src/themes/happyvertical/index.ts —
18
+ * src/themes/__tests__/happyvertical-theme.test.ts compares the two blocks
19
+ * verbatim and fails on any drift. The focus definition and the opt-in
20
+ * utilities follow.
21
+ */
22
+
23
+ [data-theme="happyvertical"][data-color-scheme="light"] {
24
+ --smrt-theme-id: happyvertical;
25
+ --smrt-theme-name: Day Shift;
26
+ --smrt-color-scheme: light;
27
+ --smrt-font-family: "B612", Verdana, "Segoe UI", system-ui, sans-serif;
28
+ --smrt-color-primary: #9c5300;
29
+ --smrt-color-on-primary: #ffffff;
30
+ --smrt-color-primary-container: #f7e3cc;
31
+ --smrt-color-on-primary-container: #5e3200;
32
+ --smrt-color-secondary: #4f5b55;
33
+ --smrt-color-on-secondary: #ffffff;
34
+ --smrt-color-secondary-container: #dce3df;
35
+ --smrt-color-on-secondary-container: #2a342f;
36
+ --smrt-color-tertiary: #3c5a68;
37
+ --smrt-color-on-tertiary: #ffffff;
38
+ --smrt-color-tertiary-container: #d7e4ea;
39
+ --smrt-color-on-tertiary-container: #1b333e;
40
+ --smrt-color-error: #9b3b32;
41
+ --smrt-color-on-error: #ffffff;
42
+ --smrt-color-error-container: #f6dfdc;
43
+ --smrt-color-on-error-container: #5e1c16;
44
+ --smrt-color-warning: #8a4e08;
45
+ --smrt-color-on-warning: #ffffff;
46
+ --smrt-color-warning-container: #f7e4c8;
47
+ --smrt-color-on-warning-container: #533000;
48
+ --smrt-color-success: #1e7a4b;
49
+ --smrt-color-on-success: #ffffff;
50
+ --smrt-color-success-container: #d5e9df;
51
+ --smrt-color-on-success-container: #0c3b24;
52
+ --smrt-color-surface: #f4f6f5;
53
+ --smrt-color-on-surface: #20272b;
54
+ --smrt-color-surface-variant: #e5eae7;
55
+ --smrt-color-on-surface-variant: #5a6660;
56
+ --smrt-color-surface-container: #f1f4f2;
57
+ --smrt-color-surface-container-low: #f7f9f8;
58
+ --smrt-color-surface-container-high: #eaeeec;
59
+ --smrt-color-surface-container-highest: #e3e8e5;
60
+ --smrt-color-surface-container-lowest: #fbfcfb;
61
+ --smrt-color-surface-dim: #e1e6e3;
62
+ --smrt-color-surface-bright: #fbfcfb;
63
+ --smrt-color-background: #e8ebe9;
64
+ --smrt-color-on-background: #20272b;
65
+ --smrt-color-outline: #717d77;
66
+ --smrt-color-outline-variant: #c9cfcc;
67
+ --smrt-color-inverse-surface: #20272b;
68
+ --smrt-color-inverse-on-surface: #edf0ee;
69
+ --smrt-color-inverse-primary: #ffb454;
70
+ --smrt-color-shadow: rgba(32, 39, 43, 0.2);
71
+ --smrt-color-scrim: rgba(20, 24, 27, 0.45);
72
+ --smrt-typography-display-large-size: 2.9rem;
73
+ --smrt-typography-display-large-line-height: 1.15;
74
+ --smrt-typography-display-large-weight: 600;
75
+ --smrt-typography-display-large-tracking: -0.015em;
76
+ --smrt-typography-display-large-font-family: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
77
+ --smrt-typography-display-large-font: 600 2.9rem/1.15 "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
78
+ --smrt-typography-display-medium-size: 2.4rem;
79
+ --smrt-typography-display-medium-line-height: 1.15;
80
+ --smrt-typography-display-medium-weight: 600;
81
+ --smrt-typography-display-medium-tracking: -0.015em;
82
+ --smrt-typography-display-medium-font-family: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
83
+ --smrt-typography-display-medium-font: 600 2.4rem/1.15 "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
84
+ --smrt-typography-display-small-size: 2rem;
85
+ --smrt-typography-display-small-line-height: 1.2;
86
+ --smrt-typography-display-small-weight: 600;
87
+ --smrt-typography-display-small-tracking: -0.01em;
88
+ --smrt-typography-display-small-font-family: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
89
+ --smrt-typography-display-small-font: 600 2rem/1.2 "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
90
+ --smrt-typography-headline-large-size: 1.75rem;
91
+ --smrt-typography-headline-large-line-height: 1.2;
92
+ --smrt-typography-headline-large-weight: 600;
93
+ --smrt-typography-headline-large-tracking: -0.01em;
94
+ --smrt-typography-headline-large-font-family: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
95
+ --smrt-typography-headline-large-font: 600 1.75rem/1.2 "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
96
+ --smrt-typography-headline-medium-size: 1.5rem;
97
+ --smrt-typography-headline-medium-line-height: 1.25;
98
+ --smrt-typography-headline-medium-weight: 600;
99
+ --smrt-typography-headline-medium-tracking: -0.01em;
100
+ --smrt-typography-headline-medium-font-family: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
101
+ --smrt-typography-headline-medium-font: 600 1.5rem/1.25 "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
102
+ --smrt-typography-headline-small-size: 1.35rem;
103
+ --smrt-typography-headline-small-line-height: 1.3;
104
+ --smrt-typography-headline-small-weight: 600;
105
+ --smrt-typography-headline-small-tracking: -0.01em;
106
+ --smrt-typography-headline-small-font-family: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
107
+ --smrt-typography-headline-small-font: 600 1.35rem/1.3 "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
108
+ --smrt-typography-title-large-size: 1.15rem;
109
+ --smrt-typography-title-large-line-height: 1.35;
110
+ --smrt-typography-title-large-weight: 600;
111
+ --smrt-typography-title-large-tracking: -0.01em;
112
+ --smrt-typography-title-large-font-family: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
113
+ --smrt-typography-title-large-font: 600 1.15rem/1.35 "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
114
+ --smrt-typography-title-medium-size: 1rem;
115
+ --smrt-typography-title-medium-line-height: 1.4;
116
+ --smrt-typography-title-medium-weight: 500;
117
+ --smrt-typography-title-medium-tracking: -0.01em;
118
+ --smrt-typography-title-medium-font-family: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
119
+ --smrt-typography-title-medium-font: 500 1rem/1.4 "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
120
+ --smrt-typography-title-small-size: 0.9rem;
121
+ --smrt-typography-title-small-line-height: 1.4;
122
+ --smrt-typography-title-small-weight: 500;
123
+ --smrt-typography-title-small-tracking: -0.01em;
124
+ --smrt-typography-title-small-font-family: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
125
+ --smrt-typography-title-small-font: 500 0.9rem/1.4 "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
126
+ --smrt-typography-body-large-size: 1rem;
127
+ --smrt-typography-body-large-line-height: 1.6;
128
+ --smrt-typography-body-large-weight: 400;
129
+ --smrt-typography-body-large-tracking: 0;
130
+ --smrt-typography-body-large-font-family: var(--smrt-font-family);
131
+ --smrt-typography-body-large-font: 400 1rem/1.6 var(--smrt-font-family);
132
+ --smrt-typography-body-medium-size: 0.9375rem;
133
+ --smrt-typography-body-medium-line-height: 1.6;
134
+ --smrt-typography-body-medium-weight: 400;
135
+ --smrt-typography-body-medium-tracking: 0;
136
+ --smrt-typography-body-medium-font-family: var(--smrt-font-family);
137
+ --smrt-typography-body-medium-font: 400 0.9375rem/1.6 var(--smrt-font-family);
138
+ --smrt-typography-body-small-size: 0.875rem;
139
+ --smrt-typography-body-small-line-height: 1.55;
140
+ --smrt-typography-body-small-weight: 400;
141
+ --smrt-typography-body-small-tracking: 0;
142
+ --smrt-typography-body-small-font-family: var(--smrt-font-family);
143
+ --smrt-typography-body-small-font: 400 0.875rem/1.55 var(--smrt-font-family);
144
+ --smrt-typography-label-large-size: 0.9rem;
145
+ --smrt-typography-label-large-line-height: 1.4;
146
+ --smrt-typography-label-large-weight: 700;
147
+ --smrt-typography-label-large-tracking: 0;
148
+ --smrt-typography-label-large-font-family: var(--smrt-font-family);
149
+ --smrt-typography-label-large-font: 700 0.9rem/1.4 var(--smrt-font-family);
150
+ --smrt-typography-label-medium-size: 0.8125rem;
151
+ --smrt-typography-label-medium-line-height: 1.4;
152
+ --smrt-typography-label-medium-weight: 700;
153
+ --smrt-typography-label-medium-tracking: 0.02em;
154
+ --smrt-typography-label-medium-font-family: var(--smrt-font-family);
155
+ --smrt-typography-label-medium-font: 700 0.8125rem/1.4 var(--smrt-font-family);
156
+ --smrt-typography-label-small-size: 0.75rem;
157
+ --smrt-typography-label-small-line-height: 1.4;
158
+ --smrt-typography-label-small-weight: 700;
159
+ --smrt-typography-label-small-tracking: 0.08em;
160
+ --smrt-typography-label-small-font-family: var(--smrt-font-family);
161
+ --smrt-typography-label-small-font: 700 0.75rem/1.4 var(--smrt-font-family);
162
+ --smrt-spacing-0: 0;
163
+ --smrt-spacing-1: 0.25rem;
164
+ --smrt-spacing-2: 0.5rem;
165
+ --smrt-spacing-3: 0.75rem;
166
+ --smrt-spacing-4: 1rem;
167
+ --smrt-spacing-5: 1.25rem;
168
+ --smrt-spacing-6: 1.5rem;
169
+ --smrt-spacing-7: 1.75rem;
170
+ --smrt-spacing-8: 2rem;
171
+ --smrt-spacing-9: 2.25rem;
172
+ --smrt-spacing-10: 2.5rem;
173
+ --smrt-spacing-11: 2.75rem;
174
+ --smrt-spacing-12: 3rem;
175
+ --smrt-spacing-14: 3.5rem;
176
+ --smrt-spacing-16: 4rem;
177
+ --smrt-spacing-20: 5rem;
178
+ --smrt-spacing-24: 6rem;
179
+ --smrt-spacing-0_5: 0.125rem;
180
+ --smrt-spacing-1_5: 0.375rem;
181
+ --smrt-spacing-2_5: 0.625rem;
182
+ --smrt-spacing-3_5: 0.875rem;
183
+ --smrt-spacing-xs: 0.25rem;
184
+ --smrt-spacing-sm: 0.5rem;
185
+ --smrt-spacing-md: 1rem;
186
+ --smrt-spacing-lg: 1.5rem;
187
+ --smrt-spacing-xl: 2rem;
188
+ --smrt-spacing-2xl: 3rem;
189
+ --smrt-spacing-3xl: 4rem;
190
+ --smrt-radius-none: 0;
191
+ --smrt-radius-sm: 0.25rem;
192
+ --smrt-radius-md: 0.375rem;
193
+ --smrt-radius-lg: 0.5rem;
194
+ --smrt-radius-xl: 0.75rem;
195
+ --smrt-radius-2xl: 1rem;
196
+ --smrt-radius-3xl: 1.25rem;
197
+ --smrt-radius-full: 9999px;
198
+ --smrt-radius-extra-small: 0.25rem;
199
+ --smrt-radius-small: 0.25rem;
200
+ --smrt-radius-medium: 0.375rem;
201
+ --smrt-radius-large: 0.5rem;
202
+ --smrt-radius-extra-large: 0.75rem;
203
+ --smrt-elevation-0: none;
204
+ --smrt-elevation-1: inset 0 0 0 1px rgba(32, 39, 43, 0.1);
205
+ --smrt-elevation-2: 0 1px 2px 0 rgba(32, 39, 43, 0.06);
206
+ --smrt-elevation-3: 0 2px 6px -2px rgba(32, 39, 43, 0.1);
207
+ --smrt-elevation-4: 0 6px 16px -6px rgba(32, 39, 43, 0.14);
208
+ --smrt-elevation-5: 0 12px 28px -12px rgba(32, 39, 43, 0.18);
209
+ --smrt-duration-instant: 0ms;
210
+ --smrt-duration-fast: 90ms;
211
+ --smrt-duration-normal: 120ms;
212
+ --smrt-duration-slow: 180ms;
213
+ --smrt-duration-slower: 260ms;
214
+ --smrt-duration-short1: 50ms;
215
+ --smrt-duration-short2: 100ms;
216
+ --smrt-duration-short3: 150ms;
217
+ --smrt-duration-short4: 200ms;
218
+ --smrt-duration-medium1: 250ms;
219
+ --smrt-duration-medium2: 300ms;
220
+ --smrt-duration-medium3: 350ms;
221
+ --smrt-duration-medium4: 400ms;
222
+ --smrt-duration-long1: 450ms;
223
+ --smrt-duration-long2: 500ms;
224
+ --smrt-duration-long3: 550ms;
225
+ --smrt-duration-long4: 600ms;
226
+ --smrt-easing-standard: cubic-bezier(0.4, 0, 0.2, 1);
227
+ --smrt-easing-standard-decelerate: cubic-bezier(0.4, 0, 0.2, 1);
228
+ --smrt-easing-standard-accelerate: cubic-bezier(0.4, 0, 0.2, 1);
229
+ --smrt-easing-emphasized: cubic-bezier(0.4, 0, 0.2, 1);
230
+ --smrt-easing-emphasized-decelerate: cubic-bezier(0.4, 0, 0.2, 1);
231
+ --smrt-easing-emphasized-accelerate: cubic-bezier(0.4, 0, 0.2, 1);
232
+ --smrt-font-family-mono: "B612 Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
233
+ --smrt-typography-weight-normal: 400;
234
+ --smrt-typography-weight-medium: 500;
235
+ --smrt-typography-weight-semibold: 600;
236
+ --smrt-typography-weight-bold: 700;
237
+ --smrt-z-index-dropdown: 1000;
238
+ --smrt-z-index-sticky: 1100;
239
+ --smrt-z-index-overlay: 1200;
240
+ --smrt-z-index-modal: 1300;
241
+ --smrt-z-index-dialog: 1300;
242
+ --smrt-z-index-popover: 1400;
243
+ --smrt-z-index-toast: 1500;
244
+ --smrt-z-index-tooltip: 1600;
245
+ --smrt-z-index-loading: 1700;
246
+ }
247
+
248
+ [data-theme="happyvertical"][data-color-scheme="dark"] {
249
+ --smrt-theme-id: happyvertical;
250
+ --smrt-theme-name: Day Shift;
251
+ --smrt-color-scheme: dark;
252
+ --smrt-font-family: "B612", Verdana, "Segoe UI", system-ui, sans-serif;
253
+ --smrt-color-primary: #ffb454;
254
+ --smrt-color-on-primary: #14181b;
255
+ --smrt-color-primary-container: #3b2a12;
256
+ --smrt-color-on-primary-container: #ffd7a1;
257
+ --smrt-color-secondary: #a6b2ac;
258
+ --smrt-color-on-secondary: #14181b;
259
+ --smrt-color-secondary-container: #262e33;
260
+ --smrt-color-on-secondary-container: #dce3e0;
261
+ --smrt-color-tertiary: #9cbecc;
262
+ --smrt-color-on-tertiary: #10262e;
263
+ --smrt-color-tertiary-container: #1e313a;
264
+ --smrt-color-on-tertiary-container: #c6dee8;
265
+ --smrt-color-error: #e89b92;
266
+ --smrt-color-on-error: #3b120d;
267
+ --smrt-color-error-container: #402019;
268
+ --smrt-color-on-error-container: #f7c9c3;
269
+ --smrt-color-warning: #ffc46b;
270
+ --smrt-color-on-warning: #14181b;
271
+ --smrt-color-warning-container: #3b2c12;
272
+ --smrt-color-on-warning-container: #ffdca8;
273
+ --smrt-color-success: #53c989;
274
+ --smrt-color-on-success: #06331e;
275
+ --smrt-color-success-container: #14382a;
276
+ --smrt-color-on-success-container: #a8e5c4;
277
+ --smrt-color-surface: #1c2226;
278
+ --smrt-color-on-surface: #e4e9e7;
279
+ --smrt-color-surface-variant: #232b30;
280
+ --smrt-color-on-surface-variant: #97a29c;
281
+ --smrt-color-surface-container: #1c2226;
282
+ --smrt-color-surface-container-low: #171c20;
283
+ --smrt-color-surface-container-high: #212930;
284
+ --smrt-color-surface-container-highest: #252d33;
285
+ --smrt-color-surface-container-lowest: #0f1315;
286
+ --smrt-color-surface-dim: #101416;
287
+ --smrt-color-surface-bright: #283036;
288
+ --smrt-color-background: #14181b;
289
+ --smrt-color-on-background: #e4e9e7;
290
+ --smrt-color-outline: #76827d;
291
+ --smrt-color-outline-variant: #2a3238;
292
+ --smrt-color-inverse-surface: #e4e9e7;
293
+ --smrt-color-inverse-on-surface: #1c2226;
294
+ --smrt-color-inverse-primary: #9c5300;
295
+ --smrt-color-shadow: rgba(0, 0, 0, 0.6);
296
+ --smrt-color-scrim: rgba(0, 0, 0, 0.6);
297
+ --smrt-typography-display-large-size: 2.9rem;
298
+ --smrt-typography-display-large-line-height: 1.15;
299
+ --smrt-typography-display-large-weight: 600;
300
+ --smrt-typography-display-large-tracking: -0.015em;
301
+ --smrt-typography-display-large-font-family: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
302
+ --smrt-typography-display-large-font: 600 2.9rem/1.15 "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
303
+ --smrt-typography-display-medium-size: 2.4rem;
304
+ --smrt-typography-display-medium-line-height: 1.15;
305
+ --smrt-typography-display-medium-weight: 600;
306
+ --smrt-typography-display-medium-tracking: -0.015em;
307
+ --smrt-typography-display-medium-font-family: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
308
+ --smrt-typography-display-medium-font: 600 2.4rem/1.15 "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
309
+ --smrt-typography-display-small-size: 2rem;
310
+ --smrt-typography-display-small-line-height: 1.2;
311
+ --smrt-typography-display-small-weight: 600;
312
+ --smrt-typography-display-small-tracking: -0.01em;
313
+ --smrt-typography-display-small-font-family: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
314
+ --smrt-typography-display-small-font: 600 2rem/1.2 "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
315
+ --smrt-typography-headline-large-size: 1.75rem;
316
+ --smrt-typography-headline-large-line-height: 1.2;
317
+ --smrt-typography-headline-large-weight: 600;
318
+ --smrt-typography-headline-large-tracking: -0.01em;
319
+ --smrt-typography-headline-large-font-family: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
320
+ --smrt-typography-headline-large-font: 600 1.75rem/1.2 "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
321
+ --smrt-typography-headline-medium-size: 1.5rem;
322
+ --smrt-typography-headline-medium-line-height: 1.25;
323
+ --smrt-typography-headline-medium-weight: 600;
324
+ --smrt-typography-headline-medium-tracking: -0.01em;
325
+ --smrt-typography-headline-medium-font-family: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
326
+ --smrt-typography-headline-medium-font: 600 1.5rem/1.25 "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
327
+ --smrt-typography-headline-small-size: 1.35rem;
328
+ --smrt-typography-headline-small-line-height: 1.3;
329
+ --smrt-typography-headline-small-weight: 600;
330
+ --smrt-typography-headline-small-tracking: -0.01em;
331
+ --smrt-typography-headline-small-font-family: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
332
+ --smrt-typography-headline-small-font: 600 1.35rem/1.3 "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
333
+ --smrt-typography-title-large-size: 1.15rem;
334
+ --smrt-typography-title-large-line-height: 1.35;
335
+ --smrt-typography-title-large-weight: 600;
336
+ --smrt-typography-title-large-tracking: -0.01em;
337
+ --smrt-typography-title-large-font-family: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
338
+ --smrt-typography-title-large-font: 600 1.15rem/1.35 "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
339
+ --smrt-typography-title-medium-size: 1rem;
340
+ --smrt-typography-title-medium-line-height: 1.4;
341
+ --smrt-typography-title-medium-weight: 500;
342
+ --smrt-typography-title-medium-tracking: -0.01em;
343
+ --smrt-typography-title-medium-font-family: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
344
+ --smrt-typography-title-medium-font: 500 1rem/1.4 "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
345
+ --smrt-typography-title-small-size: 0.9rem;
346
+ --smrt-typography-title-small-line-height: 1.4;
347
+ --smrt-typography-title-small-weight: 500;
348
+ --smrt-typography-title-small-tracking: -0.01em;
349
+ --smrt-typography-title-small-font-family: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
350
+ --smrt-typography-title-small-font: 500 0.9rem/1.4 "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
351
+ --smrt-typography-body-large-size: 1rem;
352
+ --smrt-typography-body-large-line-height: 1.6;
353
+ --smrt-typography-body-large-weight: 400;
354
+ --smrt-typography-body-large-tracking: 0;
355
+ --smrt-typography-body-large-font-family: var(--smrt-font-family);
356
+ --smrt-typography-body-large-font: 400 1rem/1.6 var(--smrt-font-family);
357
+ --smrt-typography-body-medium-size: 0.9375rem;
358
+ --smrt-typography-body-medium-line-height: 1.6;
359
+ --smrt-typography-body-medium-weight: 400;
360
+ --smrt-typography-body-medium-tracking: 0;
361
+ --smrt-typography-body-medium-font-family: var(--smrt-font-family);
362
+ --smrt-typography-body-medium-font: 400 0.9375rem/1.6 var(--smrt-font-family);
363
+ --smrt-typography-body-small-size: 0.875rem;
364
+ --smrt-typography-body-small-line-height: 1.55;
365
+ --smrt-typography-body-small-weight: 400;
366
+ --smrt-typography-body-small-tracking: 0;
367
+ --smrt-typography-body-small-font-family: var(--smrt-font-family);
368
+ --smrt-typography-body-small-font: 400 0.875rem/1.55 var(--smrt-font-family);
369
+ --smrt-typography-label-large-size: 0.9rem;
370
+ --smrt-typography-label-large-line-height: 1.4;
371
+ --smrt-typography-label-large-weight: 700;
372
+ --smrt-typography-label-large-tracking: 0;
373
+ --smrt-typography-label-large-font-family: var(--smrt-font-family);
374
+ --smrt-typography-label-large-font: 700 0.9rem/1.4 var(--smrt-font-family);
375
+ --smrt-typography-label-medium-size: 0.8125rem;
376
+ --smrt-typography-label-medium-line-height: 1.4;
377
+ --smrt-typography-label-medium-weight: 700;
378
+ --smrt-typography-label-medium-tracking: 0.02em;
379
+ --smrt-typography-label-medium-font-family: var(--smrt-font-family);
380
+ --smrt-typography-label-medium-font: 700 0.8125rem/1.4 var(--smrt-font-family);
381
+ --smrt-typography-label-small-size: 0.75rem;
382
+ --smrt-typography-label-small-line-height: 1.4;
383
+ --smrt-typography-label-small-weight: 700;
384
+ --smrt-typography-label-small-tracking: 0.08em;
385
+ --smrt-typography-label-small-font-family: var(--smrt-font-family);
386
+ --smrt-typography-label-small-font: 700 0.75rem/1.4 var(--smrt-font-family);
387
+ --smrt-spacing-0: 0;
388
+ --smrt-spacing-1: 0.25rem;
389
+ --smrt-spacing-2: 0.5rem;
390
+ --smrt-spacing-3: 0.75rem;
391
+ --smrt-spacing-4: 1rem;
392
+ --smrt-spacing-5: 1.25rem;
393
+ --smrt-spacing-6: 1.5rem;
394
+ --smrt-spacing-7: 1.75rem;
395
+ --smrt-spacing-8: 2rem;
396
+ --smrt-spacing-9: 2.25rem;
397
+ --smrt-spacing-10: 2.5rem;
398
+ --smrt-spacing-11: 2.75rem;
399
+ --smrt-spacing-12: 3rem;
400
+ --smrt-spacing-14: 3.5rem;
401
+ --smrt-spacing-16: 4rem;
402
+ --smrt-spacing-20: 5rem;
403
+ --smrt-spacing-24: 6rem;
404
+ --smrt-spacing-0_5: 0.125rem;
405
+ --smrt-spacing-1_5: 0.375rem;
406
+ --smrt-spacing-2_5: 0.625rem;
407
+ --smrt-spacing-3_5: 0.875rem;
408
+ --smrt-spacing-xs: 0.25rem;
409
+ --smrt-spacing-sm: 0.5rem;
410
+ --smrt-spacing-md: 1rem;
411
+ --smrt-spacing-lg: 1.5rem;
412
+ --smrt-spacing-xl: 2rem;
413
+ --smrt-spacing-2xl: 3rem;
414
+ --smrt-spacing-3xl: 4rem;
415
+ --smrt-radius-none: 0;
416
+ --smrt-radius-sm: 0.25rem;
417
+ --smrt-radius-md: 0.375rem;
418
+ --smrt-radius-lg: 0.5rem;
419
+ --smrt-radius-xl: 0.75rem;
420
+ --smrt-radius-2xl: 1rem;
421
+ --smrt-radius-3xl: 1.25rem;
422
+ --smrt-radius-full: 9999px;
423
+ --smrt-radius-extra-small: 0.25rem;
424
+ --smrt-radius-small: 0.25rem;
425
+ --smrt-radius-medium: 0.375rem;
426
+ --smrt-radius-large: 0.5rem;
427
+ --smrt-radius-extra-large: 0.75rem;
428
+ --smrt-elevation-0: none;
429
+ --smrt-elevation-1: inset 0 0 0 1px rgba(228, 233, 231, 0.08);
430
+ --smrt-elevation-2: 0 1px 2px 0 rgba(0, 0, 0, 0.4);
431
+ --smrt-elevation-3: 0 2px 6px -2px rgba(0, 0, 0, 0.5);
432
+ --smrt-elevation-4: 0 6px 16px -6px rgba(0, 0, 0, 0.6);
433
+ --smrt-elevation-5: 0 12px 28px -12px rgba(0, 0, 0, 0.7);
434
+ --smrt-duration-instant: 0ms;
435
+ --smrt-duration-fast: 90ms;
436
+ --smrt-duration-normal: 120ms;
437
+ --smrt-duration-slow: 180ms;
438
+ --smrt-duration-slower: 260ms;
439
+ --smrt-duration-short1: 50ms;
440
+ --smrt-duration-short2: 100ms;
441
+ --smrt-duration-short3: 150ms;
442
+ --smrt-duration-short4: 200ms;
443
+ --smrt-duration-medium1: 250ms;
444
+ --smrt-duration-medium2: 300ms;
445
+ --smrt-duration-medium3: 350ms;
446
+ --smrt-duration-medium4: 400ms;
447
+ --smrt-duration-long1: 450ms;
448
+ --smrt-duration-long2: 500ms;
449
+ --smrt-duration-long3: 550ms;
450
+ --smrt-duration-long4: 600ms;
451
+ --smrt-easing-standard: cubic-bezier(0.4, 0, 0.2, 1);
452
+ --smrt-easing-standard-decelerate: cubic-bezier(0.4, 0, 0.2, 1);
453
+ --smrt-easing-standard-accelerate: cubic-bezier(0.4, 0, 0.2, 1);
454
+ --smrt-easing-emphasized: cubic-bezier(0.4, 0, 0.2, 1);
455
+ --smrt-easing-emphasized-decelerate: cubic-bezier(0.4, 0, 0.2, 1);
456
+ --smrt-easing-emphasized-accelerate: cubic-bezier(0.4, 0, 0.2, 1);
457
+ --smrt-font-family-mono: "B612 Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
458
+ --smrt-typography-weight-normal: 400;
459
+ --smrt-typography-weight-medium: 500;
460
+ --smrt-typography-weight-semibold: 600;
461
+ --smrt-typography-weight-bold: 700;
462
+ --smrt-z-index-dropdown: 1000;
463
+ --smrt-z-index-sticky: 1100;
464
+ --smrt-z-index-overlay: 1200;
465
+ --smrt-z-index-modal: 1300;
466
+ --smrt-z-index-dialog: 1300;
467
+ --smrt-z-index-popover: 1400;
468
+ --smrt-z-index-toast: 1500;
469
+ --smrt-z-index-tooltip: 1600;
470
+ --smrt-z-index-loading: 1700;
471
+ }
472
+
473
+ /* ============================================================================
474
+ * Focus
475
+ *
476
+ * A 2px amber outline, offset off the control. Defined by the preset so every
477
+ * focusable element — including plain markup a consumer app renders itself —
478
+ * carries the brand focus indicator. Component-scoped `:focus-visible` rules
479
+ * are more specific and still win where a primitive tunes its own offset.
480
+ * ========================================================================== */
481
+
482
+ [data-theme="happyvertical"] :focus-visible {
483
+ outline: 2px solid var(--smrt-color-primary);
484
+ outline-offset: 2px;
485
+ }
486
+
487
+ /* ============================================================================
488
+ * Instrument-panel utilities (opt-in)
489
+ *
490
+ * The Day Shift vocabulary, expressed against the theme tokens. Add these
491
+ * classes to your own markup — they are not applied automatically. Calm is
492
+ * less for the brain to process, not theatre: there is no glow, no gradient,
493
+ * and nothing here animates on its own.
494
+ * ========================================================================== */
495
+
496
+ /* Faceplate panel — the raised module: hairline bezel, no shadow. */
497
+ .hv-panel {
498
+ background: var(--smrt-color-surface);
499
+ border: 1px solid var(--smrt-color-outline-variant);
500
+ border-radius: var(--smrt-radius-lg);
501
+ }
502
+
503
+ /* Legend row — a mono label followed by a hairline rule across the panel. */
504
+ .hv-legend {
505
+ display: flex;
506
+ align-items: center;
507
+ gap: var(--smrt-spacing-2_5);
508
+ font-family: var(--smrt-font-family-mono);
509
+ font-size: var(--smrt-typography-label-small-size);
510
+ letter-spacing: 0.08em;
511
+ text-transform: uppercase;
512
+ color: var(--smrt-color-on-surface-variant);
513
+ }
514
+ .hv-legend::after {
515
+ content: '';
516
+ flex: 1;
517
+ height: 1px;
518
+ background: var(--smrt-color-outline-variant);
519
+ }
520
+
521
+ /* Standalone hairline rule, for legend rows that need it before the label. */
522
+ .hv-rule {
523
+ flex: 1;
524
+ height: 1px;
525
+ background: var(--smrt-color-outline-variant);
526
+ }
527
+
528
+ /* Status lamp — a marker dot. Green reads as "running" here and is never text. */
529
+ .hv-lamp {
530
+ display: inline-block;
531
+ width: 8px;
532
+ height: 8px;
533
+ border-radius: var(--smrt-radius-full);
534
+ background: var(--smrt-color-success);
535
+ }
536
+ .hv-lamp-idle {
537
+ background: var(--smrt-color-outline);
538
+ }
539
+ .hv-lamp-attention {
540
+ background: var(--smrt-color-primary);
541
+ }
542
+
543
+ /* Quiet link — bezel underline that warms to amber on hover. */
544
+ .hv-quiet-link {
545
+ color: var(--smrt-color-on-surface);
546
+ text-decoration: underline;
547
+ text-decoration-color: var(--smrt-color-outline-variant);
548
+ text-decoration-thickness: 1px;
549
+ text-underline-offset: 4px;
550
+ transition: text-decoration-color var(--smrt-duration-normal)
551
+ var(--smrt-easing-standard);
552
+ }
553
+ .hv-quiet-link:hover {
554
+ text-decoration-color: var(--smrt-color-primary);
555
+ }
556
+
557
+ @media (prefers-reduced-motion: reduce) {
558
+ .hv-quiet-link {
559
+ transition: none;
560
+ }
561
+ }
@@ -18,8 +18,11 @@ export declare const themeStyles: {
18
18
  readonly glass: "./glass.css";
19
19
  readonly studio: "./studio.css";
20
20
  readonly smrt: "./smrt.css";
21
+ readonly happyvertical: "./happyvertical.css";
21
22
  /** @font-face declarations for the SMRT theme (Space Grotesk / Inter / JetBrains Mono). */
22
23
  readonly fonts: "./fonts.css";
24
+ /** @font-face declarations for the HappyVertical theme (Archivo / B612 / B612 Mono). */
25
+ readonly happyverticalFonts: "./happyvertical-fonts.css";
23
26
  readonly all: "./all.css";
24
27
  };
25
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/themes/styles/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,eAAO,MAAM,WAAW;;;;;IAKtB,2FAA2F;;;CAGnF,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/themes/styles/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,eAAO,MAAM,WAAW;;;;;;IAMtB,2FAA2F;;IAE3F,wFAAwF;;;CAGhF,CAAC"}
@@ -20,7 +20,10 @@ export const themeStyles = {
20
20
  glass: './glass.css',
21
21
  studio: './studio.css',
22
22
  smrt: './smrt.css',
23
+ happyvertical: './happyvertical.css',
23
24
  /** @font-face declarations for the SMRT theme (Space Grotesk / Inter / JetBrains Mono). */
24
25
  fonts: './fonts.css',
26
+ /** @font-face declarations for the HappyVertical theme (Archivo / B612 / B612 Mono). */
27
+ happyverticalFonts: './happyvertical-fonts.css',
25
28
  all: './all.css',
26
29
  };
@@ -1,10 +1,11 @@
1
1
  /**
2
2
  * Unified Theme System Types
3
3
  *
4
- * Core types for the multi-theme architecture supporting Material, Glass, Studio, and SMRT themes.
4
+ * Core types for the multi-theme architecture supporting Material, Glass,
5
+ * Studio, SMRT, and HappyVertical themes.
5
6
  */
6
7
  /** Available theme presets */
7
- export type ThemePreset = 'material' | 'glass' | 'studio' | 'smrt';
8
+ export type ThemePreset = 'material' | 'glass' | 'studio' | 'smrt' | 'happyvertical';
8
9
  /** Color scheme mode */
9
10
  export type ColorScheme = 'light' | 'dark' | 'system';
10
11
  /** Resolved color scheme (never 'system') */
@@ -212,6 +213,13 @@ export interface Theme {
212
213
  glass?: GlassEffects;
213
214
  /** Primary font family */
214
215
  fontFamily: string;
216
+ /**
217
+ * Optional monospace family override. When absent the preset inherits the
218
+ * shared `--smrt-font-family-mono` stack (#1431); presets whose type stack
219
+ * names its own mono face (e.g. happyvertical's B612 Mono) set it here so the
220
+ * JS generator and the static preset CSS emit the same value.
221
+ */
222
+ fontFamilyMono?: string;
215
223
  }
216
224
  /**
217
225
  * Theme configuration options
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/themes/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/themes/types.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Unified Theme System Types
3
3
  *
4
- * Core types for the multi-theme architecture supporting Material, Glass, Studio, and SMRT themes.
4
+ * Core types for the multi-theme architecture supporting Material, Glass,
5
+ * Studio, SMRT, and HappyVertical themes.
5
6
  */
6
7
  /**
7
8
  * Default theme configuration
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@happyvertical/smrt-ui",
3
- "version": "0.40.65",
3
+ "version": "0.40.67",
4
4
  "description": "Domain-agnostic Svelte 5 UI runtime for SMRT: primitives, i18n client, theme system, and module UI registry",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -124,7 +124,7 @@
124
124
  },
125
125
  "dependencies": {
126
126
  "esm-env": "^1.2.2",
127
- "@happyvertical/smrt-types": "0.40.65"
127
+ "@happyvertical/smrt-types": "0.40.67"
128
128
  },
129
129
  "peerDependencies": {
130
130
  "svelte": "^5.56.4"