@k8ordo/ui 1.0.0

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 (425) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +624 -0
  3. package/dist/components/_internal/focus-ring.d.mts +8 -0
  4. package/dist/components/_internal/focus-ring.mjs +8 -0
  5. package/dist/components/ai/_internal/collapsible.d.mts +13 -0
  6. package/dist/components/ai/_internal/collapsible.mjs +49 -0
  7. package/dist/components/ai/_internal/streaming-cursor.d.mts +5 -0
  8. package/dist/components/ai/_internal/streaming-cursor.mjs +8 -0
  9. package/dist/components/ai/conversation/conversation.d.mts +18 -0
  10. package/dist/components/ai/conversation/conversation.mjs +111 -0
  11. package/dist/components/ai/conversation/index.d.mts +2 -0
  12. package/dist/components/ai/conversation/index.mjs +2 -0
  13. package/dist/components/ai/index.d.mts +14 -0
  14. package/dist/components/ai/index.mjs +7 -0
  15. package/dist/components/ai/message/index.d.mts +2 -0
  16. package/dist/components/ai/message/index.mjs +2 -0
  17. package/dist/components/ai/message/message.d.mts +17 -0
  18. package/dist/components/ai/message/message.mjs +34 -0
  19. package/dist/components/ai/prompt-input/index.d.mts +2 -0
  20. package/dist/components/ai/prompt-input/index.mjs +2 -0
  21. package/dist/components/ai/prompt-input/prompt-input.d.mts +27 -0
  22. package/dist/components/ai/prompt-input/prompt-input.mjs +108 -0
  23. package/dist/components/ai/reasoning/index.d.mts +2 -0
  24. package/dist/components/ai/reasoning/index.mjs +2 -0
  25. package/dist/components/ai/reasoning/reasoning.d.mts +12 -0
  26. package/dist/components/ai/reasoning/reasoning.mjs +25 -0
  27. package/dist/components/ai/response/index.d.mts +2 -0
  28. package/dist/components/ai/response/index.mjs +2 -0
  29. package/dist/components/ai/response/response.d.mts +20 -0
  30. package/dist/components/ai/response/response.mjs +57 -0
  31. package/dist/components/ai/suggestion/index.d.mts +2 -0
  32. package/dist/components/ai/suggestion/index.mjs +2 -0
  33. package/dist/components/ai/suggestion/suggestion.d.mts +17 -0
  34. package/dist/components/ai/suggestion/suggestion.mjs +29 -0
  35. package/dist/components/ai/tool-invocation/index.d.mts +2 -0
  36. package/dist/components/ai/tool-invocation/index.mjs +2 -0
  37. package/dist/components/ai/tool-invocation/tool-invocation.d.mts +17 -0
  38. package/dist/components/ai/tool-invocation/tool-invocation.mjs +73 -0
  39. package/dist/components/ai/types.d.mts +5 -0
  40. package/dist/components/ai/types.mjs +1 -0
  41. package/dist/components/buttons/button/button.d.mts +27 -0
  42. package/dist/components/buttons/button/button.mjs +60 -0
  43. package/dist/components/buttons/button/index.d.mts +2 -0
  44. package/dist/components/buttons/button/index.mjs +2 -0
  45. package/dist/components/buttons/icon-button/icon-button.d.mts +29 -0
  46. package/dist/components/buttons/icon-button/icon-button.mjs +84 -0
  47. package/dist/components/buttons/icon-button/index.d.mts +2 -0
  48. package/dist/components/buttons/icon-button/index.mjs +2 -0
  49. package/dist/components/data-display/accordion/accordion-button.d.mts +5 -0
  50. package/dist/components/data-display/accordion/accordion-button.mjs +26 -0
  51. package/dist/components/data-display/accordion/accordion-item.d.mts +9 -0
  52. package/dist/components/data-display/accordion/accordion-item.mjs +20 -0
  53. package/dist/components/data-display/accordion/accordion-panel.d.mts +5 -0
  54. package/dist/components/data-display/accordion/accordion-panel.mjs +18 -0
  55. package/dist/components/data-display/accordion/accordion.d.mts +5 -0
  56. package/dist/components/data-display/accordion/accordion.mjs +8 -0
  57. package/dist/components/data-display/accordion/context.d.mts +14 -0
  58. package/dist/components/data-display/accordion/context.mjs +32 -0
  59. package/dist/components/data-display/accordion/index.d.mts +19 -0
  60. package/dist/components/data-display/accordion/index.mjs +13 -0
  61. package/dist/components/data-display/avatar/avatar.d.mts +14 -0
  62. package/dist/components/data-display/avatar/avatar.mjs +43 -0
  63. package/dist/components/data-display/avatar/index.d.mts +2 -0
  64. package/dist/components/data-display/avatar/index.mjs +2 -0
  65. package/dist/components/data-display/badge/badge.d.mts +21 -0
  66. package/dist/components/data-display/badge/badge.mjs +27 -0
  67. package/dist/components/data-display/badge/index.d.mts +2 -0
  68. package/dist/components/data-display/badge/index.mjs +2 -0
  69. package/dist/components/data-display/card/card.d.mts +10 -0
  70. package/dist/components/data-display/card/card.mjs +10 -0
  71. package/dist/components/data-display/card/index.d.mts +2 -0
  72. package/dist/components/data-display/card/index.mjs +2 -0
  73. package/dist/components/data-display/code/code.d.mts +8 -0
  74. package/dist/components/data-display/code/code.mjs +35 -0
  75. package/dist/components/data-display/code/find-all-colors.d.mts +16 -0
  76. package/dist/components/data-display/code/find-all-colors.mjs +267 -0
  77. package/dist/components/data-display/code/index.d.mts +2 -0
  78. package/dist/components/data-display/code/index.mjs +2 -0
  79. package/dist/components/data-display/heading/heading.d.mts +9 -0
  80. package/dist/components/data-display/heading/heading.mjs +46 -0
  81. package/dist/components/data-display/heading/index.d.mts +2 -0
  82. package/dist/components/data-display/heading/index.mjs +2 -0
  83. package/dist/components/data-display/table/index.d.mts +2 -0
  84. package/dist/components/data-display/table/index.mjs +2 -0
  85. package/dist/components/data-display/table/table.d.mts +33 -0
  86. package/dist/components/data-display/table/table.mjs +62 -0
  87. package/dist/components/feedback/alert/alert.d.mts +19 -0
  88. package/dist/components/feedback/alert/alert.mjs +71 -0
  89. package/dist/components/feedback/alert/index.d.mts +2 -0
  90. package/dist/components/feedback/alert/index.mjs +2 -0
  91. package/dist/components/feedback/progress/index.d.mts +2 -0
  92. package/dist/components/feedback/progress/index.mjs +2 -0
  93. package/dist/components/feedback/progress/progress.d.mts +11 -0
  94. package/dist/components/feedback/progress/progress.mjs +21 -0
  95. package/dist/components/feedback/skeleton/index.d.mts +2 -0
  96. package/dist/components/feedback/skeleton/index.mjs +2 -0
  97. package/dist/components/feedback/skeleton/skeleton.d.mts +10 -0
  98. package/dist/components/feedback/skeleton/skeleton.mjs +10 -0
  99. package/dist/components/feedback/spinner/index.d.mts +2 -0
  100. package/dist/components/feedback/spinner/index.mjs +2 -0
  101. package/dist/components/feedback/spinner/spinner.d.mts +9 -0
  102. package/dist/components/feedback/spinner/spinner.mjs +24 -0
  103. package/dist/components/feedback/toast/context.d.mts +34 -0
  104. package/dist/components/feedback/toast/context.mjs +7 -0
  105. package/dist/components/feedback/toast/index.d.mts +3 -0
  106. package/dist/components/feedback/toast/index.mjs +3 -0
  107. package/dist/components/feedback/toast/provider.d.mts +8 -0
  108. package/dist/components/feedback/toast/provider.mjs +171 -0
  109. package/dist/components/feedback/toast/toast.d.mts +15 -0
  110. package/dist/components/feedback/toast/toast.mjs +32 -0
  111. package/dist/components/form/autocomplete/autocomplete.d.mts +23 -0
  112. package/dist/components/form/autocomplete/autocomplete.mjs +225 -0
  113. package/dist/components/form/autocomplete/index.d.mts +2 -0
  114. package/dist/components/form/autocomplete/index.mjs +2 -0
  115. package/dist/components/form/checkbox/checkbox.d.mts +21 -0
  116. package/dist/components/form/checkbox/checkbox.mjs +59 -0
  117. package/dist/components/form/checkbox/index.d.mts +2 -0
  118. package/dist/components/form/checkbox/index.mjs +2 -0
  119. package/dist/components/form/checkbox-card/checkbox-card.d.mts +29 -0
  120. package/dist/components/form/checkbox-card/checkbox-card.mjs +76 -0
  121. package/dist/components/form/checkbox-card/index.d.mts +2 -0
  122. package/dist/components/form/checkbox-card/index.mjs +2 -0
  123. package/dist/components/form/checkbox-group/checkbox-group.d.mts +29 -0
  124. package/dist/components/form/checkbox-group/checkbox-group.mjs +43 -0
  125. package/dist/components/form/checkbox-group/index.d.mts +34 -0
  126. package/dist/components/form/checkbox-group/index.mjs +9 -0
  127. package/dist/components/form/file-field/file-field.d.mts +27 -0
  128. package/dist/components/form/file-field/file-field.mjs +129 -0
  129. package/dist/components/form/file-field/index.d.mts +2 -0
  130. package/dist/components/form/file-field/index.mjs +2 -0
  131. package/dist/components/form/form/form.d.mts +9 -0
  132. package/dist/components/form/form/form.mjs +11 -0
  133. package/dist/components/form/form/index.d.mts +2 -0
  134. package/dist/components/form/form/index.mjs +2 -0
  135. package/dist/components/form/form-control/form-control.d.mts +23 -0
  136. package/dist/components/form/form-control/form-control.mjs +61 -0
  137. package/dist/components/form/form-control/index.d.mts +2 -0
  138. package/dist/components/form/form-control/index.mjs +2 -0
  139. package/dist/components/form/number-field/cast.d.mts +4 -0
  140. package/dist/components/form/number-field/cast.mjs +32 -0
  141. package/dist/components/form/number-field/index.d.mts +2 -0
  142. package/dist/components/form/number-field/index.mjs +2 -0
  143. package/dist/components/form/number-field/number-field.d.mts +25 -0
  144. package/dist/components/form/number-field/number-field.mjs +115 -0
  145. package/dist/components/form/password-input/index.d.mts +2 -0
  146. package/dist/components/form/password-input/index.mjs +2 -0
  147. package/dist/components/form/password-input/password-input.d.mts +11 -0
  148. package/dist/components/form/password-input/password-input.mjs +36 -0
  149. package/dist/components/form/radio/index.d.mts +2 -0
  150. package/dist/components/form/radio/index.mjs +2 -0
  151. package/dist/components/form/radio/radio.d.mts +24 -0
  152. package/dist/components/form/radio/radio.mjs +51 -0
  153. package/dist/components/form/radio-card/index.d.mts +2 -0
  154. package/dist/components/form/radio-card/index.mjs +2 -0
  155. package/dist/components/form/radio-card/radio-card.d.mts +29 -0
  156. package/dist/components/form/radio-card/radio-card.mjs +74 -0
  157. package/dist/components/form/select/index.d.mts +2 -0
  158. package/dist/components/form/select/index.mjs +2 -0
  159. package/dist/components/form/select/select.d.mts +11 -0
  160. package/dist/components/form/select/select.mjs +33 -0
  161. package/dist/components/form/slider/index.d.mts +2 -0
  162. package/dist/components/form/slider/index.mjs +2 -0
  163. package/dist/components/form/slider/slider.d.mts +23 -0
  164. package/dist/components/form/slider/slider.mjs +50 -0
  165. package/dist/components/form/switch/index.d.mts +2 -0
  166. package/dist/components/form/switch/index.mjs +2 -0
  167. package/dist/components/form/switch/switch.d.mts +21 -0
  168. package/dist/components/form/switch/switch.mjs +50 -0
  169. package/dist/components/form/text-field/index.d.mts +2 -0
  170. package/dist/components/form/text-field/index.mjs +2 -0
  171. package/dist/components/form/text-field/text-field.d.mts +11 -0
  172. package/dist/components/form/text-field/text-field.mjs +19 -0
  173. package/dist/components/form/textarea/index.d.mts +2 -0
  174. package/dist/components/form/textarea/index.mjs +2 -0
  175. package/dist/components/form/textarea/textarea.d.mts +11 -0
  176. package/dist/components/form/textarea/textarea.mjs +38 -0
  177. package/dist/components/icons/base.d.mts +15 -0
  178. package/dist/components/icons/base.mjs +18 -0
  179. package/dist/components/icons/browsers.d.mts +9 -0
  180. package/dist/components/icons/browsers.mjs +891 -0
  181. package/dist/components/icons/color-scale.d.mts +6 -0
  182. package/dist/components/icons/color-scale.mjs +44 -0
  183. package/dist/components/icons/github-mark.d.mts +6 -0
  184. package/dist/components/icons/github-mark.mjs +19 -0
  185. package/dist/components/icons/index.d.mts +10 -0
  186. package/dist/components/icons/index.mjs +9 -0
  187. package/dist/components/icons/logo.d.mts +7 -0
  188. package/dist/components/icons/logo.mjs +29 -0
  189. package/dist/components/icons/lucide-deep.d.mts +9 -0
  190. package/dist/components/icons/lucide-imports.d.mts +65 -0
  191. package/dist/components/icons/lucide-imports.mjs +65 -0
  192. package/dist/components/icons/lucide.d.mts +69 -0
  193. package/dist/components/icons/lucide.mjs +256 -0
  194. package/dist/components/icons/qiita.d.mts +6 -0
  195. package/dist/components/icons/qiita.mjs +28 -0
  196. package/dist/components/icons/twitter.d.mts +6 -0
  197. package/dist/components/icons/twitter.mjs +20 -0
  198. package/dist/components/icons/vertical-writing.d.mts +6 -0
  199. package/dist/components/icons/vertical-writing.mjs +26 -0
  200. package/dist/components/index.d.mts +106 -0
  201. package/dist/components/index.mjs +57 -0
  202. package/dist/components/layout/_shared/gap.d.mts +11 -0
  203. package/dist/components/layout/_shared/gap.mjs +10 -0
  204. package/dist/components/layout/_shared/padding.d.mts +11 -0
  205. package/dist/components/layout/_shared/padding.mjs +10 -0
  206. package/dist/components/layout/grid/grid.d.mts +16 -0
  207. package/dist/components/layout/grid/grid.mjs +35 -0
  208. package/dist/components/layout/grid/index.d.mts +2 -0
  209. package/dist/components/layout/grid/index.mjs +2 -0
  210. package/dist/components/layout/scroll-linked/index.d.mts +2 -0
  211. package/dist/components/layout/scroll-linked/index.mjs +2 -0
  212. package/dist/components/layout/scroll-linked/scroll-linked.d.mts +14 -0
  213. package/dist/components/layout/scroll-linked/scroll-linked.mjs +59 -0
  214. package/dist/components/layout/separator/index.d.mts +2 -0
  215. package/dist/components/layout/separator/index.mjs +2 -0
  216. package/dist/components/layout/separator/separator.d.mts +9 -0
  217. package/dist/components/layout/separator/separator.mjs +14 -0
  218. package/dist/components/layout/stack/index.d.mts +2 -0
  219. package/dist/components/layout/stack/index.mjs +2 -0
  220. package/dist/components/layout/stack/stack.d.mts +15 -0
  221. package/dist/components/layout/stack/stack.mjs +24 -0
  222. package/dist/components/navigation/anchor/anchor.d.mts +20 -0
  223. package/dist/components/navigation/anchor/anchor.mjs +28 -0
  224. package/dist/components/navigation/anchor/index.d.mts +2 -0
  225. package/dist/components/navigation/anchor/index.mjs +2 -0
  226. package/dist/components/navigation/breadcrumb/breadcrumb.d.mts +19 -0
  227. package/dist/components/navigation/breadcrumb/breadcrumb.mjs +43 -0
  228. package/dist/components/navigation/breadcrumb/index.d.mts +14 -0
  229. package/dist/components/navigation/breadcrumb/index.mjs +10 -0
  230. package/dist/components/navigation/pagination/index.d.mts +2 -0
  231. package/dist/components/navigation/pagination/index.mjs +2 -0
  232. package/dist/components/navigation/pagination/pagination.d.mts +15 -0
  233. package/dist/components/navigation/pagination/pagination.mjs +74 -0
  234. package/dist/components/navigation/tabs/index.d.mts +2 -0
  235. package/dist/components/navigation/tabs/index.mjs +2 -0
  236. package/dist/components/navigation/tabs/tabs.d.mts +21 -0
  237. package/dist/components/navigation/tabs/tabs.mjs +130 -0
  238. package/dist/components/overlays/_internal/index.d.mts +4 -0
  239. package/dist/components/overlays/_internal/index.mjs +4 -0
  240. package/dist/components/overlays/_internal/modal-dialog-context.d.mts +14 -0
  241. package/dist/components/overlays/_internal/modal-dialog-context.mjs +13 -0
  242. package/dist/components/overlays/_internal/use-can-hover.d.mts +9 -0
  243. package/dist/components/overlays/_internal/use-can-hover.mjs +20 -0
  244. package/dist/components/overlays/_internal/use-hover-intent.d.mts +25 -0
  245. package/dist/components/overlays/_internal/use-hover-intent.mjs +56 -0
  246. package/dist/components/overlays/_internal/use-list-navigation.d.mts +36 -0
  247. package/dist/components/overlays/_internal/use-list-navigation.mjs +98 -0
  248. package/dist/components/overlays/dialog/dialog.d.mts +19 -0
  249. package/dist/components/overlays/dialog/dialog.mjs +87 -0
  250. package/dist/components/overlays/dialog/index.d.mts +2 -0
  251. package/dist/components/overlays/dialog/index.mjs +2 -0
  252. package/dist/components/overlays/drawer/drawer.d.mts +12 -0
  253. package/dist/components/overlays/drawer/drawer.mjs +60 -0
  254. package/dist/components/overlays/drawer/index.d.mts +2 -0
  255. package/dist/components/overlays/drawer/index.mjs +2 -0
  256. package/dist/components/overlays/dropdown-menu/dropdown-menu.d.mts +34 -0
  257. package/dist/components/overlays/dropdown-menu/dropdown-menu.mjs +85 -0
  258. package/dist/components/overlays/dropdown-menu/hooks.d.mts +24 -0
  259. package/dist/components/overlays/dropdown-menu/hooks.mjs +26 -0
  260. package/dist/components/overlays/dropdown-menu/index.d.mts +2 -0
  261. package/dist/components/overlays/dropdown-menu/index.mjs +2 -0
  262. package/dist/components/overlays/dropdown-menu/shared.d.mts +7 -0
  263. package/dist/components/overlays/dropdown-menu/shared.mjs +8 -0
  264. package/dist/components/overlays/dropdown-menu/sub-menu.d.mts +10 -0
  265. package/dist/components/overlays/dropdown-menu/sub-menu.mjs +143 -0
  266. package/dist/components/overlays/dropdown-menu/use-safe-triangle.d.mts +18 -0
  267. package/dist/components/overlays/dropdown-menu/use-safe-triangle.mjs +57 -0
  268. package/dist/components/overlays/list-box/hooks.d.mts +35 -0
  269. package/dist/components/overlays/list-box/hooks.mjs +43 -0
  270. package/dist/components/overlays/list-box/index.d.mts +2 -0
  271. package/dist/components/overlays/list-box/index.mjs +2 -0
  272. package/dist/components/overlays/list-box/list-box.d.mts +28 -0
  273. package/dist/components/overlays/list-box/list-box.mjs +150 -0
  274. package/dist/components/overlays/modal/index.d.mts +2 -0
  275. package/dist/components/overlays/modal/index.mjs +2 -0
  276. package/dist/components/overlays/modal/modal.d.mts +15 -0
  277. package/dist/components/overlays/modal/modal.mjs +72 -0
  278. package/dist/components/overlays/popover/anchor-positioning.d.mts +26 -0
  279. package/dist/components/overlays/popover/anchor-positioning.mjs +49 -0
  280. package/dist/components/overlays/popover/escape-stack.d.mts +7 -0
  281. package/dist/components/overlays/popover/escape-stack.mjs +34 -0
  282. package/dist/components/overlays/popover/hooks.d.mts +53 -0
  283. package/dist/components/overlays/popover/hooks.mjs +141 -0
  284. package/dist/components/overlays/popover/index.d.mts +3 -0
  285. package/dist/components/overlays/popover/index.mjs +3 -0
  286. package/dist/components/overlays/popover/popover.d.mts +25 -0
  287. package/dist/components/overlays/popover/popover.mjs +90 -0
  288. package/dist/components/overlays/tooltip/bridge.d.mts +5 -0
  289. package/dist/components/overlays/tooltip/bridge.mjs +29 -0
  290. package/dist/components/overlays/tooltip/index.d.mts +2 -0
  291. package/dist/components/overlays/tooltip/index.mjs +2 -0
  292. package/dist/components/overlays/tooltip/tooltip.d.mts +34 -0
  293. package/dist/components/overlays/tooltip/tooltip.mjs +87 -0
  294. package/dist/components/providers/index.d.mts +4 -0
  295. package/dist/components/providers/index.mjs +3 -0
  296. package/dist/components/providers/portal-root.d.mts +8 -0
  297. package/dist/components/providers/portal-root.mjs +12 -0
  298. package/dist/components/providers/ui-provider.d.mts +8 -0
  299. package/dist/components/providers/ui-provider.mjs +11 -0
  300. package/dist/helpers/chain.d.mts +5 -0
  301. package/dist/helpers/chain.mjs +29 -0
  302. package/dist/helpers/cn.d.mts +5 -0
  303. package/dist/helpers/cn.mjs +27 -0
  304. package/dist/helpers/create-safe-context.d.mts +6 -0
  305. package/dist/helpers/create-safe-context.mjs +30 -0
  306. package/dist/helpers/index.d.mts +6 -0
  307. package/dist/helpers/index.mjs +6 -0
  308. package/dist/helpers/merge-props.d.mts +6 -0
  309. package/dist/helpers/merge-props.mjs +56 -0
  310. package/dist/helpers/merge-refs.d.mts +5 -0
  311. package/dist/helpers/merge-refs.mjs +55 -0
  312. package/dist/hooks/breakpoint/index.d.mts +5 -0
  313. package/dist/hooks/breakpoint/index.mjs +24 -0
  314. package/dist/hooks/click-away/index.d.mts +5 -0
  315. package/dist/hooks/click-away/index.mjs +24 -0
  316. package/dist/hooks/client/index.d.mts +4 -0
  317. package/dist/hooks/client/index.mjs +6 -0
  318. package/dist/hooks/clipboard/index.d.mts +7 -0
  319. package/dist/hooks/clipboard/index.mjs +15 -0
  320. package/dist/hooks/controllable-state/index.d.mts +9 -0
  321. package/dist/hooks/controllable-state/index.mjs +21 -0
  322. package/dist/hooks/debounced-transition/index.d.mts +5 -0
  323. package/dist/hooks/debounced-transition/index.mjs +49 -0
  324. package/dist/hooks/deferred-debounce/index.d.mts +4 -0
  325. package/dist/hooks/deferred-debounce/index.mjs +9 -0
  326. package/dist/hooks/disclosure/index.d.mts +10 -0
  327. package/dist/hooks/disclosure/index.mjs +20 -0
  328. package/dist/hooks/focus-trap/index.d.mts +18 -0
  329. package/dist/hooks/focus-trap/index.mjs +51 -0
  330. package/dist/hooks/hash/index.d.mts +4 -0
  331. package/dist/hooks/hash/index.mjs +25 -0
  332. package/dist/hooks/hover/index.d.mts +12 -0
  333. package/dist/hooks/hover/index.mjs +19 -0
  334. package/dist/hooks/index.d.mts +25 -0
  335. package/dist/hooks/index.mjs +24 -0
  336. package/dist/hooks/intersection-observer/index.d.mts +3 -0
  337. package/dist/hooks/intersection-observer/index.mjs +3 -0
  338. package/dist/hooks/intersection-observer/use-in-view.d.mts +11 -0
  339. package/dist/hooks/intersection-observer/use-in-view.mjs +18 -0
  340. package/dist/hooks/intersection-observer/use-intersection-observer.d.mts +11 -0
  341. package/dist/hooks/intersection-observer/use-intersection-observer.mjs +33 -0
  342. package/dist/hooks/interval/index.d.mts +4 -0
  343. package/dist/hooks/interval/index.mjs +19 -0
  344. package/dist/hooks/local-storage/index.d.mts +4 -0
  345. package/dist/hooks/local-storage/index.mjs +46 -0
  346. package/dist/hooks/resize/index.d.mts +8 -0
  347. package/dist/hooks/resize/index.mjs +24 -0
  348. package/dist/hooks/scroll-direction/index.d.mts +13 -0
  349. package/dist/hooks/scroll-direction/index.mjs +67 -0
  350. package/dist/hooks/scroll-lock/index.d.mts +9 -0
  351. package/dist/hooks/scroll-lock/index.mjs +59 -0
  352. package/dist/hooks/session-storage/index.d.mts +4 -0
  353. package/dist/hooks/session-storage/index.mjs +46 -0
  354. package/dist/hooks/step/index.d.mts +15 -0
  355. package/dist/hooks/step/index.mjs +39 -0
  356. package/dist/hooks/timeout/index.d.mts +4 -0
  357. package/dist/hooks/timeout/index.mjs +19 -0
  358. package/dist/hooks/window-resize/index.d.mts +11 -0
  359. package/dist/hooks/window-resize/index.mjs +21 -0
  360. package/dist/hooks/window-size/index.d.mts +8 -0
  361. package/dist/hooks/window-size/index.mjs +31 -0
  362. package/dist/hooks/writing-mode/index.d.mts +6 -0
  363. package/dist/hooks/writing-mode/index.mjs +24 -0
  364. package/dist/i18n/context.d.mts +9 -0
  365. package/dist/i18n/context.mjs +19 -0
  366. package/dist/i18n/en.d.mts +5 -0
  367. package/dist/i18n/en.mjs +64 -0
  368. package/dist/i18n/index.d.mts +5 -0
  369. package/dist/i18n/index.mjs +4 -0
  370. package/dist/i18n/ja.d.mts +5 -0
  371. package/dist/i18n/ja.mjs +64 -0
  372. package/dist/i18n/messages.d.mts +84 -0
  373. package/dist/i18n/messages.mjs +1 -0
  374. package/dist/index.d.mts +94 -0
  375. package/dist/index.mjs +85 -0
  376. package/dist/integrations/_shared/openui-defs.d.mts +18 -0
  377. package/dist/integrations/_shared/openui-defs.mjs +162 -0
  378. package/dist/integrations/_shared/renderers.d.mts +71 -0
  379. package/dist/integrations/_shared/renderers.mjs +679 -0
  380. package/dist/integrations/_shared/schemas.d.mts +718 -0
  381. package/dist/integrations/_shared/schemas.mjs +545 -0
  382. package/dist/integrations/ai-sdk/index.d.mts +3 -0
  383. package/dist/integrations/ai-sdk/index.mjs +2 -0
  384. package/dist/integrations/ai-sdk/map-parts.d.mts +28 -0
  385. package/dist/integrations/ai-sdk/map-parts.mjs +32 -0
  386. package/dist/integrations/json-render/catalog.d.mts +838 -0
  387. package/dist/integrations/json-render/catalog.mjs +311 -0
  388. package/dist/integrations/json-render/registry.d.mts +29 -0
  389. package/dist/integrations/json-render/registry.mjs +159 -0
  390. package/dist/integrations/openui/form-views.d.mts +21 -0
  391. package/dist/integrations/openui/form-views.mjs +66 -0
  392. package/dist/integrations/openui/library.d.mts +151 -0
  393. package/dist/integrations/openui/library.mjs +69 -0
  394. package/dist/integrations/openui/prompt.d.mts +5 -0
  395. package/dist/integrations/openui/prompt.mjs +19 -0
  396. package/dist/internal/clamp.d.mts +4 -0
  397. package/dist/internal/clamp.mjs +15 -0
  398. package/dist/internal/to-precision.d.mts +4 -0
  399. package/dist/internal/to-precision.mjs +15 -0
  400. package/dist/styles/base.css +315 -0
  401. package/dist/styles/index.css +2677 -0
  402. package/dist/styles/tailwind.css +22 -0
  403. package/dist/styles/tokens.css +380 -0
  404. package/dist/styles/tokens.d.mts +2 -0
  405. package/dist/styles/tokens.generated.d.mts +840 -0
  406. package/dist/styles/tokens.generated.mjs +813 -0
  407. package/dist/styles/tokens.mjs +2 -0
  408. package/dist/styles/utilities.css +62 -0
  409. package/dist/types/index.d.mts +2 -0
  410. package/dist/types/index.mjs +1 -0
  411. package/dist/types/variables.d.mts +23 -0
  412. package/dist/types/variables.mjs +1 -0
  413. package/docs/GUIDE.md +324 -0
  414. package/docs/llms.txt +25 -0
  415. package/docs/props.generated.json +3519 -0
  416. package/docs/references/ai-chat.md +354 -0
  417. package/docs/references/color.md +121 -0
  418. package/docs/references/components.md +1466 -0
  419. package/docs/references/generative-ui.md +112 -0
  420. package/docs/references/helpers.md +120 -0
  421. package/docs/references/hooks.md +314 -0
  422. package/docs/references/interaction-design.md +95 -0
  423. package/docs/references/spatial-design.md +137 -0
  424. package/docs/references/typography.md +110 -0
  425. package/package.json +197 -0
