@titan-design/react-ui 0.2.6 → 0.3.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 (191) hide show
  1. package/dist/bodymap-BhG55xHM.d.mts +318 -0
  2. package/dist/bodymap-BhG55xHM.d.ts +318 -0
  3. package/dist/bodymap.d.mts +3 -0
  4. package/dist/bodymap.d.ts +3 -0
  5. package/dist/bodymap.js +2670 -0
  6. package/dist/bodymap.js.map +1 -0
  7. package/dist/bodymap.mjs +1101 -0
  8. package/dist/bodymap.mjs.map +1 -0
  9. package/dist/{chunk-UXVRPOME.mjs → chunk-7XPB4NAO.mjs} +125 -785
  10. package/dist/chunk-7XPB4NAO.mjs.map +1 -0
  11. package/dist/chunk-P7TSQUN6.mjs +846 -0
  12. package/dist/chunk-P7TSQUN6.mjs.map +1 -0
  13. package/dist/chunk-TOD2WQBG.mjs +1048 -0
  14. package/dist/chunk-TOD2WQBG.mjs.map +1 -0
  15. package/dist/index.d.mts +1131 -4
  16. package/dist/index.d.ts +1131 -4
  17. package/dist/index.js +6396 -225
  18. package/dist/index.js.map +1 -1
  19. package/dist/index.mjs +5572 -641
  20. package/dist/index.mjs.map +1 -1
  21. package/dist/theme/index.d.mts +317 -1
  22. package/dist/theme/index.d.ts +317 -1
  23. package/dist/theme/index.js +185 -2
  24. package/dist/theme/index.js.map +1 -1
  25. package/dist/theme/index.mjs +2 -1
  26. package/dist/theme/tokens-css.d.mts +20 -0
  27. package/dist/theme/tokens-css.d.ts +20 -0
  28. package/dist/theme/tokens-css.js +598 -0
  29. package/dist/theme/tokens-css.js.map +1 -0
  30. package/dist/theme/tokens-css.mjs +24 -0
  31. package/dist/theme/tokens-css.mjs.map +1 -0
  32. package/package.json +25 -5
  33. package/src/bodymap.ts +37 -0
  34. package/src/components/custom/DateTime/DateTime.stories.tsx +1 -1
  35. package/src/components/custom/Gauge/Gauge.stories.tsx +45 -0
  36. package/src/components/custom/Gauge/Gauge.test.tsx +71 -0
  37. package/src/components/custom/Gauge/Gauge.tsx +167 -0
  38. package/src/components/custom/Gauge/index.ts +2 -0
  39. package/src/components/custom/Scatter/Scatter.stories.tsx +85 -0
  40. package/src/components/custom/Scatter/Scatter.test.tsx +96 -0
  41. package/src/components/custom/Scatter/Scatter.tsx +260 -0
  42. package/src/components/custom/Scatter/index.ts +2 -0
  43. package/src/components/custom/Sidebar/Sidebar.tsx +1 -1
  44. package/src/components/custom/Table/Table.test.tsx +27 -0
  45. package/src/components/custom/Table/Table.tsx +33 -17
  46. package/src/components/custom/Treemap/Treemap.stories.tsx +60 -0
  47. package/src/components/custom/Treemap/Treemap.test.tsx +67 -0
  48. package/src/components/custom/Treemap/Treemap.tsx +192 -0
  49. package/src/components/custom/Treemap/index.ts +2 -0
  50. package/src/components/custom/Workout/ActiveWorkoutPage.stories.tsx +118 -0
  51. package/src/components/custom/Workout/ActiveWorkoutPage.test.tsx +171 -0
  52. package/src/components/custom/Workout/ActiveWorkoutPage.tsx +447 -0
  53. package/src/components/custom/Workout/BaseBadge.stories.tsx +75 -0
  54. package/src/components/custom/Workout/BaseBadge.test.tsx +102 -0
  55. package/src/components/custom/Workout/BaseBadge.tsx +113 -0
  56. package/src/components/custom/Workout/BodyMap.stories.tsx +121 -0
  57. package/src/components/custom/Workout/BodyMap.test.tsx +124 -0
  58. package/src/components/custom/Workout/BodyMap.tsx +347 -0
  59. package/src/components/custom/Workout/BodyMapDetailPanel.stories.tsx +171 -0
  60. package/src/components/custom/Workout/BodyMapDetailPanel.test.tsx +225 -0
  61. package/src/components/custom/Workout/BodyMapDetailPanel.tsx +477 -0
  62. package/src/components/custom/Workout/CapacityBandChart.stories.tsx +125 -0
  63. package/src/components/custom/Workout/CapacityBandChart.test.tsx +193 -0
  64. package/src/components/custom/Workout/CapacityBandChart.tsx +493 -0
  65. package/src/components/custom/Workout/DeviationBar.stories.tsx +58 -0
  66. package/src/components/custom/Workout/DeviationBar.test.tsx +86 -0
  67. package/src/components/custom/Workout/DeviationBar.tsx +78 -0
  68. package/src/components/custom/Workout/ExerciseCard.stories.tsx +186 -0
  69. package/src/components/custom/Workout/ExerciseCard.test.tsx +343 -0
  70. package/src/components/custom/Workout/ExerciseCard.tsx +442 -0
  71. package/src/components/custom/Workout/ExerciseDetailPage.stories.tsx +225 -0
  72. package/src/components/custom/Workout/ExerciseDetailPage.test.tsx +128 -0
  73. package/src/components/custom/Workout/ExerciseDetailPage.tsx +630 -0
  74. package/src/components/custom/Workout/InputBar.stories.tsx +75 -0
  75. package/src/components/custom/Workout/InputBar.test.tsx +116 -0
  76. package/src/components/custom/Workout/InputBar.tsx +162 -0
  77. package/src/components/custom/Workout/IntensityBar.stories.tsx +60 -0
  78. package/src/components/custom/Workout/IntensityBar.test.tsx +113 -0
  79. package/src/components/custom/Workout/IntensityBar.tsx +166 -0
  80. package/src/components/custom/Workout/MesoCard.stories.tsx +152 -0
  81. package/src/components/custom/Workout/MesoCard.test.tsx +170 -0
  82. package/src/components/custom/Workout/MesoCard.tsx +237 -0
  83. package/src/components/custom/Workout/MesoProgressBar.stories.tsx +85 -0
  84. package/src/components/custom/Workout/MesoProgressBar.test.tsx +153 -0
  85. package/src/components/custom/Workout/MesoProgressBar.tsx +165 -0
  86. package/src/components/custom/Workout/MesoStatusCard.stories.tsx +126 -0
  87. package/src/components/custom/Workout/MesoStatusCard.test.tsx +209 -0
  88. package/src/components/custom/Workout/MesoStatusCard.tsx +456 -0
  89. package/src/components/custom/Workout/MuscleGroupChip.stories.tsx +118 -0
  90. package/src/components/custom/Workout/MuscleGroupChip.test.tsx +91 -0
  91. package/src/components/custom/Workout/MuscleGroupChip.tsx +92 -0
  92. package/src/components/custom/Workout/PlaceholderStrip.stories.tsx +94 -0
  93. package/src/components/custom/Workout/PlaceholderStrip.test.tsx +83 -0
  94. package/src/components/custom/Workout/PlaceholderStrip.tsx +90 -0
  95. package/src/components/custom/Workout/PrBadge.stories.tsx +105 -0
  96. package/src/components/custom/Workout/PrBadge.test.tsx +111 -0
  97. package/src/components/custom/Workout/PrBadge.tsx +103 -0
  98. package/src/components/custom/Workout/PrHistoryModal.stories.tsx +116 -0
  99. package/src/components/custom/Workout/PrHistoryModal.test.tsx +161 -0
  100. package/src/components/custom/Workout/PrHistoryModal.tsx +244 -0
  101. package/src/components/custom/Workout/ProgramPlanningPage.stories.tsx +257 -0
  102. package/src/components/custom/Workout/ProgramPlanningPage.test.tsx +142 -0
  103. package/src/components/custom/Workout/ProgramPlanningPage.tsx +422 -0
  104. package/src/components/custom/Workout/ReadinessCheck.stories.tsx +126 -0
  105. package/src/components/custom/Workout/ReadinessCheck.test.tsx +181 -0
  106. package/src/components/custom/Workout/ReadinessCheck.tsx +265 -0
  107. package/src/components/custom/Workout/RestTimer.test.tsx +10 -0
  108. package/src/components/custom/Workout/RestTimer.tsx +15 -11
  109. package/src/components/custom/Workout/SetRow.stories.tsx +165 -0
  110. package/src/components/custom/Workout/SetRow.test.tsx +222 -0
  111. package/src/components/custom/Workout/SetRow.tsx +247 -0
  112. package/src/components/custom/Workout/Sparkline.stories.tsx +125 -0
  113. package/src/components/custom/Workout/Sparkline.test.tsx +113 -0
  114. package/src/components/custom/Workout/Sparkline.tsx +188 -0
  115. package/src/components/custom/Workout/StatusDot.stories.tsx +150 -0
  116. package/src/components/custom/Workout/StatusDot.test.tsx +165 -0
  117. package/src/components/custom/Workout/StatusDot.tsx +160 -0
  118. package/src/components/custom/Workout/StrengthTrendChart.stories.tsx +130 -0
  119. package/src/components/custom/Workout/StrengthTrendChart.test.tsx +217 -0
  120. package/src/components/custom/Workout/StrengthTrendChart.tsx +628 -0
  121. package/src/components/custom/Workout/SupersetWrapper.tsx +1 -2
  122. package/src/components/custom/Workout/TempoDisplay.stories.tsx +66 -0
  123. package/src/components/custom/Workout/TempoDisplay.test.tsx +90 -0
  124. package/src/components/custom/Workout/TempoDisplay.tsx +209 -0
  125. package/src/components/custom/Workout/TrainingStatusPage.stories.tsx +212 -0
  126. package/src/components/custom/Workout/TrainingStatusPage.test.tsx +131 -0
  127. package/src/components/custom/Workout/TrainingStatusPage.tsx +321 -0
  128. package/src/components/custom/Workout/VelocityStrip.stories.tsx +125 -0
  129. package/src/components/custom/Workout/VelocityStrip.test.tsx +244 -0
  130. package/src/components/custom/Workout/VelocityStrip.tsx +288 -0
  131. package/src/components/custom/Workout/WeekRow.stories.tsx +121 -0
  132. package/src/components/custom/Workout/WeekRow.test.tsx +117 -0
  133. package/src/components/custom/Workout/WeekRow.tsx +140 -0
  134. package/src/components/custom/Workout/WeightBadge.stories.tsx +87 -0
  135. package/src/components/custom/Workout/WeightBadge.test.tsx +164 -0
  136. package/src/components/custom/Workout/WeightBadge.tsx +113 -0
  137. package/src/components/custom/Workout/WorkoutCard.stories.tsx +135 -0
  138. package/src/components/custom/Workout/WorkoutCard.test.tsx +172 -0
  139. package/src/components/custom/Workout/WorkoutCard.tsx +228 -0
  140. package/src/components/custom/Workout/WorkoutPill.stories.tsx +63 -0
  141. package/src/components/custom/Workout/WorkoutPill.test.tsx +153 -0
  142. package/src/components/custom/Workout/WorkoutPill.tsx +177 -0
  143. package/src/components/custom/Workout/index.ts +152 -0
  144. package/src/components/custom/Workout/muscleTaxonomy.ts +252 -0
  145. package/src/components/custom/index.ts +3 -0
  146. package/src/components/custom/stepper/Stepper.stories.tsx +1 -1
  147. package/src/components/custom/stepper/Stepper.tsx +2 -2
  148. package/src/components/ui/autocomplete/Autocomplete.stories.tsx +1 -1
  149. package/src/components/ui/autocomplete/Autocomplete.tsx +1 -1
  150. package/src/components/ui/card/Card.tsx +1 -1
  151. package/src/components/ui/checkbox/Checkbox.tsx +1 -1
  152. package/src/components/ui/collapse/Collapse.tsx +1 -1
  153. package/src/components/ui/data-row/DataRow.stories.tsx +1 -1
  154. package/src/components/ui/drawer/Drawer.tsx +3 -3
  155. package/src/components/ui/form-field/FormField.tsx +1 -1
  156. package/src/components/ui/help-tip/HelpTip.tsx +1 -1
  157. package/src/components/ui/menu/Menu.tsx +2 -2
  158. package/src/components/ui/pill/Pill.tsx +1 -1
  159. package/src/components/ui/popover/Popover.stories.tsx +2 -2
  160. package/src/components/ui/popover/Popover.tsx +1 -1
  161. package/src/components/ui/radio/Radio.stories.tsx +1 -1
  162. package/src/components/ui/section/Section.stories.tsx +4 -4
  163. package/src/components/ui/select/Select.tsx +1 -1
  164. package/src/components/ui/stack/Stack.stories.tsx +4 -4
  165. package/src/components/ui/tabs/Tabs.tsx +2 -2
  166. package/src/components/ui/toolbar-button/ToolbarButton.stories.tsx +1 -1
  167. package/src/components/ui/toolbar-button/ToolbarButton.tsx +1 -1
  168. package/src/examples/react-hook-form/ControlledFields.tsx +171 -0
  169. package/src/examples/react-hook-form/ReactHookForm.stories.tsx +51 -0
  170. package/src/examples/react-hook-form/ReactHookForm.test.tsx +61 -0
  171. package/src/examples/react-hook-form/RhfContactForm.tsx +99 -0
  172. package/src/stories/PresetShowcase.stories.tsx +15 -15
  173. package/src/theme/config.completeness.test.ts +77 -0
  174. package/src/theme/config.ts +151 -0
  175. package/src/theme/index.ts +2 -1
  176. package/src/theme/manifest/css-property-manifest.example.json +79 -0
  177. package/src/theme/manifest/css-property-manifest.schema.json +93 -0
  178. package/src/theme/manifest/css-property-manifest.test.ts +81 -0
  179. package/src/theme/manifest/css-property-manifest.types.ts +49 -0
  180. package/src/theme/manifest/css-property-manifest.validate.ts +84 -0
  181. package/src/theme/manifest/design-freeze.test.ts +155 -0
  182. package/src/theme/manifest/extract-css-properties.fixture.html +29 -0
  183. package/src/theme/manifest/extract-css-properties.test.ts +112 -0
  184. package/src/theme/manifest/index.ts +11 -0
  185. package/src/theme/tokens-css.test.ts +28 -0
  186. package/src/theme/tokens-css.ts +36 -0
  187. package/src/theme/workout-tokens.ts +59 -0
  188. package/src/utils/index.ts +10 -0
  189. package/src/utils/workout-format.test.ts +81 -0
  190. package/src/utils/workout-format.ts +83 -0
  191. package/dist/chunk-UXVRPOME.mjs.map +0 -1
