@mindlogic-ai/logician-ui 5.0.0-alpha.2 → 5.0.0-alpha.20

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 (525) hide show
  1. package/README.md +1 -0
  2. package/dist/components/Avatar/Avatar.d.ts +68 -11
  3. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  4. package/dist/components/Avatar/Avatar.js +41 -5
  5. package/dist/components/Avatar/Avatar.js.map +1 -1
  6. package/dist/components/Avatar/Avatar.mjs +40 -5
  7. package/dist/components/Avatar/Avatar.mjs.map +1 -1
  8. package/dist/components/Avatar/index.d.ts +2 -2
  9. package/dist/components/Avatar/index.d.ts.map +1 -1
  10. package/dist/components/Badge/Badge.d.ts.map +1 -1
  11. package/dist/components/Badge/Badge.js +5 -3
  12. package/dist/components/Badge/Badge.js.map +1 -1
  13. package/dist/components/Badge/Badge.mjs +5 -3
  14. package/dist/components/Badge/Badge.mjs.map +1 -1
  15. package/dist/components/Badge/Badge.types.d.ts +7 -5
  16. package/dist/components/Badge/Badge.types.d.ts.map +1 -1
  17. package/dist/components/Banner/Banner.types.d.ts +24 -1
  18. package/dist/components/Banner/Banner.types.d.ts.map +1 -1
  19. package/dist/components/BottomSheet/BottomSheet.styles.d.ts +2 -2
  20. package/dist/components/Button/Button.d.ts.map +1 -1
  21. package/dist/components/Button/Button.js +31 -3
  22. package/dist/components/Button/Button.js.map +1 -1
  23. package/dist/components/Button/Button.mjs +31 -3
  24. package/dist/components/Button/Button.mjs.map +1 -1
  25. package/dist/components/Button/Button.types.d.ts +38 -1
  26. package/dist/components/Button/Button.types.d.ts.map +1 -1
  27. package/dist/components/Card/Card.types.d.ts +12 -0
  28. package/dist/components/Card/Card.types.d.ts.map +1 -1
  29. package/dist/components/CodeTabs/CodeTabs.styles.d.ts +6 -5
  30. package/dist/components/CodeTabs/CodeTabs.styles.d.ts.map +1 -1
  31. package/dist/components/CodeTabs/CodeTabs.styles.js +6 -5
  32. package/dist/components/CodeTabs/CodeTabs.styles.js.map +1 -1
  33. package/dist/components/CodeTabs/CodeTabs.styles.mjs +6 -5
  34. package/dist/components/CodeTabs/CodeTabs.styles.mjs.map +1 -1
  35. package/dist/components/ColorMode/ColorModeToggle.d.ts +7 -2
  36. package/dist/components/ColorMode/ColorModeToggle.d.ts.map +1 -1
  37. package/dist/components/ColorMode/ColorModeToggle.js +8 -3
  38. package/dist/components/ColorMode/ColorModeToggle.js.map +1 -1
  39. package/dist/components/ColorMode/ColorModeToggle.mjs +8 -3
  40. package/dist/components/ColorMode/ColorModeToggle.mjs.map +1 -1
  41. package/dist/components/Confetti/Confetti.types.d.ts +5 -1
  42. package/dist/components/Confetti/Confetti.types.d.ts.map +1 -1
  43. package/dist/components/Confetti/confettiColors.d.ts +5 -5
  44. package/dist/components/Confetti/confettiColors.js +5 -5
  45. package/dist/components/Confetti/confettiColors.mjs +5 -5
  46. package/dist/components/ErrorFallback/ErrorFallback.types.d.ts +6 -0
  47. package/dist/components/ErrorFallback/ErrorFallback.types.d.ts.map +1 -1
  48. package/dist/components/Form/FormModalFooter/FormModalFooter.d.ts +1 -1
  49. package/dist/components/Form/FormModalFooter/FormModalFooter.d.ts.map +1 -1
  50. package/dist/components/Form/FormModalFooter/FormModalFooter.js +2 -2
  51. package/dist/components/Form/FormModalFooter/FormModalFooter.js.map +1 -1
  52. package/dist/components/Form/FormModalFooter/FormModalFooter.mjs +2 -2
  53. package/dist/components/Form/FormModalFooter/FormModalFooter.mjs.map +1 -1
  54. package/dist/components/Form/FormModalFooter/FormModalFooter.types.d.ts +11 -1
  55. package/dist/components/Form/FormModalFooter/FormModalFooter.types.d.ts.map +1 -1
  56. package/dist/components/Form/FormSection/CollapsibleFormSection.js +1 -0
  57. package/dist/components/Form/FormSection/CollapsibleFormSection.js.map +1 -1
  58. package/dist/components/Form/FormSection/CollapsibleFormSection.mjs +1 -0
  59. package/dist/components/Form/FormSection/CollapsibleFormSection.mjs.map +1 -1
  60. package/dist/components/Input/Input.d.ts.map +1 -1
  61. package/dist/components/Input/Input.js +4 -0
  62. package/dist/components/Input/Input.js.map +1 -1
  63. package/dist/components/Input/Input.mjs +4 -0
  64. package/dist/components/Input/Input.mjs.map +1 -1
  65. package/dist/components/LineGraph/LineGraph.d.ts.map +1 -1
  66. package/dist/components/LineGraph/LineGraph.js +4 -5
  67. package/dist/components/LineGraph/LineGraph.js.map +1 -1
  68. package/dist/components/LineGraph/LineGraph.mjs +5 -6
  69. package/dist/components/LineGraph/LineGraph.mjs.map +1 -1
  70. package/dist/components/LineGraph/LineGraph.types.d.ts +12 -2
  71. package/dist/components/LineGraph/LineGraph.types.d.ts.map +1 -1
  72. package/dist/components/LineGraph/seriesColors.d.ts +12 -8
  73. package/dist/components/LineGraph/seriesColors.d.ts.map +1 -1
  74. package/dist/components/LineGraph/seriesColors.js +8 -7
  75. package/dist/components/LineGraph/seriesColors.js.map +1 -1
  76. package/dist/components/LineGraph/seriesColors.mjs +8 -7
  77. package/dist/components/LineGraph/seriesColors.mjs.map +1 -1
  78. package/dist/components/Masonry/Masonry.types.d.ts +8 -3
  79. package/dist/components/Masonry/Masonry.types.d.ts.map +1 -1
  80. package/dist/components/Menu/MenuItem.types.d.ts +8 -0
  81. package/dist/components/Menu/MenuItem.types.d.ts.map +1 -1
  82. package/dist/components/Modal/ModalCloseButton.d.ts +1 -1
  83. package/dist/components/Modal/ModalCloseButton.js +1 -1
  84. package/dist/components/Modal/ModalCloseButton.mjs +1 -1
  85. package/dist/components/NavList/NavList.d.ts +35 -0
  86. package/dist/components/NavList/NavList.d.ts.map +1 -0
  87. package/dist/components/NavList/NavList.js +113 -0
  88. package/dist/components/NavList/NavList.js.map +1 -0
  89. package/dist/components/NavList/NavList.mjs +111 -0
  90. package/dist/components/NavList/NavList.mjs.map +1 -0
  91. package/dist/components/NavList/NavList.styles.d.ts +90 -0
  92. package/dist/components/NavList/NavList.styles.d.ts.map +1 -0
  93. package/dist/components/NavList/NavList.styles.js +104 -0
  94. package/dist/components/NavList/NavList.styles.js.map +1 -0
  95. package/dist/components/NavList/NavList.styles.mjs +97 -0
  96. package/dist/components/NavList/NavList.styles.mjs.map +1 -0
  97. package/dist/components/NavList/NavList.translations.json.js +19 -0
  98. package/dist/components/NavList/NavList.translations.json.js.map +1 -0
  99. package/dist/components/NavList/NavList.translations.json.mjs +14 -0
  100. package/dist/components/NavList/NavList.translations.json.mjs.map +1 -0
  101. package/dist/components/NavList/NavList.types.d.ts +140 -0
  102. package/dist/components/NavList/NavList.types.d.ts.map +1 -0
  103. package/dist/components/NavList/NavListContext.d.ts +30 -0
  104. package/dist/components/NavList/NavListContext.d.ts.map +1 -0
  105. package/dist/components/NavList/NavListContext.js +16 -0
  106. package/dist/components/NavList/NavListContext.js.map +1 -0
  107. package/dist/components/NavList/NavListContext.mjs +13 -0
  108. package/dist/components/NavList/NavListContext.mjs.map +1 -0
  109. package/dist/components/NavList/NavListGroup.d.ts +31 -0
  110. package/dist/components/NavList/NavListGroup.d.ts.map +1 -0
  111. package/dist/components/NavList/NavListGroup.js +115 -0
  112. package/dist/components/NavList/NavListGroup.js.map +1 -0
  113. package/dist/components/NavList/NavListGroup.mjs +113 -0
  114. package/dist/components/NavList/NavListGroup.mjs.map +1 -0
  115. package/dist/components/NavList/NavListItem.d.ts +16 -0
  116. package/dist/components/NavList/NavListItem.d.ts.map +1 -0
  117. package/dist/components/NavList/NavListItem.js +284 -0
  118. package/dist/components/NavList/NavListItem.js.map +1 -0
  119. package/dist/components/NavList/NavListItem.mjs +282 -0
  120. package/dist/components/NavList/NavListItem.mjs.map +1 -0
  121. package/dist/components/NavList/NavListSkeleton.d.ts +17 -0
  122. package/dist/components/NavList/NavListSkeleton.d.ts.map +1 -0
  123. package/dist/components/NavList/NavListSkeleton.js +33 -0
  124. package/dist/components/NavList/NavListSkeleton.js.map +1 -0
  125. package/dist/components/NavList/NavListSkeleton.mjs +31 -0
  126. package/dist/components/NavList/NavListSkeleton.mjs.map +1 -0
  127. package/dist/components/NavList/index.d.ts +7 -0
  128. package/dist/components/NavList/index.d.ts.map +1 -0
  129. package/dist/components/Pagination/Pagination.d.ts +11 -10
  130. package/dist/components/Pagination/Pagination.d.ts.map +1 -1
  131. package/dist/components/Pagination/Pagination.js +11 -10
  132. package/dist/components/Pagination/Pagination.js.map +1 -1
  133. package/dist/components/Pagination/Pagination.mjs +11 -10
  134. package/dist/components/Pagination/Pagination.mjs.map +1 -1
  135. package/dist/components/ProgressBar/ProgressBar.types.d.ts +9 -0
  136. package/dist/components/ProgressBar/ProgressBar.types.d.ts.map +1 -1
  137. package/dist/components/RadialProgress/RadialProgress.types.d.ts +21 -1
  138. package/dist/components/RadialProgress/RadialProgress.types.d.ts.map +1 -1
  139. package/dist/components/SeeMoreButton/SeeMoreButton.types.d.ts +8 -0
  140. package/dist/components/SeeMoreButton/SeeMoreButton.types.d.ts.map +1 -1
  141. package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  142. package/dist/components/SegmentedControl/SegmentedControl.js +6 -7
  143. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  144. package/dist/components/SegmentedControl/SegmentedControl.mjs +6 -7
  145. package/dist/components/SegmentedControl/SegmentedControl.mjs.map +1 -1
  146. package/dist/components/SegmentedProgressBar/SegmentedProgressBar.types.d.ts +2 -0
  147. package/dist/components/SegmentedProgressBar/SegmentedProgressBar.types.d.ts.map +1 -1
  148. package/dist/components/Select/Combobox.d.ts +1 -1
  149. package/dist/components/Select/Combobox.d.ts.map +1 -1
  150. package/dist/components/Select/Combobox.js +9 -2
  151. package/dist/components/Select/Combobox.js.map +1 -1
  152. package/dist/components/Select/Combobox.mjs +10 -3
  153. package/dist/components/Select/Combobox.mjs.map +1 -1
  154. package/dist/components/Select/Select.d.ts +1 -1
  155. package/dist/components/Select/Select.d.ts.map +1 -1
  156. package/dist/components/Select/Select.js +14 -2
  157. package/dist/components/Select/Select.js.map +1 -1
  158. package/dist/components/Select/Select.mjs +15 -3
  159. package/dist/components/Select/Select.mjs.map +1 -1
  160. package/dist/components/Select/Select.styles.d.ts +97 -1
  161. package/dist/components/Select/Select.styles.d.ts.map +1 -1
  162. package/dist/components/Select/Select.styles.js +83 -0
  163. package/dist/components/Select/Select.styles.js.map +1 -1
  164. package/dist/components/Select/Select.styles.mjs +82 -1
  165. package/dist/components/Select/Select.styles.mjs.map +1 -1
  166. package/dist/components/Tabs/Tab/Tab.styles.d.ts +1 -1
  167. package/dist/components/Tabs/Tab/Tab.styles.js +1 -1
  168. package/dist/components/Tabs/Tab/Tab.styles.mjs +1 -1
  169. package/dist/components/Textarea/Textarea.d.ts.map +1 -1
  170. package/dist/components/Textarea/Textarea.js +4 -0
  171. package/dist/components/Textarea/Textarea.js.map +1 -1
  172. package/dist/components/Textarea/Textarea.mjs +4 -0
  173. package/dist/components/Textarea/Textarea.mjs.map +1 -1
  174. package/dist/components/Toast/Toast.styles.d.ts +6 -2
  175. package/dist/components/Toast/Toast.styles.d.ts.map +1 -1
  176. package/dist/components/Toast/Toast.styles.js +18 -10
  177. package/dist/components/Toast/Toast.styles.js.map +1 -1
  178. package/dist/components/Toast/Toast.styles.mjs +18 -10
  179. package/dist/components/Toast/Toast.styles.mjs.map +1 -1
  180. package/dist/components/Typography/Caption.d.ts.map +1 -1
  181. package/dist/components/Typography/Caption.js +1 -1
  182. package/dist/components/Typography/Caption.js.map +1 -1
  183. package/dist/components/Typography/Caption.mjs +1 -1
  184. package/dist/components/Typography/Caption.mjs.map +1 -1
  185. package/dist/components/Typography/H1.d.ts.map +1 -1
  186. package/dist/components/Typography/H1.js +1 -1
  187. package/dist/components/Typography/H1.js.map +1 -1
  188. package/dist/components/Typography/H1.mjs +1 -1
  189. package/dist/components/Typography/H1.mjs.map +1 -1
  190. package/dist/components/Typography/H2.d.ts.map +1 -1
  191. package/dist/components/Typography/H2.js +1 -1
  192. package/dist/components/Typography/H2.js.map +1 -1
  193. package/dist/components/Typography/H2.mjs +1 -1
  194. package/dist/components/Typography/H2.mjs.map +1 -1
  195. package/dist/components/Typography/H3.d.ts.map +1 -1
  196. package/dist/components/Typography/H3.js +1 -1
  197. package/dist/components/Typography/H3.js.map +1 -1
  198. package/dist/components/Typography/H3.mjs +1 -1
  199. package/dist/components/Typography/H3.mjs.map +1 -1
  200. package/dist/components/Typography/H4.d.ts.map +1 -1
  201. package/dist/components/Typography/H4.js +1 -1
  202. package/dist/components/Typography/H4.js.map +1 -1
  203. package/dist/components/Typography/H4.mjs +1 -1
  204. package/dist/components/Typography/H4.mjs.map +1 -1
  205. package/dist/components/Typography/H5.d.ts.map +1 -1
  206. package/dist/components/Typography/H5.js +1 -1
  207. package/dist/components/Typography/H5.js.map +1 -1
  208. package/dist/components/Typography/H5.mjs +1 -1
  209. package/dist/components/Typography/H5.mjs.map +1 -1
  210. package/dist/components/Typography/Link.d.ts.map +1 -1
  211. package/dist/components/Typography/Link.js +1 -1
  212. package/dist/components/Typography/Link.js.map +1 -1
  213. package/dist/components/Typography/Link.mjs +1 -1
  214. package/dist/components/Typography/Link.mjs.map +1 -1
  215. package/dist/components/Typography/Overline.d.ts.map +1 -1
  216. package/dist/components/Typography/Overline.js +1 -1
  217. package/dist/components/Typography/Overline.js.map +1 -1
  218. package/dist/components/Typography/Overline.mjs +1 -1
  219. package/dist/components/Typography/Overline.mjs.map +1 -1
  220. package/dist/components/Typography/Subtext.d.ts.map +1 -1
  221. package/dist/components/Typography/Subtext.js +1 -1
  222. package/dist/components/Typography/Subtext.js.map +1 -1
  223. package/dist/components/Typography/Subtext.mjs +1 -1
  224. package/dist/components/Typography/Subtext.mjs.map +1 -1
  225. package/dist/components/Typography/Subtitle.d.ts.map +1 -1
  226. package/dist/components/Typography/Subtitle.js +1 -1
  227. package/dist/components/Typography/Subtitle.js.map +1 -1
  228. package/dist/components/Typography/Subtitle.mjs +1 -1
  229. package/dist/components/Typography/Subtitle.mjs.map +1 -1
  230. package/dist/components/Typography/Text.d.ts.map +1 -1
  231. package/dist/components/Typography/Text.js +1 -1
  232. package/dist/components/Typography/Text.js.map +1 -1
  233. package/dist/components/Typography/Text.mjs +1 -1
  234. package/dist/components/Typography/Text.mjs.map +1 -1
  235. package/dist/hooks/useLanguage.d.ts +5 -0
  236. package/dist/hooks/useLanguage.d.ts.map +1 -1
  237. package/dist/hooks/useLanguage.js +7 -3
  238. package/dist/hooks/useLanguage.js.map +1 -1
  239. package/dist/hooks/useLanguage.mjs +7 -4
  240. package/dist/hooks/useLanguage.mjs.map +1 -1
  241. package/dist/hooks/useTranslate.d.ts.map +1 -1
  242. package/dist/hooks/useTranslate.js +8 -5
  243. package/dist/hooks/useTranslate.js.map +1 -1
  244. package/dist/hooks/useTranslate.mjs +8 -5
  245. package/dist/hooks/useTranslate.mjs.map +1 -1
  246. package/dist/index.d.ts +2 -1
  247. package/dist/index.d.ts.map +1 -1
  248. package/dist/index.js +13 -0
  249. package/dist/index.js.map +1 -1
  250. package/dist/index.mjs +7 -2
  251. package/dist/index.mjs.map +1 -1
  252. package/dist/theme/colors.d.ts +2 -2
  253. package/dist/theme/colors.d.ts.map +1 -1
  254. package/dist/theme/colors.js +54 -18
  255. package/dist/theme/colors.js.map +1 -1
  256. package/dist/theme/colors.mjs +55 -19
  257. package/dist/theme/colors.mjs.map +1 -1
  258. package/dist/theme/global.d.ts.map +1 -1
  259. package/dist/theme/global.js +19 -1
  260. package/dist/theme/global.js.map +1 -1
  261. package/dist/theme/global.mjs +19 -1
  262. package/dist/theme/global.mjs.map +1 -1
  263. package/dist/theme/index.d.ts.map +1 -1
  264. package/dist/theme/index.js +2 -0
  265. package/dist/theme/index.js.map +1 -1
  266. package/dist/theme/index.mjs +2 -0
  267. package/dist/theme/index.mjs.map +1 -1
  268. package/dist/theme/palette.generated.d.ts +232 -123
  269. package/dist/theme/palette.generated.d.ts.map +1 -1
  270. package/dist/theme/palette.generated.js +233 -123
  271. package/dist/theme/palette.generated.js.map +1 -1
  272. package/dist/theme/palette.generated.mjs +233 -124
  273. package/dist/theme/palette.generated.mjs.map +1 -1
  274. package/dist/theme/paletteSwatches.d.ts +20 -0
  275. package/dist/theme/paletteSwatches.d.ts.map +1 -1
  276. package/dist/theme/recipes/avatar.d.ts +30 -0
  277. package/dist/theme/recipes/avatar.d.ts.map +1 -0
  278. package/dist/theme/recipes/avatar.js +96 -0
  279. package/dist/theme/recipes/avatar.js.map +1 -0
  280. package/dist/theme/recipes/avatar.mjs +94 -0
  281. package/dist/theme/recipes/avatar.mjs.map +1 -0
  282. package/dist/translations/Defaults.translations.json.js +19 -1
  283. package/dist/translations/Defaults.translations.json.js.map +1 -1
  284. package/dist/translations/Defaults.translations.json.mjs +18 -2
  285. package/dist/translations/Defaults.translations.json.mjs.map +1 -1
  286. package/dist/utils/disabledControl.d.ts +8 -1
  287. package/dist/utils/disabledControl.d.ts.map +1 -1
  288. package/dist/utils/disabledControl.js +8 -1
  289. package/dist/utils/disabledControl.js.map +1 -1
  290. package/dist/utils/disabledControl.mjs +8 -1
  291. package/dist/utils/disabledControl.mjs.map +1 -1
  292. package/dist/utils/focusRing.d.ts +22 -0
  293. package/dist/utils/focusRing.d.ts.map +1 -1
  294. package/dist/utils/focusRing.js +22 -0
  295. package/dist/utils/focusRing.js.map +1 -1
  296. package/dist/utils/focusRing.mjs +21 -1
  297. package/dist/utils/focusRing.mjs.map +1 -1
  298. package/package.json +2 -1
  299. package/src/components/Accordion/Accordion.stories.tsx +85 -0
  300. package/src/components/Accordion/Accordion.usage.mdx +200 -0
  301. package/src/components/Appear/Appear.usage.mdx +107 -0
  302. package/src/components/Avatar/Avatar.recipe.test.tsx +176 -0
  303. package/src/components/Avatar/Avatar.stories.tsx +199 -24
  304. package/src/components/Avatar/Avatar.tsx +118 -21
  305. package/src/components/Avatar/Avatar.usage.mdx +185 -0
  306. package/src/components/Avatar/index.tsx +8 -1
  307. package/src/components/Badge/Badge.stories.tsx +193 -3
  308. package/src/components/Badge/Badge.tsx +5 -3
  309. package/src/components/Badge/Badge.types.ts +7 -5
  310. package/src/components/Badge/Badge.usage.mdx +265 -0
  311. package/src/components/Banner/Banner.stories.tsx +152 -2
  312. package/src/components/Banner/Banner.types.ts +30 -1
  313. package/src/components/Banner/Banner.usage.mdx +233 -0
  314. package/src/components/BottomSheet/BottomSheet.stories.tsx +168 -1
  315. package/src/components/BottomSheet/BottomSheet.test.tsx +2 -1
  316. package/src/components/BottomSheet/BottomSheet.usage.mdx +216 -0
  317. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +59 -0
  318. package/src/components/Breadcrumb/Breadcrumb.usage.mdx +181 -0
  319. package/src/components/Button/Button.focusableWhenDisabled.test.tsx +218 -0
  320. package/src/components/Button/Button.stories.tsx +332 -3
  321. package/src/components/Button/Button.tsx +46 -3
  322. package/src/components/Button/Button.types.ts +38 -1
  323. package/src/components/Button/Button.usage.mdx +358 -0
  324. package/src/components/Button/Button.variants.test.tsx +13 -1
  325. package/src/components/Card/Card.stories.tsx +106 -0
  326. package/src/components/Card/Card.types.ts +12 -0
  327. package/src/components/Card/Card.usage.mdx +216 -0
  328. package/src/components/Checkbox/Checkbox.stories.tsx +140 -13
  329. package/src/components/Checkbox/Checkbox.usage.mdx +214 -0
  330. package/src/components/Chip/Chip.usage.mdx +78 -0
  331. package/src/components/Code/Code.stories.tsx +60 -0
  332. package/src/components/Code/Code.usage.mdx +187 -0
  333. package/src/components/CodeTabs/CodeTabs.stories.tsx +53 -0
  334. package/src/components/CodeTabs/CodeTabs.styles.ts +6 -5
  335. package/src/components/CodeTabs/CodeTabs.usage.mdx +176 -0
  336. package/src/components/Collapsible/Collapsible.stories.tsx +58 -0
  337. package/src/components/Collapsible/Collapsible.usage.mdx +173 -0
  338. package/src/components/ColorMode/ColorMode.stories.tsx +50 -0
  339. package/src/components/ColorMode/ColorMode.usage.mdx +135 -0
  340. package/src/components/ColorMode/ColorModeToggle.tsx +10 -3
  341. package/src/components/Confetti/Confetti.types.ts +5 -1
  342. package/src/components/Confetti/Confetti.usage.mdx +111 -0
  343. package/src/components/Confetti/confettiColors.ts +5 -5
  344. package/src/components/Container/Container.stories.tsx +32 -0
  345. package/src/components/Container/Container.usage.mdx +130 -0
  346. package/src/components/CopyableCode/CopyableCode.stories.tsx +62 -0
  347. package/src/components/CopyableCode/CopyableCode.usage.mdx +168 -0
  348. package/src/components/CountBadge/CountBadge.stories.tsx +69 -0
  349. package/src/components/CountBadge/CountBadge.usage.mdx +215 -0
  350. package/src/components/CountUp/CountUp.usage.mdx +107 -0
  351. package/src/components/DatePicker/DatePicker.usage.mdx +177 -0
  352. package/src/components/DatePicker/RangeDatePicker.stories.tsx +87 -3
  353. package/src/components/ErrorFallback/ErrorFallback.types.ts +6 -0
  354. package/src/components/ErrorFallback/ErrorFallback.usage.mdx +127 -0
  355. package/src/components/ExpandableText/ExpandableText.stories.tsx +55 -0
  356. package/src/components/ExpandableText/ExpandableText.usage.mdx +176 -0
  357. package/src/components/FileInput/FileInput.stories.tsx +38 -1
  358. package/src/components/FileInput/FileInput.usage.mdx +178 -0
  359. package/src/components/FileItem/FileItem.stories.tsx +71 -0
  360. package/src/components/FileItem/FileItem.usage.mdx +180 -0
  361. package/src/components/FileList/FileList.stories.tsx +25 -0
  362. package/src/components/FileList/FileList.usage.mdx +165 -0
  363. package/src/components/FlyTo/FlyTo.usage.mdx +99 -0
  364. package/src/components/Form/Form.stories.tsx +149 -0
  365. package/src/components/Form/Form.usage.mdx +203 -0
  366. package/src/components/Form/FormModalFooter/FormModalFooter.stories.tsx +1 -1
  367. package/src/components/Form/FormModalFooter/FormModalFooter.test.tsx +19 -1
  368. package/src/components/Form/FormModalFooter/FormModalFooter.tsx +2 -0
  369. package/src/components/Form/FormModalFooter/FormModalFooter.types.ts +11 -1
  370. package/src/components/FormControl/FormControl.stories.tsx +35 -0
  371. package/src/components/FormControl/FormControl.usage.mdx +128 -0
  372. package/src/components/FormIntegration/FormIntegration.usage.mdx +158 -0
  373. package/src/components/FormLabel/FormLabel.stories.tsx +71 -0
  374. package/src/components/FormLabel/FormLabel.usage.mdx +125 -0
  375. package/src/components/Icon/Icon.stories.tsx +61 -1
  376. package/src/components/Icon/Icon.usage.mdx +158 -0
  377. package/src/components/IconButton/IconButton.stories.tsx +213 -5
  378. package/src/components/IconButton/IconButton.usage.mdx +275 -0
  379. package/src/components/InfoSprinkle/InfoSprinkle.stories.tsx +77 -1
  380. package/src/components/InfoSprinkle/InfoSprinkle.usage.mdx +189 -0
  381. package/src/components/InlineCode/InlineCode.stories.tsx +75 -0
  382. package/src/components/InlineCode/InlineCode.usage.mdx +142 -0
  383. package/src/components/Input/Input.stories.tsx +180 -0
  384. package/src/components/Input/Input.tsx +4 -0
  385. package/src/components/Input/Input.usage.mdx +278 -0
  386. package/src/components/LineGraph/LineGraph.stories.tsx +112 -0
  387. package/src/components/LineGraph/LineGraph.tsx +4 -5
  388. package/src/components/LineGraph/LineGraph.types.ts +12 -2
  389. package/src/components/LineGraph/LineGraph.usage.mdx +186 -0
  390. package/src/components/LineGraph/seriesColors.test.ts +10 -9
  391. package/src/components/LineGraph/seriesColors.ts +18 -16
  392. package/src/components/Loaders/Loaders.stories.tsx +93 -0
  393. package/src/components/Loaders/Loaders.usage.mdx +180 -0
  394. package/src/components/LogicianProvider/LogicianProvider.usage.mdx +98 -0
  395. package/src/components/Markdown/Markdown.stories.tsx +53 -0
  396. package/src/components/Markdown/Markdown.usage.mdx +182 -0
  397. package/src/components/Masonry/Masonry.stories.tsx +63 -1
  398. package/src/components/Masonry/Masonry.types.ts +8 -3
  399. package/src/components/Masonry/Masonry.usage.mdx +142 -0
  400. package/src/components/MaxLengthIndicator/MaxLengthIndicator.stories.tsx +57 -0
  401. package/src/components/MaxLengthIndicator/MaxLengthIndicator.usage.mdx +125 -0
  402. package/src/components/Menu/Menu.stories.tsx +146 -2
  403. package/src/components/Menu/Menu.usage.mdx +238 -0
  404. package/src/components/Menu/MenuItem.types.ts +8 -0
  405. package/src/components/Modal/Modal.stories.tsx +177 -1
  406. package/src/components/Modal/Modal.usage.mdx +262 -0
  407. package/src/components/Modal/ModalCloseButton.tsx +1 -1
  408. package/src/components/MonthPicker/MonthPicker.stories.tsx +30 -0
  409. package/src/components/MonthPicker/MonthPicker.usage.mdx +191 -0
  410. package/src/components/NavList/NavList.stories.tsx +927 -0
  411. package/src/components/NavList/NavList.styles.ts +114 -0
  412. package/src/components/NavList/NavList.test.tsx +1306 -0
  413. package/src/components/NavList/NavList.translations.json +9 -0
  414. package/src/components/NavList/NavList.tsx +160 -0
  415. package/src/components/NavList/NavList.types.ts +155 -0
  416. package/src/components/NavList/NavList.usage.mdx +545 -0
  417. package/src/components/NavList/NavListContext.ts +25 -0
  418. package/src/components/NavList/NavListGroup.tsx +243 -0
  419. package/src/components/NavList/NavListItem.tsx +543 -0
  420. package/src/components/NavList/NavListSkeleton.tsx +57 -0
  421. package/src/components/NavList/index.ts +15 -0
  422. package/src/components/Pagination/Pagination.stories.tsx +90 -1
  423. package/src/components/Pagination/Pagination.tsx +11 -10
  424. package/src/components/Pagination/Pagination.usage.mdx +186 -0
  425. package/src/components/PasswordInput/PasswordInput.stories.tsx +51 -0
  426. package/src/components/PasswordInput/PasswordInput.usage.mdx +193 -0
  427. package/src/components/PinInput/PinInput.stories.tsx +91 -0
  428. package/src/components/PinInput/PinInput.usage.mdx +194 -0
  429. package/src/components/Popover/Popover.stories.tsx +104 -1
  430. package/src/components/Popover/Popover.usage.mdx +197 -0
  431. package/src/components/ProgressBar/ProgressBar.stories.tsx +92 -1
  432. package/src/components/ProgressBar/ProgressBar.types.ts +9 -0
  433. package/src/components/ProgressBar/ProgressBar.usage.mdx +210 -0
  434. package/src/components/Pulse/Pulse.usage.mdx +102 -0
  435. package/src/components/RadialProgress/RadialProgress.stories.tsx +74 -1
  436. package/src/components/RadialProgress/RadialProgress.types.ts +21 -1
  437. package/src/components/RadialProgress/RadialProgress.usage.mdx +153 -0
  438. package/src/components/Radio/Radio.stories.tsx +119 -0
  439. package/src/components/Radio/Radio.usage.mdx +187 -0
  440. package/src/components/Reveal/Reveal.usage.mdx +105 -0
  441. package/src/components/ScaledContext/ScaledContext.usage.mdx +111 -0
  442. package/src/components/SeeMoreButton/SeeMoreButton.stories.tsx +146 -2
  443. package/src/components/SeeMoreButton/SeeMoreButton.types.ts +8 -0
  444. package/src/components/SeeMoreButton/SeeMoreButton.usage.mdx +213 -0
  445. package/src/components/SegmentedControl/SegmentedControl.stories.tsx +69 -0
  446. package/src/components/SegmentedControl/SegmentedControl.tsx +6 -7
  447. package/src/components/SegmentedControl/SegmentedControl.usage.mdx +209 -0
  448. package/src/components/SegmentedProgressBar/SegmentedProgressBar.stories.tsx +54 -0
  449. package/src/components/SegmentedProgressBar/SegmentedProgressBar.types.ts +2 -0
  450. package/src/components/SegmentedProgressBar/SegmentedProgressBar.usage.mdx +145 -0
  451. package/src/components/Select/Combobox.tsx +28 -3
  452. package/src/components/Select/Select.clearTrigger.test.tsx +76 -0
  453. package/src/components/Select/Select.stories.tsx +290 -1
  454. package/src/components/Select/Select.styles.ts +89 -0
  455. package/src/components/Select/Select.tsx +28 -2
  456. package/src/components/Select/Select.usage.mdx +341 -0
  457. package/src/components/Shake/Shake.usage.mdx +107 -0
  458. package/src/components/Slider/Slider.stories.tsx +116 -0
  459. package/src/components/Slider/Slider.usage.mdx +179 -0
  460. package/src/components/Spinner/Spinner.stories.tsx +64 -0
  461. package/src/components/Spinner/Spinner.usage.mdx +136 -0
  462. package/src/components/SwapTransition/SwapTransition.usage.mdx +102 -0
  463. package/src/components/Switch/Switch.stories.tsx +131 -6
  464. package/src/components/Switch/Switch.usage.mdx +199 -0
  465. package/src/components/Table/Table.stories.tsx +159 -1
  466. package/src/components/Table/Table.usage.mdx +235 -0
  467. package/src/components/Tabs/Tab/Tab.styles.ts +1 -1
  468. package/src/components/Tabs/Tabs.stories.tsx +86 -0
  469. package/src/components/Tabs/Tabs.usage.mdx +263 -0
  470. package/src/components/Tag/Tag.stories.tsx +181 -4
  471. package/src/components/Tag/Tag.usage.mdx +257 -0
  472. package/src/components/Textarea/Textarea.stories.tsx +113 -0
  473. package/src/components/Textarea/Textarea.tsx +4 -0
  474. package/src/components/Textarea/Textarea.usage.mdx +186 -0
  475. package/src/components/Toast/Toast.stories.tsx +185 -3
  476. package/src/components/Toast/Toast.styles.ts +18 -10
  477. package/src/components/Toast/Toast.usage.mdx +265 -0
  478. package/src/components/Tooltip/Tooltip.stories.tsx +86 -1
  479. package/src/components/Tooltip/Tooltip.usage.mdx +219 -0
  480. package/src/components/Tree/Tree.stories.tsx +89 -0
  481. package/src/components/Tree/Tree.usage.mdx +207 -0
  482. package/src/components/Typography/Caption.tsx +0 -1
  483. package/src/components/Typography/H1.tsx +0 -1
  484. package/src/components/Typography/H2.tsx +0 -1
  485. package/src/components/Typography/H3.tsx +0 -1
  486. package/src/components/Typography/H4.tsx +0 -1
  487. package/src/components/Typography/H5.tsx +0 -1
  488. package/src/components/Typography/Link.tsx +0 -1
  489. package/src/components/Typography/Overline.tsx +0 -1
  490. package/src/components/Typography/Subtext.tsx +0 -1
  491. package/src/components/Typography/Subtitle.tsx +0 -1
  492. package/src/components/Typography/Text.tsx +0 -1
  493. package/src/components/Typography/Typography.stories.tsx +117 -0
  494. package/src/components/Typography/Typography.usage.mdx +257 -0
  495. package/src/components/Workflow/Workflow.usage.mdx +199 -0
  496. package/src/components/a11y.kwcag.test.tsx +66 -0
  497. package/src/components/claude.md +1 -1
  498. package/src/components/noRawScales.test.ts +5 -1
  499. package/src/foundations/BrandAssets.mdx +637 -0
  500. package/src/foundations/BrandAssets.stories.tsx +680 -0
  501. package/src/foundations/BrandColour.mdx +366 -0
  502. package/src/foundations/BrandColour.stories.tsx +343 -0
  503. package/src/guidelines/ComponentPageTemplate.mdx +84 -0
  504. package/src/guidelines/FeedbackActions.mdx +162 -23
  505. package/src/guidelines/_components/Lang.tsx +175 -0
  506. package/src/guidelines/_components/TokenTable.tsx +136 -0
  507. package/src/hooks/useLanguage.ts +8 -3
  508. package/src/hooks/useTranslate.test.tsx +46 -0
  509. package/src/hooks/useTranslate.ts +7 -5
  510. package/src/index.ts +7 -1
  511. package/src/theme/BazePalette.stories.tsx +111 -1
  512. package/src/theme/Palette.stories.tsx +2 -2
  513. package/src/theme/SemanticTokens.mdx +76 -17
  514. package/src/theme/claude.md +23 -9
  515. package/src/theme/colors.ts +71 -18
  516. package/src/theme/contrast.test.ts +57 -0
  517. package/src/theme/global.ts +20 -1
  518. package/src/theme/index.ts +2 -0
  519. package/src/theme/palette.generated.ts +233 -123
  520. package/src/theme/paletteSwatches.test.ts +1 -1
  521. package/src/theme/paletteSwatches.ts +35 -0
  522. package/src/theme/recipes/avatar.ts +92 -0
  523. package/src/translations/Defaults.translations.json +14 -0
  524. package/src/utils/disabledControl.ts +8 -1
  525. package/src/utils/focusRing.ts +23 -0
