@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
@@ -0,0 +1,180 @@
1
+ import { Canvas, Meta } from '@storybook/blocks';
2
+
3
+ import { En, Ko, LangToggle, Verdict } from '../../guidelines/_components/Lang';
4
+ import * as LoadersStories from './Loaders.stories';
5
+
6
+ <Meta of={LoadersStories} name="Usage" />
7
+
8
+ <LangToggle />
9
+
10
+ <En>
11
+
12
+ # Loaders
13
+
14
+ Overlays that cover a page (`PageLoader`) or one region (`SectionLoader`) while
15
+ its content loads, with a spinner or, for AI work, three pulsing coral dots.
16
+
17
+ ## When to use
18
+
19
+ - `SectionLoader`: one card, panel or list is loading and the rest of the page
20
+ is usable.
21
+ - `PageLoader`: nothing on the page can be used yet, such as while access is
22
+ being checked.
23
+ - `variant="thinking"`: the wait is the AI working, not data loading.
24
+ `ThinkingDots` is the same mark without the overlay.
25
+
26
+ ## When not to use
27
+
28
+ - A short wait inside a button → the button's own `loading` state.
29
+ - Inline next to text → `Spinner`.
30
+ - Work with a known length → `ProgressBar`.
31
+ - The layout of the coming content is known → a skeleton keeps the page from
32
+ jumping.
33
+
34
+ ## How they behave
35
+
36
+ | | `PageLoader` | `SectionLoader` |
37
+ | --- | --- | --- |
38
+ | Covers | The whole viewport (`position: fixed`, `100dvh`) | Its nearest positioned parent (`position: absolute`, 100% × 100%) |
39
+ | Background | `bg.canvas` at 50% opacity | `bg.canvas`, opaque |
40
+ | `isLoading={false}` | Stays mounted at opacity 0 and exposes no status | Renders nothing |
41
+ | `variant` | `default` (spinner) or `thinking` (dots) | Same |
42
+ | `label` | Spoken text, default 로딩 중 (translated) | Same |
43
+
44
+ ## Do / Don't
45
+
46
+ </En>
47
+
48
+ <Ko>
49
+
50
+ # Loaders
51
+
52
+ 내용을 불러오는 동안 페이지 전체(`PageLoader`)나 한 영역(`SectionLoader`)을 덮는
53
+ 화면입니다. 스피너를 보여 주거나, AI가 일하는 중이라면 코럴 점 세 개가 차례로
54
+ 깜박입니다.
55
+
56
+ ## 언제 쓰나요
57
+
58
+ - `SectionLoader`: 카드, 패널, 목록 하나만 불러오는 중이고 나머지 페이지는 쓸 수 있을 때.
59
+ - `PageLoader`: 권한을 확인하는 동안처럼 페이지에서 아무것도 쓸 수 없을 때.
60
+ - `variant="thinking"`: 데이터를 불러오는 것이 아니라 AI가 일하는 동안 기다릴 때.
61
+ 덮개 없이 같은 표시만 필요하다면 `ThinkingDots`를 씁니다.
62
+
63
+ ## 언제 쓰지 않나요
64
+
65
+ - 버튼 안의 짧은 대기는 그 버튼의 `loading` 상태를 씁니다.
66
+ - 글자 옆에 작게 둘 때는 `Spinner`를 씁니다.
67
+ - 길이를 아는 작업은 `ProgressBar`를 씁니다.
68
+ - 나올 내용의 배치를 안다면 스켈레톤을 써서 화면이 밀리지 않게 합니다.
69
+
70
+ ## 동작 방식
71
+
72
+ | | `PageLoader` | `SectionLoader` |
73
+ | --- | --- | --- |
74
+ | 덮는 범위 | 화면 전체(`position: fixed`, `100dvh`) | 가장 가까운 위치 지정 부모(`position: absolute`, 100% × 100%) |
75
+ | 배경 | 불투명도 50%의 `bg.canvas` | 불투명한 `bg.canvas` |
76
+ | `isLoading={false}` | 불투명도 0으로 남아 있고 상태를 알리지 않음 | 아무것도 그리지 않음 |
77
+ | `variant` | `default`(스피너) 또는 `thinking`(점) | 같음 |
78
+ | `label` | 화면 낭독기가 읽는 문구, 기본값 "로딩 중"(번역됨) | 같음 |
79
+
80
+ ## 이렇게 하세요 / 이렇게 하지 마세요
81
+
82
+ </Ko>
83
+
84
+ <Canvas of={LoadersStories.DoSectionLoaderInParent} />
85
+ <Verdict
86
+ kind="do"
87
+ en="Give SectionLoader a parent with position: relative and say what is loading in label. Without the positioned parent it covers the nearest positioned ancestor, which may be the whole page."
88
+ ko="SectionLoader의 부모에는 position: relative를 주고, label에는 무엇을 불러오는지 씁니다. 위치 지정 부모가 없으면 가장 가까운 위치 지정 조상을 덮고, 그것이 페이지 전체일 수도 있습니다."
89
+ />
90
+
91
+ <Canvas of={LoadersStories.DoThinkingForAI} />
92
+ <Verdict
93
+ kind="do"
94
+ en="Use the thinking variant only while the AI is working. Coral is the AI-working mark; on an ordinary data load it means nothing."
95
+ ko="thinking 변형은 AI가 일하는 동안에만 씁니다. 코럴은 AI 작업 표시이며, 평범한 데이터 로딩에서는 아무 뜻도 전하지 못합니다."
96
+ />
97
+
98
+ <En>
99
+
100
+ ## Content
101
+
102
+ - `label` says what is loading, as a noun phrase: 멤버 목록을 불러오는 중,
103
+ 답변을 준비하는 중. The default 로딩 중 says nothing about what.
104
+ - Pass the translated string; `label` is used as given.
105
+
106
+ ## Accessibility
107
+
108
+ What the loaders do for you:
109
+
110
+ - While loading, the overlay is `role="status"` with `aria-live="polite"` and
111
+ the label as visually hidden text, so screen readers announce it
112
+ (WCAG 4.1.3). When idle it exposes no status at all.
113
+ - The spinner and the dots are decorative; the label carries the meaning.
114
+ - The dots stop under `prefers-reduced-motion`; the spinner slows down instead,
115
+ because a frozen spinner reads as a hung request.
116
+
117
+ What you still have to do:
118
+
119
+ - **Keep focus out of what is covered.** The overlay does not trap or move
120
+ focus; controls underneath stay reachable with Tab. Disable them, or do not
121
+ render them, until loading ends (WCAG 2.4.3).
122
+ - After a long load, move focus or announce the result when it matters.
123
+
124
+ ## Tokens
125
+
126
+ </En>
127
+
128
+ <Ko>
129
+
130
+ ## 문구
131
+
132
+ - `label`에는 무엇을 불러오는지 명사구로 씁니다: 멤버 목록을 불러오는 중, 답변을
133
+ 준비하는 중. 기본값 "로딩 중"은 무엇을 불러오는지 알려 주지 않습니다.
134
+ - 번역된 문자열을 넘깁니다. `label`은 받은 그대로 씁니다.
135
+
136
+ ## 접근성
137
+
138
+ Loaders가 알아서 하는 일
139
+
140
+ - 불러오는 동안 덮개에 `role="status"`와 `aria-live="polite"`가 붙고, label이
141
+ 화면에 보이지 않는 글자로 들어가서 화면 낭독기가 읽습니다(WCAG 4.1.3). 쉬는 동안에는
142
+ 상태를 전혀 알리지 않습니다.
143
+ - 스피너와 점은 장식이고, 뜻은 label이 전합니다.
144
+ - `prefers-reduced-motion`에서는 점이 멈추고, 스피너는 멈추지 않고 느려집니다. 멈춘
145
+ 스피너는 요청이 멈춘 것처럼 보이기 때문입니다.
146
+
147
+ 직접 챙겨야 하는 일
148
+
149
+ - **덮인 영역으로 초점이 가지 않게 합니다.** 덮개는 초점을 가두거나 옮기지 않으므로,
150
+ 아래에 있는 컨트롤에 Tab으로 여전히 닿습니다. 다 불러올 때까지 비활성으로 두거나
151
+ 그리지 않습니다(WCAG 2.4.3).
152
+ - 오래 걸린 로딩이 끝난 뒤 결과가 중요하다면 초점을 옮기거나 결과를 알립니다.
153
+
154
+ ## 토큰
155
+
156
+ </Ko>
157
+
158
+ <Canvas of={LoadersStories.UsageTokens} sourceState="none" />
159
+
160
+ <En>
161
+
162
+ ## Related
163
+
164
+ - **Spinner**: the spinner on its own, inline.
165
+ - **ProgressBar**: work whose length is known.
166
+ - **Button**: `loading` for a busy button.
167
+ - **Foundations/Brand & colour usage**: coral is the AI-working mark.
168
+
169
+ </En>
170
+
171
+ <Ko>
172
+
173
+ ## 관련 컴포넌트
174
+
175
+ - **Spinner**: 글자 옆에 두는 스피너 단독형.
176
+ - **ProgressBar**: 길이를 아는 작업.
177
+ - **Button**: 작업 중인 버튼은 `loading`.
178
+ - **Foundations/Brand & colour usage**: 코럴은 AI 작업 표시입니다.
179
+
180
+ </Ko>
@@ -0,0 +1,98 @@
1
+ import { ArgTypes, Meta } from '@storybook/blocks';
2
+
3
+ import { En, Ko, LangToggle } from '../../guidelines/_components/Lang';
4
+ import * as LogicianProviderStories from './LogicianProvider.stories';
5
+
6
+ <Meta of={LogicianProviderStories} name="Usage" />
7
+
8
+ <LangToggle />
9
+
10
+ <En>
11
+
12
+ # LogicianProvider
13
+
14
+ The root provider: it gives every component below it the Logician theme, the
15
+ colour-mode runtime and the language for locale-aware parts.
16
+
17
+ ## When to use
18
+
19
+ - Once, at the root of the app, around everything that renders Logician
20
+ components. Put it inside your styling registry (for example the Emotion
21
+ registry in a Next.js app) and outside your own providers.
22
+ - With `config` to extend the theme, `language` from the user's locale, and
23
+ `defaultColorMode="system"` so a first visit follows the OS.
24
+ - With `forcedColorMode` during a staged rollout, to pin one mode while
25
+ screens are migrated.
26
+
27
+ ## When not to use
28
+
29
+ - A second LogicianProvider deeper in the tree to change density → use
30
+ `ScaledContext`.
31
+ - To recolour one area → use semantic tokens on that area. A nested provider
32
+ builds a new Chakra system.
33
+ - When the host already mounts its own `next-themes` provider → pass
34
+ `enableColorMode={false}` instead of mounting two.
35
+
36
+ ## Accessibility
37
+
38
+ - `language` only feeds the date and month pickers and other locale-aware
39
+ parts. It does not set `<html lang>`; the app must do that (WCAG 3.1.1).
40
+ - With `loadFonts` (on by default) it adds Pretendard Variable and Inter
41
+ stylesheets from public CDNs to `<head>`. Set it to `false` if the app loads
42
+ them itself, or if those hosts are blocked.
43
+ - Colour mode follows the reader's OS setting by default and can be stored per
44
+ device. See **Setup/ColorMode/Usage** for the contract.
45
+
46
+ ## Props
47
+
48
+ </En>
49
+
50
+ <Ko>
51
+
52
+ # LogicianProvider
53
+
54
+ 최상위 프로바이더입니다. 그 아래 모든 컴포넌트에 Logician 테마, 컬러 모드 동작, 날짜처럼
55
+ 지역 설정을 따르는 파트에 쓸 언어를 넘겨줍니다.
56
+
57
+ ## 언제 쓰나요
58
+
59
+ - 앱의 최상위에서 한 번, Logician 컴포넌트를 그리는 모든 것을 감싸도록 둡니다. 스타일
60
+ 레지스트리(예: Next.js 앱의 Emotion 레지스트리) 안쪽, 앱 자체 프로바이더 바깥쪽에 둡니다.
61
+ - 테마를 넓힐 때는 `config`, 사용자 지역 설정에는 `language`, 첫 방문에서 운영체제 설정을
62
+ 따르게 하려면 `defaultColorMode="system"`을 넘깁니다.
63
+ - 화면을 단계적으로 옮기는 동안 한 모드로 고정하려면 `forcedColorMode`를 씁니다.
64
+
65
+ ## 언제 쓰지 않나요
66
+
67
+ - 촘촘함을 바꾸려고 트리 안쪽에 LogicianProvider를 하나 더 두지 않습니다.
68
+ `ScaledContext`를 씁니다.
69
+ - 한 영역의 색만 바꾸려면 그 영역에 시맨틱 토큰을 씁니다. 프로바이더를 겹치면 Chakra
70
+ 시스템을 새로 만듭니다.
71
+ - 호스트 앱이 이미 자체 `next-themes` 프로바이더를 마운트한다면 둘을 겹치지 말고
72
+ `enableColorMode={false}`를 넘깁니다.
73
+
74
+ ## 접근성
75
+
76
+ - `language`는 날짜·월 선택기처럼 지역 설정을 따르는 파트에만 쓰입니다. `<html lang>`은
77
+ 정하지 않으므로 앱이 직접 정해야 합니다(WCAG 3.1.1).
78
+ - `loadFonts`(기본값 켜짐)는 Pretendard Variable과 Inter 스타일시트를 공개 CDN에서
79
+ `<head>`에 추가합니다. 앱이 직접 글꼴을 불러오거나 그 주소가 막혀 있다면 `false`로 둡니다.
80
+ - 컬러 모드는 기본적으로 운영체제 설정을 따르고, 기기마다 저장될 수 있습니다. 자세한
81
+ 약속은 **Setup/ColorMode/Usage**에 있습니다.
82
+
83
+ ## 속성
84
+
85
+ </Ko>
86
+
87
+ <ArgTypes
88
+ of={LogicianProviderStories}
89
+ include={[
90
+ 'config',
91
+ 'theme',
92
+ 'language',
93
+ 'loadFonts',
94
+ 'defaultColorMode',
95
+ 'forcedColorMode',
96
+ 'enableColorMode',
97
+ ]}
98
+ />
@@ -1,5 +1,7 @@
1
1
  import { Meta, StoryObj } from '@storybook/react';
