@mindlogic-ai/logician-ui 4.0.0 → 5.0.0-alpha.1

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 (880) hide show
  1. package/MIGRATION-5.0.md +155 -0
  2. package/USAGE.md +1 -1
  3. package/codemods/5.0/README.md +244 -0
  4. package/codemods/5.0/__testfixtures__/badge-variants.input.tsx +20 -0
  5. package/codemods/5.0/__testfixtures__/badge-variants.output.tsx +21 -0
  6. package/codemods/5.0/__testfixtures__/button-variants.input.tsx +124 -0
  7. package/codemods/5.0/__testfixtures__/button-variants.output.tsx +116 -0
  8. package/codemods/5.0/__testfixtures__/card-gradient.input.tsx +12 -0
  9. package/codemods/5.0/__testfixtures__/card-gradient.output.tsx +16 -0
  10. package/codemods/5.0/__testfixtures__/index.input.tsx +43 -0
  11. package/codemods/5.0/__testfixtures__/index.output.tsx +53 -0
  12. package/codemods/5.0/__testfixtures__/tag-chip-conflict.input.tsx +10 -0
  13. package/codemods/5.0/__testfixtures__/tag-chip-conflict.output.tsx +12 -0
  14. package/codemods/5.0/__testfixtures__/tag-chip-merge.input.tsx +42 -0
  15. package/codemods/5.0/__testfixtures__/tag-chip-merge.output.tsx +44 -0
  16. package/codemods/5.0/__testfixtures__/tag-chip.input.tsx +67 -0
  17. package/codemods/5.0/__testfixtures__/tag-chip.output.tsx +99 -0
  18. package/codemods/5.0/__testfixtures__/token-renames.input.tsx +88 -0
  19. package/codemods/5.0/__testfixtures__/token-renames.output.tsx +88 -0
  20. package/codemods/5.0/badge-variants.js +91 -0
  21. package/codemods/5.0/button-variants.js +234 -0
  22. package/codemods/5.0/card-gradient.js +72 -0
  23. package/codemods/5.0/codemods.test.ts +441 -0
  24. package/codemods/5.0/index.js +220 -0
  25. package/codemods/5.0/lib/shared.js +273 -0
  26. package/codemods/5.0/tag-chip.js +436 -0
  27. package/codemods/5.0/token-renames.js +231 -0
  28. package/codemods/vitest.config.ts +22 -0
  29. package/dist/components/Avatar/Avatar.d.ts +37 -0
  30. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  31. package/dist/components/Avatar/Avatar.js +31 -2
  32. package/dist/components/Avatar/Avatar.js.map +1 -1
  33. package/dist/components/Avatar/Avatar.mjs +30 -3
  34. package/dist/components/Avatar/Avatar.mjs.map +1 -1
  35. package/dist/components/Avatar/index.d.ts +1 -1
  36. package/dist/components/Avatar/index.d.ts.map +1 -1
  37. package/dist/components/Badge/Badge.d.ts.map +1 -1
  38. package/dist/components/Badge/Badge.js +10 -6
  39. package/dist/components/Badge/Badge.js.map +1 -1
  40. package/dist/components/Badge/Badge.mjs +11 -7
  41. package/dist/components/Badge/Badge.mjs.map +1 -1
  42. package/dist/components/Badge/Badge.styles.d.ts +17 -3
  43. package/dist/components/Badge/Badge.styles.d.ts.map +1 -1
  44. package/dist/components/Badge/Badge.styles.js +51 -45
  45. package/dist/components/Badge/Badge.styles.js.map +1 -1
  46. package/dist/components/Badge/Badge.styles.mjs +50 -46
  47. package/dist/components/Badge/Badge.styles.mjs.map +1 -1
  48. package/dist/components/Badge/Badge.types.d.ts +16 -12
  49. package/dist/components/Badge/Badge.types.d.ts.map +1 -1
  50. package/dist/components/Badge/index.d.ts +2 -2
  51. package/dist/components/Badge/index.d.ts.map +1 -1
  52. package/dist/components/Banner/Banner.styles.d.ts +7 -3
  53. package/dist/components/Banner/Banner.styles.d.ts.map +1 -1
  54. package/dist/components/Banner/Banner.styles.js +43 -27
  55. package/dist/components/Banner/Banner.styles.js.map +1 -1
  56. package/dist/components/Banner/Banner.styles.mjs +44 -28
  57. package/dist/components/Banner/Banner.styles.mjs.map +1 -1
  58. package/dist/components/Banner/Banner.types.d.ts +1 -1
  59. package/dist/components/Banner/Banner.types.d.ts.map +1 -1
  60. package/dist/components/BottomSheet/BottomSheetCloseButton.d.ts.map +1 -1
  61. package/dist/components/BottomSheet/BottomSheetCloseButton.js +1 -1
  62. package/dist/components/BottomSheet/BottomSheetCloseButton.js.map +1 -1
  63. package/dist/components/BottomSheet/BottomSheetCloseButton.mjs +1 -1
  64. package/dist/components/BottomSheet/BottomSheetCloseButton.mjs.map +1 -1
  65. package/dist/components/Breadcrumb/BreadcrumbLink/BreadcrumbLink.js +1 -1
  66. package/dist/components/Breadcrumb/BreadcrumbLink/BreadcrumbLink.js.map +1 -1
  67. package/dist/components/Breadcrumb/BreadcrumbLink/BreadcrumbLink.mjs +1 -1
  68. package/dist/components/Breadcrumb/BreadcrumbLink/BreadcrumbLink.mjs.map +1 -1
  69. package/dist/components/Button/Button.d.ts.map +1 -1
  70. package/dist/components/Button/Button.js +33 -14
  71. package/dist/components/Button/Button.js.map +1 -1
  72. package/dist/components/Button/Button.legacy.d.ts +53 -0
  73. package/dist/components/Button/Button.legacy.d.ts.map +1 -0
  74. package/dist/components/Button/Button.legacy.js +131 -0
  75. package/dist/components/Button/Button.legacy.js.map +1 -0
  76. package/dist/components/Button/Button.legacy.mjs +127 -0
  77. package/dist/components/Button/Button.legacy.mjs.map +1 -0
  78. package/dist/components/Button/Button.mjs +33 -14
  79. package/dist/components/Button/Button.mjs.map +1 -1
  80. package/dist/components/Button/Button.styles.d.ts +38 -26
  81. package/dist/components/Button/Button.styles.d.ts.map +1 -1
  82. package/dist/components/Button/Button.styles.js +142 -378
  83. package/dist/components/Button/Button.styles.js.map +1 -1
  84. package/dist/components/Button/Button.styles.mjs +141 -379
  85. package/dist/components/Button/Button.styles.mjs.map +1 -1
  86. package/dist/components/Button/Button.types.d.ts +45 -37
  87. package/dist/components/Button/Button.types.d.ts.map +1 -1
  88. package/dist/components/Button/index.d.ts +2 -2
  89. package/dist/components/Button/index.d.ts.map +1 -1
  90. package/dist/components/Card/Card.d.ts.map +1 -1
  91. package/dist/components/Card/Card.js +1 -7
  92. package/dist/components/Card/Card.js.map +1 -1
  93. package/dist/components/Card/Card.mjs +1 -7
  94. package/dist/components/Card/Card.mjs.map +1 -1
  95. package/dist/components/Card/Card.styles.d.ts +1 -12
  96. package/dist/components/Card/Card.styles.d.ts.map +1 -1
  97. package/dist/components/Card/Card.styles.js +6 -13
  98. package/dist/components/Card/Card.styles.js.map +1 -1
  99. package/dist/components/Card/Card.styles.mjs +6 -13
  100. package/dist/components/Card/Card.styles.mjs.map +1 -1
  101. package/dist/components/Card/Card.types.d.ts +1 -5
  102. package/dist/components/Card/Card.types.d.ts.map +1 -1
  103. package/dist/components/Checkbox/CheckboxControl.d.ts.map +1 -1
  104. package/dist/components/Checkbox/CheckboxControl.js +14 -8
  105. package/dist/components/Checkbox/CheckboxControl.js.map +1 -1
  106. package/dist/components/Checkbox/CheckboxControl.mjs +14 -8
  107. package/dist/components/Checkbox/CheckboxControl.mjs.map +1 -1
  108. package/dist/components/Chip/Chip.d.ts +5 -1
  109. package/dist/components/Chip/Chip.d.ts.map +1 -1
  110. package/dist/components/Chip/Chip.js +24 -18
  111. package/dist/components/Chip/Chip.js.map +1 -1
  112. package/dist/components/Chip/Chip.mjs +24 -18
  113. package/dist/components/Chip/Chip.mjs.map +1 -1
  114. package/dist/components/Chip/Chip.types.d.ts +38 -23
  115. package/dist/components/Chip/Chip.types.d.ts.map +1 -1
  116. package/dist/components/Chip/index.d.ts +0 -1
  117. package/dist/components/Chip/index.d.ts.map +1 -1
  118. package/dist/components/Code/Code.d.ts.map +1 -1
  119. package/dist/components/Code/Code.js +2 -2
  120. package/dist/components/Code/Code.js.map +1 -1
  121. package/dist/components/Code/Code.mjs +2 -2
  122. package/dist/components/Code/Code.mjs.map +1 -1
  123. package/dist/components/CodeTabs/CodeTabs.d.ts.map +1 -1
  124. package/dist/components/CodeTabs/CodeTabs.js +16 -2
  125. package/dist/components/CodeTabs/CodeTabs.js.map +1 -1
  126. package/dist/components/CodeTabs/CodeTabs.mjs +16 -2
  127. package/dist/components/CodeTabs/CodeTabs.mjs.map +1 -1
  128. package/dist/components/CodeTabs/CodeTabs.styles.d.ts +27 -0
  129. package/dist/components/CodeTabs/CodeTabs.styles.d.ts.map +1 -0
  130. package/dist/components/CodeTabs/CodeTabs.styles.js +32 -0
  131. package/dist/components/CodeTabs/CodeTabs.styles.js.map +1 -0
  132. package/dist/components/CodeTabs/CodeTabs.styles.mjs +30 -0
  133. package/dist/components/CodeTabs/CodeTabs.styles.mjs.map +1 -0
  134. package/dist/components/CodeTabs/CopyButton.d.ts.map +1 -1
  135. package/dist/components/CodeTabs/CopyButton.js +6 -3
  136. package/dist/components/CodeTabs/CopyButton.js.map +1 -1
  137. package/dist/components/CodeTabs/CopyButton.mjs +6 -3
  138. package/dist/components/CodeTabs/CopyButton.mjs.map +1 -1
  139. package/dist/components/Confetti/Confetti.d.ts +6 -9
  140. package/dist/components/Confetti/Confetti.d.ts.map +1 -1
  141. package/dist/components/Confetti/Confetti.js +8 -42
  142. package/dist/components/Confetti/Confetti.js.map +1 -1
  143. package/dist/components/Confetti/Confetti.mjs +8 -42
  144. package/dist/components/Confetti/Confetti.mjs.map +1 -1
  145. package/dist/components/Confetti/confettiColors.d.ts +25 -0
  146. package/dist/components/Confetti/confettiColors.d.ts.map +1 -0
  147. package/dist/components/Confetti/confettiColors.js +43 -0
  148. package/dist/components/Confetti/confettiColors.js.map +1 -0
  149. package/dist/components/Confetti/confettiColors.mjs +40 -0
  150. package/dist/components/Confetti/confettiColors.mjs.map +1 -0
  151. package/dist/components/CopyableCode/CopyableCode.d.ts.map +1 -1
  152. package/dist/components/CopyableCode/CopyableCode.js +2 -1
  153. package/dist/components/CopyableCode/CopyableCode.js.map +1 -1
  154. package/dist/components/CopyableCode/CopyableCode.mjs +2 -1
  155. package/dist/components/CopyableCode/CopyableCode.mjs.map +1 -1
  156. package/dist/components/CountBadge/CountBadge.d.ts +41 -0
  157. package/dist/components/CountBadge/CountBadge.d.ts.map +1 -0
  158. package/dist/components/CountBadge/CountBadge.js +60 -0
  159. package/dist/components/CountBadge/CountBadge.js.map +1 -0
  160. package/dist/components/CountBadge/CountBadge.mjs +58 -0
  161. package/dist/components/CountBadge/CountBadge.mjs.map +1 -0
  162. package/dist/components/CountBadge/CountBadge.styles.d.ts +13 -0
  163. package/dist/components/CountBadge/CountBadge.styles.d.ts.map +1 -0
  164. package/dist/components/CountBadge/CountBadge.styles.js +42 -0
  165. package/dist/components/CountBadge/CountBadge.styles.js.map +1 -0
  166. package/dist/components/CountBadge/CountBadge.styles.mjs +37 -0
  167. package/dist/components/CountBadge/CountBadge.styles.mjs.map +1 -0
  168. package/dist/components/CountBadge/CountBadge.types.d.ts +33 -0
  169. package/dist/components/CountBadge/CountBadge.types.d.ts.map +1 -0
  170. package/dist/components/CountBadge/index.d.ts +3 -0
  171. package/dist/components/CountBadge/index.d.ts.map +1 -0
  172. package/dist/components/DatePicker/RangeDatePicker.js +9 -7
  173. package/dist/components/DatePicker/RangeDatePicker.js.map +1 -1
  174. package/dist/components/DatePicker/RangeDatePicker.mjs +9 -7
  175. package/dist/components/DatePicker/RangeDatePicker.mjs.map +1 -1
  176. package/dist/components/DatePicker/SingleDatePicker.js +6 -4
  177. package/dist/components/DatePicker/SingleDatePicker.js.map +1 -1
  178. package/dist/components/DatePicker/SingleDatePicker.mjs +6 -4
  179. package/dist/components/DatePicker/SingleDatePicker.mjs.map +1 -1
  180. package/dist/components/ErrorFallback/ErrorFallback.d.ts.map +1 -1
  181. package/dist/components/ErrorFallback/ErrorFallback.js +5 -4
  182. package/dist/components/ErrorFallback/ErrorFallback.js.map +1 -1
  183. package/dist/components/ErrorFallback/ErrorFallback.mjs +5 -4
  184. package/dist/components/ErrorFallback/ErrorFallback.mjs.map +1 -1
  185. package/dist/components/ExpandableText/ExpandableText.js +1 -1
  186. package/dist/components/ExpandableText/ExpandableText.js.map +1 -1
  187. package/dist/components/ExpandableText/ExpandableText.mjs +1 -1
  188. package/dist/components/ExpandableText/ExpandableText.mjs.map +1 -1
  189. package/dist/components/FileItem/FileItem.d.ts.map +1 -1
  190. package/dist/components/FileItem/FileItem.js +2 -2
  191. package/dist/components/FileItem/FileItem.js.map +1 -1
  192. package/dist/components/FileItem/FileItem.mjs +2 -2
  193. package/dist/components/FileItem/FileItem.mjs.map +1 -1
  194. package/dist/components/Form/FieldError/FieldError.d.ts +1 -1
  195. package/dist/components/Form/FieldError/FieldError.js +2 -2
  196. package/dist/components/Form/FieldError/FieldError.js.map +1 -1
  197. package/dist/components/Form/FieldError/FieldError.mjs +2 -2
  198. package/dist/components/Form/FieldError/FieldError.mjs.map +1 -1
  199. package/dist/components/Form/FormModalFooter/FormModalFooter.d.ts.map +1 -1
  200. package/dist/components/Form/FormModalFooter/FormModalFooter.js +19 -1
  201. package/dist/components/Form/FormModalFooter/FormModalFooter.js.map +1 -1
  202. package/dist/components/Form/FormModalFooter/FormModalFooter.mjs +19 -1
  203. package/dist/components/Form/FormModalFooter/FormModalFooter.mjs.map +1 -1
  204. package/dist/components/Form/FormSection/CollapsibleFormSection.js +1 -0
  205. package/dist/components/Form/FormSection/CollapsibleFormSection.js.map +1 -1
  206. package/dist/components/Form/FormSection/CollapsibleFormSection.mjs +1 -0
  207. package/dist/components/Form/FormSection/CollapsibleFormSection.mjs.map +1 -1
  208. package/dist/components/FormLabel/FormLabel.js +1 -1
  209. package/dist/components/FormLabel/FormLabel.js.map +1 -1
  210. package/dist/components/FormLabel/FormLabel.mjs +1 -1
  211. package/dist/components/FormLabel/FormLabel.mjs.map +1 -1
  212. package/dist/components/Icon/_utils/createIcon.d.ts +2 -2
  213. package/dist/components/Icon/_utils/createIcon.js +2 -2
  214. package/dist/components/Icon/_utils/createIcon.mjs +2 -2
  215. package/dist/components/Icon/_utils/createIconGroup.d.ts +1 -1
  216. package/dist/components/Icon/_utils/createIconGroup.js +1 -1
  217. package/dist/components/Icon/_utils/createIconGroup.mjs +1 -1
  218. package/dist/components/IconButton/IconButton.d.ts.map +1 -1
  219. package/dist/components/IconButton/IconButton.js +20 -10
  220. package/dist/components/IconButton/IconButton.js.map +1 -1
  221. package/dist/components/IconButton/IconButton.mjs +20 -10
  222. package/dist/components/IconButton/IconButton.mjs.map +1 -1
  223. package/dist/components/IconButton/IconButton.styles.d.ts +24 -8
  224. package/dist/components/IconButton/IconButton.styles.d.ts.map +1 -1
  225. package/dist/components/IconButton/IconButton.styles.js +77 -11
  226. package/dist/components/IconButton/IconButton.styles.js.map +1 -1
  227. package/dist/components/IconButton/IconButton.styles.mjs +77 -13
  228. package/dist/components/IconButton/IconButton.styles.mjs.map +1 -1
  229. package/dist/components/IconButton/IconButton.types.d.ts +25 -20
  230. package/dist/components/IconButton/IconButton.types.d.ts.map +1 -1
  231. package/dist/components/IconButton/index.d.ts +1 -1
  232. package/dist/components/IconButton/index.d.ts.map +1 -1
  233. package/dist/components/InlineCode/InlineCode.js +6 -6
  234. package/dist/components/InlineCode/InlineCode.js.map +1 -1
  235. package/dist/components/InlineCode/InlineCode.mjs +6 -6
  236. package/dist/components/InlineCode/InlineCode.mjs.map +1 -1
  237. package/dist/components/Input/Input.d.ts.map +1 -1
  238. package/dist/components/Input/Input.js +12 -10
  239. package/dist/components/Input/Input.js.map +1 -1
  240. package/dist/components/Input/Input.mjs +12 -10
  241. package/dist/components/Input/Input.mjs.map +1 -1
  242. package/dist/components/LineGraph/LineGraph.d.ts.map +1 -1
  243. package/dist/components/LineGraph/LineGraph.js +28 -8
  244. package/dist/components/LineGraph/LineGraph.js.map +1 -1
  245. package/dist/components/LineGraph/LineGraph.mjs +28 -8
  246. package/dist/components/LineGraph/LineGraph.mjs.map +1 -1
  247. package/dist/components/LineGraph/seriesColors.d.ts +22 -0
  248. package/dist/components/LineGraph/seriesColors.d.ts.map +1 -0
  249. package/dist/components/LineGraph/seriesColors.js +26 -0
  250. package/dist/components/LineGraph/seriesColors.js.map +1 -0
  251. package/dist/components/LineGraph/seriesColors.mjs +23 -0
  252. package/dist/components/LineGraph/seriesColors.mjs.map +1 -0
  253. package/dist/components/Loaders/LoaderStatus.d.ts +21 -0
  254. package/dist/components/Loaders/LoaderStatus.d.ts.map +1 -0
  255. package/dist/components/Loaders/LoaderStatus.js +29 -0
  256. package/dist/components/Loaders/LoaderStatus.js.map +1 -0
  257. package/dist/components/Loaders/LoaderStatus.mjs +27 -0
  258. package/dist/components/Loaders/LoaderStatus.mjs.map +1 -0
  259. package/dist/components/Loaders/Loaders.styles.d.ts +21 -0
  260. package/dist/components/Loaders/Loaders.styles.d.ts.map +1 -0
  261. package/dist/components/Loaders/Loaders.styles.js +33 -0
  262. package/dist/components/Loaders/Loaders.styles.js.map +1 -0
  263. package/dist/components/Loaders/Loaders.styles.mjs +29 -0
  264. package/dist/components/Loaders/Loaders.styles.mjs.map +1 -0
  265. package/dist/components/Loaders/Loaders.translations.json.js +19 -0
  266. package/dist/components/Loaders/Loaders.translations.json.js.map +1 -0
  267. package/dist/components/Loaders/Loaders.translations.json.mjs +14 -0
  268. package/dist/components/Loaders/Loaders.translations.json.mjs.map +1 -0
  269. package/dist/components/Loaders/PageLoader.d.ts +10 -2
  270. package/dist/components/Loaders/PageLoader.d.ts.map +1 -1
  271. package/dist/components/Loaders/PageLoader.js +6 -3
  272. package/dist/components/Loaders/PageLoader.js.map +1 -1
  273. package/dist/components/Loaders/PageLoader.mjs +7 -4
  274. package/dist/components/Loaders/PageLoader.mjs.map +1 -1
  275. package/dist/components/Loaders/SectionLoader.d.ts +2 -4
  276. package/dist/components/Loaders/SectionLoader.d.ts.map +1 -1
  277. package/dist/components/Loaders/SectionLoader.js +5 -2
  278. package/dist/components/Loaders/SectionLoader.js.map +1 -1
  279. package/dist/components/Loaders/SectionLoader.mjs +6 -3
  280. package/dist/components/Loaders/SectionLoader.mjs.map +1 -1
  281. package/dist/components/Loaders/ThinkingDots.d.ts +10 -0
  282. package/dist/components/Loaders/ThinkingDots.d.ts.map +1 -0
  283. package/dist/components/Loaders/ThinkingDots.js +20 -0
  284. package/dist/components/Loaders/ThinkingDots.js.map +1 -0
  285. package/dist/components/Loaders/ThinkingDots.mjs +18 -0
  286. package/dist/components/Loaders/ThinkingDots.mjs.map +1 -0
  287. package/dist/components/Loaders/index.d.ts +2 -1
  288. package/dist/components/Loaders/index.d.ts.map +1 -1
  289. package/dist/components/LogicianProvider/LogicianProvider.d.ts +12 -0
  290. package/dist/components/LogicianProvider/LogicianProvider.d.ts.map +1 -1
  291. package/dist/components/LogicianProvider/LogicianProvider.js +15 -5
  292. package/dist/components/LogicianProvider/LogicianProvider.js.map +1 -1
  293. package/dist/components/LogicianProvider/LogicianProvider.mjs +16 -6
  294. package/dist/components/LogicianProvider/LogicianProvider.mjs.map +1 -1
  295. package/dist/components/Menu/MenuItem.d.ts.map +1 -1
  296. package/dist/components/Menu/MenuItem.js +10 -6
  297. package/dist/components/Menu/MenuItem.js.map +1 -1
  298. package/dist/components/Menu/MenuItem.mjs +10 -6
  299. package/dist/components/Menu/MenuItem.mjs.map +1 -1
  300. package/dist/components/Menu/MenuList.js +1 -1
  301. package/dist/components/Menu/MenuList.js.map +1 -1
  302. package/dist/components/Menu/MenuList.mjs +1 -1
  303. package/dist/components/Menu/MenuList.mjs.map +1 -1
  304. package/dist/components/Modal/Modal.d.ts +1 -1
  305. package/dist/components/Modal/Modal.d.ts.map +1 -1
  306. package/dist/components/Modal/Modal.js +2 -2
  307. package/dist/components/Modal/Modal.js.map +1 -1
  308. package/dist/components/Modal/Modal.mjs +2 -2
  309. package/dist/components/Modal/Modal.mjs.map +1 -1
  310. package/dist/components/Modal/Modal.types.d.ts +12 -0
  311. package/dist/components/Modal/Modal.types.d.ts.map +1 -1
  312. package/dist/components/Modal/ModalContext.d.ts +2 -0
  313. package/dist/components/Modal/ModalContext.d.ts.map +1 -1
  314. package/dist/components/Modal/ModalContext.js +1 -0
  315. package/dist/components/Modal/ModalContext.js.map +1 -1
  316. package/dist/components/Modal/ModalContext.mjs +1 -0
  317. package/dist/components/Modal/ModalContext.mjs.map +1 -1
  318. package/dist/components/Modal/ModalHeader.d.ts +20 -1
  319. package/dist/components/Modal/ModalHeader.d.ts.map +1 -1
  320. package/dist/components/Modal/ModalHeader.js +46 -2
  321. package/dist/components/Modal/ModalHeader.js.map +1 -1
  322. package/dist/components/Modal/ModalHeader.mjs +47 -3
  323. package/dist/components/Modal/ModalHeader.mjs.map +1 -1
  324. package/dist/components/Modal/index.d.ts +2 -2
  325. package/dist/components/Modal/index.d.ts.map +1 -1
  326. package/dist/components/MonthPicker/MonthButton/MonthButton.d.ts.map +1 -1
  327. package/dist/components/MonthPicker/MonthButton/MonthButton.js +10 -9
  328. package/dist/components/MonthPicker/MonthButton/MonthButton.js.map +1 -1
  329. package/dist/components/MonthPicker/MonthButton/MonthButton.mjs +10 -9
  330. package/dist/components/MonthPicker/MonthButton/MonthButton.mjs.map +1 -1
  331. package/dist/components/Pagination/Pagination.d.ts.map +1 -1
  332. package/dist/components/Pagination/Pagination.js +1 -1
  333. package/dist/components/Pagination/Pagination.js.map +1 -1
  334. package/dist/components/Pagination/Pagination.mjs +1 -1
  335. package/dist/components/Pagination/Pagination.mjs.map +1 -1
  336. package/dist/components/PinInput/PinInput.d.ts.map +1 -1
  337. package/dist/components/PinInput/PinInput.js +5 -1
  338. package/dist/components/PinInput/PinInput.js.map +1 -1
  339. package/dist/components/PinInput/PinInput.mjs +5 -1
  340. package/dist/components/PinInput/PinInput.mjs.map +1 -1
  341. package/dist/components/ProgressBar/ProgressBar.js +1 -1
  342. package/dist/components/ProgressBar/ProgressBar.mjs +1 -1
  343. package/dist/components/RadialProgress/RadialProgress.d.ts.map +1 -1
  344. package/dist/components/RadialProgress/RadialProgress.js +4 -7
  345. package/dist/components/RadialProgress/RadialProgress.js.map +1 -1
  346. package/dist/components/RadialProgress/RadialProgress.mjs +4 -7
  347. package/dist/components/RadialProgress/RadialProgress.mjs.map +1 -1
  348. package/dist/components/RadialProgress/RadialProgress.types.d.ts +1 -1
  349. package/dist/components/RadialProgress/RadialProgress.types.d.ts.map +1 -1
  350. package/dist/components/Radio/RadioControl.d.ts.map +1 -1
  351. package/dist/components/Radio/RadioControl.js +26 -5
  352. package/dist/components/Radio/RadioControl.js.map +1 -1
  353. package/dist/components/Radio/RadioControl.mjs +26 -5
  354. package/dist/components/Radio/RadioControl.mjs.map +1 -1
  355. package/dist/components/Radio/RadioGroup.js +1 -1
  356. package/dist/components/Radio/RadioGroup.js.map +1 -1
  357. package/dist/components/Radio/RadioGroup.mjs +1 -1
  358. package/dist/components/Radio/RadioGroup.mjs.map +1 -1
  359. package/dist/components/SeeMoreButton/SeeMoreButton.d.ts.map +1 -1
  360. package/dist/components/SeeMoreButton/SeeMoreButton.js +8 -3
  361. package/dist/components/SeeMoreButton/SeeMoreButton.js.map +1 -1
  362. package/dist/components/SeeMoreButton/SeeMoreButton.mjs +8 -3
  363. package/dist/components/SeeMoreButton/SeeMoreButton.mjs.map +1 -1
  364. package/dist/components/SeeMoreButton/SeeMoreButton.styles.d.ts +20 -10
  365. package/dist/components/SeeMoreButton/SeeMoreButton.styles.d.ts.map +1 -1
  366. package/dist/components/SeeMoreButton/SeeMoreButton.styles.js +13 -5
  367. package/dist/components/SeeMoreButton/SeeMoreButton.styles.js.map +1 -1
  368. package/dist/components/SeeMoreButton/SeeMoreButton.styles.mjs +13 -5
  369. package/dist/components/SeeMoreButton/SeeMoreButton.styles.mjs.map +1 -1
  370. package/dist/components/SeeMoreButton/SeeMoreButton.types.d.ts +6 -2
  371. package/dist/components/SeeMoreButton/SeeMoreButton.types.d.ts.map +1 -1
  372. package/dist/components/Select/Select.styles.d.ts +13 -12
  373. package/dist/components/Select/Select.styles.d.ts.map +1 -1
  374. package/dist/components/Select/Select.styles.js +20 -14
  375. package/dist/components/Select/Select.styles.js.map +1 -1
  376. package/dist/components/Select/Select.styles.mjs +20 -14
  377. package/dist/components/Select/Select.styles.mjs.map +1 -1
  378. package/dist/components/Slider/SliderThumb/SliderThumb.js +1 -1
  379. package/dist/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  380. package/dist/components/Slider/SliderThumb/SliderThumb.mjs +1 -1
  381. package/dist/components/Slider/SliderThumb/SliderThumb.mjs.map +1 -1
  382. package/dist/components/Slider/SliderThumbs/SliderThumbs.js +1 -1
  383. package/dist/components/Slider/SliderThumbs/SliderThumbs.js.map +1 -1
  384. package/dist/components/Slider/SliderThumbs/SliderThumbs.mjs +1 -1
  385. package/dist/components/Slider/SliderThumbs/SliderThumbs.mjs.map +1 -1
  386. package/dist/components/Switch/SwitchControl.d.ts.map +1 -1
  387. package/dist/components/Switch/SwitchControl.js +8 -2
  388. package/dist/components/Switch/SwitchControl.js.map +1 -1
  389. package/dist/components/Switch/SwitchControl.mjs +8 -2
  390. package/dist/components/Switch/SwitchControl.mjs.map +1 -1
  391. package/dist/components/Table/Table.types.d.ts +1 -1
  392. package/dist/components/Tabs/Tab/Tab.d.ts.map +1 -1
  393. package/dist/components/Tabs/Tab/Tab.js +1 -1
  394. package/dist/components/Tabs/Tab/Tab.js.map +1 -1
  395. package/dist/components/Tabs/Tab/Tab.mjs +1 -1
  396. package/dist/components/Tabs/Tab/Tab.mjs.map +1 -1
  397. package/dist/components/Tabs/Tab/Tab.styles.d.ts +10 -12
  398. package/dist/components/Tabs/Tab/Tab.styles.d.ts.map +1 -1
  399. package/dist/components/Tabs/Tab/Tab.styles.js +8 -10
  400. package/dist/components/Tabs/Tab/Tab.styles.js.map +1 -1
  401. package/dist/components/Tabs/Tab/Tab.styles.mjs +8 -10
  402. package/dist/components/Tabs/Tab/Tab.styles.mjs.map +1 -1
  403. package/dist/components/Tag/Tag.d.ts.map +1 -1
  404. package/dist/components/Tag/Tag.js +41 -14
  405. package/dist/components/Tag/Tag.js.map +1 -1
  406. package/dist/components/Tag/Tag.mjs +43 -16
  407. package/dist/components/Tag/Tag.mjs.map +1 -1
  408. package/dist/components/Tag/Tag.styles.d.ts +55 -17
  409. package/dist/components/Tag/Tag.styles.d.ts.map +1 -1
  410. package/dist/components/Tag/Tag.styles.js +148 -128
  411. package/dist/components/Tag/Tag.styles.js.map +1 -1
  412. package/dist/components/Tag/Tag.styles.mjs +145 -126
  413. package/dist/components/Tag/Tag.styles.mjs.map +1 -1
  414. package/dist/components/Tag/Tag.types.d.ts +50 -29
  415. package/dist/components/Tag/Tag.types.d.ts.map +1 -1
  416. package/dist/components/Tag/TagCloseButton/TagCloseButton.d.ts +5 -0
  417. package/dist/components/Tag/TagCloseButton/TagCloseButton.d.ts.map +1 -1
  418. package/dist/components/Tag/TagCloseButton/TagCloseButton.js +7 -1
  419. package/dist/components/Tag/TagCloseButton/TagCloseButton.js.map +1 -1
  420. package/dist/components/Tag/TagCloseButton/TagCloseButton.mjs +7 -1
  421. package/dist/components/Tag/TagCloseButton/TagCloseButton.mjs.map +1 -1
  422. package/dist/components/Tag/index.d.ts +3 -2
  423. package/dist/components/Tag/index.d.ts.map +1 -1
  424. package/dist/components/Textarea/Textarea.d.ts.map +1 -1
  425. package/dist/components/Textarea/Textarea.js +12 -10
  426. package/dist/components/Textarea/Textarea.js.map +1 -1
  427. package/dist/components/Textarea/Textarea.mjs +12 -10
  428. package/dist/components/Textarea/Textarea.mjs.map +1 -1
  429. package/dist/components/Toast/Toast.js +1 -1
  430. package/dist/components/Toast/Toast.mjs +1 -1
  431. package/dist/components/Toast/Toast.styles.d.ts +5 -3
  432. package/dist/components/Toast/Toast.styles.d.ts.map +1 -1
  433. package/dist/components/Toast/Toast.styles.js +54 -35
  434. package/dist/components/Toast/Toast.styles.js.map +1 -1
  435. package/dist/components/Toast/Toast.styles.mjs +54 -35
  436. package/dist/components/Toast/Toast.styles.mjs.map +1 -1
  437. package/dist/components/Toast/Toast.types.d.ts +8 -1
  438. package/dist/components/Toast/Toast.types.d.ts.map +1 -1
  439. package/dist/components/Toast/ToastIcon/ToastIcon.d.ts.map +1 -1
  440. package/dist/components/Toast/ToastIcon/ToastIcon.js +6 -4
  441. package/dist/components/Toast/ToastIcon/ToastIcon.js.map +1 -1
  442. package/dist/components/Toast/ToastIcon/ToastIcon.mjs +6 -4
  443. package/dist/components/Toast/ToastIcon/ToastIcon.mjs.map +1 -1
  444. package/dist/components/Toast/Toaster.d.ts.map +1 -1
  445. package/dist/components/Toast/Toaster.js +12 -1
  446. package/dist/components/Toast/Toaster.js.map +1 -1
  447. package/dist/components/Toast/Toaster.mjs +12 -1
  448. package/dist/components/Toast/Toaster.mjs.map +1 -1
  449. package/dist/components/Toast/useToast.d.ts +2 -2
  450. package/dist/components/Toast/useToast.d.ts.map +1 -1
  451. package/dist/components/Toast/useToast.js +42 -8
  452. package/dist/components/Toast/useToast.js.map +1 -1
  453. package/dist/components/Toast/useToast.mjs +43 -9
  454. package/dist/components/Toast/useToast.mjs.map +1 -1
  455. package/dist/components/Tooltip/Tooltip.js +2 -2
  456. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  457. package/dist/components/Tooltip/Tooltip.mjs +2 -2
  458. package/dist/components/Tooltip/Tooltip.mjs.map +1 -1
  459. package/dist/components/Tree/TreeBranchControl.js +1 -1
  460. package/dist/components/Tree/TreeBranchControl.js.map +1 -1
  461. package/dist/components/Tree/TreeBranchControl.mjs +1 -1
  462. package/dist/components/Tree/TreeBranchControl.mjs.map +1 -1
  463. package/dist/components/Tree/TreeItem.js +1 -1
  464. package/dist/components/Tree/TreeItem.js.map +1 -1
  465. package/dist/components/Tree/TreeItem.mjs +1 -1
  466. package/dist/components/Tree/TreeItem.mjs.map +1 -1
  467. package/dist/components/Typography/Caption.js +5 -5
  468. package/dist/components/Typography/Caption.js.map +1 -1
  469. package/dist/components/Typography/Caption.mjs +5 -5
  470. package/dist/components/Typography/Caption.mjs.map +1 -1
  471. package/dist/components/Typography/Link.d.ts +10 -16
  472. package/dist/components/Typography/Link.d.ts.map +1 -1
  473. package/dist/components/Typography/Link.js +24 -29
  474. package/dist/components/Typography/Link.js.map +1 -1
  475. package/dist/components/Typography/Link.mjs +24 -29
  476. package/dist/components/Typography/Link.mjs.map +1 -1
  477. package/dist/components/Typography/Overline.js +2 -2
  478. package/dist/components/Typography/Overline.js.map +1 -1
  479. package/dist/components/Typography/Overline.mjs +2 -2
  480. package/dist/components/Typography/Overline.mjs.map +1 -1
  481. package/dist/components/Workflow/Workflow.js +1 -1
  482. package/dist/components/Workflow/Workflow.js.map +1 -1
  483. package/dist/components/Workflow/Workflow.mjs +1 -1
  484. package/dist/components/Workflow/Workflow.mjs.map +1 -1
  485. package/dist/components/Workflow/canvas/Canvas/BranchLabelBadge.d.ts.map +1 -1
  486. package/dist/components/Workflow/canvas/Canvas/BranchLabelBadge.js +7 -6
  487. package/dist/components/Workflow/canvas/Canvas/BranchLabelBadge.js.map +1 -1
  488. package/dist/components/Workflow/canvas/Canvas/BranchLabelBadge.mjs +7 -6
  489. package/dist/components/Workflow/canvas/Canvas/BranchLabelBadge.mjs.map +1 -1
  490. package/dist/components/Workflow/canvas/Canvas/Canvas.js +8 -8
  491. package/dist/components/Workflow/canvas/Canvas/Canvas.js.map +1 -1
  492. package/dist/components/Workflow/canvas/Canvas/Canvas.mjs +8 -8
  493. package/dist/components/Workflow/canvas/Canvas/Canvas.mjs.map +1 -1
  494. package/dist/components/Workflow/canvas/Canvas/Canvas.styles.d.ts +2 -2
  495. package/dist/components/Workflow/canvas/Canvas/Canvas.styles.d.ts.map +1 -1
  496. package/dist/components/Workflow/canvas/Canvas/Canvas.styles.js +13 -12
  497. package/dist/components/Workflow/canvas/Canvas/Canvas.styles.js.map +1 -1
  498. package/dist/components/Workflow/canvas/Canvas/Canvas.styles.mjs +13 -12
  499. package/dist/components/Workflow/canvas/Canvas/Canvas.styles.mjs.map +1 -1
  500. package/dist/components/Workflow/canvas/Canvas/LabeledEdge.js +1 -1
  501. package/dist/components/Workflow/canvas/Canvas/LabeledEdge.js.map +1 -1
  502. package/dist/components/Workflow/canvas/Canvas/LabeledEdge.mjs +1 -1
  503. package/dist/components/Workflow/canvas/Canvas/LabeledEdge.mjs.map +1 -1
  504. package/dist/components/Workflow/canvas/CollapsibleSection/CollapsibleSection.js +1 -1
  505. package/dist/components/Workflow/canvas/CollapsibleSection/CollapsibleSection.js.map +1 -1
  506. package/dist/components/Workflow/canvas/CollapsibleSection/CollapsibleSection.mjs +1 -1
  507. package/dist/components/Workflow/canvas/CollapsibleSection/CollapsibleSection.mjs.map +1 -1
  508. package/dist/components/Workflow/canvas/DrawerShell/DrawerHeader.d.ts.map +1 -1
  509. package/dist/components/Workflow/canvas/DrawerShell/DrawerHeader.js +1 -1
  510. package/dist/components/Workflow/canvas/DrawerShell/DrawerHeader.js.map +1 -1
  511. package/dist/components/Workflow/canvas/DrawerShell/DrawerHeader.mjs +1 -1
  512. package/dist/components/Workflow/canvas/DrawerShell/DrawerHeader.mjs.map +1 -1
  513. package/dist/components/Workflow/canvas/DrawerShell/DrawerIssues.js +2 -2
  514. package/dist/components/Workflow/canvas/DrawerShell/DrawerIssues.js.map +1 -1
  515. package/dist/components/Workflow/canvas/DrawerShell/DrawerIssues.mjs +2 -2
  516. package/dist/components/Workflow/canvas/DrawerShell/DrawerIssues.mjs.map +1 -1
  517. package/dist/components/Workflow/canvas/DrawerShell/DrawerShell.js +5 -4
  518. package/dist/components/Workflow/canvas/DrawerShell/DrawerShell.js.map +1 -1
  519. package/dist/components/Workflow/canvas/DrawerShell/DrawerShell.mjs +5 -4
  520. package/dist/components/Workflow/canvas/DrawerShell/DrawerShell.mjs.map +1 -1
  521. package/dist/components/Workflow/canvas/EdgeInspector/BuiltInEdgeInspector.js +2 -2
  522. package/dist/components/Workflow/canvas/EdgeInspector/BuiltInEdgeInspector.js.map +1 -1
  523. package/dist/components/Workflow/canvas/EdgeInspector/BuiltInEdgeInspector.mjs +2 -2
  524. package/dist/components/Workflow/canvas/EdgeInspector/BuiltInEdgeInspector.mjs.map +1 -1
  525. package/dist/components/Workflow/canvas/FieldWrapper/FieldWrapper.js +1 -1
  526. package/dist/components/Workflow/canvas/FieldWrapper/FieldWrapper.js.map +1 -1
  527. package/dist/components/Workflow/canvas/FieldWrapper/FieldWrapper.mjs +1 -1
  528. package/dist/components/Workflow/canvas/FieldWrapper/FieldWrapper.mjs.map +1 -1
  529. package/dist/components/Workflow/canvas/GraphErrorBanner/GraphErrorBanner.js +1 -1
  530. package/dist/components/Workflow/canvas/GraphErrorBanner/GraphErrorBanner.js.map +1 -1
  531. package/dist/components/Workflow/canvas/GraphErrorBanner/GraphErrorBanner.mjs +1 -1
  532. package/dist/components/Workflow/canvas/GraphErrorBanner/GraphErrorBanner.mjs.map +1 -1
  533. package/dist/components/Workflow/canvas/IconTile/IconTile.styles.d.ts +11 -3
  534. package/dist/components/Workflow/canvas/IconTile/IconTile.styles.d.ts.map +1 -1
  535. package/dist/components/Workflow/canvas/IconTile/IconTile.styles.js +29 -13
  536. package/dist/components/Workflow/canvas/IconTile/IconTile.styles.js.map +1 -1
  537. package/dist/components/Workflow/canvas/IconTile/IconTile.styles.mjs +29 -13
  538. package/dist/components/Workflow/canvas/IconTile/IconTile.styles.mjs.map +1 -1
  539. package/dist/components/Workflow/canvas/IssueList/IssueList.js +2 -2
  540. package/dist/components/Workflow/canvas/IssueList/IssueList.js.map +1 -1
  541. package/dist/components/Workflow/canvas/IssueList/IssueList.mjs +2 -2
  542. package/dist/components/Workflow/canvas/IssueList/IssueList.mjs.map +1 -1
  543. package/dist/components/Workflow/canvas/NodePalette/NodePalette.d.ts.map +1 -1
  544. package/dist/components/Workflow/canvas/NodePalette/NodePalette.js +2 -2
  545. package/dist/components/Workflow/canvas/NodePalette/NodePalette.js.map +1 -1
  546. package/dist/components/Workflow/canvas/NodePalette/NodePalette.mjs +2 -2
  547. package/dist/components/Workflow/canvas/NodePalette/NodePalette.mjs.map +1 -1
  548. package/dist/components/Workflow/canvas/NodePalette/NodePaletteToggle.d.ts.map +1 -1
  549. package/dist/components/Workflow/canvas/NodePalette/NodePaletteToggle.js +1 -1
  550. package/dist/components/Workflow/canvas/NodePalette/NodePaletteToggle.js.map +1 -1
  551. package/dist/components/Workflow/canvas/NodePalette/NodePaletteToggle.mjs +1 -1
  552. package/dist/components/Workflow/canvas/NodePalette/NodePaletteToggle.mjs.map +1 -1
  553. package/dist/components/Workflow/canvas/NodeShell/NodeShell.d.ts.map +1 -1
  554. package/dist/components/Workflow/canvas/NodeShell/NodeShell.js +42 -32
  555. package/dist/components/Workflow/canvas/NodeShell/NodeShell.js.map +1 -1
  556. package/dist/components/Workflow/canvas/NodeShell/NodeShell.mjs +42 -32
  557. package/dist/components/Workflow/canvas/NodeShell/NodeShell.mjs.map +1 -1
  558. package/dist/components/Workflow/canvas/NodeShell/NodeShell.styles.d.ts +9 -4
  559. package/dist/components/Workflow/canvas/NodeShell/NodeShell.styles.d.ts.map +1 -1
  560. package/dist/components/Workflow/canvas/NodeShell/NodeShell.styles.js +8 -8
  561. package/dist/components/Workflow/canvas/NodeShell/NodeShell.styles.js.map +1 -1
  562. package/dist/components/Workflow/canvas/NodeShell/NodeShell.styles.mjs +7 -7
  563. package/dist/components/Workflow/canvas/NodeShell/NodeShell.styles.mjs.map +1 -1
  564. package/dist/components/Workflow/canvas/NodeShell/NodeShell.types.d.ts +2 -0
  565. package/dist/components/Workflow/canvas/NodeShell/NodeShell.types.d.ts.map +1 -1
  566. package/dist/components/Workflow/canvas/SeverityDot/SeverityDot.d.ts +5 -4
  567. package/dist/components/Workflow/canvas/SeverityDot/SeverityDot.d.ts.map +1 -1
  568. package/dist/components/Workflow/canvas/SeverityDot/SeverityDot.js +1 -1
  569. package/dist/components/Workflow/canvas/SeverityDot/SeverityDot.js.map +1 -1
  570. package/dist/components/Workflow/canvas/SeverityDot/SeverityDot.mjs +1 -1
  571. package/dist/components/Workflow/canvas/SeverityDot/SeverityDot.mjs.map +1 -1
  572. package/dist/components/Workflow/canvas/colorVar.d.ts +20 -0
  573. package/dist/components/Workflow/canvas/colorVar.d.ts.map +1 -0
  574. package/dist/components/Workflow/canvas/colorVar.js +32 -0
  575. package/dist/components/Workflow/canvas/colorVar.js.map +1 -0
  576. package/dist/components/Workflow/canvas/colorVar.mjs +29 -0
  577. package/dist/components/Workflow/canvas/colorVar.mjs.map +1 -0
  578. package/dist/components/Workflow/canvas/issueSeverity.d.ts +6 -4
  579. package/dist/components/Workflow/canvas/issueSeverity.d.ts.map +1 -1
  580. package/dist/components/Workflow/canvas/issueSeverity.js +6 -4
  581. package/dist/components/Workflow/canvas/issueSeverity.js.map +1 -1
  582. package/dist/components/Workflow/canvas/issueSeverity.mjs +6 -4
  583. package/dist/components/Workflow/canvas/issueSeverity.mjs.map +1 -1
  584. package/dist/components/Workflow/canvas/workflowLabelProps.d.ts +1 -1
  585. package/dist/components/Workflow/canvas/workflowLabelProps.js +1 -1
  586. package/dist/components/Workflow/canvas/workflowLabelProps.mjs +1 -1
  587. package/dist/index.d.ts +5 -2
  588. package/dist/index.d.ts.map +1 -1
  589. package/dist/index.js +24 -9
  590. package/dist/index.js.map +1 -1
  591. package/dist/index.mjs +11 -8
  592. package/dist/index.mjs.map +1 -1
  593. package/dist/theme/colors.d.ts +43 -1139
  594. package/dist/theme/colors.d.ts.map +1 -1
  595. package/dist/theme/colors.js +336 -760
  596. package/dist/theme/colors.js.map +1 -1
  597. package/dist/theme/colors.mjs +334 -761
  598. package/dist/theme/colors.mjs.map +1 -1
  599. package/dist/theme/deprecatedColorTokens.json.js +69 -0
  600. package/dist/theme/deprecatedColorTokens.json.js.map +1 -0
  601. package/dist/theme/deprecatedColorTokens.json.mjs +64 -0
  602. package/dist/theme/deprecatedColorTokens.json.mjs.map +1 -0
  603. package/dist/theme/global.d.ts +3 -2
  604. package/dist/theme/global.d.ts.map +1 -1
  605. package/dist/theme/global.js +12 -18
  606. package/dist/theme/global.js.map +1 -1
  607. package/dist/theme/global.mjs +12 -18
  608. package/dist/theme/global.mjs.map +1 -1
  609. package/dist/theme/index.d.ts +34 -1
  610. package/dist/theme/index.d.ts.map +1 -1
  611. package/dist/theme/index.js +143 -81
  612. package/dist/theme/index.js.map +1 -1
  613. package/dist/theme/index.mjs +144 -84
  614. package/dist/theme/index.mjs.map +1 -1
  615. package/dist/theme/palette.generated.d.ts +887 -0
  616. package/dist/theme/palette.generated.d.ts.map +1 -0
  617. package/dist/theme/palette.generated.js +898 -0
  618. package/dist/theme/palette.generated.js.map +1 -0
  619. package/dist/theme/palette.generated.mjs +893 -0
  620. package/dist/theme/palette.generated.mjs.map +1 -0
  621. package/dist/theme/paletteSwatches.d.ts +22 -0
  622. package/dist/theme/paletteSwatches.d.ts.map +1 -0
  623. package/dist/theme/recipes/table.js +2 -2
  624. package/dist/theme/recipes/table.js.map +1 -1
  625. package/dist/theme/recipes/table.mjs +2 -2
  626. package/dist/theme/recipes/table.mjs.map +1 -1
  627. package/dist/utils/disabledControl.d.ts +27 -0
  628. package/dist/utils/disabledControl.d.ts.map +1 -0
  629. package/dist/utils/disabledControl.js +33 -0
  630. package/dist/utils/disabledControl.js.map +1 -0
  631. package/dist/utils/disabledControl.mjs +30 -0
  632. package/dist/utils/disabledControl.mjs.map +1 -0
  633. package/dist/utils/focusRing.d.ts +7 -1
  634. package/dist/utils/focusRing.d.ts.map +1 -1
  635. package/dist/utils/focusRing.js +8 -1
  636. package/dist/utils/focusRing.js.map +1 -1
  637. package/dist/utils/focusRing.mjs +8 -2
  638. package/dist/utils/focusRing.mjs.map +1 -1
  639. package/dist/utils/isDev.d.ts +22 -0
  640. package/dist/utils/isDev.d.ts.map +1 -0
  641. package/dist/utils/isDev.js +34 -0
  642. package/dist/utils/isDev.js.map +1 -0
  643. package/dist/utils/isDev.mjs +32 -0
  644. package/dist/utils/isDev.mjs.map +1 -0
  645. package/eslint/index.js +28 -0
  646. package/eslint/rules/no-deprecated-tokens.js +128 -0
  647. package/eslint/rules/no-deprecated-tokens.test.ts +130 -0
  648. package/package.json +16 -7
  649. package/src/components/Accordion/Accordion.stories.tsx +20 -12
  650. package/src/components/Appear/Appear.stories.tsx +6 -13
  651. package/src/components/Avatar/Avatar.hue.test.ts +67 -0
  652. package/src/components/Avatar/Avatar.stories.tsx +79 -23
  653. package/src/components/Avatar/Avatar.tsx +56 -2
  654. package/src/components/Avatar/index.tsx +1 -1
  655. package/src/components/Badge/Badge.stories.tsx +24 -50
  656. package/src/components/Badge/Badge.styles.ts +56 -50
  657. package/src/components/Badge/Badge.tsx +11 -7
  658. package/src/components/Badge/Badge.types.ts +18 -14
  659. package/src/components/Badge/index.ts +7 -1
  660. package/src/components/Banner/Banner.stories.tsx +10 -3
  661. package/src/components/Banner/Banner.styles.ts +43 -27
  662. package/src/components/Banner/Banner.types.ts +1 -1
  663. package/src/components/BottomSheet/BottomSheet.stories.tsx +3 -4
  664. package/src/components/BottomSheet/BottomSheetCloseButton.tsx +0 -1
  665. package/src/components/Breadcrumb/BreadcrumbLink/BreadcrumbLink.tsx +1 -1
  666. package/src/components/Button/Button.legacy.ts +181 -0
  667. package/src/components/Button/Button.lift.test.tsx +6 -14
  668. package/src/components/Button/Button.press.test.tsx +20 -15
  669. package/src/components/Button/Button.stories.tsx +140 -346
  670. package/src/components/Button/Button.styles.ts +158 -392
  671. package/src/components/Button/Button.tsx +49 -17
  672. package/src/components/Button/Button.types.ts +53 -37
  673. package/src/components/Button/Button.variants.test.tsx +158 -0
  674. package/src/components/Button/index.tsx +2 -0
  675. package/src/components/Card/Card.styles.ts +6 -13
  676. package/src/components/Card/Card.tsx +1 -6
  677. package/src/components/Card/Card.types.ts +1 -5
  678. package/src/components/Checkbox/CheckboxControl.tsx +17 -10
  679. package/src/components/Chip/Chip.stories.tsx +17 -230
  680. package/src/components/Chip/Chip.tsx +40 -24
  681. package/src/components/Chip/Chip.types.ts +38 -26
  682. package/src/components/Chip/index.ts +0 -6
  683. package/src/components/Code/Code.tsx +2 -3
  684. package/src/components/CodeTabs/CodeTabs.contrast.test.tsx +109 -0
  685. package/src/components/CodeTabs/CodeTabs.styles.ts +26 -0
  686. package/src/components/CodeTabs/CodeTabs.tsx +16 -4
  687. package/src/components/CodeTabs/CopyButton.tsx +6 -4
  688. package/src/components/Confetti/Confetti.stories.tsx +1 -1
  689. package/src/components/Confetti/Confetti.tsx +8 -43
  690. package/src/components/Confetti/confettiColors.test.ts +47 -0
  691. package/src/components/Confetti/confettiColors.ts +41 -0
  692. package/src/components/Container/Container.stories.tsx +1 -1
  693. package/src/components/CopyableCode/CopyableCode.tsx +1 -2
  694. package/src/components/CountBadge/CountBadge.stories.tsx +109 -0
  695. package/src/components/CountBadge/CountBadge.styles.ts +40 -0
  696. package/src/components/CountBadge/CountBadge.test.tsx +57 -0
  697. package/src/components/CountBadge/CountBadge.tsx +112 -0
  698. package/src/components/CountBadge/CountBadge.types.ts +34 -0
  699. package/src/components/CountBadge/index.ts +2 -0
  700. package/src/components/DatePicker/RangeDatePicker.tsx +8 -8
  701. package/src/components/DatePicker/SingleDatePicker.tsx +5 -5
  702. package/src/components/ErrorFallback/ErrorFallback.lift.test.tsx +45 -0
  703. package/src/components/ErrorFallback/ErrorFallback.tsx +16 -31
  704. package/src/components/ExpandableText/ExpandableText.tsx +1 -1
  705. package/src/components/FileItem/FileItem.tsx +1 -4
  706. package/src/components/FlyTo/FlyTo.stories.tsx +6 -1
  707. package/src/components/Form/FieldError/FieldError.tsx +2 -2
  708. package/src/components/Form/FormFooter/FormFooter.stories.tsx +4 -4
  709. package/src/components/Form/FormModalFooter/FormModalFooter.tsx +5 -6
  710. package/src/components/Form/FormSection/FormSection.stories.tsx +1 -1
  711. package/src/components/FormIntegration/FormIntegration.stories.tsx +4 -4
  712. package/src/components/FormLabel/FormLabel.tsx +1 -1
  713. package/src/components/Icon/ICON_MANAGEMENT.md +7 -7
  714. package/src/components/Icon/Icon.stories.tsx +220 -116
  715. package/src/components/Icon/_utils/createIcon.tsx +2 -2
  716. package/src/components/Icon/_utils/createIconGroup.tsx +1 -1
  717. package/src/components/IconButton/IconButton.stories.tsx +63 -216
  718. package/src/components/IconButton/IconButton.styles.ts +104 -27
  719. package/src/components/IconButton/IconButton.tsx +39 -12
  720. package/src/components/IconButton/IconButton.types.ts +30 -20
  721. package/src/components/IconButton/index.tsx +1 -0
  722. package/src/components/InlineCode/InlineCode.tsx +6 -6
  723. package/src/components/Input/Input.stories.tsx +10 -10
  724. package/src/components/Input/Input.tsx +12 -10
  725. package/src/components/LineGraph/LineGraph.tsx +24 -6
  726. package/src/components/LineGraph/seriesColors.test.ts +40 -0
  727. package/src/components/LineGraph/seriesColors.ts +42 -0
  728. package/src/components/Loaders/LoaderStatus.tsx +25 -0
  729. package/src/components/Loaders/Loaders.styles.ts +28 -0
  730. package/src/components/Loaders/Loaders.test.tsx +63 -0
  731. package/src/components/Loaders/Loaders.translations.json +9 -0
  732. package/src/components/Loaders/PageLoader.stories.tsx +15 -1
  733. package/src/components/Loaders/PageLoader.tsx +28 -4
  734. package/src/components/Loaders/SectionLoader.stories.tsx +10 -3
  735. package/src/components/Loaders/SectionLoader.tsx +16 -3
  736. package/src/components/Loaders/ThinkingDots.tsx +27 -0
  737. package/src/components/Loaders/index.ts +2 -1
  738. package/src/components/LogicianProvider/LogicianProvider.stories.tsx +28 -43
  739. package/src/components/LogicianProvider/LogicianProvider.tsx +35 -5
  740. package/src/components/Masonry/Masonry.stories.tsx +17 -5
  741. package/src/components/Menu/Menu.stories.tsx +58 -20
  742. package/src/components/Menu/MenuItem.highlight.test.tsx +72 -0
  743. package/src/components/Menu/MenuItem.tsx +9 -6
  744. package/src/components/Menu/MenuList.tsx +1 -1
  745. package/src/components/Modal/Modal.stories.tsx +76 -25
  746. package/src/components/Modal/Modal.tsx +5 -1
  747. package/src/components/Modal/Modal.types.ts +13 -0
  748. package/src/components/Modal/ModalContext.ts +4 -0
  749. package/src/components/Modal/ModalHeader.a11y.test.tsx +51 -0
  750. package/src/components/Modal/ModalHeader.tsx +73 -3
  751. package/src/components/Modal/index.tsx +2 -2
  752. package/src/components/MonthPicker/MonthButton/MonthButton.tsx +9 -14
  753. package/src/components/MonthPicker/MonthPicker.stories.tsx +13 -9
  754. package/src/components/Pagination/Pagination.stories.tsx +5 -6
  755. package/src/components/Pagination/Pagination.tsx +0 -2
  756. package/src/components/PinInput/PinInput.tsx +9 -5
  757. package/src/components/Popover/Popover.stories.tsx +5 -5
  758. package/src/components/ProgressBar/ProgressBar.tsx +1 -1
  759. package/src/components/Pulse/Pulse.stories.tsx +1 -1
  760. package/src/components/RadialProgress/RadialProgress.tsx +4 -7
  761. package/src/components/RadialProgress/RadialProgress.types.ts +1 -1
  762. package/src/components/Radio/Radio.stories.tsx +1 -1
  763. package/src/components/Radio/RadioControl.indicator.test.tsx +72 -0
  764. package/src/components/Radio/RadioControl.tsx +34 -6
  765. package/src/components/Radio/RadioGroup.tsx +1 -1
  766. package/src/components/Reveal/Reveal.stories.tsx +5 -1
  767. package/src/components/ScaledContext/ScaledContext.stories.tsx +21 -14
  768. package/src/components/SeeMoreButton/SeeMoreButton.border.test.tsx +51 -0
  769. package/src/components/SeeMoreButton/SeeMoreButton.stories.tsx +8 -0
  770. package/src/components/SeeMoreButton/SeeMoreButton.styles.ts +14 -6
  771. package/src/components/SeeMoreButton/SeeMoreButton.tsx +11 -2
  772. package/src/components/SeeMoreButton/SeeMoreButton.types.ts +9 -2
  773. package/src/components/SegmentedProgressBar/SegmentedProgressBar.stories.tsx +48 -31
  774. package/src/components/Select/Combobox.stories.tsx +1 -1
  775. package/src/components/Select/Comparison.stories.tsx +1 -1
  776. package/src/components/Select/Select.stories.tsx +22 -22
  777. package/src/components/Select/Select.styles.ts +20 -14
  778. package/src/components/Shake/Shake.stories.tsx +10 -12
  779. package/src/components/Slider/Slider.stories.tsx +43 -9
  780. package/src/components/Slider/SliderThumb/SliderThumb.tsx +1 -1
  781. package/src/components/Slider/SliderThumbs/SliderThumbs.tsx +1 -1
  782. package/src/components/SwapTransition/SwapTransition.stories.tsx +3 -4
  783. package/src/components/Switch/SwitchControl.tsx +8 -0
  784. package/src/components/Table/Table.stories.tsx +36 -20
  785. package/src/components/Table/Table.types.ts +1 -1
  786. package/src/components/Tabs/Tab/Tab.styles.ts +8 -10
  787. package/src/components/Tabs/Tab/Tab.tsx +1 -0
  788. package/src/components/Tabs/Tabs.stories.tsx +38 -26
  789. package/src/components/Tag/Tag.legacy.test.tsx +179 -0
  790. package/src/components/Tag/Tag.stories.tsx +107 -148
  791. package/src/components/Tag/Tag.styles.ts +186 -135
  792. package/src/components/Tag/Tag.test.tsx +115 -0
  793. package/src/components/Tag/Tag.tsx +103 -21
  794. package/src/components/Tag/Tag.types.ts +52 -29
  795. package/src/components/Tag/TagCloseButton/TagCloseButton.tsx +19 -1
  796. package/src/components/Tag/index.ts +5 -3
  797. package/src/components/Textarea/Textarea.stories.tsx +6 -1
  798. package/src/components/Textarea/Textarea.tsx +13 -11
  799. package/src/components/Toast/Toast.action.test.tsx +13 -0
  800. package/src/components/Toast/Toast.stories.tsx +17 -7
  801. package/src/components/Toast/Toast.styles.ts +54 -35
  802. package/src/components/Toast/Toast.tsx +1 -1
  803. package/src/components/Toast/Toast.types.ts +9 -1
  804. package/src/components/Toast/Toast.update.test.tsx +124 -0
  805. package/src/components/Toast/ToastIcon/ToastIcon.tsx +6 -4
  806. package/src/components/Toast/Toaster.tsx +14 -2
  807. package/src/components/Toast/useToast.tsx +54 -14
  808. package/src/components/Tooltip/Tooltip.stories.tsx +12 -12
  809. package/src/components/Tooltip/Tooltip.tsx +2 -2
  810. package/src/components/Tree/Tree.GuideElbow.stories.tsx +2 -2
  811. package/src/components/Tree/TreeBranchControl.tsx +1 -1
  812. package/src/components/Tree/TreeBranchIndentGuide.test.tsx +2 -2
  813. package/src/components/Tree/TreeItem.tsx +1 -1
  814. package/src/components/Typography/Caption.tsx +5 -5
  815. package/src/components/Typography/Link.tsx +27 -29
  816. package/src/components/Typography/Overline.tsx +2 -2
  817. package/src/components/Workflow/README.md +58 -52
  818. package/src/components/Workflow/Workflow.translations.json +1 -1
  819. package/src/components/Workflow/Workflow.tsx +1 -1
  820. package/src/components/Workflow/canvas/Canvas/BranchLabelBadge.tsx +7 -6
  821. package/src/components/Workflow/canvas/Canvas/Canvas.styles.ts +14 -12
  822. package/src/components/Workflow/canvas/Canvas/Canvas.tsx +9 -9
  823. package/src/components/Workflow/canvas/Canvas/LabeledEdge.tsx +2 -2
  824. package/src/components/Workflow/canvas/CollapsibleSection/CollapsibleSection.tsx +4 -4
  825. package/src/components/Workflow/canvas/DrawerShell/DrawerHeader.tsx +2 -4
  826. package/src/components/Workflow/canvas/DrawerShell/DrawerIssues.tsx +2 -2
  827. package/src/components/Workflow/canvas/DrawerShell/DrawerShell.tsx +6 -6
  828. package/src/components/Workflow/canvas/EdgeInspector/BuiltInEdgeInspector.tsx +4 -4
  829. package/src/components/Workflow/canvas/FieldWrapper/FieldWrapper.tsx +2 -2
  830. package/src/components/Workflow/canvas/GraphErrorBanner/GraphErrorBanner.tsx +12 -12
  831. package/src/components/Workflow/canvas/IconTile/IconTile.styles.ts +29 -13
  832. package/src/components/Workflow/canvas/IssueList/IssueList.tsx +3 -3
  833. package/src/components/Workflow/canvas/NodePalette/NodePalette.tsx +6 -7
  834. package/src/components/Workflow/canvas/NodePalette/NodePaletteToggle.tsx +1 -2
  835. package/src/components/Workflow/canvas/NodeShell/NodeShell.styles.ts +6 -8
  836. package/src/components/Workflow/canvas/NodeShell/NodeShell.test.tsx +79 -0
  837. package/src/components/Workflow/canvas/NodeShell/NodeShell.tsx +46 -37
  838. package/src/components/Workflow/canvas/NodeShell/NodeShell.types.ts +2 -0
  839. package/src/components/Workflow/canvas/SeverityDot/SeverityDot.tsx +6 -5
  840. package/src/components/Workflow/canvas/canvasStroke.test.ts +84 -0
  841. package/src/components/Workflow/canvas/colorVar.ts +26 -0
  842. package/src/components/Workflow/canvas/issueSeverity.ts +7 -5
  843. package/src/components/Workflow/canvas/workflowLabelProps.ts +1 -1
  844. package/src/components/Workflow/stories/Workflow.stories.tsx +4 -5
  845. package/src/components/a11y.kwcag.test.tsx +64 -83
  846. package/src/components/claude.md +40 -58
  847. package/src/components/noRawScales.test.ts +152 -0
  848. package/src/components/noSandBackground.test.ts +282 -0
  849. package/src/index.ts +18 -1
  850. package/src/stories/SizeComparison.stories.tsx +1 -1
  851. package/src/theme/BazePalette.stories.tsx +202 -0
  852. package/src/theme/Borders.stories.tsx +9 -9
  853. package/src/theme/Motion.stories.tsx +19 -19
  854. package/src/theme/MotionCases.stories.tsx +1 -1
  855. package/src/theme/Palette.stories.tsx +101 -515
  856. package/src/theme/SemanticTokens.mdx +61 -242
  857. package/src/theme/Surfaces.stories.tsx +3 -3
  858. package/src/theme/chakraTokens.test.ts +115 -0
  859. package/src/theme/claude.md +111 -502
  860. package/src/theme/colors.ts +403 -822
  861. package/src/theme/contrast.test.ts +344 -0
  862. package/src/theme/cssVarNames.test.ts +36 -0
  863. package/src/theme/deprecatedColorTokens.json +95 -0
  864. package/src/theme/global.ts +12 -19
  865. package/src/theme/index.ts +154 -82
  866. package/src/theme/palette.generated.ts +893 -0
  867. package/src/theme/paletteSwatches.test.ts +42 -0
  868. package/src/theme/paletteSwatches.ts +80 -0
  869. package/src/theme/recipes/table.ts +2 -2
  870. package/src/utils/disabledControl.ts +27 -0
  871. package/src/utils/focusRing.ts +9 -2
  872. package/src/utils/isDev.test.ts +41 -0
  873. package/src/utils/isDev.ts +27 -0
  874. package/dist/components/Chip/Chip.styles.d.ts +0 -20
  875. package/dist/components/Chip/Chip.styles.d.ts.map +0 -1
  876. package/dist/components/Chip/Chip.styles.js +0 -143
  877. package/dist/components/Chip/Chip.styles.js.map +0 -1
  878. package/dist/components/Chip/Chip.styles.mjs +0 -137
  879. package/dist/components/Chip/Chip.styles.mjs.map +0 -1
  880. package/src/components/Chip/Chip.styles.ts +0 -147