@@ -0,0 +1,207 @@
1
+ import { Canvas, Meta } from '@storybook/blocks';
2
+
3
+ import { En, Ko, LangToggle, Verdict } from '../../guidelines/_components/Lang';
4
+ import * as TreeStories from './Tree.stories';
5
+
6
+ <Meta of={TreeStories} name="Usage" />
7
+
8
+ <LangToggle />
9
+
10
+ <En>
11
+
12
+ # Tree
13
+
14
+ A hierarchy the user browses and selects from, such as an organisation's
15
+ groups: 본사 › 개발본부 › 백엔드그룹 › API팀. Built on Chakra's TreeView, with
16
+ the house hover, selection and focus styles.
17
+
18
+ Data comes in through `createTreeCollection`; `Tree.Node` renders each node
19
+ with your `render` function, as a `Tree.BranchControl` (has children) or a
20
+ `Tree.Item` (leaf).
21
+
22
+ ## When to use
23
+
24
+ - Data that really nests, more than one level deep, where the parent matters:
25
+ groups and sub-groups, folders.
26
+ - When the user picks one node (`selectionMode="single"`, the default) or
27
+ several (`"multiple"`), or expands branches to find one.
28
+
29
+ ## When not to use
30
+
31
+ - A flat list → a plain list, `Select`, or `Table`.
32
+ - Two levels where the parent is only a heading → a list with section headings,
33
+ or `Accordion`.
34
+ - Records with several attributes to compare → `Table`.
35
+ - Site navigation → links in a nav landmark. A tree is a widget, not a
36
+ navigation menu.
37
+
38
+ ## Options
39
+
40
+ | Option | Means |
41
+ | --- | --- |
42
+ | `selectionMode` | `single` (default) or `multiple` (Ctrl/Cmd-click, Shift-click for a range) |
43
+ | `defaultExpandedValue` / `expandedValue` | Branches open at start, or controlled |
44
+ | `defaultSelectedValue` / `selectedValue` | Selected nodes at start, or controlled |
45
+ | `size` | `xs` / `sm` / `md`: text, padding, indent and icon scale together |
46
+ | `Tree.BranchIndentGuide elbow` | `├` / `└` guide lines instead of a plain rail; `guideColor` (default `border.default`) and `footLength` tune it |
47
+ | `Tree.BranchIndicator` children | Replace the chevron, e.g. with a folder icon |
48
+
49
+ ## Do / Don't
50
+
51
+ </En>
52
+
53
+ <Ko>
54
+
55
+ # Tree
56
+
57
+ 사용자가 펼쳐 보며 고르는 계층 구조입니다. 예를 들어 기관의 그룹(본사 › 개발본부 ›
58
+ 백엔드그룹 › API팀)을 보여 줍니다. Chakra의 TreeView 위에 이 디자인 시스템의 호버,
59
+ 선택, 초점 스타일을 얹었습니다.
60
+
61
+ 데이터는 `createTreeCollection`으로 넘기고, `Tree.Node`가 넘겨받은 `render` 함수로
62
+ 노드를 하나씩 그립니다. 자식이 있으면 `Tree.BranchControl`, 없으면 `Tree.Item`으로
63
+ 그립니다.
64
+
65
+ ## 언제 쓰나요
66
+
67
+ - 실제로 두 단계 넘게 중첩되고 상위 항목이 의미를 가지는 데이터: 그룹과 하위 그룹,
68
+ 폴더.
69
+ - 사용자가 노드 하나(`selectionMode="single"`, 기본값)나 여러 개(`"multiple"`)를
70
+ 고르거나, 가지를 펼쳐 가며 찾을 때.
71
+
72
+ ## 언제 쓰지 않나요
73
+
74
+ - 단계가 없는 목록이라면 일반 목록, `Select`, `Table`을 씁니다.
75
+ - 상위 항목이 제목 역할만 하는 두 단계라면 섹션 제목이 있는 목록이나 `Accordion`을
76
+ 씁니다.
77
+ - 여러 속성을 비교하는 기록이라면 `Table`을 씁니다.
78
+ - 사이트 내비게이션에는 nav 랜드마크 안의 링크를 씁니다. 트리는 위젯이지 탐색 메뉴가
79
+ 아닙니다.
80
+
81
+ ## 옵션
82
+
83
+ | 옵션 | 뜻 |
84
+ | --- | --- |
85
+ | `selectionMode` | `single`(기본값) 또는 `multiple`(Ctrl/Cmd 클릭, 범위는 Shift 클릭) |
86
+ | `defaultExpandedValue` / `expandedValue` | 처음 펼쳐 둘 가지, 또는 제어 값 |
87
+ | `defaultSelectedValue` / `selectedValue` | 처음 선택할 노드, 또는 제어 값 |
88
+ | `size` | `xs` / `sm` / `md`. 글자, 여백, 들여쓰기, 아이콘 크기가 함께 바뀝니다 |
89
+ | `Tree.BranchIndentGuide elbow` | 세로줄 대신 `├` / `└` 안내선. `guideColor`(기본 `border.default`)와 `footLength`로 조정합니다 |
90
+ | `Tree.BranchIndicator`의 children | 화살표 대신 폴더 아이콘 같은 다른 표시를 넣습니다 |
91
+
92
+ ## 이렇게 하세요 / 이렇게 하지 마세요
93
+
94
+ </Ko>
95
+
96
+ <Canvas of={TreeStories.DoNamedWithElbows} />
97
+ <Verdict
98
+ kind="do"
99
+ en="Name the tree with Tree.Label (or aria-label on Tree.Root), and use elbow guides when it goes three or more levels deep."
100
+ ko="Tree.Label(또는 Tree.Root의 aria-label)로 트리에 이름을 붙이고, 세 단계 넘게 깊어지면 elbow 안내선을 씁니다."
101
+ />
102
+
103
+ <Canvas of={TreeStories.DontFlatList} />
104
+ <Verdict
105
+ kind="dont"
106
+ en="Use a tree for a flat list. It adds tree keyboard rules and announcements for no hierarchy; a list or Select is simpler."
107
+ ko="단계가 없는 목록에 트리를 쓰지 마세요. 계층이 없는데도 트리 키보드 규칙과 낭독이 붙습니다. 목록이나 Select가 더 단순합니다."
108
+ />
109
+
110
+ <En>
111
+
112
+ ## Content
113
+
114
+ - Node names are short nouns, the name the user knows the thing by.
115
+ - Do not repeat the parent in the child: 백엔드그룹 › API팀, not 백엔드그룹 ›
116
+ 백엔드그룹 API팀.
117
+ - Long names wrap; keep the tree in a column wide enough that most names fit
118
+ on one line.
119
+
120
+ ## Accessibility
121
+
122
+ What Tree does for you:
123
+
124
+ - Chakra/Ark render the tree pattern: `role="tree"` on the tree, `treeitem`
125
+ on each node, with `aria-expanded` on branches and `aria-selected` on
126
+ selected nodes (WCAG 4.1.2).
127
+ - It is one tab stop. Arrow keys move between nodes and open or close
128
+ branches, Home/End jump to the first and last node, and typing a letter
129
+ moves to a matching name (WCAG 2.1.1).
130
+ - Rows and branch triggers show the shared focus ring on keyboard focus
131
+ (WCAG 2.4.7).
132
+
133
+ What you still have to do:
134
+
135
+ - **Give the tree a name**: `Tree.Label` inside `Tree.Root`, or `aria-label`
136
+ on `Tree.Root` (WCAG 4.1.2).
137
+ - **Keep interactive content out of rows.** A row is already the control; a
138
+ button inside a `treeitem` is a nested interactive control
139
+ (`ACCESSIBILITY.md` §3). Put row actions in a toolbar outside the tree, or
140
+ use `Tree.NodeCheckbox` for checkable trees.
141
+ - A custom `BranchIndicator` icon is decorative; the expanded state is
142
+ already announced.
143
+
144
+ ## Tokens
145
+
146
+ The colours the Tree parts set on top of the Chakra recipe.
147
+
148
+ </En>
149
+
150
+ <Ko>
151
+
152
+ ## 문구
153
+
154
+ - 노드 이름은 사용자가 그 대상을 부르는 짧은 명사로 씁니다.
155
+ - 하위 항목에 상위 이름을 되풀이하지 않습니다. '백엔드그룹 › 백엔드그룹 API팀'이
156
+ 아니라 '백엔드그룹 › API팀'으로 씁니다.
157
+ - 긴 이름은 줄바꿈됩니다. 이름 대부분이 한 줄에 들어갈 만큼 넓은 열에 트리를 둡니다.
158
+
159
+ ## 접근성
160
+
161
+ Tree가 알아서 하는 일
162
+
163
+ - Chakra/Ark가 트리 패턴을 그립니다. 트리에는 `role="tree"`, 노드마다 `treeitem`을
164
+ 주고, 가지에는 `aria-expanded`, 선택된 노드에는 `aria-selected`를 붙입니다(WCAG
165
+ 4.1.2).
166
+ - 탭 한 번으로 들어가는 하나의 정지점입니다. 화살표 키로 노드를 오가며 가지를 열고
167
+ 닫고, Home/End로 처음과 끝 노드로 가고, 글자를 입력하면 그 글자로 시작하는 이름으로
168
+ 이동합니다(WCAG 2.1.1).
169
+ - 키보드로 초점이 오면 행과 가지 트리거에 공통 초점 링이 나타납니다(WCAG 2.4.7).
170
+
171
+ 직접 챙겨야 하는 일
172
+
173
+ - **트리에 이름을 붙입니다.** `Tree.Root` 안에 `Tree.Label`을 두거나 `Tree.Root`에
174
+ `aria-label`을 줍니다(WCAG 4.1.2).
175
+ - **행 안에 상호작용 요소를 넣지 않습니다.** 행 자체가 이미 컨트롤이라, `treeitem`
176
+ 안의 버튼은 상호작용 요소 중첩이 됩니다(`ACCESSIBILITY.md` 3절). 행 동작은 트리 밖의
177
+ 도구 모음에 두고, 체크가 필요하면 `Tree.NodeCheckbox`를 씁니다.
178
+ - 직접 넣은 `BranchIndicator` 아이콘은 장식입니다. 펼침 상태는 이미 읽어 줍니다.
179
+
180
+ ## 토큰
181
+
182
+ Chakra 레시피 위에 Tree 파트들이 정하는 색입니다.
183
+
184
+ </Ko>
185
+
186
+ <Canvas of={TreeStories.UsageTokens} sourceState="none" />
187
+
188
+ <En>
189
+
190
+ ## Related
191
+
192
+ - **Table**: flat records with columns.
193
+ - **Accordion** / **Collapsible**: sections that open, not a selectable
194
+ hierarchy.
195
+ - **Checkbox**: checkable trees use `Tree.NodeCheckbox`.
196
+
197
+ </En>
198
+
199
+ <Ko>
200
+
201
+ ## 관련 컴포넌트
202
+
203
+ - **Table**: 열이 있는 평평한 기록.
204
+ - **Accordion** / **Collapsible**: 고르는 계층이 아니라 여닫는 섹션.
205
+ - **Checkbox**: 체크할 수 있는 트리에는 `Tree.NodeCheckbox`를 씁니다.
206
+
207
+ </Ko>
@@ -28,7 +28,6 @@ const CaptionImpl = forwardRef<HTMLParagraphElement, TypographyOwnProps>(
28
28
  textStyle={fontSize ? undefined : 'caption'}
29
29
  fontSize={fontSize}
30
30
  color="fg.subtle"
31
- wordBreak="keep-all"
32
31
  {...rest}
33
32
  />
34
33
  );
