@titan-design/react-ui 0.4.0 → 0.6.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 (150) hide show
  1. package/dist/MesoStatusCard-CQk71hSi.d.mts +77 -0
  2. package/dist/MesoStatusCard-CQk71hSi.d.ts +77 -0
  3. package/dist/bodymap.d.mts +246 -3
  4. package/dist/bodymap.d.ts +246 -3
  5. package/dist/bodymap.js +232 -185
  6. package/dist/bodymap.js.map +1 -1
  7. package/dist/bodymap.mjs +1963 -11
  8. package/dist/bodymap.mjs.map +1 -1
  9. package/dist/index.d.mts +193 -744
  10. package/dist/index.d.ts +193 -744
  11. package/dist/index.js +1551 -1856
  12. package/dist/index.js.map +1 -1
  13. package/dist/index.mjs +10770 -8213
  14. package/dist/index.mjs.map +1 -1
  15. package/dist/pages-D7Jlssvp.d.ts +791 -0
  16. package/dist/pages-MO0JCySL.d.mts +791 -0
  17. package/dist/pages.d.mts +4 -0
  18. package/dist/pages.d.ts +4 -0
  19. package/dist/pages.js +6694 -0
  20. package/dist/pages.js.map +1 -0
  21. package/dist/pages.mjs +6674 -0
  22. package/dist/pages.mjs.map +1 -0
  23. package/dist/theme/index.d.mts +473 -211
  24. package/dist/theme/index.d.ts +473 -211
  25. package/dist/theme/index.js +341 -127
  26. package/dist/theme/index.js.map +1 -1
  27. package/dist/theme/index.mjs +2085 -2
  28. package/dist/theme/index.mjs.map +1 -1
  29. package/dist/theme/tokens-css.js +148 -139
  30. package/dist/theme/tokens-css.js.map +1 -1
  31. package/dist/theme/tokens-css.mjs +582 -1
  32. package/dist/theme/tokens-css.mjs.map +1 -1
  33. package/package.json +11 -7
  34. package/src/components/custom/DateTime/DateTime.stories.tsx +82 -6
  35. package/src/components/custom/DateTime/DateTime.test.tsx +29 -3
  36. package/src/components/custom/DateTime/DateTime.tsx +55 -15
  37. package/src/components/custom/Gauge/Gauge.test.tsx +2 -2
  38. package/src/components/custom/Gauge/Gauge.tsx +6 -3
  39. package/src/components/custom/Scatter/Scatter.tsx +3 -5
  40. package/src/components/custom/Treemap/Treemap.tsx +3 -5
  41. package/src/components/custom/Typography/Typography.stories.tsx +45 -27
  42. package/src/components/custom/Typography/Typography.test.tsx +13 -3
  43. package/src/components/custom/Typography/Typography.tsx +5 -0
  44. package/src/components/custom/Workout/ActiveWorkoutPage.tsx +2 -1
  45. package/src/components/custom/Workout/BaseBadge.stories.tsx +3 -3
  46. package/src/components/custom/Workout/BaseBadge.test.tsx +1 -1
  47. package/src/components/custom/Workout/BaseBadge.tsx +1 -1
  48. package/src/components/custom/Workout/BodyMap.tsx +6 -3
  49. package/src/components/custom/Workout/BodyMapDetailPanel.tsx +6 -3
  50. package/src/components/custom/Workout/CapacityBandChart.test.tsx +2 -2
  51. package/src/components/custom/Workout/CapacityBandChart.tsx +9 -6
  52. package/src/components/custom/Workout/DeviationBar.test.tsx +1 -1
  53. package/src/components/custom/Workout/DeviationBar.tsx +7 -4
  54. package/src/components/custom/Workout/ExerciseCard.tsx +5 -1
  55. package/src/components/custom/Workout/ExerciseDetailPage.tsx +19 -5
  56. package/src/components/custom/Workout/InputBar.tsx +2 -1
  57. package/src/components/custom/Workout/IntensityBar.test.tsx +112 -60
  58. package/src/components/custom/Workout/IntensityBar.tsx +113 -58
  59. package/src/components/custom/Workout/MesoCard.tsx +8 -3
  60. package/src/components/custom/Workout/MesoProgressBar.test.tsx +1 -1
  61. package/src/components/custom/Workout/MesoProgressBar.tsx +3 -2
  62. package/src/components/custom/Workout/MesoStatusCard.tsx +20 -13
  63. package/src/components/custom/Workout/MuscleGroupChip.tsx +7 -4
  64. package/src/components/custom/Workout/PlaceholderStrip.tsx +5 -9
  65. package/src/components/custom/Workout/PrBadge.tsx +7 -4
  66. package/src/components/custom/Workout/PrHistoryModal.tsx +6 -5
  67. package/src/components/custom/Workout/ProgramPlanningPage.tsx +2 -1
  68. package/src/components/custom/Workout/README.md +50 -0
  69. package/src/components/custom/Workout/ReadinessCheck.tsx +7 -4
  70. package/src/components/custom/Workout/RestTimer.test.tsx +41 -10
  71. package/src/components/custom/Workout/RestTimer.tsx +50 -44
  72. package/src/components/custom/Workout/SetRow.tsx +12 -2
  73. package/src/components/custom/Workout/Sparkline.tsx +2 -1
  74. package/src/components/custom/Workout/StatusDot.test.tsx +2 -2
  75. package/src/components/custom/Workout/StatusDot.tsx +12 -9
  76. package/src/components/custom/Workout/StrengthTrendChart.tsx +9 -6
  77. package/src/components/custom/Workout/SupersetWrapper.tsx +2 -1
  78. package/src/components/custom/Workout/TempoDisplay.stories.tsx +69 -2
  79. package/src/components/custom/Workout/TempoDisplay.test.tsx +35 -0
  80. package/src/components/custom/Workout/TempoDisplay.tsx +109 -3
  81. package/src/components/custom/Workout/VelocityStrip.test.tsx +89 -2
  82. package/src/components/custom/Workout/VelocityStrip.tsx +203 -38
  83. package/src/components/custom/Workout/WeekRow.test.tsx +2 -2
  84. package/src/components/custom/Workout/WeekRow.tsx +3 -2
  85. package/src/components/custom/Workout/WeightBadge.test.tsx +2 -2
  86. package/src/components/custom/Workout/WeightBadge.tsx +8 -4
  87. package/src/components/custom/Workout/WorkoutCard.tsx +5 -2
  88. package/src/components/custom/Workout/WorkoutPill.tsx +12 -8
  89. package/src/components/custom/Workout/icons.tsx +7 -0
  90. package/src/components/custom/Workout/index.ts +38 -47
  91. package/src/components/icons/SvgIcon.tsx +50 -0
  92. package/src/components/icons/icons.stories.tsx +57 -0
  93. package/src/components/icons/icons.test.tsx +43 -0
  94. package/src/components/icons/icons.tsx +45 -0
  95. package/src/components/icons/index.ts +4 -0
  96. package/src/components/index.ts +6 -0
  97. package/src/components/shell/BrandLockup.stories.tsx +27 -0
  98. package/src/components/shell/BrandLockup.test.tsx +23 -0
  99. package/src/components/shell/BrandLockup.tsx +47 -0
  100. package/src/components/shell/DeviceIndicator.stories.tsx +28 -0
  101. package/src/components/shell/DeviceIndicator.test.tsx +26 -0
  102. package/src/components/shell/DeviceIndicator.tsx +52 -0
  103. package/src/components/shell/DeviceMenu.stories.tsx +47 -0
  104. package/src/components/shell/DeviceMenu.test.tsx +40 -0
  105. package/src/components/shell/DeviceMenu.tsx +65 -0
  106. package/src/components/shell/DeviceRow.stories.tsx +38 -0
  107. package/src/components/shell/DeviceRow.test.tsx +37 -0
  108. package/src/components/shell/DeviceRow.tsx +58 -0
  109. package/src/components/shell/README.md +86 -0
  110. package/src/components/shell/SessionStatePill.stories.tsx +27 -0
  111. package/src/components/shell/SessionStatePill.test.tsx +25 -0
  112. package/src/components/shell/SessionStatePill.tsx +46 -0
  113. package/src/components/shell/TopBar.stories.tsx +49 -0
  114. package/src/components/shell/TopBar.test.tsx +36 -0
  115. package/src/components/shell/TopBar.tsx +89 -0
  116. package/src/components/shell/index.ts +8 -0
  117. package/src/components/ui/indicator/Indicator.stories.tsx +37 -1
  118. package/src/components/ui/indicator/Indicator.test.tsx +19 -1
  119. package/src/components/ui/indicator/Indicator.tsx +45 -6
  120. package/src/components/ui/indicator/index.ts +1 -1
  121. package/src/components/ui/spinner/Spinner.tsx +3 -2
  122. package/src/components/ui/toolbar-button/ToolbarButton.tsx +2 -1
  123. package/src/index.ts +3 -2
  124. package/src/pages.ts +61 -0
  125. package/src/test/stories-smoke.test.tsx +50 -0
  126. package/src/theme/ColorSystem.stories.tsx +323 -0
  127. package/src/theme/Colors.stories.tsx +69 -1
  128. package/src/theme/barrel.ts +54 -0
  129. package/src/theme/config.ts +16 -3
  130. package/src/theme/extracted-colors-dataviz.ts +21 -0
  131. package/src/theme/extracted-colors-ui.ts +20 -0
  132. package/src/theme/global.css +64 -52
  133. package/src/theme/gradients.test.ts +25 -0
  134. package/src/theme/gradients.ts +36 -0
  135. package/src/theme/index.ts +8 -43
  136. package/src/theme/native-theming-guard.test.ts +117 -0
  137. package/src/theme/tokens/primitives.test.ts +232 -0
  138. package/src/theme/tokens/primitives.ts +247 -0
  139. package/src/theme/tokens/semantic.ts +93 -81
  140. package/src/theme/workout-tokens.ts +22 -21
  141. package/src/utils/avatar-color.ts +3 -3
  142. package/tailwind.config.js +10 -3
  143. package/dist/bodymap-BhG55xHM.d.mts +0 -318
  144. package/dist/bodymap-BhG55xHM.d.ts +0 -318
  145. package/dist/chunk-2SISKTWM.mjs +0 -1027
  146. package/dist/chunk-2SISKTWM.mjs.map +0 -1
  147. package/dist/chunk-7XPB4NAO.mjs +0 -1013
  148. package/dist/chunk-7XPB4NAO.mjs.map +0 -1
  149. package/dist/chunk-SNVKL5WZ.mjs +0 -883
  150. package/dist/chunk-SNVKL5WZ.mjs.map +0 -1
