@loworbitstudio/visor-core 0.3.0 → 0.5.0

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.
@@ -0,0 +1,462 @@
1
+
2
+ /* ── Section 1: Shared tokens (mode-independent) ── */
3
+
4
+ /* --- Primitive: Colors --- */
5
+ .space-theme {
6
+ min-height: 100vh;
7
+ font-size: 1rem;
8
+ background: var(--surface-page, var(--surface-background));
9
+ color: var(--text-primary);
10
+ font-family: var(--font-sans);
11
+
12
+ --color-white: #ffffff;
13
+ --color-black: #000000;
14
+ --color-primary-50: #f2f5ff;
15
+ --color-primary-100: #eef2ff;
16
+ --color-primary-200: #eaeeff;
17
+ --color-primary-300: #e2e9ff;
18
+ --color-primary-400: #d8e1ff;
19
+ --color-primary-500: #5b6fff;
20
+ --color-primary-600: #353ac8;
21
+ --color-primary-700: #281fb0;
22
+ --color-primary-800: #1b0b86;
23
+ --color-primary-900: #0e005a;
24
+ --color-primary-950: #04002d;
25
+ --color-accent-50: #f2f5ff;
26
+ --color-accent-100: #eef2ff;
27
+ --color-accent-200: #eaeeff;
28
+ --color-accent-300: #e2e9ff;
29
+ --color-accent-400: #d8e1ff;
30
+ --color-accent-500: #5b6fff;
31
+ --color-accent-600: #353ac8;
32
+ --color-accent-700: #281fb0;
33
+ --color-accent-800: #1b0b86;
34
+ --color-accent-900: #0e005a;
35
+ --color-accent-950: #04002d;
36
+ --color-neutral-50: #f5f5f8;
37
+ --color-neutral-100: #f1f1f8;
38
+ --color-neutral-200: #ecedf8;
39
+ --color-neutral-300: #e5e6f5;
40
+ --color-neutral-400: #dcdceb;
41
+ --color-neutral-500: #6c6c79;
42
+ --color-neutral-600: #545460;
43
+ --color-neutral-700: #41414d;
44
+ --color-neutral-800: #2d2d38;
45
+ --color-neutral-900: #191924;
46
+ --color-neutral-950: #080810;
47
+ --color-success-50: #e8fbeb;
48
+ --color-success-100: #defde3;
49
+ --color-success-500: #22c55e;
50
+ --color-success-600: #00672b;
51
+ --color-success-700: #005120;
52
+ --color-success-900: #002209;
53
+ --color-warning-50: #fff3e6;
54
+ --color-warning-100: #fff1e3;
55
+ --color-warning-500: #f59e0b;
56
+ --color-warning-600: #774a01;
57
+ --color-warning-700: #5e3900;
58
+ --color-warning-900: #281600;
59
+ --color-error-50: #fff2f0;
60
+ --color-error-100: #ffefed;
61
+ --color-error-500: #ef4444;
62
+ --color-error-600: #a30016;
63
+ --color-error-700: #81000f;
64
+ --color-error-900: #3a0003;
65
+ --color-info-50: #ecf7ff;
66
+ --color-info-100: #e8f5ff;
67
+ --color-info-500: #0ea5e9;
68
+ --color-info-600: #005c85;
69
+ --color-info-700: #004869;
70
+ --color-info-900: #001d2e;
71
+ }
72
+
73
+
74
+ /* --- Primitive: Spacing --- */
75
+ .space-theme {
76
+ --spacing-0: 0;
77
+ --spacing-1: 0.25rem;
78
+ --spacing-2: 0.5rem;
79
+ --spacing-3: 0.75rem;
80
+ --spacing-4: 1rem;
81
+ --spacing-5: 1.25rem;
82
+ --spacing-6: 1.5rem;
83
+ --spacing-8: 2rem;
84
+ --spacing-10: 2.5rem;
85
+ --spacing-12: 3rem;
86
+ --spacing-16: 4rem;
87
+ --spacing-20: 5rem;
88
+ --spacing-24: 6rem;
89
+ }
90
+
91
+
92
+ /* --- Primitive: Border Radius --- */
93
+ .space-theme {
94
+ --radius-none: 0;
95
+ --radius-sm: 0.25rem; /* 4px */
96
+ --radius-md: 0.375rem; /* 6px */
97
+ --radius-lg: 0.5rem; /* 8px */
98
+ --radius-xl: 0.75rem; /* 12px */
99
+ --radius-2xl: 0.9997499999999999rem; /* 16px */
100
+ --radius-3xl: 1.5rem; /* 24px */
101
+ --radius-full: 9999px;
102
+ }
103
+
104
+
105
+ /* --- Primitive: Typography --- */
106
+ .space-theme {
107
+ --font-display: Satoshi;
108
+ --font-sans: Satoshi;
109
+ --font-heading: var(--font-sans);
110
+ --font-body: Satoshi;
111
+ --font-mono: Monaspace Neon;
112
+ --font-size-xs: 0.75rem; /* 12px */
113
+ --font-size-sm: 0.875rem; /* 14px */
114
+ --font-size-base: 1rem; /* 16px */
115
+ --font-size-lg: 1.125rem; /* 18px */
116
+ --font-size-xl: 1.25rem; /* 20px */
117
+ --font-size-2xl: 1.5rem; /* 24px */
118
+ --font-size-3xl: 1.875rem; /* 30px */
119
+ --font-size-4xl: 2.25rem; /* 36px */
120
+ --font-weight-normal: 400;
121
+ --font-weight-medium: 500;
122
+ --font-weight-semibold: 700;
123
+ --font-weight-bold: 700;
124
+ --line-height-none: 1;
125
+ --line-height-tight: 1.25;
126
+ --line-height-snug: 1.375;
127
+ --line-height-normal: 1.5;
128
+ --line-height-relaxed: 1.625;
129
+ --line-height-loose: 2;
130
+ --letter-spacing-normal: 0.05em;
131
+ }
132
+
133
+
134
+ /* --- Primitive: Shadows --- */
135
+ .space-theme {
136
+ --shadow-xs: 0 1px 2px rgba(91, 111, 255, 0.08);
137
+ --shadow-sm: 0 1px 3px rgba(91, 111, 255, 0.1);
138
+ --shadow-md: 0 4px 12px rgba(91, 111, 255, 0.12);
139
+ --shadow-lg: 0 10px 24px rgba(91, 111, 255, 0.14);
140
+ --shadow-xl: 0 20px 40px rgba(91, 111, 255, 0.16);
141
+ }
142
+
143
+
144
+ /* --- Primitive: Motion --- */
145
+ .space-theme {
146
+ --motion-duration-100: 100ms;
147
+ --motion-duration-150: 150ms;
148
+ --motion-duration-200: 200ms;
149
+ --motion-duration-300: 300ms;
150
+ --motion-duration-500: 400ms;
151
+ --motion-duration-800: 800ms;
152
+ --motion-easing-linear: linear;
153
+ --motion-easing-ease-in: cubic-bezier(0.4, 0, 1, 1);
154
+ --motion-easing-ease-out: cubic-bezier(0, 0, 0.2, 1);
155
+ --motion-easing-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
156
+ --motion-easing-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
157
+ }
158
+
159
+
160
+ /* --- Primitive: Miscellaneous --- */
161
+ .space-theme {
162
+ --border-width-1: 1px;
163
+ --border-width-2: 2px;
164
+ --border-width-3: 3px;
165
+ --border-width-4: 4px;
166
+ --z-base: 0;
167
+ --z-raised: 1;
168
+ --z-dropdown: 1000;
169
+ --z-sticky: 1100;
170
+ --z-modal: 1300;
171
+ --z-popover: 1400;
172
+ --z-toast: 1500;
173
+ --overlay-bg: rgba(0, 0, 0, 0.5);
174
+ --focus-ring-width: 2px;
175
+ --focus-ring-offset: 2px;
176
+ }
177
+
178
+
179
+ /* ── Section 2: Dark mode overrides ── */
180
+
181
+ /* --- Adaptive: Text (dark) — manual toggle --- */
182
+ .dark .space-theme {
183
+ --text-primary: #e8e8f0;
184
+ --text-secondary: rgba(232, 232, 240, 0.72);
185
+ --text-tertiary: rgba(232, 232, 240, 0.5);
186
+ --text-disabled: #545460;
187
+ --text-inverse: #191924;
188
+ --text-inverse-secondary: #41414d;
189
+ --text-link: #8b9fff;
190
+ --text-link-hover: #e2e9ff;
191
+ --text-success: #22c55e;
192
+ --text-warning: #f59e0b;
193
+ --text-error: #ef4444;
194
+ --text-info: #0ea5e9;
195
+ }
196
+
197
+
198
+ /* --- Adaptive: Surface (dark) — manual toggle --- */
199
+ .dark .space-theme {
200
+ --surface-page: #080810;
201
+ --surface-card: #0e0e18;
202
+ --surface-popover: #0e0e18;
203
+ --surface-subtle: #2d2d38;
204
+ --surface-muted: #41414d;
205
+ --surface-overlay: #080810;
206
+ --surface-interactive-default: #2d2d38;
207
+ --surface-interactive-hover: #41414d;
208
+ --surface-interactive-active: #545460;
209
+ --surface-interactive-disabled: #2d2d38;
210
+ --surface-selected: #1b0b86;
211
+ --surface-accent-subtle: #0e005a;
212
+ --surface-accent-default: #5b6fff;
213
+ --surface-accent-strong: #d8e1ff;
214
+ --surface-success-subtle: #002209;
215
+ --surface-success-default: #22c55e;
216
+ --surface-warning-subtle: #281600;
217
+ --surface-warning-default: #f59e0b;
218
+ --surface-error-subtle: #3a0003;
219
+ --surface-error-default: #ef4444;
220
+ --surface-info-subtle: #001d2e;
221
+ --surface-info-default: #0ea5e9;
222
+ }
223
+
224
+
225
+ /* --- Adaptive: Border (dark) — manual toggle --- */
226
+ .dark .space-theme {
227
+ --border-default: #41414d;
228
+ --border-muted: #2d2d38;
229
+ --border-strong: #545460;
230
+ --border-focus: #5b6fff;
231
+ --border-disabled: #2d2d38;
232
+ --border-success: #22c55e;
233
+ --border-warning: #f59e0b;
234
+ --border-error: #ef4444;
235
+ --border-info: #0ea5e9;
236
+ }
237
+
238
+
239
+ /* --- Adaptive: Interactive (dark) — manual toggle --- */
240
+ .dark .space-theme {
241
+ --interactive-primary-bg: #5b6fff;
242
+ --interactive-primary-bg-hover: #d8e1ff;
243
+ --interactive-primary-bg-active: #e2e9ff;
244
+ --interactive-primary-text: #ffffff;
245
+ --interactive-secondary-bg: #2d2d38;
246
+ --interactive-secondary-bg-hover: #41414d;
247
+ --interactive-secondary-bg-active: #545460;
248
+ --interactive-secondary-text: #f5f5f8;
249
+ --interactive-secondary-border: #545460;
250
+ --interactive-destructive-bg: #ef4444;
251
+ --interactive-destructive-bg-hover: #a30016;
252
+ --interactive-destructive-text: #ffffff;
253
+ --interactive-ghost-bg: #2d2d38;
254
+ --interactive-ghost-bg-hover: #41414d;
255
+ }
256
+
257
+
258
+ /* --- Adaptive: Text (dark) — prefers-color-scheme --- */
259
+ @media (prefers-color-scheme: dark) {
260
+ .space-theme:not(.light) {
261
+ --text-primary: #e8e8f0;
262
+ --text-secondary: rgba(232, 232, 240, 0.72);
263
+ --text-tertiary: rgba(232, 232, 240, 0.5);
264
+ --text-disabled: #545460;
265
+ --text-inverse: #191924;
266
+ --text-inverse-secondary: #41414d;
267
+ --text-link: #8b9fff;
268
+ --text-link-hover: #e2e9ff;
269
+ --text-success: #22c55e;
270
+ --text-warning: #f59e0b;
271
+ --text-error: #ef4444;
272
+ --text-info: #0ea5e9;
273
+ }
274
+ }
275
+
276
+
277
+ /* --- Adaptive: Surface (dark) — prefers-color-scheme --- */
278
+ @media (prefers-color-scheme: dark) {
279
+ .space-theme:not(.light) {
280
+ --surface-page: #080810;
281
+ --surface-card: #0e0e18;
282
+ --surface-popover: #0e0e18;
283
+ --surface-subtle: #2d2d38;
284
+ --surface-muted: #41414d;
285
+ --surface-overlay: #080810;
286
+ --surface-interactive-default: #2d2d38;
287
+ --surface-interactive-hover: #41414d;
288
+ --surface-interactive-active: #545460;
289
+ --surface-interactive-disabled: #2d2d38;
290
+ --surface-selected: #1b0b86;
291
+ --surface-accent-subtle: #0e005a;
292
+ --surface-accent-default: #5b6fff;
293
+ --surface-accent-strong: #d8e1ff;
294
+ --surface-success-subtle: #002209;
295
+ --surface-success-default: #22c55e;
296
+ --surface-warning-subtle: #281600;
297
+ --surface-warning-default: #f59e0b;
298
+ --surface-error-subtle: #3a0003;
299
+ --surface-error-default: #ef4444;
300
+ --surface-info-subtle: #001d2e;
301
+ --surface-info-default: #0ea5e9;
302
+ }
303
+ }
304
+
305
+
306
+ /* --- Adaptive: Border (dark) — prefers-color-scheme --- */
307
+ @media (prefers-color-scheme: dark) {
308
+ .space-theme:not(.light) {
309
+ --border-default: #41414d;
310
+ --border-muted: #2d2d38;
311
+ --border-strong: #545460;
312
+ --border-focus: #5b6fff;
313
+ --border-disabled: #2d2d38;
314
+ --border-success: #22c55e;
315
+ --border-warning: #f59e0b;
316
+ --border-error: #ef4444;
317
+ --border-info: #0ea5e9;
318
+ }
319
+ }
320
+
321
+
322
+ /* --- Adaptive: Interactive (dark) — prefers-color-scheme --- */
323
+ @media (prefers-color-scheme: dark) {
324
+ .space-theme:not(.light) {
325
+ --interactive-primary-bg: #5b6fff;
326
+ --interactive-primary-bg-hover: #d8e1ff;
327
+ --interactive-primary-bg-active: #e2e9ff;
328
+ --interactive-primary-text: #ffffff;
329
+ --interactive-secondary-bg: #2d2d38;
330
+ --interactive-secondary-bg-hover: #41414d;
331
+ --interactive-secondary-bg-active: #545460;
332
+ --interactive-secondary-text: #f5f5f8;
333
+ --interactive-secondary-border: #545460;
334
+ --interactive-destructive-bg: #ef4444;
335
+ --interactive-destructive-bg-hover: #a30016;
336
+ --interactive-destructive-text: #ffffff;
337
+ --interactive-ghost-bg: #2d2d38;
338
+ --interactive-ghost-bg-hover: #41414d;
339
+ }
340
+ }
341
+
342
+
343
+ /* ── Section 3: Light mode overrides ── */
344
+
345
+ /* --- Adaptive: Text (light) --- */
346
+ html:not(.dark) .space-theme {
347
+ --text-primary: #1a1630;
348
+ --text-secondary: rgba(26, 22, 48, 0.72);
349
+ --text-tertiary: rgba(26, 22, 48, 0.65);
350
+ --text-disabled: #e5e6f5;
351
+ --text-inverse: #ffffff;
352
+ --text-inverse-secondary: #ecedf8;
353
+ --text-link: #5b6fff;
354
+ --text-link-hover: #281fb0;
355
+ --text-success: #005120;
356
+ --text-warning: #5e3900;
357
+ --text-error: #81000f;
358
+ --text-info: #004869;
359
+ }
360
+
361
+
362
+ /* --- Adaptive: Surface (light) --- */
363
+ html:not(.dark) .space-theme {
364
+ --surface-page: #e0ddef;
365
+ --surface-card: #f2f0f8;
366
+ --surface-popover: #f2f0f8;
367
+ --surface-subtle: #f5f5f8;
368
+ --surface-muted: #f1f1f8;
369
+ --surface-overlay: #191924;
370
+ --surface-interactive-default: #ffffff;
371
+ --surface-interactive-hover: #f5f5f8;
372
+ --surface-interactive-active: #f1f1f8;
373
+ --surface-interactive-disabled: #f5f5f8;
374
+ --surface-selected: #eef2ff;
375
+ --surface-accent-subtle: #f2f5ff;
376
+ --surface-accent-default: #5b6fff;
377
+ --surface-accent-strong: #353ac8;
378
+ --surface-success-subtle: #e8fbeb;
379
+ --surface-success-default: #22c55e;
380
+ --surface-warning-subtle: #fff3e6;
381
+ --surface-warning-default: #f59e0b;
382
+ --surface-error-subtle: #fff2f0;
383
+ --surface-error-default: #ef4444;
384
+ --surface-info-subtle: #ecf7ff;
385
+ --surface-info-default: #0ea5e9;
386
+ }
387
+
388
+
389
+ /* --- Adaptive: Border (light) --- */
390
+ html:not(.dark) .space-theme {
391
+ --border-default: #ecedf8;
392
+ --border-muted: #f1f1f8;
393
+ --border-strong: #e5e6f5;
394
+ --border-focus: #5b6fff;
395
+ --border-disabled: #f1f1f8;
396
+ --border-success: #22c55e;
397
+ --border-warning: #f59e0b;
398
+ --border-error: #ef4444;
399
+ --border-info: #0ea5e9;
400
+ }
401
+
402
+
403
+ /* --- Adaptive: Interactive (light) --- */
404
+ html:not(.dark) .space-theme {
405
+ --interactive-primary-bg: #5b6fff;
406
+ --interactive-primary-bg-hover: #281fb0;
407
+ --interactive-primary-bg-active: #1b0b86;
408
+ --interactive-primary-text: #ffffff;
409
+ --interactive-secondary-bg: #ffffff;
410
+ --interactive-secondary-bg-hover: #f5f5f8;
411
+ --interactive-secondary-bg-active: #f1f1f8;
412
+ --interactive-secondary-text: #191924;
413
+ --interactive-secondary-border: #e5e6f5;
414
+ --interactive-destructive-bg: #a30016;
415
+ --interactive-destructive-bg-hover: #81000f;
416
+ --interactive-destructive-text: #ffffff;
417
+ --interactive-ghost-bg: #ffffff;
418
+ --interactive-ghost-bg-hover: #f1f1f8;
419
+ }
420
+
421
+
422
+ /* --- Fumadocs bridge: dark --- */
423
+ .dark .space-theme {
424
+ --color-fd-background: #080810;
425
+ --color-fd-foreground: #e8e8f0;
426
+ --color-fd-card: #0e0e18;
427
+ --color-fd-card-foreground: #e8e8f0;
428
+ --color-fd-border: #41414d;
429
+ --color-fd-muted: #41414d;
430
+ --color-fd-muted-foreground: rgba(232, 232, 240, 0.72);
431
+ --color-fd-accent: #5b6fff;
432
+ --color-fd-accent-foreground: #ffffff;
433
+ --color-fd-primary: #5b6fff;
434
+ --color-fd-primary-foreground: #ffffff;
435
+ --color-fd-secondary: #41414d;
436
+ --color-fd-secondary-foreground: #e8e8f0;
437
+ --color-fd-popover: #0e0e18;
438
+ --color-fd-popover-foreground: #e8e8f0;
439
+ --color-fd-ring: #5b6fff;
440
+ }
441
+
442
+
443
+ /* --- Fumadocs bridge: light --- */
444
+ html:not(.dark) .space-theme {
445
+ --color-fd-background: #e0ddef;
446
+ --color-fd-foreground: #1a1630;
447
+ --color-fd-card: #f2f0f8;
448
+ --color-fd-card-foreground: #1a1630;
449
+ --color-fd-border: #ecedf8;
450
+ --color-fd-muted: #f1f1f8;
451
+ --color-fd-muted-foreground: rgba(26, 22, 48, 0.72);
452
+ --color-fd-accent: #5b6fff;
453
+ --color-fd-accent-foreground: #ffffff;
454
+ --color-fd-primary: #5b6fff;
455
+ --color-fd-primary-foreground: #ffffff;
456
+ --color-fd-secondary: #f1f1f8;
457
+ --color-fd-secondary-foreground: #1a1630;
458
+ --color-fd-popover: #f2f0f8;
459
+ --color-fd-popover-foreground: #1a1630;
460
+ --color-fd-ring: #5b6fff;
461
+ }
462
+
package/dist/tokens.css CHANGED
@@ -103,6 +103,15 @@
103
103
  }
