@mindlogic-ai/logician-ui 3.0.0 → 3.1.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 (353) hide show
  1. package/dist/components/Avatar/Avatar.js +1 -1
  2. package/dist/components/Avatar/Avatar.js.map +1 -1
  3. package/dist/components/Avatar/Avatar.mjs +1 -1
  4. package/dist/components/Avatar/Avatar.mjs.map +1 -1
  5. package/dist/components/Badge/Badge.styles.d.ts.map +1 -1
  6. package/dist/components/Badge/Badge.styles.js +5 -3
  7. package/dist/components/Badge/Badge.styles.js.map +1 -1
  8. package/dist/components/Badge/Badge.styles.mjs +5 -3
  9. package/dist/components/Badge/Badge.styles.mjs.map +1 -1
  10. package/dist/components/Button/Button.styles.d.ts.map +1 -1
  11. package/dist/components/Button/Button.styles.js +39 -33
  12. package/dist/components/Button/Button.styles.js.map +1 -1
  13. package/dist/components/Button/Button.styles.mjs +39 -33
  14. package/dist/components/Button/Button.styles.mjs.map +1 -1
  15. package/dist/components/Card/Card.js +1 -1
  16. package/dist/components/Card/Card.js.map +1 -1
  17. package/dist/components/Card/Card.mjs +1 -1
  18. package/dist/components/Card/Card.mjs.map +1 -1
  19. package/dist/components/Card/Card.styles.js +2 -2
  20. package/dist/components/Card/Card.styles.js.map +1 -1
  21. package/dist/components/Card/Card.styles.mjs +2 -2
  22. package/dist/components/Card/Card.styles.mjs.map +1 -1
  23. package/dist/components/Checkbox/CheckboxControl.d.ts.map +1 -1
  24. package/dist/components/Checkbox/CheckboxControl.js +9 -3
  25. package/dist/components/Checkbox/CheckboxControl.js.map +1 -1
  26. package/dist/components/Checkbox/CheckboxControl.mjs +9 -3
  27. package/dist/components/Checkbox/CheckboxControl.mjs.map +1 -1
  28. package/dist/components/Chip/Chip.styles.d.ts.map +1 -1
  29. package/dist/components/Chip/Chip.styles.js +14 -11
  30. package/dist/components/Chip/Chip.styles.js.map +1 -1
  31. package/dist/components/Chip/Chip.styles.mjs +14 -11
  32. package/dist/components/Chip/Chip.styles.mjs.map +1 -1
  33. package/dist/components/Code/Code.js +4 -4
  34. package/dist/components/Code/Code.js.map +1 -1
  35. package/dist/components/Code/Code.mjs +4 -4
  36. package/dist/components/Code/Code.mjs.map +1 -1
  37. package/dist/components/CodeTabs/CopyButton.js +1 -1
  38. package/dist/components/CodeTabs/CopyButton.mjs +1 -1
  39. package/dist/components/Collapsible/CollapsibleRoot.js +1 -1
  40. package/dist/components/Collapsible/CollapsibleRoot.js.map +1 -1
  41. package/dist/components/Collapsible/CollapsibleRoot.mjs +1 -1
  42. package/dist/components/Collapsible/CollapsibleRoot.mjs.map +1 -1
  43. package/dist/components/Collapsible/CollapsibleTrigger.js +1 -1
  44. package/dist/components/Collapsible/CollapsibleTrigger.js.map +1 -1
  45. package/dist/components/Collapsible/CollapsibleTrigger.mjs +1 -1
  46. package/dist/components/Collapsible/CollapsibleTrigger.mjs.map +1 -1
  47. package/dist/components/ColorMode/ColorModeProvider.d.ts +39 -0
  48. package/dist/components/ColorMode/ColorModeProvider.d.ts.map +1 -0
  49. package/dist/components/ColorMode/ColorModeProvider.js +39 -0
  50. package/dist/components/ColorMode/ColorModeProvider.js.map +1 -0
  51. package/dist/components/ColorMode/ColorModeProvider.mjs +37 -0
  52. package/dist/components/ColorMode/ColorModeProvider.mjs.map +1 -0
  53. package/dist/components/ColorMode/ColorModeToggle.d.ts +18 -0
  54. package/dist/components/ColorMode/ColorModeToggle.d.ts.map +1 -0
  55. package/dist/components/ColorMode/ColorModeToggle.js +34 -0
  56. package/dist/components/ColorMode/ColorModeToggle.js.map +1 -0
  57. package/dist/components/ColorMode/ColorModeToggle.mjs +32 -0
  58. package/dist/components/ColorMode/ColorModeToggle.mjs.map +1 -0
  59. package/dist/components/ColorMode/index.d.ts +7 -0
  60. package/dist/components/ColorMode/index.d.ts.map +1 -0
  61. package/dist/components/ColorMode/useColorMode.d.ts +41 -0
  62. package/dist/components/ColorMode/useColorMode.d.ts.map +1 -0
  63. package/dist/components/ColorMode/useColorMode.js +55 -0
  64. package/dist/components/ColorMode/useColorMode.js.map +1 -0
  65. package/dist/components/ColorMode/useColorMode.mjs +52 -0
  66. package/dist/components/ColorMode/useColorMode.mjs.map +1 -0
  67. package/dist/components/CopyableCode/CopyableCode.d.ts.map +1 -1
  68. package/dist/components/CopyableCode/CopyableCode.js +4 -1
  69. package/dist/components/CopyableCode/CopyableCode.js.map +1 -1
  70. package/dist/components/CopyableCode/CopyableCode.mjs +4 -1
  71. package/dist/components/CopyableCode/CopyableCode.mjs.map +1 -1
  72. package/dist/components/DatePicker/RangeDatePicker.d.ts.map +1 -1
  73. package/dist/components/DatePicker/RangeDatePicker.js +9 -6
  74. package/dist/components/DatePicker/RangeDatePicker.js.map +1 -1
  75. package/dist/components/DatePicker/RangeDatePicker.mjs +9 -6
  76. package/dist/components/DatePicker/RangeDatePicker.mjs.map +1 -1
  77. package/dist/components/DatePicker/SingleDatePicker.js +4 -4
  78. package/dist/components/DatePicker/SingleDatePicker.js.map +1 -1
  79. package/dist/components/DatePicker/SingleDatePicker.mjs +4 -4
  80. package/dist/components/DatePicker/SingleDatePicker.mjs.map +1 -1
  81. package/dist/components/ErrorFallback/ErrorFallback.js +1 -1
  82. package/dist/components/ErrorFallback/ErrorFallback.js.map +1 -1
  83. package/dist/components/ErrorFallback/ErrorFallback.mjs +1 -1
  84. package/dist/components/ErrorFallback/ErrorFallback.mjs.map +1 -1
  85. package/dist/components/FileInput/FileInput.js +1 -1
  86. package/dist/components/FileInput/FileInput.js.map +1 -1
  87. package/dist/components/FileInput/FileInput.mjs +1 -1
  88. package/dist/components/FileInput/FileInput.mjs.map +1 -1
  89. package/dist/components/FileItem/FileItem.js +2 -2
  90. package/dist/components/FileItem/FileItem.js.map +1 -1
  91. package/dist/components/FileItem/FileItem.mjs +2 -2
  92. package/dist/components/FileItem/FileItem.mjs.map +1 -1
  93. package/dist/components/FileList/FileList.js +3 -3
  94. package/dist/components/FileList/FileList.js.map +1 -1
  95. package/dist/components/FileList/FileList.mjs +3 -3
  96. package/dist/components/FileList/FileList.mjs.map +1 -1
  97. package/dist/components/FormLabel/FormLabel.js +1 -1
  98. package/dist/components/FormLabel/FormLabel.js.map +1 -1
  99. package/dist/components/FormLabel/FormLabel.mjs +1 -1
  100. package/dist/components/FormLabel/FormLabel.mjs.map +1 -1
  101. package/dist/components/IconButton/IconButton.styles.js +1 -1
  102. package/dist/components/IconButton/IconButton.styles.js.map +1 -1
  103. package/dist/components/IconButton/IconButton.styles.mjs +1 -1
  104. package/dist/components/IconButton/IconButton.styles.mjs.map +1 -1
  105. package/dist/components/InfoSprinkle/InfoSprinkle.js +1 -1
  106. package/dist/components/InfoSprinkle/InfoSprinkle.js.map +1 -1
  107. package/dist/components/InfoSprinkle/InfoSprinkle.mjs +1 -1
  108. package/dist/components/InfoSprinkle/InfoSprinkle.mjs.map +1 -1
  109. package/dist/components/InlineCode/InlineCode.js +1 -1
  110. package/dist/components/InlineCode/InlineCode.js.map +1 -1
  111. package/dist/components/InlineCode/InlineCode.mjs +1 -1
  112. package/dist/components/InlineCode/InlineCode.mjs.map +1 -1
  113. package/dist/components/Input/Input.d.ts.map +1 -1
  114. package/dist/components/Input/Input.js +6 -6
  115. package/dist/components/Input/Input.js.map +1 -1
  116. package/dist/components/Input/Input.mjs +6 -6
  117. package/dist/components/Input/Input.mjs.map +1 -1
  118. package/dist/components/LineGraph/LineGraph.d.ts.map +1 -1
  119. package/dist/components/LineGraph/LineGraph.js +9 -5
  120. package/dist/components/LineGraph/LineGraph.js.map +1 -1
  121. package/dist/components/LineGraph/LineGraph.mjs +9 -5
  122. package/dist/components/LineGraph/LineGraph.mjs.map +1 -1
  123. package/dist/components/Loaders/PageLoader.js +1 -1
  124. package/dist/components/Loaders/PageLoader.js.map +1 -1
  125. package/dist/components/Loaders/PageLoader.mjs +1 -1
  126. package/dist/components/Loaders/PageLoader.mjs.map +1 -1
  127. package/dist/components/Loaders/SectionLoader.js +1 -1
  128. package/dist/components/Loaders/SectionLoader.js.map +1 -1
  129. package/dist/components/Loaders/SectionLoader.mjs +1 -1
  130. package/dist/components/Loaders/SectionLoader.mjs.map +1 -1
  131. package/dist/components/LogicianProvider/LogicianProvider.d.ts +20 -0
  132. package/dist/components/LogicianProvider/LogicianProvider.d.ts.map +1 -1
  133. package/dist/components/LogicianProvider/LogicianProvider.js +9 -2
  134. package/dist/components/LogicianProvider/LogicianProvider.js.map +1 -1
  135. package/dist/components/LogicianProvider/LogicianProvider.mjs +9 -2
  136. package/dist/components/LogicianProvider/LogicianProvider.mjs.map +1 -1
  137. package/dist/components/MDXEditor/MDXEditor.d.ts.map +1 -1
  138. package/dist/components/MDXEditor/MDXEditor.js +14 -16
  139. package/dist/components/MDXEditor/MDXEditor.js.map +1 -1
  140. package/dist/components/MDXEditor/MDXEditor.mjs +14 -16
  141. package/dist/components/MDXEditor/MDXEditor.mjs.map +1 -1
  142. package/dist/components/Markdown/Markdown.module.css.js +1 -1
  143. package/dist/components/Markdown/Markdown.module.css.mjs +1 -1
  144. package/dist/components/MaxLengthIndicator/MaxLengthIndicator.js +1 -1
  145. package/dist/components/MaxLengthIndicator/MaxLengthIndicator.js.map +1 -1
  146. package/dist/components/MaxLengthIndicator/MaxLengthIndicator.mjs +1 -1
  147. package/dist/components/MaxLengthIndicator/MaxLengthIndicator.mjs.map +1 -1
  148. package/dist/components/Menu/MenuItem.d.ts.map +1 -1
  149. package/dist/components/Menu/MenuItem.js +7 -3
  150. package/dist/components/Menu/MenuItem.js.map +1 -1
  151. package/dist/components/Menu/MenuItem.mjs +7 -3
  152. package/dist/components/Menu/MenuItem.mjs.map +1 -1
  153. package/dist/components/Menu/MenuList.d.ts.map +1 -1
  154. package/dist/components/Menu/MenuList.js +7 -1
  155. package/dist/components/Menu/MenuList.js.map +1 -1
  156. package/dist/components/Menu/MenuList.mjs +7 -1
  157. package/dist/components/Menu/MenuList.mjs.map +1 -1
  158. package/dist/components/Modal/ModalFooter/ModalFooter.js +1 -1
  159. package/dist/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  160. package/dist/components/Modal/ModalFooter/ModalFooter.mjs +1 -1
  161. package/dist/components/Modal/ModalFooter/ModalFooter.mjs.map +1 -1
  162. package/dist/components/MonthPicker/MonthPicker.js +1 -1
  163. package/dist/components/MonthPicker/MonthPicker.mjs +1 -1
  164. package/dist/components/Pagination/Pagination.js +1 -1
  165. package/dist/components/Pagination/Pagination.js.map +1 -1
  166. package/dist/components/Pagination/Pagination.mjs +1 -1
  167. package/dist/components/Pagination/Pagination.mjs.map +1 -1
  168. package/dist/components/PinInput/PinInput.js +1 -1
  169. package/dist/components/PinInput/PinInput.js.map +1 -1
  170. package/dist/components/PinInput/PinInput.mjs +1 -1
  171. package/dist/components/PinInput/PinInput.mjs.map +1 -1
  172. package/dist/components/Popover/PopoverArrowTip.js +1 -1
  173. package/dist/components/Popover/PopoverArrowTip.js.map +1 -1
  174. package/dist/components/Popover/PopoverArrowTip.mjs +1 -1
  175. package/dist/components/Popover/PopoverArrowTip.mjs.map +1 -1
  176. package/dist/components/Popover/PopoverContent.js +1 -1
  177. package/dist/components/Popover/PopoverContent.js.map +1 -1
  178. package/dist/components/Popover/PopoverContent.mjs +1 -1
  179. package/dist/components/Popover/PopoverContent.mjs.map +1 -1
  180. package/dist/components/ProgressBar/ProgressBar.js +1 -1
  181. package/dist/components/ProgressBar/ProgressBar.mjs +1 -1
  182. package/dist/components/RadialProgress/RadialProgress.js +4 -4
  183. package/dist/components/RadialProgress/RadialProgress.js.map +1 -1
  184. package/dist/components/RadialProgress/RadialProgress.mjs +4 -4
  185. package/dist/components/RadialProgress/RadialProgress.mjs.map +1 -1
  186. package/dist/components/SeeMoreButton/SeeMoreButton.styles.js +2 -2
  187. package/dist/components/SeeMoreButton/SeeMoreButton.styles.js.map +1 -1
  188. package/dist/components/SeeMoreButton/SeeMoreButton.styles.mjs +2 -2
  189. package/dist/components/SeeMoreButton/SeeMoreButton.styles.mjs.map +1 -1
  190. package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  191. package/dist/components/SegmentedControl/SegmentedControl.js +8 -4
  192. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  193. package/dist/components/SegmentedControl/SegmentedControl.mjs +8 -4
  194. package/dist/components/SegmentedControl/SegmentedControl.mjs.map +1 -1
  195. package/dist/components/SegmentedProgressBar/ProgressSegment.js +1 -1
  196. package/dist/components/SegmentedProgressBar/ProgressSegment.mjs +1 -1
  197. package/dist/components/SegmentedProgressBar/SegmentedProgressBar.js +1 -1
  198. package/dist/components/SegmentedProgressBar/SegmentedProgressBar.mjs +1 -1
  199. package/dist/components/Select/Select.styles.d.ts +18 -4
  200. package/dist/components/Select/Select.styles.d.ts.map +1 -1
  201. package/dist/components/Select/Select.styles.js +11 -10
  202. package/dist/components/Select/Select.styles.js.map +1 -1
  203. package/dist/components/Select/Select.styles.mjs +11 -10
  204. package/dist/components/Select/Select.styles.mjs.map +1 -1
  205. package/dist/components/Slider/SliderFilledTrack/SliderFilledTrack.js +1 -1
  206. package/dist/components/Slider/SliderFilledTrack/SliderFilledTrack.mjs +1 -1
  207. package/dist/components/Slider/SliderThumb/SliderThumb.js +2 -2
  208. package/dist/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  209. package/dist/components/Slider/SliderThumb/SliderThumb.mjs +2 -2
  210. package/dist/components/Slider/SliderThumb/SliderThumb.mjs.map +1 -1
  211. package/dist/components/Slider/SliderTrack/SliderTrack.js +1 -1
  212. package/dist/components/Slider/SliderTrack/SliderTrack.mjs +1 -1
  213. package/dist/components/Spinner/Spinner.js +1 -1
  214. package/dist/components/Spinner/Spinner.mjs +1 -1
  215. package/dist/components/Switch/SwitchControl.js +1 -1
  216. package/dist/components/Switch/SwitchControl.mjs +1 -1
  217. package/dist/components/Table/Table.styles.js +1 -1
  218. package/dist/components/Table/Table.styles.js.map +1 -1
  219. package/dist/components/Table/Table.styles.mjs +1 -1
  220. package/dist/components/Table/Table.styles.mjs.map +1 -1
  221. package/dist/components/Table/TableContainer.js +1 -1
  222. package/dist/components/Table/TableContainer.js.map +1 -1
  223. package/dist/components/Table/TableContainer.mjs +1 -1
  224. package/dist/components/Table/TableContainer.mjs.map +1 -1
  225. package/dist/components/Table/Tbody.js +1 -1
  226. package/dist/components/Table/Tbody.js.map +1 -1
  227. package/dist/components/Table/Tbody.mjs +1 -1
  228. package/dist/components/Table/Tbody.mjs.map +1 -1
  229. package/dist/components/Table/Thead.js +1 -1
  230. package/dist/components/Table/Thead.mjs +1 -1
  231. package/dist/components/Tabs/Tab/Tab.js +1 -1
  232. package/dist/components/Tabs/Tab/Tab.mjs +1 -1
  233. package/dist/components/Tabs/TabList/TabList.js +1 -1
  234. package/dist/components/Tabs/TabList/TabList.js.map +1 -1
  235. package/dist/components/Tabs/TabList/TabList.mjs +1 -1
  236. package/dist/components/Tabs/TabList/TabList.mjs.map +1 -1
  237. package/dist/components/Tag/Tag.styles.d.ts.map +1 -1
  238. package/dist/components/Tag/Tag.styles.js +19 -16
  239. package/dist/components/Tag/Tag.styles.js.map +1 -1
  240. package/dist/components/Tag/Tag.styles.mjs +19 -16
  241. package/dist/components/Tag/Tag.styles.mjs.map +1 -1
  242. package/dist/components/Textarea/Textarea.d.ts.map +1 -1
  243. package/dist/components/Textarea/Textarea.js +7 -7
  244. package/dist/components/Textarea/Textarea.js.map +1 -1
  245. package/dist/components/Textarea/Textarea.mjs +7 -7
  246. package/dist/components/Textarea/Textarea.mjs.map +1 -1
  247. package/dist/components/Typography/H3.js +1 -1
  248. package/dist/components/Typography/H3.js.map +1 -1
  249. package/dist/components/Typography/H3.mjs +1 -1
  250. package/dist/components/Typography/H3.mjs.map +1 -1
  251. package/dist/components/Typography/Subtext.js +1 -1
  252. package/dist/components/Typography/Subtext.js.map +1 -1
  253. package/dist/components/Typography/Subtext.mjs +1 -1
  254. package/dist/components/Typography/Subtext.mjs.map +1 -1
  255. package/dist/components/Typography/Subtitle.js +1 -1
  256. package/dist/components/Typography/Subtitle.js.map +1 -1
  257. package/dist/components/Typography/Subtitle.mjs +1 -1
  258. package/dist/components/Typography/Subtitle.mjs.map +1 -1
  259. package/dist/components/Typography/Text.js +1 -1
  260. package/dist/components/Typography/Text.js.map +1 -1
  261. package/dist/components/Typography/Text.mjs +1 -1
  262. package/dist/components/Typography/Text.mjs.map +1 -1
  263. package/dist/index.d.ts +2 -0
  264. package/dist/index.d.ts.map +1 -1
  265. package/dist/index.js +7 -0
  266. package/dist/index.js.map +1 -1
  267. package/dist/index.mjs +3 -0
  268. package/dist/index.mjs.map +1 -1
  269. package/dist/theme/colors.d.ts +276 -40
  270. package/dist/theme/colors.d.ts.map +1 -1
  271. package/dist/theme/colors.js +201 -40
  272. package/dist/theme/colors.js.map +1 -1
  273. package/dist/theme/colors.mjs +201 -40
  274. package/dist/theme/colors.mjs.map +1 -1
  275. package/dist/theme/global.d.ts.map +1 -1
  276. package/dist/theme/global.js +11 -1
  277. package/dist/theme/global.js.map +1 -1
  278. package/dist/theme/global.mjs +11 -1
  279. package/dist/theme/global.mjs.map +1 -1
  280. package/package.json +2 -1
  281. package/src/components/Avatar/Avatar.tsx +1 -1
  282. package/src/components/Badge/Badge.styles.ts +5 -3
  283. package/src/components/Button/Button.styles.ts +39 -33
  284. package/src/components/Card/Card.styles.ts +2 -2
  285. package/src/components/Card/Card.tsx +3 -3
  286. package/src/components/Checkbox/CheckboxControl.tsx +8 -3
  287. package/src/components/Chip/Chip.styles.ts +14 -11
  288. package/src/components/Code/Code.tsx +5 -5
  289. package/src/components/CodeTabs/CopyButton.tsx +1 -1
  290. package/src/components/Collapsible/CollapsibleRoot.tsx +1 -1
  291. package/src/components/Collapsible/CollapsibleTrigger.tsx +2 -2
  292. package/src/components/ColorMode/ColorModeProvider.tsx +63 -0
  293. package/src/components/ColorMode/ColorModeToggle.tsx +45 -0
  294. package/src/components/ColorMode/index.ts +6 -0
  295. package/src/components/ColorMode/useColorMode.ts +74 -0
  296. package/src/components/CopyableCode/CopyableCode.tsx +3 -1
  297. package/src/components/DatePicker/RangeDatePicker.tsx +9 -6
  298. package/src/components/DatePicker/SingleDatePicker.tsx +4 -4
  299. package/src/components/ErrorFallback/ErrorFallback.tsx +3 -3
  300. package/src/components/FileInput/FileInput.tsx +4 -4
  301. package/src/components/FileItem/FileItem.tsx +5 -5
  302. package/src/components/FileList/FileList.tsx +4 -4
  303. package/src/components/FormLabel/FormLabel.tsx +1 -1
  304. package/src/components/IconButton/IconButton.styles.ts +1 -1
  305. package/src/components/InfoSprinkle/InfoSprinkle.tsx +1 -1
  306. package/src/components/InlineCode/InlineCode.tsx +1 -1
  307. package/src/components/Input/Input.tsx +10 -7
  308. package/src/components/LineGraph/LineGraph.tsx +8 -5
  309. package/src/components/Loaders/PageLoader.tsx +1 -1
  310. package/src/components/Loaders/SectionLoader.tsx +1 -1
  311. package/src/components/LogicianProvider/LogicianProvider.tsx +41 -1
  312. package/src/components/MDXEditor/MDXEditor.css +19 -0
  313. package/src/components/MDXEditor/MDXEditor.tsx +14 -18
  314. package/src/components/Markdown/Markdown.module.css +1 -1
  315. package/src/components/MaxLengthIndicator/MaxLengthIndicator.tsx +1 -1
  316. package/src/components/Menu/MenuItem.tsx +6 -3
  317. package/src/components/Menu/MenuList.tsx +7 -2
  318. package/src/components/Modal/ModalFooter/ModalFooter.tsx +1 -1
  319. package/src/components/MonthPicker/MonthPicker.tsx +1 -1
  320. package/src/components/Pagination/Pagination.tsx +2 -2
  321. package/src/components/PinInput/PinInput.tsx +1 -1
  322. package/src/components/Popover/PopoverArrowTip.tsx +1 -1
  323. package/src/components/Popover/PopoverContent.tsx +1 -1
  324. package/src/components/ProgressBar/ProgressBar.tsx +1 -1
  325. package/src/components/RadialProgress/RadialProgress.stories.tsx +1 -1
  326. package/src/components/RadialProgress/RadialProgress.tsx +7 -7
  327. package/src/components/SeeMoreButton/SeeMoreButton.styles.ts +2 -2
  328. package/src/components/SegmentedControl/SegmentedControl.tsx +7 -4
  329. package/src/components/SegmentedProgressBar/ProgressSegment.tsx +1 -1
  330. package/src/components/SegmentedProgressBar/SegmentedProgressBar.tsx +1 -1
  331. package/src/components/Select/Select.styles.ts +11 -10
  332. package/src/components/Slider/SliderFilledTrack/SliderFilledTrack.tsx +1 -1
  333. package/src/components/Slider/SliderThumb/SliderThumb.tsx +2 -2
  334. package/src/components/Slider/SliderTrack/SliderTrack.tsx +1 -1
  335. package/src/components/Spinner/Spinner.tsx +1 -1
  336. package/src/components/Switch/SwitchControl.tsx +1 -1
  337. package/src/components/Table/Table.styles.ts +1 -1
  338. package/src/components/Table/TableContainer.tsx +1 -1
  339. package/src/components/Table/Tbody.tsx +1 -1
  340. package/src/components/Table/Thead.tsx +1 -1
  341. package/src/components/Tabs/Tab/Tab.tsx +1 -1
  342. package/src/components/Tabs/TabList/TabList.tsx +1 -1
  343. package/src/components/Tag/Tag.styles.ts +19 -16
  344. package/src/components/Textarea/Textarea.tsx +10 -7
  345. package/src/components/Typography/H3.tsx +1 -1
  346. package/src/components/Typography/Subtext.tsx +1 -1
  347. package/src/components/Typography/Subtitle.tsx +1 -1
  348. package/src/components/Typography/Text.tsx +1 -1
  349. package/src/index.ts +2 -0
  350. package/src/theme/Palette.stories.tsx +114 -88
  351. package/src/theme/SemanticTokens.mdx +198 -0
  352. package/src/theme/colors.ts +229 -40
  353. package/src/theme/global.ts +12 -1