@@ -1,776 +1,349 @@
1
1
  "use client";
2
+ import DEPRECATED from './deprecatedColorTokens.json.mjs';
3
+ import { SYSTEM_HUES, CORAL, RAMPS, SCHEMES } from './palette.generated.mjs';
4
+
2
5
  /**
3
- * Golden Ratio Color System
4
- *
5
- * A mathematically harmonious color palette designed using the golden ratio (φ ≈ 1.618)
6
- * to create visually balanced color relationships. Each color scale follows a consistent
7
- * lightness progression from 50 (lightest) to 900 (darkest).
8
- *
9
- * ## Palette Structure
6
+ * BAZE color system — logician-ui 5.0.
10
7
  *
11
- * ### Primitive Colors
12
- * - `blue`: Primary brand color - trustworthy, professional
13
- * - `rose`: Danger/error states - attention, urgency
14
- * - `green`: Success states - growth, confirmation
15
- * - `violet`: Secondary/accent - creative, distinctive
16
- * - `gold`: Warning states - caution, attention
17
- * - `gray`: Neutral tones with cool blue undertone (slate-based)
8
+ * Three layers, and components only ever read the third:
18
9
  *
19
- * ### Semantic Tokens
20
- * Map primitive colors to meaningful UI states:
21
- * - `primary`: Main brand interactions (blue-based)
22
- * - `secondary`: Supporting accent (violet-based)
23
- * - `success`: Positive feedback (green-based)
24
- * - `warning`: Cautionary feedback (gold-based)
25
- * - `danger`: Error/destructive feedback (rose-based)
10
+ * 1. **Raw scales** carry colour names. `ink.1–12` / `inkDark.1–12` (warm
11
+ * black), `sand.1–12` / `sandDark.1–12` (beige-brown), `slate.1–12` /
12
+ * `slateDark.1–12` (today's cool gray rebuilt on the same contrast targets),
13
+ * `coral.*`, and the 12 system hues (`red` … `brown`, each
14
+ * `{base, baseDark, hc, hcDark, surface, ink, surfaceDark, inkDark}`).
15
+ * The step number is the job (Radix-style): 1–3 backgrounds, 4–6 dividers
16
+ * and borders, 7 control border (3:1), 8 icon/placeholder (4.5:1), 9–11
17
+ * text, 12 maximum contrast.
18
+ * 2. **Semantic steps** carry role names: `neutral.1–12` and `secondary.1–12`.
19
+ * `createLogicianTheme({ neutral, secondary })` decides which raw scale fills
20
+ * them (default `ink` / `sand`).
21
+ * 3. **Semantic roles** — `bg.*`, `layer.*`, `fg.*`, `border.*`, `primary.*`,
22
+ * `secondary.*`, `action.*`, `send.*`, `count.*`, `disabled.*`, `focus.ring`,
23
+ * the four status families, `tooltip.*`, `category.{hue}.*`.
26
24
  *
27
- * ## Design Principles
25
+ * Every value comes from `palette.generated.ts` (see
26
+ * `scripts/palette/generate.mjs`), which ports the designer-reviewed prototype
27
+ * and is pinned to it by `--check`. `contrast.test.ts` re-measures every
28
+ * registered fg/bg pair in light, dark and both high-contrast modes.
28
29
  *
29
- * 1. **Accessibility First**: All semantic color combinations meet WCAG 2.1 AA standards
30
- * 2. **Cool Gray Foundation**: Slate-based grays with blue undertone for modern feel
31
- * 3. **Consistent Scale**: Each color has 25/50/100/200/300/500/600/700/800/900 steps
32
- * 4. **Light Mode Optimized**: Designed for light mode with semantic token flexibility
30
+ * High contrast follows `prefers-contrast: more`. Chakra cannot express
31
+ * "dark AND more-contrast" as one condition (nesting compiles to an invalid
32
+ * selector), so a token whose high-contrast value differs reads a per-mode
33
+ * helper — `scheme.light.<name>` / `scheme.dark.<name>`, each
34
+ * `{ base, _moreContrast }` — and only flips `_light`/`_dark` itself. Those
35
+ * helpers are internal; never reference them.
33
36
  *
34
- * @see https://www.w3.org/TR/WCAG21/#contrast-minimum
35
- * @version 3.0.0
37
+ * The 4.x names (`primary.lightest`, `danger.main`, `slate.800`, …) stay as
38
+ * deprecated aliases of their 5.0 replacement — see
39
+ * `deprecatedColorTokens.json`, `MIGRATION-5.0.md` and the
40
+ * `no-deprecated-tokens` lint rule. They are removed in 6.0.
36
41
  */
