@titan-design/react-ui 0.12.1 → 0.14.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 (531) hide show
  1. package/README.md +60 -47
  2. package/dist/bodymap.js +856 -736
  3. package/dist/bodymap.js.map +1 -1
  4. package/dist/bodymap.mjs +858 -738
  5. package/dist/bodymap.mjs.map +1 -1
  6. package/dist/index.d.mts +1431 -237
  7. package/dist/index.d.ts +1431 -237
  8. package/dist/index.js +6506 -4781
  9. package/dist/index.js.map +1 -1
  10. package/dist/index.mjs +6280 -4642
  11. package/dist/index.mjs.map +1 -1
  12. package/dist/{pages-B1hqnGIC.d.ts → pages-CsjsUn0G.d.ts} +51 -16
  13. package/dist/{pages-CvsFqNtx.d.mts → pages-ZbT_pD_U.d.mts} +51 -16
  14. package/dist/pages.d.mts +1 -1
  15. package/dist/pages.d.ts +1 -1
  16. package/dist/pages.js +1919 -1937
  17. package/dist/pages.js.map +1 -1
  18. package/dist/pages.mjs +1927 -1945
  19. package/dist/pages.mjs.map +1 -1
  20. package/dist/theme/index.d.mts +225 -140
  21. package/dist/theme/index.d.ts +225 -140
  22. package/dist/theme/index.js +298 -319
  23. package/dist/theme/index.js.map +1 -1
  24. package/dist/theme/index.mjs +283 -315
  25. package/dist/theme/index.mjs.map +1 -1
  26. package/dist/theme/tokens-css.js +145 -24
  27. package/dist/theme/tokens-css.js.map +1 -1
  28. package/dist/theme/tokens-css.mjs +145 -24
  29. package/dist/theme/tokens-css.mjs.map +1 -1
  30. package/dist/theme/tokens.d.mts +128 -11
  31. package/dist/theme/tokens.d.ts +128 -11
  32. package/dist/theme/tokens.js +126 -26
  33. package/dist/theme/tokens.js.map +1 -1
  34. package/dist/theme/tokens.mjs +124 -27
  35. package/dist/theme/tokens.mjs.map +1 -1
  36. package/docs/audits/2026-09-08-critique-addenda.md +51 -0
  37. package/docs/audits/2026-09-08-library-critique.md +212 -0
  38. package/docs/library-roadmap.md +99 -0
  39. package/docs/render-testing-pattern.md +130 -0
  40. package/package.json +1 -1
  41. package/src/arch/Architecture.stories.tsx +3 -1
  42. package/src/arch/arch-graph.freshness.test.ts +52 -0
  43. package/src/arch/arch-graph.json +4989 -1583
  44. package/src/components/custom/ActiveWork/CoChangeChip.stories.tsx +44 -0
  45. package/src/components/custom/ActiveWork/CoChangeChip.test.tsx +29 -0
  46. package/src/components/custom/ActiveWork/CoChangeChip.tsx +48 -0
  47. package/src/components/custom/ActiveWork/Eyebrow.stories.tsx +25 -0
  48. package/src/components/custom/ActiveWork/Eyebrow.test.tsx +16 -0
  49. package/src/components/custom/ActiveWork/Eyebrow.tsx +26 -0
  50. package/src/components/custom/ActiveWork/FileActivityDetail.stories.tsx +50 -0
  51. package/src/components/custom/ActiveWork/FileActivityDetail.test.tsx +66 -0
  52. package/src/components/custom/ActiveWork/FileActivityDetail.tsx +202 -0
  53. package/src/components/custom/ActiveWork/FileActivityRow.stories.tsx +70 -0
  54. package/src/components/custom/ActiveWork/FileActivityRow.test.tsx +67 -0
  55. package/src/components/custom/ActiveWork/FileActivityRow.tsx +130 -0
  56. package/src/components/custom/ActiveWork/FileHistoryExplorer.stories.tsx +84 -0
  57. package/src/components/custom/ActiveWork/FileHistoryExplorer.test.tsx +99 -0
  58. package/src/components/custom/ActiveWork/FileHistoryExplorer.tsx +138 -0
  59. package/src/components/custom/ActiveWork/FilePathLabel.stories.tsx +39 -0
  60. package/src/components/custom/ActiveWork/FilePathLabel.test.tsx +53 -0
  61. package/src/components/custom/ActiveWork/FilePathLabel.tsx +63 -0
  62. package/src/components/custom/ActiveWork/InitiativeBrief.stories.tsx +50 -0
  63. package/src/components/custom/ActiveWork/InitiativeBrief.test.tsx +62 -0
  64. package/src/components/custom/ActiveWork/InitiativeBrief.tsx +182 -0
  65. package/src/components/custom/ActiveWork/InitiativeCard.stories.tsx +73 -0
  66. package/src/components/custom/ActiveWork/InitiativeCard.test.tsx +68 -0
  67. package/src/components/custom/ActiveWork/InitiativeCard.tsx +136 -0
  68. package/src/components/custom/ActiveWork/InitiativeHeader.stories.tsx +59 -0
  69. package/src/components/custom/ActiveWork/InitiativeHeader.test.tsx +40 -0
  70. package/src/components/custom/ActiveWork/InitiativeHeader.tsx +73 -0
  71. package/src/components/custom/ActiveWork/InitiativeReader.stories.tsx +145 -0
  72. package/src/components/custom/ActiveWork/OpenLoops.stories.tsx +58 -0
  73. package/src/components/custom/ActiveWork/OpenLoops.test.tsx +61 -0
  74. package/src/components/custom/ActiveWork/OpenLoops.tsx +107 -0
  75. package/src/components/custom/ActiveWork/PortfolioOverview.stories.tsx +101 -0
  76. package/src/components/custom/ActiveWork/PortfolioOverview.test.tsx +81 -0
  77. package/src/components/custom/ActiveWork/PortfolioOverview.tsx +83 -0
  78. package/src/components/custom/ActiveWork/README.md +305 -0
  79. package/src/components/custom/ActiveWork/SessionDetail.stories.tsx +71 -0
  80. package/src/components/custom/ActiveWork/SessionDetail.test.tsx +84 -0
  81. package/src/components/custom/ActiveWork/SessionDetail.tsx +180 -0
  82. package/src/components/custom/ActiveWork/SessionList.stories.tsx +69 -0
  83. package/src/components/custom/ActiveWork/SessionList.test.tsx +78 -0
  84. package/src/components/custom/ActiveWork/SessionList.tsx +103 -0
  85. package/src/components/custom/ActiveWork/SessionListItem.stories.tsx +64 -0
  86. package/src/components/custom/ActiveWork/SessionListItem.test.tsx +62 -0
  87. package/src/components/custom/ActiveWork/SessionListItem.tsx +152 -0
  88. package/src/components/custom/ActiveWork/SessionReader.stories.tsx +113 -0
  89. package/src/components/custom/ActiveWork/SeverityLabel.stories.tsx +51 -0
  90. package/src/components/custom/ActiveWork/SeverityLabel.test.tsx +68 -0
  91. package/src/components/custom/ActiveWork/SeverityLabel.tsx +97 -0
  92. package/src/components/custom/ActiveWork/TaskRow.stories.tsx +63 -0
  93. package/src/components/custom/ActiveWork/TaskRow.test.tsx +112 -0
  94. package/src/components/custom/ActiveWork/TaskRow.tsx +176 -0
  95. package/src/components/custom/ActiveWork/TaskTable.stories.tsx +123 -0
  96. package/src/components/custom/ActiveWork/TaskTable.test.tsx +233 -0
  97. package/src/components/custom/ActiveWork/TaskTable.tsx +321 -0
  98. package/src/components/custom/ActiveWork/active-work-depth.test.tsx +102 -0
  99. package/src/components/custom/ActiveWork/file-history-fixture.ts +91 -0
  100. package/src/components/custom/ActiveWork/format-time.test.ts +23 -0
  101. package/src/components/custom/ActiveWork/format-time.ts +32 -0
  102. package/src/components/custom/ActiveWork/index.ts +19 -0
  103. package/src/components/custom/ActiveWork/initiative-fixture.ts +104 -0
  104. package/src/components/custom/ActiveWork/session-fixture.ts +267 -0
  105. package/src/components/custom/ActiveWork/session-linkers.ts +56 -0
  106. package/src/components/custom/ActiveWork/task-list-fixture.ts +97 -0
  107. package/src/components/custom/CircularTimer/CircularTimer.stories.tsx +12 -6
  108. package/src/components/custom/DateTime/DateTime.stories.tsx +2 -1
  109. package/src/components/custom/DateTime/DateTime.test.tsx +3 -1
  110. package/src/components/custom/EmptyState/EmptyState.stories.tsx +22 -9
  111. package/src/components/custom/EmptyState/EmptyState.test.tsx +7 -13
  112. package/src/components/custom/EmptyState/EmptyState.tsx +4 -18
  113. package/src/components/custom/Fatigue/DualGhostSpark.stories.tsx +4 -3
  114. package/src/components/custom/Fatigue/FatigueLights.stories.tsx +2 -2
  115. package/src/components/custom/Fatigue/GhostSpark.stories.tsx +4 -3
  116. package/src/components/custom/Fatigue/LiveFatigueCard.stories.tsx +2 -2
  117. package/src/components/custom/Fatigue/LiveFatigueCard.tsx +8 -4
  118. package/src/components/custom/Fatigue/LiveFatiguePanel.stories.tsx +116 -6
  119. package/src/components/custom/Fatigue/LiveFatiguePanel.test.tsx +134 -0
  120. package/src/components/custom/Fatigue/LiveFatiguePanel.tsx +54 -83
  121. package/src/components/custom/Fatigue/README.md +40 -3
  122. package/src/components/custom/Fatigue/RomProgressionChart.stories.tsx +2 -2
  123. package/src/components/custom/Fatigue/SilverRedPalette.stories.tsx +2 -1
  124. package/src/components/custom/Fatigue/VelocityHero.stories.tsx +4 -3
  125. package/src/components/custom/Fatigue/VerdictHero.stories.tsx +2 -2
  126. package/src/components/custom/Fatigue/fatigue-mock.test.ts +0 -5
  127. package/src/components/custom/Fatigue/fatigue-mock.ts +2 -10
  128. package/src/components/custom/Fatigue/fatigue-tokens.ts +12 -0
  129. package/src/components/custom/Fatigue/index.ts +17 -5
  130. package/src/components/custom/Fatigue/panel-layout.test.ts +149 -0
  131. package/src/components/custom/Fatigue/panel-layout.ts +185 -0
  132. package/src/components/custom/Gauge/Gauge.stories.tsx +6 -3
  133. package/src/components/custom/Gauge/Gauge.test.tsx +1 -1
  134. package/src/components/custom/Gauge/Gauge.tsx +7 -2
  135. package/src/components/custom/Metric/Metric.stories.tsx +10 -1
  136. package/src/components/custom/Metric/Metric.test.tsx +1 -3
  137. package/src/components/custom/Metric/Metric.tsx +5 -20
  138. package/src/components/custom/Prose/MarkdownProse.stories.tsx +88 -0
  139. package/src/components/custom/Prose/MarkdownProse.test.tsx +87 -0
  140. package/src/components/custom/Prose/MarkdownProse.tsx +201 -0
  141. package/src/components/custom/Prose/README.md +58 -0
  142. package/src/components/custom/Prose/index.ts +1 -0
  143. package/src/components/custom/Scatter/Scatter.stories.tsx +55 -14
  144. package/src/components/custom/Scatter/Scatter.test.tsx +2 -2
  145. package/src/components/custom/Scatter/Scatter.tsx +122 -18
  146. package/src/components/custom/Sidebar/Sidebar.stories.tsx +41 -8
  147. package/src/components/custom/Sidebar/Sidebar.test.tsx +5 -1
  148. package/src/components/custom/Sidebar/Sidebar.tsx +16 -33
  149. package/src/components/custom/Table/Table.stories.tsx +99 -16
  150. package/src/components/custom/Table/Table.test.tsx +273 -86
  151. package/src/components/custom/Table/Table.tsx +159 -67
  152. package/src/components/custom/Table/column-fit.test.ts +75 -0
  153. package/src/components/custom/Table/column-fit.ts +116 -0
  154. package/src/components/custom/Table/index.ts +9 -0
  155. package/src/components/custom/TimerReadout/TimerReadout.stories.tsx +8 -6
  156. package/src/components/custom/Treemap/Treemap.stories.tsx +15 -12
  157. package/src/components/custom/Treemap/Treemap.test.tsx +1 -1
  158. package/src/components/custom/Treemap/Treemap.tsx +11 -3
  159. package/src/components/custom/Typography/Typography.stories.tsx +28 -1
  160. package/src/components/custom/Typography/Typography.test.tsx +34 -0
  161. package/src/components/custom/Typography/Typography.tsx +6 -0
  162. package/src/components/custom/Typography/index.ts +1 -8
  163. package/src/components/custom/Workout/ActiveWorkoutPage.stories.tsx +11 -2
  164. package/src/components/custom/Workout/BaseBadge.stories.tsx +27 -11
  165. package/src/components/custom/Workout/BaseBadge.test.tsx +31 -11
  166. package/src/components/custom/Workout/BaseBadge.tsx +6 -2
  167. package/src/components/custom/Workout/BodyMap.stories.tsx +4 -1
  168. package/src/components/custom/Workout/BodyMap.tsx +8 -4
  169. package/src/components/custom/Workout/BodyMapDetailPanel.stories.tsx +28 -6
  170. package/src/components/custom/Workout/BodyMapDetailPanel.test.tsx +11 -15
  171. package/src/components/custom/Workout/BodyMapDetailPanel.tsx +50 -12
  172. package/src/components/custom/Workout/CapacityBandChart.stories.tsx +12 -9
  173. package/src/components/custom/Workout/CapacityBandChart.test.tsx +24 -51
  174. package/src/components/custom/Workout/CapacityBandChart.tsx +144 -111
  175. package/src/components/custom/Workout/DeviationBar.stories.tsx +1 -1
  176. package/src/components/custom/Workout/DeviationBar.test.tsx +10 -4
  177. package/src/components/custom/Workout/DeviationBar.tsx +24 -16
  178. package/src/components/custom/Workout/DualVelocityStrip.stories.tsx +183 -0
  179. package/src/components/custom/Workout/DualVelocityStrip.test.tsx +32 -18
  180. package/src/components/custom/Workout/ExerciseCard.stories.tsx +12 -11
  181. package/src/components/custom/Workout/ExerciseCard.test.tsx +52 -22
  182. package/src/components/custom/Workout/ExerciseCard.tsx +99 -183
  183. package/src/components/custom/Workout/ExerciseCardHeading.stories.tsx +95 -12
  184. package/src/components/custom/Workout/ExerciseCardHeading.test.tsx +189 -1
  185. package/src/components/custom/Workout/ExerciseCardHeading.tsx +167 -18
  186. package/src/components/custom/Workout/ExerciseDetailPage.stories.tsx +9 -1
  187. package/src/components/custom/Workout/ExerciseDetailPage.tsx +3 -2
  188. package/src/components/custom/Workout/ExerciseHeading.stories.tsx +8 -8
  189. package/src/components/custom/Workout/ExerciseHeading.tsx +194 -46
  190. package/src/components/custom/Workout/ExerciseIndicator.stories.tsx +12 -9
  191. package/src/components/custom/Workout/ExerciseIndicator.test.tsx +27 -11
  192. package/src/components/custom/Workout/ExerciseIndicator.tsx +14 -15
  193. package/src/components/custom/Workout/FatigueMeter.stories.tsx +5 -5
  194. package/src/components/custom/Workout/InputBar.stories.tsx +4 -5
  195. package/src/components/custom/Workout/InputBar.tsx +4 -2
  196. package/src/components/custom/Workout/IntensityBar.stories.tsx +1 -1
  197. package/src/components/custom/Workout/IntensityBar.test.tsx +5 -1
  198. package/src/components/custom/Workout/IntensityBar.tsx +8 -3
  199. package/src/components/custom/Workout/LiveAuraFrame.stories.tsx +5 -4
  200. package/src/components/custom/Workout/MesoCard.stories.tsx +4 -1
  201. package/src/components/custom/Workout/MesoCard.test.tsx +7 -18
  202. package/src/components/custom/Workout/MesoCard.tsx +14 -10
  203. package/src/components/custom/Workout/MesoProgressBar.stories.tsx +1 -1
  204. package/src/components/custom/Workout/MesoProgressBar.test.tsx +18 -11
  205. package/src/components/custom/Workout/MesoProgressBar.tsx +15 -13
  206. package/src/components/custom/Workout/MesoStatusCard.stories.tsx +2 -1
  207. package/src/components/custom/Workout/MesoStatusCard.test.tsx +14 -44
  208. package/src/components/custom/Workout/MesoStatusCard.tsx +20 -33
  209. package/src/components/custom/Workout/MetricTiles.stories.tsx +3 -2
  210. package/src/components/custom/Workout/MuscleGroupChip.stories.tsx +2 -8
  211. package/src/components/custom/Workout/MuscleGroupChip.test.tsx +23 -31
  212. package/src/components/custom/Workout/MuscleGroupChip.tsx +28 -67
  213. package/src/components/custom/Workout/PlaceholderStrip.stories.tsx +9 -4
  214. package/src/components/custom/Workout/PlaceholderStrip.test.tsx +17 -10
  215. package/src/components/custom/Workout/PlaceholderStrip.tsx +9 -8
  216. package/src/components/custom/Workout/PrBadge.stories.tsx +2 -1
  217. package/src/components/custom/Workout/PrBadge.test.tsx +3 -9
  218. package/src/components/custom/Workout/PrBadge.tsx +13 -17
  219. package/src/components/custom/Workout/PrHistoryModal.stories.tsx +16 -3
  220. package/src/components/custom/Workout/PrHistoryModal.test.tsx +13 -36
  221. package/src/components/custom/Workout/PrHistoryModal.tsx +8 -4
  222. package/src/components/custom/Workout/ProgramPlanningPage.stories.tsx +6 -1
  223. package/src/components/custom/Workout/README.md +68 -17
  224. package/src/components/custom/Workout/ReadinessCheck.stories.tsx +3 -2
  225. package/src/components/custom/Workout/ReadinessCheck.test.tsx +12 -18
  226. package/src/components/custom/Workout/ReadinessCheck.tsx +22 -4
  227. package/src/components/custom/Workout/RestTimer.stories.tsx +16 -4
  228. package/src/components/custom/Workout/RestTimer.tsx +4 -2
  229. package/src/components/custom/Workout/ScheduleTiles.stories.tsx +3 -2
  230. package/src/components/custom/Workout/ScheduleTiles.test.tsx +3 -4
  231. package/src/components/custom/Workout/ScheduleTiles.tsx +4 -7
  232. package/src/components/custom/Workout/SegmentedBar.stories.tsx +21 -17
  233. package/src/components/custom/Workout/SegmentedBar.tsx +10 -5
  234. package/src/components/custom/Workout/SegmentedProgressBar.stories.tsx +5 -5
  235. package/src/components/custom/Workout/SessionHeader.stories.tsx +6 -6
  236. package/src/components/custom/Workout/SessionHeader.tsx +12 -12
  237. package/src/components/custom/Workout/SessionRail.stories.tsx +12 -11
  238. package/src/components/custom/Workout/SessionRail.tsx +7 -9
  239. package/src/components/custom/Workout/SetBar.stories.tsx +10 -6
  240. package/src/components/custom/Workout/SetBar.test.tsx +49 -4
  241. package/src/components/custom/Workout/SetBar.tsx +38 -12
  242. package/src/components/custom/Workout/SetRow.stories.tsx +3 -2
  243. package/src/components/custom/Workout/SetRow.test.tsx +16 -2
  244. package/src/components/custom/Workout/SetRow.tsx +61 -23
  245. package/src/components/custom/Workout/SetStrip.stories.tsx +63 -7
  246. package/src/components/custom/Workout/SetStrip.test.tsx +25 -0
  247. package/src/components/custom/Workout/SetStrip.tsx +24 -4
  248. package/src/components/custom/Workout/SetTableHeader.stories.tsx +6 -6
  249. package/src/components/custom/Workout/SetTableHeader.tsx +9 -12
  250. package/src/components/custom/Workout/SetsRepsLoad.stories.tsx +7 -7
  251. package/src/components/custom/Workout/SetsRepsLoad.tsx +24 -12
  252. package/src/components/custom/Workout/Sparkline.stories.tsx +14 -11
  253. package/src/components/custom/Workout/Sparkline.test.tsx +37 -19
  254. package/src/components/custom/Workout/Sparkline.tsx +14 -18
  255. package/src/components/custom/Workout/StatusDot.stories.tsx +1 -1
  256. package/src/components/custom/Workout/StatusDot.test.tsx +44 -5
  257. package/src/components/custom/Workout/StatusDot.tsx +93 -63
  258. package/src/components/custom/Workout/StatusPill.stories.tsx +1 -1
  259. package/src/components/custom/Workout/StatusPill.test.tsx +6 -15
  260. package/src/components/custom/Workout/StatusPill.tsx +27 -38
  261. package/src/components/custom/Workout/StrengthTrendChart.stories.tsx +11 -4
  262. package/src/components/custom/Workout/StrengthTrendChart.test.tsx +15 -37
  263. package/src/components/custom/Workout/StrengthTrendChart.tsx +39 -36
  264. package/src/components/custom/Workout/SupersetWrapper.stories.tsx +27 -64
  265. package/src/components/custom/Workout/SupersetWrapper.test.tsx +16 -14
  266. package/src/components/custom/Workout/SupersetWrapper.tsx +17 -21
  267. package/src/components/custom/Workout/TempoDisplay.stories.tsx +26 -10
  268. package/src/components/custom/Workout/TempoDisplay.test.tsx +18 -4
  269. package/src/components/custom/Workout/TempoDisplay.tsx +2 -0
  270. package/src/components/custom/Workout/TrainingStatusPage.stories.tsx +9 -1
  271. package/src/components/custom/Workout/VelocityStrip.compact.stories.tsx +4 -1
  272. package/src/components/custom/Workout/VelocityStrip.dual.stories.tsx +10 -6
  273. package/src/components/custom/Workout/VelocityStrip.expanded.stories.tsx +5 -2
  274. package/src/components/custom/Workout/VelocityStrip.hero.stories.tsx +44 -1
  275. package/src/components/custom/Workout/VelocityStrip.stories.tsx +12 -6
  276. package/src/components/custom/Workout/VelocityStrip.test.tsx +48 -6
  277. package/src/components/custom/Workout/VelocityStrip.tsx +26 -14
  278. package/src/components/custom/Workout/VolumeLandmarkBar.stories.tsx +6 -7
  279. package/src/components/custom/Workout/VolumeLandmarkBar.tsx +15 -6
  280. package/src/components/custom/Workout/WeekRow.stories.tsx +4 -1
  281. package/src/components/custom/Workout/WeekRow.test.tsx +18 -15
  282. package/src/components/custom/Workout/WeekRow.tsx +23 -16
  283. package/src/components/custom/Workout/WeightBadge.stories.tsx +2 -1
  284. package/src/components/custom/Workout/WeightBadge.test.tsx +50 -19
  285. package/src/components/custom/Workout/WeightBadge.tsx +28 -27
  286. package/src/components/custom/Workout/WorkoutCard.stories.tsx +6 -1
  287. package/src/components/custom/Workout/WorkoutCard.test.tsx +18 -0
  288. package/src/components/custom/Workout/WorkoutCard.tsx +35 -57
  289. package/src/components/custom/Workout/WorkoutPill.stories.tsx +5 -2
  290. package/src/components/custom/Workout/WorkoutPill.test.tsx +39 -7
  291. package/src/components/custom/Workout/WorkoutPill.tsx +88 -57
  292. package/src/components/custom/Workout/ZoneTrack.stories.tsx +10 -7
  293. package/src/components/custom/Workout/ZoneTrack.tsx +10 -9
  294. package/src/components/custom/Workout/exerciseRowState.ts +29 -0
  295. package/src/components/custom/Workout/index.ts +17 -2
  296. package/src/components/custom/Workout/metricText.stories.tsx +15 -13
  297. package/src/components/custom/Workout/metricText.tsx +8 -2
  298. package/src/components/custom/Workout/setHeadingKit.tsx +219 -36
  299. package/src/components/custom/Workout/velocity-story-kit.tsx +2 -2
  300. package/src/components/custom/charts/README.md +66 -0
  301. package/src/components/custom/charts/SetBarChart.test.tsx +46 -1
  302. package/src/components/custom/charts/SetBarChart.tsx +56 -9
  303. package/src/components/custom/charts/SparkBars.stories.tsx +55 -0
  304. package/src/components/custom/charts/SparkBars.test.tsx +69 -0
  305. package/src/components/custom/charts/SparkBars.tsx +85 -0
  306. package/src/components/custom/charts/flatBarGeometry.test.ts +41 -0
  307. package/src/components/custom/charts/flatBarGeometry.ts +32 -0
  308. package/src/components/custom/charts/index.ts +3 -0
  309. package/src/components/custom/index.ts +3 -0
  310. package/src/components/custom/stepper/Stepper.stories.tsx +13 -10
  311. package/src/components/custom/stepper/Stepper.test.tsx +1 -7
  312. package/src/components/custom/stepper/Stepper.tsx +21 -34
  313. package/src/components/icons/icons.stories.tsx +1 -1
  314. package/src/components/icons/icons.tsx +51 -0
  315. package/src/components/shell/AppShell.stories.tsx +150 -0
  316. package/src/components/shell/AppShell.test.tsx +70 -0
  317. package/src/components/shell/AppShell.tsx +90 -0
  318. package/src/components/shell/BrandLockup.stories.tsx +66 -5
  319. package/src/components/shell/BrandLockup.test.tsx +34 -1
  320. package/src/components/shell/BrandLockup.tsx +27 -11
  321. package/src/components/shell/NavItem.stories.tsx +4 -4
  322. package/src/components/shell/NavItem.test.tsx +17 -0
  323. package/src/components/shell/NavItem.tsx +17 -5
  324. package/src/components/shell/README.md +89 -26
  325. package/src/components/shell/SideNav.stories.tsx +38 -7
  326. package/src/components/shell/SideNav.test.tsx +16 -8
  327. package/src/components/shell/SideNav.tsx +17 -17
  328. package/src/components/shell/TopBar.stories.tsx +44 -19
  329. package/src/components/shell/TopBar.test.tsx +34 -12
  330. package/src/components/shell/TopBar.tsx +61 -40
  331. package/src/components/shell/brands.tsx +66 -0
  332. package/src/components/shell/index.ts +9 -8
  333. package/src/components/shell/{DeviceIndicator.stories.tsx → workout/DeviceIndicator.stories.tsx} +2 -2
  334. package/src/components/shell/{DeviceIndicator.tsx → workout/DeviceIndicator.tsx} +2 -2
  335. package/src/components/shell/{DeviceMenu.stories.tsx → workout/DeviceMenu.stories.tsx} +2 -2
  336. package/src/components/shell/{DeviceMenu.tsx → workout/DeviceMenu.tsx} +3 -3
  337. package/src/components/shell/{DeviceRow.stories.tsx → workout/DeviceRow.stories.tsx} +2 -2
  338. package/src/components/shell/{DeviceRow.tsx → workout/DeviceRow.tsx} +3 -3
  339. package/src/components/shell/{SessionStatePill.stories.tsx → workout/SessionStatePill.stories.tsx} +2 -2
  340. package/src/components/shell/{SessionStatePill.tsx → workout/SessionStatePill.tsx} +5 -3
  341. package/src/components/shell/workout/WorkoutShell.stories.tsx +71 -0
  342. package/src/components/shell/{DashboardShell.test.tsx → workout/WorkoutShell.test.tsx} +19 -8
  343. package/src/components/shell/workout/WorkoutShell.tsx +77 -0
  344. package/src/components/shell/workout/WorkoutTopBar.stories.tsx +58 -0
  345. package/src/components/shell/workout/WorkoutTopBar.test.tsx +39 -0
  346. package/src/components/shell/workout/WorkoutTopBar.tsx +52 -0
  347. package/src/components/shell/workout/index.ts +9 -0
  348. package/src/components/shell/workout/workoutNavItems.tsx +16 -0
  349. package/src/components/ui/README.md +110 -0
  350. package/src/components/ui/alert/Alert.stories.tsx +15 -5
  351. package/src/components/ui/alert/Alert.tsx +24 -3
  352. package/src/components/ui/autocomplete/Autocomplete.stories.tsx +11 -13
  353. package/src/components/ui/autocomplete/Autocomplete.test.tsx +7 -25
  354. package/src/components/ui/autocomplete/Autocomplete.tsx +21 -28
  355. package/src/components/ui/avatar/Avatar.stories.tsx +1 -1
  356. package/src/components/ui/avatar/Avatar.tsx +2 -10
  357. package/src/components/ui/badge/Badge.stories.tsx +83 -28
  358. package/src/components/ui/badge/Badge.test.tsx +19 -3
  359. package/src/components/ui/badge/Badge.tsx +48 -55
  360. package/src/components/ui/breadcrumbs/Breadcrumbs.stories.tsx +1 -1
  361. package/src/components/ui/breadcrumbs/Breadcrumbs.tsx +4 -16
  362. package/src/components/ui/button/Button.stories.tsx +46 -12
  363. package/src/components/ui/button/Button.tsx +44 -37
  364. package/src/components/ui/card/Card.stories.tsx +90 -94
  365. package/src/components/ui/card/Card.test.tsx +80 -6
  366. package/src/components/ui/card/Card.tsx +150 -203
  367. package/src/components/ui/checkbox/Checkbox.stories.tsx +1 -1
  368. package/src/components/ui/checkbox/Checkbox.tsx +7 -27
  369. package/src/components/ui/chip/Chip.stories.tsx +37 -13
  370. package/src/components/ui/chip/Chip.test.tsx +10 -6
  371. package/src/components/ui/chip/Chip.tsx +76 -91
  372. package/src/components/ui/collapse/Collapse.stories.tsx +23 -23
  373. package/src/components/ui/collapse/Collapse.tsx +6 -11
  374. package/src/components/ui/data-row/DataRow.stories.tsx +14 -3
  375. package/src/components/ui/data-row/DataRow.test.tsx +5 -15
  376. package/src/components/ui/data-row/DataRow.tsx +18 -7
  377. package/src/components/ui/divider/Divider.stories.tsx +1 -1
  378. package/src/components/ui/divider/Divider.tsx +1 -5
  379. package/src/components/ui/drawer/Drawer.stories.tsx +5 -16
  380. package/src/components/ui/drawer/Drawer.tsx +13 -27
  381. package/src/components/ui/floating-overlay-depth.test.tsx +143 -0
  382. package/src/components/ui/form-field/FormField.stories.tsx +6 -20
  383. package/src/components/ui/form-field/FormField.test.tsx +1 -5
  384. package/src/components/ui/form-field/FormField.tsx +10 -46
  385. package/src/components/ui/help-tip/HelpTip.stories.tsx +8 -19
  386. package/src/components/ui/help-tip/HelpTip.test.tsx +1 -3
  387. package/src/components/ui/help-tip/HelpTip.tsx +21 -22
  388. package/src/components/ui/help-tip/index.ts +7 -1
  389. package/src/components/ui/icon-box/IconBox.stories.tsx +1 -1
  390. package/src/components/ui/icon-box/IconBox.test.tsx +1 -7
  391. package/src/components/ui/icon-box/IconBox.tsx +10 -18
  392. package/src/components/ui/indicator/Indicator.stories.tsx +5 -4
  393. package/src/components/ui/indicator/Indicator.tsx +20 -14
  394. package/src/components/ui/input/Input.stories.tsx +3 -11
  395. package/src/components/ui/input/Input.test.tsx +2 -10
  396. package/src/components/ui/input/Input.tsx +10 -25
  397. package/src/components/ui/input/index.ts +7 -1
  398. package/src/components/ui/link/Link.stories.tsx +19 -7
  399. package/src/components/ui/list-item/ListItem.stories.tsx +17 -5
  400. package/src/components/ui/list-item/ListItem.tsx +2 -9
  401. package/src/components/ui/menu/Menu.stories.tsx +21 -15
  402. package/src/components/ui/menu/Menu.test.tsx +2 -11
  403. package/src/components/ui/menu/Menu.tsx +12 -14
  404. package/src/components/ui/menu/index.ts +8 -1
  405. package/src/components/ui/modal/Modal.stories.tsx +2 -2
  406. package/src/components/ui/modal/Modal.tsx +31 -19
  407. package/src/components/ui/pill/Pill.stories.tsx +111 -23
  408. package/src/components/ui/pill/Pill.test.tsx +101 -3
  409. package/src/components/ui/pill/Pill.tsx +168 -49
  410. package/src/components/ui/pill/index.ts +1 -1
  411. package/src/components/ui/popover/Popover.stories.tsx +6 -8
  412. package/src/components/ui/popover/Popover.test.tsx +1 -6
  413. package/src/components/ui/popover/Popover.tsx +20 -15
  414. package/src/components/ui/popover/index.ts +7 -1
  415. package/src/components/ui/progress/Progress.stories.tsx +3 -12
  416. package/src/components/ui/progress/Progress.test.tsx +1 -5
  417. package/src/components/ui/progress/Progress.tsx +9 -6
  418. package/src/components/ui/radio/Radio.stories.tsx +42 -21
  419. package/src/components/ui/radio/Radio.test.tsx +6 -2
  420. package/src/components/ui/radio/Radio.tsx +23 -22
  421. package/src/components/ui/section/Section.stories.tsx +12 -21
  422. package/src/components/ui/section/Section.test.tsx +1 -6
  423. package/src/components/ui/section/Section.tsx +1 -3
  424. package/src/components/ui/section/index.ts +1 -5
  425. package/src/components/ui/select/Select.stories.tsx +3 -13
  426. package/src/components/ui/select/Select.test.tsx +2 -11
  427. package/src/components/ui/select/Select.tsx +16 -15
  428. package/src/components/ui/skeleton/Skeleton.stories.tsx +3 -11
  429. package/src/components/ui/skeleton/Skeleton.tsx +3 -14
  430. package/src/components/ui/skeleton/index.ts +1 -7
  431. package/src/components/ui/spinner/Spinner.stories.tsx +1 -1
  432. package/src/components/ui/spinner/Spinner.tsx +4 -5
  433. package/src/components/ui/stack/Stack.stories.tsx +8 -8
  434. package/src/components/ui/stack/Stack.tsx +1 -1
  435. package/src/components/ui/surface/Surface.stories.tsx +92 -33
  436. package/src/components/ui/surface/Surface.test.tsx +88 -28
  437. package/src/components/ui/surface/Surface.tsx +37 -87
  438. package/src/components/ui/surface/SurfaceContext.ts +22 -62
  439. package/src/components/ui/surface/index.ts +8 -0
  440. package/src/components/ui/surface/resolveSurface.ts +98 -0
  441. package/src/components/ui/surface/surface.contract.test.ts +6 -1
  442. package/src/components/ui/switch/Switch.stories.tsx +1 -1
  443. package/src/components/ui/switch/Switch.tsx +7 -6
  444. package/src/components/ui/tabs/Tabs.stories.tsx +1 -1
  445. package/src/components/ui/tabs/Tabs.tsx +8 -21
  446. package/src/components/ui/tabs/index.ts +1 -7
  447. package/src/components/ui/tile/Tile.stories.tsx +1 -1
  448. package/src/components/ui/tile/Tile.tsx +3 -0
  449. package/src/components/ui/toast/Toast.stories.tsx +1 -1
  450. package/src/components/ui/toast/Toast.test.tsx +2 -8
  451. package/src/components/ui/toast/Toast.tsx +49 -57
  452. package/src/components/ui/toast/index.ts +0 -1
  453. package/src/components/ui/toolbar-button/ToolbarButton.stories.tsx +92 -71
  454. package/src/components/ui/toolbar-button/ToolbarButton.test.tsx +3 -18
  455. package/src/components/ui/toolbar-button/ToolbarButton.tsx +38 -49
  456. package/src/components/ui/tooltip/Tooltip.stories.tsx +12 -3
  457. package/src/components/ui/tooltip/Tooltip.test.tsx +21 -3
  458. package/src/components/ui/tooltip/Tooltip.tsx +55 -36
  459. package/src/components/ui/tooltip/index.ts +1 -1
  460. package/src/components/ui/trigger/TriggerSurface.test.tsx +215 -0
  461. package/src/components/ui/trigger/TriggerSurface.tsx +81 -0
  462. package/src/components/ui/trigger/index.ts +2 -0
  463. package/src/stories/PresetShowcase.stories.tsx +101 -48
  464. package/src/test/no-device-internals.test.ts +3 -3
  465. package/src/test/no-raw-color.test.ts +39 -0
  466. package/src/theme/Alpha.stories.tsx +103 -0
  467. package/src/theme/ChoosingTokens.stories.tsx +48 -0
  468. package/src/theme/ColorPalettes.stories.tsx +62 -45
  469. package/src/theme/ColorPrimitives.stories.tsx +35 -35
  470. package/src/theme/Depth.stories.tsx +132 -65
  471. package/src/theme/DepthCalibration.stories.tsx +23 -21
  472. package/src/theme/ProposedTokensVW82.stories.tsx +414 -0
  473. package/src/theme/ThemeProvider.test.tsx +4 -4
  474. package/src/theme/barrel.ts +7 -6
  475. package/src/theme/color-stories.coverage.test.ts +1 -1
  476. package/src/theme/color-utils.ts +41 -29
  477. package/src/theme/config.completeness.test.ts +1 -1
  478. package/src/theme/config.ts +40 -0
  479. package/src/theme/elevation.test.ts +82 -56
  480. package/src/theme/elevation.ts +77 -561
  481. package/src/theme/global.css +45 -5
  482. package/src/theme/grey-ramp.test.ts +24 -8
  483. package/src/theme/lift.test.ts +39 -0
  484. package/src/theme/lift.ts +102 -0
  485. package/src/theme/materials.test.ts +5 -2
  486. package/src/theme/materials.ts +38 -4
  487. package/src/theme/native-theming-guard.test.ts +5 -5
  488. package/src/theme/presets/apply.ts +4 -0
  489. package/src/theme/presets/audiobook.ts +5 -2
  490. package/src/theme/presets/default.ts +4 -0
  491. package/src/theme/presets/index.ts +14 -1
  492. package/src/theme/presets/types.ts +1 -1
  493. package/src/theme/semantic-contrast.test.ts +13 -4
  494. package/src/theme/status-distinctness.test.ts +66 -0
  495. package/src/theme/subtle-tone-weight.test.ts +163 -0
  496. package/src/theme/surface-planes.test.ts +37 -0
  497. package/src/theme/surface-planes.ts +68 -0
  498. package/src/theme/tailwind-var-opacity.test.ts +163 -0
  499. package/src/theme/token-export-guard.test.ts +1 -3
  500. package/src/theme/tokens/primitives.test.ts +15 -7
  501. package/src/theme/tokens/primitives.ts +98 -33
  502. package/src/theme/tokens/semantic-hex-guard.test.ts +322 -0
  503. package/src/theme/tokens/semantic.ts +124 -54
  504. package/src/theme/wash-ladder.test.ts +58 -0
  505. package/src/theme/workout-tokens.ts +1 -7
  506. package/src/types/jest-axe.d.ts +2 -6
  507. package/src/types/raw-md.d.ts +5 -0
  508. package/src/utils/colors.alpha-adoption.test.ts +408 -0
  509. package/src/utils/colors.ts +4 -4
  510. package/src/utils/form.ts +1 -3
  511. package/src/utils/index.ts +2 -7
  512. package/src/utils/number-format.ts +17 -0
  513. package/src/utils/workout-format.ts +15 -6
  514. package/src/web-jsx/jsx-runtime.ts +1 -5
  515. package/tailwind.config.js +55 -9
  516. package/src/components/custom/Workout/ExerciseCardUnified.stories.tsx +0 -151
  517. package/src/components/custom/Workout/RowInventory.stories.tsx +0 -408
  518. package/src/components/custom/Workout/S3FullRail.stories.tsx +0 -46
  519. package/src/components/custom/Workout/S3SessionPace.stories.tsx +0 -95
  520. package/src/components/custom/Workout/S3SessionRailHeading.stories.tsx +0 -61
  521. package/src/components/custom/Workout/S3SetTypes.stories.tsx +0 -176
  522. package/src/components/custom/Workout/S3WorkoutExpansion.stories.tsx +0 -240
  523. package/src/components/shell/DashboardShell.stories.tsx +0 -65
  524. package/src/components/shell/DashboardShell.tsx +0 -75
  525. package/src/components/shell/SessionRailSpecimen.stories.tsx +0 -753
  526. package/src/theme/elevation.stories.tsx +0 -346
  527. package/src/utils/useTheme.ts +0 -72
  528. /package/src/components/shell/{DeviceIndicator.test.tsx → workout/DeviceIndicator.test.tsx} +0 -0
  529. /package/src/components/shell/{DeviceMenu.test.tsx → workout/DeviceMenu.test.tsx} +0 -0
  530. /package/src/components/shell/{DeviceRow.test.tsx → workout/DeviceRow.test.tsx} +0 -0
  531. /package/src/components/shell/{SessionStatePill.test.tsx → workout/SessionStatePill.test.tsx} +0 -0