2
2
 
3
+ import { T } from '../../guidelines/_components/Lang';
4
+ import { TokenTable } from '../../guidelines/_components/TokenTable';
3
5
  import { Markdown } from './Markdown';
4
6
 
5
7
  const meta = {
@@ -216,3 +218,54 @@ The quadratic formula: $x = \\frac{-b \\pm \\sqrt{b^2 - 4ac}}{2a}$
216
218
  *Markdown component with full GFM support!*`,
217
219
  },
218
220
  };
221
+
222
+ // ───────────────────────── Usage-page specimens ─────────────────────────
223
+ // Pulled into `Markdown.usage.mdx` with <Canvas of={…} />. Hidden from the
224
+ // sidebar (`!dev`); `tags` is written out on each story because the indexer
225
+ // reads CSF statically.
226
+
227
+ export const DoGeneratedAnswer: Story = {
228
+ tags: ['!dev'],
229
+ parameters: { layout: 'padded' },
230
+ name: 'Usage / Do: authored or generated long-form text',
231
+ args: {
232
+ children: `요청하신 내용을 정리했습니다.
233
+
234
+ ### 바꿀 점
235
+ 1. 요청 본문의 \`model\` 값을 확인합니다.
236
+ 2. 응답이 끊기면 \`max_tokens\`를 늘립니다.
237
+
238
+ | 항목 | 값 |
239
+ | --- | --- |
240
+ | 모델 | gpt-4o |
241
+ | 최대 토큰 | 4,096 |
242
+
243
+ 자세한 내용은 [API 문서](https://example.com/docs)를 보세요.`,
244
+ },
245
+ };
246
+
247
+ export const DontUiCopy: Story = {
248
+ tags: ['!dev'],
249
+ parameters: { layout: 'padded' },
250
+ name: "Usage / Don't: Markdown for a fixed UI string",
251
+ args: { children: '**저장되었습니다.**' },
252
+ };
253
+
254
+ export const UsageTokens: Story = {
255
+ tags: ['!dev'],
256
+ parameters: { layout: 'padded' },
257
+ name: 'Usage / Tokens',
258
+ render: () => (
259
+ <TokenTable
260
+ rows={[
261
+ {
262
+ token: 'fg.default',
263
+ use: <T en="Container text colour" ko="컨테이너 글자색" />,
264
+ },
265
+ { token: 'fg.emphasized', use: <T en="Headings" ko="제목" /> },
266
+ { token: 'fg.link', use: <T en="Links" ko="링크" /> },
267
+ { token: 'bg.subtle', use: <T en="Inline code" ko="인라인 코드" /> },
268
+ ]}
269
+ />
270
+ ),
271
+ };
@@ -0,0 +1,182 @@
1
+ import { Canvas, Meta } from '@storybook/blocks';
2
+
3
+ import { En, Ko, LangToggle, Verdict } from '../../guidelines/_components/Lang';
4
+ import * as MarkdownStories from './Markdown.stories';
5
+
6
+ <Meta of={MarkdownStories} name="Usage" />
7
+
8
+ <LangToggle />
9
+
10
+ <En>
11
+
12
+ # Markdown
13
+
14
+ Renders a Markdown string with the design system's own components: headings
15
+ become `H1`–`H5` (and `h6` a `Subtitle as="h6"`), paragraphs `Text`, links
16
+ `Link`, code `InlineCode` or `Code`, tables `Table`. GitHub-flavoured
17
+ Markdown, line breaks, highlight markers and KaTeX maths are on.
18
+
19
+ ## When to use
20
+
21
+ - Long-form text written by someone else or generated: model answers,
22
+ announcements, release notes, help articles.
23
+
24
+ ## When not to use
25
+
26
+ - A fixed UI string (a label, a toast, an error message) → `Text`. Markdown is
27
+ for content you do not control at build time.
28
+ - A chat message with app-specific blocks (citations, tool output) → the
29
+ app's own renderer, passing overrides through `components`.
30
+
31
+ ## Props
32
+
33
+ | Prop | Means |
34
+ | --- | --- |
35
+ | `children` | The Markdown string. |
36
+ | `components` | Overrides merged over the built-in mapping (`baseMarkdownComponents`, exported). Use it to change heading levels or add custom blocks. |
37
+ | `className` | Added to the wrapper next to the built-in spacing styles. |
38
+ | Other `react-markdown` options | Passed through. Plugins you pass replace the built-in plugin lists. |
39
+
40
+ ## Do / Don't
41
+
42
+ </En>
43
+
44
+ <Ko>
45
+
46
+ # Markdown
47
+
48
+ 마크다운 글을 이 디자인 시스템의 컴포넌트로 그립니다. 제목은 `H1`–`H5`(`h6`는
49
+ `Subtitle as="h6"`), 문단은 `Text`, 링크는 `Link`, 코드는 `InlineCode`나 `Code`, 표는
50
+ `Table`이 됩니다. GitHub식 마크다운, 줄바꿈, 형광펜 표시, KaTeX 수식이 켜져 있습니다.
51
+
52
+ ## 언제 쓰나요
53
+
54
+ - 다른 사람이 썼거나 생성된 긴 글: 모델 답변, 공지, 릴리스 노트, 도움말.
55
+
56
+ ## 언제 쓰지 않나요
57
+
58
+ - 고정된 화면 문구(라벨, 토스트, 오류 메시지)는 `Text`를 씁니다. Markdown은 빌드할 때
59
+ 내용을 알 수 없는 글에 씁니다.
60
+ - 인용, 도구 결과처럼 앱 고유의 블록이 있는 채팅 메시지는 앱의 렌더러를 쓰고,
61
+ `components`로 덮어씁니다.
62
+
63
+ ## 속성
64
+
65
+ | 속성 | 뜻 |
66
+ | --- | --- |
67
+ | `children` | 마크다운 글. |
68
+ | `components` | 기본 매핑(`baseMarkdownComponents`, 내보냄) 위에 덮어쓸 컴포넌트. 제목 수준을 바꾸거나 블록을 추가할 때 씁니다. |
69
+ | `className` | 기본 간격 스타일과 함께 바깥 요소에 붙습니다. |
70
+ | 그 밖의 `react-markdown` 옵션 | 그대로 넘깁니다. 플러그인을 넘기면 기본 플러그인 목록을 대신합니다. |
71
+
72
+ ## 이렇게 하세요 / 이렇게 하지 마세요
73
+
74
+ </Ko>
75
+
76
+ <Canvas of={MarkdownStories.DoGeneratedAnswer} />
77
+ <Verdict
78
+ kind="do"
79
+ en="Render authored or generated long-form text. Lists, code, tables and links all come out as design-system components."
80
+ ko="작성하거나 생성된 긴 글을 그립니다. 목록, 코드, 표, 링크가 모두 디자인 시스템 컴포넌트로 나옵니다."
81
+ />
82
+
83
+ <Canvas of={MarkdownStories.DontUiCopy} />
84
+ <Verdict
85
+ kind="dont"
86
+ en="Pass a fixed UI string through Markdown to make it bold. Use Text with fontWeight; the copy belongs in your translations, not in Markdown."
87
+ ko="고정된 화면 문구를 굵게 하려고 Markdown을 거치지 마세요. fontWeight를 준 Text를 쓰고, 문구는 마크다운이 아니라 번역 파일에 둡니다."
88
+ />
89
+
90
+ <En>
91
+
92
+ ## Content
93
+
94
+ - Write headings in order, starting from the level that fits under the
95
+ page's own heading.
96
+ - Write link text that names the destination, and alt text for every image.
97
+
98
+ ## Accessibility
99
+
100
+ What Markdown does for you:
101
+
102
+ - Headings stay real headings, including `######` (`as="h6"`), so the
103
+ author's structure reaches the outline (KWCAG 5.2.4.2 제목 제공).
104
+ - Tables are real tables, links are underlined `Link`s, and code blocks get
105
+ `Code`'s copy button.
106
+
107
+ What you still have to do:
108
+
109
+ - **Fit the heading levels to the page.** `#` becomes an `<h1>`. If the page
110
+ already has an `h1`, map the levels down with `components` (WCAG 1.3.1,
111
+ 2.4.6).
112
+ - **Images need alt text from the author.** An image written without alt in
113
+ raw HTML gets the placeholder "chat-image", which describes nothing (WCAG
114
+ 1.1.1).
115
+ - **Links open in a new tab** (`target="_blank"`) with no warning. Say so near
116
+ the content if it matters, or override `a` in `components` (WCAG 3.2.5).
117
+ - **Raw HTML is rendered** (`rehype-raw`) and not sanitised. Sanitise
118
+ untrusted input before you pass it in.
119
+
120
+ ## Tokens
121
+
122
+ The wrapper sets `fg.default`; everything else comes from the components it
123
+ maps to.
124
+
125
+ </En>
126
+
127
+ <Ko>
128
+
129
+ ## 문구
130
+
131
+ - 제목은 차례대로 쓰고, 페이지 제목 아래에 맞는 수준에서 시작합니다.
132
+ - 링크 문구에는 이동할 곳을 적고, 모든 이미지에 대체 글을 씁니다.
133
+
134
+ ## 접근성
135
+
136
+ Markdown이 알아서 하는 일
137
+
138
+ - 제목은 `######`(`as="h6"`)까지 실제 제목으로 남으므로, 작성자가 만든 구조가 문서
139
+ 구조에 그대로 들어갑니다(KWCAG 5.2.4.2 제목 제공).
140
+ - 표는 실제 표로, 링크는 밑줄이 있는 `Link`로 그려지고, 코드 블록에는 `Code`의 복사
141
+ 버튼이 붙습니다.
142
+
143
+ 직접 챙겨야 하는 일
144
+
145
+ - **제목 수준을 페이지에 맞춥니다.** `#`은 `<h1>`이 됩니다. 페이지에 이미 `h1`이
146
+ 있다면 `components`로 수준을 한 단계씩 내립니다(WCAG 1.3.1, 2.4.6).
147
+ - **이미지 대체 글은 작성자가 써야 합니다.** HTML로 쓴 이미지에 alt가 없으면 아무것도
148
+ 설명하지 않는 "chat-image"가 들어갑니다(WCAG 1.1.1).
149
+ - **링크는 안내 없이 새 탭에서 열립니다**(`target="_blank"`). 중요하다면 내용 근처에
150
+ 알리거나 `components`에서 `a`를 덮어씁니다(WCAG 3.2.5).
151
+ - **HTML이 그대로 그려지고**(`rehype-raw`) 정제되지 않습니다. 믿을 수 없는 입력은
152
+ 넘기기 전에 정제합니다.
153
+
154
+ ## 토큰
155
+
156
+ 바깥 요소는 `fg.default`를 쓰고, 나머지는 매핑된 컴포넌트에서 옵니다.
157
+
158
+ </Ko>
159
+
160
+ <Canvas of={MarkdownStories.UsageTokens} sourceState="none" />
161
+
162
+ <En>
163
+
164
+ ## Related
165
+
166
+ - **Typography**: the heading and text components Markdown maps to.
167
+ - **Code** / **InlineCode**: code blocks and inline code.
168
+ - **Table**: Markdown tables.
169
+ - **ExpandableText**: clip long text to a few lines.
170
+
171
+ </En>
172
+
173
+ <Ko>
174
+
175
+ ## 관련 컴포넌트
176
+
177
+ - **Typography**: Markdown이 매핑하는 제목·본문 컴포넌트.
178
+ - **Code** / **InlineCode**: 코드 블록과 인라인 코드.
179
+ - **Table**: 마크다운 표.
180
+ - **ExpandableText**: 긴 글을 몇 줄로 접어 둘 때.
181
+
182
+ </Ko>
@@ -1,6 +1,8 @@
1
1
  import { Box, SimpleGrid, Text, useBreakpointValue } from '@chakra-ui/react';