@@ -14,7 +14,6 @@ const H1Impl = forwardRef<HTMLHeadingElement, HeadingOwnProps>((props, ref) => {
14
14
  color="fg.emphasized"
15
15
  textStyle={fontSize ? undefined : 'h1'}
16
16
  fontSize={fontSize}
17
- wordBreak="keep-all"
18
17
  {...rest}
19
18
  />
20
19
  );
@@ -14,7 +14,6 @@ const H2Impl = forwardRef<HTMLHeadingElement, HeadingOwnProps>((props, ref) => {
14
14
  color="fg.emphasized"
15
15
  textStyle={fontSize ? undefined : 'h2'}
16
16
  fontSize={fontSize}
17
- wordBreak="keep-all"
18
17
  {...rest}
19
18
  />
20
19
  );
@@ -14,7 +14,6 @@ const H3Impl = forwardRef<HTMLHeadingElement, HeadingOwnProps>((props, ref) => {
14
14
  color="fg.emphasized"
15
15
  textStyle={fontSize ? undefined : 'h3'}
16
16
  fontSize={fontSize}
17
- wordBreak="keep-all"
18
17
  {...rest}
19
18
  />
20
19
  );
@@ -14,7 +14,6 @@ const H4Impl = forwardRef<HTMLHeadingElement, HeadingOwnProps>((props, ref) => {
14
14
  color="fg.emphasized"
15
15
  textStyle={fontSize ? undefined : 'h4'}
16
16
  fontSize={fontSize}
17
- wordBreak="keep-all"
18
17
  {...rest}
19
18
  />
20
19
  );
@@ -14,7 +14,6 @@ const H5Impl = forwardRef<HTMLHeadingElement, HeadingOwnProps>((props, ref) => {
14
14
  color="fg.emphasized"
15
15
  textStyle={fontSize ? undefined : 'h5'}
16
16
  fontSize={fontSize}
17
- wordBreak="keep-all"
18
17
  {...rest}
19
18
  />
20
19
  );
@@ -75,7 +75,6 @@ const LinkImpl = forwardRef<HTMLAnchorElement, LinkOwnProps>(
75
75
  // scale the way `primary.main` used to. `{...rest}` below still lets
76
76
  // a call site override it.
77
77
  fontWeight={500}
78
- wordBreak="keep-all"
79
78
  color={linkColor}
80
79
  textDecoration="underline"
81
80
  textDecorationThickness="1px"
@@ -26,7 +26,6 @@ const OverlineImpl = forwardRef<HTMLParagraphElement, TypographyOwnProps>(
26
26
  textStyle={fontSize ? undefined : 'overline'}
27
27
  fontSize={fontSize}
28
28
  color="fg.muted"
29
- wordBreak="keep-all"
30
29
  {...rest}
31
30
  />
32
31
  );
@@ -14,7 +14,6 @@ const SubtextImpl = forwardRef<HTMLParagraphElement, TypographyOwnProps>(
14
14
  textStyle={fontSize ? undefined : 'subtext'}
15
15
  fontSize={fontSize}
16
16
  color="fg.default"
17
- wordBreak="keep-all"
18
17
  {...rest}
19
18
  />
20
19
  );
@@ -31,7 +31,6 @@ const SubtitleImpl = forwardRef<HTMLParagraphElement, TypographyOwnProps>(
31
31
  textStyle={fontSize ? undefined : 'subtitle'}
32
32
  fontSize={fontSize}
33
33
  color="fg.muted"
34
- wordBreak="keep-all"
35
34
  {...rest}
36
35
  />
37
36
  );
@@ -17,7 +17,6 @@ const TextImpl = forwardRef<HTMLParagraphElement, TypographyOwnProps>(
17
17
  textStyle={fontSize ? undefined : 'p'}
18
18
  fontSize={fontSize}
19
19
  color="fg.default"
20
- wordBreak="keep-all"
21
20
  {...rest}
22
21
  />
23
22
  );
@@ -1,5 +1,9 @@
1
+ import { Stack } from '@chakra-ui/react';
1
2
  import { Meta, StoryObj } from '@storybook/react';
2
3
 
4
+ import { T } from '../../guidelines/_components/Lang';
5
+ import { TokenTable } from '../../guidelines/_components/TokenTable';
6
+ import { Card } from '../Card';
3
7
  import { InlineCode } from '../InlineCode';
4
8
 
5
9
  import {
@@ -14,6 +18,7 @@ import {
14
18
  Subtext,
15
19
  Subtitle,
16
20
  Text,
21
+ LINK_RAMP,
17
22
  } from '.';
18
23
 
19
24
  const meta = {
@@ -119,3 +124,115 @@ export const AsElement: Story = {
119
124
  </>
120
125
  ),
121
126
  };
127
+
128
+ // ───────────────────────── Usage-page specimens ─────────────────────────
129
+ // Pulled into `Typography.usage.mdx` with <Canvas of={…} />. Hidden from the
130
+ // sidebar (`!dev`); `tags` is written out on each story because the indexer
131
+ // reads CSF statically.
132
+
133
+ export const DoLevelFromOutline: Story = {
134
+ tags: ['!dev'],
135
+ parameters: { layout: 'padded' },
136
+ name: 'Usage / Do: size by layout, level by outline',
137
+ render: () => (
138
+ <Card p={6} maxW="420px">
139
+ <H3 as="h2" mb={1}>
140
+ 사용량
141
+ </H3>
142
+ <Subtext color="fg.muted">이번 달 1일부터 오늘까지의 합계입니다.</Subtext>
143
+ </Card>
144
+ ),
145
+ };
146
+
147
+ export const DontSubtitleAsHeading: Story = {
148
+ tags: ['!dev'],
149
+ parameters: { layout: 'padded' },
150
+ name: "Usage / Don't: a heading tag for helper copy",
151
+ render: () => (
152
+ <Card p={6} maxW="420px">
153
+ <H2 mb={1}>사용량</H2>
154
+ <Subtitle as="h6">이번 달 1일부터 오늘까지의 합계입니다.</Subtitle>
155
+ </Card>
156
+ ),
157
+ };
158
+
159
+ export const DoLinkSaysWhere: Story = {
160
+ tags: ['!dev'],
161
+ parameters: { layout: 'padded' },
162
+ name: 'Usage / Do: the link text names the destination',
163
+ render: () => (
164
+ <Text>
165
+ 팀 요금제는 인원 수에 따라 달라집니다.{' '}
166
+ <Link href="#plans">요금제 비교 보기</Link>
167
+ </Text>
168
+ ),
169
+ };
170
+
171
+ export const DontLinkHere: Story = {
172
+ tags: ['!dev'],
173
+ parameters: { layout: 'padded' },
174
+ name: "Usage / Don't: “click here” and no underline",
175
+ render: () => (
176
+ <Text>
177
+ 팀 요금제가 궁금하다면{' '}
178
+ <Link href="#plans" textDecoration="none">
179
+ 여기
180
+ </Link>
181
+ 를 누르세요.
182
+ </Text>
183
+ ),
184
+ };
185
+
186
+ export const DoCaptionForMetadata: Story = {
187
+ tags: ['!dev'],
188
+ parameters: { layout: 'padded' },
189
+ name: 'Usage / Do: Caption for metadata only',
190
+ render: () => (
191
+ <Stack gap={1} maxW="420px">
192
+ <Text>회의록 요약이 준비되었습니다.</Text>
193
+ <Caption>오후 3:42 · 12분 분량</Caption>
194
+ </Stack>
195
+ ),
196
+ };
197
+
198
+ export const DontCaptionForErrors: Story = {
199
+ tags: ['!dev'],
200
+ parameters: { layout: 'padded' },
201
+ name: "Usage / Don't: Caption for something the user must act on",
202
+ render: () => (
203
+ <Stack gap={1} maxW="420px">
204
+ <Text>회의록 요약이 준비되지 않았습니다.</Text>
205
+ <Caption>녹음 파일이 손상되어 다시 올려야 합니다.</Caption>
206
+ </Stack>
207
+ ),
208
+ };
209
+
210
+ const TEXT_TOKENS = [
211
+ { token: 'fg.emphasized', en: 'H1–H5', ko: 'H1–H5' },
212
+ { token: 'fg.default', en: 'Text, Subtext', ko: 'Text, Subtext' },
213
+ { token: 'fg.muted', en: 'Subtitle, Overline', ko: 'Subtitle, Overline' },
214
+ { token: 'fg.subtle', en: 'Caption', ko: 'Caption' },
215
+ ];
216
+
217
+ /** Text colours each tier sets by default, and the link ramp (`LINK_RAMP`). */
218
+ export const UsageTokens: Story = {
219
+ tags: ['!dev'],
220
+ parameters: { layout: 'padded' },
221
+ name: 'Usage / Tokens',
222
+ render: () => (
223
+ <TokenTable
224
+ rows={[
225
+ ...TEXT_TOKENS.map(({ token, en, ko }) => ({
226
+ token,
227
+ use: <T en={en} ko={ko} />,
228
+ })),
229
+ // `errorHover` is the same token as `error` (no darker danger token
230
+ // exists), so it is not listed twice.
231
+ ...(['default', 'defaultHover', 'error'] as const).map((state) => ({
232
+ token: LINK_RAMP[state],
233
+ use: <T en={`Link · ${state}`} ko={`Link · ${state}`} />,
234
+ })),
235
+ ]}
236
+ />
237
+ ),
238
+ };