@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
@@ -1,42 +1,19 @@
1
1
  // src/theme/tokens/primitives.ts
2
2
  var primitiveColors = {
3
- // Blue scale (primary brand)
3
+ // Blue scale
4
4
  blue: {
5
5
  400: "#60A5FA",
6
6
  600: "#5048E5",
7
- // Primary main
8
7
  700: "#3832A0"},
9
- // Teal scale (success)
10
- teal: {
11
- 50: "#F0FDFA",
12
- 400: "#43C6B7",
13
- // Success light
14
- 500: "#14B8A6",
15
- 700: "#0E8074"},
16
- // Red scale (error)
8
+ // Red scale
17
9
  red: {
18
- 50: "#FEF2F2",
19
- 400: "#DA6868",
20
- // Error light
21
10
  500: "#EF4444",
22
- 600: "#D14343",
23
- // Error main
24
- 700: "#922E2E"},
25
- // Amber scale (warning)
26
- amber: {
27
- 50: "#FFFBEB",
28
- 400: "#FFBF4C",
29
- // Warning light
30
- 500: "#FFB020",
31
- // Warning main
32
- 600: "#B27B16"},
33
- // Sky/Blue scale (info)
34
- sky: {
35
- 50: "#F0F9FF",
36
- 400: "#64B6F7",
37
- // Info light
38
- 500: "#2196F3",
39
- 700: "#0B79D0"},
11
+ 600: "#D14343"},
12
+ // Vivid red scale
13
+ redVivid: {
14
+ 400: "#FF6070",
15
+ 500: "#FF4757",
16
+ 700: "#C42539"},
40
17
  // Neutral/Gray scale