42
+ const SYSTEM_HUE_NAMES = [
43
+ 'red',
44
+ 'orange',
45
+ 'yellow',
46
+ 'green',
47
+ 'mint',
48
+ 'teal',
49
+ 'cyan',
50
+ 'blue',
51
+ 'indigo',
52
+ 'purple',
53
+ 'pink',
54
+ 'brown',
55
+ ];
56
+ const STEPS = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
57
+ const v = (value) => ({ value });
58
+ // ───────────────────────────── raw tokens ─────────────────────────────
59
+ function rampTokens(values, extra) {
60
+ const out = {};
61
+ for (const s of STEPS)
62
+ out[s] = v(values[s]);
63
+ for (const [k, val] of Object.entries(extra))
64
+ out[k] = v(val);
65
+ return out;
66
+ }
67
+ function scaleTokens(name) {
68
+ const r = RAMPS[name];
69
+ const a = r.anchors;
70
+ const light = {};
71
+ const dark = { canvas: r.canvasDark };
72
+ if (a.cream)
73
+ light.cream = a.cream;
74
+ if (a.press)
75
+ light.press = a.press;
76
+ if (a.primaryDark)
77
+ dark.primary = a.primaryDark;
78
+ if (a.pressDark)
79
+ dark.press = a.pressDark;
80
+ return {
81
+ [name]: rampTokens(r.light, light),
82
+ [`${name}Dark`]: rampTokens(r.dark, dark),
83
+ };
84
+ }
37
85
  /**
38
- * Semantic color tokens that map primitive colors to UI intent.
39
- *
40
- * Use these tokens in components instead of raw color values:
41
- * - `primary.*`: Buttons, links, focus states
42
- * - `secondary.*`: Accent elements, highlights
43
- * - `success.*`: Success messages, confirmations
44
- * - `warning.*`: Warning messages, caution states
45
- * - `danger.*`: Error messages, destructive actions
46
- *
47
- * Each category includes:
48
- * - `lightest`: Lightest backgrounds (ghost states, very subtle fills)
49
- * - `extralight`: Extra-light backgrounds (badges, subtle fills)
50
- * - `lighter`: Light backgrounds (toast backgrounds, subtle fills)
51
- * - `light`: Medium backgrounds (hover states, medium fills)
52
- * - `main`: Primary color (buttons, text, icons)
53
- * - `dark`: Dark variant (text on light backgrounds)
54
- * - `darker`: Darkest variant (high-contrast text)
55
- *
56
- * @example
57
- * ```tsx
58
- * <Button bgColor="primary.main" />
59
- * <Alert bgColor="danger.lighter" color="danger.dark" />
60
- * <Badge bgColor="success.lightest" color="success.dark" />
61
- * ```
86
+ * Raw palette. Components never read these; the semantic layer below does.
87
+ * Override a raw step (e.g. `ink.11`) to retint everything built on it.
62
88
  */