@@ -0,0 +1,74 @@
1
+ 'use client';
2
+ import { useCallback } from 'react';
3
+ import { useTheme } from 'next-themes';
4
+
5
+ import type { ColorMode } from './ColorModeProvider';
6
+
7
+ export interface UseColorModeReturn {
8
+ /**
9
+ * The resolved color mode actually being rendered: `'light'` or `'dark'`.
10
+ * If a forced mode is active (e.g. factchat's short-term force-light), this
11
+ * reflects the forced value.
12
+ */
13
+ colorMode: ColorMode;
14
+ /** The raw user preference, including `'system'`. */
15
+ colorModePreference: string | undefined;
16
+ /** Set the preference. Accepts `'light' | 'dark' | 'system'`. */
17
+ setColorMode: (mode: ColorMode | 'system') => void;
18
+ /** Toggle between light and dark based on the currently resolved mode. */
19
+ toggleColorMode: () => void;
20
+ }
21
+
22
+ /**
23
+ * Typed color-mode accessor backed by `next-themes`.
24
+ *
25
+ * Must be called under a {@link ColorModeProvider} (mounted by
26
+ * {@link LogicianProvider}).
27
+ *
28
+ * @example
29
+ * ```tsx
30
+ * const { colorMode, toggleColorMode } = useColorMode();
31
+ * ```
32
+ */
33
+ export function useColorMode(): UseColorModeReturn {
34
+ const { theme, resolvedTheme, forcedTheme, setTheme } = useTheme();
35
+
36
+ // `colorMode` reflects what's actually rendered (a forced mode wins).
37
+ const colorMode = (forcedTheme ?? resolvedTheme ?? 'light') as ColorMode;
38
+
39
+ // Toggle/preference operate on the *user* preference, not the forced
40
+ // override — so a staged `forcedColorMode` rollout doesn't invert the stored
41
+ // value, and the preference is preserved for when the force is removed.
42
+ const resolvedPreference = (resolvedTheme ?? 'light') as ColorMode;
43
+
44
+ const toggleColorMode = useCallback(() => {
45
+ setTheme(resolvedPreference === 'dark' ? 'light' : 'dark');
46
+ }, [resolvedPreference, setTheme]);
47
+
48
+ return {
49
+ colorMode,
50
+ colorModePreference: theme,
51
+ setColorMode: setTheme,
52
+ toggleColorMode,
53
+ };
54
+ }
55
+
56
+ /**
57
+ * Returns one of two values based on the resolved color mode — the Logician
58
+ * equivalent of Chakra v2's `useColorModeValue`.
59
+ *
60
+ * Prefer semantic tokens (`color="fg.default"`) over this hook; reach for it
61
+ * only when a value can't be expressed as a token (e.g. a chart color array).
62
+ *
63
+ * @example
64
+ * ```tsx
65
+ * const stroke = useColorModeValue('#1751D0', '#4A79DC');
66
+ * ```
67
+ */
68
+ export function useColorModeValue<TLight, TDark>(
69
+ light: TLight,
70
+ dark: TDark
71
+ ): TLight | TDark {
72
+ const { colorMode } = useColorMode();
73
+ return colorMode === 'dark' ? dark : light;
74
+ }
@@ -33,7 +33,9 @@ export const CopyableCode = ({
33
33
  top={0}
34
34
  bottom={0}
35
35
  w={24}
36
- bg="linear-gradient(to right, transparent, #fff 15%)"
36
+ // Fade matches the Card surface (bg.surface) so it flips with the
37
+ // mode instead of fading to white on dark.
38
+ bg="linear-gradient(to right, transparent, var(--chakra-colors-bg-surface) 15%)"
37
39
  pointerEvents="none"
38
40
  />
39
41
  </Card>
@@ -39,7 +39,7 @@ export const RangeDatePicker = ({
39
39
  propsConfigs={{
40
40
  triggerBtnProps: {
41
41
  fontWeight: 'regular',
42
- color: 'gray.1500',
42
+ color: 'fg.default',
43
43
  fontSize: 'md',
44
44
  ...propsConfigs?.triggerBtnProps,
45
45
  },
@@ -58,7 +58,10 @@ export const RangeDatePicker = ({
58
58
  boxShadow: 'lg',
59
59
  border: 'none',
60
60
  borderWidth: 0,
61
- bg: 'gray.0',
61
+ // Flip the popover surface with the mode; gray.0 stayed white and
62
+ // framed the (already dark) calendars in dark mode. bg.surface keeps
63
+ // the same light value and resolves to gray.1400 under .dark.
64
+ bg: 'bg.surface',
62
65
  ...propsConfigs?.popoverCompProps?.popoverContentProps,
63
66
  },
64
67
  ...propsConfigs?.popoverCompProps,
@@ -79,7 +82,7 @@ export const RangeDatePicker = ({
79
82
  borderWidth: '1px',
80
83
  borderColor: 'primary.extralight',
81
84
  borderRadius: 16,
82
- bg: 'white',
85
+ bg: 'bg.surface',
83
86
  ...propsConfigs?.calendarPanelProps?.contentProps,
84
87
  },
85
88
  bodyProps: {
@@ -95,7 +98,7 @@ export const RangeDatePicker = ({
95
98
  },
96
99
  weekdayLabelProps: {
97
100
  mb: 2,
98
- color: 'gray.1000',
101
+ color: 'fg.muted',
99
102
  fontSize: 'sm',
100
103
  fontWeight: 'regular',
101
104
  ...propsConfigs?.weekdayLabelProps,
@@ -104,7 +107,7 @@ export const RangeDatePicker = ({
104
107
  defaultBtnProps: {
105
108
  width: 34,
106
109
  height: 34,
107
- color: 'gray.1500',
110
+ color: 'fg.default',
108
111
  fontWeight: 'regular',
109
112
  _hover: {
110
113
  background: 'primary.extralight',
@@ -163,7 +166,7 @@ export const RangeDatePicker = ({
163
166
  {...(propsConfigs?.triggerBtnProps as ButtonProps)}
164
167
  >
165
168
  <MdOutlineCalendarToday
166
- color="gray.400"
169
+ color="fg.subtle"
167
170
  style={{ marginInlineEnd: 3 }}
168
171
  />
169
172
  {selectedDates && selectedDates.length > 0
@@ -40,7 +40,7 @@ export const SingleDatePicker = ({
40
40
  triggerBtnProps: {
41
41
  justifyContent: 'left',
42
42
  fontWeight: 'regular',
43
- color: 'gray.1500',
43
+ color: 'fg.default',
44
44
  fontSize: 'md',
45
45
  ...propsConfigs?.triggerBtnProps,
46
46
  },
@@ -82,7 +82,7 @@ export const SingleDatePicker = ({
82
82
  },
83
83
  weekdayLabelProps: {
84
84
  mb: 2,
85
- color: 'gray.1000',
85
+ color: 'fg.muted',
86
86
  fontWeight: 'regular',
87
87
  ...propsConfigs?.weekdayLabelProps,
88
88
  },
@@ -90,7 +90,7 @@ export const SingleDatePicker = ({
90
90
  defaultBtnProps: {
91
91
  width: 34,
92
92
  height: 34,
93
- color: 'gray.1500',
93
+ color: 'fg.default',
94
94
  fontSize: 'sm',
95
95
  fontWeight: 'regular',
96
96
  _hover: {
@@ -124,7 +124,7 @@ export const SingleDatePicker = ({
124
124
  {...(propsConfigs?.triggerBtnProps as ButtonProps)}
125
125
  >
126
126
  <MdOutlineCalendarToday
127
- color="gray.400"
127
+ color="fg.subtle"
128
128
  style={{ marginInlineEnd: 3 }}
129
129
  />
130
130
  {selectedDate
@@ -67,7 +67,7 @@ User Agent: ${errorInfo.userAgent}`;
67
67
  p={12}
68
68
  textAlign="center"
69
69
  w="full"
70
- bgColor="white"
70
+ bgColor="bg.surface"
71
71
  boxShadow="2xl"
72
72
  >
73
73
  <VStack gap={6} align="center" w="full" mx="auto">
@@ -83,10 +83,10 @@ User Agent: ${errorInfo.userAgent}`;
83
83
 
84
84
  {/* Error Title */}
85
85
  <VStack gap={3} align="center" w="full">
86
- <H1 color="gray.1200" textStyle="h2" fontWeight="bold">
86
+ <H1 color="fg.default" textStyle="h2" fontWeight="bold">
87
87
  {translate('error_boundary_title')}
88
88
  </H1>
89
- <Subtitle color="gray.1000" textStyle="h5" maxW="md">
89
+ <Subtitle color="fg.muted" textStyle="h5" maxW="md">
90
90
  {translate('error_boundary_subtitle')}
91
91
  </Subtitle>
92
92
  </VStack>
@@ -36,7 +36,7 @@ export const FileInput = forwardRef<HTMLInputElement, FileInputProps>(
36
36
  align="center"
37
37
  justify="center"
38
38
  border="1px dashed"
39
- borderColor="gray.300"
39
+ borderColor="border.default"
40
40
  position="relative"
41
41
  overflow="hidden"
42
42
  borderRadius="md"
@@ -85,14 +85,14 @@ export const FileInput = forwardRef<HTMLInputElement, FileInputProps>(
85
85
  <Flex w="100%" flexDir="column" align="center" justify="center">
86
86
  <Box
87
87
  borderRadius="lg"
88
- bgColor={bgImage ? 'transparent' : 'gray.100'}
88
+ bgColor={bgImage ? 'transparent' : 'bg.muted'}
89
89
  p={3}
90
90
  mb={2}
91
91
  w="fit-content"
92
92
  >
93
- <LuUpload color={bgImage ? 'gray.1200' : 'gray.600'} />
93
+ <LuUpload color={bgImage ? 'fg.default' : 'fg.subtle'} />
94
94
  </Box>
95
- <Text color={bgImage ? 'gray.1200' : 'gray.600'}>
95
+ <Text color={bgImage ? 'fg.default' : 'fg.subtle'}>
96
96
  {fileInputLabel || translate('upload_your_file')}
97
97
  </Text>
98
98
  </Flex>
@@ -44,7 +44,7 @@ export const FileItem = ({
44
44
  justifyContent="space-between"
45
45
  alignItems="center"
46
46
  border="1px solid"
47
- borderColor="gray.200"
47
+ borderColor="border.subtle"
48
48
  w="100%"
49
49
  position="relative"
50
50
  _before={{
@@ -60,7 +60,7 @@ export const FileItem = ({
60
60
  >
61
61
  <Flex w="60%" alignItems="center" gap={2}>
62
62
  <Box minW={5}>
63
- <CiFileOn color={error ? errorColor : 'gray.800'} />
63
+ <CiFileOn color={error ? errorColor : 'fg.muted'} />
64
64
  </Box>
65
65
  <Text truncate color={error ? errorColor : undefined}>
66
66
  {fileName}
@@ -89,7 +89,7 @@ export const FileItem = ({
89
89
  colorPalette="neutral"
90
90
  variant="ghost"
91
91
  >
92
- <IoClose color="gray.600" boxSize="md" />
92
+ <IoClose color="fg.subtle" boxSize="md" />
93
93
  </IconButton>
94
94
  </Flex>
95
95
  )}
@@ -113,7 +113,7 @@ export const FileItem = ({
113
113
  colorPalette="neutral"
114
114
  variant="ghost"
115
115
  >
116
- <LuDownload color="gray.800" />
116
+ <LuDownload color="fg.muted" />
117
117
  </IconButton>
118
118
  </Tooltip>
119
119
  )}
@@ -134,7 +134,7 @@ export const FileItem = ({
134
134
  colorPalette="neutral"
135
135
  variant="ghost"
136
136
  >
137
- <FaRegTrashAlt boxSize="sm" color="gray.800" />
137
+ <FaRegTrashAlt boxSize="sm" color="fg.muted" />
138
138
  </IconButton>
139
139
  </Tooltip>
140
140
  )}
@@ -48,7 +48,7 @@ export const FileList = ({
48
48
  <Box
49
49
  w="100%"
50
50
  border="1px solid"
51
- borderColor="gray.200"
51
+ borderColor="border.subtle"
52
52
  borderRadius="md"
53
53
  overflow="hidden"
54
54
  >
@@ -67,7 +67,7 @@ export const FileList = ({
67
67
  }
68
68
  border={0}
69
69
  borderBottom="1px solid"
70
- borderBottomColor="gray.50"
70
+ borderBottomColor="border.subtle"
71
71
  progress={file.progress}
72
72
  error={file.error}
73
73
  fileSize={file.size}
@@ -91,10 +91,10 @@ export const FileList = ({
91
91
  cursor: 'pointer',
92
92
  }}
93
93
  >
94
- <Subtitle color="gray.600">
94
+ <Subtitle color="fg.subtle">
95
95
  {translate('see_more')} ({visibleCount}/{files.length})
96
96
  </Subtitle>
97
- <IoChevronDownOutline color="gray.600" />
97
+ <IoChevronDownOutline color="fg.subtle" />
98
98
  </Button>
99
99
  )}
100
100
  </Box>
@@ -1,7 +1,7 @@
1
1
  import { Box, Field } from '@chakra-ui/react';
2
2
 
3
3
  export const FormLabel = (props: Field.LabelProps) => (
4
- <Box color="gray.1000">
4
+ <Box color="fg.muted">
5
5
  <Field.Label
6
6
  {...props}
7
7
  style={{
@@ -27,7 +27,7 @@ export const iconButtonColorPaletteStyles: Record<
27
27
  ...buttonColorPaletteStyles.neutral,
28
28
  ghost: {
29
29
  ...buttonColorPaletteStyles.neutral.ghost,
30
- color: 'gray.600',
30
+ color: 'fg.subtle',
31
31
  },
32
32
  },
33
33
  };
@@ -29,7 +29,7 @@ export const InfoSprinkle = ({
29
29
  {...iconButtonProps}
30
30
  >
31
31
  <LuInfo
32
- color={(iconButtonProps?.color as string) ?? 'gray.1000'}
32
+ color={(iconButtonProps?.color as string) ?? 'fg.muted'}
33
33
  boxSize={iconButtonProps?.size ?? 'xs'}
34
34
  />
35
35
  </IconButton>
@@ -6,7 +6,7 @@ import {
6
6
  export const InlineCode = ({ children, ...rest }: ChakraCodeProps) => {
7
7
  return (
8
8
  <ChakraCode
9
- bg="gray.50"
9
+ bg="bg.subtle"
10
10
  color="primary.dark"
11
11
  borderRadius="sm"
12
12
  textStyle="p"
@@ -318,8 +318,11 @@ export const Input = forwardRef(
318
318
  disabled={disabled}
319
319
  readOnly={readOnly}
320
320
  data-invalid={invalid || undefined}
321
- bg="white"
322
- borderColor={invalid ? 'danger.main' : 'gray.400'}
321
+ bg="bg.surface"
322
+ color="fg.default"
323
+ borderColor={
324
+ invalid ? 'danger.main' : { base: 'gray.400', _dark: 'gray.1100' }
325
+ }
323
326
  _hover={{
324
327
  borderColor: invalid ? 'danger.main' : 'primary.lighter',
325
328
  ..._hover,
@@ -340,15 +343,15 @@ export const Input = forwardRef(
340
343
  _readOnly={{
341
344
  opacity: 1,
342
345
  cursor: 'not-allowed',
343
- bg: 'gray.50',
344
- color: 'gray.600',
345
- borderColor: 'gray.200',
346
+ bg: 'bg.subtle',
347
+ color: 'fg.muted',
348
+ borderColor: 'border.subtle',
346
349
  }}
347
350
  _disabled={{
348
351
  opacity: 1,
349
352
  cursor: 'not-allowed',
350
- bg: 'gray.50',
351
- color: 'gray.1000',
353
+ bg: 'bg.subtle',
354
+ color: { base: 'gray.1000', _dark: 'gray.400' },
352
355
  fontWeight: 'semibold',
353
356
  }}
354
357
  {...rest}
@@ -35,15 +35,18 @@ export const LineGraph = <T extends DatumBase>({
35
35
  // No dashes
36
36
  strokeDasharray=""
37
37
  vertical={false}
38
- stroke="gray.400"
38
+ // recharts passes this straight to SVG and never resolves Chakra
39
+ // tokens, so use the CSS var directly — it flips with the .dark class.
40
+ stroke="var(--chakra-colors-border-default)"
39
41
  />
40
42
  <XAxis
41
43
  dataKey="name"
42
44
  // Color of line
43
45
  stroke="transparent"
44
- // Props of text
46
+ // Props of text. CSS var (not a Chakra token) so the axis labels
47
+ // flip with the mode — recharts won't resolve 'gray.1200' itself.
45
48
  tick={{
46
- fill: 'gray.1200',
49
+ fill: 'var(--chakra-colors-fg-muted)',
47
50
  fontSize: `${useToken('fontSizes', 'sm')}`,
48
51
  }}
49
52
  tickMargin={8}
@@ -51,9 +54,9 @@ export const LineGraph = <T extends DatumBase>({
51
54
  <YAxis
52
55
  // Color of line
53
56
  stroke="transparent"
54
- // Props of text
57
+ // CSS var (see XAxis) so the labels flip with the mode.
55
58
  tick={{
56
- fill: 'gray.1200',
59
+ fill: 'var(--chakra-colors-fg-muted)',
57
60
  fontSize: `${useToken('fontSizes', 'sm')}`,
58
61
  }}
59
62
  tickMargin={0}
@@ -16,7 +16,7 @@ export const PageLoader = ({
16
16
  justify="center"
17
17
  opacity={isLoading ? 0.5 : 0}
18
18
  transition="0.3s opacity ease"
19
- bg="white"
19
+ bg="bg.canvas"
20
20
  zIndex={9999}
21
21
  {...rest}
22
22
  >
@@ -15,7 +15,7 @@ export const SectionLoader = ({
15
15
  left={0}
16
16
  align="center"
17
17
  justify="center"
18
- bg="white"
18
+ bg="bg.canvas"
19
19
  transition="0.3 opacity ease"
20
20
  zIndex={9999}
21
21
  {...rest}
@@ -3,6 +3,8 @@ import React, { useEffect, useMemo } from 'react';
3
3
  import type { SystemConfig } from '@chakra-ui/react';
4
4
  import { ChakraProvider, createSystem, defaultConfig } from '@chakra-ui/react';
5
5
 
6
+ import type { ColorMode } from '@/components/ColorMode';
7
+ import { ColorModeProvider } from '@/components/ColorMode';
6
8
  import type { SupportedLanguage } from '@/components/MonthPicker/constants';
7
9
  import { LanguageContext } from '@/hooks/useLanguage';
8
10
 
@@ -85,6 +87,28 @@ export interface LogicianProviderProps {
85
87
  * @default true
86
88
  */
87
89
  loadFonts?: boolean;
90
+
91
+ /**
92
+ * Initial color mode preference when none is stored.
93
+ * @default 'system'
94
+ */
95
+ defaultColorMode?: ColorMode | 'system';
96
+
97
+ /**
98
+ * Pin the app to a single color mode, ignoring stored/system preference.
99
+ * Use for a staged rollout (e.g. force light while a product migrates its
100
+ * components). Leave undefined for normal light/dark/system behavior.
101
+ */
102
+ forcedColorMode?: ColorMode;
103
+
104
+ /**
105
+ * Set to `false` to skip mounting the color-mode provider — e.g. if the host
106
+ * app already mounts its own. Disabling it means `useColorMode`,
107
+ * `useColorModeValue`, and `ColorModeToggle` won't work unless a
108
+ * `ColorModeProvider` is supplied elsewhere.
109
+ * @default true
110
+ */
111
+ enableColorMode?: boolean;
88
112
  children?: React.ReactNode;
89
113
  }
90
114
 
@@ -111,6 +135,9 @@ export const LogicianProvider: React.FC<LogicianProviderProps> = ({
111
135
  config,
112
136
  language = 'en',
113
137
  loadFonts = true,
138
+ defaultColorMode = 'system',
139
+ forcedColorMode,
140
+ enableColorMode = true,
114
141
  children,
115
142
  }) => {
116
143
  useEffect(() => {
@@ -129,11 +156,24 @@ export const LogicianProvider: React.FC<LogicianProviderProps> = ({
129
156
 
130
157
  const languageValue = useMemo(() => ({ language }), [language]);
131
158
 
132
- return (
159
+ const tree = (
133
160
  <LanguageContext.Provider value={languageValue}>
134
161
  <ChakraProvider value={system}>{children}</ChakraProvider>
135
162
  </LanguageContext.Provider>
136
163
  );
164
+
165
+ if (!enableColorMode) {
166
+ return tree;
167
+ }
168
+
169
+ return (
170
+ <ColorModeProvider
171
+ defaultTheme={defaultColorMode}
172
+ forcedTheme={forcedColorMode}
173
+ >
174
+ {tree}
175
+ </ColorModeProvider>
176
+ );
137
177
  };
138
178
 
139
179
  LogicianProvider.displayName = 'LogicianProvider';
@@ -19,3 +19,22 @@
19
19
  [data-radix-select-content] {
20
20
  z-index: 9999 !important;
21
21
  }
22
+
23
+ /*
24
+ * Block-type select dropdown popup. It's portaled outside `.mdxeditor`, so the
25
+ * scoped css prop can't reach it — flip its surface/text/highlight onto the
26
+ * semantic tokens here (they resolve per color mode via the `.dark` class).
27
+ */
28
+ .mdxeditor-select-content {
29
+ background: var(--chakra-colors-bg-surface) !important;
30
+ color: var(--chakra-colors-fg-default);
31
+ }
32
+
33
+ .mdxeditor-select-content [class*='_selectItem_'] {
34
+ color: var(--chakra-colors-fg-default);
35
+ }
36
+
37
+ .mdxeditor-select-content [class*='_selectItem_'][data-highlighted],
38
+ .mdxeditor-select-content [class*='_selectItem_']:hover {
39
+ background: var(--chakra-colors-bg-muted) !important;
40
+ }
@@ -39,16 +39,6 @@ export const MDXEditor = forwardRef<
39
39
  const [error, setError] = useState<string | null>(null);
40
40
 
41
41
  // Resolve theme tokens to actual values
42
- const [gray50, gray100, gray800, primaryLight, primaryLighter, primaryMain] =
43
- useToken('colors', [
44
- 'gray.50',
45
- 'gray.100',
46
- 'gray.800',
47
- 'primary.light',
48
- 'primary.lighter',
49
- 'primary.main',
50
- ]);
51
-
52
42
  const [space1, space2, space4] = useToken('spacing', ['1', '2', '4']);
53
43
  const [radiusSm] = useToken('radii', ['sm']);
54
44
 
@@ -99,7 +89,7 @@ export const MDXEditor = forwardRef<
99
89
  width: '100%',
100
90
  minHeight: '300px',
101
91
  height: '100%',
102
- background: 'white',
92
+ background: 'var(--chakra-colors-bg-surface)',
103
93
  display: 'flex',
104
94
  flexDirection: 'column',
105
95
  },
@@ -108,10 +98,16 @@ export const MDXEditor = forwardRef<
108
98
  gap: space2,
109
99
  padding: space2,
110
100
  borderBottomWidth: '1px',
111
- background: gray50,
101
+ background: 'var(--chakra-colors-bg-subtle)',
112
102
  flexShrink: 0,
113
103
  cursor: 'default',
114
104
  },
105
+ // Block-type select trigger in the toolbar — mdxeditor themes it with
106
+ // its own vars (left white), so flip it onto the semantic surface.
107
+ '& [class*="_selectTrigger_"]': {
108
+ background: 'var(--chakra-colors-bg-surface)',
109
+ color: 'var(--chakra-colors-fg-default)',
110
+ },
115
111
  // Target the root contenteditable wrapper
116
112
  '& [class*="_rootContentEditableWrapper_"]': {
117
113
  flex: 1,
@@ -135,7 +131,7 @@ export const MDXEditor = forwardRef<
135
131
  },
136
132
  '& .content-editable': {
137
133
  padding: space4,
138
- color: 'black',
134
+ color: 'var(--chakra-colors-fg-default)',
139
135
  display: 'flex',
140
136
  flexDirection: 'column',
141
137
  gap: radiusSm,
@@ -221,22 +217,22 @@ export const MDXEditor = forwardRef<
221
217
 
222
218
  '& blockquote': {
223
219
  borderLeftWidth: '4px',
224
- borderLeftColor: primaryLight,
225
- background: primaryLighter,
220
+ borderLeftColor: 'var(--chakra-colors-primary-light)',
221
+ background: 'var(--chakra-colors-primary-lighter)',
226
222
  paddingLeft: space4,
227
223
  paddingBlock: space2,
228
224
  marginBlock: space4,
229
- color: gray800,
225
+ color: 'var(--chakra-colors-fg-muted)',
230
226
  },
231
227
 
232
228
  '& a': {
233
- color: primaryMain,
229
+ color: 'var(--chakra-colors-primary-main)',
234
230
  textDecoration: 'underline',
235
231
  },
236
232
 
237
233
  '& code': {
238
234
  fontFamily: 'mono',
239
- background: gray100,
235
+ background: 'var(--chakra-colors-bg-muted)',
240
236
  paddingInline: space1,
241
237
  borderRadius: radiusSm,
242
238
 
@@ -1,5 +1,5 @@
1
1
  .markdownStyles {
2
- color: black;
2
+ color: var(--chakra-colors-fg-default, #1e2433);
3
3
  display: flex;
4
4
  flex-direction: column;
5
5
  gap: 1em; /* Intended for longer form content like update modals */
@@ -18,7 +18,7 @@ export const MaxLengthIndicator = ({
18
18
  }, [value]);
19
19
 
20
20
  return (
21
- <Subtitle textStyle="subtext" color="gray.600" {...rest}>
21
+ <Subtitle textStyle="subtext" color="fg.subtle" {...rest}>
22
22
  {currentValue}/{maxLength}
23
23
  </Subtitle>
24
24
  );
@@ -17,15 +17,18 @@ export const MenuItem = ({
17
17
  return (
18
18
  <Menu.Item
19
19
  value={value}
20
- color={isDangerVariant ? 'danger.main' : 'gray.1000'}
20
+ // Map item text/hover onto semantic tokens so they flip with the mode.
21
+ // Was gray.1000 / hover gray.1500 / hover bg gray.50 — none flipped, so
22
+ // items rendered dim and hover went near-black on a dark menu.
23
+ color={isDangerVariant ? 'danger.main' : 'fg.muted'}
21
24
  py={2}
22
25
  minW="fit-content"
23
26
  fontWeight="semibold"
24
27
  gap={3}
25
28
  cursor="pointer"
26
29
  _hover={{
27
- color: isDangerVariant ? 'danger.main' : 'gray.1500',
28
- backgroundColor: isDangerVariant ? 'danger.lightest' : 'gray.50',
30
+ color: isDangerVariant ? 'danger.main' : 'fg.default',
31
+ backgroundColor: isDangerVariant ? 'danger.lightest' : 'bg.subtle',
29
32
  }}
30
33
  {...focusRing}
31
34
  {...rest}