2
2
  import { Meta, StoryObj } from '@storybook/react';
3
3
 
4
+ import { Card } from '../Card';
5
+ import { Subtext } from '../Typography';
4
6
  import { Masonry } from './Masonry';
5
7
 
6
8
  const meta = {
@@ -25,7 +27,7 @@ const meta = {
25
27
  horizontalArrangement: {
26
28
  control: 'boolean',
27
29
  description:
28
- 'Whether to arrange items horizontally (true) or balance column heights (false)',
30
+ 'Deal items round-robin across columns (true) or balance column heights (false)',
29
31
  defaultValue: false,
30
32
  },
31
33
  },
@@ -310,3 +312,63 @@ export const ComparisonWithGrid: Story = {
310
312
  );
311
313
  },
312
314
  };
315
+
316
+ // ───────────────────────── Usage-page specimens ─────────────────────────
317
+ // Pulled into `Masonry.usage.mdx` with <Canvas of={…} />. Hidden from the
318
+ // sidebar (`!dev`); `tags` is written out on each story because the indexer
319
+ // reads CSF statically.
320
+
321
+ const MODEL_GROUPS = [
322
+ { title: '대화', items: ['GPT-4o', 'Claude', 'Gemini', 'Solar', 'Llama'] },
323
+ { title: '이미지', items: ['Imagen', 'FLUX'] },
324
+ { title: '음성', items: ['TTS', 'STT', '음성 복제'] },
325
+ { title: '검색', items: ['웹 검색'] },
326
+ { title: '영상', items: ['Veo', 'Kling', 'Runway', 'Pika'] },
327
+ { title: '코드', items: ['Codex', 'Claude Code'] },
328
+ ];
329
+
330
+ export const DoUnorderedGroups: Story = {
331
+ tags: ['!dev'],
332
+ parameters: { layout: 'padded' },
333
+ name: 'Usage / Do: unordered groups of different heights',
334
+ args: { numCols: 3 },
335
+ render: (args) => (
336
+ <Masonry {...args}>
337
+ {MODEL_GROUPS.map((group) => (
338
+ <Card key={group.title} p={4}>
339
+ <Text fontWeight="bold" mb={2}>
340
+ {group.title}
341
+ </Text>
342
+ {group.items.map((item) => (
343
+ <Subtext key={item}>{item}</Subtext>
344
+ ))}
345
+ </Card>
346
+ ))}
347
+ </Masonry>
348
+ ),
349
+ };
350
+
351
+ const STEPS = [
352
+ '1. 그룹을 만듭니다',
353
+ '2. 멤버를 초대합니다 — 초대 메일은 7일 동안 유효합니다',
354
+ '3. 크레딧 한도를 정합니다',
355
+ '4. 챗봇을 공유합니다',
356
+ '5. 사용량을 확인합니다 — 대시보드에서 날짜별로 볼 수 있습니다',
357
+ '6. 결제 수단을 등록합니다',
358
+ ];
359
+
360
+ export const DontOrderedContent: Story = {
361
+ tags: ['!dev'],
362
+ parameters: { layout: 'padded' },
363
+ name: "Usage / Don't: steps or a ranking",
364
+ args: { numCols: 3 },
365
+ render: (args) => (
366
+ <Masonry {...args}>
367
+ {STEPS.map((step) => (
368
+ <Card key={step} p={4}>
369
+ <Text>{step}</Text>
370
+ </Card>
371
+ ))}
372
+ </Masonry>
373
+ ),
374
+ };
@@ -2,7 +2,8 @@ import { GridProps } from '@chakra-ui/react';
2
2
 
3
3
  export interface MasonryProps extends Omit<GridProps, 'gap'> {
4
4
  /**
5
- * Number of columns in the masonry layout
5
+ * Number of columns. A plain number, not a responsive object: for a
6
+ * responsive count, pass the result of `useBreakpointValue`.
6
7
  */
7
8
  numCols: number;
8
9
  /**
@@ -11,8 +12,12 @@ export interface MasonryProps extends Omit<GridProps, 'gap'> {
11
12
  */
12
13
  gap?: number | string;
13
14
  /**
14
- * Whether to arrange items from left to right (true) or top to bottom (false)
15
- * @default false (arrange vertically)
15
+ * `false` (default): each item goes into the currently shortest column, so
16
+ * the column heights stay balanced. `true`: items are dealt round-robin
17
+ * across the columns (item 1 → column 1, item 2 → column 2, …), so the
18
+ * first row reads left to right. Either way the DOM order is column by
19
+ * column, which is the order keyboard and screen-reader users get.
20
+ * @default false
16
21
  */
17
22
  horizontalArrangement?: boolean;
18
23
  }