104
104
 
105
105
 
106
+ /* --- Primitive: Stroke Widths --- */
107
+ :root {
108
+ --stroke-width-thin: 1px;
109
+ --stroke-width-regular: 1.5px;
110
+ --stroke-width-medium: 2px;
111
+ --stroke-width-thick: 2.5px;
112
+ }
113
+
114
+
106
115
  /* --- Primitive: Font Families --- */
107
116
  :root {
108
117
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
@@ -165,6 +174,19 @@
165
174
  }
166
175
 
167
176
 
177
+ /* --- Primitive: Opacity --- */
178
+ :root {
179
+ --opacity-5: 0.05;
180
+ --opacity-10: 0.1;
181
+ --opacity-12: 0.12;
182
+ --opacity-20: 0.2;
183
+ --opacity-40: 0.4;
184
+ --opacity-50: 0.5;
185
+ --opacity-60: 0.6;
186
+ --opacity-80: 0.8;
187
+ }
188
+
189
+
168
190
  /* --- Primitive: Overlay --- */
169
191
  :root {
170
192
  --overlay-bg: rgba(0, 0, 0, 0.5);
@@ -230,6 +252,7 @@
230
252
  --surface-interactive-hover: var(--color-neutral-50);
231
253
  --surface-interactive-active: var(--color-neutral-100);
232
254
  --surface-interactive-disabled: var(--color-neutral-50);
255
+ --surface-selected: var(--color-primary-100);
233
256
  --surface-accent-subtle: var(--color-primary-50);
234
257
  --surface-accent-default: var(--color-primary-500);
235
258
  --surface-accent-strong: var(--color-primary-600);
@@ -398,6 +421,7 @@
398
421
  --surface-interactive-hover: var(--color-neutral-50);
399
422
  --surface-interactive-active: var(--color-neutral-100);
400
423
  --surface-interactive-disabled: var(--color-neutral-50);
424
+ --surface-selected: var(--color-primary-100);
401
425
  --surface-accent-subtle: var(--color-primary-50);
402
426
  --surface-accent-default: var(--color-primary-500);
403
427
  --surface-accent-strong: var(--color-primary-600);
@@ -523,6 +547,7 @@
523
547
  --surface-interactive-hover: var(--color-neutral-700);
524
548
  --surface-interactive-active: var(--color-neutral-600);
525
549
  --surface-interactive-disabled: var(--color-neutral-800);
550
+ --surface-selected: var(--color-primary-800);
526
551
  --surface-accent-subtle: var(--color-primary-900);
527
552
  --surface-accent-default: var(--color-primary-500);
528
553
  --surface-accent-strong: var(--color-primary-400);
@@ -656,6 +681,7 @@
656
681
  --surface-interactive-hover: var(--color-neutral-700);
657
682
  --surface-interactive-active: var(--color-neutral-600);
658
683
  --surface-interactive-disabled: var(--color-neutral-800);
684
+ --surface-selected: var(--color-primary-800);
659
685
  --surface-accent-subtle: var(--color-primary-900);
660
686
  --surface-accent-default: var(--color-primary-500);
661
687
  --surface-accent-strong: var(--color-primary-400);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loworbitstudio/visor-core",
3
- "version": "0.3.0",
3
+ "version": "0.5.0",
4
4
  "description": "Design tokens for the Visor design system — CSS custom properties for theming.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.css",
@@ -10,8 +10,12 @@
10
10
  "./tokens": "./dist/tokens.css",
11
11
  "./primitives": "./dist/primitives.css",
12
12
  "./semantic": "./dist/semantic.css",
13
- "./themes/light": "./dist/themes/light.css",
13
+ "./themes/blackout": "./dist/themes/blackout.css",
14
14
  "./themes/dark": "./dist/themes/dark.css",
15
+ "./themes/light": "./dist/themes/light.css",
16
+ "./themes/modern-minimal": "./dist/themes/modern-minimal.css",
17
+ "./themes/neutral": "./dist/themes/neutral.css",
18
+ "./themes/space": "./dist/themes/space.css",
15
19
  "./types": "./src/types.ts"
16
20
  },
