@mindlogic-ai/logician-ui 5.0.0-alpha.3 → 5.0.0-alpha.30

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 (610) hide show
  1. package/MIGRATION-5.0.md +40 -1
  2. package/README.md +1 -0
  3. package/USAGE.md +20 -0
  4. package/dist/components/Avatar/Avatar.d.ts +68 -11
  5. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  6. package/dist/components/Avatar/Avatar.js +41 -5
  7. package/dist/components/Avatar/Avatar.js.map +1 -1
  8. package/dist/components/Avatar/Avatar.mjs +40 -5
  9. package/dist/components/Avatar/Avatar.mjs.map +1 -1
  10. package/dist/components/Avatar/index.d.ts +2 -2
  11. package/dist/components/Avatar/index.d.ts.map +1 -1
  12. package/dist/components/Banner/Banner.types.d.ts +24 -1
  13. package/dist/components/Banner/Banner.types.d.ts.map +1 -1
  14. package/dist/components/BottomSheet/BottomSheet.styles.d.ts +2 -2
  15. package/dist/components/Button/Button.d.ts.map +1 -1
  16. package/dist/components/Button/Button.js +31 -3
  17. package/dist/components/Button/Button.js.map +1 -1
  18. package/dist/components/Button/Button.mjs +31 -3
  19. package/dist/components/Button/Button.mjs.map +1 -1
  20. package/dist/components/Button/Button.types.d.ts +38 -1
  21. package/dist/components/Button/Button.types.d.ts.map +1 -1
  22. package/dist/components/Card/Card.types.d.ts +12 -0
  23. package/dist/components/Card/Card.types.d.ts.map +1 -1
  24. package/dist/components/Code/shikiAdapter.d.ts +3 -1
  25. package/dist/components/Code/shikiAdapter.d.ts.map +1 -1
  26. package/dist/components/Code/shikiAdapter.js +29 -8
  27. package/dist/components/Code/shikiAdapter.js.map +1 -1
  28. package/dist/components/Code/shikiAdapter.mjs +29 -8
  29. package/dist/components/Code/shikiAdapter.mjs.map +1 -1
  30. package/dist/components/CodeTabs/CodeTabs.styles.d.ts +6 -5
  31. package/dist/components/CodeTabs/CodeTabs.styles.d.ts.map +1 -1
  32. package/dist/components/CodeTabs/CodeTabs.styles.js +6 -5
  33. package/dist/components/CodeTabs/CodeTabs.styles.js.map +1 -1
  34. package/dist/components/CodeTabs/CodeTabs.styles.mjs +6 -5
  35. package/dist/components/CodeTabs/CodeTabs.styles.mjs.map +1 -1
  36. package/dist/components/ColorMode/ColorModeToggle.d.ts +7 -2
  37. package/dist/components/ColorMode/ColorModeToggle.d.ts.map +1 -1
  38. package/dist/components/ColorMode/ColorModeToggle.js +8 -3
  39. package/dist/components/ColorMode/ColorModeToggle.js.map +1 -1
  40. package/dist/components/ColorMode/ColorModeToggle.mjs +8 -3
  41. package/dist/components/ColorMode/ColorModeToggle.mjs.map +1 -1
  42. package/dist/components/Confetti/Confetti.types.d.ts +5 -1
  43. package/dist/components/Confetti/Confetti.types.d.ts.map +1 -1
  44. package/dist/components/Confetti/confettiColors.d.ts +5 -5
  45. package/dist/components/Confetti/confettiColors.js +5 -5
  46. package/dist/components/Confetti/confettiColors.mjs +5 -5
  47. package/dist/components/DatePicker/DatePicker.types.d.ts +12 -0
  48. package/dist/components/DatePicker/DatePicker.types.d.ts.map +1 -0
  49. package/dist/components/DatePicker/RangeDatePicker.d.ts +2 -1
  50. package/dist/components/DatePicker/RangeDatePicker.d.ts.map +1 -1
  51. package/dist/components/DatePicker/RangeDatePicker.js +4 -2
  52. package/dist/components/DatePicker/RangeDatePicker.js.map +1 -1
  53. package/dist/components/DatePicker/RangeDatePicker.mjs +4 -2
  54. package/dist/components/DatePicker/RangeDatePicker.mjs.map +1 -1
  55. package/dist/components/DatePicker/SingleDatePicker.d.ts +2 -1
  56. package/dist/components/DatePicker/SingleDatePicker.d.ts.map +1 -1
  57. package/dist/components/DatePicker/SingleDatePicker.js +4 -2
  58. package/dist/components/DatePicker/SingleDatePicker.js.map +1 -1
  59. package/dist/components/DatePicker/SingleDatePicker.mjs +4 -2
  60. package/dist/components/DatePicker/SingleDatePicker.mjs.map +1 -1
  61. package/dist/components/DatePicker/index.d.ts +1 -0
  62. package/dist/components/DatePicker/index.d.ts.map +1 -1
  63. package/dist/components/ErrorFallback/ErrorFallback.types.d.ts +6 -0
  64. package/dist/components/ErrorFallback/ErrorFallback.types.d.ts.map +1 -1
  65. package/dist/components/ExpandableText/ExpandableText.d.ts.map +1 -1
  66. package/dist/components/ExpandableText/ExpandableText.js +1 -1
  67. package/dist/components/ExpandableText/ExpandableText.js.map +1 -1
  68. package/dist/components/ExpandableText/ExpandableText.mjs +1 -1
  69. package/dist/components/ExpandableText/ExpandableText.mjs.map +1 -1
  70. package/dist/components/Form/FormModalFooter/FormModalFooter.d.ts +1 -1
  71. package/dist/components/Form/FormModalFooter/FormModalFooter.d.ts.map +1 -1
  72. package/dist/components/Form/FormModalFooter/FormModalFooter.js +2 -2
  73. package/dist/components/Form/FormModalFooter/FormModalFooter.js.map +1 -1
  74. package/dist/components/Form/FormModalFooter/FormModalFooter.mjs +2 -2
  75. package/dist/components/Form/FormModalFooter/FormModalFooter.mjs.map +1 -1
  76. package/dist/components/Form/FormModalFooter/FormModalFooter.types.d.ts +11 -1
  77. package/dist/components/Form/FormModalFooter/FormModalFooter.types.d.ts.map +1 -1
  78. package/dist/components/Form/FormSection/CollapsibleFormSection.js +1 -0
  79. package/dist/components/Form/FormSection/CollapsibleFormSection.js.map +1 -1
  80. package/dist/components/Form/FormSection/CollapsibleFormSection.mjs +1 -0
  81. package/dist/components/Form/FormSection/CollapsibleFormSection.mjs.map +1 -1
  82. package/dist/components/Input/Input.d.ts.map +1 -1
  83. package/dist/components/Input/Input.js +4 -0
  84. package/dist/components/Input/Input.js.map +1 -1
  85. package/dist/components/Input/Input.mjs +4 -0
  86. package/dist/components/Input/Input.mjs.map +1 -1
  87. package/dist/components/LineGraph/LineGraph.d.ts.map +1 -1
  88. package/dist/components/LineGraph/LineGraph.js +4 -5
  89. package/dist/components/LineGraph/LineGraph.js.map +1 -1
  90. package/dist/components/LineGraph/LineGraph.mjs +5 -6
  91. package/dist/components/LineGraph/LineGraph.mjs.map +1 -1
  92. package/dist/components/LineGraph/LineGraph.types.d.ts +12 -2
  93. package/dist/components/LineGraph/LineGraph.types.d.ts.map +1 -1
  94. package/dist/components/LineGraph/seriesColors.d.ts +12 -8
  95. package/dist/components/LineGraph/seriesColors.d.ts.map +1 -1
  96. package/dist/components/LineGraph/seriesColors.js +8 -7
  97. package/dist/components/LineGraph/seriesColors.js.map +1 -1
  98. package/dist/components/LineGraph/seriesColors.mjs +8 -7
  99. package/dist/components/LineGraph/seriesColors.mjs.map +1 -1
  100. package/dist/components/Masonry/Masonry.types.d.ts +8 -3
  101. package/dist/components/Masonry/Masonry.types.d.ts.map +1 -1
  102. package/dist/components/Menu/MenuItem.types.d.ts +8 -0
  103. package/dist/components/Menu/MenuItem.types.d.ts.map +1 -1
  104. package/dist/components/Modal/ModalCloseButton.d.ts +1 -1
  105. package/dist/components/Modal/ModalCloseButton.js +1 -1
  106. package/dist/components/Modal/ModalCloseButton.mjs +1 -1
  107. package/dist/components/MonthPicker/MonthPicker.d.ts.map +1 -1
  108. package/dist/components/MonthPicker/MonthPicker.js +3 -2
  109. package/dist/components/MonthPicker/MonthPicker.js.map +1 -1
  110. package/dist/components/MonthPicker/MonthPicker.mjs +3 -2
  111. package/dist/components/MonthPicker/MonthPicker.mjs.map +1 -1
  112. package/dist/components/MonthPicker/MonthPicker.types.d.ts +7 -1
  113. package/dist/components/MonthPicker/MonthPicker.types.d.ts.map +1 -1
  114. package/dist/components/NavList/NavList.d.ts +35 -0
  115. package/dist/components/NavList/NavList.d.ts.map +1 -0
  116. package/dist/components/NavList/NavList.js +113 -0
  117. package/dist/components/NavList/NavList.js.map +1 -0
  118. package/dist/components/NavList/NavList.mjs +111 -0
  119. package/dist/components/NavList/NavList.mjs.map +1 -0
  120. package/dist/components/NavList/NavList.styles.d.ts +90 -0
  121. package/dist/components/NavList/NavList.styles.d.ts.map +1 -0
  122. package/dist/components/NavList/NavList.styles.js +104 -0
  123. package/dist/components/NavList/NavList.styles.js.map +1 -0
  124. package/dist/components/NavList/NavList.styles.mjs +97 -0
  125. package/dist/components/NavList/NavList.styles.mjs.map +1 -0
  126. package/dist/components/NavList/NavList.translations.json.js +19 -0
  127. package/dist/components/NavList/NavList.translations.json.js.map +1 -0
  128. package/dist/components/NavList/NavList.translations.json.mjs +14 -0
  129. package/dist/components/NavList/NavList.translations.json.mjs.map +1 -0
  130. package/dist/components/NavList/NavList.types.d.ts +140 -0
  131. package/dist/components/NavList/NavList.types.d.ts.map +1 -0
  132. package/dist/components/NavList/NavListContext.d.ts +30 -0
  133. package/dist/components/NavList/NavListContext.d.ts.map +1 -0
  134. package/dist/components/NavList/NavListContext.js +16 -0
  135. package/dist/components/NavList/NavListContext.js.map +1 -0
  136. package/dist/components/NavList/NavListContext.mjs +13 -0
  137. package/dist/components/NavList/NavListContext.mjs.map +1 -0
  138. package/dist/components/NavList/NavListGroup.d.ts +31 -0
  139. package/dist/components/NavList/NavListGroup.d.ts.map +1 -0
  140. package/dist/components/NavList/NavListGroup.js +115 -0
  141. package/dist/components/NavList/NavListGroup.js.map +1 -0
  142. package/dist/components/NavList/NavListGroup.mjs +113 -0
  143. package/dist/components/NavList/NavListGroup.mjs.map +1 -0
  144. package/dist/components/NavList/NavListItem.d.ts +16 -0
  145. package/dist/components/NavList/NavListItem.d.ts.map +1 -0
  146. package/dist/components/NavList/NavListItem.js +284 -0
  147. package/dist/components/NavList/NavListItem.js.map +1 -0
  148. package/dist/components/NavList/NavListItem.mjs +282 -0
  149. package/dist/components/NavList/NavListItem.mjs.map +1 -0
  150. package/dist/components/NavList/NavListSkeleton.d.ts +17 -0
  151. package/dist/components/NavList/NavListSkeleton.d.ts.map +1 -0
  152. package/dist/components/NavList/NavListSkeleton.js +33 -0
  153. package/dist/components/NavList/NavListSkeleton.js.map +1 -0
  154. package/dist/components/NavList/NavListSkeleton.mjs +31 -0
  155. package/dist/components/NavList/NavListSkeleton.mjs.map +1 -0
  156. package/dist/components/NavList/index.d.ts +7 -0
  157. package/dist/components/NavList/index.d.ts.map +1 -0
  158. package/dist/components/Pagination/Pagination.d.ts +11 -10
  159. package/dist/components/Pagination/Pagination.d.ts.map +1 -1
  160. package/dist/components/Pagination/Pagination.js +11 -10
  161. package/dist/components/Pagination/Pagination.js.map +1 -1
  162. package/dist/components/Pagination/Pagination.mjs +11 -10
  163. package/dist/components/Pagination/Pagination.mjs.map +1 -1
  164. package/dist/components/ProgressBar/ProgressBar.types.d.ts +9 -0
  165. package/dist/components/ProgressBar/ProgressBar.types.d.ts.map +1 -1
  166. package/dist/components/RadialProgress/RadialProgress.types.d.ts +21 -1
  167. package/dist/components/RadialProgress/RadialProgress.types.d.ts.map +1 -1
  168. package/dist/components/SeeMoreButton/SeeMoreButton.types.d.ts +8 -0
  169. package/dist/components/SeeMoreButton/SeeMoreButton.types.d.ts.map +1 -1
  170. package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  171. package/dist/components/SegmentedControl/SegmentedControl.js +34 -33
  172. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  173. package/dist/components/SegmentedControl/SegmentedControl.mjs +35 -34
  174. package/dist/components/SegmentedControl/SegmentedControl.mjs.map +1 -1
  175. package/dist/components/SegmentedControl/SegmentedControl.styles.d.ts +24 -0
  176. package/dist/components/SegmentedControl/SegmentedControl.styles.d.ts.map +1 -1
  177. package/dist/components/SegmentedControl/SegmentedControl.styles.js +30 -0
  178. package/dist/components/SegmentedControl/SegmentedControl.styles.js.map +1 -1
  179. package/dist/components/SegmentedControl/SegmentedControl.styles.mjs +29 -1
  180. package/dist/components/SegmentedControl/SegmentedControl.styles.mjs.map +1 -1
  181. package/dist/components/SegmentedProgressBar/SegmentedProgressBar.types.d.ts +2 -0
  182. package/dist/components/SegmentedProgressBar/SegmentedProgressBar.types.d.ts.map +1 -1
  183. package/dist/components/Select/Combobox.d.ts +1 -1
  184. package/dist/components/Select/Combobox.d.ts.map +1 -1
  185. package/dist/components/Select/Combobox.js +9 -2
  186. package/dist/components/Select/Combobox.js.map +1 -1
  187. package/dist/components/Select/Combobox.mjs +10 -3
  188. package/dist/components/Select/Combobox.mjs.map +1 -1
  189. package/dist/components/Select/Select.d.ts +1 -1
  190. package/dist/components/Select/Select.d.ts.map +1 -1
  191. package/dist/components/Select/Select.js +14 -2
  192. package/dist/components/Select/Select.js.map +1 -1
  193. package/dist/components/Select/Select.mjs +15 -3
  194. package/dist/components/Select/Select.mjs.map +1 -1
  195. package/dist/components/Select/Select.styles.d.ts +97 -1
  196. package/dist/components/Select/Select.styles.d.ts.map +1 -1
  197. package/dist/components/Select/Select.styles.js +83 -0
  198. package/dist/components/Select/Select.styles.js.map +1 -1
  199. package/dist/components/Select/Select.styles.mjs +82 -1
  200. package/dist/components/Select/Select.styles.mjs.map +1 -1
  201. package/dist/components/Switch/SwitchControl.d.ts.map +1 -1
  202. package/dist/components/Switch/SwitchControl.js +26 -11
  203. package/dist/components/Switch/SwitchControl.js.map +1 -1
  204. package/dist/components/Switch/SwitchControl.mjs +27 -12
  205. package/dist/components/Switch/SwitchControl.mjs.map +1 -1
  206. package/dist/components/Tabs/Tab/Tab.styles.d.ts +1 -1
  207. package/dist/components/Tabs/Tab/Tab.styles.js +1 -1
  208. package/dist/components/Tabs/Tab/Tab.styles.mjs +1 -1
  209. package/dist/components/Tag/Tag.d.ts.map +1 -1
  210. package/dist/components/Tag/Tag.js +14 -2
  211. package/dist/components/Tag/Tag.js.map +1 -1
  212. package/dist/components/Tag/Tag.mjs +15 -3
  213. package/dist/components/Tag/Tag.mjs.map +1 -1
  214. package/dist/components/Tag/Tag.styles.d.ts +20 -2
  215. package/dist/components/Tag/Tag.styles.d.ts.map +1 -1
  216. package/dist/components/Tag/Tag.styles.js +81 -0
  217. package/dist/components/Tag/Tag.styles.js.map +1 -1
  218. package/dist/components/Tag/Tag.styles.mjs +81 -1
  219. package/dist/components/Tag/Tag.styles.mjs.map +1 -1
  220. package/dist/components/Tag/Tag.types.d.ts +15 -2
  221. package/dist/components/Tag/Tag.types.d.ts.map +1 -1
  222. package/dist/components/Tag/index.d.ts +2 -2
  223. package/dist/components/Tag/index.d.ts.map +1 -1
  224. package/dist/components/Textarea/Textarea.d.ts.map +1 -1
  225. package/dist/components/Textarea/Textarea.js +4 -0
  226. package/dist/components/Textarea/Textarea.js.map +1 -1
  227. package/dist/components/Textarea/Textarea.mjs +4 -0
  228. package/dist/components/Textarea/Textarea.mjs.map +1 -1
  229. package/dist/components/Toast/Toast.d.ts.map +1 -1
  230. package/dist/components/Toast/Toast.js +5 -1
  231. package/dist/components/Toast/Toast.js.map +1 -1
  232. package/dist/components/Toast/Toast.mjs +5 -1
  233. package/dist/components/Toast/Toast.mjs.map +1 -1
  234. package/dist/components/Toast/Toast.styles.d.ts +13 -2
  235. package/dist/components/Toast/Toast.styles.d.ts.map +1 -1
  236. package/dist/components/Toast/Toast.styles.js +19 -7
  237. package/dist/components/Toast/Toast.styles.js.map +1 -1
  238. package/dist/components/Toast/Toast.styles.mjs +19 -7
  239. package/dist/components/Toast/Toast.styles.mjs.map +1 -1
  240. package/dist/components/Typography/Caption.d.ts.map +1 -1
  241. package/dist/components/Typography/Caption.js +1 -1
  242. package/dist/components/Typography/Caption.js.map +1 -1
  243. package/dist/components/Typography/Caption.mjs +1 -1
  244. package/dist/components/Typography/Caption.mjs.map +1 -1
  245. package/dist/components/Typography/H1.d.ts.map +1 -1
  246. package/dist/components/Typography/H1.js +1 -1
  247. package/dist/components/Typography/H1.js.map +1 -1
  248. package/dist/components/Typography/H1.mjs +1 -1
  249. package/dist/components/Typography/H1.mjs.map +1 -1
  250. package/dist/components/Typography/H2.d.ts.map +1 -1
  251. package/dist/components/Typography/H2.js +1 -1
  252. package/dist/components/Typography/H2.js.map +1 -1
  253. package/dist/components/Typography/H2.mjs +1 -1
  254. package/dist/components/Typography/H2.mjs.map +1 -1
  255. package/dist/components/Typography/H3.d.ts.map +1 -1
  256. package/dist/components/Typography/H3.js +1 -1
  257. package/dist/components/Typography/H3.js.map +1 -1
  258. package/dist/components/Typography/H3.mjs +1 -1
  259. package/dist/components/Typography/H3.mjs.map +1 -1
  260. package/dist/components/Typography/H4.d.ts.map +1 -1
  261. package/dist/components/Typography/H4.js +1 -1
  262. package/dist/components/Typography/H4.js.map +1 -1
  263. package/dist/components/Typography/H4.mjs +1 -1
  264. package/dist/components/Typography/H4.mjs.map +1 -1
  265. package/dist/components/Typography/H5.d.ts.map +1 -1
  266. package/dist/components/Typography/H5.js +1 -1
  267. package/dist/components/Typography/H5.js.map +1 -1
  268. package/dist/components/Typography/H5.mjs +1 -1
  269. package/dist/components/Typography/H5.mjs.map +1 -1
  270. package/dist/components/Typography/Link.d.ts.map +1 -1
  271. package/dist/components/Typography/Link.js +1 -1
  272. package/dist/components/Typography/Link.js.map +1 -1
  273. package/dist/components/Typography/Link.mjs +1 -1
  274. package/dist/components/Typography/Link.mjs.map +1 -1
  275. package/dist/components/Typography/Overline.d.ts.map +1 -1
  276. package/dist/components/Typography/Overline.js +1 -1
  277. package/dist/components/Typography/Overline.js.map +1 -1
  278. package/dist/components/Typography/Overline.mjs +1 -1
  279. package/dist/components/Typography/Overline.mjs.map +1 -1
  280. package/dist/components/Typography/Subtext.d.ts.map +1 -1
  281. package/dist/components/Typography/Subtext.js +1 -1
  282. package/dist/components/Typography/Subtext.js.map +1 -1
  283. package/dist/components/Typography/Subtext.mjs +1 -1
  284. package/dist/components/Typography/Subtext.mjs.map +1 -1
  285. package/dist/components/Typography/Subtitle.d.ts.map +1 -1
  286. package/dist/components/Typography/Subtitle.js +1 -1
  287. package/dist/components/Typography/Subtitle.js.map +1 -1
  288. package/dist/components/Typography/Subtitle.mjs +1 -1
  289. package/dist/components/Typography/Subtitle.mjs.map +1 -1
  290. package/dist/components/Typography/Text.d.ts.map +1 -1
  291. package/dist/components/Typography/Text.js +1 -1
  292. package/dist/components/Typography/Text.js.map +1 -1
  293. package/dist/components/Typography/Text.mjs +1 -1
  294. package/dist/components/Typography/Text.mjs.map +1 -1
  295. package/dist/hooks/useLanguage.d.ts +5 -0
  296. package/dist/hooks/useLanguage.d.ts.map +1 -1
  297. package/dist/hooks/useLanguage.js +7 -3
  298. package/dist/hooks/useLanguage.js.map +1 -1
  299. package/dist/hooks/useLanguage.mjs +7 -4
  300. package/dist/hooks/useLanguage.mjs.map +1 -1
  301. package/dist/hooks/useTranslate.d.ts.map +1 -1
  302. package/dist/hooks/useTranslate.js +8 -5
  303. package/dist/hooks/useTranslate.js.map +1 -1
  304. package/dist/hooks/useTranslate.mjs +8 -5
  305. package/dist/hooks/useTranslate.mjs.map +1 -1
  306. package/dist/index.d.ts +3 -1
  307. package/dist/index.d.ts.map +1 -1
  308. package/dist/index.js +22 -0
  309. package/dist/index.js.map +1 -1
  310. package/dist/index.mjs +9 -3
  311. package/dist/index.mjs.map +1 -1
  312. package/dist/theme/colors.d.ts +2 -2
  313. package/dist/theme/colors.d.ts.map +1 -1
  314. package/dist/theme/colors.js +63 -19
  315. package/dist/theme/colors.js.map +1 -1
  316. package/dist/theme/colors.mjs +64 -20
  317. package/dist/theme/colors.mjs.map +1 -1
  318. package/dist/theme/controlSizes.d.ts +91 -0
  319. package/dist/theme/controlSizes.d.ts.map +1 -0
  320. package/dist/theme/controlSizes.js +143 -0
  321. package/dist/theme/controlSizes.js.map +1 -0
  322. package/dist/theme/controlSizes.mjs +135 -0
  323. package/dist/theme/controlSizes.mjs.map +1 -0
  324. package/dist/theme/global.d.ts.map +1 -1
  325. package/dist/theme/global.js +19 -1
  326. package/dist/theme/global.js.map +1 -1
  327. package/dist/theme/global.mjs +19 -1
  328. package/dist/theme/global.mjs.map +1 -1
  329. package/dist/theme/index.d.ts.map +1 -1
  330. package/dist/theme/index.js +14 -43
  331. package/dist/theme/index.js.map +1 -1
  332. package/dist/theme/index.mjs +14 -43
  333. package/dist/theme/index.mjs.map +1 -1
  334. package/dist/theme/palette.generated.d.ts +295 -162
  335. package/dist/theme/palette.generated.d.ts.map +1 -1
  336. package/dist/theme/palette.generated.js +296 -162
  337. package/dist/theme/palette.generated.js.map +1 -1
  338. package/dist/theme/palette.generated.mjs +296 -163
  339. package/dist/theme/palette.generated.mjs.map +1 -1
  340. package/dist/theme/paletteSwatches.d.ts +20 -0
  341. package/dist/theme/paletteSwatches.d.ts.map +1 -1
  342. package/dist/theme/recipes/avatar.d.ts +30 -0
  343. package/dist/theme/recipes/avatar.d.ts.map +1 -0
  344. package/dist/theme/recipes/avatar.js +96 -0
  345. package/dist/theme/recipes/avatar.js.map +1 -0
  346. package/dist/theme/recipes/avatar.mjs +94 -0
  347. package/dist/theme/recipes/avatar.mjs.map +1 -0
  348. package/dist/theme/recipes/controls.d.ts +94 -0
  349. package/dist/theme/recipes/controls.d.ts.map +1 -0
  350. package/dist/theme/recipes/controls.js +154 -0
  351. package/dist/theme/recipes/controls.js.map +1 -0
  352. package/dist/theme/recipes/controls.mjs +144 -0
  353. package/dist/theme/recipes/controls.mjs.map +1 -0
  354. package/dist/translations/Defaults.translations.json.js +19 -1
  355. package/dist/translations/Defaults.translations.json.js.map +1 -1
  356. package/dist/translations/Defaults.translations.json.mjs +18 -2
  357. package/dist/translations/Defaults.translations.json.mjs.map +1 -1
  358. package/dist/utils/disabledControl.d.ts +8 -1
  359. package/dist/utils/disabledControl.d.ts.map +1 -1
  360. package/dist/utils/disabledControl.js +8 -1
  361. package/dist/utils/disabledControl.js.map +1 -1
  362. package/dist/utils/disabledControl.mjs +8 -1
  363. package/dist/utils/disabledControl.mjs.map +1 -1
  364. package/dist/utils/focusRing.d.ts +22 -0
  365. package/dist/utils/focusRing.d.ts.map +1 -1
  366. package/dist/utils/focusRing.js +22 -0
  367. package/dist/utils/focusRing.js.map +1 -1
  368. package/dist/utils/focusRing.mjs +21 -1
  369. package/dist/utils/focusRing.mjs.map +1 -1
  370. package/package.json +2 -1
  371. package/src/components/Accordion/Accordion.stories.tsx +85 -0
  372. package/src/components/Accordion/Accordion.usage.mdx +200 -0
  373. package/src/components/Appear/Appear.usage.mdx +107 -0
  374. package/src/components/Avatar/Avatar.recipe.test.tsx +176 -0
  375. package/src/components/Avatar/Avatar.stories.tsx +199 -24
  376. package/src/components/Avatar/Avatar.tsx +118 -21
  377. package/src/components/Avatar/Avatar.usage.mdx +185 -0
  378. package/src/components/Avatar/index.tsx +8 -1
  379. package/src/components/Banner/Banner.stories.tsx +152 -2
  380. package/src/components/Banner/Banner.types.ts +30 -1
  381. package/src/components/Banner/Banner.usage.mdx +233 -0
  382. package/src/components/BottomSheet/BottomSheet.stories.tsx +168 -1
  383. package/src/components/BottomSheet/BottomSheet.test.tsx +2 -1
  384. package/src/components/BottomSheet/BottomSheet.usage.mdx +216 -0
  385. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +59 -0
  386. package/src/components/Breadcrumb/Breadcrumb.usage.mdx +181 -0
  387. package/src/components/Button/Button.focusableWhenDisabled.test.tsx +218 -0
  388. package/src/components/Button/Button.stories.tsx +332 -3
  389. package/src/components/Button/Button.tsx +46 -3
  390. package/src/components/Button/Button.types.ts +38 -1
  391. package/src/components/Button/Button.usage.mdx +358 -0
  392. package/src/components/Button/Button.variants.test.tsx +13 -1
  393. package/src/components/Card/Card.stories.tsx +106 -0
  394. package/src/components/Card/Card.types.ts +12 -0
  395. package/src/components/Card/Card.usage.mdx +216 -0
  396. package/src/components/Checkbox/Checkbox.stories.tsx +140 -13
  397. package/src/components/Checkbox/Checkbox.usage.mdx +214 -0
  398. package/src/components/Chip/Chip.usage.mdx +78 -0
  399. package/src/components/Code/Code.stories.tsx +60 -0
  400. package/src/components/Code/Code.test.tsx +116 -0
  401. package/src/components/Code/Code.usage.mdx +187 -0
  402. package/src/components/Code/shikiAdapter.ts +38 -9
  403. package/src/components/CodeTabs/CodeTabs.stories.tsx +53 -0
  404. package/src/components/CodeTabs/CodeTabs.styles.ts +6 -5
  405. package/src/components/CodeTabs/CodeTabs.usage.mdx +176 -0
  406. package/src/components/Collapsible/Collapsible.stories.tsx +58 -0
  407. package/src/components/Collapsible/Collapsible.usage.mdx +173 -0
  408. package/src/components/ColorMode/ColorMode.stories.tsx +50 -0
  409. package/src/components/ColorMode/ColorMode.usage.mdx +135 -0
  410. package/src/components/ColorMode/ColorModeToggle.tsx +10 -3
  411. package/src/components/Confetti/Confetti.types.ts +5 -1
  412. package/src/components/Confetti/Confetti.usage.mdx +111 -0
  413. package/src/components/Confetti/confettiColors.ts +5 -5
  414. package/src/components/Container/Container.stories.tsx +32 -0
  415. package/src/components/Container/Container.usage.mdx +130 -0
  416. package/src/components/CopyableCode/CopyableCode.stories.tsx +62 -0
  417. package/src/components/CopyableCode/CopyableCode.usage.mdx +168 -0
  418. package/src/components/CountBadge/CountBadge.stories.tsx +69 -0
  419. package/src/components/CountBadge/CountBadge.usage.mdx +215 -0
  420. package/src/components/CountUp/CountUp.usage.mdx +107 -0
  421. package/src/components/DatePicker/DatePicker.types.ts +12 -0
  422. package/src/components/DatePicker/DatePicker.usage.mdx +177 -0
  423. package/src/components/DatePicker/RangeDatePicker.stories.tsx +87 -3
  424. package/src/components/DatePicker/RangeDatePicker.tsx +7 -1
  425. package/src/components/DatePicker/SingleDatePicker.tsx +7 -1
  426. package/src/components/DatePicker/index.ts +1 -0
  427. package/src/components/ErrorFallback/ErrorFallback.types.ts +6 -0
  428. package/src/components/ErrorFallback/ErrorFallback.usage.mdx +127 -0
  429. package/src/components/ExpandableText/ExpandableText.stories.tsx +55 -0
  430. package/src/components/ExpandableText/ExpandableText.tsx +0 -1
  431. package/src/components/ExpandableText/ExpandableText.usage.mdx +178 -0
  432. package/src/components/FileInput/FileInput.stories.tsx +38 -1
  433. package/src/components/FileInput/FileInput.usage.mdx +178 -0
  434. package/src/components/FileItem/FileItem.stories.tsx +71 -0
  435. package/src/components/FileItem/FileItem.usage.mdx +180 -0
  436. package/src/components/FileList/FileList.stories.tsx +25 -0
  437. package/src/components/FileList/FileList.usage.mdx +165 -0
  438. package/src/components/FlyTo/FlyTo.usage.mdx +99 -0
  439. package/src/components/Form/Form.stories.tsx +149 -0
  440. package/src/components/Form/Form.usage.mdx +203 -0
  441. package/src/components/Form/FormModalFooter/FormModalFooter.stories.tsx +1 -1
  442. package/src/components/Form/FormModalFooter/FormModalFooter.test.tsx +19 -1
  443. package/src/components/Form/FormModalFooter/FormModalFooter.tsx +2 -0
  444. package/src/components/Form/FormModalFooter/FormModalFooter.types.ts +11 -1
  445. package/src/components/FormControl/FormControl.stories.tsx +35 -0
  446. package/src/components/FormControl/FormControl.usage.mdx +128 -0
  447. package/src/components/FormIntegration/FormIntegration.usage.mdx +158 -0
  448. package/src/components/FormLabel/FormLabel.stories.tsx +71 -0
  449. package/src/components/FormLabel/FormLabel.usage.mdx +125 -0
  450. package/src/components/Icon/Icon.stories.tsx +61 -1
  451. package/src/components/Icon/Icon.usage.mdx +158 -0
  452. package/src/components/IconButton/IconButton.stories.tsx +213 -5
  453. package/src/components/IconButton/IconButton.usage.mdx +275 -0
  454. package/src/components/InfoSprinkle/InfoSprinkle.stories.tsx +77 -1
  455. package/src/components/InfoSprinkle/InfoSprinkle.usage.mdx +189 -0
  456. package/src/components/InlineCode/InlineCode.stories.tsx +75 -0
  457. package/src/components/InlineCode/InlineCode.usage.mdx +142 -0
  458. package/src/components/Input/Input.stories.tsx +180 -0
  459. package/src/components/Input/Input.tsx +4 -0
  460. package/src/components/Input/Input.usage.mdx +278 -0
  461. package/src/components/LineGraph/LineGraph.stories.tsx +112 -0
  462. package/src/components/LineGraph/LineGraph.tsx +4 -5
  463. package/src/components/LineGraph/LineGraph.types.ts +12 -2
  464. package/src/components/LineGraph/LineGraph.usage.mdx +186 -0
  465. package/src/components/LineGraph/seriesColors.test.ts +10 -9
  466. package/src/components/LineGraph/seriesColors.ts +18 -16
  467. package/src/components/Loaders/Loaders.stories.tsx +93 -0
  468. package/src/components/Loaders/Loaders.usage.mdx +180 -0
  469. package/src/components/LogicianProvider/LogicianProvider.usage.mdx +98 -0
  470. package/src/components/Markdown/Markdown.stories.tsx +53 -0
  471. package/src/components/Markdown/Markdown.usage.mdx +182 -0
  472. package/src/components/Masonry/Masonry.stories.tsx +63 -1
  473. package/src/components/Masonry/Masonry.types.ts +8 -3
  474. package/src/components/Masonry/Masonry.usage.mdx +142 -0
  475. package/src/components/MaxLengthIndicator/MaxLengthIndicator.stories.tsx +57 -0
  476. package/src/components/MaxLengthIndicator/MaxLengthIndicator.usage.mdx +125 -0
  477. package/src/components/Menu/Menu.stories.tsx +146 -2
  478. package/src/components/Menu/Menu.usage.mdx +238 -0
  479. package/src/components/Menu/MenuItem.types.ts +8 -0
  480. package/src/components/Modal/Modal.stories.tsx +177 -1
  481. package/src/components/Modal/Modal.usage.mdx +262 -0
  482. package/src/components/Modal/ModalCloseButton.tsx +1 -1
  483. package/src/components/MonthPicker/MonthPicker.stories.tsx +30 -0
  484. package/src/components/MonthPicker/MonthPicker.tsx +7 -1
  485. package/src/components/MonthPicker/MonthPicker.types.ts +8 -1
  486. package/src/components/MonthPicker/MonthPicker.usage.mdx +191 -0
  487. package/src/components/NavList/NavList.stories.tsx +927 -0
  488. package/src/components/NavList/NavList.styles.ts +114 -0
  489. package/src/components/NavList/NavList.test.tsx +1306 -0
  490. package/src/components/NavList/NavList.translations.json +9 -0
  491. package/src/components/NavList/NavList.tsx +160 -0
  492. package/src/components/NavList/NavList.types.ts +155 -0
  493. package/src/components/NavList/NavList.usage.mdx +545 -0
  494. package/src/components/NavList/NavListContext.ts +25 -0
  495. package/src/components/NavList/NavListGroup.tsx +243 -0
  496. package/src/components/NavList/NavListItem.tsx +543 -0
  497. package/src/components/NavList/NavListSkeleton.tsx +57 -0
  498. package/src/components/NavList/index.ts +15 -0
  499. package/src/components/Pagination/Pagination.stories.tsx +90 -1
  500. package/src/components/Pagination/Pagination.tsx +11 -10
  501. package/src/components/Pagination/Pagination.usage.mdx +186 -0
  502. package/src/components/PasswordInput/PasswordInput.stories.tsx +51 -0
  503. package/src/components/PasswordInput/PasswordInput.usage.mdx +193 -0
  504. package/src/components/PinInput/PinInput.stories.tsx +91 -0
  505. package/src/components/PinInput/PinInput.usage.mdx +194 -0
  506. package/src/components/Popover/Popover.stories.tsx +104 -1
  507. package/src/components/Popover/Popover.usage.mdx +197 -0
  508. package/src/components/ProgressBar/ProgressBar.stories.tsx +92 -1
  509. package/src/components/ProgressBar/ProgressBar.types.ts +9 -0
  510. package/src/components/ProgressBar/ProgressBar.usage.mdx +210 -0
  511. package/src/components/Pulse/Pulse.usage.mdx +102 -0
  512. package/src/components/RadialProgress/RadialProgress.stories.tsx +74 -1
  513. package/src/components/RadialProgress/RadialProgress.types.ts +21 -1
  514. package/src/components/RadialProgress/RadialProgress.usage.mdx +153 -0
  515. package/src/components/Radio/Radio.stories.tsx +119 -0
  516. package/src/components/Radio/Radio.usage.mdx +187 -0
  517. package/src/components/Reveal/Reveal.usage.mdx +105 -0
  518. package/src/components/ScaledContext/ScaledContext.usage.mdx +111 -0
  519. package/src/components/SeeMoreButton/SeeMoreButton.stories.tsx +146 -2
  520. package/src/components/SeeMoreButton/SeeMoreButton.types.ts +8 -0
  521. package/src/components/SeeMoreButton/SeeMoreButton.usage.mdx +213 -0
  522. package/src/components/SegmentedControl/SegmentedControl.stories.tsx +69 -0
  523. package/src/components/SegmentedControl/SegmentedControl.styles.ts +38 -0
  524. package/src/components/SegmentedControl/SegmentedControl.tsx +43 -37
  525. package/src/components/SegmentedControl/SegmentedControl.usage.mdx +216 -0
  526. package/src/components/SegmentedProgressBar/SegmentedProgressBar.stories.tsx +54 -0
  527. package/src/components/SegmentedProgressBar/SegmentedProgressBar.types.ts +2 -0
  528. package/src/components/SegmentedProgressBar/SegmentedProgressBar.usage.mdx +145 -0
  529. package/src/components/Select/Combobox.tsx +28 -3
  530. package/src/components/Select/Select.clearTrigger.test.tsx +76 -0
  531. package/src/components/Select/Select.stories.tsx +290 -1
  532. package/src/components/Select/Select.styles.ts +89 -0
  533. package/src/components/Select/Select.tsx +28 -2
  534. package/src/components/Select/Select.usage.mdx +341 -0
  535. package/src/components/Shake/Shake.usage.mdx +107 -0
  536. package/src/components/Slider/Slider.stories.tsx +116 -0
  537. package/src/components/Slider/Slider.usage.mdx +179 -0
  538. package/src/components/Spinner/Spinner.stories.tsx +64 -0
  539. package/src/components/Spinner/Spinner.usage.mdx +136 -0
  540. package/src/components/SwapTransition/SwapTransition.usage.mdx +102 -0
  541. package/src/components/Switch/Switch.stories.tsx +139 -6
  542. package/src/components/Switch/Switch.usage.mdx +200 -0
  543. package/src/components/Switch/SwitchControl.tsx +32 -15
  544. package/src/components/Table/Table.stories.tsx +159 -1
  545. package/src/components/Table/Table.usage.mdx +235 -0
  546. package/src/components/Tabs/Tab/Tab.styles.ts +1 -1
  547. package/src/components/Tabs/Tabs.stories.tsx +86 -0
  548. package/src/components/Tabs/Tabs.usage.mdx +263 -0
  549. package/src/components/Tag/Tag.stories.tsx +181 -4
  550. package/src/components/Tag/Tag.styles.ts +117 -2
  551. package/src/components/Tag/Tag.test.tsx +87 -1
  552. package/src/components/Tag/Tag.tsx +22 -1
  553. package/src/components/Tag/Tag.types.ts +16 -2
  554. package/src/components/Tag/Tag.usage.mdx +257 -0
  555. package/src/components/Tag/index.ts +2 -0
  556. package/src/components/Textarea/Textarea.stories.tsx +113 -0
  557. package/src/components/Textarea/Textarea.tsx +4 -0
  558. package/src/components/Textarea/Textarea.usage.mdx +186 -0
  559. package/src/components/Toast/Toast.stories.tsx +185 -3
  560. package/src/components/Toast/Toast.styles.ts +19 -7
  561. package/src/components/Toast/Toast.tsx +8 -1
  562. package/src/components/Toast/Toast.usage.mdx +265 -0
  563. package/src/components/Tooltip/Tooltip.stories.tsx +86 -1
  564. package/src/components/Tooltip/Tooltip.usage.mdx +219 -0
  565. package/src/components/Tree/Tree.stories.tsx +89 -0
  566. package/src/components/Tree/Tree.usage.mdx +207 -0
  567. package/src/components/Typography/Caption.tsx +0 -1
  568. package/src/components/Typography/H1.tsx +0 -1
  569. package/src/components/Typography/H2.tsx +0 -1
  570. package/src/components/Typography/H3.tsx +0 -1
  571. package/src/components/Typography/H4.tsx +0 -1
  572. package/src/components/Typography/H5.tsx +0 -1
  573. package/src/components/Typography/Link.tsx +0 -1
  574. package/src/components/Typography/Overline.tsx +0 -1
  575. package/src/components/Typography/Subtext.tsx +0 -1
  576. package/src/components/Typography/Subtitle.tsx +0 -1
  577. package/src/components/Typography/Text.tsx +0 -1
  578. package/src/components/Typography/Typography.stories.tsx +117 -0
  579. package/src/components/Typography/Typography.usage.mdx +257 -0
  580. package/src/components/Workflow/Workflow.usage.mdx +199 -0
  581. package/src/components/a11y.kwcag.test.tsx +78 -21
  582. package/src/components/claude.md +24 -1
  583. package/src/components/noRawScales.test.ts +5 -1
  584. package/src/foundations/BrandAssets.mdx +637 -0
  585. package/src/foundations/BrandAssets.stories.tsx +680 -0
  586. package/src/foundations/BrandColour.mdx +103 -4
  587. package/src/foundations/BrandColour.stories.tsx +135 -2
  588. package/src/hooks/useLanguage.ts +8 -3
  589. package/src/hooks/useTranslate.test.tsx +46 -0
  590. package/src/hooks/useTranslate.ts +7 -5
  591. package/src/index.ts +19 -1
  592. package/src/theme/BazePalette.stories.tsx +111 -1
  593. package/src/theme/ControlSizes.stories.tsx +586 -0
  594. package/src/theme/Palette.stories.tsx +2 -2
  595. package/src/theme/SemanticTokens.mdx +118 -19
  596. package/src/theme/claude.md +34 -9
  597. package/src/theme/colors.ts +82 -19
  598. package/src/theme/contrast.test.ts +67 -0
  599. package/src/theme/controlSizes.test.ts +153 -0
  600. package/src/theme/controlSizes.ts +162 -0
  601. package/src/theme/global.ts +20 -1
  602. package/src/theme/index.ts +23 -46
  603. package/src/theme/palette.generated.ts +296 -162
  604. package/src/theme/paletteSwatches.test.ts +1 -1
  605. package/src/theme/paletteSwatches.ts +35 -0
  606. package/src/theme/recipes/avatar.ts +92 -0
  607. package/src/theme/recipes/controls.ts +171 -0
  608. package/src/translations/Defaults.translations.json +14 -0
  609. package/src/utils/disabledControl.ts +8 -1
  610. package/src/utils/focusRing.ts +23 -0
