@speakeasy-api/moonshine 1.14.0-alpha.7 → 1.14.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.
Files changed (41) hide show
  1. package/README.md +4 -160
  2. package/dist/components/Breadcrumb/index.d.ts +16 -0
  3. package/dist/components/Command/index.d.ts +1 -1
  4. package/dist/components/Icon/names.d.ts +1 -1
  5. package/dist/components/__beta__/OperationGrouper/index.d.ts +18 -0
  6. package/dist/components/__beta__/SelectionBox/index.d.ts +9 -0
  7. package/dist/components/__beta__/Timeline/index.d.ts +21 -0
  8. package/dist/context/ConfigContext.d.ts +6 -6
  9. package/dist/{createCustomLucideIcon-BMkvafcT.mjs → createCustomLucideIcon-Dte9LNeV.mjs} +3 -3
  10. package/dist/{createCustomLucideIcon-BMkvafcT.mjs.map → createCustomLucideIcon-Dte9LNeV.mjs.map} +1 -1
  11. package/dist/{gems-BNqSEdVE.mjs → gems-CjtLG_8k.mjs} +2 -2
  12. package/dist/{gems-BNqSEdVE.mjs.map → gems-CjtLG_8k.mjs.map} +1 -1
  13. package/dist/{go-B4Xwk9oB.mjs → go-CwiCakFH.mjs} +2 -2
  14. package/dist/{go-B4Xwk9oB.mjs.map → go-CwiCakFH.mjs.map} +1 -1
  15. package/dist/hooks/useTheme.d.ts +3 -2
  16. package/dist/{index-CO54DPUh.mjs → index-CbOQnHJX.mjs} +9276 -9308
  17. package/dist/index-CbOQnHJX.mjs.map +1 -0
  18. package/dist/index.d.ts +8 -2
  19. package/dist/{lucide-icons-BDw0imyx.mjs → lucide-icons-BcEn3U68.mjs} +1535 -1537
  20. package/dist/{lucide-icons-BDw0imyx.mjs.map → lucide-icons-BcEn3U68.mjs.map} +1 -1
  21. package/dist/{maven-TfTSKSne.mjs → maven-BEoiz-Cq.mjs} +2 -2
  22. package/dist/{maven-TfTSKSne.mjs.map → maven-BEoiz-Cq.mjs.map} +1 -1
  23. package/dist/moonshine.es.js +90 -91
  24. package/dist/{npm-fLT4u-jC.mjs → npm-Dx1ctlLU.mjs} +2 -2
  25. package/dist/{npm-fLT4u-jC.mjs.map → npm-Dx1ctlLU.mjs.map} +1 -1
  26. package/dist/{nuget-Cqv6IGD6.mjs → nuget-CQ_PPKdT.mjs} +2 -2
  27. package/dist/{nuget-Cqv6IGD6.mjs.map → nuget-CQ_PPKdT.mjs.map} +1 -1
  28. package/dist/{packagist-DQVpl9ZR.mjs → packagist-Qi5fd7pr.mjs} +2 -2
  29. package/dist/{packagist-DQVpl9ZR.mjs.map → packagist-Qi5fd7pr.mjs.map} +1 -1
  30. package/dist/{pypi-D_vfoHGi.mjs → pypi-BB3raR_x.mjs} +2 -2
  31. package/dist/{pypi-D_vfoHGi.mjs.map → pypi-BB3raR_x.mjs.map} +1 -1
  32. package/dist/style.css +1 -1
  33. package/package.json +3 -13
  34. package/dist/components/ThemeSwitcher/index.d.ts +0 -5
  35. package/dist/context/theme.d.ts +0 -1
  36. package/dist/hooks/useIsMounted.d.ts +0 -1
  37. package/dist/index-CO54DPUh.mjs.map +0 -1
  38. package/src/base.css +0 -940
  39. package/src/global.css +0 -67
  40. package/src/utilities.css +0 -1114
  41. package/types/utilities.d.ts +0 -429