17
21
  "scripts": {
@@ -43,6 +47,7 @@
43
47
  "access": "public"
44
48
  },
45
49
  "devDependencies": {
50
+ "@loworbitstudio/visor-theme-engine": "^0.4.0",
46
51
  "@types/node": "^22.0.0",
47
52
  "tsx": "^4.19.2",
48
53
  "typescript": "^5.7.2",
package/src/types.ts CHANGED
@@ -153,6 +153,7 @@ export const TOKEN_SURFACE_INTERACTIVE_DEFAULT = "--surface-interactive-default"
153
153
  export const TOKEN_SURFACE_INTERACTIVE_HOVER = "--surface-interactive-hover" as const;
154
154
  export const TOKEN_SURFACE_INTERACTIVE_ACTIVE = "--surface-interactive-active" as const;
155
155
  export const TOKEN_SURFACE_INTERACTIVE_DISABLED = "--surface-interactive-disabled" as const;
156
+ export const TOKEN_SURFACE_SELECTED = "--surface-selected" as const;
156
157
  export const TOKEN_SURFACE_ACCENT_SUBTLE = "--surface-accent-subtle" as const;
157
158
  export const TOKEN_SURFACE_ACCENT_DEFAULT = "--surface-accent-default" as const;
158
159
  export const TOKEN_SURFACE_ACCENT_STRONG = "--surface-accent-strong" as const;
@@ -261,6 +262,7 @@ export type SurfaceToken =
261
262
  | typeof TOKEN_SURFACE_INTERACTIVE_HOVER
262
263
  | typeof TOKEN_SURFACE_INTERACTIVE_ACTIVE
263
264
  | typeof TOKEN_SURFACE_INTERACTIVE_DISABLED
265
+ | typeof TOKEN_SURFACE_SELECTED
264
266
  | typeof TOKEN_SURFACE_ACCENT_SUBTLE
265
267
  | typeof TOKEN_SURFACE_ACCENT_DEFAULT
266
268
  | typeof TOKEN_SURFACE_ACCENT_STRONG