@@ -2,6 +2,7 @@
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef } from 'react';
4
4
  import { Button as Button$1 } from '@chakra-ui/react';
5
+ import { useTranslate } from '../../hooks/useTranslate.mjs';
5
6
  import { focusRing } from '../../utils/focusRing.mjs';
6
7
  import { mergeCss } from '../../utils/mergeCss.mjs';
7
8
  import { polymorphic } from '../../types/polymorphic.mjs';
@@ -25,11 +26,18 @@ import { getButtonStyles, buttonTransition } from './Button.styles.mjs';
25
26
  * <Button as="a" href="/docs" target="_blank">문서</Button>
26
27
  * ```
27
28
  */
28
- const ButtonImpl = forwardRef(({ variant: variantProp, isDestructive: isDestructiveProp = false, size, lift, children, _hover: hoverProp, _active: activeProp, _disabled: disabledProp, css: cssProp, ...restWithLegacy }, ref) => {
29
+ const ButtonImpl = forwardRef(({ variant: variantProp, isDestructive: isDestructiveProp = false, size, lift, disabled, focusableWhenDisabled = false, onDisabledClick, onClick, children, _hover: hoverProp, _active: activeProp, _disabled: disabledProp, css: cssProp, ...restWithLegacy }, ref) => {
29
30
  // 4.x callers (untyped JS, `as any`) can still hand us `colorPalette` and
30
31
  // an old variant name. Strip it so it never reaches Chakra's own recipe,
31
32
  // and map the pair onto a 5.0 role — see `Button.legacy.ts`.
32
- const { colorPalette: legacyPalette, ...rest } = restWithLegacy;
33
+ const { colorPalette: legacyPalette, loadingText: loadingTextProp, ...rest } = restWithLegacy;
34
+ // A busy button says what it is doing: 처리 중 unless the call site names
35
+ // the verb (저장 중). `loadingText={null}` opts out — spinner only, and the
36
+ // button keeps its width.
37
+ const translate = useTranslate();
38
+ const loadingText = loadingTextProp === undefined
39
+ ? translate('processing')
40
+ : (loadingTextProp ?? undefined);
33
41
  let variant = variantProp ?? 'subtle';
34
42
  let isDestructive = isDestructiveProp;
35
43
  if (isLegacyButtonProps('button', legacyPalette, variantProp)) {
@@ -39,6 +47,23 @@ const ButtonImpl = forwardRef(({ variant: variantProp, isDestructive: isDestruct
39
47
  isDestructive = isDestructive || resolved.isDestructive;
40
48
  }
41
49
  const base = getButtonStyles(variant, isDestructive);
50
+ // `focusableWhenDisabled`: disabled by ARIA, not by the attribute, so the
51
+ // button stays focusable and can answer a press. `aria-disabled=true` is
52
+ // in Chakra's `_disabled` condition, so the disabled colours and cursor
53
+ // still apply; `data-disabled` is what `_hover` / `_active` exclude, so
54
+ // without it the button would still react to the pointer. `loading` keeps
55
+ // the native attribute (Chakra sets it) — see `focusableWhenDisabled`.
56
+ const softDisabled = !!disabled && focusableWhenDisabled && !rest.loading;
57
+ const handleClick = softDisabled
58
+ ? (event) => {
59
+ // Also what stops a `type="submit"` button from submitting.
60
+ event.preventDefault();
61
+ // A native disabled button sends no click to its ancestors either —
62
+ // a clickable row around it must not run its own action.
63
+ event.stopPropagation();
64
+ onDisabledClick?.(event);
65
+ }
66
+ : onClick;
42
67
  // Merged rather than spread after: each variant already owns `_hover` and
43
68
  // `_active` for its colours, and replacing either would drop them.
44
69
  const styles = lift
@@ -102,7 +127,10 @@ const ButtonImpl = forwardRef(({ variant: variantProp, isDestructive: isDestruct
102
127
  // Two clocks on one element — the press is faster than the colour
103
128
  // change — so the shorthand is written out and only the reduced-motion
104
129
  // guard comes from the vocabulary.
105
- transition: buttonTransition, animationStyle: "composite", ref: ref, "data-variant": variant, "data-destructive": isDestructive || undefined, ...rest,
130
+ transition: buttonTransition, animationStyle: "composite", ref: ref, "data-variant": variant, "data-destructive": isDestructive || undefined, loadingText: loadingText, disabled: softDisabled ? undefined : disabled, onClick: handleClick, ...rest, ...(softDisabled && {
131
+ 'aria-disabled': true,
132
+ 'data-disabled': '',
133
+ }),
106
134
  // The `action` icon rule lives in `css` (a nested selector cannot be a
107
135
  // style prop); merged so a call site's `css` adds to it.
108
136
  css: mergeCss(base.css, cssProp), children: children }));
@@ -1 +1 @@
1
- {"version":3,"file":"Button.mjs","sources":["../../../src/components/Button/Button.tsx"],"sourcesContent":[null],"names":["_jsx","ChakraButton"],"mappings":";;;;;;;;;;AAeA;;;;;;;;;;;;;;;;AAgBG;AACH,MAAM,UAAU,GAAG,UAAU,CAC3B,CACE,EACE,OAAO,EAAE,WAAW,EACpB,aAAa,EAAE,iBAAiB,GAAG,KAAK,EACxC,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,YAAY,EACvB,GAAG,EAAE,OAAO,EACZ,GAAG,cAAc,EAClB,EACD,GAAG,KACD;;;;IAIF,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAC5C,cAAoE;AAEtE,IAAA,IAAI,OAAO,GAAkB,WAAW,IAAI,QAAQ;IACpD,IAAI,aAAa,GAAG,iBAAiB;IACrC,IAAI,mBAAmB,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE;QAC7D,MAAM,QAAQ,GAAG,0BAA0B,CACzC,QAAQ,EACR,aAAa,EACb,WAAW,CACZ;QACD,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,CAAC;AACrE,QAAA,OAAO,GAAG,QAAQ,CAAC,OAAO;AAC1B,QAAA,aAAa,GAAG,aAAa,IAAI,QAAQ,CAAC,aAAa;IACzD;IAEA,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,EAAE,aAAa,CAAC;;;IAIpD,MAAM,MAAM,GAAG;AACb,UAAE;AACE,YAAA,GAAG,IAAI;AACP,YAAA,MAAM,EAAE;gBACN,GAAG,IAAI,CAAC,MAAM;AACd,gBAAA,SAAS,EAAE,QAAQ;;;;;;AAMnB,gBAAA,MAAM,EAAE,4CAA4C;;AAEpD,gBAAA,KAAK,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE;AAChE,aAAA;;AAED,YAAA,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE;;;;AAI9D,YAAA,SAAS,EAAE;gBACT,GAAI,IAAI,CAAC,SAAoB;AAC7B,gBAAA,SAAS,EAAE,KAAK;AAChB,gBAAA,MAAM,EAAE,MAAM;AACf,aAAA;AACF;UACD,IAAI;AAER;;;;;;;;;AASG;IACH,QACEA,GAAA,CAACC,QAAY,EAAA,EACX,MAAM,EAAC,WAAW,EAClB,UAAU,EAAC,KAAK,EAChB,UAAU,EAAC,UAAU,EACrB,IAAI,EAAE,IAAI,EACV,YAAY,EAAC,IAAI,EAAA,GACb,MAAM;;;;;;;;AAQV,QAAA,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EAC1C,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC;;;;;;AAM7C,QAAA,SAAS,EAAE,QAAQ,CACjB,WAAW,IAAI,MAAM,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS;;;QAGpD,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,GAAG,UAAU,GAAG,aAAa,EAAE,EACrD,YAAY,CACb,KACG,SAAS,EACb,MAAM,EAAC,SAAS;;;AAGhB,QAAA,KAAK,EAAC,GAAG;;;;AAIT,QAAA,UAAU,EAAE,gBAAgB,EAC5B,cAAc,EAAC,WAAW,EAC1B,GAAG,EAAE,GAAG,kBACM,OAAO,EAAA,kBAAA,EACH,aAAa,IAAI,SAAS,KACxC,IAAI;;;AAGR,QAAA,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAoC,EAAE,OAAO,CAAC,EAAA,QAAA,EAEhE,QAAQ,EAAA,CACI;AAEnB,CAAC,CACF;AAED;;;;;;AAMG;AACH,UAAU,CAAC,WAAW,GAAG,QAAQ;MAEpB,MAAM,GAAG,WAAW,CAAiB,UAAU;;;;"}
1
+ {"version":3,"file":"Button.mjs","sources":["../../../src/components/Button/Button.tsx"],"sourcesContent":[null],"names":["_jsx","ChakraButton"],"mappings":";;;;;;;;;;;AAgBA;;;;;;;;;;;;;;;;AAgBG;AACH,MAAM,UAAU,GAAG,UAAU,CAC3B,CACE,EACE,OAAO,EAAE,WAAW,EACpB,aAAa,EAAE,iBAAiB,GAAG,KAAK,EACxC,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,qBAAqB,GAAG,KAAK,EAC7B,eAAe,EACf,OAAO,EACP,QAAQ,EACR,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,YAAY,EACvB,GAAG,EAAE,OAAO,EACZ,GAAG,cAAc,EAClB,EACD,GAAG,KACD;;;;AAIF,IAAA,MAAM,EACJ,YAAY,EAAE,aAAa,EAC3B,WAAW,EAAE,eAAe,EAC5B,GAAG,IAAI,EACR,GAAG,cAAoE;;;;AAIxE,IAAA,MAAM,SAAS,GAAG,YAAY,EAAE;AAChC,IAAA,MAAM,WAAW,GACf,eAAe,KAAK;AAClB,UAAE,SAAS,CAAC,YAAY;AACxB,WAAG,eAAe,IAAI,SAAS,CAAC;AAEpC,IAAA,IAAI,OAAO,GAAkB,WAAW,IAAI,QAAQ;IACpD,IAAI,aAAa,GAAG,iBAAiB;IACrC,IAAI,mBAAmB,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE;QAC7D,MAAM,QAAQ,GAAG,0BAA0B,CACzC,QAAQ,EACR,aAAa,EACb,WAAW,CACZ;QACD,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,CAAC;AACrE,QAAA,OAAO,GAAG,QAAQ,CAAC,OAAO;AAC1B,QAAA,aAAa,GAAG,aAAa,IAAI,QAAQ,CAAC,aAAa;IACzD;IAEA,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,EAAE,aAAa,CAAC;;;;;;;AAQpD,IAAA,MAAM,YAAY,GAAG,CAAC,CAAC,QAAQ,IAAI,qBAAqB,IAAI,CAAC,IAAI,CAAC,OAAO;IACzE,MAAM,WAAW,GAAG;AAClB,UAAE,CAAC,KAAoC,KAAI;;YAEvC,KAAK,CAAC,cAAc,EAAE;;;YAGtB,KAAK,CAAC,eAAe,EAAE;AACvB,YAAA,eAAe,GAAG,KAAK,CAAC;QAC1B;UACA,OAAO;;;IAIX,MAAM,MAAM,GAAG;AACb,UAAE;AACE,YAAA,GAAG,IAAI;AACP,YAAA,MAAM,EAAE;gBACN,GAAG,IAAI,CAAC,MAAM;AACd,gBAAA,SAAS,EAAE,QAAQ;;;;;;AAMnB,gBAAA,MAAM,EAAE,4CAA4C;;AAEpD,gBAAA,KAAK,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE;AAChE,aAAA;;AAED,YAAA,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE;;;;AAI9D,YAAA,SAAS,EAAE;gBACT,GAAI,IAAI,CAAC,SAAoB;AAC7B,gBAAA,SAAS,EAAE,KAAK;AAChB,gBAAA,MAAM,EAAE,MAAM;AACf,aAAA;AACF;UACD,IAAI;AAER;;;;;;;;;AASG;IACH,QACEA,GAAA,CAACC,QAAY,EAAA,EACX,MAAM,EAAC,WAAW,EAClB,UAAU,EAAC,KAAK,EAChB,UAAU,EAAC,UAAU,EACrB,IAAI,EAAE,IAAI,EACV,YAAY,EAAC,IAAI,EAAA,GACb,MAAM;;;;;;;;AAQV,QAAA,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EAC1C,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC;;;;;;AAM7C,QAAA,SAAS,EAAE,QAAQ,CACjB,WAAW,IAAI,MAAM,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS;;;QAGpD,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,GAAG,UAAU,GAAG,aAAa,EAAE,EACrD,YAAY,CACb,KACG,SAAS,EACb,MAAM,EAAC,SAAS;;;AAGhB,QAAA,KAAK,EAAC,GAAG;;;;AAIT,QAAA,UAAU,EAAE,gBAAgB,EAC5B,cAAc,EAAC,WAAW,EAC1B,GAAG,EAAE,GAAG,EAAA,cAAA,EACM,OAAO,EAAA,kBAAA,EACH,aAAa,IAAI,SAAS,EAC5C,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,YAAY,GAAG,SAAS,GAAG,QAAQ,EAC7C,OAAO,EAAE,WAAW,EAAA,GAChB,IAAI,EAAA,IAGH,YAAY,IAAI;AACnB,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,eAAe,EAAE,EAAE;SACpB,CAAC;;;AAGF,QAAA,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAoC,EAAE,OAAO,CAAC,EAAA,QAAA,EAEhE,QAAQ,EAAA,CACI;AAEnB,CAAC,CACF;AAED;;;;;;AAMG;AACH,UAAU,CAAC,WAAW,GAAG,QAAQ;MAEpB,MAAM,GAAG,WAAW,CAAiB,UAAU;;;;"}
@@ -1,4 +1,4 @@
1
- import type { ElementType } from 'react';
1
+ import type { ElementType, MouseEvent } from 'react';
2
2
  import { ButtonProps as ChakraButtonProps } from '@chakra-ui/react';
3
3
  import type { PolymorphicProps } from '../../types/polymorphic';
4
4
  /**
@@ -81,6 +81,43 @@ export type ButtonOwnProps = Omit<ChakraButtonProps, 'variant' | 'colorScheme' |
81
81
  * @default false
82
82
  */
83
83
  lift?: boolean;
84
+ /**
85
+ * Keeps a `disabled` button in the Tab order and lets it receive clicks, so
86
+ * the screen can say *why* it is disabled.
87
+ *
88
+ * A natively `disabled` `<button>` cannot be focused and swallows every
89
+ * click: a keyboard or screen reader user may never find it, and a mouse
90
+ * user who presses it gets no answer at all. With this prop, `disabled`
91
+ * renders as `aria-disabled="true"` (plus `data-disabled`) instead of the
92
+ * native attribute:
93
+ *
94
+ * - the disabled colours, the `not-allowed` cursor and the "no hover, no
95
+ * press" behaviour are the same as a native disabled button;
96
+ * - Tab still reaches it and the focus ring shows;
97
+ * - activating it (click, Enter, Space) does **not** call `onClick`, and its
98
+ * default action is cancelled, so a `type="submit"` button does not submit
99
+ * its form; the click does not bubble to ancestors; `onDisabledClick` is
100
+ * called instead.
101
+ *
102
+ * Only activation is blocked: other handlers (`onKeyDown`, `onPointerDown`,
103
+ * …) still run, as they would on any focusable element. Inside a trigger
104
+ * (`Menu.Trigger asChild`, `Popover.Trigger asChild`) disable the root as
105
+ * well. Meant for `<button>`: with `as="a"` the `href` stays, so middle-click
106
+ * still opens it.
107
+ *
108
+ * Has no effect unless `disabled` is set. `loading` keeps the native
109
+ * `disabled` — a busy button is working, not refusing.
110
+ *
111
+ * @default false
112
+ */
113
+ focusableWhenDisabled?: boolean;
114
+ /**
115
+ * Called when a `disabled` + `focusableWhenDisabled` button is activated
116
+ * (click, Enter, Space) — where `onClick` would have been. Use it to explain
117
+ * the reason or move focus to what is missing (an unticked consent box).
118
+ * Never called on a natively disabled button, and never while `loading`.
119
+ */
120
+ onDisabledClick?: (event: MouseEvent<HTMLButtonElement>) => void;
84
121
  };
85
122
  /**
86
123
  * Props for `Button`, typed for whatever element `as` renders.
@@ -1 +1 @@
1
- {"version":3,"file":"Button.types.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAOpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,OAAO,GACP,QAAQ,CAAC;AAEb;;;;;;;;;GASG;AACH,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,WAAW,GACX,QAAQ,GACR,SAAS,GACT,SAAS,GACT,SAAS,CAAC;AAEd;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAEzE;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,iBAAiB,EACjB,SAAS,GAAG,aAAa,GAAG,cAAc,GAAG,UAAU,GAAG,WAAW,GAAG,IAAI,CAC7E,GAAG;IACF;;;;OAIG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;;;;;;;;;OAcG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,WAAW,CAAC,QAAQ,SAAS,WAAW,GAAG,QAAQ,IAC7D,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"Button.types.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAOpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,OAAO,GACP,QAAQ,CAAC;AAEb;;;;;;;;;GASG;AACH,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,WAAW,GACX,QAAQ,GACR,SAAS,GACT,SAAS,GACT,SAAS,CAAC;AAEd;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAEzE;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,iBAAiB,EACjB,SAAS,GAAG,aAAa,GAAG,cAAc,GAAG,UAAU,GAAG,WAAW,GAAG,IAAI,CAC7E,GAAG;IACF;;;;OAIG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;;;;;;;;;OAcG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;CAClE,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,WAAW,CAAC,QAAQ,SAAS,WAAW,GAAG,QAAQ,IAC7D,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC"}
@@ -3,7 +3,19 @@ import { CardRootProps as ChakraCardRootProps } from '@chakra-ui/react';
3
3
  import type { PolymorphicProps } from '../../types/polymorphic';
4
4
  export type CardVariant = 'default' | 'wash' | 'elevated';
5
5
  export type CardOwnProps = Omit<ChakraCardRootProps, 'as'> & {
6
+ /**
7
+ * The whole card is one target: pointer cursor, and on hover the ground
8
+ * steps to `bg.subtle` and the border to `border.strong`. Styling only —
9
+ * render it as the control with `as` (`as={NextLink}`, `as="button"`).
10
+ */
6
11
  clickable?: boolean;
12
+ /**
13
+ * `default`: `bg.surface` with a `border.subtle` hairline — most content.
14
+ * `wash`: `bg.muted`, no border — a block that summarises or concludes (an
15
+ * AI summary, a purchase total). `elevated`: a soft `sm` shadow — a
16
+ * standalone card that should read as a raised object.
17
+ * @default 'default'
18
+ */
7
19
  variant?: CardVariant;
8
20
  };
9
21
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Card.types.d.ts","sourceRoot":"","sources":["../../../src/components/Card/Card.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC;AAE1D,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,GAAG;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,SAAS,CAAC,QAAQ,SAAS,WAAW,GAAG,KAAK,IAAI,gBAAgB,CAC5E,QAAQ,EACR,YAAY,CACb,CAAC"}
1
+ {"version":3,"file":"Card.types.d.ts","sourceRoot":"","sources":["../../../src/components/Card/Card.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC;AAE1D,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,GAAG;IAC3D;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,SAAS,CAAC,QAAQ,SAAS,WAAW,GAAG,KAAK,IAAI,gBAAgB,CAC5E,QAAQ,EACR,YAAY,CACb,CAAC"}
@@ -1,4 +1,6 @@
1
1
  import type { BundledLanguage } from 'shiki';
2
2
  export declare const BUNDLED_LANGUAGES: BundledLanguage[];
3
- export declare const shikiAdapter: import("@chakra-ui/react").CodeBlockAdapter;
3
+ declare const baseAdapter: import("@chakra-ui/react").CodeBlockAdapter;
4
+ export declare const shikiAdapter: typeof baseAdapter;
5
+ export {};
4
6
  //# sourceMappingURL=shikiAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shikiAdapter.d.ts","sourceRoot":"","sources":["../../../src/components/Code/shikiAdapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAoC,MAAM,OAAO,CAAC;AAE/E,eAAO,MAAM,iBAAiB,EAAE,eAAe,EA8B9C,CAAC;AAEF,eAAO,MAAM,YAAY,6CAWvB,CAAC"}
1
+ {"version":3,"file":"shikiAdapter.d.ts","sourceRoot":"","sources":["../../../src/components/Code/shikiAdapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAoC,MAAM,OAAO,CAAC;AAE/E,eAAO,MAAM,iBAAiB,EAAE,eAAe,EA8B9C,CAAC;AA+BF,QAAA,MAAM,WAAW,6CAGf,CAAC;AAKH,eAAO,MAAM,YAAY,EAAE,OAAO,WAGjC,CAAC"}
@@ -34,16 +34,37 @@ const BUNDLED_LANGUAGES = [
34
34
  'xml',
35
35
  'yaml',
36
36
  ];
37
- const shikiAdapter = react.createShikiAdapter({
38
- async load() {
39
- const { createHighlighter } = await Promise.resolve().then(function () { return require('../../node_modules/shiki/dist/index.js'); });
40
- return createHighlighter({
41
- langs: BUNDLED_LANGUAGES,
42
- themes: ['github-dark'],
43
- });
44
- },
37
+ // One highlighter for the whole app. Every <Code> mounts its own
38
+ // AdapterProvider, and Chakra calls `load()` once per provider. Without this
39
+ // cache a chat with 136 code blocks built 136 highlighters, each compiling all
40
+ // BUNDLED_LANGUAGES, and froze the tab for tens of seconds.
41
+ let highlighterPromise = null;
42
+ const loadHighlighter = () => {
43
+ highlighterPromise ?? (highlighterPromise = Promise.resolve().then(function () { return require('../../node_modules/shiki/dist/index.js'); })
44
+ .then(({ createHighlighter }) => createHighlighter({
45
+ langs: BUNDLED_LANGUAGES,
46
+ themes: ['github-dark'],
47
+ }))
48
+ .catch((error) => {
49
+ // Chakra does not catch a rejected load, so resolve to null instead: the
50
+ // block renders as plain text. Clear the cache so the next mount retries.
51
+ console.error('[logician-ui] Failed to load the Shiki highlighter', error);
52
+ highlighterPromise = null;
53
+ return null;
54
+ }));
55
+ return highlighterPromise;
56
+ };
57
+ const baseAdapter = react.createShikiAdapter({
58
+ load: loadHighlighter,
45
59
  theme: 'github-dark',
46
60
  });
61
+ // Chakra's default `unloadContext` calls `dispose()` when a provider unmounts.
62
+ // The highlighter is shared, so one block unmounting would break highlighting
63
+ // in every other block. Keep it alive for the life of the page.
64
+ const shikiAdapter = {
65
+ ...baseAdapter,
66
+ unloadContext: () => { },
67
+ };
47
68
 
48
69
  exports.BUNDLED_LANGUAGES = BUNDLED_LANGUAGES;
49
70
  exports.shikiAdapter = shikiAdapter;
@@ -1 +1 @@
1
- {"version":3,"file":"shikiAdapter.js","sources":["../../../src/components/Code/shikiAdapter.ts"],"sourcesContent":[null],"names":["createShikiAdapter"],"mappings":";;;;;AAGO,MAAM,iBAAiB,GAAsB;IAClD,MAAM;IACN,GAAG;IACH,QAAQ;IACR,KAAK;IACL,MAAM;IACN,YAAY;IACZ,IAAI;IACJ,MAAM;IACN,MAAM;IACN,YAAY;IACZ,MAAM;IACN,KAAK;IACL,QAAQ;IACR,KAAK;IACL,UAAU;IACV,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,GAAG;IACH,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,YAAY;IACZ,KAAK;IACL,MAAM;;AAGD,MAAM,YAAY,GAAGA,wBAAkB,CAE5C;AACA,IAAA,MAAM,IAAI,GAAA;QACR,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,oDAAO,wCAAO,KAAC;AACnD,QAAA,OAAO,iBAAiB,CAAC;AACvB,YAAA,KAAK,EAAE,iBAAiB;YACxB,MAAM,EAAE,CAAC,aAAa,CAAC;AACxB,SAAA,CAAC;IACJ,CAAC;AACD,IAAA,KAAK,EAAE,aAAa;AACrB,CAAA;;;;;"}
1
+ {"version":3,"file":"shikiAdapter.js","sources":["../../../src/components/Code/shikiAdapter.ts"],"sourcesContent":[null],"names":["createShikiAdapter"],"mappings":";;;;;AAGO,MAAM,iBAAiB,GAAsB;IAClD,MAAM;IACN,GAAG;IACH,QAAQ;IACR,KAAK;IACL,MAAM;IACN,YAAY;IACZ,IAAI;IACJ,MAAM;IACN,MAAM;IACN,YAAY;IACZ,MAAM;IACN,KAAK;IACL,QAAQ;IACR,KAAK;IACL,UAAU;IACV,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,GAAG;IACH,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,YAAY;IACZ,KAAK;IACL,MAAM;;AAKR;AACA;AACA;AACA;AACA,IAAI,kBAAkB,GAAuC,IAAI;AAEjE,MAAM,eAAe,GAAG,MAAkC;AACxD,IAAA,kBAAkB,KAAlB,kBAAkB,GAAK,oDAAO,wCAAO;SAClC,IAAI,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAC1B,iBAAiB,CAAC;AAChB,QAAA,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE,CAAC,aAAa,CAAC;AACxB,KAAA,CAAC;AAEH,SAAA,KAAK,CAAC,CAAC,KAAc,KAAI;;;AAGxB,QAAA,OAAO,CAAC,KAAK,CACX,oDAAoD,EACpD,KAAK,CACN;QACD,kBAAkB,GAAG,IAAI;AACzB,QAAA,OAAO,IAAI;AACb,IAAA,CAAC,CAAC,CAAA;AACJ,IAAA,OAAO,kBAAkB;AAC3B,CAAC;AAED,MAAM,WAAW,GAAGA,wBAAkB,CAAqB;AACzD,IAAA,IAAI,EAAE,eAAe;AACrB,IAAA,KAAK,EAAE,aAAa;AACrB,CAAA,CAAC;AAEF;AACA;AACA;AACO,MAAM,YAAY,GAAuB;AAC9C,IAAA,GAAG,WAAW;AACd,IAAA,aAAa,EAAE,MAAK,EAAE,CAAC;;;;;;"}
@@ -32,16 +32,37 @@ const BUNDLED_LANGUAGES = [
32
32
  'xml',
33
33
  'yaml',
34
34
  ];
35
- const shikiAdapter = createShikiAdapter({
36
- async load() {
37
- const { createHighlighter } = await import('../../node_modules/shiki/dist/index.mjs');
38
- return createHighlighter({
39
- langs: BUNDLED_LANGUAGES,
40
- themes: ['github-dark'],
41
- });
42
- },
35
+ // One highlighter for the whole app. Every <Code> mounts its own
36
+ // AdapterProvider, and Chakra calls `load()` once per provider. Without this
37
+ // cache a chat with 136 code blocks built 136 highlighters, each compiling all
38
+ // BUNDLED_LANGUAGES, and froze the tab for tens of seconds.
39
+ let highlighterPromise = null;
40
+ const loadHighlighter = () => {
41
+ highlighterPromise ?? (highlighterPromise = import('../../node_modules/shiki/dist/index.mjs')
42
+ .then(({ createHighlighter }) => createHighlighter({
43
+ langs: BUNDLED_LANGUAGES,
44
+ themes: ['github-dark'],
45
+ }))
46
+ .catch((error) => {
47
+ // Chakra does not catch a rejected load, so resolve to null instead: the
48
+ // block renders as plain text. Clear the cache so the next mount retries.
49
+ console.error('[logician-ui] Failed to load the Shiki highlighter', error);
50
+ highlighterPromise = null;
51
+ return null;
52
+ }));
53
+ return highlighterPromise;
54
+ };
55
+ const baseAdapter = createShikiAdapter({
56
+ load: loadHighlighter,
43
57
  theme: 'github-dark',
44
58
  });
59
+ // Chakra's default `unloadContext` calls `dispose()` when a provider unmounts.
60
+ // The highlighter is shared, so one block unmounting would break highlighting
61
+ // in every other block. Keep it alive for the life of the page.
62
+ const shikiAdapter = {
63
+ ...baseAdapter,
64
+ unloadContext: () => { },
65
+ };
45
66
 
46
67
  export { BUNDLED_LANGUAGES, shikiAdapter };
47
68
  //# sourceMappingURL=shikiAdapter.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"shikiAdapter.mjs","sources":["../../../src/components/Code/shikiAdapter.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAGO,MAAM,iBAAiB,GAAsB;IAClD,MAAM;IACN,GAAG;IACH,QAAQ;IACR,KAAK;IACL,MAAM;IACN,YAAY;IACZ,IAAI;IACJ,MAAM;IACN,MAAM;IACN,YAAY;IACZ,MAAM;IACN,KAAK;IACL,QAAQ;IACR,KAAK;IACL,UAAU;IACV,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,GAAG;IACH,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,YAAY;IACZ,KAAK;IACL,MAAM;;AAGD,MAAM,YAAY,GAAG,kBAAkB,CAE5C;AACA,IAAA,MAAM,IAAI,GAAA;QACR,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,OAAO,yCAAO,CAAC;AACnD,QAAA,OAAO,iBAAiB,CAAC;AACvB,YAAA,KAAK,EAAE,iBAAiB;YACxB,MAAM,EAAE,CAAC,aAAa,CAAC;AACxB,SAAA,CAAC;IACJ,CAAC;AACD,IAAA,KAAK,EAAE,aAAa;AACrB,CAAA;;;;"}
1
+ {"version":3,"file":"shikiAdapter.mjs","sources":["../../../src/components/Code/shikiAdapter.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAGO,MAAM,iBAAiB,GAAsB;IAClD,MAAM;IACN,GAAG;IACH,QAAQ;IACR,KAAK;IACL,MAAM;IACN,YAAY;IACZ,IAAI;IACJ,MAAM;IACN,MAAM;IACN,YAAY;IACZ,MAAM;IACN,KAAK;IACL,QAAQ;IACR,KAAK;IACL,UAAU;IACV,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,GAAG;IACH,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,YAAY;IACZ,KAAK;IACL,MAAM;;AAKR;AACA;AACA;AACA;AACA,IAAI,kBAAkB,GAAuC,IAAI;AAEjE,MAAM,eAAe,GAAG,MAAkC;AACxD,IAAA,kBAAkB,KAAlB,kBAAkB,GAAK,OAAO,yCAAO;SAClC,IAAI,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAC1B,iBAAiB,CAAC;AAChB,QAAA,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE,CAAC,aAAa,CAAC;AACxB,KAAA,CAAC;AAEH,SAAA,KAAK,CAAC,CAAC,KAAc,KAAI;;;AAGxB,QAAA,OAAO,CAAC,KAAK,CACX,oDAAoD,EACpD,KAAK,CACN;QACD,kBAAkB,GAAG,IAAI;AACzB,QAAA,OAAO,IAAI;AACb,IAAA,CAAC,CAAC,CAAA;AACJ,IAAA,OAAO,kBAAkB;AAC3B,CAAC;AAED,MAAM,WAAW,GAAG,kBAAkB,CAAqB;AACzD,IAAA,IAAI,EAAE,eAAe;AACrB,IAAA,KAAK,EAAE,aAAa;AACrB,CAAA,CAAC;AAEF;AACA;AACA;AACO,MAAM,YAAY,GAAuB;AAC9C,IAAA,GAAG,WAAW;AACd,IAAA,aAAa,EAAE,MAAK,EAAE,CAAC;;;;;"}
@@ -4,14 +4,15 @@
4
4
  * The code is highlighted with Shiki's `github-dark`, whose token colours are
5
5
  * written for a dark ground in BOTH app modes, so the surface must stay dark in
6
6
  * both too. `bg.inverse` does not: it is `tooltip.bg`, near-black in light but
7
- * light sand in dark, and the `fg.muted` text on it flipped as well (~1.4:1 in
7
+ * a light warm grey in dark, and the `fg.muted` text on it flipped as well (~1.4:1 in
8
8
  * light, ~1.1:1 in dark).
9
9
  *
10
10
  * `action.*` is the one role pair that is dark in every mode (BAZE ink:
11
- * #252525 light / #38332E dark, `action.fg` 12.5–13.2:1 on it, high contrast
11
+ * #252525 light / #2E2F2F dark, `action.fg` 10.8–13.4:1 on it, high contrast
12
12
  * included), so the chrome reads it. The unselected label is `action.fg` at
13
- * 70% — ≥ 7.0:1 on `action.bg` and ≥ 5.6:1 on `action.bgHover`, both schemes,
14
- * all four modes.
13
+ * 80% — ≥ 7.4:1 on `action.bg` and ≥ 6.7:1 on `action.bgHover`, both schemes,
14
+ * all four modes. (70% fell to 6.1:1 once dark `action.fg` became the
15
+ * off-white body text instead of pure white.)
15
16
  *
16
17
  * Borrowed rather than owned: `action.*` is the Run button's role. A dedicated
17
18
  * `code.*` role family (bg / fg / fgMuted / bgHover) would be the clean home.
@@ -21,7 +22,7 @@ export declare const CODE_CHROME: {
21
22
  readonly bgHover: "action.bgHover";
22
23
  readonly bgActive: "action.bgActive";
23
24
  readonly fg: "action.fg";
24
- readonly fgMuted: "action.fg/70";
25
+ readonly fgMuted: "action.fg/80";
25
26
  readonly divider: "action.fg/15";
26
27
  };
27
28
  //# sourceMappingURL=CodeTabs.styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CodeTabs.styles.d.ts","sourceRoot":"","sources":["../../../src/components/CodeTabs/CodeTabs.styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,WAAW;;;;;;;CAOd,CAAC"}
1
+ {"version":3,"file":"CodeTabs.styles.d.ts","sourceRoot":"","sources":["../../../src/components/CodeTabs/CodeTabs.styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,WAAW;;;;;;;CAOd,CAAC"}
@@ -7,14 +7,15 @@
7
7
  * The code is highlighted with Shiki's `github-dark`, whose token colours are
8
8
  * written for a dark ground in BOTH app modes, so the surface must stay dark in
9
9
  * both too. `bg.inverse` does not: it is `tooltip.bg`, near-black in light but
10
- * light sand in dark, and the `fg.muted` text on it flipped as well (~1.4:1 in
10
+ * a light warm grey in dark, and the `fg.muted` text on it flipped as well (~1.4:1 in
11
11
  * light, ~1.1:1 in dark).
12
12
  *
13
13
  * `action.*` is the one role pair that is dark in every mode (BAZE ink:
14
- * #252525 light / #38332E dark, `action.fg` 12.5–13.2:1 on it, high contrast
14
+ * #252525 light / #2E2F2F dark, `action.fg` 10.8–13.4:1 on it, high contrast
15
15
  * included), so the chrome reads it. The unselected label is `action.fg` at
16
- * 70% — ≥ 7.0:1 on `action.bg` and ≥ 5.6:1 on `action.bgHover`, both schemes,
17
- * all four modes.
16
+ * 80% — ≥ 7.4:1 on `action.bg` and ≥ 6.7:1 on `action.bgHover`, both schemes,
17
+ * all four modes. (70% fell to 6.1:1 once dark `action.fg` became the
18
+ * off-white body text instead of pure white.)
18
19
  *
19
20
  * Borrowed rather than owned: `action.*` is the Run button's role. A dedicated
20
21
  * `code.*` role family (bg / fg / fgMuted / bgHover) would be the clean home.
@@ -24,7 +25,7 @@ const CODE_CHROME = {
24
25
  bgHover: 'action.bgHover',
25
26
  bgActive: 'action.bgActive',
26
27
  fg: 'action.fg',
27
- fgMuted: 'action.fg/70',
28
+ fgMuted: 'action.fg/80',
28
29
  divider: 'action.fg/15',
29
30
  };
30
31
 
@@ -1 +1 @@
1
- {"version":3,"file":"CodeTabs.styles.js","sources":["../../../src/components/CodeTabs/CodeTabs.styles.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;AAiBG;AACI,MAAM,WAAW,GAAG;AACzB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,OAAO,EAAE,gBAAgB;AACzB,IAAA,QAAQ,EAAE,iBAAiB;AAC3B,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,OAAO,EAAE,cAAc;AACvB,IAAA,OAAO,EAAE,cAAc;;;;;"}
1
+ {"version":3,"file":"CodeTabs.styles.js","sources":["../../../src/components/CodeTabs/CodeTabs.styles.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;AAkBG;AACI,MAAM,WAAW,GAAG;AACzB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,OAAO,EAAE,gBAAgB;AACzB,IAAA,QAAQ,EAAE,iBAAiB;AAC3B,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,OAAO,EAAE,cAAc;AACvB,IAAA,OAAO,EAAE,cAAc;;;;;"}
@@ -5,14 +5,15 @@
5
5
  * The code is highlighted with Shiki's `github-dark`, whose token colours are
6
6
  * written for a dark ground in BOTH app modes, so the surface must stay dark in
7
7
  * both too. `bg.inverse` does not: it is `tooltip.bg`, near-black in light but
8
- * light sand in dark, and the `fg.muted` text on it flipped as well (~1.4:1 in
8
+ * a light warm grey in dark, and the `fg.muted` text on it flipped as well (~1.4:1 in
9
9
  * light, ~1.1:1 in dark).
10
10
  *
11
11
  * `action.*` is the one role pair that is dark in every mode (BAZE ink:
12
- * #252525 light / #38332E dark, `action.fg` 12.5–13.2:1 on it, high contrast
12
+ * #252525 light / #2E2F2F dark, `action.fg` 10.8–13.4:1 on it, high contrast
13
13
  * included), so the chrome reads it. The unselected label is `action.fg` at
14
- * 70% — ≥ 7.0:1 on `action.bg` and ≥ 5.6:1 on `action.bgHover`, both schemes,
15
- * all four modes.
14
+ * 80% — ≥ 7.4:1 on `action.bg` and ≥ 6.7:1 on `action.bgHover`, both schemes,
15
+ * all four modes. (70% fell to 6.1:1 once dark `action.fg` became the
16
+ * off-white body text instead of pure white.)
16
17
  *
17
18
  * Borrowed rather than owned: `action.*` is the Run button's role. A dedicated
18
19
  * `code.*` role family (bg / fg / fgMuted / bgHover) would be the clean home.
@@ -22,7 +23,7 @@ const CODE_CHROME = {
22
23
  bgHover: 'action.bgHover',
23
24
  bgActive: 'action.bgActive',
24
25
  fg: 'action.fg',
25
- fgMuted: 'action.fg/70',
26
+ fgMuted: 'action.fg/80',
26
27
  divider: 'action.fg/15',
27
28
  };
28
29
 
@@ -1 +1 @@
1
- {"version":3,"file":"CodeTabs.styles.mjs","sources":["../../../src/components/CodeTabs/CodeTabs.styles.ts"],"sourcesContent":[null],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;AAiBG;AACI,MAAM,WAAW,GAAG;AACzB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,OAAO,EAAE,gBAAgB;AACzB,IAAA,QAAQ,EAAE,iBAAiB;AAC3B,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,OAAO,EAAE,cAAc;AACvB,IAAA,OAAO,EAAE,cAAc;;;;;"}
1
+ {"version":3,"file":"CodeTabs.styles.mjs","sources":["../../../src/components/CodeTabs/CodeTabs.styles.ts"],"sourcesContent":[null],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;AAkBG;AACI,MAAM,WAAW,GAAG;AACzB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,OAAO,EAAE,gBAAgB;AACzB,IAAA,QAAQ,EAAE,iBAAiB;AAC3B,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,OAAO,EAAE,cAAc;AACvB,IAAA,OAAO,EAAE,cAAc;;;;;"}
@@ -6,8 +6,13 @@ export interface ColorModeToggleProps extends Omit<IconButtonProps, 'children'>
6
6
  * A ready-made light/dark toggle button. Shared across products so each app
7
7
  * doesn't reinvent the control.
8
8
  *
9
- * Renders nothing until mounted on the client to avoid an SSR/CSR icon
10
- * mismatch (the resolved mode is only known after hydration).
9
+ * Shows the light-mode state (moon) until mounted on the client, to avoid an
10
+ * SSR/CSR icon mismatch (the resolved mode is only known after hydration).
11
+ * Toggles between `light` and `dark` only; to offer `system` as well, build a
12
+ * picker on `useColorMode().setColorMode`.
13
+ *
14
+ * The icon wrappers render as `<span>`: only phrasing content may sit inside
15
+ * a `<button>` (see ACCESSIBILITY.md §5).
11
16
  *
12
17
  * @example
13
18
  * ```tsx
