@titan-design/react-ui 0.5.0 → 0.7.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 (307) hide show
  1. package/dist/bodymap.js +241 -189
  2. package/dist/bodymap.js.map +1 -1
  3. package/dist/bodymap.mjs +241 -189
  4. package/dist/bodymap.mjs.map +1 -1
  5. package/dist/index.d.mts +1017 -130
  6. package/dist/index.d.ts +1017 -130
  7. package/dist/index.js +3058 -1090
  8. package/dist/index.js.map +1 -1
  9. package/dist/index.mjs +2992 -1091
  10. package/dist/index.mjs.map +1 -1
  11. package/dist/{pages-MO0JCySL.d.mts → pages-8u_4WbL-.d.mts} +280 -57
  12. package/dist/{pages-D7Jlssvp.d.ts → pages-DaWiBOGa.d.ts} +280 -57
  13. package/dist/pages.d.mts +1 -1
  14. package/dist/pages.d.ts +1 -1
  15. package/dist/pages.js +1797 -1292
  16. package/dist/pages.js.map +1 -1
  17. package/dist/pages.mjs +1797 -1292
  18. package/dist/pages.mjs.map +1 -1
  19. package/dist/theme/index.d.mts +464 -268
  20. package/dist/theme/index.d.ts +464 -268
  21. package/dist/theme/index.js +303 -191
  22. package/dist/theme/index.js.map +1 -1
  23. package/dist/theme/index.mjs +295 -192
  24. package/dist/theme/index.mjs.map +1 -1
  25. package/dist/theme/tokens-css.js +160 -143
  26. package/dist/theme/tokens-css.js.map +1 -1
  27. package/dist/theme/tokens-css.mjs +160 -143
  28. package/dist/theme/tokens-css.mjs.map +1 -1
  29. package/package.json +3 -1
  30. package/src/arch/Architecture.stories.tsx +870 -0
  31. package/src/arch/annotations.json +48 -0
  32. package/src/arch/arch-graph.json +4301 -0
  33. package/src/components/custom/DateTime/DateTime.stories.tsx +83 -7
  34. package/src/components/custom/DateTime/DateTime.test.tsx +29 -3
  35. package/src/components/custom/DateTime/DateTime.tsx +55 -15
  36. package/src/components/custom/EmptyState/EmptyState.stories.tsx +1 -1
  37. package/src/components/custom/Gauge/Gauge.stories.tsx +1 -1
  38. package/src/components/custom/Gauge/Gauge.test.tsx +2 -2
  39. package/src/components/custom/Gauge/Gauge.tsx +6 -3
  40. package/src/components/custom/Metric/Metric.stories.tsx +1 -1
  41. package/src/components/custom/Scatter/Scatter.stories.tsx +1 -1
  42. package/src/components/custom/Scatter/Scatter.tsx +3 -5
  43. package/src/components/custom/Sidebar/Sidebar.stories.tsx +1 -1
  44. package/src/components/custom/Table/Table.stories.tsx +1 -1
  45. package/src/components/custom/TimerReadout/TimerReadout.stories.tsx +62 -0
  46. package/src/components/custom/TimerReadout/TimerReadout.test.tsx +72 -0
  47. package/src/components/custom/TimerReadout/TimerReadout.tsx +75 -0
  48. package/src/components/custom/TimerReadout/index.ts +1 -0
  49. package/src/components/custom/Treemap/Treemap.stories.tsx +1 -1
  50. package/src/components/custom/Treemap/Treemap.tsx +3 -5
  51. package/src/components/custom/Typography/Typography.stories.tsx +46 -28
  52. package/src/components/custom/Typography/Typography.test.tsx +13 -3
  53. package/src/components/custom/Typography/Typography.tsx +5 -0
  54. package/src/components/custom/Workout/ActiveWorkoutPage.stories.tsx +21 -13
  55. package/src/components/custom/Workout/ActiveWorkoutPage.test.tsx +16 -13
  56. package/src/components/custom/Workout/ActiveWorkoutPage.tsx +11 -16
  57. package/src/components/custom/Workout/BaseBadge.stories.tsx +1 -1
  58. package/src/components/custom/Workout/BodyMap.stories.tsx +1 -1
  59. package/src/components/custom/Workout/BodyMap.tsx +6 -3
  60. package/src/components/custom/Workout/BodyMapDetailPanel.stories.tsx +1 -1
  61. package/src/components/custom/Workout/BodyMapDetailPanel.tsx +6 -3
  62. package/src/components/custom/Workout/CapacityBandChart.stories.tsx +1 -1
  63. package/src/components/custom/Workout/CapacityBandChart.test.tsx +2 -2
  64. package/src/components/custom/Workout/CapacityBandChart.tsx +9 -6
  65. package/src/components/custom/Workout/DeviationBar.stories.tsx +1 -1
  66. package/src/components/custom/Workout/DeviationBar.test.tsx +1 -1
  67. package/src/components/custom/Workout/DeviationBar.tsx +7 -4
  68. package/src/components/custom/Workout/ExerciseCard.stories.tsx +51 -66
  69. package/src/components/custom/Workout/ExerciseCard.test.tsx +146 -143
  70. package/src/components/custom/Workout/ExerciseCard.tsx +176 -198
  71. package/src/components/custom/Workout/ExerciseCardHeading.stories.tsx +99 -0
  72. package/src/components/custom/Workout/ExerciseCardHeading.test.tsx +72 -0
  73. package/src/components/custom/Workout/ExerciseCardHeading.tsx +43 -0
  74. package/src/components/custom/Workout/ExerciseCardUnified.stories.tsx +151 -0
  75. package/src/components/custom/Workout/ExerciseDetailPage.stories.tsx +5 -3
  76. package/src/components/custom/Workout/ExerciseDetailPage.test.tsx +4 -4
  77. package/src/components/custom/Workout/ExerciseDetailPage.tsx +6 -6
  78. package/src/components/custom/Workout/ExerciseHeading.stories.tsx +81 -0
  79. package/src/components/custom/Workout/ExerciseHeading.test.tsx +77 -0
  80. package/src/components/custom/Workout/ExerciseHeading.tsx +85 -0
  81. package/src/components/custom/Workout/ExerciseIndicator.stories.tsx +110 -0
  82. package/src/components/custom/Workout/ExerciseIndicator.test.tsx +93 -0
  83. package/src/components/custom/Workout/ExerciseIndicator.tsx +120 -0
  84. package/src/components/custom/Workout/FatigueMeter.stories.tsx +51 -0
  85. package/src/components/custom/Workout/FatigueMeter.test.tsx +73 -0
  86. package/src/components/custom/Workout/FatigueMeter.tsx +82 -0
  87. package/src/components/custom/Workout/InputBar.stories.tsx +1 -1
  88. package/src/components/custom/Workout/InputBar.tsx +2 -1
  89. package/src/components/custom/Workout/IntensityBar.stories.tsx +1 -1
  90. package/src/components/custom/Workout/IntensityBar.test.tsx +8 -8
  91. package/src/components/custom/Workout/IntensityBar.tsx +10 -6
  92. package/src/components/custom/Workout/LiveAuraFrame.stories.tsx +153 -0
  93. package/src/components/custom/Workout/LiveAuraFrame.test.tsx +74 -0
  94. package/src/components/custom/Workout/LiveAuraFrame.tsx +105 -0
  95. package/src/components/custom/Workout/MesoCard.stories.tsx +1 -1
  96. package/src/components/custom/Workout/MesoCard.tsx +8 -3
  97. package/src/components/custom/Workout/MesoProgressBar.stories.tsx +1 -1
  98. package/src/components/custom/Workout/MesoProgressBar.test.tsx +1 -1
  99. package/src/components/custom/Workout/MesoProgressBar.tsx +3 -2
  100. package/src/components/custom/Workout/MesoStatusCard.stories.tsx +1 -1
  101. package/src/components/custom/Workout/MesoStatusCard.tsx +20 -13
  102. package/src/components/custom/Workout/MetricTiles.stories.tsx +60 -0
  103. package/src/components/custom/Workout/MetricTiles.test.tsx +58 -0
  104. package/src/components/custom/Workout/MetricTiles.tsx +48 -0
  105. package/src/components/custom/Workout/MuscleGroupChip.stories.tsx +1 -1
  106. package/src/components/custom/Workout/MuscleGroupChip.tsx +7 -4
  107. package/src/components/custom/Workout/PlaceholderStrip.stories.tsx +1 -1
  108. package/src/components/custom/Workout/PrBadge.stories.tsx +1 -1
  109. package/src/components/custom/Workout/PrBadge.tsx +5 -2
  110. package/src/components/custom/Workout/PrHistoryModal.stories.tsx +1 -1
  111. package/src/components/custom/Workout/PrHistoryModal.tsx +4 -3
  112. package/src/components/custom/Workout/ProgramPlanningPage.stories.tsx +4 -16
  113. package/src/components/custom/Workout/ProgramPlanningPage.tsx +10 -7
  114. package/src/components/custom/Workout/README.md +146 -4
  115. package/src/components/custom/Workout/ReadinessCheck.stories.tsx +1 -1
  116. package/src/components/custom/Workout/ReadinessCheck.tsx +7 -4
  117. package/src/components/custom/Workout/RestTimer.stories.tsx +1 -1
  118. package/src/components/custom/Workout/RestTimer.tsx +17 -11
  119. package/src/components/custom/Workout/RowInventory.stories.tsx +405 -0
  120. package/src/components/custom/Workout/S3FullRail.stories.tsx +34 -0
  121. package/src/components/custom/Workout/S3SessionPace.stories.tsx +95 -0
  122. package/src/components/custom/Workout/S3SessionRailHeading.stories.tsx +61 -0
  123. package/src/components/custom/Workout/S3SetTypes.stories.tsx +176 -0
  124. package/src/components/custom/Workout/S3WorkoutExpansion.stories.tsx +240 -0
  125. package/src/components/custom/Workout/ScheduleTiles.stories.tsx +40 -0
  126. package/src/components/custom/Workout/ScheduleTiles.test.tsx +34 -0
  127. package/src/components/custom/Workout/ScheduleTiles.tsx +70 -0
  128. package/src/components/custom/Workout/SegmentedBar.stories.tsx +99 -0
  129. package/src/components/custom/Workout/SegmentedBar.test.tsx +77 -0
  130. package/src/components/custom/Workout/SegmentedBar.tsx +172 -0
  131. package/src/components/custom/Workout/SegmentedProgressBar.stories.tsx +50 -0
  132. package/src/components/custom/Workout/SegmentedProgressBar.test.tsx +80 -0
  133. package/src/components/custom/Workout/SegmentedProgressBar.tsx +67 -0
  134. package/src/components/custom/Workout/SessionHeader.stories.tsx +121 -0
  135. package/src/components/custom/Workout/SessionHeader.test.tsx +122 -0
  136. package/src/components/custom/Workout/SessionHeader.tsx +152 -0
  137. package/src/components/custom/Workout/SessionRail.stories.tsx +153 -0
  138. package/src/components/custom/Workout/SessionRail.test.tsx +86 -0
  139. package/src/components/custom/Workout/SessionRail.tsx +126 -0
  140. package/src/components/custom/Workout/SetBar.stories.tsx +124 -0
  141. package/src/components/custom/Workout/SetBar.test.tsx +123 -0
  142. package/src/components/custom/Workout/SetBar.tsx +171 -0
  143. package/src/components/custom/Workout/SetRow.stories.tsx +50 -100
  144. package/src/components/custom/Workout/SetRow.test.tsx +94 -166
  145. package/src/components/custom/Workout/SetRow.tsx +170 -232
  146. package/src/components/custom/Workout/SetStrip.stories.tsx +154 -0
  147. package/src/components/custom/Workout/SetStrip.test.tsx +109 -0
  148. package/src/components/custom/Workout/SetStrip.tsx +71 -0
  149. package/src/components/custom/Workout/SetTableHeader.stories.tsx +66 -0
  150. package/src/components/custom/Workout/SetTableHeader.test.tsx +47 -0
  151. package/src/components/custom/Workout/SetTableHeader.tsx +88 -0
  152. package/src/components/custom/Workout/SetsRepsLoad.stories.tsx +47 -0
  153. package/src/components/custom/Workout/SetsRepsLoad.test.tsx +44 -0
  154. package/src/components/custom/Workout/SetsRepsLoad.tsx +52 -0
  155. package/src/components/custom/Workout/Sparkline.stories.tsx +1 -1
  156. package/src/components/custom/Workout/Sparkline.tsx +2 -1
  157. package/src/components/custom/Workout/StatusDot.stories.tsx +1 -1
  158. package/src/components/custom/Workout/StatusDot.test.tsx +2 -2
  159. package/src/components/custom/Workout/StatusDot.tsx +12 -9
  160. package/src/components/custom/Workout/StatusPill.stories.tsx +59 -0
  161. package/src/components/custom/Workout/StatusPill.test.tsx +63 -0
  162. package/src/components/custom/Workout/StatusPill.tsx +88 -0
  163. package/src/components/custom/Workout/StrengthTrendChart.stories.tsx +1 -1
  164. package/src/components/custom/Workout/StrengthTrendChart.tsx +9 -6
  165. package/src/components/custom/Workout/SupersetWrapper.stories.tsx +1 -1
  166. package/src/components/custom/Workout/SupersetWrapper.tsx +2 -1
  167. package/src/components/custom/Workout/TempoBar.stories.tsx +1 -1
  168. package/src/components/custom/Workout/TempoDisplay.stories.tsx +12 -1
  169. package/src/components/custom/Workout/TempoDisplay.tsx +29 -36
  170. package/src/components/custom/Workout/TrainingStatusPage.stories.tsx +1 -1
  171. package/src/components/custom/Workout/VelocityStrip.modalities.stories.tsx +254 -0
  172. package/src/components/custom/Workout/VelocityStrip.responsive.stories.tsx +145 -0
  173. package/src/components/custom/Workout/VelocityStrip.stories.tsx +129 -66
  174. package/src/components/custom/Workout/VelocityStrip.test.tsx +379 -144
  175. package/src/components/custom/Workout/VelocityStrip.tsx +508 -120
  176. package/src/components/custom/Workout/VolumeLandmarkBar.stories.tsx +73 -0
  177. package/src/components/custom/Workout/VolumeLandmarkBar.test.tsx +119 -0
  178. package/src/components/custom/Workout/VolumeLandmarkBar.tsx +154 -0
  179. package/src/components/custom/Workout/WeekRow.stories.tsx +1 -1
  180. package/src/components/custom/Workout/WeekRow.tsx +3 -2
  181. package/src/components/custom/Workout/WeightBadge.stories.tsx +1 -1
  182. package/src/components/custom/Workout/WeightBadge.tsx +6 -2
  183. package/src/components/custom/Workout/WorkoutCard.stories.tsx +2 -6
  184. package/src/components/custom/Workout/WorkoutCard.test.tsx +13 -46
  185. package/src/components/custom/Workout/WorkoutCard.tsx +5 -2
  186. package/src/components/custom/Workout/WorkoutPill.stories.tsx +1 -1
  187. package/src/components/custom/Workout/WorkoutPill.tsx +12 -8
  188. package/src/components/custom/Workout/ZoneTrack.stories.tsx +140 -0
  189. package/src/components/custom/Workout/ZoneTrack.test.tsx +200 -0
  190. package/src/components/custom/Workout/ZoneTrack.tsx +315 -0
  191. package/src/components/custom/Workout/icons.tsx +6 -67
  192. package/src/components/custom/Workout/index.ts +55 -2
  193. package/src/components/custom/Workout/metricText.stories.tsx +69 -0
  194. package/src/components/custom/Workout/metricText.tsx +34 -0
  195. package/src/components/custom/Workout/paceTone.test.ts +29 -0
  196. package/src/components/custom/Workout/paceTone.ts +27 -0
  197. package/src/components/custom/Workout/setHeadingKit.tsx +177 -0
  198. package/src/components/custom/index.ts +1 -0
  199. package/src/components/custom/stepper/Stepper.stories.tsx +1 -1
  200. package/src/components/icons/SvgIcon.tsx +50 -0
  201. package/src/components/icons/icons.stories.tsx +122 -0
  202. package/src/components/icons/icons.test.tsx +73 -0
  203. package/src/components/icons/icons.tsx +153 -0
  204. package/src/components/icons/index.ts +4 -0
  205. package/src/components/index.ts +6 -0
  206. package/src/components/shell/BrandLockup.stories.tsx +27 -0
  207. package/src/components/shell/BrandLockup.test.tsx +23 -0
  208. package/src/components/shell/BrandLockup.tsx +47 -0
  209. package/src/components/shell/DashboardShell.stories.tsx +65 -0
  210. package/src/components/shell/DashboardShell.test.tsx +42 -0
  211. package/src/components/shell/DashboardShell.tsx +74 -0
  212. package/src/components/shell/DeviceIndicator.stories.tsx +28 -0
  213. package/src/components/shell/DeviceIndicator.test.tsx +26 -0
  214. package/src/components/shell/DeviceIndicator.tsx +52 -0
  215. package/src/components/shell/DeviceMenu.stories.tsx +47 -0
  216. package/src/components/shell/DeviceMenu.test.tsx +40 -0
  217. package/src/components/shell/DeviceMenu.tsx +65 -0
  218. package/src/components/shell/DeviceRow.stories.tsx +38 -0
  219. package/src/components/shell/DeviceRow.test.tsx +37 -0
  220. package/src/components/shell/DeviceRow.tsx +58 -0
  221. package/src/components/shell/NavItem.stories.tsx +52 -0
  222. package/src/components/shell/NavItem.test.tsx +35 -0
  223. package/src/components/shell/NavItem.tsx +75 -0
  224. package/src/components/shell/README.md +116 -0
  225. package/src/components/shell/SessionRailSpecimen.stories.tsx +753 -0
  226. package/src/components/shell/SessionStatePill.stories.tsx +27 -0
  227. package/src/components/shell/SessionStatePill.test.tsx +25 -0
  228. package/src/components/shell/SessionStatePill.tsx +46 -0
  229. package/src/components/shell/SideNav.stories.tsx +81 -0
  230. package/src/components/shell/SideNav.test.tsx +51 -0
  231. package/src/components/shell/SideNav.tsx +74 -0
  232. package/src/components/shell/TopBar.stories.tsx +49 -0
  233. package/src/components/shell/TopBar.test.tsx +36 -0
  234. package/src/components/shell/TopBar.tsx +89 -0
  235. package/src/components/shell/index.ts +13 -0
  236. package/src/components/ui/alert/Alert.stories.tsx +1 -1
  237. package/src/components/ui/autocomplete/Autocomplete.stories.tsx +1 -1
  238. package/src/components/ui/avatar/Avatar.stories.tsx +1 -1
  239. package/src/components/ui/badge/Badge.stories.tsx +1 -1
  240. package/src/components/ui/breadcrumbs/Breadcrumbs.stories.tsx +1 -1
  241. package/src/components/ui/button/Button.stories.tsx +1 -1
  242. package/src/components/ui/card/Card.stories.tsx +1 -1
  243. package/src/components/ui/checkbox/Checkbox.stories.tsx +1 -1
  244. package/src/components/ui/chip/Chip.stories.tsx +1 -1
  245. package/src/components/ui/collapse/Collapse.stories.tsx +1 -1
  246. package/src/components/ui/data-row/DataRow.stories.tsx +1 -1
  247. package/src/components/ui/divider/Divider.stories.tsx +1 -1
  248. package/src/components/ui/drawer/Drawer.stories.tsx +1 -1
  249. package/src/components/ui/form-field/FormField.stories.tsx +1 -1
  250. package/src/components/ui/help-tip/HelpTip.stories.tsx +1 -1
  251. package/src/components/ui/icon-box/IconBox.stories.tsx +1 -1
  252. package/src/components/ui/index.ts +1 -0
  253. package/src/components/ui/indicator/Indicator.stories.tsx +38 -2
  254. package/src/components/ui/indicator/Indicator.test.tsx +20 -1
  255. package/src/components/ui/indicator/Indicator.tsx +50 -6
  256. package/src/components/ui/indicator/index.ts +1 -1
  257. package/src/components/ui/input/Input.stories.tsx +1 -1
  258. package/src/components/ui/link/Link.stories.tsx +1 -1
  259. package/src/components/ui/list-item/ListItem.stories.tsx +1 -1
  260. package/src/components/ui/menu/Menu.stories.tsx +1 -1
  261. package/src/components/ui/modal/Modal.stories.tsx +1 -1
  262. package/src/components/ui/pill/Pill.stories.tsx +1 -1
  263. package/src/components/ui/popover/Popover.stories.tsx +1 -1
  264. package/src/components/ui/progress/Progress.stories.tsx +1 -1
  265. package/src/components/ui/radio/Radio.stories.tsx +1 -1
  266. package/src/components/ui/section/Section.stories.tsx +1 -1
  267. package/src/components/ui/select/Select.stories.tsx +1 -1
  268. package/src/components/ui/skeleton/Skeleton.stories.tsx +1 -1
  269. package/src/components/ui/spinner/Spinner.stories.tsx +1 -1
  270. package/src/components/ui/spinner/Spinner.tsx +3 -2
  271. package/src/components/ui/stack/Stack.stories.tsx +1 -1
  272. package/src/components/ui/surface/Surface.stories.tsx +1 -1
  273. package/src/components/ui/switch/Switch.stories.tsx +1 -1
  274. package/src/components/ui/tabs/Tabs.stories.tsx +1 -1
  275. package/src/components/ui/tile/Tile.stories.tsx +79 -0
  276. package/src/components/ui/tile/Tile.test.tsx +48 -0
  277. package/src/components/ui/tile/Tile.tsx +64 -0
  278. package/src/components/ui/tile/index.ts +2 -0
  279. package/src/components/ui/toast/Toast.stories.tsx +1 -1
  280. package/src/components/ui/toolbar-button/ToolbarButton.stories.tsx +1 -1
  281. package/src/components/ui/toolbar-button/ToolbarButton.tsx +2 -1
  282. package/src/components/ui/tooltip/Tooltip.stories.tsx +1 -1
  283. package/src/examples/react-hook-form/ReactHookForm.stories.tsx +1 -1
  284. package/src/hooks/index.ts +2 -0
  285. package/src/hooks/useTimer.test.ts +150 -0
  286. package/src/hooks/useTimer.ts +77 -0
  287. package/src/index.ts +3 -0
  288. package/src/pages.ts +1 -1
  289. package/src/stories/PresetShowcase.stories.tsx +1 -1
  290. package/src/stories/ThemePresets.stories.tsx +1 -1
  291. package/src/theme/ColorSystem.stories.tsx +323 -0
  292. package/src/theme/Colors.stories.tsx +74 -9
  293. package/src/theme/barrel.ts +1 -0
  294. package/src/theme/config.ts +20 -3
  295. package/src/theme/elevation.stories.tsx +1 -1
  296. package/src/theme/extracted-colors-dataviz.ts +21 -0
  297. package/src/theme/extracted-colors-ui.ts +20 -0
  298. package/src/theme/global.css +69 -53
  299. package/src/theme/gradients.test.ts +25 -0
  300. package/src/theme/gradients.ts +36 -0
  301. package/src/theme/shadows.stories.tsx +1 -1
  302. package/src/theme/tokens/primitives.test.ts +232 -0
  303. package/src/theme/tokens/primitives.ts +238 -87
  304. package/src/theme/tokens/semantic.ts +101 -81
  305. package/src/theme/workout-tokens.ts +26 -21
  306. package/src/utils/avatar-color.ts +3 -3
  307. package/tailwind.config.js +15 -3