@@ -47,38 +47,58 @@ declare const semanticColorsLight: {
47
47
  readonly 'brand-primary-light': "#FFA063";
48
48
  readonly 'brand-primary-dark': "#DA5F00";
49
49
  readonly 'brand-primary-subtle': "rgba(255, 121, 0, 0.08)";
50
+ readonly 'brand-primary-muted': "rgba(255, 121, 0, 0.30)";
51
+ readonly 'brand-primary-strong': "rgba(255, 121, 0, 0.50)";
50
52
  readonly 'brand-primary-hover': "#DA5F00";
51
53
  readonly 'brand-primary-active': "#B94A00";
52
54
  readonly 'brand-secondary': "#307B9B";
53
55
  readonly 'brand-secondary-light': "#2697B7";
54
56
  readonly 'brand-secondary-dark': "#2A617F";
55
57
  readonly 'brand-secondary-subtle': "rgba(48, 123, 155, 0.08)";
58
+ readonly 'brand-secondary-muted': "rgba(48, 123, 155, 0.30)";
59
+ readonly 'brand-secondary-strong': "rgba(48, 123, 155, 0.50)";
56
60
  readonly 'brand-secondary-hover': "#2A617F";
57
61
  readonly 'brand-secondary-active': "#22465F";
58
62
  readonly 'on-brand-primary': "#FFFFFF";
59
63
  readonly 'on-brand-secondary': "#FFFFFF";
64
+ readonly 'on-brand-primary-subtle': "#FF7900";
65
+ readonly 'on-brand-secondary-subtle': "#307B9B";
60
66
  readonly 'status-success': "#2ED573";
61
67
  readonly 'status-success-light': "#58F69E";
62
68
  readonly 'status-success-dark': "#298732";
63
69
  readonly 'status-success-subtle': "#E3FFEE";
70
+ readonly 'status-success-muted': "rgba(46, 213, 115, 0.30)";
71
+ readonly 'status-success-strong': "rgba(46, 213, 115, 0.50)";
64
72
  readonly 'status-live': "#2ED573";
65
73
  readonly 'status-live-muted': "#22A444";
66
74
  readonly 'status-error': "#D14343";
67
75
  readonly 'status-error-light': "#E05254";
68
76
  readonly 'status-error-dark': "#A4221C";
69
77
  readonly 'status-error-subtle': "#FFF4F4";
70
- readonly 'status-error-vivid': "#D14343";
78
+ readonly 'status-error-muted': "rgba(209, 67, 67, 0.30)";
79
+ readonly 'status-error-strong': "rgba(209, 67, 67, 0.50)";
80
+ readonly 'status-error-vivid': "#FF4757";
71
81
  readonly 'status-error-vivid-light': "#E05254";
72
82
  readonly 'status-error-vivid-dark': "#A4221C";
73
83
  readonly 'status-error-vivid-subtle': "rgba(255, 71, 87, 0.12)";
84
+ readonly 'status-error-vivid-muted': "rgba(255, 71, 87, 0.30)";
85
+ readonly 'status-error-vivid-strong': "rgba(255, 71, 87, 0.50)";
74
86
  readonly 'status-warning': "#F9B415";
75
87
  readonly 'status-warning-light': "#FFD352";
76
88
  readonly 'status-warning-dark': "#C27400";
77
89
  readonly 'status-warning-subtle': "#FFF7DD";
90
+ readonly 'status-warning-muted': "rgba(249, 180, 21, 0.30)";
91
+ readonly 'status-warning-strong': "rgba(249, 180, 21, 0.50)";
78
92
  readonly 'status-info': "#2196F3";
79
93
  readonly 'status-info-light': "#78C2FF";
80
94
  readonly 'status-info-dark': "#1072CB";
81
95
  readonly 'status-info-subtle': "#EFF8FF";
96
+ readonly 'status-info-muted': "rgba(33, 150, 243, 0.30)";
97
+ readonly 'status-info-strong': "rgba(33, 150, 243, 0.50)";
98
+ readonly 'on-status-success-subtle': "#2ED573";
99
+ readonly 'on-status-error-subtle': "#D14343";
100
+ readonly 'on-status-warning-subtle': "#F9B415";
101
+ readonly 'on-status-info-subtle': "#2196F3";
82
102
  readonly 'on-status-success': "#FFFFFF";
83
103
  readonly 'on-status-error': "#FFFFFF";
84
104
  readonly 'on-status-warning': "#FFFFFF";
@@ -145,42 +165,62 @@ declare const semanticColorsDark: {
145
165
  readonly 'brand-primary-light': "#FFA063";
146
166
  readonly 'brand-primary-dark': "#DA5F00";
147
167
  readonly 'brand-primary-subtle': "rgba(255, 121, 0, 0.12)";
168
+ readonly 'brand-primary-muted': "rgba(255, 121, 0, 0.30)";
169
+ readonly 'brand-primary-strong': "rgba(255, 121, 0, 0.50)";
148
170
  readonly 'brand-primary-hover': "#FFA063";
149
171
  readonly 'brand-primary-active': "#FFC7A2";
150
172
  readonly 'brand-secondary': "#307B9B";
151
173
  readonly 'brand-secondary-light': "#2697B7";
152
174
  readonly 'brand-secondary-dark': "#2A617F";
153
- readonly 'brand-secondary-subtle': "rgba(48, 123, 155, 0.12)";
175
+ readonly 'brand-secondary-subtle': "rgba(34, 211, 238, 0.12)";
176
+ readonly 'brand-secondary-muted': "rgba(48, 123, 155, 0.30)";
177
+ readonly 'brand-secondary-strong': "rgba(48, 123, 155, 0.50)";
154
178
  readonly 'brand-secondary-hover': "#2697B7";
155
179
  readonly 'brand-secondary-active': "#01B5D1";
156
180
  readonly 'on-brand-primary': "#FFFFFF";
157
181
  readonly 'on-brand-secondary': "#FFFFFF";
182
+ readonly 'on-brand-primary-subtle': "#FF7900";
183
+ readonly 'on-brand-secondary-subtle': "#22D3EE";
158
184
  readonly 'status-success': "#2ED573";
159
185
  readonly 'status-success-light': "#58F69E";
160
186
  readonly 'status-success-dark': "#298732";
161
187
  readonly 'status-success-subtle': "rgba(46, 213, 115, 0.12)";
188
+ readonly 'status-success-muted': "rgba(46, 213, 115, 0.30)";
189
+ readonly 'status-success-strong': "rgba(46, 213, 115, 0.50)";
162
190
  readonly 'status-live': "#2ED573";
163
191
  readonly 'status-live-muted': "#22A444";
164
192
  readonly 'status-error': "#D14343";
165
193
  readonly 'status-error-light': "#E05254";
166
194
  readonly 'status-error-dark': "#A4221C";
167
- readonly 'status-error-subtle': "rgba(209, 67, 67, 0.12)";
168
- readonly 'status-error-vivid': "#D14343";
195
+ readonly 'status-error-subtle': "rgba(247, 113, 117, 0.08)";
196
+ readonly 'status-error-muted': "rgba(209, 67, 67, 0.30)";
197
+ readonly 'status-error-strong': "rgba(209, 67, 67, 0.50)";
198
+ readonly 'status-error-vivid': "#FF4757";
169
199
  readonly 'status-error-vivid-light': "#E05254";
170
200
  readonly 'status-error-vivid-dark': "#A4221C";
171
201
  readonly 'status-error-vivid-subtle': "rgba(255, 71, 87, 0.12)";
202
+ readonly 'status-error-vivid-muted': "rgba(255, 71, 87, 0.30)";
203
+ readonly 'status-error-vivid-strong': "rgba(255, 71, 87, 0.50)";
172
204
  readonly 'status-warning': "#F9B415";
173
205
  readonly 'status-warning-light': "#FFD352";
174
206
  readonly 'status-warning-dark': "#C27400";
175
207
  readonly 'status-warning-subtle': "rgba(249, 180, 21, 0.12)";
208
+ readonly 'status-warning-muted': "rgba(249, 180, 21, 0.30)";
209
+ readonly 'status-warning-strong': "rgba(249, 180, 21, 0.50)";
176
210
  readonly 'status-info': "#2196F3";
177
211
  readonly 'status-info-light': "#78C2FF";
178
212
  readonly 'status-info-dark': "#1072CB";
179
- readonly 'status-info-subtle': "rgba(33, 150, 243, 0.12)";
213
+ readonly 'status-info-subtle': "rgba(120, 194, 255, 0.12)";
214
+ readonly 'status-info-muted': "rgba(33, 150, 243, 0.30)";
215
+ readonly 'status-info-strong': "rgba(33, 150, 243, 0.50)";
180
216
  readonly 'on-status-success': "#FFFFFF";
181
217
  readonly 'on-status-error': "#FFFFFF";
182
218
  readonly 'on-status-warning': "#FFFFFF";
183
219
  readonly 'on-status-info': "#FFFFFF";
220
+ readonly 'on-status-success-subtle': "#2ED573";
221
+ readonly 'on-status-error-subtle': "#F77175";
222
+ readonly 'on-status-warning-subtle': "#F9B415";
223
+ readonly 'on-status-info-subtle': "#78C2FF";
184
224
  readonly 'result-improve': "#4caf50";
185
225
  readonly 'result-improve-light': "rgba(76, 175, 80, 0.16)";
186
226
  readonly 'result-improve-dark': "#248a24";
@@ -343,38 +383,58 @@ declare function getSemanticColors(mode: ThemeMode): {
343
383
  readonly 'brand-primary-light': "#FFA063";
344
384
  readonly 'brand-primary-dark': "#DA5F00";
345
385
  readonly 'brand-primary-subtle': "rgba(255, 121, 0, 0.08)";
386
+ readonly 'brand-primary-muted': "rgba(255, 121, 0, 0.30)";
387
+ readonly 'brand-primary-strong': "rgba(255, 121, 0, 0.50)";
346
388
  readonly 'brand-primary-hover': "#DA5F00";
347
389
  readonly 'brand-primary-active': "#B94A00";
348
390
  readonly 'brand-secondary': "#307B9B";
349
391
  readonly 'brand-secondary-light': "#2697B7";
350
392
  readonly 'brand-secondary-dark': "#2A617F";
351
393
  readonly 'brand-secondary-subtle': "rgba(48, 123, 155, 0.08)";
394
+ readonly 'brand-secondary-muted': "rgba(48, 123, 155, 0.30)";
395
+ readonly 'brand-secondary-strong': "rgba(48, 123, 155, 0.50)";
352
396
  readonly 'brand-secondary-hover': "#2A617F";
353
397
  readonly 'brand-secondary-active': "#22465F";
354
398
  readonly 'on-brand-primary': "#FFFFFF";
355
399
  readonly 'on-brand-secondary': "#FFFFFF";
400
+ readonly 'on-brand-primary-subtle': "#FF7900";
401
+ readonly 'on-brand-secondary-subtle': "#307B9B";
356
402
  readonly 'status-success': "#2ED573";
357
403
  readonly 'status-success-light': "#58F69E";
358
404
  readonly 'status-success-dark': "#298732";
359
405
  readonly 'status-success-subtle': "#E3FFEE";
406
+ readonly 'status-success-muted': "rgba(46, 213, 115, 0.30)";
407
+ readonly 'status-success-strong': "rgba(46, 213, 115, 0.50)";
360
408
  readonly 'status-live': "#2ED573";
361
409
  readonly 'status-live-muted': "#22A444";
362
410
  readonly 'status-error': "#D14343";
363
411
  readonly 'status-error-light': "#E05254";
364
412
  readonly 'status-error-dark': "#A4221C";
365
413
  readonly 'status-error-subtle': "#FFF4F4";
366
- readonly 'status-error-vivid': "#D14343";
414
+ readonly 'status-error-muted': "rgba(209, 67, 67, 0.30)";
415
+ readonly 'status-error-strong': "rgba(209, 67, 67, 0.50)";
416
+ readonly 'status-error-vivid': "#FF4757";
367
417
  readonly 'status-error-vivid-light': "#E05254";
368
418
  readonly 'status-error-vivid-dark': "#A4221C";
369
419
  readonly 'status-error-vivid-subtle': "rgba(255, 71, 87, 0.12)";
420
+ readonly 'status-error-vivid-muted': "rgba(255, 71, 87, 0.30)";
421
+ readonly 'status-error-vivid-strong': "rgba(255, 71, 87, 0.50)";
370
422
  readonly 'status-warning': "#F9B415";
371
423
  readonly 'status-warning-light': "#FFD352";
372
424
  readonly 'status-warning-dark': "#C27400";
373
425
  readonly 'status-warning-subtle': "#FFF7DD";
426
+ readonly 'status-warning-muted': "rgba(249, 180, 21, 0.30)";
427
+ readonly 'status-warning-strong': "rgba(249, 180, 21, 0.50)";
374
428
  readonly 'status-info': "#2196F3";
375
429
  readonly 'status-info-light': "#78C2FF";
376
430
  readonly 'status-info-dark': "#1072CB";
377
431
  readonly 'status-info-subtle': "#EFF8FF";
432
+ readonly 'status-info-muted': "rgba(33, 150, 243, 0.30)";
433
+ readonly 'status-info-strong': "rgba(33, 150, 243, 0.50)";
434
+ readonly 'on-status-success-subtle': "#2ED573";
435
+ readonly 'on-status-error-subtle': "#D14343";
436
+ readonly 'on-status-warning-subtle': "#F9B415";
437
+ readonly 'on-status-info-subtle': "#2196F3";
378
438
  readonly 'on-status-success': "#FFFFFF";
379
439
  readonly 'on-status-error': "#FFFFFF";
380
440
  readonly 'on-status-warning': "#FFFFFF";
@@ -440,42 +500,62 @@ declare function getSemanticColors(mode: ThemeMode): {
440
500
  readonly 'brand-primary-light': "#FFA063";
441
501
  readonly 'brand-primary-dark': "#DA5F00";
442
502
  readonly 'brand-primary-subtle': "rgba(255, 121, 0, 0.12)";
503
+ readonly 'brand-primary-muted': "rgba(255, 121, 0, 0.30)";
504
+ readonly 'brand-primary-strong': "rgba(255, 121, 0, 0.50)";
443
505
  readonly 'brand-primary-hover': "#FFA063";
444
506
  readonly 'brand-primary-active': "#FFC7A2";
445
507
  readonly 'brand-secondary': "#307B9B";
446
508
  readonly 'brand-secondary-light': "#2697B7";
447
509
  readonly 'brand-secondary-dark': "#2A617F";
448
- readonly 'brand-secondary-subtle': "rgba(48, 123, 155, 0.12)";
510
+ readonly 'brand-secondary-subtle': "rgba(34, 211, 238, 0.12)";
511
+ readonly 'brand-secondary-muted': "rgba(48, 123, 155, 0.30)";
512
+ readonly 'brand-secondary-strong': "rgba(48, 123, 155, 0.50)";
449
513
  readonly 'brand-secondary-hover': "#2697B7";
450
514
  readonly 'brand-secondary-active': "#01B5D1";
451
515
  readonly 'on-brand-primary': "#FFFFFF";
452
516
  readonly 'on-brand-secondary': "#FFFFFF";
517
+ readonly 'on-brand-primary-subtle': "#FF7900";
518
+ readonly 'on-brand-secondary-subtle': "#22D3EE";
453
519
  readonly 'status-success': "#2ED573";
454
520
  readonly 'status-success-light': "#58F69E";
455
521
  readonly 'status-success-dark': "#298732";
456
522
  readonly 'status-success-subtle': "rgba(46, 213, 115, 0.12)";
523
+ readonly 'status-success-muted': "rgba(46, 213, 115, 0.30)";
524
+ readonly 'status-success-strong': "rgba(46, 213, 115, 0.50)";
457
525
  readonly 'status-live': "#2ED573";
458
526
  readonly 'status-live-muted': "#22A444";
459
527
  readonly 'status-error': "#D14343";
460
528
  readonly 'status-error-light': "#E05254";
461
529
  readonly 'status-error-dark': "#A4221C";
462
- readonly 'status-error-subtle': "rgba(209, 67, 67, 0.12)";
463
- readonly 'status-error-vivid': "#D14343";
530
+ readonly 'status-error-subtle': "rgba(247, 113, 117, 0.08)";
531
+ readonly 'status-error-muted': "rgba(209, 67, 67, 0.30)";
532
+ readonly 'status-error-strong': "rgba(209, 67, 67, 0.50)";
533
+ readonly 'status-error-vivid': "#FF4757";
464
534
  readonly 'status-error-vivid-light': "#E05254";
465
535
  readonly 'status-error-vivid-dark': "#A4221C";
466
536
  readonly 'status-error-vivid-subtle': "rgba(255, 71, 87, 0.12)";
537
+ readonly 'status-error-vivid-muted': "rgba(255, 71, 87, 0.30)";
538
+ readonly 'status-error-vivid-strong': "rgba(255, 71, 87, 0.50)";
467
539
  readonly 'status-warning': "#F9B415";
468
540
  readonly 'status-warning-light': "#FFD352";
469
541
  readonly 'status-warning-dark': "#C27400";
470
542
  readonly 'status-warning-subtle': "rgba(249, 180, 21, 0.12)";
543
+ readonly 'status-warning-muted': "rgba(249, 180, 21, 0.30)";
544
+ readonly 'status-warning-strong': "rgba(249, 180, 21, 0.50)";
471
545
  readonly 'status-info': "#2196F3";
472
546
  readonly 'status-info-light': "#78C2FF";
473
547
  readonly 'status-info-dark': "#1072CB";
474
- readonly 'status-info-subtle': "rgba(33, 150, 243, 0.12)";
548
+ readonly 'status-info-subtle': "rgba(120, 194, 255, 0.12)";
549
+ readonly 'status-info-muted': "rgba(33, 150, 243, 0.30)";
550
+ readonly 'status-info-strong': "rgba(33, 150, 243, 0.50)";
475
551
  readonly 'on-status-success': "#FFFFFF";
476
552
  readonly 'on-status-error': "#FFFFFF";
477
553
  readonly 'on-status-warning': "#FFFFFF";
478
554
  readonly 'on-status-info': "#FFFFFF";
555
+ readonly 'on-status-success-subtle': "#2ED573";
556
+ readonly 'on-status-error-subtle': "#F77175";
557
+ readonly 'on-status-warning-subtle': "#F9B415";
558
+ readonly 'on-status-info-subtle': "#78C2FF";
479
559
  readonly 'result-improve': "#4caf50";
480
560
  readonly 'result-improve-light': "rgba(76, 175, 80, 0.16)";
481
561
  readonly 'result-improve-dark': "#248a24";
@@ -553,6 +633,42 @@ declare const primitiveColors: {
553
633
  readonly black: "#000000";
554
634
  readonly transparent: "transparent";
555
635
  };
636
+ /**
637
+ * The vivid alert red: the one chromatic anchor outside the OKLCH ramps.
638
+ *
639
+ * It survived the TD-07.14 fold of the old `redVivid` scale only as the
640
+ * `-rgb`, `-subtle` and glow encodings of `status-error-vivid`, while the token
641
+ * itself was pinned to `red[600]` and collapsed onto `status-error`. Owning it
642
+ * here means the semantic layer references a primitive instead of carrying a
643
+ * literal. The red ramp has no step this saturated, and adding one means
644
+ * regenerating the ramp, so it stays a pin.
645
+ */
646
+ declare const alertRedVivid: "#FF4757";
647
+ /**
648
+ * Result/outcome palette anchors (VW-83): Material-style green/red/grey chosen
649
+ * for the result-improve/-degrade/-inconclusive tokens. No `primitiveRamps` step
650
+ * matches any of these exactly (the ramps are OKLCH-generated with a different
651
+ * hue/chroma arc), so they are pinned by name here rather than left as raw hex
652
+ * in semantic.ts — same pattern as {@link alertRedVivid}.
653
+ */
654
+ declare const resultPaletteColors: {
655
+ readonly improve: "#4caf50";
656
+ readonly improveDark: "#248a24";
657
+ readonly degrade: "#ef5350";
658
+ readonly degradeDark: "#b30000";
659
+ readonly inconclusive: "#9E9A97";
660
+ };
661
+ /**
662
+ * One-off semantic literals (VW-83) with no exact `greyRamp`/`primitiveRamps`
663
+ * match, pinned by name instead of left as raw hex in semantic.ts.
664
+ */
665
+ declare const semanticPins: {
666
+ readonly textPrimaryLight: "#121828";
667
+ readonly textSecondaryLight: "#65748B";
668
+ readonly backgroundBaseLight: "#EBEBEB";
669
+ readonly dividerLight: "#E8E9EB";
670
+ readonly focusIndigoDark: "#828DF8";
671
+ };
556
672
  /**
557
673
  * Unified warm-neutral grey ramp (TD-07.14)
558
674
  *
@@ -807,6 +923,7 @@ declare const primitiveTypography: {
807
923
  readonly mono: readonly ["SF Mono", "Monaco", "Inconsolata", "Fira Mono", "Droid Sans Mono", "Source Code Pro", "monospace"];
808
924
  };
809
925
  readonly fontSizes: {
926
+ readonly '2xs': "0.625rem";
810
927
  readonly xs: "0.75rem";
811
928
  readonly sm: "0.875rem";
812
929
  readonly base: "1rem";
@@ -901,4 +1018,4 @@ declare const primitiveZIndex: {
901
1018
  readonly tooltip: 1800;
902
1019
  };
903
1020
 
904
- export { CATEGORICAL_CVD_SAFE_MAX, type CategoricalVariant, SURFACE_PLANE_STEPS, type ThemeMode, bestTextColor, buttonSizes, categoricalPalette, discreteRainbow, divergingScale, getCategoricalColor, getDiscreteRainbowColor, getSemanticColors, greyRamp, primitiveBorderRadius, primitiveBreakpoints, primitiveColors, primitiveRamps, primitiveSpacing, primitiveTypography, primitiveZIndex, semanticColorsDark, semanticColorsLight, semanticTypography, sequentialEffort };
1021
+ export { CATEGORICAL_CVD_SAFE_MAX, type CategoricalVariant, SURFACE_PLANE_STEPS, type ThemeMode, alertRedVivid, bestTextColor, buttonSizes, categoricalPalette, discreteRainbow, divergingScale, getCategoricalColor, getDiscreteRainbowColor, getSemanticColors, greyRamp, primitiveBorderRadius, primitiveBreakpoints, primitiveColors, primitiveRamps, primitiveSpacing, primitiveTypography, primitiveZIndex, resultPaletteColors, semanticColorsDark, semanticColorsLight, semanticPins, semanticTypography, sequentialEffort };
@@ -47,38 +47,58 @@ declare const semanticColorsLight: {
47
47
  readonly 'brand-primary-light': "#FFA063";
48
48
  readonly 'brand-primary-dark': "#DA5F00";
49
49
  readonly 'brand-primary-subtle': "rgba(255, 121, 0, 0.08)";
50
+ readonly 'brand-primary-muted': "rgba(255, 121, 0, 0.30)";
51
+ readonly 'brand-primary-strong': "rgba(255, 121, 0, 0.50)";
50
52
  readonly 'brand-primary-hover': "#DA5F00";
51
53
  readonly 'brand-primary-active': "#B94A00";
52
54
  readonly 'brand-secondary': "#307B9B";
53
55
  readonly 'brand-secondary-light': "#2697B7";
54
56
  readonly 'brand-secondary-dark': "#2A617F";
55
57
  readonly 'brand-secondary-subtle': "rgba(48, 123, 155, 0.08)";
58
+ readonly 'brand-secondary-muted': "rgba(48, 123, 155, 0.30)";
59
+ readonly 'brand-secondary-strong': "rgba(48, 123, 155, 0.50)";
56
60
  readonly 'brand-secondary-hover': "#2A617F";
57
61
  readonly 'brand-secondary-active': "#22465F";
58
62
  readonly 'on-brand-primary': "#FFFFFF";
59
63
  readonly 'on-brand-secondary': "#FFFFFF";
64
+ readonly 'on-brand-primary-subtle': "#FF7900";
65
+ readonly 'on-brand-secondary-subtle': "#307B9B";
60
66
  readonly 'status-success': "#2ED573";
61
67
  readonly 'status-success-light': "#58F69E";
62
68
  readonly 'status-success-dark': "#298732";
63
69
  readonly 'status-success-subtle': "#E3FFEE";
70
+ readonly 'status-success-muted': "rgba(46, 213, 115, 0.30)";
71
+ readonly 'status-success-strong': "rgba(46, 213, 115, 0.50)";
64
72
  readonly 'status-live': "#2ED573";
65
73
  readonly 'status-live-muted': "#22A444";
66
74
  readonly 'status-error': "#D14343";
67
75
  readonly 'status-error-light': "#E05254";
68
76
  readonly 'status-error-dark': "#A4221C";
69
77
  readonly 'status-error-subtle': "#FFF4F4";
70
- readonly 'status-error-vivid': "#D14343";
78
+ readonly 'status-error-muted': "rgba(209, 67, 67, 0.30)";
79
+ readonly 'status-error-strong': "rgba(209, 67, 67, 0.50)";
80
+ readonly 'status-error-vivid': "#FF4757";
71
81
  readonly 'status-error-vivid-light': "#E05254";
72
82
  readonly 'status-error-vivid-dark': "#A4221C";
73
83
  readonly 'status-error-vivid-subtle': "rgba(255, 71, 87, 0.12)";
84
+ readonly 'status-error-vivid-muted': "rgba(255, 71, 87, 0.30)";
85
+ readonly 'status-error-vivid-strong': "rgba(255, 71, 87, 0.50)";
74
86
  readonly 'status-warning': "#F9B415";
75
87
  readonly 'status-warning-light': "#FFD352";
76
88
  readonly 'status-warning-dark': "#C27400";
77
89
  readonly 'status-warning-subtle': "#FFF7DD";
90
+ readonly 'status-warning-muted': "rgba(249, 180, 21, 0.30)";
91
+ readonly 'status-warning-strong': "rgba(249, 180, 21, 0.50)";
78
92
  readonly 'status-info': "#2196F3";
79
93
  readonly 'status-info-light': "#78C2FF";
80
94
  readonly 'status-info-dark': "#1072CB";
81
95
  readonly 'status-info-subtle': "#EFF8FF";
96
+ readonly 'status-info-muted': "rgba(33, 150, 243, 0.30)";
97
+ readonly 'status-info-strong': "rgba(33, 150, 243, 0.50)";
98
+ readonly 'on-status-success-subtle': "#2ED573";
99
+ readonly 'on-status-error-subtle': "#D14343";
100
+ readonly 'on-status-warning-subtle': "#F9B415";
101
+ readonly 'on-status-info-subtle': "#2196F3";
82
102
  readonly 'on-status-success': "#FFFFFF";
83
103
  readonly 'on-status-error': "#FFFFFF";
84
104
  readonly 'on-status-warning': "#FFFFFF";
@@ -145,42 +165,62 @@ declare const semanticColorsDark: {
145
165
  readonly 'brand-primary-light': "#FFA063";
146
166
  readonly 'brand-primary-dark': "#DA5F00";
147
167
  readonly 'brand-primary-subtle': "rgba(255, 121, 0, 0.12)";
168
+ readonly 'brand-primary-muted': "rgba(255, 121, 0, 0.30)";
169
+ readonly 'brand-primary-strong': "rgba(255, 121, 0, 0.50)";
148
170
  readonly 'brand-primary-hover': "#FFA063";
149
171
  readonly 'brand-primary-active': "#FFC7A2";
150
172
  readonly 'brand-secondary': "#307B9B";
151
173
  readonly 'brand-secondary-light': "#2697B7";
152
174
  readonly 'brand-secondary-dark': "#2A617F";
153
- readonly 'brand-secondary-subtle': "rgba(48, 123, 155, 0.12)";
175
+ readonly 'brand-secondary-subtle': "rgba(34, 211, 238, 0.12)";
176
+ readonly 'brand-secondary-muted': "rgba(48, 123, 155, 0.30)";
177
+ readonly 'brand-secondary-strong': "rgba(48, 123, 155, 0.50)";
154
178
  readonly 'brand-secondary-hover': "#2697B7";
155
179
  readonly 'brand-secondary-active': "#01B5D1";
156
180
  readonly 'on-brand-primary': "#FFFFFF";
157
181
  readonly 'on-brand-secondary': "#FFFFFF";
182
+ readonly 'on-brand-primary-subtle': "#FF7900";
183
+ readonly 'on-brand-secondary-subtle': "#22D3EE";
158
184
  readonly 'status-success': "#2ED573";
159
185
  readonly 'status-success-light': "#58F69E";
160
186
  readonly 'status-success-dark': "#298732";
161
187
  readonly 'status-success-subtle': "rgba(46, 213, 115, 0.12)";
188
+ readonly 'status-success-muted': "rgba(46, 213, 115, 0.30)";
189
+ readonly 'status-success-strong': "rgba(46, 213, 115, 0.50)";
162
190
  readonly 'status-live': "#2ED573";
163
191
  readonly 'status-live-muted': "#22A444";
164
192
  readonly 'status-error': "#D14343";
165
193
  readonly 'status-error-light': "#E05254";
166
194
  readonly 'status-error-dark': "#A4221C";
167
- readonly 'status-error-subtle': "rgba(209, 67, 67, 0.12)";
168
- readonly 'status-error-vivid': "#D14343";
195
+ readonly 'status-error-subtle': "rgba(247, 113, 117, 0.08)";
196
+ readonly 'status-error-muted': "rgba(209, 67, 67, 0.30)";
197
+ readonly 'status-error-strong': "rgba(209, 67, 67, 0.50)";
198
+ readonly 'status-error-vivid': "#FF4757";
169
199
  readonly 'status-error-vivid-light': "#E05254";
170
200
  readonly 'status-error-vivid-dark': "#A4221C";
171
201
  readonly 'status-error-vivid-subtle': "rgba(255, 71, 87, 0.12)";
202
+ readonly 'status-error-vivid-muted': "rgba(255, 71, 87, 0.30)";
203
+ readonly 'status-error-vivid-strong': "rgba(255, 71, 87, 0.50)";
172
204
  readonly 'status-warning': "#F9B415";
173
205
  readonly 'status-warning-light': "#FFD352";
174
206
  readonly 'status-warning-dark': "#C27400";
175
207
  readonly 'status-warning-subtle': "rgba(249, 180, 21, 0.12)";
208
+ readonly 'status-warning-muted': "rgba(249, 180, 21, 0.30)";
209
+ readonly 'status-warning-strong': "rgba(249, 180, 21, 0.50)";
176
210
  readonly 'status-info': "#2196F3";
177
211
  readonly 'status-info-light': "#78C2FF";
178
212
  readonly 'status-info-dark': "#1072CB";
179
- readonly 'status-info-subtle': "rgba(33, 150, 243, 0.12)";
213
+ readonly 'status-info-subtle': "rgba(120, 194, 255, 0.12)";
214
+ readonly 'status-info-muted': "rgba(33, 150, 243, 0.30)";
215
+ readonly 'status-info-strong': "rgba(33, 150, 243, 0.50)";
180
216
  readonly 'on-status-success': "#FFFFFF";
181
217
  readonly 'on-status-error': "#FFFFFF";
182
218
  readonly 'on-status-warning': "#FFFFFF";
183
219
  readonly 'on-status-info': "#FFFFFF";
220
+ readonly 'on-status-success-subtle': "#2ED573";
221
+ readonly 'on-status-error-subtle': "#F77175";
222
+ readonly 'on-status-warning-subtle': "#F9B415";
223
+ readonly 'on-status-info-subtle': "#78C2FF";
184
224
  readonly 'result-improve': "#4caf50";
185
225
  readonly 'result-improve-light': "rgba(76, 175, 80, 0.16)";
186
226
  readonly 'result-improve-dark': "#248a24";
@@ -343,38 +383,58 @@ declare function getSemanticColors(mode: ThemeMode): {
343
383
  readonly 'brand-primary-light': "#FFA063";
344
384
  readonly 'brand-primary-dark': "#DA5F00";
345
385
  readonly 'brand-primary-subtle': "rgba(255, 121, 0, 0.08)";
386
+ readonly 'brand-primary-muted': "rgba(255, 121, 0, 0.30)";
387
+ readonly 'brand-primary-strong': "rgba(255, 121, 0, 0.50)";
346
388
  readonly 'brand-primary-hover': "#DA5F00";
347
389
  readonly 'brand-primary-active': "#B94A00";
348
390
  readonly 'brand-secondary': "#307B9B";
349
391
  readonly 'brand-secondary-light': "#2697B7";
350
392
  readonly 'brand-secondary-dark': "#2A617F";
351
393
  readonly 'brand-secondary-subtle': "rgba(48, 123, 155, 0.08)";
394
+ readonly 'brand-secondary-muted': "rgba(48, 123, 155, 0.30)";
395
+ readonly 'brand-secondary-strong': "rgba(48, 123, 155, 0.50)";
352
396
  readonly 'brand-secondary-hover': "#2A617F";
353
397
  readonly 'brand-secondary-active': "#22465F";
354
398
  readonly 'on-brand-primary': "#FFFFFF";
355
399
  readonly 'on-brand-secondary': "#FFFFFF";
400
+ readonly 'on-brand-primary-subtle': "#FF7900";
401
+ readonly 'on-brand-secondary-subtle': "#307B9B";
356
402
  readonly 'status-success': "#2ED573";
357
403
  readonly 'status-success-light': "#58F69E";
358
404
  readonly 'status-success-dark': "#298732";
359
405
  readonly 'status-success-subtle': "#E3FFEE";
406
+ readonly 'status-success-muted': "rgba(46, 213, 115, 0.30)";
407
+ readonly 'status-success-strong': "rgba(46, 213, 115, 0.50)";
360
408
  readonly 'status-live': "#2ED573";
361
409
  readonly 'status-live-muted': "#22A444";
362
410
  readonly 'status-error': "#D14343";
363
411
  readonly 'status-error-light': "#E05254";
364
412
  readonly 'status-error-dark': "#A4221C";
365
413
  readonly 'status-error-subtle': "#FFF4F4";
366
- readonly 'status-error-vivid': "#D14343";
414
+ readonly 'status-error-muted': "rgba(209, 67, 67, 0.30)";
415
+ readonly 'status-error-strong': "rgba(209, 67, 67, 0.50)";
416
+ readonly 'status-error-vivid': "#FF4757";
367
417
  readonly 'status-error-vivid-light': "#E05254";
368
418
  readonly 'status-error-vivid-dark': "#A4221C";
369
419
  readonly 'status-error-vivid-subtle': "rgba(255, 71, 87, 0.12)";
420
+ readonly 'status-error-vivid-muted': "rgba(255, 71, 87, 0.30)";
421
+ readonly 'status-error-vivid-strong': "rgba(255, 71, 87, 0.50)";
370
422
  readonly 'status-warning': "#F9B415";
371
423
  readonly 'status-warning-light': "#FFD352";
372
424
  readonly 'status-warning-dark': "#C27400";
373
425
  readonly 'status-warning-subtle': "#FFF7DD";
426
+ readonly 'status-warning-muted': "rgba(249, 180, 21, 0.30)";
427
+ readonly 'status-warning-strong': "rgba(249, 180, 21, 0.50)";
374
428
  readonly 'status-info': "#2196F3";
375
429
  readonly 'status-info-light': "#78C2FF";
376
430
  readonly 'status-info-dark': "#1072CB";
377
431
  readonly 'status-info-subtle': "#EFF8FF";
432
+ readonly 'status-info-muted': "rgba(33, 150, 243, 0.30)";
433
+ readonly 'status-info-strong': "rgba(33, 150, 243, 0.50)";
434
+ readonly 'on-status-success-subtle': "#2ED573";
435
+ readonly 'on-status-error-subtle': "#D14343";
436
+ readonly 'on-status-warning-subtle': "#F9B415";
437
+ readonly 'on-status-info-subtle': "#2196F3";
378
438
  readonly 'on-status-success': "#FFFFFF";
379
439
  readonly 'on-status-error': "#FFFFFF";
380
440
  readonly 'on-status-warning': "#FFFFFF";
@@ -440,42 +500,62 @@ declare function getSemanticColors(mode: ThemeMode): {
440
500
  readonly 'brand-primary-light': "#FFA063";
441
501
  readonly 'brand-primary-dark': "#DA5F00";
442
502
  readonly 'brand-primary-subtle': "rgba(255, 121, 0, 0.12)";
503
+ readonly 'brand-primary-muted': "rgba(255, 121, 0, 0.30)";
504
+ readonly 'brand-primary-strong': "rgba(255, 121, 0, 0.50)";
443
505
  readonly 'brand-primary-hover': "#FFA063";
444
506
  readonly 'brand-primary-active': "#FFC7A2";
445
507
  readonly 'brand-secondary': "#307B9B";
446
508
  readonly 'brand-secondary-light': "#2697B7";
447
509
  readonly 'brand-secondary-dark': "#2A617F";
448
- readonly 'brand-secondary-subtle': "rgba(48, 123, 155, 0.12)";
510
+ readonly 'brand-secondary-subtle': "rgba(34, 211, 238, 0.12)";
511
+ readonly 'brand-secondary-muted': "rgba(48, 123, 155, 0.30)";
512
+ readonly 'brand-secondary-strong': "rgba(48, 123, 155, 0.50)";
449
513
  readonly 'brand-secondary-hover': "#2697B7";
450
514
  readonly 'brand-secondary-active': "#01B5D1";
451
515
  readonly 'on-brand-primary': "#FFFFFF";
452
516
  readonly 'on-brand-secondary': "#FFFFFF";
517
+ readonly 'on-brand-primary-subtle': "#FF7900";
518
+ readonly 'on-brand-secondary-subtle': "#22D3EE";
453
519
  readonly 'status-success': "#2ED573";
454
520
  readonly 'status-success-light': "#58F69E";
455
521
  readonly 'status-success-dark': "#298732";
456
522
  readonly 'status-success-subtle': "rgba(46, 213, 115, 0.12)";
523
+ readonly 'status-success-muted': "rgba(46, 213, 115, 0.30)";
524
+ readonly 'status-success-strong': "rgba(46, 213, 115, 0.50)";
457
525
  readonly 'status-live': "#2ED573";
458
526
  readonly 'status-live-muted': "#22A444";
459
527
  readonly 'status-error': "#D14343";
460
528
  readonly 'status-error-light': "#E05254";
461
529
  readonly 'status-error-dark': "#A4221C";
462
- readonly 'status-error-subtle': "rgba(209, 67, 67, 0.12)";
463
- readonly 'status-error-vivid': "#D14343";
530
+ readonly 'status-error-subtle': "rgba(247, 113, 117, 0.08)";
531
+ readonly 'status-error-muted': "rgba(209, 67, 67, 0.30)";
532
+ readonly 'status-error-strong': "rgba(209, 67, 67, 0.50)";
533
+ readonly 'status-error-vivid': "#FF4757";
464
534
  readonly 'status-error-vivid-light': "#E05254";
465
535
  readonly 'status-error-vivid-dark': "#A4221C";
466
536
  readonly 'status-error-vivid-subtle': "rgba(255, 71, 87, 0.12)";
537
+ readonly 'status-error-vivid-muted': "rgba(255, 71, 87, 0.30)";
538
+ readonly 'status-error-vivid-strong': "rgba(255, 71, 87, 0.50)";
467
539
  readonly 'status-warning': "#F9B415";
468
540
  readonly 'status-warning-light': "#FFD352";
469
541
  readonly 'status-warning-dark': "#C27400";
470
542
  readonly 'status-warning-subtle': "rgba(249, 180, 21, 0.12)";
543
+ readonly 'status-warning-muted': "rgba(249, 180, 21, 0.30)";
544
+ readonly 'status-warning-strong': "rgba(249, 180, 21, 0.50)";
471
545
  readonly 'status-info': "#2196F3";
472
546
  readonly 'status-info-light': "#78C2FF";
473
547
  readonly 'status-info-dark': "#1072CB";
474
- readonly 'status-info-subtle': "rgba(33, 150, 243, 0.12)";
548
+ readonly 'status-info-subtle': "rgba(120, 194, 255, 0.12)";
549
+ readonly 'status-info-muted': "rgba(33, 150, 243, 0.30)";
550
+ readonly 'status-info-strong': "rgba(33, 150, 243, 0.50)";
475
551
  readonly 'on-status-success': "#FFFFFF";
476
552
  readonly 'on-status-error': "#FFFFFF";
477
553
  readonly 'on-status-warning': "#FFFFFF";
478
554
  readonly 'on-status-info': "#FFFFFF";
555
+ readonly 'on-status-success-subtle': "#2ED573";
556
+ readonly 'on-status-error-subtle': "#F77175";
557
+ readonly 'on-status-warning-subtle': "#F9B415";
558
+ readonly 'on-status-info-subtle': "#78C2FF";
479
559
  readonly 'result-improve': "#4caf50";
480
560
  readonly 'result-improve-light': "rgba(76, 175, 80, 0.16)";
481
561
  readonly 'result-improve-dark': "#248a24";
@@ -553,6 +633,42 @@ declare const primitiveColors: {
553
633
  readonly black: "#000000";
554
634
  readonly transparent: "transparent";
555
635
  };
636
+ /**
637
+ * The vivid alert red: the one chromatic anchor outside the OKLCH ramps.
638
+ *
639
+ * It survived the TD-07.14 fold of the old `redVivid` scale only as the
640
+ * `-rgb`, `-subtle` and glow encodings of `status-error-vivid`, while the token
641
+ * itself was pinned to `red[600]` and collapsed onto `status-error`. Owning it
642
+ * here means the semantic layer references a primitive instead of carrying a
643
+ * literal. The red ramp has no step this saturated, and adding one means
644
+ * regenerating the ramp, so it stays a pin.
645
+ */
646
+ declare const alertRedVivid: "#FF4757";
647
+ /**
648
+ * Result/outcome palette anchors (VW-83): Material-style green/red/grey chosen
649
+ * for the result-improve/-degrade/-inconclusive tokens. No `primitiveRamps` step
650
+ * matches any of these exactly (the ramps are OKLCH-generated with a different
651
+ * hue/chroma arc), so they are pinned by name here rather than left as raw hex
652
+ * in semantic.ts — same pattern as {@link alertRedVivid}.
653
+ */
654
+ declare const resultPaletteColors: {
655
+ readonly improve: "#4caf50";
656
+ readonly improveDark: "#248a24";
657
+ readonly degrade: "#ef5350";
658
+ readonly degradeDark: "#b30000";
659
+ readonly inconclusive: "#9E9A97";
660
+ };
661
+ /**
662
+ * One-off semantic literals (VW-83) with no exact `greyRamp`/`primitiveRamps`
663
+ * match, pinned by name instead of left as raw hex in semantic.ts.
664
+ */
665
+ declare const semanticPins: {
666
+ readonly textPrimaryLight: "#121828";
667
+ readonly textSecondaryLight: "#65748B";
668
+ readonly backgroundBaseLight: "#EBEBEB";
669
+ readonly dividerLight: "#E8E9EB";
670
+ readonly focusIndigoDark: "#828DF8";
671
+ };
556
672
  /**
557
673
  * Unified warm-neutral grey ramp (TD-07.14)
558
674
  *
@@ -807,6 +923,7 @@ declare const primitiveTypography: {
807
923
  readonly mono: readonly ["SF Mono", "Monaco", "Inconsolata", "Fira Mono", "Droid Sans Mono", "Source Code Pro", "monospace"];
808
924
  };
809
925
  readonly fontSizes: {
926
+ readonly '2xs': "0.625rem";
810
927
  readonly xs: "0.75rem";
811
928
  readonly sm: "0.875rem";
812
929
  readonly base: "1rem";
@@ -901,4 +1018,4 @@ declare const primitiveZIndex: {
901
1018
  readonly tooltip: 1800;
902
1019
  };
903
1020
 
904
- export { CATEGORICAL_CVD_SAFE_MAX, type CategoricalVariant, SURFACE_PLANE_STEPS, type ThemeMode, bestTextColor, buttonSizes, categoricalPalette, discreteRainbow, divergingScale, getCategoricalColor, getDiscreteRainbowColor, getSemanticColors, greyRamp, primitiveBorderRadius, primitiveBreakpoints, primitiveColors, primitiveRamps, primitiveSpacing, primitiveTypography, primitiveZIndex, semanticColorsDark, semanticColorsLight, semanticTypography, sequentialEffort };
1021
+ export { CATEGORICAL_CVD_SAFE_MAX, type CategoricalVariant, SURFACE_PLANE_STEPS, type ThemeMode, alertRedVivid, bestTextColor, buttonSizes, categoricalPalette, discreteRainbow, divergingScale, getCategoricalColor, getDiscreteRainbowColor, getSemanticColors, greyRamp, primitiveBorderRadius, primitiveBreakpoints, primitiveColors, primitiveRamps, primitiveSpacing, primitiveTypography, primitiveZIndex, resultPaletteColors, semanticColorsDark, semanticColorsLight, semanticPins, semanticTypography, sequentialEffort };