63
- // The dark-mode neutral family now lives in `colors.grayDark` (see below) so
64
- // consumers can retint dark surfaces by overriding a primitive scale — exactly
65
- // like `blue.*` for the brand ramp — instead of these values being unreachable
66
- // hex literals. Every dark-mode neutral in the semantic tokens (`slate.*`, and
67
- // the `_dark` of `bg`/`fg`/`border`) references `{colors.grayDark.N}`.
68
- const semanticTokens = {
69
- colors: {
70
- /**
71
- * Primary colors (Blue-based)
72
- * Use for: Primary buttons, links, focus rings, brand elements
73
- *
74
- * Light contrast ratios (on white):
75
- * - main (#1751D0): 5.9:1 ✓ AA
76
- * - dark (#0D317D): 9.4:1 ✓ AAA
77
- *
78
- * `_dark` lightens brand steps ~2 stops so interactive/text tokens keep
79
- * AA contrast on dark surfaces (bg.canvas → gray.1500). Background tints
80
- * (lightest/extralight/lighter/light) map to the deep end of the scale so
81
- * brand-tinted fills read as subtle on dark, not as glare.
82
- */
83
- primary: {
84
- lightest: {
85
- value: { base: '{colors.blue.25}', _dark: '{colors.blue.900}' },
86
- },
87
- extralight: {
88
- value: { base: '{colors.blue.50}', _dark: '{colors.blue.800}' },
89
- },
90
- lighter: {
91
- value: { base: '{colors.blue.100}', _dark: '{colors.blue.700}' },
92
- },
93
- light: {
94
- value: { base: '{colors.blue.200}', _dark: '{colors.blue.600}' },
95
- },
96
- main: {
97
- value: { base: '{colors.blue.500}', _dark: '{colors.blue.300}' },
98
- }, // primary actions
99
- dark: {
100
- value: { base: '{colors.blue.700}', _dark: '{colors.blue.200}' },
101
- }, // emphasis text
102
- darker: {
103
- value: { base: '{colors.blue.900}', _dark: '{colors.blue.100}' },
104
- }, // high-contrast text
105
- // Solid brand-blue *fills* for surfaces with white text/icons on top
106
- // (modal headers, hero/banner gradients, brand badges). `primary.main`/
107
- // `primary.dark` lighten ~2 stops in dark — right for foreground, too
108
- // light as a fill — so these stay a deep blue in dark instead. `base`
109
- // repeats the old main/dark values, so light is unchanged. Bare accents
110
- // (dots, progress bars) keep `primary.main`.
111
- fill: {
112
- value: { base: '{colors.blue.500}', _dark: '{colors.blue.700}' },
113
- },
114
- fillStrong: {
115
- value: { base: '{colors.blue.700}', _dark: '{colors.blue.800}' },
116
- },
117
- },
118
- /**
119
- * Secondary colors (Violet-based)
120
- * Use for: Accent elements, highlights, tags
121
- *
122
- * Light contrast ratios (on white):
123
- * - main (#9117D0): 5.1:1 ✓ AA
124
- * - dark (#570D7D): 9.2:1 ✓ AAA
125
- */
126
- secondary: {
127
- lightest: {
128
- value: { base: '{colors.violet.25}', _dark: '{colors.violet.900}' },
129
- },
130
- extralight: {
131
- value: { base: '{colors.violet.50}', _dark: '{colors.violet.800}' },
132
- },
133
- lighter: {
134
- value: { base: '{colors.violet.100}', _dark: '{colors.violet.700}' },
135
- },
136
- light: {
137
- value: { base: '{colors.violet.200}', _dark: '{colors.violet.600}' },
138
- },
139
- main: {
140
- // _dark is violet.200 (not .300 like the other brands): violet.300 on
141
- // the dark canvas is only 4.29:1, just under AA. Solid fills no longer
142
- // use *.main (they pin to violet.500), so main now only drives
143
- // text/icon/outline on dark, where the extra lift is pure benefit.
144
- value: { base: '{colors.violet.500}', _dark: '{colors.violet.200}' },
145
- },
146
- dark: {
147
- value: { base: '{colors.violet.700}', _dark: '{colors.violet.200}' },
148
- },
149
- darker: {
150
- value: { base: '{colors.violet.900}', _dark: '{colors.violet.100}' },
151
- },
152
- },
153
- /**
154
- * Danger colors (Rose-based)
155
- * Use for: Error states, destructive actions, validation errors
156
- *
157
- * Light contrast ratios (on white):
158
- * - main (#C1232C): 5.9:1 ✓ AA
159
- * - dark (#7D0D14): 9.6:1 ✓ AAA
160
- */
161
- danger: {
162
- lightest: {
163
- value: { base: '{colors.rose.25}', _dark: '{colors.rose.900}' },
164
- },
165
- extralight: {
166
- value: { base: '{colors.rose.50}', _dark: '{colors.rose.800}' },
167
- },
168
- lighter: {
169
- value: { base: '{colors.rose.100}', _dark: '{colors.rose.700}' },
170
- },
171
- light: {
172
- value: { base: '{colors.rose.200}', _dark: '{colors.rose.600}' },
173
- },
174
- main: {
175
- value: { base: '{colors.rose.500}', _dark: '{colors.rose.300}' },
176
- },
177
- dark: {
178
- value: { base: '{colors.rose.700}', _dark: '{colors.rose.200}' },
179
- },
180
- darker: {
181
- value: { base: '{colors.rose.900}', _dark: '{colors.rose.100}' },
182
- },
183
- },
184
- /**
185
- * Success colors (Green-based)
186
- * Use for: Success messages, confirmations, positive feedback
187
- *
188
- * Light contrast ratios (on white):
189
- * - main (#1AA612): 4.5:1 ✓ AA (large text)
190
- * - dark (#147D0D): 6.1:1 ✓ AA
191
- */
192
- success: {
193
- lightest: {
194
- value: { base: '{colors.green.25}', _dark: '{colors.green.900}' },
195
- },
196
- extralight: {
197
- value: { base: '{colors.green.50}', _dark: '{colors.green.800}' },
198
- },
199
- lighter: {
200
- value: { base: '{colors.green.100}', _dark: '{colors.green.700}' },
201
- },
202
- light: {
203
- value: { base: '{colors.green.200}', _dark: '{colors.green.600}' },
204
- },
205
- main: {
206
- value: { base: '{colors.green.600}', _dark: '{colors.green.300}' },
207
- },
208
- dark: {
209
- value: { base: '{colors.green.700}', _dark: '{colors.green.200}' },
210
- },
211
- darker: {
212
- value: { base: '{colors.green.900}', _dark: '{colors.green.100}' },
213
- },
214
- },
215
- /**
216
- * Warning colors (Gold-based)
217
- * Use for: Warning messages, caution states, attention needed
218
- *
219
- * Light contrast ratios (on white):
220
- * - main (#D0A117): 3.0:1 (use dark on light backgrounds)
221
- * - dark (#7D610D): 5.8:1 ✓ AA
222
- *
223
- * NOTE: gold is the AA risk in both modes — verify per-pair contrast in the
224
- * Storybook palette before relying on `warning.main` for text.
225
- */
226
- warning: {
227
- lightest: {
228
- value: { base: '{colors.gold.25}', _dark: '{colors.gold.900}' },
229
- },
230
- extralight: {
231
- value: { base: '{colors.gold.50}', _dark: '{colors.gold.800}' },
232
- },
233
- lighter: {
234
- value: { base: '{colors.gold.100}', _dark: '{colors.gold.700}' },
235
- },
236
- light: {
237
- value: { base: '{colors.gold.200}', _dark: '{colors.gold.600}' },
238
- },
239
- main: {
240
- value: { base: '{colors.gold.500}', _dark: '{colors.gold.300}' },
241
- },
242
- dark: {
243
- value: { base: '{colors.gold.700}', _dark: '{colors.gold.200}' },
244
- },
245
- darker: {
246
- value: { base: '{colors.gold.900}', _dark: '{colors.gold.100}' },
247
- },
248
- },
249
- /**
250
- * `slate.*` — the foundational **mode-aware neutral family**.
251
- *
252
- * A first-class neutral palette alongside the raw `gray.*` primitives, but
253
- * mode-aware: each `slate.N` resolves to `gray.N` in light and to the
254
- * desaturated counterpart of the *mirrored* step in dark, so a single token
255
- * carries the same tonal level in both modes (e.g. `slate.300` is a light
256
- * divider in light and the equivalent dark divider in dark — no `_dark={{…}}`
257
- * at the call site). It lives under `semanticTokens` only because Chakra
258
- * requires that for the `_dark` flip; conceptually it is a *foundation*
259
- * (a tonal scale), not a *role*.
260
- *
261
- * When to use which:
262
- * - Prefer the **role tokens** (`fg`/`bg`/`border`) when one matches the
263
- * intent — they carry semantics and AA-tuned dark values.
264
- * - Reach for **`slate.N`** when you need a specific neutral tonal step that
265
- * no role names (mirroring how you'd otherwise drop to a raw `gray.N`, but
266
- * keeping the dark flip). `slate` and the role tokens are *distinct* ramps
267
- * (slate is a mechanical mirror; roles are hand-tuned), so they are not
268
- * interchangeable in dark mode.
269
- *
270
- * `600`/`700` are lifted off the straight mirror (#8E939F/#7C818D) so the
271
- * secondary/muted text they most often carry clears WCAG AA 4.5:1 on the
272
- * dark canvas/surface — the straight mirrors measured ~3.0–3.9 there.
273
- */
274
- slate: {
275
- 0: {
276
- value: { base: '{colors.gray.0}', _dark: '{colors.grayDark.1500}' },
277
- },
278
- 50: {
279
- value: { base: '{colors.gray.50}', _dark: '{colors.grayDark.1400}' },
280
- },
281
- 100: {
282
- value: { base: '{colors.gray.100}', _dark: '{colors.grayDark.1300}' },
283
- },
284
- 200: {
285
- value: { base: '{colors.gray.200}', _dark: '{colors.grayDark.1200}' },
286
- },
287
- 300: {
288
- value: { base: '{colors.gray.300}', _dark: '{colors.grayDark.1100}' },
289
- },
290
- 400: {
291
- value: { base: '{colors.gray.400}', _dark: '{colors.grayDark.1000}' },
292
- },
293
- 500: {
294
- value: { base: '{colors.gray.500}', _dark: '{colors.grayDark.900}' },
295
- },
296
- 600: {
297
- value: { base: '{colors.gray.600}', _dark: '{colors.grayDark.fg600}' },
298
- },
299
- 700: {
300
- value: { base: '{colors.gray.700}', _dark: '{colors.grayDark.fg700}' },
301
- },
302
- 800: {
303
- value: { base: '{colors.gray.800}', _dark: '{colors.grayDark.600}' },
304
- },
305
- 900: {
306
- value: { base: '{colors.gray.900}', _dark: '{colors.grayDark.500}' },
307
- },
308
- 1000: {
309
- value: { base: '{colors.gray.1000}', _dark: '{colors.grayDark.400}' },
310
- },
311
- 1100: {
312
- value: { base: '{colors.gray.1100}', _dark: '{colors.grayDark.300}' },
313
- },
314
- 1200: {
315
- value: { base: '{colors.gray.1200}', _dark: '{colors.grayDark.200}' },
316
- },
317
- 1300: {
318
- value: { base: '{colors.gray.1300}', _dark: '{colors.grayDark.100}' },
319
- },
320
- 1400: {
321
- value: { base: '{colors.gray.1400}', _dark: '{colors.grayDark.50}' },
322
- },
323
- 1500: {
324
- value: { base: '{colors.gray.1500}', _dark: '{colors.grayDark.0}' },
325
- },
326
- },
327
- /**
328
- * Neutral background tokens — map onto the gray.0–1500 scale.
329
- * Use for: page/canvas, raised surfaces (cards, menus), subtle/muted fills,
330
- * and inverse surfaces (tooltips, contrast banners).
331
- *
332
- * - canvas: app background
333
- * - surface: raised surface (card, popover, menu)
334
- * - subtle: subtle fill / secondary surface
335
- * - muted: muted fill / tertiary surface, hover
336
- * - inverse: high-contrast surface (flips to light in dark mode)
337
- */
338
- bg: {
339
- // Chakra's own global css paints `html { background: bg }` — the *plain*
340
- // `bg` token, not `bg.canvas` — so this is the actual page background
341
- // wherever no component paints over it. `_light` is pure white (Chakra's
342
- // value, so light is untouched); `_dark` rejoins our neutral floor instead
343
- // of Chakra's off-palette black.
344
- DEFAULT: {
345
- value: { _light: '{colors.white}', _dark: '{colors.grayDark.1500}' },
346
- },
347
- canvas: {
348
- value: { base: '{colors.gray.0}', _dark: '{colors.grayDark.1500}' },
349
- },
350
- surface: {
351
- value: { base: '{colors.white}', _dark: '{colors.grayDark.1400}' },
352
- },
353
- // Strongly-raised neutral surface — one level above `surface` (e.g. the
354
- // selected thumb of a SegmentedControl). In dark this is the *lightest*
355
- // neutral bg token so a raised element reads as lifted toward the light,
356
- // not recessed. (The `bg.*` dark ramp is otherwise compressed such that
357
- // `surface` sits below `subtle`/`muted`; `raised` deliberately tops the
358
- // scale so "raised" has a token that behaves correctly in dark.)
359
- // NB: named `raised`, not Chakra's `emphasized` — that default token name
360
- // cannot be overridden via semanticTokens in this setup (it keeps
361
- // resolving to Chakra's own gray.200), whereas a fresh name is honoured.
362
- raised: {
363
- value: { base: '{colors.white}', _dark: '{colors.grayDark.1100}' },
364
- },
365
- // `_light` (not `base`): Chakra's defaults for `bg.subtle`/`bg.muted` are
366
- // `{ _light: gray.50 }` / `{ _light: gray.100 }`, which outrank `base` in
367
- // light mode. Our light values happen to match Chakra's today, so `base`
368
- // rendered correctly by coincidence — pin `_light` so these stay ours if
369
- // either value ever diverges (as `border.subtle`/`fg.muted`/`fg.subtle`
370
- // already did). No visible change.
371
- subtle: {
372
- value: { _light: '{colors.gray.50}', _dark: '{colors.grayDark.1300}' },
373
- },
374
- muted: {
375
- value: { _light: '{colors.gray.100}', _dark: '{colors.grayDark.1200}' },
376
- },
377
- inverse: {
378
- value: { base: '{colors.gray.1300}', _dark: '{colors.grayDark.50}' },
379
- },
380
- // Sunken page wash for list/overview surfaces: a gray floor in light so
381
- // `bg.surface` cards read as raised above it. In dark the `bg.*` ramp is
382
- // compressed (`subtle` sits *lighter* than `surface`), which would invert
383
- // that elevation — so the dark value drops to the canvas floor instead.
384
- // Component-level fills (hover, chips, inner blocks) keep using `bg.subtle`.
385
- sunken: {
386
- value: { base: '{colors.gray.50}', _dark: '{colors.grayDark.1500}' },
387
- },
388
- // Recessed control-track surface for "meter"-style components whose
389
- // unfilled track carries meaning (Switch off-state, Slider rail,
390
- // SegmentedProgressBar remainder, Spinner track). Unlike `bg.subtle` /
391
- // `bg.muted` (gray.50 / gray.100), which collapse into the `bg.sunken`
392
- // page wash in light mode, this sits at gray.300 so the track reads as a
393
- // filled surface on any background. Dark keeps the `bg.muted` value
394
- // (grayDark.1200) — already lighter than the dark canvas/surface,
395
- // so it reads there without change. Use this only for control tracks, not
396
- // as a general fill (that stays `bg.subtle` / `bg.muted`).
397
- track: {
398
- value: { base: '{colors.gray.300}', _dark: '{colors.grayDark.1200}' },
399
- },
400
- // Override Chakra's default `bg.panel` (whose `_dark` resolves to Chakra's
401
- // own gray.950 = #111111, off our slate palette). Light value is white —
402
- // identical to Chakra's default — so this only realigns dark overlay
403
- // surfaces (Menu / Modal / Popover / Toast) onto our gray scale. `_light`
404
- // (not `base`) for the same reason as `bg.subtle`/`bg.muted`: Chakra's
405
- // default `bg.panel` is `{ _light: white }`, which would outrank `base`.
406
- panel: {
407
- value: { _light: '{colors.white}', _dark: '{colors.grayDark.1400}' },
408
- },
409
- /**
410
- * Row/selection state tints. Use these for selected rows,
411
- * validation-error rows, and transient highlights instead of
412
- * hand-picking `primary.*`/`danger.*` tints at the call site.
413
- *
414
- * Light mirrors `primary.lightest` / `danger.lightest` /
415
- * `warning.lightest` (this Chakra version doesn't resolve
416
- * semantic→semantic token references, so the primitive is repeated
417
- * here — keep it in sync with the brand ramps above).
418
- *
419
- * Dark does NOT mirror `*.lightest`. There the "lightest" hue step is the
420
- * `900` of the ramp, which is darker than `bg.surface` (`grayDark.1400`),
421
- * so a selected row rendered as a block sunk *below* its neighbours
422
- * instead of a tint lifted above them. Instead the hue's `200` step (the
423
- * dark-mode `main`/hover step of each family) is mixed 20% into the row
424
- * surface. That keeps the tint one step lighter than the surface
425
- * (~1.4:1, the same separation the old value had, in the right
426
- * direction), keeps `fg.default` on it above 8:1, and stays
427
- * tenant-restageable because it reads the ramp rather than a literal.
428
- * Primitives only inside the mix — see the note above on references.
429
- */
430
- selected: {
431
- value: {
432
- base: '{colors.blue.25}',
433
- _dark: 'color-mix(in oklab, {colors.blue.200} 20%, {colors.grayDark.1400})',
434
- },
435
- },
436
- invalid: {
437
- subtle: {
438
- value: {
439
- base: '{colors.rose.25}',
440
- _dark: 'color-mix(in oklab, {colors.rose.200} 20%, {colors.grayDark.1400})',
441
- },
442
- },
443
- },
444
- highlighted: {
445
- value: {
446
- base: '{colors.gold.25}',
447
- _dark: 'color-mix(in oklab, {colors.gold.200} 20%, {colors.grayDark.1400})',
448
- },
449
- },
450
- },
451
- /**
452
- * Neutral foreground (text/icon) tokens — map onto the gray.0–1500 scale.
453
- *
454
- * - default: primary text/icons
455
- * - muted: secondary text
456
- * - subtle: tertiary / placeholder text
457
- * - inverse: text on inverse surfaces (flips with mode)
458
- */
459
- fg: {
460
- // Plain `fg` is Chakra's html-level text color (`html { color: fg }`).
461
- // `_light` repeats Chakra's value (black); `_dark` rejoins our desaturated
462
- // neutral so legacy html-level text tracks `fg.default`.
463
- DEFAULT: {
464
- value: { _light: '{colors.black}', _dark: '{colors.grayDark.50}' },
465
- },
466
- // Strongest text — headings, titles, key figures, emphasis. This is the
467
- // near-black step that `fg.default` used to be; `default` is now re-pegged
468
- // to a lighter body weight (see below), so reach for `emphasized` when you
469
- // specifically want maximum contrast.
470
- emphasized: {
471
- value: { base: '{colors.gray.1300}', _dark: '{colors.grayDark.200}' },
472
- },
473
- default: {
474
- // Primary *body* text. Re-pegged from gray.1300 → gray.1000: near-black
475
- // (gray.1300, ~14:1 on white) is unusually heavy for running copy, and
476
- // real product usage clustered well below it. gray.1000 (~9:1) is a
477
- // comfortable AAA body weight; the old near-black step lives on as
478
- // `fg.emphasized`. _dark drops one step from emphasized for hierarchy.
479
- value: { base: '{colors.gray.1000}', _dark: '{colors.grayDark.300}' },
480
- },
481
- muted: {
482
- // Secondary text. `_light` (not `base`): Chakra's default `fg.muted` is
483
- // `{ _light: gray.600 }`, which outranks `base` in light mode — so `base`
484
- // was shadowed and secondary text rendered gray.600, lighter than our
485
- // intended gray.900. _dark sits one step below `default` (~9.5:1 on the
486
- // dark canvas) to keep the default→muted hierarchy gap.
487
- value: { _light: '{colors.gray.900}', _dark: '{colors.grayDark.400}' },
488
- },
489
- subtle: {
490
- // Tertiary / placeholder / icon text. `_light` (not `base`): Chakra's
491
- // default `fg.subtle` is `{ _light: gray.400 }`, which outranks `base` in
492
- // light mode — so `base` was shadowed and this rendered gray.400, much
493
- // lighter than our intended gray.700. _dark a11y-bumped from the straight
494
- // mirror (grayDark.600 #8E939F, ~4.06:1 on bg.muted) to #989DA9
495
- // (~4.6:1) so it clears AA while staying below fg.muted.
496
- value: {
497
- _light: '{colors.gray.700}',
498
- _dark: '{colors.grayDark.fgSubtle}',
499
- },
500
- },
501
- inverse: {
502
- value: { base: '{colors.gray.0}', _dark: '{colors.grayDark.1400}' },
503
- },
504
- },
505
- /**
506
- * Neutral border tokens — map onto the gray.0–1500 scale.
507
- *
508
- * - default: standard borders, dividers
509
- * - subtle: low-emphasis dividers
510
- * - strong: high-emphasis borders, focus outlines on neutral
511
- */
512
- border: {
513
- // Plain `border` feeds Chakra's `--global-color-border` (the implicit
514
- // default border color). Not a text color, so its `_dark` takes the
515
- // straight halved-saturation mirror (no a11y bump). `_light` repeats
516
- // Chakra's value so light is untouched.
517
- DEFAULT: {
518
- value: { _light: '{colors.gray.200}', _dark: '{colors.grayDark.800}' },
519
- },
520
- default: {
521
- value: { base: '{colors.gray.300}', _dark: '{colors.grayDark.1100}' },
522
- },
523
- subtle: {
524
- // `_light` (not `base`): Chakra's default `border.subtle` is
525
- // `{ _light: gray.50 }`, and a `_light` condition outranks `base` in
526
- // light mode — so a `base` override here is silently shadowed by
527
- // Chakra's near-white gray.50 (dividers/frames vanish). Pin `_light` so
528
- // our gray.200 wins. (`border.default`/`strong` are safe: Chakra has no
529
- // default for those names, so `base` is honoured.)
530
- value: { _light: '{colors.gray.200}', _dark: '{colors.grayDark.1300}' },
531
- },
532
- strong: {
533
- value: { base: '{colors.gray.500}', _dark: '{colors.grayDark.900}' },
534
- },
535
- },
536
- },
89
+ const colors = {
90
+ ...scaleTokens('ink'),
91
+ ...scaleTokens('sand'),
92
+ ...scaleTokens('slate'),
93
+ coral: Object.fromEntries(Object.entries(CORAL).map(([k, val]) => [k, v(val)])),
94
+ ...Object.fromEntries(SYSTEM_HUE_NAMES.map((hue) => [
95
+ hue,
96
+ Object.fromEntries(Object.entries(SYSTEM_HUES[hue]).map(([k, val]) => [k, v(val)])),
97
+ ])),
98
+ white: v('#FFFFFF'),
99
+ };
100
+ /** Prototype flat name → Chakra token path. */
101
+ const PATHS = {
102
+ 'bg-canvas': 'bg.canvas',
103
+ 'bg-subtle': 'bg.subtle',
104
+ 'bg-surface': 'bg.surface',
105
+ 'bg-muted': 'bg.muted',
106
+ track: 'bg.track',
107
+ 'layer-1': 'layer.1.DEFAULT',
108
+ 'layer-1-hover': 'layer.1.hover',
109
+ 'layer-1-active': 'layer.1.active',
110
+ 'layer-2': 'layer.2.DEFAULT',
111
+ 'layer-2-hover': 'layer.2.hover',
112
+ 'layer-2-active': 'layer.2.active',
113
+ 'layer-3': 'layer.3.DEFAULT',
114
+ 'layer-3-hover': 'layer.3.hover',
115
+ 'layer-3-active': 'layer.3.active',
116
+ 'border-subtle': 'border.subtle',
117
+ 'border-default': 'border.default',
118
+ 'border-strong': 'border.strong',
119
+ 'border-control': 'border.control',
120
+ 'fg-default': 'fg.default',
121
+ 'fg-muted': 'fg.muted',
122
+ 'fg-subtle': 'fg.subtle',
123
+ 'fg-icon': 'fg.icon',
124
+ 'fg-placeholder': 'fg.placeholder',
125
+ 'fg-onPrimary': 'fg.onPrimary',
126
+ 'fg-link': 'fg.link',
127
+ 'fg-linkHover': 'fg.linkHover',
128
+ 'primary-main': 'primary.main',
129
+ 'primary-hover': 'primary.hover',
130
+ 'primary-active': 'primary.active',
131
+ 'primary-wash': 'primary.wash',
132
+ 'primary-washActive': 'primary.washActive',
133
+ 'primary-selected': 'primary.selected',
134
+ // Sand tint (#FBEFE3 / #F4E7DA light — reads peach): tint/accent only — not
135
+ // a component background. Fill with bg.subtle / bg.muted / layer.* /
136
+ // primary.wash|selected instead; `noSandBackground.test.ts` enforces it in
137
+ // src/components. Kept because the 4.x aliases secondary.extralight /
138
+ // secondary.lighter point here.
139
+ 'secondary-surface': 'secondary.surface',
140
+ 'secondary-surfaceStrong': 'secondary.surfaceStrong',
141
+ 'secondary-border': 'secondary.border',
142
+ 'secondary-fg': 'secondary.fg',
143
+ 'secondary-fgStrong': 'secondary.fgStrong',
144
+ 'action-mark': 'action.mark',
145
+ 'action-iconOnSolid': 'action.iconOnSolid',
146
+ 'action-bg': 'action.bg',
147
+ 'action-bgHover': 'action.bgHover',
148
+ 'action-bgActive': 'action.bgActive',
149
+ 'action-fg': 'action.fg',
150
+ 'action-border': 'action.border',
151
+ 'send-bg': 'send.bg',
152
+ 'send-bgHover': 'send.bgHover',
153
+ 'send-bgActive': 'send.bgActive',
154
+ 'send-fg': 'send.fg',
155
+ 'count-bg': 'count.bg',
156
+ 'count-fg': 'count.fg',
157
+ 'disabled-bg': 'disabled.bg',
158
+ 'disabled-fg': 'disabled.fg',
159
+ focus: 'focus.ring',
160
+ 'danger-bg': 'danger.bg',
161
+ 'danger-border': 'danger.border',
162
+ 'danger-fg': 'danger.fg',
163
+ 'danger-solid': 'danger.solid',
164
+ 'danger-solidHover': 'danger.solidHover',
165
+ 'danger-solidActive': 'danger.solidActive',
166
+ 'danger-onSolid': 'danger.onSolid',
167
+ 'success-bg': 'success.bg',
168
+ 'success-border': 'success.border',
169
+ 'success-fg': 'success.fg',
170
+ 'success-solid': 'success.solid',
171
+ 'success-onSolid': 'success.onSolid',
172
+ 'warning-bg': 'warning.bg',
173
+ 'warning-border': 'warning.border',
174
+ 'warning-fg': 'warning.fg',
175
+ 'warning-solid': 'warning.solid',
176
+ 'warning-onSolid': 'warning.onSolid',
177
+ 'info-bg': 'info.bg',
178
+ 'info-border': 'info.border',
179
+ 'info-fg': 'info.fg',
180
+ 'info-solid': 'info.solid',
181
+ 'info-onSolid': 'info.onSolid',
182
+ 'tooltip-bg': 'tooltip.bg',
183
+ 'tooltip-fg': 'tooltip.fg',
537
184
  };
538
185
  /**
539
- * Primitive color palette following the Golden Ratio system.
540
- *
541
- * These are the raw color values organized by hue. In most cases,
542
- * you should use semantic tokens (`primary`, `danger`, etc.) instead
543
- * of these primitive values directly.
544
- *
545
- * ### Scale explanation:
546
- * - **25**: Lightest backgrounds, ghost states
547
- * - **50-200**: Light shades for backgrounds, subtle fills
548
- * - **300**: Medium shade for borders, hover states
549
- * - **500**: Base color, primary usage
550
- * - **600-700**: Dark shades for text, emphasis
551
- * - **800-900**: Darkest shades for high-contrast text
552
- *
553
- * ### Gray scale (Slate-based):
554
- * Extended from 0-1500 for fine-grained control:
555
- * - **0**: Pure background (near-white with blue tint)
556
- * - **50-200**: Light backgrounds, subtle borders
557
- * - **300-500**: Borders, disabled states
558
- * - **600-800**: Secondary text, icons
559
- * - **900-1200**: Primary text
560
- * - **1300-1500**: Darkest backgrounds, high-contrast text
561
- *
562
- * @example
563
- * ```tsx
564
- * // Prefer semantic tokens
565
- * <Button bgColor="primary.main" />
566
- *
567
- * // Use primitives only when semantic tokens don't apply
568
- * <Box borderColor="gray.300" />
569
- * ```
186
+ * Hex → raw token reference, so a role token points at the raw step it was
187
+ * derived from (a tenant overriding `ink.11` retints everything on it). Earlier
188
+ * entries win, so the active neutral/secondary scale is preferred over an
189
+ * identical hex elsewhere. Values with no raw step (status washes, pushed
190
+ * high-contrast lightness) stay literal.
570
191
  */
571
- const colors = {
572
- /**
573
- * Blue palette - Primary brand color
574
- * Used for: primary semantic tokens, interactive elements
575
- */
576
- blue: {
577
- 25: { value: '#F4F7FD' }, // Ultra-light - ghost backgrounds
578
- 50: { value: '#E8EEFB' }, // Lightest - backgrounds
579
- 100: { value: '#B9CBF3' }, // Lighter - subtle fills
580
- 200: { value: '#7DA0E8' }, // Light - hover, focus rings
581
- 300: { value: '#4A79DC' }, // Medium - borders
582
- 500: { value: '#1751D0' }, // Base - primary.main
583
- 600: { value: '#1241A6' }, // Dark - hover on main
584
- 700: { value: '#0D317D' }, // Darker - text
585
- 800: { value: '#092053' }, // Very dark - emphasis
586
- 900: { value: '#04102A' }, // Darkest - high contrast
587
- },
588
- /**
589
- * Rose palette - Danger/error color
590
- * Used for: danger semantic tokens, error states, destructive actions
591
- */
592
- rose: {
593
- 25: { value: '#FDF5F5' }, // Ultra-light - ghost backgrounds
594
- 50: { value: '#FBE8E9' }, // Lightest - error backgrounds
595
- 100: { value: '#F3B9BD' }, // Lighter - subtle error fills
596
- 200: { value: '#E87D84' }, // Light - error borders
597
- 300: { value: '#DC4A53' }, // Medium - error accents
598
- 500: { value: '#C1232C' }, // Base - danger.main (desaturated ~1 notch from #D01721)
599
- 600: { value: '#9C1C23' }, // Dark - hover on main (desaturated to match .500)
600
- 700: { value: '#7D0D14' }, // Darker - error text
601
- 800: { value: '#53090D' }, // Very dark - emphasis
602
- 900: { value: '#2A0407' }, // Darkest - high contrast
603
- },
604
- /**
605
- * Green palette - Success color
606
- * Used for: success semantic tokens, confirmations, positive feedback
607
- */
608
- green: {
609
- 25: { value: '#F4FDF4' }, // Ultra-light - ghost backgrounds
610
- 50: { value: '#E9FBE8' }, // Lightest - success backgrounds
611
- 100: { value: '#BDF3B9' }, // Lighter - subtle success fills
612
- 200: { value: '#84E87D' }, // Light - success borders
613
- 300: { value: '#53DC4A' }, // Medium - success accents
614
- 500: { value: '#21D017' }, // Bright - icons (avoid for text)
615
- 600: { value: '#1AA612' }, // Base - success.main
616
- 700: { value: '#147D0D' }, // Darker - success text
617
- 800: { value: '#0D5309' }, // Very dark - emphasis
618
- 900: { value: '#072A04' }, // Darkest - high contrast
619
- },
620
- /**
621
- * Violet palette - Secondary/accent color
622
- * Used for: secondary semantic tokens, highlights, tags
623
- */
624
- violet: {
625
- 25: { value: '#FAF4FD' }, // Ultra-light - ghost backgrounds
626
- 50: { value: '#F4E8FB' }, // Lightest - accent backgrounds
627
- 100: { value: '#DEB9F3' }, // Lighter - subtle accent fills
628
- 200: { value: '#C17DE8' }, // Light - accent borders
629
- 300: { value: '#A84ADC' }, // Medium - accent elements
630
- 500: { value: '#9117D0' }, // Base - secondary.main
631
- 600: { value: '#7412A6' }, // Dark - hover on main
632
- 700: { value: '#570D7D' }, // Darker - accent text
633
- 800: { value: '#3A0953' }, // Very dark - emphasis
634
- 900: { value: '#1D042A' }, // Darkest - high contrast
635
- },
636
- /**
637
- * Gold palette - Warning color
638
- * Used for: warning semantic tokens, caution states
639
- */
640
- gold: {
641
- 25: { value: '#FDFBF4' }, // Ultra-light - ghost backgrounds
642
- 50: { value: '#FBF6E8' }, // Lightest - warning backgrounds
643
- 100: { value: '#F3E4B9' }, // Lighter - subtle warning fills
644
- 200: { value: '#E8CD7D' }, // Light - warning borders
645
- 300: { value: '#DCB84A' }, // Medium - warning accents
646
- 500: { value: '#D0A117' }, // Base - warning.main
647
- 600: { value: '#A68112' }, // Dark - hover on main
648
- 700: { value: '#7D610D' }, // Darker - warning text
649
- 800: { value: '#534109' }, // Very dark - emphasis
650
- 900: { value: '#2A2004' }, // Darkest - high contrast
651
- },
652
- /**
653
- * Gray palette (Slate-based with cool blue undertone)
654
- * Extended scale from 0-1500 for fine-grained control
655
- *
656
- * Used for: backgrounds, borders, text, disabled states
657
- *
658
- * Contrast ratios against gray.0 (#FDFDFF):
659
- * - gray.700: 4.6:1 ✓ AA (large text)
660
- * - gray.900: 6.2:1 ✓ AA
661
- * - gray.1300: 11.2:1 ✓ AAA
662
- */
663
- gray: {
664
- 0: { value: '#FDFDFF' }, // Pure background (near-white with blue tint)
665
- 50: { value: '#F7F9FC' }, // Subtle background
666
- 100: { value: '#F0F3F9' }, // Muted background
667
- 200: { value: '#E2E6F0' }, // Light borders, dividers
668
- 300: { value: '#CDD3E0' }, // Default borders
669
- 400: { value: '#B0B8C9' }, // Disabled borders
670
- 500: { value: '#9AA3B8' }, // Placeholder text, tertiary
671
- 600: { value: '#8690A7' }, // Icons, secondary text
672
- 700: { value: '#737D96' }, // Secondary text
673
- 800: { value: '#616B85' }, // Body text (light)
674
- 900: { value: '#505A74' }, // Body text (medium)
675
- 1000: { value: '#414A63' }, // Body text (strong)
676
- 1100: { value: '#343C52' }, // Headings (light)
677
- 1200: { value: '#2A3142' }, // Headings (medium)
678
- 1300: { value: '#1E2433' }, // Primary text, headings
679
- 1400: { value: '#141924' }, // Dark backgrounds
680
- 1500: { value: '#0B0E17' }, // Darkest background
681
- },
682
- /**
683
- * Dark-mode neutral palette — the halved-saturation counterpart of each
684
- * primitive `gray.N` (same hue and lightness, HSL saturation cut by ~50%,
685
- * e.g. `gray.1300` #1E2433 @ 26% → #23262E @ 13%). The blue-tinted `gray`
686
- * ramp reads as the right neutral in light mode but turns muddy/
687
- * over-chromatic as a dark surface, so every dark-mode neutral in the
688
- * semantic layer (`slate.*`, and the `_dark` of `bg`/`fg`/`border`) resolves
689
- * to a step of this scale instead of a raw `gray` step. Light mode is
690
- * untouched — it keeps referencing `{colors.gray.*}` verbatim.
691
- *
692
- * Exposed as a primitive scale (rather than the previous inlined hex
693
- * literals) so a consumer theme — e.g. FactChat's per-tenant
694
- * `theme_color_overrides` — can rebrand dark mode by overriding these
695
- * tokens, the same way overriding `blue.*` retints the `primary.*` ramp.
696
- *
697
- * The three `fg*` steps are the hand-tuned a11y lifts documented at their
698
- * consuming tokens (`slate.600`/`slate.700`/`fg.subtle` in dark mode): the
699
- * straight mirrors measured under WCAG AA 4.5:1 on the dark canvas/surface,
700
- * so these sit slightly lighter than their scale neighbours.
701
- */
702
- grayDark: {
703
- 0: { value: '#FEFEFF' },
704
- 50: { value: '#F8F9FB' },
705
- 100: { value: '#F2F4F7' },
706
- 200: { value: '#E5E8EC' },
707
- 300: { value: '#D2D5DB' },
708
- 400: { value: '#B6BAC3' },
709
- 500: { value: '#A2A6B1' },
710
- 600: { value: '#8E939F' },
711
- 700: { value: '#7C818D' },
712
- 800: { value: '#6A6F7C' },
713
- 900: { value: '#595E6B' },
714
- 1000: { value: '#4A4E5A' },
715
- 1100: { value: '#3C404B' },
716
- 1200: { value: '#30343C' },
717
- 1300: { value: '#23262E' },
718
- 1400: { value: '#181A20' },
719
- 1500: { value: '#0E1014' },
720
- // A11y-lifted foreground steps (see scale doc above).
721
- fg600: { value: '#898E99' },
722
- fg700: { value: '#8D919D' },
723
- fgSubtle: { value: '#989DA9' },
724
- },
725
- /**
726
- * Legacy purple palette (aliased to violet for backwards compatibility)
727
- * @deprecated Use `violet` instead
728
- */
729
- purple: {
730
- 50: { value: '#F4E8FB' },
731
- 100: { value: '#DEB9F3' },
732
- 200: { value: '#C17DE8' },
733
- 300: { value: '#A84ADC' },
734
- 500: { value: '#9117D0' },
735
- 600: { value: '#7412A6' },
736
- 700: { value: '#570D7D' },
737
- 800: { value: '#3A0953' },
738
- 900: { value: '#1D042A' },
739
- },
740
- /**
741
- * Legacy red palette (aliased to rose for backwards compatibility)
742
- * @deprecated Use `rose` instead
743
- */
744
- red: {
745
- 50: { value: '#FBE8E9' },
746
- 100: { value: '#F3B9BD' },
747
- 200: { value: '#E87D84' },
748
- 300: { value: '#DC4A53' },
749
- 500: { value: '#C1232C' }, // kept in sync with rose.500 (deprecated alias)
750
- 600: { value: '#9C1C23' }, // kept in sync with rose.600 (deprecated alias)
751
- 700: { value: '#7D0D14' },
752
- 800: { value: '#53090D' },
753
- 900: { value: '#2A0407' },
754
- },
755
- /**
756
- * Legacy yellow palette (aliased to gold for backwards compatibility)
757
- * @deprecated Use `gold` instead
758
- */
759
- yellow: {
760
- 50: { value: '#FBF6E8' },
761
- 100: { value: '#F3E4B9' },
762
- 200: { value: '#E8CD7D' },
763
- 300: { value: '#DCB84A' },
764
- 400: { value: '#D0A117' }, // For backwards compat (warning.main used yellow.400)
765
- 500: { value: '#D0A117' },
766
- 600: { value: '#A68112' },
767
- 700: { value: '#7D610D' },
768
- 800: { value: '#534109' },
769
- 900: { value: '#2A2004' },
770
- },
771
- white: { value: '#FFFFFF' },
772
- black: { value: '#0B0E17' }, // Matches gray.1500
773
- };
192
+ function buildRefIndex(neutral, secondary) {
193
+ const index = new Map();
194
+ const add = (hex, ref) => {
195
+ const key = hex.toUpperCase();
196
+ if (!index.has(key))
197
+ index.set(key, `{colors.${ref}}`);
198
+ };
199
+ const addScale = (name) => {
200
+ for (const s of STEPS)
201
+ add(RAMPS[name].light[s], `${name}.${s}`);
202
+ for (const s of STEPS)
203
+ add(RAMPS[name].dark[s], `${name}Dark.${s}`);
204
+ add(RAMPS[name].canvasDark, `${name}Dark.canvas`);
205
+ const a = RAMPS[name].anchors;
206
+ if (a.cream)
207
+ add(a.cream, `${name}.cream`);
208
+ if (a.press)
209
+ add(a.press, `${name}.press`);
210
+ if (a.primaryDark)
211
+ add(a.primaryDark, `${name}Dark.primary`);
212
+ if (a.pressDark)
213
+ add(a.pressDark, `${name}Dark.press`);
214
+ };
215
+ addScale(neutral);
216
+ addScale(secondary);
217
+ add('#FFFFFF', 'white');
218
+ for (const [k, hex] of Object.entries(CORAL))
219
+ add(hex, `coral.${k}`);
220
+ for (const hue of SYSTEM_HUE_NAMES)
221
+ for (const [k, hex] of Object.entries(SYSTEM_HUES[hue]))
222
+ add(hex, `${hue}.${k}`);
223
+ // The brand black/cream anchors exist only on ink; reachable from any scheme.
224
+ if (neutral !== 'ink')
225
+ addScale('ink');
226
+ return (hex) => index.get(hex.toUpperCase()) ?? hex;
227
+ }
228
+ function setPath(tree, path, token) {
229
+ const parts = path.split('.');
230
+ let node = tree;
231
+ for (const p of parts.slice(0, -1)) {
232
+ node[p] ?? (node[p] = {});
233
+ node = node[p];
234
+ }
235
+ node[parts[parts.length - 1]] = token;
236
+ }
237
+ const camel = (flat) => flat.replace(/-([a-z0-9])/g, (_, c) => c.toUpperCase());
238
+ /**
239
+ * Build the semantic colour tokens for one neutral/secondary choice.
240
+ * `createLogicianTheme` calls this; the default export below is BAZE.
241
+ */
242
+ function createSemanticColors({ neutral = 'ink', secondary = 'sand', } = {}) {
243
+ const table = SCHEMES[neutral];
244
+ const ref = buildRefIndex(neutral, secondary);
245
+ const tree = {};
246
+ // Semantic steps.
247
+ for (const s of STEPS) {
248
+ setPath(tree, `neutral.${s}`, {
249
+ value: {
250
+ _light: `{colors.${neutral}.${s}}`,
251
+ _dark: `{colors.${neutral}Dark.${s}}`,
252
+ },
253
+ });
254
+ setPath(tree, `secondary.${s}`, {
255
+ value: {
256
+ _light: `{colors.${secondary}.${s}}`,
257
+ _dark: `{colors.${secondary}Dark.${s}}`,
258
+ },
259
+ });
260
+ }
261
+ // Role tokens, with per-mode high-contrast helpers where the value differs.
262
+ for (const [flat, path] of Object.entries(PATHS)) {
263
+ const perMode = (mode, hcMode) => {
264
+ const base = ref(table[mode][flat]);
265
+ const hc = ref(table[hcMode][flat]);
266
+ if (base === hc)
267
+ return base;
268
+ const helper = `scheme.${mode}.${camel(flat)}`;
269
+ setPath(tree, helper, { value: { base, _moreContrast: hc } });
270
+ return `{colors.${helper}}`;
271
+ };
272
+ setPath(tree, path, {
273
+ value: {
274
+ _light: perMode('light', 'hcLight'),
275
+ _dark: perMode('dark', 'hcDark'),
276
+ },
277
+ });
278
+ }
279
+ // Roles that reuse another role's value (kept 4.x names, Chakra globals).
280
+ const sameAs = {
281
+ 'bg.DEFAULT': 'bg.canvas', // Chakra paints `html { background: bg }`
282
+ 'fg.DEFAULT': 'fg.default', // … and `html { color: fg }`
283
+ 'border.DEFAULT': 'border.subtle', // Chakra's implicit border colour
284
+ 'bg.panel': 'bg.surface', // Chakra overlay surfaces (Menu, Modal, Popover, Toast)
285
+ 'bg.raised': 'layer.2', // one level above surface
286
+ 'bg.inverse': 'tooltip.bg',
287
+ 'fg.inverse': 'tooltip.fg',
288
+ 'fg.emphasized': 'fg.default',
289
+ 'bg.invalid.subtle': 'danger.bg',
290
+ 'bg.highlighted': 'warning.bg',
291
+ // Every other name Chakra's own recipes read (menu/combobox `_highlighted`
292
+ // is `bg.emphasized/60`, radiomark borders are `border.emphasized`, the
293
+ // field recipe reads `fg.error` …). 4.x got these for free because its
294
+ // raw `gray` shared Chakra's keys; 5.0 has no `gray`, so without this
295
+ // they fall through to Chakra's zinc/red palette (1.06:1 menu highlight
296
+ // in dark). `chakraTokens.test.ts` fails if Chakra adds one we miss.
297
+ 'bg.emphasized': 'layer.1.active',
298
+ 'bg.inverted': 'tooltip.bg',
299
+ 'fg.inverted': 'tooltip.fg',
300
+ 'border.emphasized': 'border.strong',
301
+ 'border.muted': 'border.subtle',
302
+ 'border.inverted': 'tooltip.bg',
303
+ 'bg.error': 'danger.bg',
304
+ 'bg.warning': 'warning.bg',
305
+ 'bg.success': 'success.bg',
306
+ 'bg.info': 'info.bg',
307
+ 'fg.error': 'danger.fg',
308
+ 'fg.warning': 'warning.fg',
309
+ 'fg.success': 'success.fg',
310
+ 'fg.info': 'info.fg',
311
+ 'border.error': 'danger.border',
312
+ 'border.warning': 'warning.border',
313
+ 'border.success': 'success.border',
314
+ 'border.info': 'info.border',
315
+ };
316
+ for (const [path, target] of Object.entries(sameAs))
317
+ setPath(tree, path, { value: `{colors.${target}}` });
318
+ // Sunken page wash: neutral.1 in light, the canvas floor in dark (so cards
319
+ // on it still read as raised — the dark ramp is compressed).
320
+ setPath(tree, 'bg.sunken', {
321
+ value: { _light: '{colors.bg.subtle}', _dark: '{colors.bg.canvas}' },
322
+ });
323
+ // Category pairs (decorative — no status meaning).
324
+ for (const hue of SYSTEM_HUE_NAMES) {
325
+ setPath(tree, `category.${hue}.surface`, {
326
+ value: {
327
+ _light: `{colors.${hue}.surface}`,
328
+ _dark: `{colors.${hue}.surfaceDark}`,
329
+ },
330
+ });
331
+ setPath(tree, `category.${hue}.fg`, {
332
+ value: {
333
+ _light: `{colors.${hue}.ink}`,
334
+ _dark: `{colors.${hue}.inkDark}`,
335
+ },
336
+ });
337
+ }
338
+ // Deprecated 4.x names → 5.0 replacement (removed in 6.0).
339
+ for (const [oldName, newName] of Object.entries(DEPRECATED.aliases))
340
+ setPath(tree, oldName, { value: `{colors.${newName}}` });
341
+ return tree;
342
+ }
343
+ /** BAZE semantic tokens (ink + sand). */
344
+ const semanticTokens = { colors: createSemanticColors() };
345
+ /** Deprecated 4.x semantic name → 5.0 replacement. */
346
+ const DEPRECATED_COLOR_TOKENS = DEPRECATED.aliases;
774
347
 
775
- export { colors, semanticTokens };
348
+ export { DEPRECATED_COLOR_TOKENS, SYSTEM_HUE_NAMES, colors, createSemanticColors, semanticTokens };
776
349
  //# sourceMappingURL=colors.mjs.map