@@ -2,43 +2,20 @@
2
2
 
3
3
  // src/theme/tokens/primitives.ts
4
4
  var primitiveColors = {
5
- // Blue scale (primary brand)
5
+ // Blue scale
6
6
  blue: {
7
7
  400: "#60A5FA",
8
8
  600: "#5048E5",
9
- // Primary main
10
9
  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)
10
+ // Red scale
19
11
  red: {
20
- 50: "#FEF2F2",
21
- 400: "#DA6868",
22
- // Error light
23
12
  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"},
13
+ 600: "#D14343"},
14
+ // Vivid red scale
15
+ redVivid: {
16
+ 400: "#FF6070",
17
+ 500: "#FF4757",
18
+ 700: "#C42539"},
42
19
  // Neutral/Gray scale
43
20
  neutral: {
44
21
  50: "#FAFAFA",
@@ -48,16 +25,9 @@ var primitiveColors = {
48
25
  500: "#6B7280",
49
26
  600: "#4B5563",
50
27
  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
28
  // Charcoal scale (dark backgrounds)
60
29
  charcoal: {
30
+ 200: "#3C3C3C",
61
31
  300: "#2C2C2C",
62
32
  400: "#1F1F1F",
63
33
  500: "#1C1C1C",
@@ -65,15 +35,46 @@ var primitiveColors = {
65
35
  700: "#161616",
66
36
  900: "#101010"
67
37
  },
68
- // Steel scale (cool accent)
69
- steel: {
70
- 300: "#678498",
71
- 400: "#557488",
72
- 500: "#406D87",
73
- 600: "#39617A",
74
- 700: "#32556D"},
75
38
  // Pure colors
76
39
  white: "#FFFFFF"};
40
+ var primitiveRamps = {
41
+ red: {
42
+ 50: "#FFF4F4",
43
+ 500: "#E05254",
44
+ 600: "#D14343",
45
+ // pin
46
+ 700: "#A4221C"},
47
+ orange: {
48
+ 200: "#FFC7A2",
49
+ 300: "#FFA063",
50
+ 400: "#FF7900",
51
+ // pin
52
+ 500: "#DA5F00",
53
+ 600: "#B94A00"},
54
+ amber: {
55
+ 50: "#FFF7DD",
56
+ 200: "#FFD352",
57
+ 300: "#F9B415",
58
+ 500: "#C27400"},
59
+ green: {
60
+ 50: "#E3FFEE",
61
+ 200: "#58F69E",
62
+ 300: "#2ED573",
63
+ 500: "#22A444",
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"}};
77
78
  var discreteRainbow = [
78
79
  "#E8ECFB",
79
80
  "#D9CCE3",
@@ -109,56 +110,46 @@ var discreteRainbow = [
109
110
  // src/theme/tokens/semantic.ts
110
111
  var semanticColorsLight = {
111
112
  // 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
113
+ "brand-primary": primitiveRamps.orange[400],
114
+ "brand-primary-light": primitiveRamps.orange[300],
115
+ "brand-primary-dark": primitiveRamps.orange[500],
118
116
  "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],
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],
130
125
  // Text on brand backgrounds (on-*)
131
126
  "on-brand-primary": primitiveColors.white,
132
127
  "on-brand-secondary": primitiveColors.white,
133
128
  // 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],
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
+ // Live-session accent — its OWN role, decoupled from success so the two can diverge
134
+ "status-live": primitiveRamps.green[300],
135
+ "status-live-muted": primitiveRamps.green[500],
136
+ "status-error": primitiveRamps.red[600],
137
+ "status-error-light": primitiveRamps.red[500],
138
+ "status-error-dark": primitiveRamps.red[700],
139
+ "status-error-subtle": primitiveRamps.red[50],
140
+ "status-error-vivid": primitiveColors.redVivid[500],
141
+ // vivid alert red
142
+ "status-error-vivid-light": primitiveColors.redVivid[400],
143
+ "status-error-vivid-dark": primitiveColors.redVivid[700],
144
+ "status-error-vivid-subtle": "rgba(255, 71, 87, 0.12)",
145
+ "status-warning": primitiveRamps.amber[300],
146
+ "status-warning-light": primitiveRamps.amber[200],
147
+ "status-warning-dark": primitiveRamps.amber[500],
148
+ "status-warning-subtle": primitiveRamps.amber[50],
149
+ "status-info": primitiveRamps.blue[500],
150
+ "status-info-light": primitiveRamps.blue[300],
151
+ "status-info-dark": primitiveRamps.blue[600],
152
+ "status-info-subtle": primitiveRamps.blue[50],
162
153
  // Text on status backgrounds (on-status-*)
163
154
  "on-status-success": primitiveColors.white,
164
155
  "on-status-error": primitiveColors.white,
@@ -185,25 +176,25 @@ var semanticColorsLight = {
185
176
  // Data visualization colors (data-*)
186
177
  // First 10 colors from discrete rainbow optimized for charts
187
178
  "data-1": discreteRainbow[9],
188
- // #1965B0 - Blue
179
+ // Blue
189
180
  "data-2": discreteRainbow[14],
190
- // #4EB265 - Green
181
+ // Green
191
182
  "data-3": discreteRainbow[17],
192
- // #F7F056 - Yellow
183
+ // Yellow
193
184
  "data-4": discreteRainbow[25],
194
- // #DC050C - Red
185
+ // Red
195
186
  "data-5": discreteRainbow[8],
196
- // #882E72 - Purple
187
+ // Purple
197
188
  "data-6": discreteRainbow[20],
198
- // #F4A736 - Orange
189
+ // Orange
199
190
  "data-7": discreteRainbow[13],
200
- // #7BAFDE - Light Blue
191
+ // Light Blue
201
192
  "data-8": discreteRainbow[15],
202
- // #90C987 - Light Green
193
+ // Light Green
203
194
  "data-9": discreteRainbow[3],
204
- // #CAACCB - Lavender
195
+ // Lavender
205
196
  "data-10": discreteRainbow[22],
206
- // #EE8026 - Dark Orange
197
+ // Dark Orange
207
198
  // Text colors (text-*)
208
199
  "text-primary": "#121828",
209
200
  "text-secondary": "#65748B",
@@ -215,9 +206,9 @@ var semanticColorsLight = {
215
206
  // Surface colors (surface-*) - for elevated containers
216
207
  "surface-base": primitiveColors.white,
217
208
  "surface-elevated": primitiveColors.neutral[50],
218
- // #FAFAFA - slightly off-white for elevated cards
209
+ // slightly off-white for elevated cards
219
210
  "surface-raised": primitiveColors.neutral[100],
220
- // #F3F4F6 - light gray for raised cards
211
+ // light gray for raised cards
221
212
  "surface-overlay": primitiveColors.white,
222
213
  "surface-input": primitiveColors.neutral[50],
223
214
  // Input field background (filled variant)
@@ -229,6 +220,8 @@ var semanticColorsLight = {
229
220
  "border-default": "#E8E9EB",
230
221
  "border-subtle": primitiveColors.neutral[100],
231
222
  "border-strong": primitiveColors.neutral[300],
223
+ "border-prominent": primitiveColors.neutral[400],
224
+ // high-visibility divider
232
225
  "border-focus": primitiveColors.blue[600],
233
226
  "border-input": primitiveColors.neutral[300],
234
227
  // Input field border
@@ -253,37 +246,44 @@ var semanticColorsLight = {
253
246
  };
254
247
  var semanticColorsDark = {
255
248
  // 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],
249
+ "brand-primary": primitiveRamps.orange[400],
250
+ "brand-primary-light": primitiveRamps.orange[300],
251
+ "brand-primary-dark": primitiveRamps.orange[500],
259
252
  "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],
253
+ "brand-primary-hover": primitiveRamps.orange[300],
254
+ "brand-primary-active": primitiveRamps.orange[200],
255
+ "brand-secondary": primitiveRamps.cyan[600],
256
+ "brand-secondary-light": primitiveRamps.cyan[500],
257
+ "brand-secondary-dark": primitiveRamps.cyan[700],
258
+ "brand-secondary-subtle": "rgba(48, 123, 155, 0.12)",
259
+ "brand-secondary-hover": primitiveRamps.cyan[500],
260
+ "brand-secondary-active": primitiveRamps.cyan[400],
268
261
  // Text on brand backgrounds
269
262
  "on-brand-primary": primitiveColors.white,
270
263
  "on-brand-secondary": primitiveColors.white,
271
264
  // 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],
265
+ "status-success": primitiveRamps.green[300],
266
+ "status-success-light": primitiveRamps.green[200],
267
+ "status-success-dark": primitiveRamps.green[600],
268
+ "status-success-subtle": "rgba(46, 213, 115, 0.12)",
269
+ // Live-session accent — its OWN role, decoupled from success so the two can diverge
270
+ "status-live": primitiveRamps.green[300],
271
+ "status-live-muted": primitiveRamps.green[500],
272
+ "status-error": primitiveRamps.red[600],
273
+ "status-error-light": primitiveRamps.red[500],
274
+ "status-error-dark": primitiveRamps.red[700],
279
275
  "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],
276
+ "status-error-vivid": primitiveColors.redVivid[500],
277
+ "status-error-vivid-light": primitiveColors.redVivid[400],
278
+ "status-error-vivid-dark": primitiveColors.redVivid[700],
279
+ "status-error-vivid-subtle": "rgba(255, 71, 87, 0.12)",
280
+ "status-warning": primitiveRamps.amber[300],
281
+ "status-warning-light": primitiveRamps.amber[200],
282
+ "status-warning-dark": primitiveRamps.amber[500],
283
+ "status-warning-subtle": "rgba(249, 180, 21, 0.12)",
284
+ "status-info": primitiveRamps.blue[500],
285
+ "status-info-light": primitiveRamps.blue[300],
286
+ "status-info-dark": primitiveRamps.blue[600],
287
287
  "status-info-subtle": "rgba(33, 150, 243, 0.12)",
288
288
  // Text on status backgrounds
289
289
  "on-status-success": primitiveColors.white,
@@ -325,29 +325,31 @@ var semanticColorsDark = {
325
325
  "text-link-hover": primitiveColors.blue[400],
326
326
  // Surface colors - dark backgrounds
327
327
  "surface-base": primitiveColors.charcoal[700],
328
- // #161616 - main surface
328
+ // main surface
329
329
  "surface-elevated": primitiveColors.charcoal[600],
330
- // #191919 - elevated surface
330
+ // elevated surface
331
331
  "surface-raised": primitiveColors.charcoal[500],
332
- // #1C1C1C - raised surface
332
+ // raised surface
333
333
  "surface-overlay": primitiveColors.charcoal[600],
334
- // #191919 - overlay surface
334
+ // overlay surface
335
335
  "surface-input": primitiveColors.charcoal[600],
336
- // #191919 - input surface
336
+ // input surface
337
337
  // Background colors
338
338
  "background-base": primitiveColors.charcoal[900],
339
- // #101010 - darkest charcoal
339
+ // darkest charcoal
340
340
  "background-default": primitiveColors.charcoal[700],
341
- // #161616 - main background
341
+ // main background
342
342
  "background-subtle": primitiveColors.charcoal[500],
343
- // #1C1C1C - subtle background
343
+ // subtle background
344
344
  // Border colors
345
345
  "border-default": primitiveColors.charcoal[400],
346
- // #1F1F1F - default border
346
+ // default border
347
347
  "border-subtle": primitiveColors.charcoal[500],
348
- // #1C1C1C - subtle border
348
+ // subtle border
349
349
  "border-strong": primitiveColors.charcoal[300],
350
- // #2C2C2C - strong border
350
+ // strong border
351
+ "border-prominent": primitiveColors.charcoal[200],
352
+ // high-visibility divider
351
353
  "border-focus": "#828DF8",
352
354
  "border-input": primitiveColors.neutral[600],
353
355
  "border-input-hover": primitiveColors.neutral[500],
@@ -362,7 +364,7 @@ var semanticColorsDark = {
362
364
  "interactive-disabled-text": "rgba(255, 255, 255, 0.26)",
363
365
  // Divider
364
366
  "divider": primitiveColors.charcoal[400],
365
- // #1F1F1F - divider color
367
+ // divider color
366
368
  // Avatar default
367
369
  "avatar-background": primitiveColors.neutral[600],
368
370
  "avatar-text": primitiveColors.white
@@ -372,10 +374,11 @@ var semanticColorsDark = {
372
374
  var themeIndependentCSSVars = {
373
375
  // RGB decomposed values for glow shadows
374
376
  "--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-brand-secondary-rgb": "48, 123, 155",
378
+ "--color-status-success-rgb": "46, 213, 115",
377
379
  "--color-status-error-rgb": "209, 67, 67",
378
- "--color-status-warning-rgb": "255, 176, 32",
380
+ "--color-status-error-vivid-rgb": "255, 71, 87",
381
+ "--color-status-warning-rgb": "249, 180, 21",
379
382
  "--color-status-info-rgb": "33, 150, 243",
380
383
  "--color-background-base-rgb": "16, 16, 16",
381
384
  // Font families
@@ -404,12 +407,18 @@ var lightThemeCSSVars = {
404
407
  "--color-on-brand-secondary": semanticColorsLight["on-brand-secondary"],
405
408
  "--color-status-success": semanticColorsLight["status-success"],
406
409
  "--color-status-success-subtle": semanticColorsLight["status-success-subtle"],
410
+ "--color-status-live": semanticColorsLight["status-live"],
411
+ "--color-status-live-muted": semanticColorsLight["status-live-muted"],
407
412
  "--color-status-error": semanticColorsLight["status-error"],
408
413
  "--color-status-error-subtle": semanticColorsLight["status-error-subtle"],
409
414
  "--color-status-warning": semanticColorsLight["status-warning"],
410
415
  "--color-status-warning-subtle": semanticColorsLight["status-warning-subtle"],
411
416
  "--color-status-info": semanticColorsLight["status-info"],
412
417
  "--color-status-info-subtle": semanticColorsLight["status-info-subtle"],
418
+ "--color-status-error-vivid": semanticColorsLight["status-error-vivid"],
419
+ "--color-status-error-vivid-light": semanticColorsLight["status-error-vivid-light"],
420
+ "--color-status-error-vivid-dark": semanticColorsLight["status-error-vivid-dark"],
421
+ "--color-status-error-vivid-subtle": semanticColorsLight["status-error-vivid-subtle"],
413
422
  "--color-text-primary": semanticColorsLight["text-primary"],
414
423
  "--color-text-secondary": semanticColorsLight["text-secondary"],
415
424
  "--color-text-tertiary": semanticColorsLight["text-tertiary"],
@@ -425,6 +434,7 @@ var lightThemeCSSVars = {
425
434
  "--color-border-default": semanticColorsLight["border-default"],
426
435
  "--color-border-subtle": semanticColorsLight["border-subtle"],
427
436
  "--color-border-strong": semanticColorsLight["border-strong"],
437
+ "--color-border-prominent": semanticColorsLight["border-prominent"],
428
438
  "--color-border-focus": semanticColorsLight["border-focus"],
429
439
  "--color-interactive-hover": semanticColorsLight["interactive-hover"],
430
440
  "--color-interactive-focus": semanticColorsLight["interactive-focus"],
@@ -495,12 +505,18 @@ var darkThemeCSSVars = {
495
505
  "--color-on-brand-secondary": semanticColorsDark["on-brand-secondary"],
496
506
  "--color-status-success": semanticColorsDark["status-success"],
497
507
  "--color-status-success-subtle": semanticColorsDark["status-success-subtle"],
508
+ "--color-status-live": semanticColorsDark["status-live"],
509
+ "--color-status-live-muted": semanticColorsDark["status-live-muted"],
498
510
  "--color-status-error": semanticColorsDark["status-error"],
499
511
  "--color-status-error-subtle": semanticColorsDark["status-error-subtle"],
500
512
  "--color-status-warning": semanticColorsDark["status-warning"],
501
513
  "--color-status-warning-subtle": semanticColorsDark["status-warning-subtle"],
502
514
  "--color-status-info": semanticColorsDark["status-info"],
503
515
  "--color-status-info-subtle": semanticColorsDark["status-info-subtle"],
516
+ "--color-status-error-vivid": semanticColorsDark["status-error-vivid"],
517
+ "--color-status-error-vivid-light": semanticColorsDark["status-error-vivid-light"],
518
+ "--color-status-error-vivid-dark": semanticColorsDark["status-error-vivid-dark"],
519
+ "--color-status-error-vivid-subtle": semanticColorsDark["status-error-vivid-subtle"],
504
520
  "--color-text-primary": semanticColorsDark["text-primary"],
505
521
  "--color-text-secondary": semanticColorsDark["text-secondary"],
506
522
  "--color-text-tertiary": semanticColorsDark["text-tertiary"],
@@ -516,6 +532,7 @@ var darkThemeCSSVars = {
516
532
  "--color-border-default": semanticColorsDark["border-default"],
517
533
  "--color-border-subtle": semanticColorsDark["border-subtle"],
518
534
  "--color-border-strong": semanticColorsDark["border-strong"],
535
+ "--color-border-prominent": semanticColorsDark["border-prominent"],
519
536
  "--color-border-focus": semanticColorsDark["border-focus"],
520
537
  "--color-interactive-hover": semanticColorsDark["interactive-hover"],
521
538
  "--color-interactive-focus": semanticColorsDark["interactive-focus"],