@@ -1,4 +1,585 @@
1
- import { darkThemeCSSVars, lightThemeCSSVars } from '../chunk-7XPB4NAO.mjs';
1
+ // src/theme/tokens/primitives.ts
2
+ var primitiveColors = {
3
+ // Blue scale (primary brand)
4
+ blue: {
5
+ 400: "#60A5FA",
6
+ 600: "#5048E5",
7
+ // Primary main
8
+ 700: "#3832A0"},
9
+ // Red scale (error)
10
+ red: {
11
+ // Error light
12
+ 500: "#EF4444",
13
+ 600: "#D14343"},
14
+ // Vivid red scale (alert)
15
+ redVivid: {
16
+ 400: "#FF6070",
17
+ // Error vivid light
18
+ 500: "#FF4757",
19
+ 700: "#C42539"},
20
+ // Neutral/Gray scale
21
+ neutral: {
22
+ 50: "#FAFAFA",
23
+ 100: "#F3F4F6",
24
+ 300: "#D1D5DB",
25
+ 400: "#9CA3AF",
26
+ 500: "#6B7280",
27
+ 600: "#4B5563",
28
+ 900: "#111827"},
29
+ // Charcoal scale (dark backgrounds)
30
+ charcoal: {
31
+ 200: "#3C3C3C",
32
+ 300: "#2C2C2C",
33
+ 400: "#1F1F1F",
34
+ 500: "#1C1C1C",
35
+ 600: "#191919",
36
+ 700: "#161616",
37
+ 900: "#101010"
38
+ },
39
+ // Pure colors
40
+ white: "#FFFFFF"};
41
+ var primitiveRamps = {
42
+ red: {
43
+ 50: "#FFF4F4",
44
+ 500: "#E05254",
45
+ 600: "#D14343",
46
+ // pin
47
+ 700: "#A4221C"},
48
+ orange: {
49
+ 200: "#FFC7A2",
50
+ 300: "#FFA063",
51
+ 400: "#FF7900",
52
+ // pin
53
+ 500: "#DA5F00",
54
+ 600: "#B94A00"},
55
+ amber: {
56
+ 50: "#FFF7DD",
57
+ 200: "#FFD352",
58
+ 300: "#F9B415",
59
+ 500: "#C27400"},
60
+ green: {
61
+ 50: "#E3FFEE",
62
+ 200: "#58F69E",
63
+ 300: "#2ED573",
64
+ 600: "#298732"},
65
+ cyan: {
66
+ // pin
67
+ 400: "#01B5D1",
68
+ 500: "#2697B7",
69
+ 600: "#307B9B",
70
+ 700: "#2A617F",
71
+ 800: "#22465F"},
72
+ blue: {
73
+ 50: "#EFF8FF",
74
+ 300: "#78C2FF",
75
+ 500: "#2196F3",
76
+ // pin
77
+ 600: "#1072CB"}};
78
+ var discreteRainbow = [
79
+ "#E8ECFB",
80
+ "#D9CCE3",
81
+ "#D1BBD7",
82
+ "#CAACCB",
83
+ "#BA8DB4",
84
+ "#AE76A3",
85
+ "#AA6F9E",
86
+ "#994F88",
87
+ "#882E72",
88
+ "#1965B0",
89
+ "#437DBF",
90
+ "#5289C7",
91
+ "#6195CF",
92
+ "#7BAFDE",
93
+ "#4EB265",
94
+ "#90C987",
95
+ "#CAE0AB",
96
+ "#F7F056",
97
+ "#F7CB45",
98
+ "#F6C141",
99
+ "#F4A736",
100
+ "#F1932D",
101
+ "#EE8026",
102
+ "#E8601C",
103
+ "#E65518",
104
+ "#DC050C",
105
+ "#A5170E",
106
+ "#72190E",
107
+ "#42150A"
108
+ ];
109
+
110
+ // src/theme/tokens/semantic.ts
111
+ var semanticColorsLight = {
112
+ // Brand colors (brand-*)
113
+ "brand-primary": primitiveRamps.orange[400],
114
+ "brand-primary-light": primitiveRamps.orange[300],
115
+ "brand-primary-dark": primitiveRamps.orange[500],
116
+ "brand-primary-subtle": "rgba(255, 121, 0, 0.08)",
117
+ "brand-primary-hover": primitiveRamps.orange[500],
118
+ "brand-primary-active": primitiveRamps.orange[600],
119
+ "brand-secondary": primitiveRamps.cyan[600],
120
+ "brand-secondary-light": primitiveRamps.cyan[500],
121
+ "brand-secondary-dark": primitiveRamps.cyan[700],
122
+ "brand-secondary-subtle": "rgba(48, 123, 155, 0.08)",
123
+ "brand-secondary-hover": primitiveRamps.cyan[700],
124
+ "brand-secondary-active": primitiveRamps.cyan[800],
125
+ // Text on brand backgrounds (on-*)
126
+ "on-brand-primary": primitiveColors.white,
127
+ "on-brand-secondary": primitiveColors.white,
128
+ // Status colors (status-*)
129
+ "status-success": primitiveRamps.green[300],
130
+ "status-success-light": primitiveRamps.green[200],
131
+ "status-success-dark": primitiveRamps.green[600],
132
+ "status-success-subtle": primitiveRamps.green[50],
133
+ "status-error": primitiveRamps.red[600],
134
+ "status-error-light": primitiveRamps.red[500],
135
+ "status-error-dark": primitiveRamps.red[700],
136
+ "status-error-subtle": primitiveRamps.red[50],
137
+ "status-error-vivid": primitiveColors.redVivid[500],
138
+ // vivid alert red
139
+ "status-error-vivid-light": primitiveColors.redVivid[400],
140
+ "status-error-vivid-dark": primitiveColors.redVivid[700],
141
+ "status-error-vivid-subtle": "rgba(255, 71, 87, 0.12)",
142
+ "status-warning": primitiveRamps.amber[300],
143
+ "status-warning-light": primitiveRamps.amber[200],
144
+ "status-warning-dark": primitiveRamps.amber[500],
145
+ "status-warning-subtle": primitiveRamps.amber[50],
146
+ "status-info": primitiveRamps.blue[500],
147
+ "status-info-light": primitiveRamps.blue[300],
148
+ "status-info-dark": primitiveRamps.blue[600],
149
+ "status-info-subtle": primitiveRamps.blue[50],
150
+ // Text on status backgrounds (on-status-*)
151
+ "on-status-success": primitiveColors.white,
152
+ "on-status-error": primitiveColors.white,
153
+ "on-status-warning": primitiveColors.white,
154
+ "on-status-info": primitiveColors.white,
155
+ // Result/outcome indicators (result-*)
156
+ "result-improve": "#4caf50",
157
+ // Green - positive outcome
158
+ "result-improve-light": "rgba(76, 175, 80, 0.12)",
159
+ "result-improve-dark": "#248a24",
160
+ "result-degrade": "#ef5350",
161
+ // Red - negative outcome
162
+ "result-degrade-light": "rgba(239, 83, 80, 0.12)",
163
+ "result-degrade-dark": "#b30000",
164
+ "result-inconclusive": "#9E9A97",
165
+ // Gray - no clear result
166
+ "result-inconclusive-light": "rgba(158, 154, 151, 0.12)",
167
+ "result-neutral": primitiveColors.neutral[500],
168
+ // Neutral baseline
169
+ // Text on result backgrounds (on-result-*)
170
+ "on-result-improve": primitiveColors.white,
171
+ "on-result-degrade": primitiveColors.white,
172
+ "on-result-inconclusive": primitiveColors.white,
173
+ // Data visualization colors (data-*)
174
+ // First 10 colors from discrete rainbow optimized for charts
175
+ "data-1": discreteRainbow[9],
176
+ // Blue
177
+ "data-2": discreteRainbow[14],
178
+ // Green
179
+ "data-3": discreteRainbow[17],
180
+ // Yellow
181
+ "data-4": discreteRainbow[25],
182
+ // Red
183
+ "data-5": discreteRainbow[8],
184
+ // Purple
185
+ "data-6": discreteRainbow[20],
186
+ // Orange
187
+ "data-7": discreteRainbow[13],
188
+ // Light Blue
189
+ "data-8": discreteRainbow[15],
190
+ // Light Green
191
+ "data-9": discreteRainbow[3],
192
+ // Lavender
193
+ "data-10": discreteRainbow[22],
194
+ // Dark Orange
195
+ // Text colors (text-*)
196
+ "text-primary": "#121828",
197
+ "text-secondary": "#65748B",
198
+ "text-tertiary": primitiveColors.neutral[400],
199
+ "text-disabled": "rgba(55, 65, 81, 0.48)",
200
+ "text-inverse": primitiveColors.white,
201
+ "text-link": primitiveColors.blue[600],
202
+ "text-link-hover": primitiveColors.blue[700],
203
+ // Surface colors (surface-*) - for elevated containers
204
+ "surface-base": primitiveColors.white,
205
+ "surface-elevated": primitiveColors.neutral[50],
206
+ // slightly off-white for elevated cards
207
+ "surface-raised": primitiveColors.neutral[100],
208
+ // light gray for raised cards
209
+ "surface-overlay": primitiveColors.white,
210
+ "surface-input": primitiveColors.neutral[50],
211
+ // Input field background (filled variant)
212
+ // Background colors (background-*)
213
+ "background-base": "#EBEBEB",
214
+ "background-default": primitiveColors.white,
215
+ "background-subtle": primitiveColors.neutral[50],
216
+ // Border colors (border-*)
217
+ "border-default": "#E8E9EB",
218
+ "border-subtle": primitiveColors.neutral[100],
219
+ "border-strong": primitiveColors.neutral[300],
220
+ "border-prominent": primitiveColors.neutral[400],
221
+ // high-visibility divider
222
+ "border-focus": primitiveColors.blue[600],
223
+ "border-input": primitiveColors.neutral[300],
224
+ // Input field border
225
+ "border-input-hover": primitiveColors.neutral[400],
226
+ // Input field border on hover
227
+ "border-input-focus": primitiveColors.blue[600],
228
+ // Input field border on focus
229
+ "border-input-error": primitiveColors.red[600],
230
+ // Input field border on error
231
+ // Interactive states (interactive-*)
232
+ "interactive-hover": "rgba(55, 65, 81, 0.04)",
233
+ "interactive-focus": "rgba(55, 65, 81, 0.12)",
234
+ "interactive-active": "rgba(55, 65, 81, 0.16)",
235
+ "interactive-selected": "rgba(55, 65, 81, 0.08)",
236
+ "interactive-disabled": "rgba(55, 65, 81, 0.12)",
237
+ "interactive-disabled-text": "rgba(55, 65, 81, 0.26)",
238
+ // Divider
239
+ "divider": "#E8E9EB",
240
+ // Avatar default
241
+ "avatar-background": primitiveColors.neutral[500],
242
+ "avatar-text": primitiveColors.white
243
+ };
244
+ var semanticColorsDark = {
245
+ // Brand colors stay the same in dark mode
246
+ "brand-primary": primitiveRamps.orange[400],
247
+ "brand-primary-light": primitiveRamps.orange[300],
248
+ "brand-primary-dark": primitiveRamps.orange[500],
249
+ "brand-primary-subtle": "rgba(255, 121, 0, 0.12)",
250
+ "brand-primary-hover": primitiveRamps.orange[300],
251
+ "brand-primary-active": primitiveRamps.orange[200],
252
+ "brand-secondary": primitiveRamps.cyan[600],
253
+ "brand-secondary-light": primitiveRamps.cyan[500],
254
+ "brand-secondary-dark": primitiveRamps.cyan[700],
255
+ "brand-secondary-subtle": "rgba(48, 123, 155, 0.12)",
256
+ "brand-secondary-hover": primitiveRamps.cyan[500],
257
+ "brand-secondary-active": primitiveRamps.cyan[400],
258
+ // Text on brand backgrounds
259
+ "on-brand-primary": primitiveColors.white,
260
+ "on-brand-secondary": primitiveColors.white,
261
+ // Status colors
262
+ "status-success": primitiveRamps.green[300],
263
+ "status-success-light": primitiveRamps.green[200],
264
+ "status-success-dark": primitiveRamps.green[600],
265
+ "status-success-subtle": "rgba(46, 213, 115, 0.12)",
266
+ "status-error": primitiveRamps.red[600],
267
+ "status-error-light": primitiveRamps.red[500],
268
+ "status-error-dark": primitiveRamps.red[700],
269
+ "status-error-subtle": "rgba(209, 67, 67, 0.12)",
270
+ "status-error-vivid": primitiveColors.redVivid[500],
271
+ "status-error-vivid-light": primitiveColors.redVivid[400],
272
+ "status-error-vivid-dark": primitiveColors.redVivid[700],
273
+ "status-error-vivid-subtle": "rgba(255, 71, 87, 0.12)",
274
+ "status-warning": primitiveRamps.amber[300],
275
+ "status-warning-light": primitiveRamps.amber[200],
276
+ "status-warning-dark": primitiveRamps.amber[500],
277
+ "status-warning-subtle": "rgba(249, 180, 21, 0.12)",
278
+ "status-info": primitiveRamps.blue[500],
279
+ "status-info-light": primitiveRamps.blue[300],
280
+ "status-info-dark": primitiveRamps.blue[600],
281
+ "status-info-subtle": "rgba(33, 150, 243, 0.12)",
282
+ // Text on status backgrounds
283
+ "on-status-success": primitiveColors.white,
284
+ "on-status-error": primitiveColors.white,
285
+ "on-status-warning": primitiveColors.white,
286
+ "on-status-info": primitiveColors.white,
287
+ // Result/outcome indicators (result-*)
288
+ "result-improve": "#4caf50",
289
+ "result-improve-light": "rgba(76, 175, 80, 0.16)",
290
+ "result-improve-dark": "#248a24",
291
+ "result-degrade": "#ef5350",
292
+ "result-degrade-light": "rgba(239, 83, 80, 0.16)",
293
+ "result-degrade-dark": "#b30000",
294
+ "result-inconclusive": "#9E9A97",
295
+ "result-inconclusive-light": "rgba(158, 154, 151, 0.16)",
296
+ "result-neutral": primitiveColors.neutral[400],
297
+ // Text on result backgrounds
298
+ "on-result-improve": primitiveColors.white,
299
+ "on-result-degrade": primitiveColors.white,
300
+ "on-result-inconclusive": primitiveColors.white,
301
+ // Data visualization colors (same in dark mode for consistency)
302
+ "data-1": discreteRainbow[9],
303
+ "data-2": discreteRainbow[14],
304
+ "data-3": discreteRainbow[17],
305
+ "data-4": discreteRainbow[25],
306
+ "data-5": discreteRainbow[8],
307
+ "data-6": discreteRainbow[20],
308
+ "data-7": discreteRainbow[13],
309
+ "data-8": discreteRainbow[15],
310
+ "data-9": discreteRainbow[3],
311
+ "data-10": discreteRainbow[22],
312
+ // Text colors - inverted for dark mode
313
+ "text-primary": primitiveColors.neutral[100],
314
+ "text-secondary": primitiveColors.neutral[400],
315
+ "text-tertiary": primitiveColors.neutral[500],
316
+ "text-disabled": "rgba(255, 255, 255, 0.38)",
317
+ "text-inverse": primitiveColors.neutral[900],
318
+ "text-link": "#828DF8",
319
+ "text-link-hover": primitiveColors.blue[400],
320
+ // Surface colors - dark backgrounds
321
+ "surface-base": primitiveColors.charcoal[700],
322
+ // main surface
323
+ "surface-elevated": primitiveColors.charcoal[600],
324
+ // elevated surface
325
+ "surface-raised": primitiveColors.charcoal[500],
326
+ // raised surface
327
+ "surface-overlay": primitiveColors.charcoal[600],
328
+ // overlay surface
329
+ "surface-input": primitiveColors.charcoal[600],
330
+ // input surface
331
+ // Background colors
332
+ "background-base": primitiveColors.charcoal[900],
333
+ // darkest charcoal
334
+ "background-default": primitiveColors.charcoal[700],
335
+ // main background
336
+ "background-subtle": primitiveColors.charcoal[500],
337
+ // subtle background
338
+ // Border colors
339
+ "border-default": primitiveColors.charcoal[400],
340
+ // default border
341
+ "border-subtle": primitiveColors.charcoal[500],
342
+ // subtle border
343
+ "border-strong": primitiveColors.charcoal[300],
344
+ // strong border
345
+ "border-prominent": primitiveColors.charcoal[200],
346
+ // high-visibility divider
347
+ "border-focus": "#828DF8",
348
+ "border-input": primitiveColors.neutral[600],
349
+ "border-input-hover": primitiveColors.neutral[500],
350
+ "border-input-focus": "#828DF8",
351
+ "border-input-error": primitiveColors.red[500],
352
+ // Interactive states
353
+ "interactive-hover": "rgba(255, 255, 255, 0.04)",
354
+ "interactive-focus": "rgba(255, 255, 255, 0.12)",
355
+ "interactive-active": "rgba(255, 255, 255, 0.16)",
356
+ "interactive-selected": "rgba(255, 255, 255, 0.08)",
357
+ "interactive-disabled": "rgba(255, 255, 255, 0.12)",
358
+ "interactive-disabled-text": "rgba(255, 255, 255, 0.26)",
359
+ // Divider
360
+ "divider": primitiveColors.charcoal[400],
361
+ // divider color
362
+ // Avatar default
363
+ "avatar-background": primitiveColors.neutral[600],
364
+ "avatar-text": primitiveColors.white
365
+ };
366
+
367
+ // src/theme/config.ts
368
+ var themeIndependentCSSVars = {
369
+ // RGB decomposed values for glow shadows
370
+ "--color-brand-primary-rgb": "255, 121, 0",
371
+ "--color-brand-secondary-rgb": "48, 123, 155",
372
+ "--color-status-success-rgb": "46, 213, 115",
373
+ "--color-status-error-rgb": "209, 67, 67",
374
+ "--color-status-error-vivid-rgb": "255, 71, 87",
375
+ "--color-status-warning-rgb": "249, 180, 21",
376
+ "--color-status-info-rgb": "33, 150, 243",
377
+ "--color-background-base-rgb": "16, 16, 16",
378
+ // Font families
379
+ "--font-family-sans": "'Inter'",
380
+ "--font-family-body": "'Nunito Sans'",
381
+ "--font-family-heading": "'Space Grotesk'",
382
+ "--font-family-mono": "'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace",
383
+ // Animation tokens
384
+ "--ease-out": "cubic-bezier(0.22, 1, 0.36, 1)",
385
+ "--ease-in-out": "cubic-bezier(0.65, 0, 0.35, 1)",
386
+ "--ease-spring": "cubic-bezier(0.34, 1.56, 0.64, 1)",
387
+ "--duration-fast": "150ms",
388
+ "--duration-normal": "250ms",
389
+ "--duration-slow": "400ms"
390
+ };
391
+ var lightThemeCSSVars = {
392
+ "--color-brand-primary": semanticColorsLight["brand-primary"],
393
+ "--color-brand-primary-light": semanticColorsLight["brand-primary-light"],
394
+ "--color-brand-primary-dark": semanticColorsLight["brand-primary-dark"],
395
+ "--color-brand-primary-subtle": semanticColorsLight["brand-primary-subtle"],
396
+ "--color-brand-secondary": semanticColorsLight["brand-secondary"],
397
+ "--color-brand-secondary-light": semanticColorsLight["brand-secondary-light"],
398
+ "--color-brand-secondary-dark": semanticColorsLight["brand-secondary-dark"],
399
+ "--color-brand-secondary-subtle": semanticColorsLight["brand-secondary-subtle"],
400
+ "--color-on-brand-primary": semanticColorsLight["on-brand-primary"],
401
+ "--color-on-brand-secondary": semanticColorsLight["on-brand-secondary"],
402
+ "--color-status-success": semanticColorsLight["status-success"],
403
+ "--color-status-success-subtle": semanticColorsLight["status-success-subtle"],
404
+ "--color-status-error": semanticColorsLight["status-error"],
405
+ "--color-status-error-subtle": semanticColorsLight["status-error-subtle"],
406
+ "--color-status-warning": semanticColorsLight["status-warning"],
407
+ "--color-status-warning-subtle": semanticColorsLight["status-warning-subtle"],
408
+ "--color-status-info": semanticColorsLight["status-info"],
409
+ "--color-status-info-subtle": semanticColorsLight["status-info-subtle"],
410
+ "--color-status-error-vivid": semanticColorsLight["status-error-vivid"],
411
+ "--color-status-error-vivid-light": semanticColorsLight["status-error-vivid-light"],
412
+ "--color-status-error-vivid-dark": semanticColorsLight["status-error-vivid-dark"],
413
+ "--color-status-error-vivid-subtle": semanticColorsLight["status-error-vivid-subtle"],
414
+ "--color-text-primary": semanticColorsLight["text-primary"],
415
+ "--color-text-secondary": semanticColorsLight["text-secondary"],
416
+ "--color-text-tertiary": semanticColorsLight["text-tertiary"],
417
+ "--color-text-disabled": semanticColorsLight["text-disabled"],
418
+ "--color-text-inverse": semanticColorsLight["text-inverse"],
419
+ "--color-text-link": semanticColorsLight["text-link"],
420
+ "--color-surface-base": semanticColorsLight["surface-base"],
421
+ "--color-surface-elevated": semanticColorsLight["surface-elevated"],
422
+ "--color-surface-raised": semanticColorsLight["surface-raised"],
423
+ "--color-background-base": semanticColorsLight["background-base"],
424
+ "--color-background-default": semanticColorsLight["background-default"],
425
+ "--color-background-subtle": semanticColorsLight["background-subtle"],
426
+ "--color-border-default": semanticColorsLight["border-default"],
427
+ "--color-border-subtle": semanticColorsLight["border-subtle"],
428
+ "--color-border-strong": semanticColorsLight["border-strong"],
429
+ "--color-border-prominent": semanticColorsLight["border-prominent"],
430
+ "--color-border-focus": semanticColorsLight["border-focus"],
431
+ "--color-interactive-hover": semanticColorsLight["interactive-hover"],
432
+ "--color-interactive-focus": semanticColorsLight["interactive-focus"],
433
+ "--color-interactive-active": semanticColorsLight["interactive-active"],
434
+ "--color-interactive-selected": semanticColorsLight["interactive-selected"],
435
+ "--color-interactive-disabled": semanticColorsLight["interactive-disabled"],
436
+ "--color-divider": semanticColorsLight["divider"],
437
+ "--color-brand-primary-hover": semanticColorsLight["brand-primary-hover"],
438
+ "--color-brand-primary-active": semanticColorsLight["brand-primary-active"],
439
+ "--color-brand-secondary-hover": semanticColorsLight["brand-secondary-hover"],
440
+ "--color-brand-secondary-active": semanticColorsLight["brand-secondary-active"],
441
+ "--color-status-success-light": semanticColorsLight["status-success-light"],
442
+ "--color-status-success-dark": semanticColorsLight["status-success-dark"],
443
+ "--color-status-error-light": semanticColorsLight["status-error-light"],
444
+ "--color-status-error-dark": semanticColorsLight["status-error-dark"],
445
+ "--color-status-warning-light": semanticColorsLight["status-warning-light"],
446
+ "--color-status-warning-dark": semanticColorsLight["status-warning-dark"],
447
+ "--color-status-info-light": semanticColorsLight["status-info-light"],
448
+ "--color-status-info-dark": semanticColorsLight["status-info-dark"],
449
+ "--color-on-status-success": semanticColorsLight["on-status-success"],
450
+ "--color-on-status-error": semanticColorsLight["on-status-error"],
451
+ "--color-on-status-warning": semanticColorsLight["on-status-warning"],
452
+ "--color-on-status-info": semanticColorsLight["on-status-info"],
453
+ "--color-result-improve": semanticColorsLight["result-improve"],
454
+ "--color-result-improve-light": semanticColorsLight["result-improve-light"],
455
+ "--color-result-improve-dark": semanticColorsLight["result-improve-dark"],
456
+ "--color-result-degrade": semanticColorsLight["result-degrade"],
457
+ "--color-result-degrade-light": semanticColorsLight["result-degrade-light"],
458
+ "--color-result-degrade-dark": semanticColorsLight["result-degrade-dark"],
459
+ "--color-result-inconclusive": semanticColorsLight["result-inconclusive"],
460
+ "--color-result-inconclusive-light": semanticColorsLight["result-inconclusive-light"],
461
+ "--color-result-neutral": semanticColorsLight["result-neutral"],
462
+ "--color-on-result-improve": semanticColorsLight["on-result-improve"],
463
+ "--color-on-result-degrade": semanticColorsLight["on-result-degrade"],
464
+ "--color-on-result-inconclusive": semanticColorsLight["on-result-inconclusive"],
465
+ "--color-data-1": semanticColorsLight["data-1"],
466
+ "--color-data-2": semanticColorsLight["data-2"],
467
+ "--color-data-3": semanticColorsLight["data-3"],
468
+ "--color-data-4": semanticColorsLight["data-4"],
469
+ "--color-data-5": semanticColorsLight["data-5"],
470
+ "--color-data-6": semanticColorsLight["data-6"],
471
+ "--color-data-7": semanticColorsLight["data-7"],
472
+ "--color-data-8": semanticColorsLight["data-8"],
473
+ "--color-data-9": semanticColorsLight["data-9"],
474
+ "--color-data-10": semanticColorsLight["data-10"],
475
+ "--color-text-link-hover": semanticColorsLight["text-link-hover"],
476
+ "--color-surface-overlay": semanticColorsLight["surface-overlay"],
477
+ "--color-surface-input": semanticColorsLight["surface-input"],
478
+ "--color-border-input": semanticColorsLight["border-input"],
479
+ "--color-border-input-hover": semanticColorsLight["border-input-hover"],
480
+ "--color-border-input-focus": semanticColorsLight["border-input-focus"],
481
+ "--color-border-input-error": semanticColorsLight["border-input-error"],
482
+ "--color-interactive-disabled-text": semanticColorsLight["interactive-disabled-text"],
483
+ "--color-avatar-background": semanticColorsLight["avatar-background"],
484
+ "--color-avatar-text": semanticColorsLight["avatar-text"],
485
+ ...themeIndependentCSSVars
486
+ };
487
+ var darkThemeCSSVars = {
488
+ "--color-brand-primary": semanticColorsDark["brand-primary"],
489
+ "--color-brand-primary-light": semanticColorsDark["brand-primary-light"],
490
+ "--color-brand-primary-dark": semanticColorsDark["brand-primary-dark"],
491
+ "--color-brand-primary-subtle": semanticColorsDark["brand-primary-subtle"],
492
+ "--color-brand-secondary": semanticColorsDark["brand-secondary"],
493
+ "--color-brand-secondary-light": semanticColorsDark["brand-secondary-light"],
494
+ "--color-brand-secondary-dark": semanticColorsDark["brand-secondary-dark"],
495
+ "--color-brand-secondary-subtle": semanticColorsDark["brand-secondary-subtle"],
496
+ "--color-on-brand-primary": semanticColorsDark["on-brand-primary"],
497
+ "--color-on-brand-secondary": semanticColorsDark["on-brand-secondary"],
498
+ "--color-status-success": semanticColorsDark["status-success"],
499
+ "--color-status-success-subtle": semanticColorsDark["status-success-subtle"],
500
+ "--color-status-error": semanticColorsDark["status-error"],
501
+ "--color-status-error-subtle": semanticColorsDark["status-error-subtle"],
502
+ "--color-status-warning": semanticColorsDark["status-warning"],
503
+ "--color-status-warning-subtle": semanticColorsDark["status-warning-subtle"],
504
+ "--color-status-info": semanticColorsDark["status-info"],
505
+ "--color-status-info-subtle": semanticColorsDark["status-info-subtle"],
506
+ "--color-status-error-vivid": semanticColorsDark["status-error-vivid"],
507
+ "--color-status-error-vivid-light": semanticColorsDark["status-error-vivid-light"],
508
+ "--color-status-error-vivid-dark": semanticColorsDark["status-error-vivid-dark"],
509
+ "--color-status-error-vivid-subtle": semanticColorsDark["status-error-vivid-subtle"],
510
+ "--color-text-primary": semanticColorsDark["text-primary"],
511
+ "--color-text-secondary": semanticColorsDark["text-secondary"],
512
+ "--color-text-tertiary": semanticColorsDark["text-tertiary"],
513
+ "--color-text-disabled": semanticColorsDark["text-disabled"],
514
+ "--color-text-inverse": semanticColorsDark["text-inverse"],
515
+ "--color-text-link": semanticColorsDark["text-link"],
516
+ "--color-surface-base": semanticColorsDark["surface-base"],
517
+ "--color-surface-elevated": semanticColorsDark["surface-elevated"],
518
+ "--color-surface-raised": semanticColorsDark["surface-raised"],
519
+ "--color-background-base": semanticColorsDark["background-base"],
520
+ "--color-background-default": semanticColorsDark["background-default"],
521
+ "--color-background-subtle": semanticColorsDark["background-subtle"],
522
+ "--color-border-default": semanticColorsDark["border-default"],
523
+ "--color-border-subtle": semanticColorsDark["border-subtle"],
524
+ "--color-border-strong": semanticColorsDark["border-strong"],
525
+ "--color-border-prominent": semanticColorsDark["border-prominent"],
526
+ "--color-border-focus": semanticColorsDark["border-focus"],
527
+ "--color-interactive-hover": semanticColorsDark["interactive-hover"],
528
+ "--color-interactive-focus": semanticColorsDark["interactive-focus"],
529
+ "--color-interactive-active": semanticColorsDark["interactive-active"],
530
+ "--color-interactive-selected": semanticColorsDark["interactive-selected"],
531
+ "--color-interactive-disabled": semanticColorsDark["interactive-disabled"],
532
+ "--color-divider": semanticColorsDark["divider"],
533
+ "--color-brand-primary-hover": semanticColorsDark["brand-primary-hover"],
534
+ "--color-brand-primary-active": semanticColorsDark["brand-primary-active"],
535
+ "--color-brand-secondary-hover": semanticColorsDark["brand-secondary-hover"],
536
+ "--color-brand-secondary-active": semanticColorsDark["brand-secondary-active"],
537
+ "--color-status-success-light": semanticColorsDark["status-success-light"],
538
+ "--color-status-success-dark": semanticColorsDark["status-success-dark"],
539
+ "--color-status-error-light": semanticColorsDark["status-error-light"],
540
+ "--color-status-error-dark": semanticColorsDark["status-error-dark"],
541
+ "--color-status-warning-light": semanticColorsDark["status-warning-light"],
542
+ "--color-status-warning-dark": semanticColorsDark["status-warning-dark"],
543
+ "--color-status-info-light": semanticColorsDark["status-info-light"],
544
+ "--color-status-info-dark": semanticColorsDark["status-info-dark"],
545
+ "--color-on-status-success": semanticColorsDark["on-status-success"],
546
+ "--color-on-status-error": semanticColorsDark["on-status-error"],
547
+ "--color-on-status-warning": semanticColorsDark["on-status-warning"],
548
+ "--color-on-status-info": semanticColorsDark["on-status-info"],
549
+ "--color-result-improve": semanticColorsDark["result-improve"],
550
+ "--color-result-improve-light": semanticColorsDark["result-improve-light"],
551
+ "--color-result-improve-dark": semanticColorsDark["result-improve-dark"],
552
+ "--color-result-degrade": semanticColorsDark["result-degrade"],
553
+ "--color-result-degrade-light": semanticColorsDark["result-degrade-light"],
554
+ "--color-result-degrade-dark": semanticColorsDark["result-degrade-dark"],
555
+ "--color-result-inconclusive": semanticColorsDark["result-inconclusive"],
556
+ "--color-result-inconclusive-light": semanticColorsDark["result-inconclusive-light"],
557
+ "--color-result-neutral": semanticColorsDark["result-neutral"],
558
+ "--color-on-result-improve": semanticColorsDark["on-result-improve"],
559
+ "--color-on-result-degrade": semanticColorsDark["on-result-degrade"],
560
+ "--color-on-result-inconclusive": semanticColorsDark["on-result-inconclusive"],
561
+ "--color-data-1": semanticColorsDark["data-1"],
562
+ "--color-data-2": semanticColorsDark["data-2"],
563
+ "--color-data-3": semanticColorsDark["data-3"],
564
+ "--color-data-4": semanticColorsDark["data-4"],
565
+ "--color-data-5": semanticColorsDark["data-5"],
566
+ "--color-data-6": semanticColorsDark["data-6"],
567
+ "--color-data-7": semanticColorsDark["data-7"],
568
+ "--color-data-8": semanticColorsDark["data-8"],
569
+ "--color-data-9": semanticColorsDark["data-9"],
570
+ "--color-data-10": semanticColorsDark["data-10"],
571
+ "--color-text-link-hover": semanticColorsDark["text-link-hover"],
572
+ "--color-surface-overlay": semanticColorsDark["surface-overlay"],
573
+ "--color-surface-input": semanticColorsDark["surface-input"],
574
+ "--color-border-input": semanticColorsDark["border-input"],
575
+ "--color-border-input-hover": semanticColorsDark["border-input-hover"],
576
+ "--color-border-input-focus": semanticColorsDark["border-input-focus"],
577
+ "--color-border-input-error": semanticColorsDark["border-input-error"],
578
+ "--color-interactive-disabled-text": semanticColorsDark["interactive-disabled-text"],
579
+ "--color-avatar-background": semanticColorsDark["avatar-background"],
580
+ "--color-avatar-text": semanticColorsDark["avatar-text"],
581
+ ...themeIndependentCSSVars
582
+ };
2
583
 
3
584
  // src/theme/tokens-css.ts
4
585
  var GENERATED_HEADER = "/* Generated from theme token maps. Do not edit by hand. */";