@@ -1 +1 @@
1
- {"version":3,"file":"ColorModeToggle.d.ts","sourceRoot":"","sources":["../../../src/components/ColorMode/ColorModeToggle.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAKnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAIhF,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAChD,eAAe,EACf,UAAU,CACX;CAAG;AAEJ;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA8C1D,CAAC"}
1
+ {"version":3,"file":"ColorModeToggle.d.ts","sourceRoot":"","sources":["../../../src/components/ColorMode/ColorModeToggle.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAKnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAIhF,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAChD,eAAe,EACf,UAAU,CACX;CAAG;AAEJ;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAgD1D,CAAC"}
@@ -13,8 +13,13 @@ var useColorMode = require('./useColorMode.js');
13
13
  * A ready-made light/dark toggle button. Shared across products so each app
14
14
  * doesn't reinvent the control.
15
15
  *
16
- * Renders nothing until mounted on the client to avoid an SSR/CSR icon
17
- * mismatch (the resolved mode is only known after hydration).
16
+ * Shows the light-mode state (moon) until mounted on the client, to avoid an
17
+ * SSR/CSR icon mismatch (the resolved mode is only known after hydration).
18
+ * Toggles between `light` and `dark` only; to offer `system` as well, build a
19
+ * picker on `useColorMode().setColorMode`.
20
+ *
21
+ * The icon wrappers render as `<span>`: only phrasing content may sit inside
22
+ * a `<button>` (see ACCESSIBILITY.md §5).
18
23
  *
19
24
  * @example
20
25
  * ```tsx
@@ -28,7 +33,7 @@ const ColorModeToggle = ({ 'aria-label': ariaLabel = 'Toggle color mode', ...res
28
33
  setMounted(true);
29
34
  }, []);
30
35
  const isDark = mounted && colorMode === 'dark';
31
- return (jsxRuntime.jsx(IconButton.IconButton, { "aria-label": ariaLabel, onClick: toggleColorMode, ...rest, children: jsxRuntime.jsxs(react.Box, { display: "grid", placeItems: "center", children: [jsxRuntime.jsx(react.Box, { gridArea: "1 / 1", display: "grid", placeItems: "center", opacity: isDark ? 1 : 0, transform: isDark ? undefined : 'rotate(-90deg) scale(0.5)', animationStyle: "spring", transitionProperty: "opacity, transform", children: jsxRuntime.jsx(index.SunIcon, {}) }), jsxRuntime.jsx(react.Box, { gridArea: "1 / 1", display: "grid", placeItems: "center", opacity: isDark ? 0 : 1, transform: isDark ? 'rotate(90deg) scale(0.5)' : undefined, animationStyle: "spring", transitionProperty: "opacity, transform", children: jsxRuntime.jsx(index.MoonIcon, {}) })] }) }));
36
+ return (jsxRuntime.jsx(IconButton.IconButton, { "aria-label": ariaLabel, onClick: toggleColorMode, ...rest, children: jsxRuntime.jsxs(react.Box, { as: "span", display: "grid", placeItems: "center", children: [jsxRuntime.jsx(react.Box, { as: "span", gridArea: "1 / 1", display: "grid", placeItems: "center", opacity: isDark ? 1 : 0, transform: isDark ? undefined : 'rotate(-90deg) scale(0.5)', animationStyle: "spring", transitionProperty: "opacity, transform", children: jsxRuntime.jsx(index.SunIcon, {}) }), jsxRuntime.jsx(react.Box, { as: "span", gridArea: "1 / 1", display: "grid", placeItems: "center", opacity: isDark ? 0 : 1, transform: isDark ? 'rotate(90deg) scale(0.5)' : undefined, animationStyle: "spring", transitionProperty: "opacity, transform", children: jsxRuntime.jsx(index.MoonIcon, {}) })] }) }));
32
37
  };
33
38
  ColorModeToggle.displayName = 'ColorModeToggle';
34
39
 
@@ -1 +1 @@
1
- {"version":3,"file":"ColorModeToggle.js","sources":["../../../src/components/ColorMode/ColorModeToggle.tsx"],"sourcesContent":[null],"names":["useColorMode","useState","useEffect","_jsx","IconButton","_jsxs","Box","SunIcon","MoonIcon"],"mappings":";;;;;;;;;;;AAeA;;;;;;;;;;;AAWG;AACI,MAAM,eAAe,GAAmC,CAAC,EAC9D,YAAY,EAAE,SAAS,GAAG,mBAAmB,EAC7C,GAAG,IAAI,EACR,KAAI;IACH,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAGA,yBAAY,EAAE;IACrD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAGC,cAAQ,CAAC,KAAK,CAAC;IAE7CC,eAAS,CAAC,MAAK;QACb,UAAU,CAAC,IAAI,CAAC;IAClB,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,MAAM,MAAM,GAAG,OAAO,IAAI,SAAS,KAAK,MAAM;AAE9C,IAAA,QACEC,cAAA,CAACC,qBAAU,EAAA,EAAA,YAAA,EAAa,SAAS,EAAE,OAAO,EAAE,eAAe,EAAA,GAAM,IAAI,EAAA,QAAA,EAMnEC,eAAA,CAACC,SAAG,EAAA,EAAC,OAAO,EAAC,MAAM,EAAC,UAAU,EAAC,QAAQ,EAAA,QAAA,EAAA,CACrCH,cAAA,CAACG,SAAG,EAAA,EACF,QAAQ,EAAC,OAAO,EAChB,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,OAAO,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,EACvB,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,2BAA2B,EAC3D,cAAc,EAAC,QAAQ,EACvB,kBAAkB,EAAC,oBAAoB,EAAA,QAAA,EAEvCH,cAAA,CAACI,aAAO,EAAA,EAAA,CAAG,EAAA,CACP,EACNJ,cAAA,CAACG,SAAG,EAAA,EACF,QAAQ,EAAC,OAAO,EAChB,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,OAAO,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,EACvB,SAAS,EAAE,MAAM,GAAG,0BAA0B,GAAG,SAAS,EAC1D,cAAc,EAAC,QAAQ,EACvB,kBAAkB,EAAC,oBAAoB,EAAA,QAAA,EAEvCH,cAAA,CAACK,cAAQ,EAAA,EAAA,CAAG,EAAA,CACR,CAAA,EAAA,CACF,EAAA,CACK;AAEjB;AAEA,eAAe,CAAC,WAAW,GAAG,iBAAiB;;;;"}
1
+ {"version":3,"file":"ColorModeToggle.js","sources":["../../../src/components/ColorMode/ColorModeToggle.tsx"],"sourcesContent":[null],"names":["useColorMode","useState","useEffect","_jsx","IconButton","_jsxs","Box","SunIcon","MoonIcon"],"mappings":";;;;;;;;;;;AAeA;;;;;;;;;;;;;;;;AAgBG;AACI,MAAM,eAAe,GAAmC,CAAC,EAC9D,YAAY,EAAE,SAAS,GAAG,mBAAmB,EAC7C,GAAG,IAAI,EACR,KAAI;IACH,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAGA,yBAAY,EAAE;IACrD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAGC,cAAQ,CAAC,KAAK,CAAC;IAE7CC,eAAS,CAAC,MAAK;QACb,UAAU,CAAC,IAAI,CAAC;IAClB,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,MAAM,MAAM,GAAG,OAAO,IAAI,SAAS,KAAK,MAAM;AAE9C,IAAA,QACEC,cAAA,CAACC,qBAAU,EAAA,EAAA,YAAA,EAAa,SAAS,EAAE,OAAO,EAAE,eAAe,EAAA,GAAM,IAAI,EAAA,QAAA,EAMnEC,eAAA,CAACC,SAAG,EAAA,EAAC,EAAE,EAAC,MAAM,EAAC,OAAO,EAAC,MAAM,EAAC,UAAU,EAAC,QAAQ,EAAA,QAAA,EAAA,CAC/CH,cAAA,CAACG,SAAG,EAAA,EACF,EAAE,EAAC,MAAM,EACT,QAAQ,EAAC,OAAO,EAChB,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,OAAO,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,EACvB,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,2BAA2B,EAC3D,cAAc,EAAC,QAAQ,EACvB,kBAAkB,EAAC,oBAAoB,EAAA,QAAA,EAEvCH,cAAA,CAACI,aAAO,EAAA,EAAA,CAAG,EAAA,CACP,EACNJ,cAAA,CAACG,SAAG,IACF,EAAE,EAAC,MAAM,EACT,QAAQ,EAAC,OAAO,EAChB,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,OAAO,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,EACvB,SAAS,EAAE,MAAM,GAAG,0BAA0B,GAAG,SAAS,EAC1D,cAAc,EAAC,QAAQ,EACvB,kBAAkB,EAAC,oBAAoB,EAAA,QAAA,EAEvCH,cAAA,CAACK,cAAQ,EAAA,EAAA,CAAG,EAAA,CACR,CAAA,EAAA,CACF,EAAA,CACK;AAEjB;AAEA,eAAe,CAAC,WAAW,GAAG,iBAAiB;;;;"}
@@ -11,8 +11,13 @@ import { useColorMode } from './useColorMode.mjs';
11
11
  * A ready-made light/dark toggle button. Shared across products so each app
12
12
  * doesn't reinvent the control.
13
13
  *
14
- * Renders nothing until mounted on the client to avoid an SSR/CSR icon
15
- * mismatch (the resolved mode is only known after hydration).
14
+ * Shows the light-mode state (moon) until mounted on the client, to avoid an
15
+ * SSR/CSR icon mismatch (the resolved mode is only known after hydration).
16
+ * Toggles between `light` and `dark` only; to offer `system` as well, build a
17
+ * picker on `useColorMode().setColorMode`.
18
+ *
19
+ * The icon wrappers render as `<span>`: only phrasing content may sit inside
20
+ * a `<button>` (see ACCESSIBILITY.md §5).
16
21
  *
17
22
  * @example
18
23
  * ```tsx
@@ -26,7 +31,7 @@ const ColorModeToggle = ({ 'aria-label': ariaLabel = 'Toggle color mode', ...res
26
31
  setMounted(true);
27
32
  }, []);
28
33
  const isDark = mounted && colorMode === 'dark';
29
- return (jsx(IconButton, { "aria-label": ariaLabel, onClick: toggleColorMode, ...rest, children: jsxs(Box, { display: "grid", placeItems: "center", children: [jsx(Box, { gridArea: "1 / 1", display: "grid", placeItems: "center", opacity: isDark ? 1 : 0, transform: isDark ? undefined : 'rotate(-90deg) scale(0.5)', animationStyle: "spring", transitionProperty: "opacity, transform", children: jsx(SunIcon, {}) }), jsx(Box, { gridArea: "1 / 1", display: "grid", placeItems: "center", opacity: isDark ? 0 : 1, transform: isDark ? 'rotate(90deg) scale(0.5)' : undefined, animationStyle: "spring", transitionProperty: "opacity, transform", children: jsx(MoonIcon, {}) })] }) }));
34
+ return (jsx(IconButton, { "aria-label": ariaLabel, onClick: toggleColorMode, ...rest, children: jsxs(Box, { as: "span", display: "grid", placeItems: "center", children: [jsx(Box, { as: "span", gridArea: "1 / 1", display: "grid", placeItems: "center", opacity: isDark ? 1 : 0, transform: isDark ? undefined : 'rotate(-90deg) scale(0.5)', animationStyle: "spring", transitionProperty: "opacity, transform", children: jsx(SunIcon, {}) }), jsx(Box, { as: "span", gridArea: "1 / 1", display: "grid", placeItems: "center", opacity: isDark ? 0 : 1, transform: isDark ? 'rotate(90deg) scale(0.5)' : undefined, animationStyle: "spring", transitionProperty: "opacity, transform", children: jsx(MoonIcon, {}) })] }) }));
30
35
  };
31
36
  ColorModeToggle.displayName = 'ColorModeToggle';
32
37
 
@@ -1 +1 @@
1
- {"version":3,"file":"ColorModeToggle.mjs","sources":["../../../src/components/ColorMode/ColorModeToggle.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;;AAeA;;;;;;;;;;;AAWG;AACI,MAAM,eAAe,GAAmC,CAAC,EAC9D,YAAY,EAAE,SAAS,GAAG,mBAAmB,EAC7C,GAAG,IAAI,EACR,KAAI;IACH,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,YAAY,EAAE;IACrD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAE7C,SAAS,CAAC,MAAK;QACb,UAAU,CAAC,IAAI,CAAC;IAClB,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,MAAM,MAAM,GAAG,OAAO,IAAI,SAAS,KAAK,MAAM;AAE9C,IAAA,QACEA,GAAA,CAAC,UAAU,EAAA,EAAA,YAAA,EAAa,SAAS,EAAE,OAAO,EAAE,eAAe,EAAA,GAAM,IAAI,EAAA,QAAA,EAMnEC,IAAA,CAAC,GAAG,EAAA,EAAC,OAAO,EAAC,MAAM,EAAC,UAAU,EAAC,QAAQ,EAAA,QAAA,EAAA,CACrCD,GAAA,CAAC,GAAG,EAAA,EACF,QAAQ,EAAC,OAAO,EAChB,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,OAAO,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,EACvB,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,2BAA2B,EAC3D,cAAc,EAAC,QAAQ,EACvB,kBAAkB,EAAC,oBAAoB,EAAA,QAAA,EAEvCA,GAAA,CAAC,OAAO,EAAA,EAAA,CAAG,EAAA,CACP,EACNA,GAAA,CAAC,GAAG,EAAA,EACF,QAAQ,EAAC,OAAO,EAChB,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,OAAO,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,EACvB,SAAS,EAAE,MAAM,GAAG,0BAA0B,GAAG,SAAS,EAC1D,cAAc,EAAC,QAAQ,EACvB,kBAAkB,EAAC,oBAAoB,EAAA,QAAA,EAEvCA,GAAA,CAAC,QAAQ,EAAA,EAAA,CAAG,EAAA,CACR,CAAA,EAAA,CACF,EAAA,CACK;AAEjB;AAEA,eAAe,CAAC,WAAW,GAAG,iBAAiB;;;;"}
1
+ {"version":3,"file":"ColorModeToggle.mjs","sources":["../../../src/components/ColorMode/ColorModeToggle.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;;AAeA;;;;;;;;;;;;;;;;AAgBG;AACI,MAAM,eAAe,GAAmC,CAAC,EAC9D,YAAY,EAAE,SAAS,GAAG,mBAAmB,EAC7C,GAAG,IAAI,EACR,KAAI;IACH,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,YAAY,EAAE;IACrD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAE7C,SAAS,CAAC,MAAK;QACb,UAAU,CAAC,IAAI,CAAC;IAClB,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,MAAM,MAAM,GAAG,OAAO,IAAI,SAAS,KAAK,MAAM;AAE9C,IAAA,QACEA,GAAA,CAAC,UAAU,EAAA,EAAA,YAAA,EAAa,SAAS,EAAE,OAAO,EAAE,eAAe,EAAA,GAAM,IAAI,EAAA,QAAA,EAMnEC,IAAA,CAAC,GAAG,EAAA,EAAC,EAAE,EAAC,MAAM,EAAC,OAAO,EAAC,MAAM,EAAC,UAAU,EAAC,QAAQ,EAAA,QAAA,EAAA,CAC/CD,GAAA,CAAC,GAAG,EAAA,EACF,EAAE,EAAC,MAAM,EACT,QAAQ,EAAC,OAAO,EAChB,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,OAAO,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,EACvB,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,2BAA2B,EAC3D,cAAc,EAAC,QAAQ,EACvB,kBAAkB,EAAC,oBAAoB,EAAA,QAAA,EAEvCA,GAAA,CAAC,OAAO,EAAA,EAAA,CAAG,EAAA,CACP,EACNA,GAAA,CAAC,GAAG,IACF,EAAE,EAAC,MAAM,EACT,QAAQ,EAAC,OAAO,EAChB,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,OAAO,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,EACvB,SAAS,EAAE,MAAM,GAAG,0BAA0B,GAAG,SAAS,EAC1D,cAAc,EAAC,QAAQ,EACvB,kBAAkB,EAAC,oBAAoB,EAAA,QAAA,EAEvCA,GAAA,CAAC,QAAQ,EAAA,EAAA,CAAG,EAAA,CACR,CAAA,EAAA,CACF,EAAA,CACK;AAEjB;AAEA,eAAe,CAAC,WAAW,GAAG,iBAAiB;;;;"}
@@ -2,7 +2,11 @@ import type { BoxProps } from '@chakra-ui/react';
2
2
  export interface ConfettiProps extends BoxProps {
3
3
  /** How many pieces. Defaults to 50. */
4
4
  pieceCount?: number;
5
- /** Colour token names to pick from. Defaults to the palette's five accents. */
5
+ /**
6
+ * Colours to pick from: any CSS colour string or colour token. Defaults to ten
7
+ * decorative colours — coral, beige and the eight system hues with no status
8
+ * meaning — as light-mode hex, so they do not follow dark mode.
9
+ */
6
10
  colors?: string[];
7
11
  /**
8
12
  * Changes the scatter. The generator is seeded rather than `Math.random()` so
@@ -1 +1 @@
1
- {"version":3,"file":"Confetti.types.d.ts","sourceRoot":"","sources":["../../../src/components/Confetti/Confetti.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
1
+ {"version":3,"file":"Confetti.types.d.ts","sourceRoot":"","sources":["../../../src/components/Confetti/Confetti.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
@@ -1,9 +1,9 @@
1
1
  /**
2
- * Hues that carry meaning elsewhere in the system and so never colour a piece
3
- * by default: red, yellow and green are the danger, warning and success
4
- * solids, and blue is info and links. The same rule as the chart series
5
- * defaults (`LineGraph/seriesColors.ts`) — a red piece in a "payment complete"
6
- * burst says something the screen does not.
2
+ * Hues left out of the *default* pieces: red, yellow and green are the
3
+ * danger, warning and success solids, and blue is info and links. This is a
4
+ * default, not a ban — a caller may pass them through `colors`, since a burst
5
+ * lasting under two seconds on a success moment cannot be read as a status
6
+ * (Confetti.usage.mdx).
7
7
  */
8
8
  export declare const CONFETTI_EXCLUDED_HUES: readonly ["red", "yellow", "green", "blue"];
9
9
  /**
@@ -4,11 +4,11 @@
4
4
  var palette_generated = require('../../theme/palette.generated.js');
5
5
 
6
6
  /**
7
- * Hues that carry meaning elsewhere in the system and so never colour a piece
8
- * by default: red, yellow and green are the danger, warning and success
9
- * solids, and blue is info and links. The same rule as the chart series
10
- * defaults (`LineGraph/seriesColors.ts`) — a red piece in a "payment complete"
11
- * burst says something the screen does not.
7
+ * Hues left out of the *default* pieces: red, yellow and green are the
8
+ * danger, warning and success solids, and blue is info and links. This is a
9
+ * default, not a ban — a caller may pass them through `colors`, since a burst
10
+ * lasting under two seconds on a success moment cannot be read as a status
11
+ * (Confetti.usage.mdx).
12
12
  */
13
13
  const CONFETTI_EXCLUDED_HUES = [
14
14
  'red',
@@ -2,11 +2,11 @@
2
2
  import { SYSTEM_HUES, CORAL, RAMPS } from '../../theme/palette.generated.mjs';
3
3
 
4
4
  /**
5
- * Hues that carry meaning elsewhere in the system and so never colour a piece
6
- * by default: red, yellow and green are the danger, warning and success
7
- * solids, and blue is info and links. The same rule as the chart series
8
- * defaults (`LineGraph/seriesColors.ts`) — a red piece in a "payment complete"
9
- * burst says something the screen does not.
5
+ * Hues left out of the *default* pieces: red, yellow and green are the
6
+ * danger, warning and success solids, and blue is info and links. This is a
7
+ * default, not a ban — a caller may pass them through `colors`, since a burst
8
+ * lasting under two seconds on a success moment cannot be read as a status
9
+ * (Confetti.usage.mdx).
10
10
  */
11
11
  const CONFETTI_EXCLUDED_HUES = [
12
12
  'red',
@@ -0,0 +1,12 @@
1
+ import type { ButtonProps } from '../Button';
2
+ export interface DatePickerSizeProps {
3
+ /**
4
+ * Size of the trigger, on the shared control scale (`controlSizes`): the
5
+ * same height, type and icon size as a `Button` / `Input` of that size, so
6
+ * a date filter lines up in a row of controls. A `size` in
7
+ * `propsConfigs.triggerBtnProps` still wins.
8
+ * @default 'md'
9
+ */
10
+ size?: ButtonProps['size'];
11
+ }
12
+ //# sourceMappingURL=DatePicker.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatePicker.types.d.ts","sourceRoot":"","sources":["../../../src/components/DatePicker/DatePicker.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,WAAW,mBAAmB;IAClC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC5B"}
@@ -1,3 +1,4 @@
1
1
  import { RangeDatepickerProps } from 'chakra-dayzed-datepicker';
2
- export declare const RangeDatePicker: ({ propsConfigs, configs, usePortal, ...rest }: RangeDatepickerProps) => import("react/jsx-runtime").JSX.Element;
2
+ import type { DatePickerSizeProps } from './DatePicker.types';
3
+ export declare const RangeDatePicker: ({ propsConfigs, configs, usePortal, size, ...rest }: RangeDatepickerProps & DatePickerSizeProps) => import("react/jsx-runtime").JSX.Element;
3
4
  //# sourceMappingURL=RangeDatePicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RangeDatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/DatePicker/RangeDatePicker.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAclC,eAAO,MAAM,eAAe,GAAI,+CAK7B,oBAAoB,4CA8JtB,CAAC"}
1
+ {"version":3,"file":"RangeDatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/DatePicker/RangeDatePicker.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAclC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,eAAO,MAAM,eAAe,GAAI,qDAM7B,oBAAoB,GAAG,mBAAmB,4CAiK5C,CAAC"}