@titan-design/react-ui 0.6.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 (248) hide show
  1. package/dist/bodymap.js +12 -7
  2. package/dist/bodymap.js.map +1 -1
  3. package/dist/bodymap.mjs +12 -7
  4. package/dist/bodymap.mjs.map +1 -1
  5. package/dist/index.d.mts +855 -124
  6. package/dist/index.d.ts +855 -124
  7. package/dist/index.js +2276 -801
  8. package/dist/index.js.map +1 -1
  9. package/dist/index.mjs +2230 -802
  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 +1255 -798
  16. package/dist/pages.js.map +1 -1
  17. package/dist/pages.mjs +1255 -798
  18. package/dist/pages.mjs.map +1 -1
  19. package/dist/theme/index.d.mts +16 -82
  20. package/dist/theme/index.d.ts +16 -82
  21. package/dist/theme/index.js +13 -115
  22. package/dist/theme/index.js.map +1 -1
  23. package/dist/theme/index.mjs +13 -115
  24. package/dist/theme/index.mjs.map +1 -1
  25. package/dist/theme/tokens-css.js +14 -6
  26. package/dist/theme/tokens-css.js.map +1 -1
  27. package/dist/theme/tokens-css.mjs +14 -6
  28. package/dist/theme/tokens-css.mjs.map +1 -1
  29. package/package.json +1 -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 +1 -1
  34. package/src/components/custom/EmptyState/EmptyState.stories.tsx +1 -1
  35. package/src/components/custom/Gauge/Gauge.stories.tsx +1 -1
  36. package/src/components/custom/Metric/Metric.stories.tsx +1 -1
  37. package/src/components/custom/Scatter/Scatter.stories.tsx +1 -1
  38. package/src/components/custom/Sidebar/Sidebar.stories.tsx +1 -1
  39. package/src/components/custom/Table/Table.stories.tsx +1 -1
  40. package/src/components/custom/TimerReadout/TimerReadout.stories.tsx +62 -0
  41. package/src/components/custom/TimerReadout/TimerReadout.test.tsx +72 -0
  42. package/src/components/custom/TimerReadout/TimerReadout.tsx +75 -0
  43. package/src/components/custom/TimerReadout/index.ts +1 -0
  44. package/src/components/custom/Treemap/Treemap.stories.tsx +1 -1
  45. package/src/components/custom/Typography/Typography.stories.tsx +1 -1
  46. package/src/components/custom/Workout/ActiveWorkoutPage.stories.tsx +21 -13
  47. package/src/components/custom/Workout/ActiveWorkoutPage.test.tsx +16 -13
  48. package/src/components/custom/Workout/ActiveWorkoutPage.tsx +9 -15
  49. package/src/components/custom/Workout/BaseBadge.stories.tsx +1 -1
  50. package/src/components/custom/Workout/BodyMap.stories.tsx +1 -1
  51. package/src/components/custom/Workout/BodyMapDetailPanel.stories.tsx +1 -1
  52. package/src/components/custom/Workout/CapacityBandChart.stories.tsx +1 -1
  53. package/src/components/custom/Workout/DeviationBar.stories.tsx +1 -1
  54. package/src/components/custom/Workout/ExerciseCard.stories.tsx +51 -66
  55. package/src/components/custom/Workout/ExerciseCard.test.tsx +146 -143
  56. package/src/components/custom/Workout/ExerciseCard.tsx +176 -198
  57. package/src/components/custom/Workout/ExerciseCardHeading.stories.tsx +99 -0
  58. package/src/components/custom/Workout/ExerciseCardHeading.test.tsx +72 -0
  59. package/src/components/custom/Workout/ExerciseCardHeading.tsx +43 -0
  60. package/src/components/custom/Workout/ExerciseCardUnified.stories.tsx +151 -0
  61. package/src/components/custom/Workout/ExerciseDetailPage.stories.tsx +5 -3
  62. package/src/components/custom/Workout/ExerciseDetailPage.test.tsx +4 -4
  63. package/src/components/custom/Workout/ExerciseDetailPage.tsx +4 -5
  64. package/src/components/custom/Workout/ExerciseHeading.stories.tsx +81 -0
  65. package/src/components/custom/Workout/ExerciseHeading.test.tsx +77 -0
  66. package/src/components/custom/Workout/ExerciseHeading.tsx +85 -0
  67. package/src/components/custom/Workout/ExerciseIndicator.stories.tsx +110 -0
  68. package/src/components/custom/Workout/ExerciseIndicator.test.tsx +93 -0
  69. package/src/components/custom/Workout/ExerciseIndicator.tsx +120 -0
  70. package/src/components/custom/Workout/FatigueMeter.stories.tsx +51 -0
  71. package/src/components/custom/Workout/FatigueMeter.test.tsx +73 -0
  72. package/src/components/custom/Workout/FatigueMeter.tsx +82 -0
  73. package/src/components/custom/Workout/InputBar.stories.tsx +1 -1
  74. package/src/components/custom/Workout/IntensityBar.stories.tsx +1 -1
  75. package/src/components/custom/Workout/LiveAuraFrame.stories.tsx +153 -0
  76. package/src/components/custom/Workout/LiveAuraFrame.test.tsx +74 -0
  77. package/src/components/custom/Workout/LiveAuraFrame.tsx +105 -0
  78. package/src/components/custom/Workout/MesoCard.stories.tsx +1 -1
  79. package/src/components/custom/Workout/MesoProgressBar.stories.tsx +1 -1
  80. package/src/components/custom/Workout/MesoStatusCard.stories.tsx +1 -1
  81. package/src/components/custom/Workout/MetricTiles.stories.tsx +60 -0
  82. package/src/components/custom/Workout/MetricTiles.test.tsx +58 -0
  83. package/src/components/custom/Workout/MetricTiles.tsx +48 -0
  84. package/src/components/custom/Workout/MuscleGroupChip.stories.tsx +1 -1
  85. package/src/components/custom/Workout/PlaceholderStrip.stories.tsx +1 -1
  86. package/src/components/custom/Workout/PrBadge.stories.tsx +1 -1
  87. package/src/components/custom/Workout/PrHistoryModal.stories.tsx +1 -1
  88. package/src/components/custom/Workout/ProgramPlanningPage.stories.tsx +4 -16
  89. package/src/components/custom/Workout/ProgramPlanningPage.tsx +8 -6
  90. package/src/components/custom/Workout/README.md +146 -4
  91. package/src/components/custom/Workout/ReadinessCheck.stories.tsx +1 -1
  92. package/src/components/custom/Workout/RestTimer.stories.tsx +1 -1
  93. package/src/components/custom/Workout/RestTimer.tsx +15 -10
  94. package/src/components/custom/Workout/RowInventory.stories.tsx +405 -0
  95. package/src/components/custom/Workout/S3FullRail.stories.tsx +34 -0
  96. package/src/components/custom/Workout/S3SessionPace.stories.tsx +95 -0
  97. package/src/components/custom/Workout/S3SessionRailHeading.stories.tsx +61 -0
  98. package/src/components/custom/Workout/S3SetTypes.stories.tsx +176 -0
  99. package/src/components/custom/Workout/S3WorkoutExpansion.stories.tsx +240 -0
  100. package/src/components/custom/Workout/ScheduleTiles.stories.tsx +40 -0
  101. package/src/components/custom/Workout/ScheduleTiles.test.tsx +34 -0
  102. package/src/components/custom/Workout/ScheduleTiles.tsx +70 -0
  103. package/src/components/custom/Workout/SegmentedBar.stories.tsx +99 -0
  104. package/src/components/custom/Workout/SegmentedBar.test.tsx +77 -0
  105. package/src/components/custom/Workout/SegmentedBar.tsx +172 -0
  106. package/src/components/custom/Workout/SegmentedProgressBar.stories.tsx +50 -0
  107. package/src/components/custom/Workout/SegmentedProgressBar.test.tsx +80 -0
  108. package/src/components/custom/Workout/SegmentedProgressBar.tsx +67 -0
  109. package/src/components/custom/Workout/SessionHeader.stories.tsx +121 -0
  110. package/src/components/custom/Workout/SessionHeader.test.tsx +122 -0
  111. package/src/components/custom/Workout/SessionHeader.tsx +152 -0
  112. package/src/components/custom/Workout/SessionRail.stories.tsx +153 -0
  113. package/src/components/custom/Workout/SessionRail.test.tsx +86 -0
  114. package/src/components/custom/Workout/SessionRail.tsx +126 -0
  115. package/src/components/custom/Workout/SetBar.stories.tsx +124 -0
  116. package/src/components/custom/Workout/SetBar.test.tsx +123 -0
  117. package/src/components/custom/Workout/SetBar.tsx +171 -0
  118. package/src/components/custom/Workout/SetRow.stories.tsx +50 -100
  119. package/src/components/custom/Workout/SetRow.test.tsx +94 -166
  120. package/src/components/custom/Workout/SetRow.tsx +169 -232
  121. package/src/components/custom/Workout/SetStrip.stories.tsx +154 -0
  122. package/src/components/custom/Workout/SetStrip.test.tsx +109 -0
  123. package/src/components/custom/Workout/SetStrip.tsx +71 -0
  124. package/src/components/custom/Workout/SetTableHeader.stories.tsx +66 -0
  125. package/src/components/custom/Workout/SetTableHeader.test.tsx +47 -0
  126. package/src/components/custom/Workout/SetTableHeader.tsx +88 -0
  127. package/src/components/custom/Workout/SetsRepsLoad.stories.tsx +47 -0
  128. package/src/components/custom/Workout/SetsRepsLoad.test.tsx +44 -0
  129. package/src/components/custom/Workout/SetsRepsLoad.tsx +52 -0
  130. package/src/components/custom/Workout/Sparkline.stories.tsx +1 -1
  131. package/src/components/custom/Workout/StatusDot.stories.tsx +1 -1
  132. package/src/components/custom/Workout/StatusPill.stories.tsx +59 -0
  133. package/src/components/custom/Workout/StatusPill.test.tsx +63 -0
  134. package/src/components/custom/Workout/StatusPill.tsx +88 -0
  135. package/src/components/custom/Workout/StrengthTrendChart.stories.tsx +1 -1
  136. package/src/components/custom/Workout/SupersetWrapper.stories.tsx +1 -1
  137. package/src/components/custom/Workout/TempoBar.stories.tsx +1 -1
  138. package/src/components/custom/Workout/TempoDisplay.stories.tsx +12 -1
  139. package/src/components/custom/Workout/TempoDisplay.tsx +23 -33
  140. package/src/components/custom/Workout/TrainingStatusPage.stories.tsx +1 -1
  141. package/src/components/custom/Workout/VelocityStrip.modalities.stories.tsx +254 -0
  142. package/src/components/custom/Workout/VelocityStrip.responsive.stories.tsx +145 -0
  143. package/src/components/custom/Workout/VelocityStrip.stories.tsx +129 -66
  144. package/src/components/custom/Workout/VelocityStrip.test.tsx +376 -141
  145. package/src/components/custom/Workout/VelocityStrip.tsx +508 -120
  146. package/src/components/custom/Workout/VolumeLandmarkBar.stories.tsx +73 -0
  147. package/src/components/custom/Workout/VolumeLandmarkBar.test.tsx +119 -0
  148. package/src/components/custom/Workout/VolumeLandmarkBar.tsx +154 -0
  149. package/src/components/custom/Workout/WeekRow.stories.tsx +1 -1
  150. package/src/components/custom/Workout/WeightBadge.stories.tsx +1 -1
  151. package/src/components/custom/Workout/WorkoutCard.stories.tsx +2 -6
  152. package/src/components/custom/Workout/WorkoutCard.test.tsx +13 -46
  153. package/src/components/custom/Workout/WorkoutPill.stories.tsx +1 -1
  154. package/src/components/custom/Workout/ZoneTrack.stories.tsx +140 -0
  155. package/src/components/custom/Workout/ZoneTrack.test.tsx +200 -0
  156. package/src/components/custom/Workout/ZoneTrack.tsx +315 -0
  157. package/src/components/custom/Workout/index.ts +55 -2
  158. package/src/components/custom/Workout/metricText.stories.tsx +69 -0
  159. package/src/components/custom/Workout/metricText.tsx +34 -0
  160. package/src/components/custom/Workout/paceTone.test.ts +29 -0
  161. package/src/components/custom/Workout/paceTone.ts +27 -0
  162. package/src/components/custom/Workout/setHeadingKit.tsx +177 -0
  163. package/src/components/custom/index.ts +1 -0
  164. package/src/components/custom/stepper/Stepper.stories.tsx +1 -1
  165. package/src/components/icons/icons.stories.tsx +67 -2
  166. package/src/components/icons/icons.test.tsx +32 -2
  167. package/src/components/icons/icons.tsx +108 -0
  168. package/src/components/shell/BrandLockup.stories.tsx +3 -3
  169. package/src/components/shell/DashboardShell.stories.tsx +65 -0
  170. package/src/components/shell/DashboardShell.test.tsx +42 -0
  171. package/src/components/shell/DashboardShell.tsx +74 -0
  172. package/src/components/shell/DeviceIndicator.stories.tsx +2 -2
  173. package/src/components/shell/DeviceMenu.stories.tsx +5 -5
  174. package/src/components/shell/DeviceRow.stories.tsx +3 -3
  175. package/src/components/shell/NavItem.stories.tsx +52 -0
  176. package/src/components/shell/NavItem.test.tsx +35 -0
  177. package/src/components/shell/NavItem.tsx +75 -0
  178. package/src/components/shell/README.md +30 -0
  179. package/src/components/shell/SessionRailSpecimen.stories.tsx +753 -0
  180. package/src/components/shell/SessionStatePill.stories.tsx +3 -3
  181. package/src/components/shell/SessionStatePill.tsx +1 -1
  182. package/src/components/shell/SideNav.stories.tsx +81 -0
  183. package/src/components/shell/SideNav.test.tsx +51 -0
  184. package/src/components/shell/SideNav.tsx +74 -0
  185. package/src/components/shell/TopBar.stories.tsx +5 -5
  186. package/src/components/shell/index.ts +5 -0
  187. package/src/components/ui/alert/Alert.stories.tsx +1 -1
  188. package/src/components/ui/autocomplete/Autocomplete.stories.tsx +1 -1
  189. package/src/components/ui/avatar/Avatar.stories.tsx +1 -1
  190. package/src/components/ui/badge/Badge.stories.tsx +1 -1
  191. package/src/components/ui/breadcrumbs/Breadcrumbs.stories.tsx +1 -1
  192. package/src/components/ui/button/Button.stories.tsx +1 -1
  193. package/src/components/ui/card/Card.stories.tsx +1 -1
  194. package/src/components/ui/checkbox/Checkbox.stories.tsx +1 -1
  195. package/src/components/ui/chip/Chip.stories.tsx +1 -1
  196. package/src/components/ui/collapse/Collapse.stories.tsx +1 -1
  197. package/src/components/ui/data-row/DataRow.stories.tsx +1 -1
  198. package/src/components/ui/divider/Divider.stories.tsx +1 -1
  199. package/src/components/ui/drawer/Drawer.stories.tsx +1 -1
  200. package/src/components/ui/form-field/FormField.stories.tsx +1 -1
  201. package/src/components/ui/help-tip/HelpTip.stories.tsx +1 -1
  202. package/src/components/ui/icon-box/IconBox.stories.tsx +1 -1
  203. package/src/components/ui/index.ts +1 -0
  204. package/src/components/ui/indicator/Indicator.stories.tsx +2 -2
  205. package/src/components/ui/indicator/Indicator.test.tsx +1 -0
  206. package/src/components/ui/indicator/Indicator.tsx +6 -1
  207. package/src/components/ui/input/Input.stories.tsx +1 -1
  208. package/src/components/ui/link/Link.stories.tsx +1 -1
  209. package/src/components/ui/list-item/ListItem.stories.tsx +1 -1
  210. package/src/components/ui/menu/Menu.stories.tsx +1 -1
  211. package/src/components/ui/modal/Modal.stories.tsx +1 -1
  212. package/src/components/ui/pill/Pill.stories.tsx +1 -1
  213. package/src/components/ui/popover/Popover.stories.tsx +1 -1
  214. package/src/components/ui/progress/Progress.stories.tsx +1 -1
  215. package/src/components/ui/radio/Radio.stories.tsx +1 -1
  216. package/src/components/ui/section/Section.stories.tsx +1 -1
  217. package/src/components/ui/select/Select.stories.tsx +1 -1
  218. package/src/components/ui/skeleton/Skeleton.stories.tsx +1 -1
  219. package/src/components/ui/spinner/Spinner.stories.tsx +1 -1
  220. package/src/components/ui/stack/Stack.stories.tsx +1 -1
  221. package/src/components/ui/surface/Surface.stories.tsx +1 -1
  222. package/src/components/ui/switch/Switch.stories.tsx +1 -1
  223. package/src/components/ui/tabs/Tabs.stories.tsx +1 -1
  224. package/src/components/ui/tile/Tile.stories.tsx +79 -0
  225. package/src/components/ui/tile/Tile.test.tsx +48 -0
  226. package/src/components/ui/tile/Tile.tsx +64 -0
  227. package/src/components/ui/tile/index.ts +2 -0
  228. package/src/components/ui/toast/Toast.stories.tsx +1 -1
  229. package/src/components/ui/toolbar-button/ToolbarButton.stories.tsx +1 -1
  230. package/src/components/ui/tooltip/Tooltip.stories.tsx +1 -1
  231. package/src/examples/react-hook-form/ReactHookForm.stories.tsx +1 -1
  232. package/src/hooks/index.ts +2 -0
  233. package/src/hooks/useTimer.test.ts +150 -0
  234. package/src/hooks/useTimer.ts +77 -0
  235. package/src/index.ts +3 -0
  236. package/src/pages.ts +1 -1
  237. package/src/stories/PresetShowcase.stories.tsx +1 -1
  238. package/src/stories/ThemePresets.stories.tsx +1 -1
  239. package/src/theme/ColorSystem.stories.tsx +1 -1
  240. package/src/theme/Colors.stories.tsx +5 -8
  241. package/src/theme/config.ts +4 -0
  242. package/src/theme/elevation.stories.tsx +1 -1
  243. package/src/theme/global.css +5 -1
  244. package/src/theme/shadows.stories.tsx +1 -1
  245. package/src/theme/tokens/primitives.ts +11 -107
  246. package/src/theme/tokens/semantic.ts +8 -0
  247. package/src/theme/workout-tokens.ts +11 -7
  248. package/tailwind.config.js +5 -0