package/src/base.css DELETED
@@ -1,940 +0,0 @@
1
- /*
2
- * Base CSS - Design Tokens and CSS Variables
3
- *
4
- * ⚠️ WARNING: DO NOT IMPORT THIS FILE DIRECTLY IN YOUR PROJECT!
5
- * This file is only exposed for Tailwind's @reference directive to work.
6
- * Use the utility classes from utilities.css instead of these raw tokens.
7
- *
8
- * Structure:
9
- * 1. Primitive Tokens - Raw values (colors, fonts, etc.)
10
- * 2. Semantic/Utility Tokens - Theme-aware variables that map to utilities
11
- * 3. Component Tokens - Higher-level semantic tokens
12
- * 4. Deprecated Tokens - Shadcn compatibility (to be removed)
13
- */
14
-
15
- :root,
16
- :root.light {
17
- /* ============================================
18
- * 1. PRIMITIVE TOKENS
19
- * Raw design values - do not use directly in components
20
- * ============================================ */
21
-
22
- /* Font Families */
23
- --font-diatype: 'Diatype', -apple-system, BlinkMacSystemFont, 'Segoe UI',
24
- Roboto, Helvetica, Arial, sans-serif;
25
- --font-diatype-mono: 'Diatype Mono', SFMono-Regular, Menlo, Monaco, Consolas,
26
- 'Liberation Mono', 'Courier New', monospace;
27
- --font-tobias: 'Tobias', 'Cormorant', Georgia, Cambria, 'Times New Roman',
28
- Times, serif;
29
-
30
- --color-base-white: hsl(0 0% 100%);
31
- --color-base-black: hsl(0 0% 0%);
32
-
33
- /* Neutrals */
34
- --color-neutral-100: hsl(0, 0%, 98%);
35
- --color-neutral-200: hsl(0, 0%, 92%);
36
- --color-neutral-300: hsl(0, 0%, 86%);
37
- --color-neutral-400: hsl(0, 0%, 73%);
38
- --color-neutral-500: hsl(0, 0%, 59%);
39
- --color-neutral-600: hsl(0, 0%, 46%);
40
- --color-neutral-700: hsl(0, 0%, 33%);
41
- --color-neutral-800: hsl(0, 0%, 20%);
42
- --color-neutral-900: hsl(0, 0%, 7%);
43
-
44
- --color-neutral-100-40: hsl(from var(--color-neutral-100) h s l / 40%);
45
- --color-neutral-100-56: hsl(from var(--color-neutral-100) h s l / 56%);
46
- --color-neutral-100-64: hsl(from var(--color-neutral-100) h s l / 64%);
47
-
48
- --color-neutral-200-56: hsl(from var(--color-neutral-200) h s l / 56%);
49
-
50
- --color-neutral-400-40: hsl(from var(--color-neutral-400) h s l / 40%);
51
-
52
- --color-neutral-600-40: hsl(from var(--color-neutral-600) h s l / 40%);
53
-
54
- --color-neutral-800-56: hsl(from var(--color-neutral-800) h s l / 56%);
55
-
56
- --color-neutral-900-40: hsl(from var(--color-neutral-900) h s l / 40%);
57
- --color-neutral-900-56: hsl(from var(--color-neutral-900) h s l / 56%);
58
- --color-neutral-900-64: hsl(from var(--color-neutral-900) h s l / 64%);
59
-
60
- /* Brand red */
61
- --color-brand-red-100: hsl(23, 96%, 62%);
62
- --color-brand-red-200: hsl(19, 84%, 58%);
63
- --color-brand-red-300: hsl(14, 74%, 54%);
64
- --color-brand-red-400: hsl(9, 67%, 51%);
65
- --color-brand-red-500: hsl(4, 67%, 47%);
66
- --color-brand-red-600: hsl(1, 62%, 39%);
67
- --color-brand-red-700: hsl(359, 58%, 31%);
68
- --color-brand-red-800: hsl(352, 57%, 22%);
69
- --color-brand-red-900: hsl(334, 54%, 13%);
70
-
71
- --gradient-brand-red: radial-gradient(
72
- 138.34% 138.34% at 0% 4.4%,
73
- var(--color-destructive-900) 0%,
74
- var(--color-destructive-800) 12.5%,
75
- var(--color-destructive-700) 25%,
76
- var(--color-destructive-600) 37.5%,
77
- var(--color-destructive-500) 50%,
78
- var(--color-destructive-400) 62.5%,
79
- var(--color-destructive-300) 75%,
80
- var(--color-destructive-200) 87.5%,
81
- var(--color-destructive-100) 100%
82
- );
83
-
84
- /* Brand green */
85
- --color-brand-green-100: hsl(68, 52%, 72%);
86
- --color-brand-green-200: hsl(75, 37%, 64%);
87
- --color-brand-green-300: hsl(84, 28%, 56%);
88
- --color-brand-green-400: hsl(95, 23%, 49%);
89
- --color-brand-green-500: hsl(108, 24%, 41%);
90
- --color-brand-green-600: hsl(116, 24%, 34%);
91
- --color-brand-green-700: hsl(128, 30%, 25%);
92
- --color-brand-green-800: hsl(140, 44%, 16%);
93
- --color-brand-green-900: hsl(154, 100%, 7%);
94
-
95
- --gradient-brand-green: radial-gradient(
96
- 137.26% 137.26% at 0% 0%,
97
- var(--color-brand-green-900) 0%,
98
- var(--color-brand-green-800) 12.5%,
99
- var(--color-brand-green-700) 25%,
100
- var(--color-brand-green-600) 37.5%,
101
- var(--color-brand-green-500) 50%,
102
- var(--color-brand-green-400) 62.5%,
103
- var(--color-brand-green-300) 75%,
104
- var(--color-brand-green-200) 87.5%,
105
- var(--color-brand-green-100) 100%
106
- );
107
-
108
- /* Brand blue */
109
- --color-brand-blue-100: hsl(216, 100%, 100%);
110
- --color-brand-blue-200: hsl(215, 86%, 73%);
111
- --color-brand-blue-300: hsl(215, 77%, 65%);
112
- --color-brand-blue-400: hsl(215, 72%, 58%);
113
- --color-brand-blue-500: hsl(214, 69%, 50%);
114
- --color-brand-blue-600: hsl(215, 71%, 40%);
115
- --color-brand-blue-700: hsl(215, 75%, 31%);
116
- --color-brand-blue-800: hsl(217, 82%, 21%);
117
- --color-brand-blue-900: hsl(220, 100%, 12%);
118
-
119
- --gradient-brand-blue: radial-gradient(
120
- 141.42% 141.42% at 0% 0%,
121
- var(--color-brand-blue-900) 0%,
122
- var(--color-brand-blue-800) 12.5%,
123
- var(--color-brand-blue-700) 25%,
124
- var(--color-brand-blue-600) 37.5%,
125
- var(--color-brand-blue-500) 50%,
126
- var(--color-brand-blue-400) 62.5%,
127
- var(--color-brand-blue-300) 75%,
128
- var(--color-brand-blue-200) 87.5%,
129
- var(--color-brand-blue-100) 100%
130
- );
131
-
132
- /* Tech colors */
133
- --color-brand-typescript: hsl(0, 0%, 0%);
134
- --color-brand-go: hsl(220, 100%, 12%);
135
- --color-brand-java: hsl(214, 69%, 50%);
136
- --color-brand-python: hsl(216, 100%, 80%);
137
- --color-brand-c: hsl(154, 100%, 7%);
138
- --color-brand-terraform: hsl(108, 24%, 41%);
139
- --color-brand-unity: hsl(68, 52%, 72%);
140
- --color-brand-php: hsl(334, 54%, 13%);
141
- --color-brand-swift: hsl(4, 67%, 47%);
142
- --color-brand-ruby: hsl(23, 96%, 62%);
143
- --color-brand-postman: hsl(0, 0%, 83%);
144
-
145
- --gradient-brand-primary-colors: var(--color-brand-php) 0%,
146
- var(--color-brand-swift) 12.56%, var(--color-brand-ruby) 25.06%,
147
- var(--color-brand-unity) 37.56%, var(--color-brand-terraform) 50.06%,
148
- var(--color-brand-c) 62.06%, var(--color-brand-go) 74.06%,
149
- var(--color-brand-java) 86.06%, var(--color-brand-python) 97.06%;
150
-
151
- --gradient-brand-primary: linear-gradient(
152
- 90deg,
153
- var(--gradient-brand-primary-colors)
154
- );
155
-
156
- --gradient-brand-primary-y: linear-gradient(
157
- 180deg,
158
- var(--gradient-brand-primary-colors)
159
- );
160
-
161
- /* Feedback colors */
162
-
163
- /* Red */
164
- --color-feedback-red-100: hsl(0, 100%, 97%);
165
- --color-feedback-red-200: hsl(3, 84%, 85%);
166
- --color-feedback-red-300: hsl(3, 78%, 71%);
167
- --color-feedback-red-400: hsl(2, 74%, 58%);
168
- --color-feedback-red-500: hsl(4, 67%, 47%);
169
- --color-feedback-red-600: hsl(2, 65%, 39%);
170
- --color-feedback-red-700: hsl(1, 64%, 32%);
171
- --color-feedback-red-800: hsl(1, 63%, 24%);
172
- --color-feedback-red-900: hsl(0, 62%, 17%);
173
-
174
- --color-feedback-red-400-56: hsl(from var(--color-feedback-red-400) h s l / 56%);
175
- --color-feedback-red-500-56: hsl(from var(--color-feedback-red-500) h s l / 56%);
176
- --color-feedback-red-600-56: hsl(from var(--color-feedback-red-600) h s l / 56%);
177
-
178
-
179
- /* Orange */
180
- --color-feedback-orange-100: hsl(29, 100%, 95%);
181
- --color-feedback-orange-200: hsl(30, 100%, 85%);
182
- --color-feedback-orange-300: hsl(28, 100%, 74%);
183
- --color-feedback-orange-400: hsl(27, 100%, 66%);
184
- --color-feedback-orange-500: hsl(23, 96%, 62%);
185
- --color-feedback-orange-600: hsl(22, 70%, 53%);
186
- --color-feedback-orange-700: hsl(21, 64%, 43%);
187
- --color-feedback-orange-800: hsl(19, 66%, 33%);
188
- --color-feedback-orange-900: hsl(18, 69%, 24%);
189
-
190
- --color-feedback-orange-400-56: hsl(from var(--color-feedback-orange-400) h s l / 56%);
191
- --color-feedback-orange-500-56: hsl(from var(--color-feedback-orange-500) h s l / 56%);
192
-
193
- /* Green */
194
- --color-feedback-green-100: hsl(102, 35%, 93%);
195
- --color-feedback-green-200: hsl(99, 33%, 83%);
196
- --color-feedback-green-300: hsl(99, 30%, 73%);
197
- --color-feedback-green-400: hsl(101, 28%, 62%);
198
- --color-feedback-green-500: hsl(108, 24%, 41%);
199
- --color-feedback-green-600: hsl(107, 24%, 34%);
200
- --color-feedback-green-700: hsl(105, 24%, 27%);
201
- --color-feedback-green-800: hsl(104, 24%, 20%);
202
- --color-feedback-green-900: hsl(105, 24%, 13%);
203
-
204
- --color-feedback-green-400-56: hsl(from var(--color-feedback-green-400) h s l / 56%);
205
- --color-feedback-green-500-56: hsl(from var(--color-feedback-green-500) h s l / 56%);
206
-
207
- /* Blue */
208
- --color-feedback-blue-100: hsl(212, 100%, 95%);
209
- --color-feedback-blue-200: hsl(214, 100%, 86%);
210
- --color-feedback-blue-300: hsl(214, 100%, 77%);
211
- --color-feedback-blue-400: hsl(214, 89%, 67%);
212
- --color-feedback-blue-500: hsl(214, 69%, 50%);
213
- --color-feedback-blue-600: hsl(215, 70%, 41%);
214
- --color-feedback-blue-700: hsl(215, 71%, 32%);
215
- --color-feedback-blue-800: hsl(217, 73%, 23%);
216
- --color-feedback-blue-900: hsl(218, 73%, 15%);
217
-
218
- --color-feedback-blue-400-56: hsl(from var(--color-feedback-blue-400) h s l / 56%);
219
- --color-feedback-blue-500-56: hsl(from var(--color-feedback-blue-500) h s l / 56%);
220
-
221
- /* Violet */
222
- --color-feedback-violet-300: hsl(265, 77%, 65%);
223
- --color-feedback-violet-600: hsl(268, 75%, 31%);
224
-
225
- --color-link-default: var(--color-brand-blue-600);
226
- --color-link-visited-primary: var(--color-feedback-violet-600);
227
- --color-link-secondary: var(--color-base-black);
228
- --color-link-visited-secondary: var(--color-feedback-violet-600);
229
-
230
- /* ============================================
231
- * 2. SEMANTIC/UTILITY TOKENS
232
- * Theme-aware variables that map directly to utility classes
233
- * These change based on light/dark mode
234
- * ============================================ */
235
-
236
- /* Text Colors */
237
- /* TODO: These should use our skimmable colors for headings */
238
- --text-heading-xl: var(--color-neutral-900);
239
- --text-heading-lg: var(--color-neutral-900);
240
- --text-heading-md: var(--color-neutral-900);
241
- --text-heading-sm: var(--color-neutral-800);
242
- --text-heading-xs: var(--color-neutral-800);
243
-
244
- --text-display: var(--color-base-black);
245
-
246
- --text-highlight: var(--color-neutral-900);
247
- --text-default: var(--color-neutral-700);
248
- --text-muted: var(--color-neutral-900-64);
249
- --text-placeholder: var(--color-neutral-900-56);
250
- --text-disabled: var(--color-neutral-900-40);
251
-
252
- /* Fixed dark text */
253
- --text-highlight-fixed-dark: var(--color-base-black);
254
- --text-default-fixed-dark: var(--color-neutral-900);
255
- --text-muted-fixed-dark: var(--color-neutral-900-64);
256
-
257
- /* Fixed light text */
258
- --text-highlight-fixed-light: var(--color-base-white);
259
- --text-default-fixed-light: var(--color-neutral-100);
260
- --text-muted-fixed-light: var(--color-neutral-100-64);
261
-
262
- /* Inverse text */
263
- --text-highlight-inverse: var(--color-base-white);
264
- --text-default-inverse: var(--color-neutral-100);
265
- --text-muted-inverse: var(--color-neutral-100-64);
266
-
267
- --text-link-primary: var(--color-brand-blue-600);
268
- --text-link-secondary: var(--color-base-black);
269
- --text-link-visited: var(--color-feedback-violet-600);
270
-
271
- --text-default-destructive: var(--color-feedback-red-700);
272
- --text-link-destructive: var(--color-feedback-red-900);
273
-
274
- --text-default-information: var(--color-feedback-blue-700);
275
- --text-link-information: var(--color-feedback-blue-900);
276
-
277
- --text-default-success: var(--color-feedback-green-700);
278
- --text-link-success: var(--color-feedback-green-900);
279
-
280
- --text-default-warning: var(--color-feedback-orange-700);
281
- --text-link-warning: var(--color-feedback-orange-900);
282
-
283
-
284
- --text-body: var(--color-neutral-900);
285
- --text-body-muted: var(--color-neutral-400);
286
-
287
- /* Warning State */
288
- --bg-warning: var(--color-feedback-orange-100);
289
- --text-warning: var(--color-feedback-orange-700);
290
- --border-warning: var(--color-feedback-orange-300);
291
-
292
-
293
- /* Link utilities */
294
- --underline-link-primary: var(--color-brand-blue-600);
295
- --underline-link-secondary: var(--color-base-black);
296
- --underline-link-visited: var(--color-feedback-violet-600);
297
-
298
-
299
- /* ============================================
300
- * BORDER TOKENS
301
- * ============================================ */
302
-
303
- /* Border utilities - neutral states */
304
- --border-neutral-active: var(--color-neutral-600);
305
- --border-neutral-hover: var(--color-neutral-500);
306
- --border-neutral-default: var(--color-neutral-400);
307
- --border-neutral-disabled: var(--color-neutral-400-40);
308
- --border-neutral-softest: var(--color-neutral-300);
309
- --border-neutral-inset: var(--color-base-white);
310
- --border-neutral-alpha: hsla(
311
- 0,
312
- 0%,
313
- 0%,
314
- 0.2
315
- ); /* Black with 20% opacity for light mode */
316
-
317
-
318
- /* Border Destructive utilities */
319
- --border-destructive-highlight: var(--color-feedback-red-600);
320
- --border-destructive-default: var(--color-feedback-red-500);
321
- --border-destructive-muted: var(--color-feedback-red-500-56);
322
- --border-destructive-softest: var(--color-feedback-red-300);
323
-
324
- /* Border Information utilities */
325
- --border-information-highlight: var(--color-feedback-blue-600);
326
- --border-information-default: var(--color-feedback-blue-500);
327
- --border-information-muted: var(--color-feedback-blue-500-56);
328
- --border-information-softest: var(--color-feedback-blue-300);
329
-
330
- /* Border Success utilities */
331
- --border-success-highlight: var(--color-feedback-green-600);
332
- --border-success-default: var(--color-feedback-green-500);
333
- --border-success-muted: var(--color-feedback-green-500-56);
334
- --border-success-softest: var(--color-feedback-green-300);
335
-
336
- /* Border Warning utilities */
337
- --border-warning-highlight: var(--color-feedback-orange-600);
338
- --border-warning-default: var(--color-feedback-orange-500);
339
- --border-warning-muted: var(--color-feedback-orange-500-56);
340
- --border-warning-softest: var(--color-feedback-orange-300);
341
-
342
- /* Border Focus utilities */
343
- --border-focus: var(--color-brand-blue-600);
344
-
345
-
346
- /* ============================================
347
- * FILLS
348
- * ============================================ */
349
-
350
- /* Neutrals */
351
- --fill-neutral-highlight: var(--color-base-black);
352
- --fill-neutral-active: var(--color-neutral-900);
353
- --fill-neutral-default: var(--color-neutral-800);
354
- --fill-neutral-muted: var(--color-neutral-800-56);
355
-
356
- /* Fixed dark fill */
357
- --fill-neutral-highlight-fixed-dark: var(--color-base-black);
358
- --fill-neutral-default-fixed-dark: var(--color-neutral-800);
359
- --fill-neutral-muted-fixed-dark: var(--color-neutral-900-56);
360
-
361
- /* Fixed light fill */
362
- --fill-neutral-highlight-fixed-light: var(--color-base-white);
363
- --fill-neutral-default-fixed-light: var(--color-neutral-100);
364
- --fill-neutral-muted-fixed-light: var(--color-neutral-100-56);
365
-
366
- /* Inverse fill */
367
- --fill-neutral-highlight-inverse: var(--color-base-white);
368
- --fill-neutral-default-inverse: var(--color-neutral-100);
369
- --fill-neutral-muted-inverse: var(--color-neutral-100-56);
370
-
371
- /* Links */
372
- --fill-link-primary: var(--color-brand-blue-600);
373
- --fill-link-secondary: var(--color-base-black);
374
- --fill-link-visited: var(--color-feedback-violet-600);
375
-
376
- /* Destructive */
377
- --fill-destructive-highlight: var(--color-feedback-red-600);
378
- --fill-destructive-default: var(--color-feedback-red-500);
379
- --fill-destructive-muted: var(--color-feedback-red-600-56);
380
-
381
- /* Information */
382
- --fill-information-highlight: var(--color-feedback-blue-600);
383
- --fill-information-default: var(--color-feedback-blue-500);
384
- --fill-information-muted: var(--color-feedback-blue-500-56);
385
-
386
- /* Success */
387
- --fill-success-highlight: var(--color-feedback-green-600);
388
- --fill-success-default: var(--color-feedback-green-500);
389
- --fill-success-muted: var(--color-feedback-green-500-56);
390
-
391
- /* Warning */
392
- --fill-warning-highlight: var(--color-feedback-orange-600);
393
- --fill-warning-default: var(--color-feedback-orange-500);
394
- --fill-warning-muted: var(--color-feedback-orange-500-56);
395
-
396
- /* ============================================
397
- * Strokes
398
- * ============================================ */
399
-
400
- /* Neutrals */
401
- --stroke-neutral-highlight: var(--color-base-black);
402
- --stroke-neutral-active: var(--color-neutral-900);
403
- --stroke-neutral-default: var(--color-neutral-800);
404
- --stroke-neutral-muted: var(--color-neutral-800-56);
405
-
406
- /* Fixed dark stroke */
407
- --stroke-neutral-highlight-fixed-dark: var(--color-base-black);
408
- --stroke-neutral-default-fixed-dark: var(--color-neutral-800);
409
- --stroke-neutral-muted-fixed-dark: var(--color-neutral-900-56);
410
-
411
- /* Fixed light stroke */
412
- --stroke-neutral-highlight-fixed-light: var(--color-base-white);
413
- --stroke-neutral-default-fixed-light: var(--color-neutral-100);
414
- --stroke-neutral-muted-fixed-light: var(--color-neutral-100-56);
415
-
416
- /* Inverse stroke */
417
- --stroke-neutral-highlight-inverse: var(--color-base-white);
418
- --stroke-neutral-default-inverse: var(--color-neutral-100);
419
- --stroke-neutral-muted-inverse: var(--color-neutral-100-56);
420
-
421
- /* Links */
422
- --stroke-link-primary: var(--color-brand-blue-600);
423
- --stroke-link-secondary: var(--color-base-black);
424
- --stroke-link-visited: var(--color-feedback-violet-600);
425
-
426
- /* Destructive */
427
- --stroke-destructive-highlight: var(--color-feedback-red-600);
428
- --stroke-destructive-default: var(--color-feedback-red-500);
429
- --stroke-destructive-muted: var(--color-feedback-red-600-56);
430
-
431
- /* Information */
432
- --stroke-information-highlight: var(--color-feedback-blue-600);
433
- --stroke-information-default: var(--color-feedback-blue-500);
434
- --stroke-information-muted: var(--color-feedback-blue-500-56);
435
-
436
- /* Success */
437
- --stroke-success-highlight: var(--color-feedback-green-600);
438
- --stroke-success-default: var(--color-feedback-green-500);
439
- --stroke-success-muted: var(--color-feedback-green-500-56);
440
-
441
- /* Warning */
442
- --stroke-warning-highlight: var(--color-feedback-orange-600);
443
- --stroke-warning-default: var(--color-feedback-orange-500);
444
- --stroke-warning-muted: var(--color-feedback-orange-500-56);
445
-
446
- /* ============================================
447
- * BACKGROUNDS
448
- * ============================================ */
449
- --bg-surface-primary-default: var(--color-base-white);
450
- --bg-surface-secondary-default: var(--color-neutral-100);
451
- --bg-surface-tertiary-default: var(--color-neutral-200);
452
- --bg-surface-primary-inverse: var(--color-base-black);
453
- --bg-surface-secondary-inverse: var(--color-neutral-900);
454
- --bg-surface-tertiary-inverse: var(--color-neutral-800);
455
-
456
- /* State */
457
- --bg-highlight: var(--color-neutral-300);
458
- --bg-active: var(--color-neutral-200);
459
- --bg-default: var(--color-neutral-100);
460
- --bg-muted: var(--color-neutral-100-56);
461
- --bg-inset: var(--color-base-white);
462
-
463
- /* Light background in dark mode */
464
- --bg-surface-primary-fixed-light: var(--color-base-white);
465
- --bg-surface-secondary-fixed-light: var(--color-neutral-100);
466
- --bg-surface-tertiary-fixed-light: var(--color-neutral-200);
467
-
468
- /* Dark background in light mode */
469
- --bg-surface-primary-fixed-dark: var(--color-base-black);
470
- --bg-surface-secondary-fixed-dark: var(--color-neutral-900);
471
- --bg-surface-tertiary-fixed-dark: var(--color-neutral-800);
472
-
473
- /* Destructive */
474
- --bg-destructive-highlight: var(--color-feedback-red-600);
475
- --bg-destructive-default: var(--color-feedback-red-500);
476
- --bg-destructive-muted: var(--color-feedback-red-500-56);
477
- --bg-destructive-softest: var(--color-feedback-red-100);
478
-
479
- /* Information */
480
- --bg-information-highlight: var(--color-feedback-blue-600);
481
- --bg-information-default: var(--color-feedback-blue-500);
482
- --bg-information-muted: var(--color-feedback-blue-500-56);
483
- --bg-information-softest: var(--color-feedback-blue-100);
484
-
485
- /* Success */
486
- --bg-success-highlight: var(--color-feedback-green-600);
487
- --bg-success-default: var(--color-feedback-green-500);
488
- --bg-success-muted: var(--color-feedback-green-500-56);
489
- --bg-success-softest: var(--color-feedback-green-100);
490
-
491
- /* Warning */
492
- --bg-warning-highlight: var(--color-feedback-orange-600);
493
- --bg-warning-default: var(--color-feedback-orange-500);
494
- --bg-warning-muted: var(--color-feedback-orange-500-56);
495
- --bg-warning-softest: var(--color-feedback-orange-100);
496
-
497
-
498
-
499
-
500
- /* ============================================
501
- * 3. COMPONENT TOKENS
502
- * Higher-level semantic tokens for specific use cases
503
- * ============================================ */
504
-
505
- /* Border Radius */
506
- --radius: 0.625rem;
507
- /* ============================================
508
- * 4. DEPRECATED TOKENS - SHADCN COMPATIBILITY
509
- * These will be removed in future versions
510
- * DO NOT use in new code
511
- * ============================================ */
512
-
513
- --background-pure: var(--color-base-white);
514
- --background: var(--color-neutral-100);
515
- --foreground: var(--color-neutral-900);
516
- --card: var(--color-base-white);
517
- --card-foreground: var(--color-neutral-900);
518
- --popover: var(--color-base-white);
519
- --popover-foreground: var(--color-neutral-900);
520
- --primary: var(--color-base-black);
521
- --primary-foreground: var(--color-base-white);
522
- --secondary: var(--color-neutral-100);
523
- --secondary-foreground: var(--color-neutral-900);
524
- --muted: var(--color-neutral-200);
525
- --muted-foreground: var(--color-neutral-900-64);
526
- --accent: var(--color-neutral-200);
527
- --accent-foreground: var(--color-neutral-900);
528
- --destructive: var(
529
- --color-feedback-red-700
530
- ); /* Note: conflicts with semantic token above */
531
- --border: var(--color-neutral-300);
532
- --input: var(--color-neutral-400);
533
- --ring: var(--color-brand-blue-600);
534
- --chart-1: var(--color-brand-red-600);
535
- --chart-2: var(--color-brand-green-600);
536
- --chart-3: var(--color-brand-red-600);
537
- --chart-4: var(--color-brand-blue-600);
538
- --chart-5: var(--color-brand-green-600);
539
- --sidebar: var(--color-neutral-100);
540
- --sidebar-foreground: var(--color-neutral-900);
541
- --sidebar-primary: var(--color-base-black);
542
- --sidebar-primary-foreground: var(--color-neutral-300);
543
- --sidebar-accent: var(--color-neutral-300);
544
- --sidebar-accent-foreground: var(--color-neutral-900);
545
- --sidebar-border: var(--color-neutral-300);
546
- --sidebar-ring: var(--color-brand-blue-600);
547
-
548
- /* Feedback States */
549
- --success: var(--color-feedback-green-100);
550
- --success-foreground: var(--color-feedback-green-700);
551
- --warning: var(--color-feedback-orange-100);
552
- --warning-foreground: var(--color-feedback-orange-700);
553
- --info: var(--color-info-100);
554
- --info-foreground: var(--color-info-700);
555
- /* This is a dupe of a shadcn token, may need to rename*/
556
- --destructive: var(--color-feedback-red-700);
557
- --destructive-foreground: var(--color-feedback-red-100);
558
- --feature: var(--color-info-100);
559
- --feature-foreground: var(--color-info-700);
560
-
561
- /* UI Elements */
562
- --shadow: hsl(0 0% 50%);
563
-
564
- /* Custom Scrollbar */
565
- --sb-size: 0.5rem;
566
- --sb-track-color: var(--color-background);
567
- --sb-thumb-color: var(--color-background);
568
- --sb-track-border: var(--color-neutral-300);
569
-
570
- /* Score Colors */
571
- --score-low: var(--color-destructive-500);
572
- --score-mid: var(--color-feedback-orange-500);
573
- --score-high: var(--color-feedback-green-500);
574
- --score-track: var(--color-neutral-700);
575
-
576
- /* Animation Easing Functions */
577
- --ease-in-quad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
578
- --ease-in-cubic: cubic-bezier(0.55, 0.055, 0.675, 0.19);
579
- --ease-in-quart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
580
- --ease-in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
581
- --ease-in-expo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
582
- --ease-in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.335);
583
-
584
- --ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
585
- --ease-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1);
586
- --ease-out-quart: cubic-bezier(0.165, 0.84, 0.44, 1);
587
- --ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1);
588
- --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
589
- --ease-out-circ: cubic-bezier(0.075, 0.82, 0.165, 1);
590
-
591
- --ease-in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
592
- --ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1);
593
- --ease-in-out-quart: cubic-bezier(0.77, 0, 0.175, 1);
594
- --ease-in-out-quint: cubic-bezier(0.86, 0, 0.07, 1);
595
- --ease-in-out-expo: cubic-bezier(1, 0, 0, 1);
596
- --ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.15, 0.86);
597
- }
598
-
599
- /* ============================================
600
- * BASE ELEMENT STYLES
601
- * Default styles for HTML elements
602
- * ============================================ */
603
-
604
- /*
605
- * Tailwind v4 Compatibility Layer
606
- * The default border color has changed to `currentColor` in Tailwind CSS v4.
607
- * These styles maintain v3 behavior until we can audit all border usage.
608
- */
609
- @layer base {
610
- *,
611
- ::after,
612
- ::before,
613
- ::backdrop,
614
- ::file-selector-button {
615
- @apply border-neutral-softest;
616
- }
617
-
618
- button:not(:disabled),
619
- [role='button']:not(:disabled) {
620
- cursor: pointer;
621
- }
622
-
623
- body {
624
- @apply bg-surface-primary-default text-default;
625
- }
626
- }
627
-
628
- :root.dark {
629
- /* ============================================
630
- * DARK MODE OVERRIDES
631
- * Only define values that change in dark mode
632
- * ============================================ */
633
-
634
- --color-link-default: var(--color-brand-blue-300);
635
- --color-link-visited-primary: var(--color-feedback-violet-300);
636
- --color-link-secondary: var(--color-base-white);
637
- --color-link-visited-secondary: var(--color-feedback-violet-300);
638
-
639
- /* ============================================
640
- * 2. SEMANTIC/UTILITY TOKENS (Dark Mode)
641
- * ============================================ */
642
-
643
- /* Text Colors */
644
- --text-heading-xl: var(--color-neutral-100);
645
- --text-heading-lg: var(--color-neutral-100);
646
- --text-heading-md: var(--color-neutral-100);
647
- --text-heading-sm: var(--color-neutral-200);
648
- --text-heading-xs: var(--color-neutral-200);
649
-
650
- --text-display: var(--color-base-white);
651
-
652
- --text-highlight: var(--color-neutral-100);
653
- --text-default: var(--color-neutral-300);
654
- --text-muted: var(--color-neutral-100-64);
655
- --text-placeholder: var(--color-neutral-100-56);
656
- --text-disabled: var(--color-neutral-100-40);
657
-
658
- /* Inverse text */
659
- --text-highlight-inverse: var(--color-base-black);
660
- --text-default-inverse: var(--color-neutral-900);
661
- --text-muted-inverse: var(--color-neutral-900-64);
662
-
663
- --text-link-primary: var(--color-brand-blue-300);
664
- --text-link-secondary: var(--color-base-white);
665
- --text-link-visited: var(--color-feedback-violet-300);
666
-
667
- --text-default-destructive: var(--color-feedback-red-300);
668
- --text-link-destructive: var(--color-feedback-red-100);
669
-
670
- --text-default-information: var(--color-feedback-blue-300);
671
- --text-link-information: var(--color-feedback-blue-100);
672
-
673
- --text-default-success: var(--color-feedback-green-300);
674
- --text-link-success: var(--color-feedback-green-100);
675
-
676
- --text-default-warning: var(--color-feedback-orange-300);
677
- --text-link-warning: var(--color-feedback-orange-100);
678
-
679
- --text-body: var(--color-neutral-200);
680
- --text-body-muted: var(--color-neutral-600);
681
-
682
- /* Warning State */
683
- --bg-warning: var(--color-feedback-orange-900);
684
- --text-warning: var(--color-feedback-orange-300);
685
- --border-warning: var(--color-feedback-orange-700);
686
-
687
- /* Link utilities (dark mode) */
688
- --underline-link-primary: var(--color-brand-blue-300);
689
- --underline-link-secondary: var(--color-base-white);
690
- --underline-link-visited: var(--color-feedback-violet-300);
691
-
692
- /* ============================================
693
- * BORDER TOKENS
694
- * ============================================ */
695
-
696
- /* Border utilities - neutral states (dark mode) */
697
- --border-neutral-active: var(--color-neutral-400);
698
- --border-neutral-hover: var(--color-neutral-500);
699
- --border-neutral-default: var(--color-neutral-600);
700
- --border-neutral-disabled: var(--color-neutral-600-40);
701
- --border-neutral-softest: var(--color-neutral-700);
702
- --border-neutral-inset: var(--color-base-black);
703
- --border-neutral-alpha: hsla(
704
- 255,
705
- 255%,
706
- 255%,
707
- 0.2
708
- ); /* White with 20% opacity */
709
-
710
- /* Border destructive utilities */
711
- --border-destructive-highlight: var(--color-feedback-red-400);
712
- --border-destructive-default: var(--color-feedback-red-500);
713
- --border-destructive-muted: var(--color-feedback-red-500-56);
714
- --border-destructive-softest: var(--color-feedback-red-700);
715
-
716
- /* Border Information utilities */
717
- --border-information-highlight: var(--color-feedback-blue-400);
718
- --border-information-default: var(--color-feedback-blue-500);
719
- --border-information-muted: var(--color-feedback-blue-500-56);
720
- --border-information-softest: var(--color-feedback-blue-700);
721
-
722
- /* Border Success utilities */
723
- --border-success-highlight: var(--color-feedback-green-400);
724
- --border-success-default: var(--color-feedback-green-500);
725
- --border-success-muted: var(--color-feedback-green-500-56);
726
- --border-success-softest: var(--color-feedback-green-700);
727
-
728
- /* Border Warning utilities */
729
- --border-warning-highlight: var(--color-feedback-orange-400);
730
- --border-warning-default: var(--color-feedback-orange-500);
731
- --border-warning-muted: var(--color-feedback-orange-500-56);
732
- --border-warning-softest: var(--color-feedback-orange-700);
733
-
734
- /* Border Focus utilities */
735
- --border-focus: var(--color-brand-blue-300);
736
-
737
-
738
- /* ============================================
739
- * FILLS
740
- * ============================================ */
741
-
742
- /* Neutrals */
743
- --fill-neutral-highlight: var(--color-base-white);
744
- --fill-neutral-active: var(--color-neutral-100);
745
- --fill-neutral-default: var(--color-neutral-200);
746
- --fill-neutral-muted: var(--color-neutral-200-56);
747
-
748
- /* Fixed dark fill */
749
-
750
- /* Fixed light fill */
751
-
752
- /* Inverse fill */
753
- --fill-neutral-highlight-inverse: var(--color-base-black);
754
- --fill-neutral-default-inverse: var(--color-neutral-900);
755
- --fill-neutral-muted-inverse: var(--color-neutral-900-56);
756
-
757
- /* Links */
758
- --fill-link-primary: var(--color-brand-blue-300);
759
- --fill-link-secondary: var(--color-base-white);
760
- --fill-link-visited: var(--color-feedback-violet-300);
761
-
762
- /* Destructive */
763
- --fill-destructive-highlight: var(--color-feedback-red-300);
764
- --fill-destructive-default: var(--color-feedback-red-400);
765
- --fill-destructive-muted: var(--color-feedback-red-400-56);
766
-
767
- /* Information */
768
- --fill-information-highlight: var(--color-feedback-blue-300);
769
- --fill-information-default: var(--color-feedback-blue-400);
770
- --fill-information-muted: var(--color-feedback-blue-400-56);
771
-
772
- /* Success */
773
- --fill-success-highlight: var(--color-feedback-green-300);
774
- --fill-success-default: var(--color-feedback-green-400);
775
- --fill-success-muted: var(--color-feedback-green-400-56);
776
-
777
- /* Warning */
778
- --fill-warning-highlight: var(--color-feedback-orange-300);
779
- --fill-warning-default: var(--color-feedback-orange-400);
780
- --fill-warning-muted: var(--color-feedback-orange-400-56);
781
-
782
- /* ============================================
783
- * Strokes
784
- * ============================================ */
785
-
786
- /* Neutrals */
787
- --stroke-neutral-highlight: var(--color-base-white);
788
- --stroke-neutral-active: var(--color-neutral-100);
789
- --stroke-neutral-default: var(--color-neutral-200);
790
- --stroke-neutral-muted: var(--color-neutral-200-56);
791
-
792
- /* Fixed dark stroke*/
793
-
794
- /* Fixed light stroke */
795
-
796
- /* Inverse stroke */
797
- --stroke-neutral-highlight-inverse: var(--color-base-black);
798
- --stroke-neutral-default-inverse: var(--color-neutral-900);
799
- --stroke-neutral-muted-inverse: var(--color-neutral-900-56);
800
-
801
- /* Links */
802
- --stroke-link-primary: var(--color-brand-blue-300);
803
- --stroke-link-secondary: var(--color-base-white);
804
- --stroke-link-visited: var(--color-feedback-violet-300);
805
-
806
- /* Destructive */
807
- --stroke-destructive-highlight: var(--color-feedback-red-300);
808
- --stroke-destructive-default: var(--color-feedback-red-400);
809
- --stroke-destructive-muted: var(--color-feedback-red-400-56);
810
-
811
- /* Information */
812
- --stroke-information-highlight: var(--color-feedback-blue-300);
813
- --stroke-information-default: var(--color-feedback-blue-400);
814
- --stroke-information-muted: var(--color-feedback-blue-400-56);
815
-
816
- /* Success */
817
- --stroke-success-highlight: var(--color-feedback-green-300);
818
- --stroke-success-default: var(--color-feedback-green-400);
819
- --stroke-success-muted: var(--color-feedback-green-400-56);
820
-
821
- /* Warning */
822
- --stroke-warning-highlight: var(--color-feedback-orange-300);
823
- --stroke-warning-default: var(--color-feedback-orange-400);
824
- --stroke-warning-muted: var(--color-feedback-orange-400-56);
825
-
826
- /* ============================================
827
- * BACKGROUNDS
828
- * ============================================ */
829
- --bg-surface-primary-default: var(--color-base-black);
830
- --bg-surface-secondary-default: var(--color-neutral-900);
831
- --bg-surface-tertiary-default: var(--color-neutral-800);
832
- --bg-surface-primary-inverse: var(--color-base-white);
833
- --bg-surface-secondary-inverse: var(--color-neutral-100);
834
- --bg-surface-tertiary-inverse: var(--color-neutral-200);
835
-
836
- /* State */
837
- --bg-highlight: var(--color-neutral-700);
838
- --bg-active: var(--color-neutral-800);
839
- --bg-default: var(--color-neutral-900);
840
- --bg-muted: var(--color-neutral-900-56);
841
- --bg-inset: var(--color-base-black);
842
-
843
- /* Light background in dark mode */
844
-
845
- /* Dark background in light mode */
846
-
847
- /* Destructive */
848
- --bg-destructive-highlight: var(--color-feedback-red-400);
849
- --bg-destructive-default: var(--color-feedback-red-500);
850
- --bg-destructive-muted: var(--color-feedback-red-500-56);
851
- --bg-destructive-softest: var(--color-feedback-red-900);
852
-
853
- /* Information */
854
- --bg-information-highlight: var(--color-feedback-blue-400);
855
- --bg-information-default: var(--color-feedback-blue-500);
856
- --bg-information-muted: var(--color-feedback-blue-500-56);
857
- --bg-information-softest: var(--color-feedback-blue-900);
858
-
859
- /* Success */
860
- --bg-success-highlight: var(--color-feedback-green-400);
861
- --bg-success-default: var(--color-feedback-green-500);
862
- --bg-success-muted: var(--color-feedback-green-500-56);
863
- --bg-success-softest: var(--color-feedback-green-900);
864
-
865
- /* Warning */
866
- --bg-warning-highlight: var(--color-feedback-orange-400);
867
- --bg-warning-default: var(--color-feedback-orange-500);
868
- --bg-warning-muted: var(--color-feedback-orange-500-56);
869
- --bg-warning-softest: var(--color-feedback-orange-900);
870
-
871
-
872
- /* ============================================
873
- * 3. COMPONENT TOKENS (Dark Mode)
874
- * ============================================ */
875
-
876
- /* Feedback States */
877
- --success: var(--color-feedback-green-500);
878
- --success-foreground: var(--color-feedback-green-100);
879
- --warning: var(--color-feedback-orange-500);
880
- --warning-foreground: var(--color-feedback-orange-100);
881
- --info: var(--color-info-500);
882
- --info-foreground: var(--color-info-100);
883
- --destructive: var(--color-feedback-red-500);
884
- --destructive-foreground: var(--color-feedback-red-100);
885
- --feature: var(--color-info-500);
886
- --feature-foreground: var(--color-info-100);
887
-
888
- /* Score Colors */
889
- --score-low: hsl(350 89% 60%);
890
- --score-mid: hsl(38 92% 50%);
891
- --score-high: hsl(160 84% 39%);
892
- --score-track: hsl(48 4% 28%);
893
-
894
- /* Custom Scrollbar */
895
- --sb-track-color: var(--color-neutral-800);
896
- --sb-thumb-color: var(--color-neutral-900);
897
- --sb-track-border: var(--color-neutral-800);
898
-
899
- /* Misc */
900
- --header-border: 0 0% 14.9%;
901
-
902
- /* ============================================
903
- * 4. DEPRECATED TOKENS - SHADCN (Dark Mode)
904
- * ============================================ */
905
-
906
- --background-pure: var(--color-base-black);
907
- --background: var(--color-base-black);
908
- --foreground: var(--color-neutral-300);
909
- --card: var(--color-neutral-900);
910
- --card-foreground: var(--color-neutral-300);
911
- --popover: var(--color-base-black);
912
- --popover-foreground: var(--color-neutral-100);
913
- --primary: var(--color-base-white);
914
- --primary-foreground: var(--color-base-black);
915
- --secondary: var(--color-neutral-900);
916
- --secondary-foreground: var(--color-neutral-300);
917
- --muted: var(--color-neutral-900);
918
- --muted-foreground: var(--color-neutral-100-64);
919
- --accent: var(--color-neutral-800);
920
- --accent-foreground: var(--color-base-white);
921
- --destructive: var(
922
- --color-feedback-red-500
923
- ); /* Note: conflicts with semantic token above */
924
- --border: var(--color-neutral-700);
925
- --input: var(--color-neutral-700);
926
- --ring: var(--color-brand-blue-600);
927
- --chart-1: var(--color-brand-red-600);
928
- --chart-2: var(--color-brand-green-600);
929
- --chart-3: var(--color-brand-red-600);
930
- --chart-4: var(--color-brand-blue-600);
931
- --chart-5: var(--color-brand-green-600);
932
- --sidebar: var(--color-neutral-900);
933
- --sidebar-foreground: var(--color-base-white);
934
- --sidebar-primary: var(--color-brand-red-600);
935
- --sidebar-primary-foreground: var(--color-neutral-300);
936
- --sidebar-accent: var(--color-neutral-700);
937
- --sidebar-accent-foreground: var(--color-base-white);
938
- --sidebar-border: var(--color-neutral-700);
939
- --sidebar-ring: var(--color-brand-blue-600);
940
- }