@@ -0,0 +1,2 @@
1
+ import { meta, tokens } from "./tokens.generated.mjs";
2
+ export { meta, tokens };
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Custom utilities.
3
+ *
4
+ * Imported by `index.css`. Part of the token source of truth —
5
+ * run `pnpm generate:tokens` after editing.
6
+ */
7
+
8
+ @utility grid-cols-auto-fill-* {
9
+ grid-template-columns: repeat(
10
+ auto-fill,
11
+ minmax(min(calc(var(--spacing) * --value(integer)), 100%), 1fr)
12
+ );
13
+ }
14
+
15
+ @utility grid-cols-auto-fit-* {
16
+ grid-template-columns: repeat(
17
+ auto-fit,
18
+ minmax(min(calc(var(--spacing) * --value(integer)), 100%), 1fr)
19
+ );
20
+ }
21
+
22
+ @utility grid-rows-auto-fill-* {
23
+ grid-template-rows: repeat(
24
+ auto-fill,
25
+ minmax(min(calc(var(--spacing) * --value(integer)), 100%), 1fr)
26
+ );
27
+ }
28
+
29
+ @utility grid-rows-auto-fit-* {
30
+ grid-template-rows: repeat(
31
+ auto-fit,
32
+ minmax(min(calc(var(--spacing) * --value(integer)), 100%), 1fr)
33
+ );
34
+ }
35
+
36
+ @utility writing-h {
37
+ writing-mode: horizontal-tb;
38
+ }
39
+
40
+ @utility writing-v {
41
+ writing-mode: vertical-rl;
42
+ text-orientation: mixed;
43
+ text-underline-position: under left;
44
+ line-break: strict;
45
+ word-break: normal;
46
+ }
47
+
48
+ @utility writing-sideways-rl {
49
+ writing-mode: sideways-rl;
50
+ }
51
+
52
+ @utility z-overlay {
53
+ z-index: var(--z-overlay);
54
+ }
55
+
56
+ @utility z-modal {
57
+ z-index: var(--z-modal);
58
+ }
59
+
60
+ @utility z-toast {
61
+ z-index: var(--z-toast);
62
+ }
@@ -0,0 +1,2 @@
1
+ import { Direction, DrawerSide, ModalSide, Option, Placement, Status } from "./variables.mjs";
2
+ export type { Direction, DrawerSide, ModalSide, Option, Placement, Status };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,23 @@
1
+ //#region src/types/variables.d.ts
2
+ type Status = 'success' | 'info' | 'warning' | 'error';
3
+ type Direction = 'up' | 'down' | 'right' | 'left';
4
+ /**
5
+ * アンカー要素を基準にしたオーバーレイ(Popover / Tooltip / DropdownMenu /
6
+ * ListBox)の相対配置。物理方向と整列(alignment)の組み合わせ。
7
+ * 旧 `@floating-ui/react` の `Placement` 互換のローカル定義。
8
+ */
9
+ type Placement = 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end';
10
+ /**
11
+ * ビューポートのどこに貼り付くかで決まるオーバーレイ(Modal / Drawer)の配置。
12
+ * アンカー要素からの相対配置である `Placement` とは別概念なので、prop 名も
13
+ * `placement` ではなく `side` で分ける。
14
+ */
15
+ type ModalSide = 'center' | 'bottom' | 'left' | 'right';
16
+ /** Drawer は必ず縁から出るため、`center` を除いた `ModalSide` の部分集合。 */
17
+ type DrawerSide = Extract<ModalSide, 'left' | 'right'>;
18
+ type Option = Readonly<{
19
+ value: string;
20
+ label: string;
21
+ }>;
22
+ //#endregion
23
+ export { Direction, DrawerSide, ModalSide, Option, Placement, Status };
@@ -0,0 +1 @@
1
+ export {};
package/docs/GUIDE.md ADDED
@@ -0,0 +1,324 @@
1
+ # k8ordo UI Design Guide
2
+
3
+ `@k8ordo/ui` デザインシステムを使って UI を作るためのガイド。
4
+
5
+ ## セットアップ
6
+
7
+ ```bash
8
+ npm install @k8ordo/ui
9
+ ```
10
+
11
+ ```tsx
12
+ // 1. スタイルシートを読み込む(エントリポイントで1回)
13
+ import '@k8ordo/ui/styles.css';
14
+
15
+ // 2. Provider でアプリを囲む
16
+ import { UIProvider } from '@k8ordo/ui';
17
+
18
+ function App() {
19
+ return (
20
+ <UIProvider>
21
+ <YourApp />
22
+ </UIProvider>
23
+ );
24
+ }
25
+
26
+ // 3. コンポーネントを使う
27
+ import { Button, Card } from '@k8ordo/ui';
28
+ ```
29
+
30
+ ### スタイルシートの選び方
31
+
32
+ CSS のエントリは2つある。プロジェクトの CSS 環境で選ぶ:
33
+
34
+ - **`styles.css`(既定)** — ビルド済み CSS。Tailwind を持たないプロジェクト(CSS Modules・素の CSS)はこちら。import 1行で完結し、Tailwind のセットアップは不要。ライブラリのルールはすべて `@layer` 内にあるため、レイヤー外にある利用側の CSS がカスケードで優先される(唯一の例外は preflight の `[hidden] { display: none !important }`)。デザイントークンは `:root` / `.dark` の CSS カスタムプロパティとしてそのまま参照できる(`var(--fg-mute)` など)。
35
+ - **`tailwind.css`** — Tailwind ソース版。Tailwind CSS 4 を使うプロジェクトはこちらを import すると、デザイントークン(`bg-bg-base` など)を自分のマークアップの Tailwind クラスとしても使える。内部で `@import 'tailwindcss'` を含むため、プロジェクトの CSS は次の1行でよい:
36
+
37
+ ```css
38
+ @import '@k8ordo/ui/tailwind.css';
39
+ ```
40
+
41
+ どちらのエントリも文書全体にベーススタイルを適用する点に注意。Tailwind の preflight(見出し・リスト・余白のリセット等)に加え、ライブラリの base レイヤーが `b` / `strong` の太字や `i` / `em` の斜体を解除し、`body` のタイポグラフィ既定(`font-size` / `overflow-wrap: anywhere` / `scrollbar-gutter: stable` など)を設定する。既存アプリに後付けする場合はコンポーネント以外の見た目にも影響する。
42
+
43
+ 例外がもう1つ: `@k8ordo/ui/ai/response`(`Response`)だけは streamdown のクラスを利用側の Tailwind ビルドで生成する必要があるため、ビルド済み `styles.css` では表示が完成しない。`Response` を使うなら `tailwind.css` + `@source` 設定([ai-chat](references/ai-chat.md))が前提。
44
+
45
+ ### 文言の言語(i18n)
46
+
47
+ コンポーネントが内部で持つ文言(「閉じる」「必須」「読み込み中」など)は**既定で日本語**。Provider を置かなくても、`messages` を渡さなくても日本語で動くので、日本語のアプリでは何も設定しなくてよい。
48
+
49
+ 英語にするときは `@k8ordo/ui/i18n` の `en` を渡す。
50
+
51
+ ```tsx
52
+ import { UIProvider } from '@k8ordo/ui';
53
+ import { en } from '@k8ordo/ui/i18n';
54
+
55
+ <UIProvider messages={en}>
56
+ <App />
57
+ </UIProvider>;
58
+ ```
59
+
60
+ 一部だけ差し替えたいときは辞書をスプレッドして上書きする。
61
+
62
+ ```tsx
63
+ <UIProvider messages={{ ...en, close: 'Dismiss' }}>
64
+ <App />
65
+ </UIProvider>
66
+ ```
67
+
68
+ 優先順位は **コンポーネントの prop > Provider の辞書 > 既定(日本語)**。`Spinner` の `label` のように個別の文言 prop を持つコンポーネントでは、その prop が辞書より優先される。
69
+
70
+ > [キー一覧・詳細](references/components.md)(「i18n(文言辞書)」の節)
71
+
72
+ ## デザインの方向性
73
+
74
+ ### コアコンセプト
75
+
76
+ **「触れるものは柔らかく、読むものは端正に」**
77
+
78
+ - **空間と形が主役**: 色ではなく、余白のゆとりと形の柔らかさがこのデザインの個性
79
+ - **要素の性格で使い分ける**: 触れる要素(フォーム、ボタン)は柔らかく、情報を示す要素(Alert、Badge)は端正に
80
+ - **余白で語る**: 詰め込まず、空間にゆとりを持たせる
81
+ - **静かな変化**: アニメーションは控えめに、繊細なフィードバック
82
+ - **穏やかな色**: OKLCH ベースのパレット、セマンティックトークンで抑えたトーンに
83
+
84
+ すべてを同じトーンにしない。要素の性格ごとに柔らかさを変える。
85
+
86
+ | 要素 | 方向性 |
87
+ | --------------------------------------- | -------------------------------------------------------- |
88
+ | フォーム(TextField, Textarea, Button) | 柔らかい(大きな角丸、ピル型ボタン、ゆったりパディング) |
89
+ | カード・コンテナ | 柔らかい(`rounded-xl`〜`rounded-2xl`、ふんわり影) |
90
+ | Alert, Badge | 端正(情報の明確さを優先) |
91
+ | Tabs, Breadcrumb | シャープ(構造を示す要素は端正に) |
92
+
93
+ ### トーン
94
+
95
+ 柔らかな余白と静かな洗練。空間と形の柔らかさで魅せる。
96
+
97
+ ## 美学ガイドライン
98
+
99
+ ### ページ構造
100
+
101
+ **DO:**
102
+
103
+ - ページ背景は `bg-bg-subtle`(薄いグレー)
104
+ - コンテンツは白いカードで浮かせる
105
+ - カード間に十分な余白(`gap-6`〜`gap-10`)
106
+
107
+ **DON'T:**
108
+
109
+ - 純白背景にカードをフラットに置く
110
+ - すべてを Card に入れる
111
+ - Card を入れ子にする(Card in Card)
112
+
113
+ ### タイポグラフィ
114
+
115
+ **DO:**
116
+
117
+ - 日本語フォント(Noto Sans JP, M PLUS 2)を使う
118
+ - フォントウェイトは 3種類まで(`font-normal`, `font-medium`, `font-bold`)
119
+ - `font-medium` が 450(一般的な 500 より軽い)であることを活かした繊細な強調
120
+
121
+ **DON'T:**
122
+
123
+ - Inter / Roboto / Open Sans を使う
124
+ - 4種類以上のフォントサイズを1画面で使う
125
+ - テキストにグラデーションをかける
126
+
127
+ > [タイポグラフィ詳細](references/typography.md)
128
+
129
+ ### カラー
130
+
131
+ **DO:**
132
+
133
+ - 60-30-10 ルール(ニュートラル60%, サポート30%, アクセント10%)
134
+ - セマンティックカラートークンを使う(`bg-bg-subtle`, `text-fg-mute` 等)
135
+ - ダークモードを独立したトーンで設計する
136
+ - 色は穏やかに、空間と形で魅せる
137
+
138
+ **DON'T:**
139
+
140
+ - グラデーション背景
141
+ - ホバーに `bg-primary-bg` — `bg-bg-mute` を使う
142
+ - 透明度(`/90`)で状態表現 — 専用トークンを使う
143
+ - 鮮やかな色を広範囲に使う
144
+ - 生のパレット色(`bg-teal-500`)— セマンティックトークン(`bg-primary-bg`)を使う
145
+
146
+ > [カラー詳細](references/color.md)
147
+
148
+ ### スペーシング
149
+
150
+ **DO:**
151
+
152
+ - `p-8` を標準パディングとする(フォーム・カード内)
153
+ - 余白の差で関連度を表す(`mt-2` 近い、`mt-4` 標準、`mt-8` セクション間)
154
+ - Separator でセクションを区切る
155
+
156
+ **DON'T:**
157
+
158
+ - すべてを Card に入れる
159
+ - Card を入れ子にする(Card in Card)
160
+ - `gap-1` のような極端に狭いスペーシング
161
+
162
+ > [スペーシング詳細](references/spatial-design.md)
163
+
164
+ ### インタラクション
165
+
166
+ **DO:**
167
+
168
+ - `transition-colors` を基本にする
169
+ - `focus-visible:ring-2 focus-visible:ring-border-info` でフォーカス表現
170
+ - `hover:bg-bg-mute` で穏やかなホバー
171
+
172
+ **DON'T:**
173
+
174
+ - bounce / spring 系のイージング
175
+ - 300ms を超えるアニメーション
176
+ - ホバーに強い原色を使う
177
+
178
+ > [インタラクション詳細](references/interaction-design.md)
179
+
180
+ ## コンポーネント使用の原則
181
+
182
+ ### Button
183
+
184
+ `color` と `variant` で統一されたスタイル。ピル型(`rounded-full`)。
185
+
186
+ ```tsx
187
+ import { Button } from '@k8ordo/ui';
188
+
189
+ // プライマリアクション
190
+ <Button color="primary" variant="solid">保存する</Button>
191
+
192
+ // セカンダリアクション
193
+ <Button color="base" variant="outline">キャンセル</Button>
194
+
195
+ // テキストのみ
196
+ <Button variant="skeleton">詳細を見る</Button>
197
+
198
+ // リンクとしてレンダーする(renderItem prop)
199
+ <Button
200
+ color="base"
201
+ renderItem={({ className, children }) => (
202
+ <a className={className} href="/settings">{children}</a>
203
+ )}
204
+ >
205
+ 設定へ
206
+ </Button>
207
+ ```
208
+
209
+ ### IconButton
210
+
211
+ `color` prop でスタイルを制御(`variant` ではない)。`label` は必須。
212
+
213
+ ```tsx
214
+ import { IconButton } from '@k8ordo/ui';
215
+
216
+ <IconButton color="transparent" label="コピー"><CopyIcon /></IconButton>
217
+ <IconButton color="primary" label="送信"><SendIcon /></IconButton>
218
+
219
+ // リンクとしてレンダーする(renderItem prop)
220
+ <IconButton
221
+ color="base"
222
+ label="ホーム"
223
+ renderItem={({ className, children, 'aria-label': ariaLabel, triggerProps }) => (
224
+ <a aria-label={ariaLabel} className={className} href="/home" {...triggerProps}>
225
+ {children}
226
+ </a>
227
+ )}
228
+ >
229
+ <HomeIcon />
230
+ </IconButton>
231
+ ```
232
+
233
+ ### Card
234
+
235
+ シャドウで浮かせるのが基本。ページ背景 `bg-subtle` の上に白カード。
236
+
237
+ ```tsx
238
+ import { Card } from '@k8ordo/ui';
239
+
240
+ // 静的カード(シャドウで浮かせる)
241
+ <Card variant="shadow">
242
+ <div className="p-8">カードのコンテンツ</div>
243
+ </Card>
244
+
245
+ // クリック可能なカード(interactive でホバー時にスケールアップ)
246
+ <Card variant="shadow" interactive>
247
+ <div className="p-8">コンテンツ</div>
248
+ </Card>
249
+ ```
250
+
251
+ ### フォーム
252
+
253
+ `FormControl` + 各フォームコンポーネントの `renderInput` パターン。
254
+
255
+ ```tsx
256
+ import {
257
+ Button,
258
+ FileField,
259
+ FormControl,
260
+ Select,
261
+ TextField,
262
+ } from '@k8ordo/ui';
263
+
264
+ <FormControl label="メール" required renderInput={(props) => (
265
+ <TextField {...props} placeholder="example@mail.com" />
266
+ )} />
267
+
268
+ <FormControl label="カテゴリ" renderInput={(props) => (
269
+ <Select
270
+ {...props}
271
+ options={[{ value: '1', label: 'オプション1' }]}
272
+ value={value}
273
+ onChange={onChange}
274
+ />
275
+ )} />
276
+
277
+ <FileField.Root accept="image/*" multiple>
278
+ <FileField.Trigger
279
+ renderItem={({ onClick, disabled }) => (
280
+ <Button disabled={disabled} onClick={onClick}>ファイルを選択</Button>
281
+ )}
282
+ />
283
+ <FileField.ItemList />
284
+ </FileField.Root>
285
+ ```
286
+
287
+ ## アンチパターン: 「AI スロップ」を避ける
288
+
289
+ AI が生成したと一目でわかるUIの特徴を避ける。
290
+
291
+ | アンチパターン | k8ordo UI での代替 |
292
+ | ------------------------------ | -------------------------------------------------- |
293
+ | パープルグラデーション | Teal/Cyan のフラットカラー |
294
+ | Card in Card(入れ子カード) | Separator + 余白で区切り |
295
+ | グレー背景にグレーテキスト | `text-fg-base` / `text-fg-mute` のコントラスト確保 |
296
+ | bounce / spring アニメーション | `transition-colors duration-150 ease-out` |
297
+ | Inter フォント | Noto Sans JP / M PLUS 2 |
298
+ | 過剰な glassmorphism | border + subtle な背景色 |
299
+ | 情報の詰め込み | 余白を活かした疎な配置 |
300
+
301
+ ### AI スロップテスト
302
+
303
+ > このUIを誰かに見せて「AIが作った」と言ったら、すぐに信じるだろうか?
304
+ > もし「はい」なら、それが問題だ。
305
+
306
+ ## 実装の原則
307
+
308
+ - **既存コンポーネントを使う**: カスタムUIの前にまず k8ordo UI コンポーネントを探す
309
+ - **セマンティックトークンを使う**: 生のカラー値(`bg-teal-500`)ではなくトークン(`bg-primary-bg`)
310
+ - **空間と形で魅せる**: 色の華やかさではなく、余白と角丸の柔らかさで個性を出す
311
+ - **ダークモードを忘れない**: セマンティックトークンを使えば自動対応
312
+ - **アクセシビリティ**: `aria-label`, キーボードナビゲーション, カラーだけに頼らない状態表現
313
+
314
+ ## 詳細リファレンス
315
+
316
+ - タイポグラフィ: [references/typography.md](references/typography.md)
317
+ - カラーシステム: [references/color.md](references/color.md)
318
+ - スペーシング・レイアウト: [references/spatial-design.md](references/spatial-design.md)
319
+ - インタラクション: [references/interaction-design.md](references/interaction-design.md)
320
+ - コンポーネント一覧: [references/components.md](references/components.md)
321
+ - Hooks: [references/hooks.md](references/hooks.md)
322
+ - ヘルパー・型: [references/helpers.md](references/helpers.md)
323
+ - AI チャット(Conversation / Message / PromptInput など): [references/ai-chat.md](references/ai-chat.md)
324
+ - 生成 UI(json-render / OpenUI で LLM に UI を生成させる): [references/generative-ui.md](references/generative-ui.md)
package/docs/llms.txt ADDED
@@ -0,0 +1,25 @@
1
+ # @k8ordo/ui
2
+
3
+ > k8o's React UI library (React 19, TypeScript, Tailwind CSS 4) with semantic design
4
+ > tokens, dark mode, AI chat components, and official generative UI adapters
5
+ > (json-render & OpenUI) that let an LLM generate, validate, and render on-brand UIs
6
+ > from these components.
7
+
8
+ When installed via npm, these docs live under `node_modules/@k8ordo/ui/docs/`.
9
+ Start with GUIDE.md, then follow the reference most relevant to the task.
10
+
11
+ ## Guide
12
+
13
+ - [Design Guide](GUIDE.md): setup, i18n (default Japanese, switching to English), design direction, aesthetic guidelines, component usage principles, anti-patterns, implementation principles.
14
+
15
+ ## References
16
+
17
+ - [Components](references/components.md): full component list, import paths, props, and i18n — component wording comes from a dictionary that defaults to Japanese; `@k8ordo/ui/i18n` exports `ja` / `en` / the `Messages` type for `<UIProvider messages={...}>` (per-component wording props win over the dictionary).
18
+ - [AI chat](references/ai-chat.md): AI chat components from `@k8ordo/ui/ai` (Conversation / Message / PromptInput / Reasoning / Suggestion / ToolInvocation), streaming Markdown `Response` from `@k8ordo/ui/ai/response` (optional peer `streamdown`), and `mapMessageParts` from `@k8ordo/ui/ai-sdk` to render AI SDK `UIMessage.parts` (optional peer `ai`).
19
+ - [Generative UI](references/generative-ui.md): use json-render / OpenUI to make an LLM generate UIs — `catalog.prompt()` (server-safe), `<JsonRenderUI spec={spec} />` (client), `validateGeneratedSpec()` (validate/repair LLM output), `satisfies UISpec` (typed specs), and `@k8ordo/ui/openui/prompt`.
20
+ - [Typography](references/typography.md): type scale and usage.
21
+ - [Color](references/color.md): semantic token system and dark mode.
22
+ - [Spacing & layout](references/spatial-design.md): spacing scale and layout patterns.
23
+ - [Interaction](references/interaction-design.md): motion and interaction guidelines.
24
+ - [Hooks](references/hooks.md): custom hooks.
25
+ - [Helpers & types](references/helpers.md): helper functions and types.