@@ -6,7 +6,7 @@
6
6
  */
7
7
 
8
8
  export const primitiveColors = {
9
- // Blue scale (primary brand)
9
+ // Blue scale
10
10
  blue: {
11
11
  50: '#EFF6FF',
12
12
  100: '#DBEAFE',
@@ -14,110 +14,40 @@ export const primitiveColors = {
14
14
  300: '#93C5FD',
15
15
  400: '#60A5FA',
16
16
  500: '#3B82F6',
17
- 600: '#5048E5', // Primary main
18
- 700: '#3832A0', // Primary dark
17
+ 600: '#5048E5',
18
+ 700: '#3832A0',
19
19
  800: '#1E40AF',
20
20
  900: '#1E3A8A',
21
21
  },
22
22
 
23
- // Green scale (secondary brand)
24
- green: {
25
- 50: '#ECFDF5',
26
- 100: '#D1FAE5',
27
- 200: '#A7F3D0',
28
- 300: '#6EE7B7',
29
- 400: '#3FC79A', // Secondary light
30
- 500: '#10B981', // Secondary main
31
- 600: '#059669',
32
- 700: '#0B815A', // Secondary dark
33
- 800: '#065F46',
34
- 900: '#064E3B',
35
- },
36
-
37
- // Teal scale (success)
38
- teal: {
39
- 50: '#F0FDFA',
40
- 100: '#CCFBF1',
41
- 200: '#99F6E4',
42
- 300: '#5EEAD4',
43
- 400: '#43C6B7', // Success light
44
- 500: '#14B8A6', // Success main
45
- 600: '#0D9488',
46
- 700: '#0E8074', // Success dark
47
- 800: '#115E59',
48
- 900: '#134E4A',
49
- },
50
-
51
- // Red scale (error)
23
+ // Red scale
52
24
  red: {
53
25
  50: '#FEF2F2',
54
26
  100: '#FEE2E2',
55
27
  200: '#FECACA',
56
28
  300: '#FCA5A5',
57
- 400: '#DA6868', // Error light
29
+ 400: '#DA6868',
58
30
  500: '#EF4444',
59
- 600: '#D14343', // Error main
60
- 700: '#922E2E', // Error dark
31
+ 600: '#D14343',
32
+ 700: '#922E2E',
61
33
  800: '#991B1B',
62
34
  900: '#7F1D1D',
63
35
  },
64
36
 
65
- // Vivid green scale (live/go success)
66
- greenVivid: {
67
- 50: '#E9FBF0',
68
- 100: '#C8F7DA',
69
- 200: '#9FF0BF',
70
- 300: '#6BE79D',
71
- 400: '#47DE84', // Success vivid light
72
- 500: '#2ED573', // Success vivid main
73
- 600: '#22B85F',
74
- 700: '#1A9950', // Success vivid dark
75
- 800: '#157A40',
76
- 900: '#105C30',
77
- },
78
-
79
- // Vivid red scale (alert)
37
+ // Vivid red scale
80
38
  redVivid: {
81
39
  50: '#FFECEE',
82
40
  100: '#FFD6DB',
83
41
  200: '#FFB3BC',
84
42
  300: '#FF8593',
85
- 400: '#FF6070', // Error vivid light
86
- 500: '#FF4757', // Error vivid main
43
+ 400: '#FF6070',
44
+ 500: '#FF4757',
87
45
  600: '#E63548',
88
- 700: '#C42539', // Error vivid dark
46
+ 700: '#C42539',
89
47
  800: '#9E1C2C',
90
48
  900: '#7A1520',
91
49
  },
92
50
 
93
- // Amber scale (warning)
94
- amber: {
95
- 50: '#FFFBEB',
96
- 100: '#FEF3C7',
97
- 200: '#FDE68A',
98
- 300: '#FCD34D',
99
- 400: '#FFBF4C', // Warning light
100
- 500: '#FFB020', // Warning main
101
- 600: '#B27B16', // Warning dark
102
- 700: '#B45309',
103
- 800: '#92400E',
104
- 900: '#78350F',
105
- },
106
-
107
- // Sky/Blue scale (info)
108
- sky: {
109
- 50: '#F0F9FF',
110
- 100: '#E0F2FE',
111
- 200: '#BAE6FD',
112
- 300: '#7DD3FC',
113
- 400: '#64B6F7', // Info light
114
- 500: '#2196F3', // Info main
115
- 600: '#0284C7',
116
- 700: '#0B79D0', // Info dark
117
- 800: '#075985',
118
- 900: '#0C4A6E',
119
- },
120
-
121
51
  // Neutral/Gray scale
122
52
  neutral: {
123
53
  50: '#FAFAFA',
@@ -133,19 +63,6 @@ export const primitiveColors = {
133
63
  950: '#030712',
134
64
  },
135
65
 
136
- // Orange scale (accent/brand color)
137
- accent: {
138
- 100: '#FFA860',
139
- 200: '#FF9630',
140
- 300: '#FF8500',
141
- 400: '#FF7900',
142
- 500: '#F56C00',
143
- 600: '#E06D10',
144
- 700: '#D0620C',
145
- 800: '#B75500',
146
- 900: '#A34900',
147
- },
148
-
149
66
  // Charcoal scale (dark backgrounds)
150
67
  charcoal: {
151
68
  0: '#6E6E6E',
@@ -161,19 +78,6 @@ export const primitiveColors = {
161
78
  900: '#101010',
162
79
  },
163
80
 
164
- // Steel scale (cool accent)
165
- steel: {
166
- 100: '#8AA4B8',
167
- 200: '#7894A8',
168
- 300: '#678498',
169
- 400: '#557488',
170
- 500: '#406D87',
171
- 600: '#39617A',
172
- 700: '#32556D',
173
- 800: '#243D53',
174
- 900: '#1D3146',
175
- },
176
-
177
81
  // Pure colors
178
82
  white: '#FFFFFF',
179
83
  black: '#000000',
@@ -46,6 +46,10 @@ export const semanticColorsLight = {
46
46
  'status-success-dark': ramp.green[600],
47
47
  'status-success-subtle': ramp.green[50],
48
48
 
49
+ // Live-session accent — its OWN role, decoupled from success so the two can diverge
50
+ 'status-live': ramp.green[300],
51
+ 'status-live-muted': ramp.green[500],
52
+
49
53
  'status-error': ramp.red[600],
50
54
  'status-error-light': ramp.red[500],
51
55
  'status-error-dark': ramp.red[700],
@@ -176,6 +180,10 @@ export const semanticColorsDark = {
176
180
  'status-success-dark': ramp.green[600],
177
181
  'status-success-subtle': 'rgba(46, 213, 115, 0.12)',
178
182
 
183
+ // Live-session accent — its OWN role, decoupled from success so the two can diverge
184
+ 'status-live': ramp.green[300],
185
+ 'status-live-muted': ramp.green[500],
186
+
179
187
  'status-error': ramp.red[600],
180
188
  'status-error-light': ramp.red[500],
181
189
  'status-error-dark': ramp.red[700],
@@ -8,14 +8,18 @@ export const WORKOUT_TOKENS = {
8
8
  // Canonical 4-band performance scale — the single source for BOTH the
9
9
  // VelocityStrip zone bars and the SetRow RPE color (TD-03.43). The direction
10
10
  // is intentionally inverted between the two consumers: for velocity, green =
11
- // fastest/best; for RPE, green = easiest. This is the [0,1,2,4] subsample of
12
- // the canonical `sequentialEffort` primitive. The `orange` key is the band
13
- // label. Consumed inline (RN).
11
+ // fastest/best; for RPE, green = easiest. This is the [0,2,3,4] subsample of
12
+ // the canonical `sequentialEffort` primitive: an EVEN hue walk across the ramp
13
+ // (green gold → orange → red). The earlier [0,1,2,4] spent two of its four
14
+ // bands on adjacent yellows (amber-200 + amber-300) and skipped orange, reading
15
+ // yellow-heavy with an abrupt jump to red; sampling amber-300 + orange-400
16
+ // instead gives four cleanly separable bands that hold at 3px strip scale.
17
+ // Consumed inline (RN).
14
18
  scale: {
15
- green: sequentialEffort[0],
16
- yellow: sequentialEffort[1],
17
- orange: sequentialEffort[2], // gold band
18
- red: sequentialEffort[4],
19
+ green: sequentialEffort[0], // green-300
20
+ yellow: sequentialEffort[2], // amber-300 (gold)
21
+ orange: sequentialEffort[3], // orange-400 (true orange)
22
+ red: sequentialEffort[4], // red-600
19
23
  },
20
24
 
21
25
  // BodyMap volume heatmap — the canonical `divergingScale` (under → optimal →
@@ -38,6 +38,11 @@ module.exports = {
38
38
  dark: 'var(--color-status-success-dark)',
39
39
  subtle: 'var(--color-status-success-subtle)',
40
40
  },
41
+ // Live-session accent — own role, decoupled from success
42
+ live: {
43
+ DEFAULT: 'var(--color-status-live)',
44
+ muted: 'var(--color-status-live-muted)',
45
+ },
41
46
  error: {
42
47
  DEFAULT: 'var(--color-status-error)',
43
48
  light: 'var(--color-status-error-light)',