@@ -1,3 +1,4 @@
1
- export { applyThemePreset, audiobookPreset, buttonSizes, componentElevationRanges, createFlatShadow, createPressedHoverShadow, createPressedShadow, createRaisedHoverShadow, createRaisedShadow, darkThemeCSSVars, darken, defaultPreset, discreteRainbow, elevationSystem, getBaseSurfaceColor, getDiscreteRainbowColor, getElevationConfig, getElevationShadow, getElevationSurface, getGlowShadow, getHoverColors, getSemanticColors, getThemeCSSVars, getValidatedElevation, gluestackConfig, hexToRgb, hsvToRgb, isDark, lightThemeCSSVars, lighten, neumorphicShadows, primitiveBorderRadius, primitiveBreakpoints, primitiveColors, primitiveShadows, primitiveSpacing, primitiveTypography, primitiveZIndex, rgbToHex, rgbToHsv, semanticColorsDark, semanticColorsLight, semanticTypography, shadowColors } from '../chunk-UXVRPOME.mjs';
1
+ export { applyThemePreset, audiobookPreset, componentElevationRanges, createFlatShadow, createPressedHoverShadow, createPressedShadow, createRaisedHoverShadow, createRaisedShadow, darken, defaultPreset, elevationSystem, getBaseSurfaceColor, getElevationConfig, getElevationShadow, getElevationSurface, getGlowShadow, getHoverColors, getValidatedElevation, hexToRgb, hsvToRgb, isCssPropertyManifest, isDark, lighten, neumorphicShadows, rgbToHex, rgbToHsv, shadowColors, validateCssPropertyManifest } from '../chunk-P7TSQUN6.mjs';
2
+ export { buttonSizes, darkThemeCSSVars, discreteRainbow, getDiscreteRainbowColor, getSemanticColors, getThemeCSSVars, gluestackConfig, lightThemeCSSVars, primitiveBorderRadius, primitiveBreakpoints, primitiveColors, primitiveShadows, primitiveSpacing, primitiveTypography, primitiveZIndex, semanticColorsDark, semanticColorsLight, semanticTypography } from '../chunk-7XPB4NAO.mjs';
2
3
  //# sourceMappingURL=index.mjs.map