41
18
  neutral: {
42
19
  50: "#FAFAFA",
@@ -46,16 +23,9 @@ var primitiveColors = {
46
23
  500: "#6B7280",
47
24
  600: "#4B5563",
48
25
  900: "#111827"},
49
- // Orange scale (accent/brand color)
50
- accent: {
51
- 200: "#FF9630",
52
- 300: "#FF8500",
53
- 400: "#FF7900",
54
- 500: "#F56C00",
55
- 600: "#E06D10",
56
- 700: "#D0620C"},
57
26
  // Charcoal scale (dark backgrounds)
58
27
  charcoal: {
28
+ 200: "#3C3C3C",
59
29
  300: "#2C2C2C",
60
30
  400: "#1F1F1F",
61
31
  500: "#1C1C1C",
@@ -63,15 +33,46 @@ var primitiveColors = {
63
33
  700: "#161616",
64
34
  900: "#101010"
65
35
  },
66
- // Steel scale (cool accent)
67
- steel: {
68
- 300: "#678498",
69
- 400: "#557488",
70
- 500: "#406D87",
71
- 600: "#39617A",
72
- 700: "#32556D"},
73
36
  // Pure colors
74
37
  white: "#FFFFFF"};
38
+ var primitiveRamps = {
39
+ red: {
40
+ 50: "#FFF4F4",
41
+ 500: "#E05254",
42
+ 600: "#D14343",
43
+ // pin
44
+ 700: "#A4221C"},
45
+ orange: {
46
+ 200: "#FFC7A2",
47
+ 300: "#FFA063",
48
+ 400: "#FF7900",
49
+ // pin
50
+ 500: "#DA5F00",
51
+ 600: "#B94A00"},
52
+ amber: {
53
+ 50: "#FFF7DD",
54
+ 200: "#FFD352",
55
+ 300: "#F9B415",
56
+ 500: "#C27400"},
57
+ green: {
58
+ 50: "#E3FFEE",
59
+ 200: "#58F69E",
60
+ 300: "#2ED573",
61
+ 500: "#22A444",
62
+ 600: "#298732"},
63
+ cyan: {
64
+ // pin
65
+ 400: "#01B5D1",
66
+ 500: "#2697B7",
67
+ 600: "#307B9B",
68
+ 700: "#2A617F",
69
+ 800: "#22465F"},
70
+ blue: {
71
+ 50: "#EFF8FF",
72
+ 300: "#78C2FF",
73
+ 500: "#2196F3",
74
+ // pin
75
+ 600: "#1072CB"}};
75
76
  var discreteRainbow = [
76
77
  "#E8ECFB",
77
78
  "#D9CCE3",
@@ -107,56 +108,46 @@ var discreteRainbow = [
107
108
  // src/theme/tokens/semantic.ts
108
109
  var semanticColorsLight = {
109
110
  // Brand colors (brand-*)
110
- "brand-primary": primitiveColors.accent[400],
111
- // #FF7900
112
- "brand-primary-light": primitiveColors.accent[200],
113
- // #FF9630
114
- "brand-primary-dark": primitiveColors.accent[700],
115
- // #D0620C
111
+ "brand-primary": primitiveRamps.orange[400],
112
+ "brand-primary-light": primitiveRamps.orange[300],
113
+ "brand-primary-dark": primitiveRamps.orange[500],
116
114
  "brand-primary-subtle": "rgba(255, 121, 0, 0.08)",
117
- "brand-primary-hover": primitiveColors.accent[500],
118
- "brand-primary-active": primitiveColors.accent[600],
119
- "brand-secondary": primitiveColors.steel[500],
120
- // #406D87
121
- "brand-secondary-light": primitiveColors.steel[300],
122
- // #678498
123
- "brand-secondary-dark": primitiveColors.steel[700],
124
- // #32556D
125
- "brand-secondary-subtle": "rgba(64, 109, 135, 0.08)",
126
- "brand-secondary-hover": primitiveColors.steel[600],
127
- "brand-secondary-active": primitiveColors.steel[700],
115
+ "brand-primary-hover": primitiveRamps.orange[500],
116
+ "brand-primary-active": primitiveRamps.orange[600],
117
+ "brand-secondary": primitiveRamps.cyan[600],
118
+ "brand-secondary-light": primitiveRamps.cyan[500],
119
+ "brand-secondary-dark": primitiveRamps.cyan[700],
120
+ "brand-secondary-subtle": "rgba(48, 123, 155, 0.08)",
121
+ "brand-secondary-hover": primitiveRamps.cyan[700],
122
+ "brand-secondary-active": primitiveRamps.cyan[800],
128
123
  // Text on brand backgrounds (on-*)
129
124
  "on-brand-primary": primitiveColors.white,
130
125
  "on-brand-secondary": primitiveColors.white,
131
126
  // Status colors (status-*)
132
- "status-success": primitiveColors.teal[500],
133
- // #14B8A6
134
- "status-success-light": primitiveColors.teal[400],
135
- // #43C6B7
136
- "status-success-dark": primitiveColors.teal[700],
137
- // #0E8074
138
- "status-success-subtle": primitiveColors.teal[50],
139
- "status-error": primitiveColors.red[600],
140
- // #D14343
141
- "status-error-light": primitiveColors.red[400],
142
- // #DA6868
143
- "status-error-dark": primitiveColors.red[700],
144
- // #922E2E
145
- "status-error-subtle": primitiveColors.red[50],
146
- "status-warning": primitiveColors.amber[500],
147
- // #FFB020
148
- "status-warning-light": primitiveColors.amber[400],
149
- // #FFBF4C
150
- "status-warning-dark": primitiveColors.amber[600],
151
- // #B27B16
152
- "status-warning-subtle": primitiveColors.amber[50],
153
- "status-info": primitiveColors.sky[500],
154
- // #2196F3
155
- "status-info-light": primitiveColors.sky[400],
156
- // #64B6F7
157
- "status-info-dark": primitiveColors.sky[700],
158
- // #0B79D0
159
- "status-info-subtle": primitiveColors.sky[50],
127
+ "status-success": primitiveRamps.green[300],
128
+ "status-success-light": primitiveRamps.green[200],
129
+ "status-success-dark": primitiveRamps.green[600],
130
+ "status-success-subtle": primitiveRamps.green[50],
131
+ // Live-session accent — its OWN role, decoupled from success so the two can diverge
132
+ "status-live": primitiveRamps.green[300],
133
+ "status-live-muted": primitiveRamps.green[500],
134
+ "status-error": primitiveRamps.red[600],
135
+ "status-error-light": primitiveRamps.red[500],
136
+ "status-error-dark": primitiveRamps.red[700],
137
+ "status-error-subtle": primitiveRamps.red[50],
138
+ "status-error-vivid": primitiveColors.redVivid[500],
139
+ // vivid alert red
140
+ "status-error-vivid-light": primitiveColors.redVivid[400],
141
+ "status-error-vivid-dark": primitiveColors.redVivid[700],
142
+ "status-error-vivid-subtle": "rgba(255, 71, 87, 0.12)",
143
+ "status-warning": primitiveRamps.amber[300],
144
+ "status-warning-light": primitiveRamps.amber[200],
145
+ "status-warning-dark": primitiveRamps.amber[500],
146
+ "status-warning-subtle": primitiveRamps.amber[50],
147
+ "status-info": primitiveRamps.blue[500],
148
+ "status-info-light": primitiveRamps.blue[300],
149
+ "status-info-dark": primitiveRamps.blue[600],
150
+ "status-info-subtle": primitiveRamps.blue[50],
160
151
  // Text on status backgrounds (on-status-*)
161
152
  "on-status-success": primitiveColors.white,
162
153
  "on-status-error": primitiveColors.white,
@@ -183,25 +174,25 @@ var semanticColorsLight = {
183
174
  // Data visualization colors (data-*)
184
175
  // First 10 colors from discrete rainbow optimized for charts
185
176
  "data-1": discreteRainbow[9],
186
- // #1965B0 - Blue
177
+ // Blue
187
178
  "data-2": discreteRainbow[14],
188
- // #4EB265 - Green
179
+ // Green
189
180
  "data-3": discreteRainbow[17],
190
- // #F7F056 - Yellow
181
+ // Yellow
191
182
  "data-4": discreteRainbow[25],
192
- // #DC050C - Red
183
+ // Red
193
184
  "data-5": discreteRainbow[8],
194
- // #882E72 - Purple
185
+ // Purple
195
186
  "data-6": discreteRainbow[20],
196
- // #F4A736 - Orange
187
+ // Orange
197
188
  "data-7": discreteRainbow[13],
198
- // #7BAFDE - Light Blue
189
+ // Light Blue
199
190
  "data-8": discreteRainbow[15],
200
- // #90C987 - Light Green
191
+ // Light Green
201
192
  "data-9": discreteRainbow[3],
202
- // #CAACCB - Lavender
193
+ // Lavender
203
194
  "data-10": discreteRainbow[22],
204
- // #EE8026 - Dark Orange
195
+ // Dark Orange
205
196
  // Text colors (text-*)
206
197
  "text-primary": "#121828",
207
198
  "text-secondary": "#65748B",
@@ -213,9 +204,9 @@ var semanticColorsLight = {
213
204
  // Surface colors (surface-*) - for elevated containers
214
205
  "surface-base": primitiveColors.white,
215
206
  "surface-elevated": primitiveColors.neutral[50],
216
- // #FAFAFA - slightly off-white for elevated cards
207
+ // slightly off-white for elevated cards
217
208
  "surface-raised": primitiveColors.neutral[100],
218
- // #F3F4F6 - light gray for raised cards
209
+ // light gray for raised cards
219
210
  "surface-overlay": primitiveColors.white,
220
211
  "surface-input": primitiveColors.neutral[50],
221
212
  // Input field background (filled variant)
@@ -227,6 +218,8 @@ var semanticColorsLight = {
227
218
  "border-default": "#E8E9EB",
228
219
  "border-subtle": primitiveColors.neutral[100],
229
220
  "border-strong": primitiveColors.neutral[300],
221
+ "border-prominent": primitiveColors.neutral[400],
222
+ // high-visibility divider
230
223
  "border-focus": primitiveColors.blue[600],
231
224
  "border-input": primitiveColors.neutral[300],
232
225
  // Input field border
@@ -251,37 +244,44 @@ var semanticColorsLight = {
251
244
  };
252
245
  var semanticColorsDark = {
253
246
  // Brand colors stay the same in dark mode
254
- "brand-primary": primitiveColors.accent[400],
255
- "brand-primary-light": primitiveColors.accent[200],
256
- "brand-primary-dark": primitiveColors.accent[700],
247
+ "brand-primary": primitiveRamps.orange[400],
248
+ "brand-primary-light": primitiveRamps.orange[300],
249
+ "brand-primary-dark": primitiveRamps.orange[500],
257
250
  "brand-primary-subtle": "rgba(255, 121, 0, 0.12)",
258
- "brand-primary-hover": primitiveColors.accent[300],
259
- "brand-primary-active": primitiveColors.accent[200],
260
- "brand-secondary": primitiveColors.steel[500],
261
- "brand-secondary-light": primitiveColors.steel[300],
262
- "brand-secondary-dark": primitiveColors.steel[700],
263
- "brand-secondary-subtle": "rgba(64, 109, 135, 0.12)",
264
- "brand-secondary-hover": primitiveColors.steel[400],
265
- "brand-secondary-active": primitiveColors.steel[300],
251
+ "brand-primary-hover": primitiveRamps.orange[300],
252
+ "brand-primary-active": primitiveRamps.orange[200],
253
+ "brand-secondary": primitiveRamps.cyan[600],
254
+ "brand-secondary-light": primitiveRamps.cyan[500],
255
+ "brand-secondary-dark": primitiveRamps.cyan[700],
256
+ "brand-secondary-subtle": "rgba(48, 123, 155, 0.12)",
257
+ "brand-secondary-hover": primitiveRamps.cyan[500],
258
+ "brand-secondary-active": primitiveRamps.cyan[400],
266
259
  // Text on brand backgrounds
267
260
  "on-brand-primary": primitiveColors.white,
268
261
  "on-brand-secondary": primitiveColors.white,
269
262
  // Status colors
270
- "status-success": primitiveColors.teal[500],
271
- "status-success-light": primitiveColors.teal[400],
272
- "status-success-dark": primitiveColors.teal[700],
273
- "status-success-subtle": "rgba(20, 184, 166, 0.12)",
274
- "status-error": primitiveColors.red[600],
275
- "status-error-light": primitiveColors.red[400],
276
- "status-error-dark": primitiveColors.red[700],
263
+ "status-success": primitiveRamps.green[300],
264
+ "status-success-light": primitiveRamps.green[200],
265
+ "status-success-dark": primitiveRamps.green[600],
266
+ "status-success-subtle": "rgba(46, 213, 115, 0.12)",
267
+ // Live-session accent — its OWN role, decoupled from success so the two can diverge
268
+ "status-live": primitiveRamps.green[300],
269
+ "status-live-muted": primitiveRamps.green[500],
270
+ "status-error": primitiveRamps.red[600],
271
+ "status-error-light": primitiveRamps.red[500],
272
+ "status-error-dark": primitiveRamps.red[700],
277
273
  "status-error-subtle": "rgba(209, 67, 67, 0.12)",
278
- "status-warning": primitiveColors.amber[500],
279
- "status-warning-light": primitiveColors.amber[400],
280
- "status-warning-dark": primitiveColors.amber[600],
281
- "status-warning-subtle": "rgba(255, 176, 32, 0.12)",
282
- "status-info": primitiveColors.sky[500],
283
- "status-info-light": primitiveColors.sky[400],
284
- "status-info-dark": primitiveColors.sky[700],
274
+ "status-error-vivid": primitiveColors.redVivid[500],
275
+ "status-error-vivid-light": primitiveColors.redVivid[400],
276
+ "status-error-vivid-dark": primitiveColors.redVivid[700],
277
+ "status-error-vivid-subtle": "rgba(255, 71, 87, 0.12)",
278
+ "status-warning": primitiveRamps.amber[300],
279
+ "status-warning-light": primitiveRamps.amber[200],
280
+ "status-warning-dark": primitiveRamps.amber[500],
281
+ "status-warning-subtle": "rgba(249, 180, 21, 0.12)",
282
+ "status-info": primitiveRamps.blue[500],
283
+ "status-info-light": primitiveRamps.blue[300],
284
+ "status-info-dark": primitiveRamps.blue[600],
285
285
  "status-info-subtle": "rgba(33, 150, 243, 0.12)",
286
286
  // Text on status backgrounds
287
287
  "on-status-success": primitiveColors.white,
@@ -323,29 +323,31 @@ var semanticColorsDark = {
323
323
  "text-link-hover": primitiveColors.blue[400],
324
324
  // Surface colors - dark backgrounds
325
325
  "surface-base": primitiveColors.charcoal[700],
326
- // #161616 - main surface
326
+ // main surface
327
327
  "surface-elevated": primitiveColors.charcoal[600],
328
- // #191919 - elevated surface
328
+ // elevated surface
329
329
  "surface-raised": primitiveColors.charcoal[500],
330
- // #1C1C1C - raised surface
330
+ // raised surface
331
331
  "surface-overlay": primitiveColors.charcoal[600],
332
- // #191919 - overlay surface
332
+ // overlay surface
333
333
  "surface-input": primitiveColors.charcoal[600],
334
- // #191919 - input surface
334
+ // input surface
335
335
  // Background colors
336
336
  "background-base": primitiveColors.charcoal[900],
337
- // #101010 - darkest charcoal
337
+ // darkest charcoal
338
338
  "background-default": primitiveColors.charcoal[700],
339
- // #161616 - main background
339
+ // main background
340
340
  "background-subtle": primitiveColors.charcoal[500],
341
- // #1C1C1C - subtle background
341
+ // subtle background
342
342
  // Border colors
343
343
  "border-default": primitiveColors.charcoal[400],
344
- // #1F1F1F - default border
344
+ // default border
345
345
  "border-subtle": primitiveColors.charcoal[500],
346
- // #1C1C1C - subtle border
346
+ // subtle border
347
347
  "border-strong": primitiveColors.charcoal[300],
348
- // #2C2C2C - strong border
348
+ // strong border
349
+ "border-prominent": primitiveColors.charcoal[200],
350
+ // high-visibility divider
349
351
  "border-focus": "#828DF8",
350
352
  "border-input": primitiveColors.neutral[600],
351
353
  "border-input-hover": primitiveColors.neutral[500],
@@ -360,7 +362,7 @@ var semanticColorsDark = {
360
362
  "interactive-disabled-text": "rgba(255, 255, 255, 0.26)",
361
363
  // Divider
362
364
  "divider": primitiveColors.charcoal[400],
363
- // #1F1F1F - divider color
365
+ // divider color
364
366
  // Avatar default
365
367
  "avatar-background": primitiveColors.neutral[600],
366
368
  "avatar-text": primitiveColors.white
@@ -370,10 +372,11 @@ var semanticColorsDark = {
370
372
  var themeIndependentCSSVars = {
371
373
  // RGB decomposed values for glow shadows
372
374
  "--color-brand-primary-rgb": "255, 121, 0",
373
- "--color-brand-secondary-rgb": "64, 109, 135",
374
- "--color-status-success-rgb": "20, 184, 166",
375
+ "--color-brand-secondary-rgb": "48, 123, 155",
376
+ "--color-status-success-rgb": "46, 213, 115",
375
377
  "--color-status-error-rgb": "209, 67, 67",
376
- "--color-status-warning-rgb": "255, 176, 32",
378
+ "--color-status-error-vivid-rgb": "255, 71, 87",
379
+ "--color-status-warning-rgb": "249, 180, 21",
377
380
  "--color-status-info-rgb": "33, 150, 243",
378
381
  "--color-background-base-rgb": "16, 16, 16",
379
382
  // Font families
@@ -402,12 +405,18 @@ var lightThemeCSSVars = {
402
405
  "--color-on-brand-secondary": semanticColorsLight["on-brand-secondary"],
403
406
  "--color-status-success": semanticColorsLight["status-success"],
404
407
  "--color-status-success-subtle": semanticColorsLight["status-success-subtle"],
408
+ "--color-status-live": semanticColorsLight["status-live"],
409
+ "--color-status-live-muted": semanticColorsLight["status-live-muted"],
405
410
  "--color-status-error": semanticColorsLight["status-error"],
406
411
  "--color-status-error-subtle": semanticColorsLight["status-error-subtle"],
407
412
  "--color-status-warning": semanticColorsLight["status-warning"],
408
413
  "--color-status-warning-subtle": semanticColorsLight["status-warning-subtle"],
409
414
  "--color-status-info": semanticColorsLight["status-info"],
410
415
  "--color-status-info-subtle": semanticColorsLight["status-info-subtle"],
416
+ "--color-status-error-vivid": semanticColorsLight["status-error-vivid"],
417
+ "--color-status-error-vivid-light": semanticColorsLight["status-error-vivid-light"],
418
+ "--color-status-error-vivid-dark": semanticColorsLight["status-error-vivid-dark"],
419
+ "--color-status-error-vivid-subtle": semanticColorsLight["status-error-vivid-subtle"],
411
420
  "--color-text-primary": semanticColorsLight["text-primary"],
412
421
  "--color-text-secondary": semanticColorsLight["text-secondary"],
413
422
  "--color-text-tertiary": semanticColorsLight["text-tertiary"],
@@ -423,6 +432,7 @@ var lightThemeCSSVars = {
423
432
  "--color-border-default": semanticColorsLight["border-default"],
424
433
  "--color-border-subtle": semanticColorsLight["border-subtle"],
425
434
  "--color-border-strong": semanticColorsLight["border-strong"],
435
+ "--color-border-prominent": semanticColorsLight["border-prominent"],
426
436
  "--color-border-focus": semanticColorsLight["border-focus"],
427
437
  "--color-interactive-hover": semanticColorsLight["interactive-hover"],
428
438
  "--color-interactive-focus": semanticColorsLight["interactive-focus"],
@@ -493,12 +503,18 @@ var darkThemeCSSVars = {
493
503
  "--color-on-brand-secondary": semanticColorsDark["on-brand-secondary"],
494
504
  "--color-status-success": semanticColorsDark["status-success"],
495
505
  "--color-status-success-subtle": semanticColorsDark["status-success-subtle"],
506
+ "--color-status-live": semanticColorsDark["status-live"],
507
+ "--color-status-live-muted": semanticColorsDark["status-live-muted"],
496
508
  "--color-status-error": semanticColorsDark["status-error"],
497
509
  "--color-status-error-subtle": semanticColorsDark["status-error-subtle"],
498
510
  "--color-status-warning": semanticColorsDark["status-warning"],
499
511
  "--color-status-warning-subtle": semanticColorsDark["status-warning-subtle"],
500
512
  "--color-status-info": semanticColorsDark["status-info"],
501
513
  "--color-status-info-subtle": semanticColorsDark["status-info-subtle"],
514
+ "--color-status-error-vivid": semanticColorsDark["status-error-vivid"],
515
+ "--color-status-error-vivid-light": semanticColorsDark["status-error-vivid-light"],
516
+ "--color-status-error-vivid-dark": semanticColorsDark["status-error-vivid-dark"],
517
+ "--color-status-error-vivid-subtle": semanticColorsDark["status-error-vivid-subtle"],
502
518
  "--color-text-primary": semanticColorsDark["text-primary"],
503
519
  "--color-text-secondary": semanticColorsDark["text-secondary"],
504
520
  "--color-text-tertiary": semanticColorsDark["text-tertiary"],
@@ -514,6 +530,7 @@ var darkThemeCSSVars = {
514
530
  "--color-border-default": semanticColorsDark["border-default"],
515
531
  "--color-border-subtle": semanticColorsDark["border-subtle"],
516
532
  "--color-border-strong": semanticColorsDark["border-strong"],
533
+ "--color-border-prominent": semanticColorsDark["border-prominent"],
517
534
  "--color-border-focus": semanticColorsDark["border-focus"],
518
535
  "--color-interactive-hover": semanticColorsDark["interactive-hover"],
519
536
  "--color-interactive-focus": semanticColorsDark["interactive-focus"],