@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
@@ -4,7 +4,7 @@ import { jsx as jsx$1 } from 'react/jsx-runtime';
4
4
 
5
5
  // src/theme/tokens/primitives.ts
6
6
  var primitiveColors = {
7
- // Blue scale (primary brand)
7
+ // Blue scale
8
8
  blue: {
9
9
  50: "#EFF6FF",
10
10
  100: "#DBEAFE",
@@ -13,91 +13,35 @@ var primitiveColors = {
13
13
  400: "#60A5FA",
14
14
  500: "#3B82F6",
15
15
  600: "#5048E5",
16
- // Primary main
17
16
  700: "#3832A0",
18
- // Primary dark
19
17
  800: "#1E40AF",
20
18
  900: "#1E3A8A"
21
19
  },
22
- // Green scale (secondary brand)
23
- green: {
24
- 50: "#ECFDF5",
25
- 100: "#D1FAE5",
26
- 200: "#A7F3D0",
27
- 300: "#6EE7B7",
28
- 400: "#3FC79A",
29
- // Secondary light
30
- 500: "#10B981",
31
- // Secondary main
32
- 600: "#059669",
33
- 700: "#0B815A",
34
- // Secondary dark
35
- 800: "#065F46",
36
- 900: "#064E3B"
37
- },
38
- // Teal scale (success)
39
- teal: {
40
- 50: "#F0FDFA",
41
- 100: "#CCFBF1",
42
- 200: "#99F6E4",
43
- 300: "#5EEAD4",
44
- 400: "#43C6B7",
45
- // Success light
46
- 500: "#14B8A6",
47
- // Success main
48
- 600: "#0D9488",
49
- 700: "#0E8074",
50
- // Success dark
51
- 800: "#115E59",
52
- 900: "#134E4A"
53
- },
54
- // Red scale (error)
20
+ // Red scale
55
21
  red: {
56
22
  50: "#FEF2F2",
57
23
  100: "#FEE2E2",
58
24
  200: "#FECACA",
59
25
  300: "#FCA5A5",
60
26
  400: "#DA6868",
61
- // Error light
62
27
  500: "#EF4444",
63
28
  600: "#D14343",
64
- // Error main
65
29
  700: "#922E2E",
66
- // Error dark
67
30
  800: "#991B1B",
68
31
  900: "#7F1D1D"
69
32
  },
70
- // Amber scale (warning)
71
- amber: {
72
- 50: "#FFFBEB",
73
- 100: "#FEF3C7",
74
- 200: "#FDE68A",
75
- 300: "#FCD34D",
76
- 400: "#FFBF4C",
77
- // Warning light
78
- 500: "#FFB020",
79
- // Warning main
80
- 600: "#B27B16",
81
- // Warning dark
82
- 700: "#B45309",
83
- 800: "#92400E",
84
- 900: "#78350F"
85
- },
86
- // Sky/Blue scale (info)
87
- sky: {
88
- 50: "#F0F9FF",
89
- 100: "#E0F2FE",
90
- 200: "#BAE6FD",
91
- 300: "#7DD3FC",
92
- 400: "#64B6F7",
93
- // Info light
94
- 500: "#2196F3",
95
- // Info main
96
- 600: "#0284C7",
97
- 700: "#0B79D0",
98
- // Info dark
99
- 800: "#075985",
100
- 900: "#0C4A6E"
33
+ // Vivid red scale
34
+ redVivid: {
35
+ 50: "#FFECEE",
36
+ 100: "#FFD6DB",
37
+ 200: "#FFB3BC",
38
+ 300: "#FF8593",
39
+ 400: "#FF6070",
40
+ 500: "#FF4757",
41
+ 600: "#E63548",
42
+ 700: "#C42539",
43
+ 800: "#9E1C2C",
44
+ 900: "#7A1520"
101
45
  },
102
46
  // Neutral/Gray scale
103
47
  neutral: {
@@ -113,18 +57,6 @@ var primitiveColors = {
113
57
  900: "#111827",
114
58
  950: "#030712"
115
59
  },
116
- // Orange scale (accent/brand color)
117
- accent: {
118
- 100: "#FFA860",
119
- 200: "#FF9630",
120
- 300: "#FF8500",
121
- 400: "#FF7900",
122
- 500: "#F56C00",
123
- 600: "#E06D10",
124
- 700: "#D0620C",
125
- 800: "#B75500",
126
- 900: "#A34900"
127
- },
128
60
  // Charcoal scale (dark backgrounds)
129
61
  charcoal: {
130
62
  0: "#6E6E6E",
@@ -139,23 +71,167 @@ var primitiveColors = {
139
71
  800: "#131313",
140
72
  900: "#101010"
141
73
  },
142
- // Steel scale (cool accent)
143
- steel: {
144
- 100: "#8AA4B8",
145
- 200: "#7894A8",
146
- 300: "#678498",
147
- 400: "#557488",
148
- 500: "#406D87",
149
- 600: "#39617A",
150
- 700: "#32556D",
151
- 800: "#243D53",
152
- 900: "#1D3146"
153
- },
154
74
  // Pure colors
155
75
  white: "#FFFFFF",
156
76
  black: "#000000",
157
77
  transparent: "transparent"
158
78
  };
79
+ var primitiveRamps = {
80
+ red: {
81
+ 50: "#FFF4F4",
82
+ 100: "#FFE3E5",
83
+ 200: "#FFC2C5",
84
+ 300: "#FF9A9D",
85
+ 400: "#F77175",
86
+ 500: "#E05254",
87
+ 600: "#D14343",
88
+ // pin
89
+ 700: "#A4221C",
90
+ 800: "#7E1002",
91
+ 900: "#5A0900",
92
+ 950: "#3D0400"
93
+ },
94
+ orange: {
95
+ 50: "#FFF5ED",
96
+ 100: "#FFE6D4",
97
+ 200: "#FFC7A2",
98
+ 300: "#FFA063",
99
+ 400: "#FF7900",
100
+ // pin
101
+ 500: "#DA5F00",
102
+ 600: "#B94A00",
103
+ 700: "#983804",
104
+ 800: "#6F290F",
105
+ 900: "#4E1C0C",
106
+ 950: "#331107"
107
+ },
108
+ amber: {
109
+ 50: "#FFF7DD",
110
+ 100: "#FFEAA9",
111
+ 200: "#FFD352",
112
+ 300: "#F9B415",
113
+ // pin
114
+ 400: "#E08C00",
115
+ 500: "#C27400",
116
+ 600: "#A45E00",
117
+ 700: "#814D14",
118
+ 800: "#5B3A1A",
119
+ 900: "#442503",
120
+ 950: "#301500"
121
+ },
122
+ green: {
123
+ 50: "#E3FFEE",
124
+ 100: "#B5FFD2",
125
+ 200: "#58F69E",
126
+ 300: "#2ED573",
127
+ // pin
128
+ 400: "#21C05D",
129
+ 500: "#22A444",
130
+ 600: "#298732",
131
+ 700: "#2B6B25",
132
+ 800: "#264D1C",
133
+ 900: "#1B3515",
134
+ 950: "#11220D"
135
+ },
136
+ cyan: {
137
+ 50: "#E6FBFF",
138
+ 100: "#C2F6FF",
139
+ 200: "#62EAFF",
140
+ 300: "#22D3EE",
141
+ // pin
142
+ 400: "#01B5D1",
143
+ 500: "#2697B7",
144
+ 600: "#307B9B",
145
+ 700: "#2A617F",
146
+ 800: "#22465F",
147
+ 900: "#0B3149",
148
+ 950: "#001F36"
149
+ },
150
+ blue: {
151
+ 50: "#EFF8FF",
152
+ 100: "#D9EFFF",
153
+ 200: "#ACDBFF",
154
+ 300: "#78C2FF",
155
+ 400: "#3CA8FF",
156
+ 500: "#2196F3",
157
+ // pin
158
+ 600: "#1072CB",
159
+ 700: "#135AA8",
160
+ 800: "#14407E",
161
+ 900: "#112C5A",
162
+ 950: "#091B3C"
163
+ },
164
+ magenta: {
165
+ 50: "#FFF3F9",
166
+ 100: "#FFE2F1",
167
+ 200: "#FFBDE2",
168
+ 300: "#FF8FD5",
169
+ 400: "#ED69C3",
170
+ 500: "#D548AF",
171
+ 600: "#BA2996",
172
+ 700: "#9C0D7A",
173
+ // pin
174
+ 800: "#77005A",
175
+ 900: "#56003F",
176
+ 950: "#3B0029"
177
+ }
178
+ };
179
+ var categoricalPalette = {
180
+ default: [
181
+ primitiveRamps.blue[500],
182
+ primitiveRamps.magenta[500],
183
+ primitiveRamps.red[500],
184
+ primitiveRamps.orange[400],
185
+ primitiveRamps.green[300],
186
+ primitiveRamps.cyan[300],
187
+ primitiveRamps.amber[600]
188
+ // extended (7th) — pair with a legend
189
+ ],
190
+ dark: [
191
+ primitiveRamps.blue[600],
192
+ primitiveRamps.magenta[600],
193
+ primitiveRamps.red[500],
194
+ primitiveRamps.orange[600],
195
+ primitiveRamps.green[800],
196
+ primitiveRamps.cyan[800],
197
+ primitiveRamps.amber[500]
198
+ // extended (7th) — pair with a legend
199
+ ]
200
+ };
201
+ var CATEGORICAL_CVD_SAFE_MAX = 6;
202
+ function getCategoricalColor(index, variant = "default") {
203
+ const palette = categoricalPalette[variant];
204
+ index = Math.max(0, Math.floor(index));
205
+ return palette[index % palette.length];
206
+ }
207
+ var divergingScale = [
208
+ primitiveRamps.blue[500],
209
+ // under
210
+ primitiveRamps.cyan[300],
211
+ // maintenance
212
+ primitiveRamps.green[200],
213
+ // optimal (light center)
214
+ primitiveRamps.amber[300],
215
+ // approaching
216
+ primitiveRamps.red[600]
217
+ // over
218
+ ];
219
+ var sequentialEffort = [
220
+ primitiveRamps.green[300],
221
+ primitiveRamps.amber[200],
222
+ primitiveRamps.amber[300],
223
+ primitiveRamps.orange[400],
224
+ primitiveRamps.red[600],
225
+ primitiveRamps.red[700]
226
+ ];
227
+ function bestTextColor(hex) {
228
+ const [r, g, b] = [0, 2, 4].map((i) => {
229
+ const c = parseInt(hex.replace("#", "").slice(i, i + 2), 16) / 255;
230
+ return c >= 0.04045 ? ((c + 0.055) / 1.055) ** 2.4 : c / 12.92;
231
+ });
232
+ const l = 0.2126 * r + 0.7152 * g + 0.0722 * b;
233
+ return (l + 0.05) / 0.05 >= 1.05 / (l + 0.05) ? "#000000" : "#FFFFFF";
234
+ }
159
235
  var discreteRainbow = [
160
236
  "#E8ECFB",
161
237
  "#D9CCE3",
@@ -365,56 +441,46 @@ var primitiveZIndex = {
365
441
  // src/theme/tokens/semantic.ts
366
442
  var semanticColorsLight = {
367
443
  // Brand colors (brand-*)
368
- "brand-primary": primitiveColors.accent[400],
369
- // #FF7900
370
- "brand-primary-light": primitiveColors.accent[200],
371
- // #FF9630
372
- "brand-primary-dark": primitiveColors.accent[700],
373
- // #D0620C
444
+ "brand-primary": primitiveRamps.orange[400],
445
+ "brand-primary-light": primitiveRamps.orange[300],
446
+ "brand-primary-dark": primitiveRamps.orange[500],
374
447
  "brand-primary-subtle": "rgba(255, 121, 0, 0.08)",
375
- "brand-primary-hover": primitiveColors.accent[500],
376
- "brand-primary-active": primitiveColors.accent[600],
377
- "brand-secondary": primitiveColors.steel[500],
378
- // #406D87
379
- "brand-secondary-light": primitiveColors.steel[300],
380
- // #678498
381
- "brand-secondary-dark": primitiveColors.steel[700],
382
- // #32556D
383
- "brand-secondary-subtle": "rgba(64, 109, 135, 0.08)",
384
- "brand-secondary-hover": primitiveColors.steel[600],
385
- "brand-secondary-active": primitiveColors.steel[700],
448
+ "brand-primary-hover": primitiveRamps.orange[500],
449
+ "brand-primary-active": primitiveRamps.orange[600],
450
+ "brand-secondary": primitiveRamps.cyan[600],
451
+ "brand-secondary-light": primitiveRamps.cyan[500],
452
+ "brand-secondary-dark": primitiveRamps.cyan[700],
453
+ "brand-secondary-subtle": "rgba(48, 123, 155, 0.08)",
454
+ "brand-secondary-hover": primitiveRamps.cyan[700],
455
+ "brand-secondary-active": primitiveRamps.cyan[800],
386
456
  // Text on brand backgrounds (on-*)
387
457
  "on-brand-primary": primitiveColors.white,
388
458
  "on-brand-secondary": primitiveColors.white,
389
459
  // Status colors (status-*)
390
- "status-success": primitiveColors.teal[500],
391
- // #14B8A6
392
- "status-success-light": primitiveColors.teal[400],
393
- // #43C6B7
394
- "status-success-dark": primitiveColors.teal[700],
395
- // #0E8074
396
- "status-success-subtle": primitiveColors.teal[50],
397
- "status-error": primitiveColors.red[600],
398
- // #D14343
399
- "status-error-light": primitiveColors.red[400],
400
- // #DA6868
401
- "status-error-dark": primitiveColors.red[700],
402
- // #922E2E
403
- "status-error-subtle": primitiveColors.red[50],
404
- "status-warning": primitiveColors.amber[500],
405
- // #FFB020
406
- "status-warning-light": primitiveColors.amber[400],
407
- // #FFBF4C
408
- "status-warning-dark": primitiveColors.amber[600],
409
- // #B27B16
410
- "status-warning-subtle": primitiveColors.amber[50],
411
- "status-info": primitiveColors.sky[500],
412
- // #2196F3
413
- "status-info-light": primitiveColors.sky[400],
414
- // #64B6F7
415
- "status-info-dark": primitiveColors.sky[700],
416
- // #0B79D0
417
- "status-info-subtle": primitiveColors.sky[50],
460
+ "status-success": primitiveRamps.green[300],
461
+ "status-success-light": primitiveRamps.green[200],
462
+ "status-success-dark": primitiveRamps.green[600],
463
+ "status-success-subtle": primitiveRamps.green[50],
464
+ // Live-session accent — its OWN role, decoupled from success so the two can diverge
465
+ "status-live": primitiveRamps.green[300],
466
+ "status-live-muted": primitiveRamps.green[500],
467
+ "status-error": primitiveRamps.red[600],
468
+ "status-error-light": primitiveRamps.red[500],
469
+ "status-error-dark": primitiveRamps.red[700],
470
+ "status-error-subtle": primitiveRamps.red[50],
471
+ "status-error-vivid": primitiveColors.redVivid[500],
472
+ // vivid alert red
473
+ "status-error-vivid-light": primitiveColors.redVivid[400],
474
+ "status-error-vivid-dark": primitiveColors.redVivid[700],
475
+ "status-error-vivid-subtle": "rgba(255, 71, 87, 0.12)",
476
+ "status-warning": primitiveRamps.amber[300],
477
+ "status-warning-light": primitiveRamps.amber[200],
478
+ "status-warning-dark": primitiveRamps.amber[500],
479
+ "status-warning-subtle": primitiveRamps.amber[50],
480
+ "status-info": primitiveRamps.blue[500],
481
+ "status-info-light": primitiveRamps.blue[300],
482
+ "status-info-dark": primitiveRamps.blue[600],
483
+ "status-info-subtle": primitiveRamps.blue[50],
418
484
  // Text on status backgrounds (on-status-*)
419
485
  "on-status-success": primitiveColors.white,
420
486
  "on-status-error": primitiveColors.white,
@@ -441,25 +507,25 @@ var semanticColorsLight = {
441
507
  // Data visualization colors (data-*)
442
508
  // First 10 colors from discrete rainbow optimized for charts
443
509
  "data-1": discreteRainbow[9],
444
- // #1965B0 - Blue
510
+ // Blue
445
511
  "data-2": discreteRainbow[14],
446
- // #4EB265 - Green
512
+ // Green
447
513
  "data-3": discreteRainbow[17],
448
- // #F7F056 - Yellow
514
+ // Yellow
449
515
  "data-4": discreteRainbow[25],
450
- // #DC050C - Red
516
+ // Red
451
517
  "data-5": discreteRainbow[8],
452
- // #882E72 - Purple
518
+ // Purple
453
519
  "data-6": discreteRainbow[20],
454
- // #F4A736 - Orange
520
+ // Orange
455
521
  "data-7": discreteRainbow[13],
456
- // #7BAFDE - Light Blue
522
+ // Light Blue
457
523
  "data-8": discreteRainbow[15],
458
- // #90C987 - Light Green
524
+ // Light Green
459
525
  "data-9": discreteRainbow[3],
460
- // #CAACCB - Lavender
526
+ // Lavender
461
527
  "data-10": discreteRainbow[22],
462
- // #EE8026 - Dark Orange
528
+ // Dark Orange
463
529
  // Text colors (text-*)
464
530
  "text-primary": "#121828",
465
531
  "text-secondary": "#65748B",
@@ -471,9 +537,9 @@ var semanticColorsLight = {
471
537
  // Surface colors (surface-*) - for elevated containers
472
538
  "surface-base": primitiveColors.white,
473
539
  "surface-elevated": primitiveColors.neutral[50],
474
- // #FAFAFA - slightly off-white for elevated cards
540
+ // slightly off-white for elevated cards
475
541
  "surface-raised": primitiveColors.neutral[100],
476
- // #F3F4F6 - light gray for raised cards
542
+ // light gray for raised cards
477
543
  "surface-overlay": primitiveColors.white,
478
544
  "surface-input": primitiveColors.neutral[50],
479
545
  // Input field background (filled variant)
@@ -485,6 +551,8 @@ var semanticColorsLight = {
485
551
  "border-default": "#E8E9EB",
486
552
  "border-subtle": primitiveColors.neutral[100],
487
553
  "border-strong": primitiveColors.neutral[300],
554
+ "border-prominent": primitiveColors.neutral[400],
555
+ // high-visibility divider
488
556
  "border-focus": primitiveColors.blue[600],
489
557
  "border-input": primitiveColors.neutral[300],
490
558
  // Input field border
@@ -509,37 +577,44 @@ var semanticColorsLight = {
509
577
  };
510
578
  var semanticColorsDark = {
511
579
  // Brand colors stay the same in dark mode
512
- "brand-primary": primitiveColors.accent[400],
513
- "brand-primary-light": primitiveColors.accent[200],
514
- "brand-primary-dark": primitiveColors.accent[700],
580
+ "brand-primary": primitiveRamps.orange[400],
581
+ "brand-primary-light": primitiveRamps.orange[300],
582
+ "brand-primary-dark": primitiveRamps.orange[500],
515
583
  "brand-primary-subtle": "rgba(255, 121, 0, 0.12)",
516
- "brand-primary-hover": primitiveColors.accent[300],
517
- "brand-primary-active": primitiveColors.accent[200],
518
- "brand-secondary": primitiveColors.steel[500],
519
- "brand-secondary-light": primitiveColors.steel[300],
520
- "brand-secondary-dark": primitiveColors.steel[700],
521
- "brand-secondary-subtle": "rgba(64, 109, 135, 0.12)",
522
- "brand-secondary-hover": primitiveColors.steel[400],
523
- "brand-secondary-active": primitiveColors.steel[300],
584
+ "brand-primary-hover": primitiveRamps.orange[300],
585
+ "brand-primary-active": primitiveRamps.orange[200],
586
+ "brand-secondary": primitiveRamps.cyan[600],
587
+ "brand-secondary-light": primitiveRamps.cyan[500],
588
+ "brand-secondary-dark": primitiveRamps.cyan[700],
589
+ "brand-secondary-subtle": "rgba(48, 123, 155, 0.12)",
590
+ "brand-secondary-hover": primitiveRamps.cyan[500],
591
+ "brand-secondary-active": primitiveRamps.cyan[400],
524
592
  // Text on brand backgrounds
525
593
  "on-brand-primary": primitiveColors.white,
526
594
  "on-brand-secondary": primitiveColors.white,
527
595
  // Status colors
528
- "status-success": primitiveColors.teal[500],
529
- "status-success-light": primitiveColors.teal[400],
530
- "status-success-dark": primitiveColors.teal[700],
531
- "status-success-subtle": "rgba(20, 184, 166, 0.12)",
532
- "status-error": primitiveColors.red[600],
533
- "status-error-light": primitiveColors.red[400],
534
- "status-error-dark": primitiveColors.red[700],
596
+ "status-success": primitiveRamps.green[300],
597
+ "status-success-light": primitiveRamps.green[200],
598
+ "status-success-dark": primitiveRamps.green[600],
599
+ "status-success-subtle": "rgba(46, 213, 115, 0.12)",
600
+ // Live-session accent — its OWN role, decoupled from success so the two can diverge
601
+ "status-live": primitiveRamps.green[300],
602
+ "status-live-muted": primitiveRamps.green[500],
603
+ "status-error": primitiveRamps.red[600],
604
+ "status-error-light": primitiveRamps.red[500],
605
+ "status-error-dark": primitiveRamps.red[700],
535
606
  "status-error-subtle": "rgba(209, 67, 67, 0.12)",
536
- "status-warning": primitiveColors.amber[500],
537
- "status-warning-light": primitiveColors.amber[400],
538
- "status-warning-dark": primitiveColors.amber[600],
539
- "status-warning-subtle": "rgba(255, 176, 32, 0.12)",
540
- "status-info": primitiveColors.sky[500],
541
- "status-info-light": primitiveColors.sky[400],
542
- "status-info-dark": primitiveColors.sky[700],
607
+ "status-error-vivid": primitiveColors.redVivid[500],
608
+ "status-error-vivid-light": primitiveColors.redVivid[400],
609
+ "status-error-vivid-dark": primitiveColors.redVivid[700],
610
+ "status-error-vivid-subtle": "rgba(255, 71, 87, 0.12)",
611
+ "status-warning": primitiveRamps.amber[300],
612
+ "status-warning-light": primitiveRamps.amber[200],
613
+ "status-warning-dark": primitiveRamps.amber[500],
614
+ "status-warning-subtle": "rgba(249, 180, 21, 0.12)",
615
+ "status-info": primitiveRamps.blue[500],
616
+ "status-info-light": primitiveRamps.blue[300],
617
+ "status-info-dark": primitiveRamps.blue[600],
543
618
  "status-info-subtle": "rgba(33, 150, 243, 0.12)",
544
619
  // Text on status backgrounds
545
620
  "on-status-success": primitiveColors.white,
@@ -581,29 +656,31 @@ var semanticColorsDark = {
581
656
  "text-link-hover": primitiveColors.blue[400],
582
657
  // Surface colors - dark backgrounds
583
658
  "surface-base": primitiveColors.charcoal[700],
584
- // #161616 - main surface
659
+ // main surface
585
660
  "surface-elevated": primitiveColors.charcoal[600],
586
- // #191919 - elevated surface
661
+ // elevated surface
587
662
  "surface-raised": primitiveColors.charcoal[500],
588
- // #1C1C1C - raised surface
663
+ // raised surface
589
664
  "surface-overlay": primitiveColors.charcoal[600],
590
- // #191919 - overlay surface
665
+ // overlay surface
591
666
  "surface-input": primitiveColors.charcoal[600],
592
- // #191919 - input surface
667
+ // input surface
593
668
  // Background colors
594
669
  "background-base": primitiveColors.charcoal[900],
595
- // #101010 - darkest charcoal
670
+ // darkest charcoal
596
671
  "background-default": primitiveColors.charcoal[700],
597
- // #161616 - main background
672
+ // main background
598
673
  "background-subtle": primitiveColors.charcoal[500],
599
- // #1C1C1C - subtle background
674
+ // subtle background
600
675
  // Border colors
601
676
  "border-default": primitiveColors.charcoal[400],
602
- // #1F1F1F - default border
677
+ // default border
603
678
  "border-subtle": primitiveColors.charcoal[500],
604
- // #1C1C1C - subtle border
679
+ // subtle border
605
680
  "border-strong": primitiveColors.charcoal[300],
606
- // #2C2C2C - strong border
681
+ // strong border
682
+ "border-prominent": primitiveColors.charcoal[200],
683
+ // high-visibility divider
607
684
  "border-focus": "#828DF8",
608
685
  "border-input": primitiveColors.neutral[600],
609
686
  "border-input-hover": primitiveColors.neutral[500],
@@ -618,7 +695,7 @@ var semanticColorsDark = {
618
695
  "interactive-disabled-text": "rgba(255, 255, 255, 0.26)",
619
696
  // Divider
620
697
  "divider": primitiveColors.charcoal[400],
621
- // #1F1F1F - divider color
698
+ // divider color
622
699
  // Avatar default
623
700
  "avatar-background": primitiveColors.neutral[600],
624
701
  "avatar-text": primitiveColors.white
@@ -732,10 +809,11 @@ function getSemanticColors(mode) {
732
809
  var themeIndependentCSSVars = {
733
810
  // RGB decomposed values for glow shadows
734
811
  "--color-brand-primary-rgb": "255, 121, 0",
735
- "--color-brand-secondary-rgb": "64, 109, 135",
736
- "--color-status-success-rgb": "20, 184, 166",
812
+ "--color-brand-secondary-rgb": "48, 123, 155",
813
+ "--color-status-success-rgb": "46, 213, 115",
737
814
  "--color-status-error-rgb": "209, 67, 67",
738
- "--color-status-warning-rgb": "255, 176, 32",
815
+ "--color-status-error-vivid-rgb": "255, 71, 87",
816
+ "--color-status-warning-rgb": "249, 180, 21",
739
817
  "--color-status-info-rgb": "33, 150, 243",
740
818
  "--color-background-base-rgb": "16, 16, 16",
741
819
  // Font families
@@ -764,12 +842,18 @@ var lightThemeCSSVars = {
764
842
  "--color-on-brand-secondary": semanticColorsLight["on-brand-secondary"],
765
843
  "--color-status-success": semanticColorsLight["status-success"],
766
844
  "--color-status-success-subtle": semanticColorsLight["status-success-subtle"],
845
+ "--color-status-live": semanticColorsLight["status-live"],
846
+ "--color-status-live-muted": semanticColorsLight["status-live-muted"],
767
847
  "--color-status-error": semanticColorsLight["status-error"],
768
848
  "--color-status-error-subtle": semanticColorsLight["status-error-subtle"],
769
849
  "--color-status-warning": semanticColorsLight["status-warning"],
770
850
  "--color-status-warning-subtle": semanticColorsLight["status-warning-subtle"],
771
851
  "--color-status-info": semanticColorsLight["status-info"],
772
852
  "--color-status-info-subtle": semanticColorsLight["status-info-subtle"],
853
+ "--color-status-error-vivid": semanticColorsLight["status-error-vivid"],
854
+ "--color-status-error-vivid-light": semanticColorsLight["status-error-vivid-light"],
855
+ "--color-status-error-vivid-dark": semanticColorsLight["status-error-vivid-dark"],
856
+ "--color-status-error-vivid-subtle": semanticColorsLight["status-error-vivid-subtle"],
773
857
  "--color-text-primary": semanticColorsLight["text-primary"],
774
858
  "--color-text-secondary": semanticColorsLight["text-secondary"],
775
859
  "--color-text-tertiary": semanticColorsLight["text-tertiary"],
@@ -785,6 +869,7 @@ var lightThemeCSSVars = {
785
869
  "--color-border-default": semanticColorsLight["border-default"],
786
870
  "--color-border-subtle": semanticColorsLight["border-subtle"],
787
871
  "--color-border-strong": semanticColorsLight["border-strong"],
872
+ "--color-border-prominent": semanticColorsLight["border-prominent"],
788
873
  "--color-border-focus": semanticColorsLight["border-focus"],
789
874
  "--color-interactive-hover": semanticColorsLight["interactive-hover"],
790
875
  "--color-interactive-focus": semanticColorsLight["interactive-focus"],
@@ -855,12 +940,18 @@ var darkThemeCSSVars = {
855
940
  "--color-on-brand-secondary": semanticColorsDark["on-brand-secondary"],
856
941
  "--color-status-success": semanticColorsDark["status-success"],
857
942
  "--color-status-success-subtle": semanticColorsDark["status-success-subtle"],
943
+ "--color-status-live": semanticColorsDark["status-live"],
944
+ "--color-status-live-muted": semanticColorsDark["status-live-muted"],
858
945
  "--color-status-error": semanticColorsDark["status-error"],
859
946
  "--color-status-error-subtle": semanticColorsDark["status-error-subtle"],
860
947
  "--color-status-warning": semanticColorsDark["status-warning"],
861
948
  "--color-status-warning-subtle": semanticColorsDark["status-warning-subtle"],
862
949
  "--color-status-info": semanticColorsDark["status-info"],
863
950
  "--color-status-info-subtle": semanticColorsDark["status-info-subtle"],
951
+ "--color-status-error-vivid": semanticColorsDark["status-error-vivid"],
952
+ "--color-status-error-vivid-light": semanticColorsDark["status-error-vivid-light"],
953
+ "--color-status-error-vivid-dark": semanticColorsDark["status-error-vivid-dark"],
954
+ "--color-status-error-vivid-subtle": semanticColorsDark["status-error-vivid-subtle"],
864
955
  "--color-text-primary": semanticColorsDark["text-primary"],
865
956
  "--color-text-secondary": semanticColorsDark["text-secondary"],
866
957
  "--color-text-tertiary": semanticColorsDark["text-tertiary"],
@@ -876,6 +967,7 @@ var darkThemeCSSVars = {
876
967
  "--color-border-default": semanticColorsDark["border-default"],
877
968
  "--color-border-subtle": semanticColorsDark["border-subtle"],
878
969
  "--color-border-strong": semanticColorsDark["border-strong"],
970
+ "--color-border-prominent": semanticColorsDark["border-prominent"],
879
971
  "--color-border-focus": semanticColorsDark["border-focus"],
880
972
  "--color-interactive-hover": semanticColorsDark["interactive-hover"],
881
973
  "--color-interactive-focus": semanticColorsDark["interactive-focus"],
@@ -1684,6 +1776,17 @@ function resolveColor(token, mode = "dark") {
1684
1776
  return Platform.OS === "web" ? `var(--color-${token})` : getSemanticColors(mode)[token];
1685
1777
  }
1686
1778
 
1779
+ // src/theme/gradients.ts
1780
+ function linearGradient(from, to, angle = 180, mode = "dark") {
1781
+ return {
1782
+ backgroundImage: `linear-gradient(${angle}deg, ${resolveColor(from, mode)}, ${resolveColor(to, mode)})`
1783
+ };
1784
+ }
1785
+ var surfaceGradient = {
1786
+ /** Chrome bands (top bar, headers): elevated → base, a subtle dark wash. */
1787
+ chrome: (mode = "dark") => linearGradient("surface-elevated", "background-base", 180, mode)
1788
+ };
1789
+
1687
1790
  // src/theme/presets/apply.ts
1688
1791
  function colorKeyToVar(key) {
1689
1792
  return `--color-${key}`;
@@ -1877,6 +1980,6 @@ function ThemeProvider({
1877
1980
  return /* @__PURE__ */ jsx(View, { style: [MODE_VARS[mode], { flex: 1 }, style], ...props, children });
1878
1981
  }
1879
1982
 
1880
- export { ThemeProvider, applyThemePreset, audiobookPreset, buttonSizes, componentElevationRanges, createFlatShadow, createPressedHoverShadow, createPressedShadow, createRaisedHoverShadow, createRaisedShadow, darkThemeCSSVars, darken, defaultPreset, discreteRainbow, elevationSystem, getBaseSurfaceColor, getDiscreteRainbowColor, getElevationConfig, getElevationShadow, getElevationSurface, getGlowShadow, getHoverColors, getSemanticColors, getThemeCSSVars, getValidatedElevation, gluestackConfig, hexToRgb, hsvToRgb, isCssPropertyManifest, isDark, lightThemeCSSVars, lighten, neumorphicShadows, primitiveBorderRadius, primitiveBreakpoints, primitiveColors, primitiveShadows, primitiveSpacing, primitiveTypography, primitiveZIndex, resolveColor, rgbToHex, rgbToHsv, semanticColorsDark, semanticColorsLight, semanticTypography, shadowColors, validateCssPropertyManifest };
1983
+ export { CATEGORICAL_CVD_SAFE_MAX, ThemeProvider, applyThemePreset, audiobookPreset, bestTextColor, buttonSizes, categoricalPalette, componentElevationRanges, createFlatShadow, createPressedHoverShadow, createPressedShadow, createRaisedHoverShadow, createRaisedShadow, darkThemeCSSVars, darken, defaultPreset, discreteRainbow, divergingScale, elevationSystem, getBaseSurfaceColor, getCategoricalColor, getDiscreteRainbowColor, getElevationConfig, getElevationShadow, getElevationSurface, getGlowShadow, getHoverColors, getSemanticColors, getThemeCSSVars, getValidatedElevation, gluestackConfig, hexToRgb, hsvToRgb, isCssPropertyManifest, isDark, lightThemeCSSVars, lighten, linearGradient, neumorphicShadows, primitiveBorderRadius, primitiveBreakpoints, primitiveColors, primitiveRamps, primitiveShadows, primitiveSpacing, primitiveTypography, primitiveZIndex, resolveColor, rgbToHex, rgbToHsv, semanticColorsDark, semanticColorsLight, semanticTypography, sequentialEffort, shadowColors, surfaceGradient, validateCssPropertyManifest };
1881
1984
  //# sourceMappingURL=index.mjs.map
1882
1985
  //# sourceMappingURL=index.mjs.map