3
4
  //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Token CSS Generator
3
+ *
4
+ * Emits a static `:root {}` CSS block from the canonical theme token maps
5
+ * (`darkThemeCSSVars` / `lightThemeCSSVars`). Those maps mirror every `:root`
6
+ * custom property in `theme/global.css` — completeness and value parity are
7
+ * enforced by `config.completeness.test.ts`, so HTML prototypes that import the
8
+ * generated stylesheet resolve to the exact same values as the design system.
9
+ * Pure codegen: deterministic and diffable against source.
10
+ *
11
+ * Dark mode is the default (`:root`); light mode is activated with `.light`,
12
+ * matching the convention in `theme/global.css`.
13
+ */
14
+ /**
15
+ * Build the full `tokens.css` contents: a default (dark) `:root` block plus a
16
+ * `.light` override block, driven entirely by the exported token maps.
17
+ */
18
+ declare function generateTokensCss(): string;
19
+
20
+ export { generateTokensCss };
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Token CSS Generator
3
+ *
4
+ * Emits a static `:root {}` CSS block from the canonical theme token maps
5
+ * (`darkThemeCSSVars` / `lightThemeCSSVars`). Those maps mirror every `:root`
6
+ * custom property in `theme/global.css` — completeness and value parity are
7
+ * enforced by `config.completeness.test.ts`, so HTML prototypes that import the
8
+ * generated stylesheet resolve to the exact same values as the design system.
9
+ * Pure codegen: deterministic and diffable against source.
10
+ *
11
+ * Dark mode is the default (`:root`); light mode is activated with `.light`,
12
+ * matching the convention in `theme/global.css`.
13
+ */
14
+ /**
15
+ * Build the full `tokens.css` contents: a default (dark) `:root` block plus a
16
+ * `.light` override block, driven entirely by the exported token maps.
17
+ */
18
+ declare function generateTokensCss(): string;
19
+
20
+ export { generateTokensCss };
@@ -0,0 +1,598 @@
1
+ 'use strict';
2
+
3
+ // src/theme/tokens/primitives.ts
4
+ var primitiveColors = {
5
+ // Blue scale (primary brand)
6
+ blue: {
7
+ 400: "#60A5FA",
8
+ 600: "#5048E5",
9
+ // Primary main
10
+ 700: "#3832A0"},
11
+ // Teal scale (success)
12
+ teal: {
13
+ 50: "#F0FDFA",
14
+ 400: "#43C6B7",
15
+ // Success light
16
+ 500: "#14B8A6",
17
+ 700: "#0E8074"},
18
+ // Red scale (error)
19
+ red: {
20
+ 50: "#FEF2F2",
21
+ 400: "#DA6868",
22
+ // Error light
23
+ 500: "#EF4444",
24
+ 600: "#D14343",
25
+ // Error main
26
+ 700: "#922E2E"},
27
+ // Amber scale (warning)
28
+ amber: {
29
+ 50: "#FFFBEB",
30
+ 400: "#FFBF4C",
31
+ // Warning light
32
+ 500: "#FFB020",
33
+ // Warning main
34
+ 600: "#B27B16"},
35
+ // Sky/Blue scale (info)
36
+ sky: {
37
+ 50: "#F0F9FF",
38
+ 400: "#64B6F7",
39
+ // Info light
40
+ 500: "#2196F3",
41
+ 700: "#0B79D0"},
42
+ // Neutral/Gray scale
43
+ neutral: {
44
+ 50: "#FAFAFA",
45
+ 100: "#F3F4F6",
46
+ 300: "#D1D5DB",
47
+ 400: "#9CA3AF",
48
+ 500: "#6B7280",
49
+ 600: "#4B5563",
50
+ 900: "#111827"},
51
+ // Orange scale (accent/brand color)
52
+ accent: {
53
+ 200: "#FF9630",
54
+ 300: "#FF8500",
55
+ 400: "#FF7900",
56
+ 500: "#F56C00",
57
+ 600: "#E06D10",
58
+ 700: "#D0620C"},
59
+ // Charcoal scale (dark backgrounds)
60
+ charcoal: {
61
+ 300: "#2C2C2C",
62
+ 400: "#1F1F1F",
63
+ 500: "#1C1C1C",
64
+ 600: "#191919",
65
+ 700: "#161616",
66
+ 900: "#101010"
67
+ },
68
+ // Steel scale (cool accent)
69
+ steel: {
70
+ 300: "#678498",
71
+ 400: "#557488",
72
+ 500: "#406D87",
73
+ 600: "#39617A",
74
+ 700: "#32556D"},
75
+ // Pure colors
76
+ white: "#FFFFFF"};
77
+ var discreteRainbow = [
78
+ "#E8ECFB",
79
+ "#D9CCE3",
80
+ "#D1BBD7",
81
+ "#CAACCB",
82
+ "#BA8DB4",
83
+ "#AE76A3",
84
+ "#AA6F9E",
85
+ "#994F88",
86
+ "#882E72",
87
+ "#1965B0",
88
+ "#437DBF",
89
+ "#5289C7",
90
+ "#6195CF",
91
+ "#7BAFDE",
92
+ "#4EB265",
93
+ "#90C987",
94
+ "#CAE0AB",
95
+ "#F7F056",
96
+ "#F7CB45",
97
+ "#F6C141",
98
+ "#F4A736",
99
+ "#F1932D",
100
+ "#EE8026",
101
+ "#E8601C",
102
+ "#E65518",
103
+ "#DC050C",
104
+ "#A5170E",
105
+ "#72190E",
106
+ "#42150A"
107
+ ];
108
+
109
+ // src/theme/tokens/semantic.ts
110
+ var semanticColorsLight = {
111
+ // Brand colors (brand-*)
112
+ "brand-primary": primitiveColors.accent[400],
113
+ // #FF7900
114
+ "brand-primary-light": primitiveColors.accent[200],
115
+ // #FF9630
116
+ "brand-primary-dark": primitiveColors.accent[700],
117
+ // #D0620C
118
+ "brand-primary-subtle": "rgba(255, 121, 0, 0.08)",
119
+ "brand-primary-hover": primitiveColors.accent[500],
120
+ "brand-primary-active": primitiveColors.accent[600],
121
+ "brand-secondary": primitiveColors.steel[500],
122
+ // #406D87
123
+ "brand-secondary-light": primitiveColors.steel[300],
124
+ // #678498
125
+ "brand-secondary-dark": primitiveColors.steel[700],
126
+ // #32556D
127
+ "brand-secondary-subtle": "rgba(64, 109, 135, 0.08)",
128
+ "brand-secondary-hover": primitiveColors.steel[600],
129
+ "brand-secondary-active": primitiveColors.steel[700],
130
+ // Text on brand backgrounds (on-*)
131
+ "on-brand-primary": primitiveColors.white,
132
+ "on-brand-secondary": primitiveColors.white,
133
+ // Status colors (status-*)
134
+ "status-success": primitiveColors.teal[500],
135
+ // #14B8A6
136
+ "status-success-light": primitiveColors.teal[400],
137
+ // #43C6B7
138
+ "status-success-dark": primitiveColors.teal[700],
139
+ // #0E8074
140
+ "status-success-subtle": primitiveColors.teal[50],
141
+ "status-error": primitiveColors.red[600],
142
+ // #D14343
143
+ "status-error-light": primitiveColors.red[400],
144
+ // #DA6868
145
+ "status-error-dark": primitiveColors.red[700],
146
+ // #922E2E
147
+ "status-error-subtle": primitiveColors.red[50],
148
+ "status-warning": primitiveColors.amber[500],
149
+ // #FFB020
150
+ "status-warning-light": primitiveColors.amber[400],
151
+ // #FFBF4C
152
+ "status-warning-dark": primitiveColors.amber[600],
153
+ // #B27B16
154
+ "status-warning-subtle": primitiveColors.amber[50],
155
+ "status-info": primitiveColors.sky[500],
156
+ // #2196F3
157
+ "status-info-light": primitiveColors.sky[400],
158
+ // #64B6F7
159
+ "status-info-dark": primitiveColors.sky[700],
160
+ // #0B79D0
161
+ "status-info-subtle": primitiveColors.sky[50],
162
+ // Text on status backgrounds (on-status-*)
163
+ "on-status-success": primitiveColors.white,
164
+ "on-status-error": primitiveColors.white,
165
+ "on-status-warning": primitiveColors.white,
166
+ "on-status-info": primitiveColors.white,
167
+ // Result/outcome indicators (result-*)
168
+ "result-improve": "#4caf50",
169
+ // Green - positive outcome
170
+ "result-improve-light": "rgba(76, 175, 80, 0.12)",
171
+ "result-improve-dark": "#248a24",
172
+ "result-degrade": "#ef5350",
173
+ // Red - negative outcome
174
+ "result-degrade-light": "rgba(239, 83, 80, 0.12)",
175
+ "result-degrade-dark": "#b30000",
176
+ "result-inconclusive": "#9E9A97",
177
+ // Gray - no clear result
178
+ "result-inconclusive-light": "rgba(158, 154, 151, 0.12)",
179
+ "result-neutral": primitiveColors.neutral[500],
180
+ // Neutral baseline
181
+ // Text on result backgrounds (on-result-*)
182
+ "on-result-improve": primitiveColors.white,
183
+ "on-result-degrade": primitiveColors.white,
184
+ "on-result-inconclusive": primitiveColors.white,
185
+ // Data visualization colors (data-*)
186
+ // First 10 colors from discrete rainbow optimized for charts
187
+ "data-1": discreteRainbow[9],
188
+ // #1965B0 - Blue
189
+ "data-2": discreteRainbow[14],
190
+ // #4EB265 - Green
191
+ "data-3": discreteRainbow[17],
192
+ // #F7F056 - Yellow
193
+ "data-4": discreteRainbow[25],
194
+ // #DC050C - Red
195
+ "data-5": discreteRainbow[8],
196
+ // #882E72 - Purple
197
+ "data-6": discreteRainbow[20],
198
+ // #F4A736 - Orange
199
+ "data-7": discreteRainbow[13],
200
+ // #7BAFDE - Light Blue
201
+ "data-8": discreteRainbow[15],
202
+ // #90C987 - Light Green
203
+ "data-9": discreteRainbow[3],
204
+ // #CAACCB - Lavender
205
+ "data-10": discreteRainbow[22],
206
+ // #EE8026 - Dark Orange
207
+ // Text colors (text-*)
208
+ "text-primary": "#121828",
209
+ "text-secondary": "#65748B",
210
+ "text-tertiary": primitiveColors.neutral[400],
211
+ "text-disabled": "rgba(55, 65, 81, 0.48)",
212
+ "text-inverse": primitiveColors.white,
213
+ "text-link": primitiveColors.blue[600],
214
+ "text-link-hover": primitiveColors.blue[700],
215
+ // Surface colors (surface-*) - for elevated containers
216
+ "surface-base": primitiveColors.white,
217
+ "surface-elevated": primitiveColors.neutral[50],
218
+ // #FAFAFA - slightly off-white for elevated cards
219
+ "surface-raised": primitiveColors.neutral[100],
220
+ // #F3F4F6 - light gray for raised cards
221
+ "surface-overlay": primitiveColors.white,
222
+ "surface-input": primitiveColors.neutral[50],
223
+ // Input field background (filled variant)
224
+ // Background colors (background-*)
225
+ "background-base": "#EBEBEB",
226
+ "background-default": primitiveColors.white,
227
+ "background-subtle": primitiveColors.neutral[50],
228
+ // Border colors (border-*)
229
+ "border-default": "#E8E9EB",
230
+ "border-subtle": primitiveColors.neutral[100],
231
+ "border-strong": primitiveColors.neutral[300],
232
+ "border-focus": primitiveColors.blue[600],
233
+ "border-input": primitiveColors.neutral[300],
234
+ // Input field border
235
+ "border-input-hover": primitiveColors.neutral[400],
236
+ // Input field border on hover
237
+ "border-input-focus": primitiveColors.blue[600],
238
+ // Input field border on focus
239
+ "border-input-error": primitiveColors.red[600],
240
+ // Input field border on error
241
+ // Interactive states (interactive-*)
242
+ "interactive-hover": "rgba(55, 65, 81, 0.04)",
243
+ "interactive-focus": "rgba(55, 65, 81, 0.12)",
244
+ "interactive-active": "rgba(55, 65, 81, 0.16)",
245
+ "interactive-selected": "rgba(55, 65, 81, 0.08)",
246
+ "interactive-disabled": "rgba(55, 65, 81, 0.12)",
247
+ "interactive-disabled-text": "rgba(55, 65, 81, 0.26)",
248
+ // Divider
249
+ "divider": "#E8E9EB",
250
+ // Avatar default
251
+ "avatar-background": primitiveColors.neutral[500],
252
+ "avatar-text": primitiveColors.white
253
+ };
254
+ var semanticColorsDark = {
255
+ // Brand colors stay the same in dark mode
256
+ "brand-primary": primitiveColors.accent[400],
257
+ "brand-primary-light": primitiveColors.accent[200],
258
+ "brand-primary-dark": primitiveColors.accent[700],
259
+ "brand-primary-subtle": "rgba(255, 121, 0, 0.12)",
260
+ "brand-primary-hover": primitiveColors.accent[300],
261
+ "brand-primary-active": primitiveColors.accent[200],
262
+ "brand-secondary": primitiveColors.steel[500],
263
+ "brand-secondary-light": primitiveColors.steel[300],
264
+ "brand-secondary-dark": primitiveColors.steel[700],
265
+ "brand-secondary-subtle": "rgba(64, 109, 135, 0.12)",
266
+ "brand-secondary-hover": primitiveColors.steel[400],
267
+ "brand-secondary-active": primitiveColors.steel[300],
268
+ // Text on brand backgrounds
269
+ "on-brand-primary": primitiveColors.white,
270
+ "on-brand-secondary": primitiveColors.white,
271
+ // Status colors
272
+ "status-success": primitiveColors.teal[500],
273
+ "status-success-light": primitiveColors.teal[400],
274
+ "status-success-dark": primitiveColors.teal[700],
275
+ "status-success-subtle": "rgba(20, 184, 166, 0.12)",
276
+ "status-error": primitiveColors.red[600],
277
+ "status-error-light": primitiveColors.red[400],
278
+ "status-error-dark": primitiveColors.red[700],
279
+ "status-error-subtle": "rgba(209, 67, 67, 0.12)",
280
+ "status-warning": primitiveColors.amber[500],
281
+ "status-warning-light": primitiveColors.amber[400],
282
+ "status-warning-dark": primitiveColors.amber[600],
283
+ "status-warning-subtle": "rgba(255, 176, 32, 0.12)",
284
+ "status-info": primitiveColors.sky[500],
285
+ "status-info-light": primitiveColors.sky[400],
286
+ "status-info-dark": primitiveColors.sky[700],
287
+ "status-info-subtle": "rgba(33, 150, 243, 0.12)",
288
+ // Text on status backgrounds
289
+ "on-status-success": primitiveColors.white,
290
+ "on-status-error": primitiveColors.white,
291
+ "on-status-warning": primitiveColors.white,
292
+ "on-status-info": primitiveColors.white,
293
+ // Result/outcome indicators (result-*)
294
+ "result-improve": "#4caf50",
295
+ "result-improve-light": "rgba(76, 175, 80, 0.16)",
296
+ "result-improve-dark": "#248a24",
297
+ "result-degrade": "#ef5350",
298
+ "result-degrade-light": "rgba(239, 83, 80, 0.16)",
299
+ "result-degrade-dark": "#b30000",
300
+ "result-inconclusive": "#9E9A97",
301
+ "result-inconclusive-light": "rgba(158, 154, 151, 0.16)",
302
+ "result-neutral": primitiveColors.neutral[400],
303
+ // Text on result backgrounds
304
+ "on-result-improve": primitiveColors.white,
305
+ "on-result-degrade": primitiveColors.white,
306
+ "on-result-inconclusive": primitiveColors.white,
307
+ // Data visualization colors (same in dark mode for consistency)
308
+ "data-1": discreteRainbow[9],
309
+ "data-2": discreteRainbow[14],
310
+ "data-3": discreteRainbow[17],
311
+ "data-4": discreteRainbow[25],
312
+ "data-5": discreteRainbow[8],
313
+ "data-6": discreteRainbow[20],
314
+ "data-7": discreteRainbow[13],
315
+ "data-8": discreteRainbow[15],
316
+ "data-9": discreteRainbow[3],
317
+ "data-10": discreteRainbow[22],
318
+ // Text colors - inverted for dark mode
319
+ "text-primary": primitiveColors.neutral[100],
320
+ "text-secondary": primitiveColors.neutral[400],
321
+ "text-tertiary": primitiveColors.neutral[500],
322
+ "text-disabled": "rgba(255, 255, 255, 0.38)",
323
+ "text-inverse": primitiveColors.neutral[900],
324
+ "text-link": "#828DF8",
325
+ "text-link-hover": primitiveColors.blue[400],
326
+ // Surface colors - dark backgrounds
327
+ "surface-base": primitiveColors.charcoal[700],
328
+ // #161616 - main surface
329
+ "surface-elevated": primitiveColors.charcoal[600],
330
+ // #191919 - elevated surface
331
+ "surface-raised": primitiveColors.charcoal[500],
332
+ // #1C1C1C - raised surface
333
+ "surface-overlay": primitiveColors.charcoal[600],
334
+ // #191919 - overlay surface
335
+ "surface-input": primitiveColors.charcoal[600],
336
+ // #191919 - input surface
337
+ // Background colors
338
+ "background-base": primitiveColors.charcoal[900],
339
+ // #101010 - darkest charcoal
340
+ "background-default": primitiveColors.charcoal[700],
341
+ // #161616 - main background
342
+ "background-subtle": primitiveColors.charcoal[500],
343
+ // #1C1C1C - subtle background
344
+ // Border colors
345
+ "border-default": primitiveColors.charcoal[400],
346
+ // #1F1F1F - default border
347
+ "border-subtle": primitiveColors.charcoal[500],
348
+ // #1C1C1C - subtle border
349
+ "border-strong": primitiveColors.charcoal[300],
350
+ // #2C2C2C - strong border
351
+ "border-focus": "#828DF8",
352
+ "border-input": primitiveColors.neutral[600],
353
+ "border-input-hover": primitiveColors.neutral[500],
354
+ "border-input-focus": "#828DF8",
355
+ "border-input-error": primitiveColors.red[500],
356
+ // Interactive states
357
+ "interactive-hover": "rgba(255, 255, 255, 0.04)",
358
+ "interactive-focus": "rgba(255, 255, 255, 0.12)",
359
+ "interactive-active": "rgba(255, 255, 255, 0.16)",
360
+ "interactive-selected": "rgba(255, 255, 255, 0.08)",
361
+ "interactive-disabled": "rgba(255, 255, 255, 0.12)",
362
+ "interactive-disabled-text": "rgba(255, 255, 255, 0.26)",
363
+ // Divider
364
+ "divider": primitiveColors.charcoal[400],
365
+ // #1F1F1F - divider color
366
+ // Avatar default
367
+ "avatar-background": primitiveColors.neutral[600],
368
+ "avatar-text": primitiveColors.white
369
+ };
370
+
371
+ // src/theme/config.ts
372
+ var themeIndependentCSSVars = {
373
+ // RGB decomposed values for glow shadows
374
+ "--color-brand-primary-rgb": "255, 121, 0",
375
+ "--color-brand-secondary-rgb": "64, 109, 135",
376
+ "--color-status-success-rgb": "20, 184, 166",
377
+ "--color-status-error-rgb": "209, 67, 67",
378
+ "--color-status-warning-rgb": "255, 176, 32",
379
+ "--color-status-info-rgb": "33, 150, 243",
380
+ "--color-background-base-rgb": "16, 16, 16",
381
+ // Font families
382
+ "--font-family-sans": "'Inter'",
383
+ "--font-family-body": "'Nunito Sans'",
384
+ "--font-family-heading": "'Space Grotesk'",
385
+ "--font-family-mono": "'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace",
386
+ // Animation tokens
387
+ "--ease-out": "cubic-bezier(0.22, 1, 0.36, 1)",
388
+ "--ease-in-out": "cubic-bezier(0.65, 0, 0.35, 1)",
389
+ "--ease-spring": "cubic-bezier(0.34, 1.56, 0.64, 1)",
390
+ "--duration-fast": "150ms",
391
+ "--duration-normal": "250ms",
392
+ "--duration-slow": "400ms"
393
+ };
394
+ var lightThemeCSSVars = {
395
+ "--color-brand-primary": semanticColorsLight["brand-primary"],
396
+ "--color-brand-primary-light": semanticColorsLight["brand-primary-light"],
397
+ "--color-brand-primary-dark": semanticColorsLight["brand-primary-dark"],
398
+ "--color-brand-primary-subtle": semanticColorsLight["brand-primary-subtle"],
399
+ "--color-brand-secondary": semanticColorsLight["brand-secondary"],
400
+ "--color-brand-secondary-light": semanticColorsLight["brand-secondary-light"],
401
+ "--color-brand-secondary-dark": semanticColorsLight["brand-secondary-dark"],
402
+ "--color-brand-secondary-subtle": semanticColorsLight["brand-secondary-subtle"],
403
+ "--color-on-brand-primary": semanticColorsLight["on-brand-primary"],
404
+ "--color-on-brand-secondary": semanticColorsLight["on-brand-secondary"],
405
+ "--color-status-success": semanticColorsLight["status-success"],
406
+ "--color-status-success-subtle": semanticColorsLight["status-success-subtle"],
407
+ "--color-status-error": semanticColorsLight["status-error"],
408
+ "--color-status-error-subtle": semanticColorsLight["status-error-subtle"],
409
+ "--color-status-warning": semanticColorsLight["status-warning"],
410
+ "--color-status-warning-subtle": semanticColorsLight["status-warning-subtle"],
411
+ "--color-status-info": semanticColorsLight["status-info"],
412
+ "--color-status-info-subtle": semanticColorsLight["status-info-subtle"],
413
+ "--color-text-primary": semanticColorsLight["text-primary"],
414
+ "--color-text-secondary": semanticColorsLight["text-secondary"],
415
+ "--color-text-tertiary": semanticColorsLight["text-tertiary"],
416
+ "--color-text-disabled": semanticColorsLight["text-disabled"],
417
+ "--color-text-inverse": semanticColorsLight["text-inverse"],
418
+ "--color-text-link": semanticColorsLight["text-link"],
419
+ "--color-surface-base": semanticColorsLight["surface-base"],
420
+ "--color-surface-elevated": semanticColorsLight["surface-elevated"],
421
+ "--color-surface-raised": semanticColorsLight["surface-raised"],
422
+ "--color-background-base": semanticColorsLight["background-base"],
423
+ "--color-background-default": semanticColorsLight["background-default"],
424
+ "--color-background-subtle": semanticColorsLight["background-subtle"],
425
+ "--color-border-default": semanticColorsLight["border-default"],
426
+ "--color-border-subtle": semanticColorsLight["border-subtle"],
427
+ "--color-border-strong": semanticColorsLight["border-strong"],
428
+ "--color-border-focus": semanticColorsLight["border-focus"],
429
+ "--color-interactive-hover": semanticColorsLight["interactive-hover"],
430
+ "--color-interactive-focus": semanticColorsLight["interactive-focus"],
431
+ "--color-interactive-active": semanticColorsLight["interactive-active"],
432
+ "--color-interactive-selected": semanticColorsLight["interactive-selected"],
433
+ "--color-interactive-disabled": semanticColorsLight["interactive-disabled"],
434
+ "--color-divider": semanticColorsLight["divider"],
435
+ "--color-brand-primary-hover": semanticColorsLight["brand-primary-hover"],
436
+ "--color-brand-primary-active": semanticColorsLight["brand-primary-active"],
437
+ "--color-brand-secondary-hover": semanticColorsLight["brand-secondary-hover"],
438
+ "--color-brand-secondary-active": semanticColorsLight["brand-secondary-active"],
439
+ "--color-status-success-light": semanticColorsLight["status-success-light"],
440
+ "--color-status-success-dark": semanticColorsLight["status-success-dark"],
441
+ "--color-status-error-light": semanticColorsLight["status-error-light"],
442
+ "--color-status-error-dark": semanticColorsLight["status-error-dark"],
443
+ "--color-status-warning-light": semanticColorsLight["status-warning-light"],
444
+ "--color-status-warning-dark": semanticColorsLight["status-warning-dark"],
445
+ "--color-status-info-light": semanticColorsLight["status-info-light"],
446
+ "--color-status-info-dark": semanticColorsLight["status-info-dark"],
447
+ "--color-on-status-success": semanticColorsLight["on-status-success"],
448
+ "--color-on-status-error": semanticColorsLight["on-status-error"],
449
+ "--color-on-status-warning": semanticColorsLight["on-status-warning"],
450
+ "--color-on-status-info": semanticColorsLight["on-status-info"],
451
+ "--color-result-improve": semanticColorsLight["result-improve"],
452
+ "--color-result-improve-light": semanticColorsLight["result-improve-light"],
453
+ "--color-result-improve-dark": semanticColorsLight["result-improve-dark"],
454
+ "--color-result-degrade": semanticColorsLight["result-degrade"],
455
+ "--color-result-degrade-light": semanticColorsLight["result-degrade-light"],
456
+ "--color-result-degrade-dark": semanticColorsLight["result-degrade-dark"],
457
+ "--color-result-inconclusive": semanticColorsLight["result-inconclusive"],
458
+ "--color-result-inconclusive-light": semanticColorsLight["result-inconclusive-light"],
459
+ "--color-result-neutral": semanticColorsLight["result-neutral"],
460
+ "--color-on-result-improve": semanticColorsLight["on-result-improve"],
461
+ "--color-on-result-degrade": semanticColorsLight["on-result-degrade"],
462
+ "--color-on-result-inconclusive": semanticColorsLight["on-result-inconclusive"],
463
+ "--color-data-1": semanticColorsLight["data-1"],
464
+ "--color-data-2": semanticColorsLight["data-2"],
465
+ "--color-data-3": semanticColorsLight["data-3"],
466
+ "--color-data-4": semanticColorsLight["data-4"],
467
+ "--color-data-5": semanticColorsLight["data-5"],
468
+ "--color-data-6": semanticColorsLight["data-6"],
469
+ "--color-data-7": semanticColorsLight["data-7"],
470
+ "--color-data-8": semanticColorsLight["data-8"],
471
+ "--color-data-9": semanticColorsLight["data-9"],
472
+ "--color-data-10": semanticColorsLight["data-10"],
473
+ "--color-text-link-hover": semanticColorsLight["text-link-hover"],
474
+ "--color-surface-overlay": semanticColorsLight["surface-overlay"],
475
+ "--color-surface-input": semanticColorsLight["surface-input"],
476
+ "--color-border-input": semanticColorsLight["border-input"],
477
+ "--color-border-input-hover": semanticColorsLight["border-input-hover"],
478
+ "--color-border-input-focus": semanticColorsLight["border-input-focus"],
479
+ "--color-border-input-error": semanticColorsLight["border-input-error"],
480
+ "--color-interactive-disabled-text": semanticColorsLight["interactive-disabled-text"],
481
+ "--color-avatar-background": semanticColorsLight["avatar-background"],
482
+ "--color-avatar-text": semanticColorsLight["avatar-text"],
483
+ ...themeIndependentCSSVars
484
+ };
485
+ var darkThemeCSSVars = {
486
+ "--color-brand-primary": semanticColorsDark["brand-primary"],
487
+ "--color-brand-primary-light": semanticColorsDark["brand-primary-light"],
488
+ "--color-brand-primary-dark": semanticColorsDark["brand-primary-dark"],
489
+ "--color-brand-primary-subtle": semanticColorsDark["brand-primary-subtle"],
490
+ "--color-brand-secondary": semanticColorsDark["brand-secondary"],
491
+ "--color-brand-secondary-light": semanticColorsDark["brand-secondary-light"],
492
+ "--color-brand-secondary-dark": semanticColorsDark["brand-secondary-dark"],
493
+ "--color-brand-secondary-subtle": semanticColorsDark["brand-secondary-subtle"],
494
+ "--color-on-brand-primary": semanticColorsDark["on-brand-primary"],
495
+ "--color-on-brand-secondary": semanticColorsDark["on-brand-secondary"],
496
+ "--color-status-success": semanticColorsDark["status-success"],
497
+ "--color-status-success-subtle": semanticColorsDark["status-success-subtle"],
498
+ "--color-status-error": semanticColorsDark["status-error"],
499
+ "--color-status-error-subtle": semanticColorsDark["status-error-subtle"],
500
+ "--color-status-warning": semanticColorsDark["status-warning"],
501
+ "--color-status-warning-subtle": semanticColorsDark["status-warning-subtle"],
502
+ "--color-status-info": semanticColorsDark["status-info"],
503
+ "--color-status-info-subtle": semanticColorsDark["status-info-subtle"],
504
+ "--color-text-primary": semanticColorsDark["text-primary"],
505
+ "--color-text-secondary": semanticColorsDark["text-secondary"],
506
+ "--color-text-tertiary": semanticColorsDark["text-tertiary"],
507
+ "--color-text-disabled": semanticColorsDark["text-disabled"],
508
+ "--color-text-inverse": semanticColorsDark["text-inverse"],
509
+ "--color-text-link": semanticColorsDark["text-link"],
510
+ "--color-surface-base": semanticColorsDark["surface-base"],
511
+ "--color-surface-elevated": semanticColorsDark["surface-elevated"],
512
+ "--color-surface-raised": semanticColorsDark["surface-raised"],
513
+ "--color-background-base": semanticColorsDark["background-base"],
514
+ "--color-background-default": semanticColorsDark["background-default"],
515
+ "--color-background-subtle": semanticColorsDark["background-subtle"],
516
+ "--color-border-default": semanticColorsDark["border-default"],
517
+ "--color-border-subtle": semanticColorsDark["border-subtle"],
518
+ "--color-border-strong": semanticColorsDark["border-strong"],
519
+ "--color-border-focus": semanticColorsDark["border-focus"],
520
+ "--color-interactive-hover": semanticColorsDark["interactive-hover"],
521
+ "--color-interactive-focus": semanticColorsDark["interactive-focus"],
522
+ "--color-interactive-active": semanticColorsDark["interactive-active"],
523
+ "--color-interactive-selected": semanticColorsDark["interactive-selected"],
524
+ "--color-interactive-disabled": semanticColorsDark["interactive-disabled"],
525
+ "--color-divider": semanticColorsDark["divider"],
526
+ "--color-brand-primary-hover": semanticColorsDark["brand-primary-hover"],
527
+ "--color-brand-primary-active": semanticColorsDark["brand-primary-active"],
528
+ "--color-brand-secondary-hover": semanticColorsDark["brand-secondary-hover"],
529
+ "--color-brand-secondary-active": semanticColorsDark["brand-secondary-active"],
530
+ "--color-status-success-light": semanticColorsDark["status-success-light"],
531
+ "--color-status-success-dark": semanticColorsDark["status-success-dark"],
532
+ "--color-status-error-light": semanticColorsDark["status-error-light"],
533
+ "--color-status-error-dark": semanticColorsDark["status-error-dark"],
534
+ "--color-status-warning-light": semanticColorsDark["status-warning-light"],
535
+ "--color-status-warning-dark": semanticColorsDark["status-warning-dark"],
536
+ "--color-status-info-light": semanticColorsDark["status-info-light"],
537
+ "--color-status-info-dark": semanticColorsDark["status-info-dark"],
538
+ "--color-on-status-success": semanticColorsDark["on-status-success"],
539
+ "--color-on-status-error": semanticColorsDark["on-status-error"],
540
+ "--color-on-status-warning": semanticColorsDark["on-status-warning"],
541
+ "--color-on-status-info": semanticColorsDark["on-status-info"],
542
+ "--color-result-improve": semanticColorsDark["result-improve"],
543
+ "--color-result-improve-light": semanticColorsDark["result-improve-light"],
544
+ "--color-result-improve-dark": semanticColorsDark["result-improve-dark"],
545
+ "--color-result-degrade": semanticColorsDark["result-degrade"],
546
+ "--color-result-degrade-light": semanticColorsDark["result-degrade-light"],
547
+ "--color-result-degrade-dark": semanticColorsDark["result-degrade-dark"],
548
+ "--color-result-inconclusive": semanticColorsDark["result-inconclusive"],
549
+ "--color-result-inconclusive-light": semanticColorsDark["result-inconclusive-light"],
550
+ "--color-result-neutral": semanticColorsDark["result-neutral"],
551
+ "--color-on-result-improve": semanticColorsDark["on-result-improve"],
552
+ "--color-on-result-degrade": semanticColorsDark["on-result-degrade"],
553
+ "--color-on-result-inconclusive": semanticColorsDark["on-result-inconclusive"],
554
+ "--color-data-1": semanticColorsDark["data-1"],
555
+ "--color-data-2": semanticColorsDark["data-2"],
556
+ "--color-data-3": semanticColorsDark["data-3"],
557
+ "--color-data-4": semanticColorsDark["data-4"],
558
+ "--color-data-5": semanticColorsDark["data-5"],
559
+ "--color-data-6": semanticColorsDark["data-6"],
560
+ "--color-data-7": semanticColorsDark["data-7"],
561
+ "--color-data-8": semanticColorsDark["data-8"],
562
+ "--color-data-9": semanticColorsDark["data-9"],
563
+ "--color-data-10": semanticColorsDark["data-10"],
564
+ "--color-text-link-hover": semanticColorsDark["text-link-hover"],
565
+ "--color-surface-overlay": semanticColorsDark["surface-overlay"],
566
+ "--color-surface-input": semanticColorsDark["surface-input"],
567
+ "--color-border-input": semanticColorsDark["border-input"],
568
+ "--color-border-input-hover": semanticColorsDark["border-input-hover"],
569
+ "--color-border-input-focus": semanticColorsDark["border-input-focus"],
570
+ "--color-border-input-error": semanticColorsDark["border-input-error"],
571
+ "--color-interactive-disabled-text": semanticColorsDark["interactive-disabled-text"],
572
+ "--color-avatar-background": semanticColorsDark["avatar-background"],
573
+ "--color-avatar-text": semanticColorsDark["avatar-text"],
574
+ ...themeIndependentCSSVars
575
+ };
576
+
577
+ // src/theme/tokens-css.ts
578
+ var GENERATED_HEADER = "/* Generated from theme token maps. Do not edit by hand. */";
579
+ function formatBlock(selector, vars) {
580
+ const declarations = Object.entries(vars).map(([name, value]) => ` ${name}: ${value};`).join("\n");
581
+ return `${selector} {
582
+ ${declarations}
583
+ }`;
584
+ }
585
+ function generateTokensCss() {
586
+ const root = formatBlock(":root", darkThemeCSSVars);
587
+ const light = formatBlock(".light, :root.light", lightThemeCSSVars);
588
+ return `${GENERATED_HEADER}
589
+
590
+ ${root}
591
+
592
+ ${light}
593
+ `;
594
+ }
595
+
596
+ exports.generateTokensCss = generateTokensCss;
597
+ //# sourceMappingURL=tokens-css.js.map
598
+ //# sourceMappingURL=tokens-css.js.map