@k8ordo/ui 1.0.0 → 2.1.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 (651) hide show
  1. package/README.md +206 -171
  2. package/dist/_virtual/_rolldown/runtime.mjs +13 -0
  3. package/dist/components/_internal/focus-ring.css +37 -0
  4. package/dist/components/_internal/focus-ring.module.mjs +9 -0
  5. package/dist/components/_internal/form-value.d.mts +33 -0
  6. package/dist/components/_internal/form-value.mjs +91 -0
  7. package/dist/components/_internal/high-contrast.css +18 -0
  8. package/dist/components/_internal/high-contrast.module.mjs +5 -0
  9. package/dist/components/_internal/ignore-changes.d.mts +20 -0
  10. package/dist/components/_internal/ignore-changes.mjs +37 -0
  11. package/dist/components/_internal/nav-link.css +78 -0
  12. package/dist/components/_internal/nav-link.d.mts +5 -0
  13. package/dist/components/_internal/nav-link.mjs +8 -0
  14. package/dist/components/_internal/nav-link.module.mjs +14 -0
  15. package/dist/components/_internal/sr-only.css +17 -0
  16. package/dist/components/_internal/sr-only.module.mjs +5 -0
  17. package/dist/components/_internal/status-tone.css +37 -0
  18. package/dist/components/_internal/status-tone.d.mts +20 -0
  19. package/dist/components/_internal/status-tone.mjs +22 -0
  20. package/dist/components/_internal/status-tone.module.mjs +14 -0
  21. package/dist/components/ai/_internal/attachment-preview.css +75 -0
  22. package/dist/components/ai/_internal/attachment-preview.d.mts +14 -0
  23. package/dist/components/ai/_internal/attachment-preview.mjs +50 -0
  24. package/dist/components/ai/_internal/attachment-preview.module.mjs +14 -0
  25. package/dist/components/ai/_internal/collapsible.css +62 -0
  26. package/dist/components/ai/_internal/collapsible.d.mts +4 -3
  27. package/dist/components/ai/_internal/collapsible.mjs +42 -33
  28. package/dist/components/ai/_internal/collapsible.module.mjs +12 -0
  29. package/dist/components/ai/_internal/icons.d.mts +7 -0
  30. package/dist/components/ai/_internal/icons.mjs +14 -0
  31. package/dist/components/ai/_internal/streaming-cursor.css +28 -0
  32. package/dist/components/ai/_internal/streaming-cursor.d.mts +2 -3
  33. package/dist/components/ai/_internal/streaming-cursor.mjs +2 -1
  34. package/dist/components/ai/_internal/streaming-cursor.module.mjs +8 -0
  35. package/dist/components/ai/attachment/attachment.css +17 -0
  36. package/dist/components/ai/attachment/attachment.d.mts +14 -0
  37. package/dist/components/ai/attachment/attachment.mjs +25 -0
  38. package/dist/components/ai/attachment/attachment.module.mjs +8 -0
  39. package/dist/components/ai/attachment/index.d.mts +13 -0
  40. package/dist/components/ai/attachment/index.mjs +8 -0
  41. package/dist/components/ai/conversation/conversation.css +71 -0
  42. package/dist/components/ai/conversation/conversation.d.mts +8 -11
  43. package/dist/components/ai/conversation/conversation.mjs +39 -40
  44. package/dist/components/ai/conversation/conversation.module.mjs +11 -0
  45. package/dist/components/ai/conversation/index.d.mts +15 -2
  46. package/dist/components/ai/conversation/index.mjs +8 -1
  47. package/dist/components/ai/index.d.mts +8 -10
  48. package/dist/components/ai/index.mjs +7 -5
  49. package/dist/components/ai/message/index.d.mts +39 -2
  50. package/dist/components/ai/message/index.mjs +12 -1
  51. package/dist/components/ai/message/message.css +71 -0
  52. package/dist/components/ai/message/message.d.mts +33 -5
  53. package/dist/components/ai/message/message.mjs +98 -12
  54. package/dist/components/ai/message/message.module.mjs +18 -0
  55. package/dist/components/ai/prompt-input/index.d.mts +31 -2
  56. package/dist/components/ai/prompt-input/index.mjs +10 -1
  57. package/dist/components/ai/prompt-input/prompt-input.css +101 -0
  58. package/dist/components/ai/prompt-input/prompt-input.d.mts +15 -8
  59. package/dist/components/ai/prompt-input/prompt-input.mjs +152 -42
  60. package/dist/components/ai/prompt-input/prompt-input.module.mjs +15 -0
  61. package/dist/components/ai/reasoning/reasoning.css +16 -0
  62. package/dist/components/ai/reasoning/reasoning.d.mts +2 -3
  63. package/dist/components/ai/reasoning/reasoning.mjs +5 -5
  64. package/dist/components/ai/reasoning/reasoning.module.mjs +8 -0
  65. package/dist/components/ai/response/response.css +453 -0
  66. package/dist/components/ai/response/response.d.mts +4 -6
  67. package/dist/components/ai/response/response.mjs +20 -15
  68. package/dist/components/ai/response/response.module.mjs +8 -0
  69. package/dist/components/ai/source/index.d.mts +12 -0
  70. package/dist/components/ai/source/index.mjs +8 -0
  71. package/dist/components/ai/source/source.css +54 -0
  72. package/dist/components/ai/source/source.d.mts +13 -0
  73. package/dist/components/ai/source/source.mjs +51 -0
  74. package/dist/components/ai/source/source.module.mjs +12 -0
  75. package/dist/components/ai/suggestion/index.d.mts +13 -2
  76. package/dist/components/ai/suggestion/index.mjs +7 -1
  77. package/dist/components/ai/suggestion/suggestion.css +32 -0
  78. package/dist/components/ai/suggestion/suggestion.d.mts +3 -6
  79. package/dist/components/ai/suggestion/suggestion.mjs +8 -11
  80. package/dist/components/ai/suggestion/suggestion.module.mjs +8 -0
  81. package/dist/components/ai/tool-invocation/approval-bar.css +26 -0
  82. package/dist/components/ai/tool-invocation/approval-bar.d.mts +11 -0
  83. package/dist/components/ai/tool-invocation/approval-bar.mjs +59 -0
  84. package/dist/components/ai/tool-invocation/approval-bar.module.mjs +9 -0
  85. package/dist/components/ai/tool-invocation/tool-invocation.css +55 -0
  86. package/dist/components/ai/tool-invocation/tool-invocation.d.mts +5 -5
  87. package/dist/components/ai/tool-invocation/tool-invocation.mjs +39 -18
  88. package/dist/components/ai/tool-invocation/tool-invocation.module.mjs +15 -0
  89. package/dist/components/ai/types.d.mts +21 -4
  90. package/dist/components/buttons/button/button.css +158 -0
  91. package/dist/components/buttons/button/button.d.mts +32 -9
  92. package/dist/components/buttons/button/button.mjs +46 -36
  93. package/dist/components/buttons/button/button.module.mjs +23 -0
  94. package/dist/components/buttons/button/index.d.mts +2 -2
  95. package/dist/components/buttons/copy-button/copy-button.css +15 -0
  96. package/dist/components/buttons/copy-button/copy-button.d.mts +10 -0
  97. package/dist/components/buttons/copy-button/copy-button.mjs +70 -0
  98. package/dist/components/buttons/copy-button/copy-button.module.mjs +8 -0
  99. package/dist/components/buttons/copy-button/index.d.mts +2 -0
  100. package/dist/components/buttons/copy-button/index.mjs +2 -0
  101. package/dist/components/buttons/icon-button/icon-button.css +81 -0
  102. package/dist/components/buttons/icon-button/icon-button.d.mts +39 -12
  103. package/dist/components/buttons/icon-button/icon-button.mjs +71 -58
  104. package/dist/components/buttons/icon-button/icon-button.module.mjs +15 -0
  105. package/dist/components/buttons/icon-button/index.d.mts +2 -2
  106. package/dist/components/buttons/toolbar/index.d.mts +14 -0
  107. package/dist/components/buttons/toolbar/index.mjs +9 -0
  108. package/dist/components/buttons/toolbar/toolbar.css +30 -0
  109. package/dist/components/buttons/toolbar/toolbar.d.mts +18 -0
  110. package/dist/components/buttons/toolbar/toolbar.mjs +111 -0
  111. package/dist/components/buttons/toolbar/toolbar.module.mjs +9 -0
  112. package/dist/components/data-display/accordion/accordion-button.css +48 -0
  113. package/dist/components/data-display/accordion/accordion-button.d.mts +2 -3
  114. package/dist/components/data-display/accordion/accordion-button.mjs +5 -4
  115. package/dist/components/data-display/accordion/accordion-button.module.mjs +9 -0
  116. package/dist/components/data-display/accordion/accordion-item.css +11 -0
  117. package/dist/components/data-display/accordion/accordion-item.d.mts +2 -3
  118. package/dist/components/data-display/accordion/accordion-item.mjs +2 -1
  119. package/dist/components/data-display/accordion/accordion-item.module.mjs +5 -0
  120. package/dist/components/data-display/accordion/accordion-panel.css +9 -0
  121. package/dist/components/data-display/accordion/accordion-panel.d.mts +2 -3
  122. package/dist/components/data-display/accordion/accordion-panel.mjs +2 -2
  123. package/dist/components/data-display/accordion/accordion-panel.module.mjs +5 -0
  124. package/dist/components/data-display/accordion/accordion.css +19 -0
  125. package/dist/components/data-display/accordion/accordion.d.mts +2 -3
  126. package/dist/components/data-display/accordion/accordion.mjs +2 -1
  127. package/dist/components/data-display/accordion/accordion.module.mjs +5 -0
  128. package/dist/components/data-display/accordion/context.d.mts +3 -3
  129. package/dist/components/data-display/accordion/index.d.mts +2 -3
  130. package/dist/components/data-display/avatar/avatar.css +95 -0
  131. package/dist/components/data-display/avatar/avatar.d.mts +2 -3
  132. package/dist/components/data-display/avatar/avatar.mjs +22 -6
  133. package/dist/components/data-display/avatar/avatar.module.mjs +18 -0
  134. package/dist/components/data-display/badge/badge.css +160 -0
  135. package/dist/components/data-display/badge/badge.d.mts +2 -3
  136. package/dist/components/data-display/badge/badge.mjs +30 -5
  137. package/dist/components/data-display/badge/badge.module.mjs +21 -0
  138. package/dist/components/data-display/card/card.css +44 -0
  139. package/dist/components/data-display/card/card.d.mts +2 -3
  140. package/dist/components/data-display/card/card.mjs +12 -2
  141. package/dist/components/data-display/card/card.module.mjs +12 -0
  142. package/dist/components/data-display/carousel/carousel.css +83 -0
  143. package/dist/components/data-display/carousel/carousel.d.mts +11 -0
  144. package/dist/components/data-display/carousel/carousel.mjs +186 -0
  145. package/dist/components/data-display/carousel/carousel.module.mjs +18 -0
  146. package/dist/components/data-display/carousel/index.d.mts +11 -0
  147. package/dist/components/data-display/carousel/index.mjs +8 -0
  148. package/dist/components/data-display/code/code.css +37 -0
  149. package/dist/components/data-display/code/code.d.mts +2 -3
  150. package/dist/components/data-display/code/code.mjs +7 -6
  151. package/dist/components/data-display/code/code.module.mjs +9 -0
  152. package/dist/components/data-display/code/find-all-colors.d.mts +2 -3
  153. package/dist/components/data-display/code/find-all-colors.mjs +0 -161
  154. package/dist/components/data-display/code-block/code-block.css +161 -0
  155. package/dist/components/data-display/code-block/code-block.d.mts +12 -0
  156. package/dist/components/data-display/code-block/code-block.mjs +44 -0
  157. package/dist/components/data-display/code-block/code-block.module.mjs +11 -0
  158. package/dist/components/data-display/code-block/highlight.d.mts +9 -0
  159. package/dist/components/data-display/code-block/highlight.mjs +54 -0
  160. package/dist/components/data-display/code-block/index.d.mts +2 -0
  161. package/dist/components/data-display/code-block/index.mjs +2 -0
  162. package/dist/components/data-display/data-table/data-table.css +74 -0
  163. package/dist/components/data-display/data-table/data-table.d.mts +31 -0
  164. package/dist/components/data-display/data-table/data-table.mjs +155 -0
  165. package/dist/components/data-display/data-table/data-table.module.mjs +14 -0
  166. package/dist/components/data-display/data-table/index.d.mts +2 -0
  167. package/dist/components/data-display/data-table/index.mjs +2 -0
  168. package/dist/components/data-display/heading/heading.css +99 -0
  169. package/dist/components/data-display/heading/heading.d.mts +2 -3
  170. package/dist/components/data-display/heading/heading.mjs +15 -14
  171. package/dist/components/data-display/heading/heading.module.mjs +20 -0
  172. package/dist/components/data-display/kbd/index.d.mts +2 -0
  173. package/dist/components/data-display/kbd/index.mjs +2 -0
  174. package/dist/components/data-display/kbd/kbd.css +21 -0
  175. package/dist/components/data-display/kbd/kbd.d.mts +8 -0
  176. package/dist/components/data-display/kbd/kbd.mjs +17 -0
  177. package/dist/components/data-display/kbd/kbd.module.mjs +5 -0
  178. package/dist/components/data-display/prose/index.d.mts +2 -0
  179. package/dist/components/data-display/prose/index.mjs +2 -0
  180. package/dist/components/data-display/prose/prose.css +253 -0
  181. package/dist/components/data-display/prose/prose.d.mts +5 -0
  182. package/dist/components/data-display/prose/prose.mjs +10 -0
  183. package/dist/components/data-display/prose/prose.module.mjs +5 -0
  184. package/dist/components/data-display/table/table.css +107 -0
  185. package/dist/components/data-display/table/table.d.mts +10 -9
  186. package/dist/components/data-display/table/table.mjs +26 -15
  187. package/dist/components/data-display/table/table.module.mjs +22 -0
  188. package/dist/components/data-display/tree/index.d.mts +2 -0
  189. package/dist/components/data-display/tree/index.mjs +2 -0
  190. package/dist/components/data-display/tree/tree.css +84 -0
  191. package/dist/components/data-display/tree/tree.d.mts +20 -0
  192. package/dist/components/data-display/tree/tree.mjs +151 -0
  193. package/dist/components/data-display/tree/tree.module.mjs +15 -0
  194. package/dist/components/feedback/alert/alert.css +42 -0
  195. package/dist/components/feedback/alert/alert.d.mts +3 -4
  196. package/dist/components/feedback/alert/alert.mjs +20 -23
  197. package/dist/components/feedback/alert/alert.module.mjs +14 -0
  198. package/dist/components/feedback/callout/callout.css +38 -0
  199. package/dist/components/feedback/callout/callout.d.mts +10 -0
  200. package/dist/components/feedback/callout/callout.mjs +38 -0
  201. package/dist/components/feedback/callout/callout.module.mjs +11 -0
  202. package/dist/components/feedback/callout/index.d.mts +2 -0
  203. package/dist/components/feedback/callout/index.mjs +2 -0
  204. package/dist/components/feedback/empty-state/empty-state.css +36 -0
  205. package/dist/components/feedback/empty-state/empty-state.d.mts +10 -0
  206. package/dist/components/feedback/empty-state/empty-state.mjs +27 -0
  207. package/dist/components/feedback/empty-state/empty-state.module.mjs +11 -0
  208. package/dist/components/feedback/empty-state/index.d.mts +2 -0
  209. package/dist/components/feedback/empty-state/index.mjs +2 -0
  210. package/dist/components/feedback/progress/progress.css +78 -0
  211. package/dist/components/feedback/progress/progress.d.mts +5 -5
  212. package/dist/components/feedback/progress/progress.mjs +17 -3
  213. package/dist/components/feedback/progress/progress.module.mjs +12 -0
  214. package/dist/components/feedback/skeleton/skeleton.css +64 -0
  215. package/dist/components/feedback/skeleton/skeleton.d.mts +2 -3
  216. package/dist/components/feedback/skeleton/skeleton.mjs +19 -2
  217. package/dist/components/feedback/skeleton/skeleton.module.mjs +17 -0
  218. package/dist/components/feedback/spinner/spinner.css +40 -0
  219. package/dist/components/feedback/spinner/spinner.d.mts +2 -3
  220. package/dist/components/feedback/spinner/spinner.mjs +13 -7
  221. package/dist/components/feedback/spinner/spinner.module.mjs +12 -0
  222. package/dist/components/feedback/toast/context.d.mts +8 -9
  223. package/dist/components/feedback/toast/provider.css +69 -0
  224. package/dist/components/feedback/toast/provider.d.mts +2 -3
  225. package/dist/components/feedback/toast/provider.mjs +17 -13
  226. package/dist/components/feedback/toast/provider.module.mjs +12 -0
  227. package/dist/components/feedback/toast/toast.d.mts +2 -3
  228. package/dist/components/form/autocomplete/autocomplete.css +154 -0
  229. package/dist/components/form/autocomplete/autocomplete.d.mts +2 -3
  230. package/dist/components/form/autocomplete/autocomplete.mjs +70 -46
  231. package/dist/components/form/autocomplete/autocomplete.module.mjs +21 -0
  232. package/dist/components/form/calendar/calendar.css +98 -0
  233. package/dist/components/form/calendar/calendar.d.mts +14 -0
  234. package/dist/components/form/calendar/calendar.mjs +182 -0
  235. package/dist/components/form/calendar/calendar.module.mjs +18 -0
  236. package/dist/components/form/calendar/index.d.mts +2 -0
  237. package/dist/components/form/calendar/index.mjs +2 -0
  238. package/dist/components/form/checkbox/checkbox.css +90 -0
  239. package/dist/components/form/checkbox/checkbox.d.mts +5 -3
  240. package/dist/components/form/checkbox/checkbox.mjs +30 -27
  241. package/dist/components/form/checkbox/checkbox.module.mjs +13 -0
  242. package/dist/components/form/checkbox-card/checkbox-card.css +138 -0
  243. package/dist/components/form/checkbox-card/checkbox-card.d.mts +3 -4
  244. package/dist/components/form/checkbox-card/checkbox-card.mjs +17 -23
  245. package/dist/components/form/checkbox-card/checkbox-card.module.mjs +17 -0
  246. package/dist/components/form/checkbox-group/checkbox-group.css +15 -0
  247. package/dist/components/form/checkbox-group/checkbox-group.d.mts +7 -5
  248. package/dist/components/form/checkbox-group/checkbox-group.mjs +12 -16
  249. package/dist/components/form/checkbox-group/checkbox-group.module.mjs +8 -0
  250. package/dist/components/form/checkbox-group/index.d.mts +5 -3
  251. package/dist/components/form/color-picker/color-picker.css +172 -0
  252. package/dist/components/form/color-picker/color-picker.d.mts +28 -0
  253. package/dist/components/form/color-picker/color-picker.mjs +239 -0
  254. package/dist/components/form/color-picker/color-picker.module.mjs +20 -0
  255. package/dist/components/form/color-picker/index.d.mts +2 -0
  256. package/dist/components/form/color-picker/index.mjs +2 -0
  257. package/dist/components/form/combobox/combobox.css +143 -0
  258. package/dist/components/form/combobox/combobox.d.mts +32 -0
  259. package/dist/components/form/combobox/combobox.mjs +278 -0
  260. package/dist/components/form/combobox/combobox.module.mjs +19 -0
  261. package/dist/components/form/combobox/index.d.mts +2 -0
  262. package/dist/components/form/combobox/index.mjs +2 -0
  263. package/dist/components/form/date-field/date-field.css +31 -0
  264. package/dist/components/form/date-field/date-field.d.mts +8 -0
  265. package/dist/components/form/date-field/date-field.mjs +20 -0
  266. package/dist/components/form/date-field/date-field.module.mjs +5 -0
  267. package/dist/components/form/date-field/index.d.mts +2 -0
  268. package/dist/components/form/date-field/index.mjs +2 -0
  269. package/dist/components/form/date-picker/date-picker.css +90 -0
  270. package/dist/components/form/date-picker/date-picker.d.mts +12 -0
  271. package/dist/components/form/date-picker/date-picker.mjs +77 -0
  272. package/dist/components/form/date-picker/date-picker.module.mjs +14 -0
  273. package/dist/components/form/date-picker/index.d.mts +2 -0
  274. package/dist/components/form/date-picker/index.mjs +2 -0
  275. package/dist/components/form/file-field/file-field.css +88 -0
  276. package/dist/components/form/file-field/file-field.d.mts +18 -19
  277. package/dist/components/form/file-field/file-field.mjs +130 -42
  278. package/dist/components/form/file-field/file-field.module.mjs +17 -0
  279. package/dist/components/form/file-field/index.d.mts +20 -2
  280. package/dist/components/form/file-field/index.mjs +9 -1
  281. package/dist/components/form/form/form.css +11 -0
  282. package/dist/components/form/form/form.d.mts +4 -4
  283. package/dist/components/form/form/form.mjs +2 -1
  284. package/dist/components/form/form/form.module.mjs +5 -0
  285. package/dist/components/form/form-control/form-control.css +43 -0
  286. package/dist/components/form/form-control/form-control.d.mts +2 -3
  287. package/dist/components/form/form-control/form-control.mjs +11 -10
  288. package/dist/components/form/form-control/form-control.module.mjs +12 -0
  289. package/dist/components/form/number-field/cast.d.mts +2 -3
  290. package/dist/components/form/number-field/cast.mjs +3 -22
  291. package/dist/components/form/number-field/number-field.css +122 -0
  292. package/dist/components/form/number-field/number-field.d.mts +10 -10
  293. package/dist/components/form/number-field/number-field.mjs +126 -54
  294. package/dist/components/form/number-field/number-field.module.mjs +10 -0
  295. package/dist/components/form/password-input/password-input.css +88 -0
  296. package/dist/components/form/password-input/password-input.d.mts +2 -3
  297. package/dist/components/form/password-input/password-input.mjs +15 -12
  298. package/dist/components/form/password-input/password-input.module.mjs +12 -0
  299. package/dist/components/form/radio/radio.css +89 -0
  300. package/dist/components/form/radio/radio.d.mts +4 -3
  301. package/dist/components/form/radio/radio.mjs +16 -19
  302. package/dist/components/form/radio/radio.module.mjs +16 -0
  303. package/dist/components/form/radio-card/radio-card.css +147 -0
  304. package/dist/components/form/radio-card/radio-card.d.mts +4 -4
  305. package/dist/components/form/radio-card/radio-card.mjs +17 -23
  306. package/dist/components/form/radio-card/radio-card.module.mjs +19 -0
  307. package/dist/components/form/range-slider/index.d.mts +2 -0
  308. package/dist/components/form/range-slider/index.mjs +2 -0
  309. package/dist/components/form/range-slider/range-slider.css +67 -0
  310. package/dist/components/form/range-slider/range-slider.d.mts +30 -0
  311. package/dist/components/form/range-slider/range-slider.mjs +135 -0
  312. package/dist/components/form/range-slider/range-slider.module.mjs +14 -0
  313. package/dist/components/form/select/select.css +74 -0
  314. package/dist/components/form/select/select.d.mts +2 -3
  315. package/dist/components/form/select/select.mjs +25 -8
  316. package/dist/components/form/select/select.module.mjs +12 -0
  317. package/dist/components/form/slider/range-input-class.css +97 -0
  318. package/dist/components/form/slider/range-input-class.d.mts +7 -0
  319. package/dist/components/form/slider/range-input-class.mjs +10 -0
  320. package/dist/components/form/slider/range-input-class.module.mjs +8 -0
  321. package/dist/components/form/slider/slider.css +55 -0
  322. package/dist/components/form/slider/slider.d.mts +6 -7
  323. package/dist/components/form/slider/slider.mjs +44 -11
  324. package/dist/components/form/slider/slider.module.mjs +12 -0
  325. package/dist/components/form/switch/switch.css +103 -0
  326. package/dist/components/form/switch/switch.d.mts +2 -3
  327. package/dist/components/form/switch/switch.mjs +14 -17
  328. package/dist/components/form/switch/switch.module.mjs +16 -0
  329. package/dist/components/form/text-field/text-field.css +41 -0
  330. package/dist/components/form/text-field/text-field.d.mts +4 -5
  331. package/dist/components/form/text-field/text-field.mjs +2 -3
  332. package/dist/components/form/text-field/text-field.module.mjs +5 -0
  333. package/dist/components/form/textarea/textarea.css +50 -0
  334. package/dist/components/form/textarea/textarea.d.mts +3 -3
  335. package/dist/components/form/textarea/textarea.mjs +6 -20
  336. package/dist/components/form/textarea/textarea.module.mjs +9 -0
  337. package/dist/components/icons/base.css +40 -0
  338. package/dist/components/icons/base.d.mts +4 -5
  339. package/dist/components/icons/base.mjs +10 -10
  340. package/dist/components/icons/base.module.mjs +13 -0
  341. package/dist/components/icons/browsers.d.mts +5 -6
  342. package/dist/components/icons/color-scale.d.mts +2 -3
  343. package/dist/components/icons/github-mark.d.mts +2 -3
  344. package/dist/components/icons/logo.css +17 -0
  345. package/dist/components/icons/logo.d.mts +3 -4
  346. package/dist/components/icons/logo.mjs +4 -3
  347. package/dist/components/icons/logo.module.mjs +9 -0
  348. package/dist/components/icons/lucide-deep.d.mts +3 -1
  349. package/dist/components/icons/lucide-imports.d.mts +3 -1
  350. package/dist/components/icons/lucide-imports.mjs +3 -1
  351. package/dist/components/icons/lucide.d.mts +60 -61
  352. package/dist/components/icons/qiita.d.mts +2 -3
  353. package/dist/components/icons/twitter.css +9 -0
  354. package/dist/components/icons/twitter.d.mts +2 -3
  355. package/dist/components/icons/twitter.mjs +2 -1
  356. package/dist/components/icons/twitter.module.mjs +5 -0
  357. package/dist/components/icons/vertical-writing.d.mts +2 -3
  358. package/dist/components/index.d.mts +62 -29
  359. package/dist/components/index.mjs +36 -14
  360. package/dist/components/layout/_shared/gap.css +25 -0
  361. package/dist/components/layout/_shared/gap.d.mts +8 -9
  362. package/dist/components/layout/_shared/gap.mjs +6 -5
  363. package/dist/components/layout/_shared/gap.module.mjs +11 -0
  364. package/dist/components/layout/_shared/padding.css +25 -0
  365. package/dist/components/layout/_shared/padding.d.mts +8 -9
  366. package/dist/components/layout/_shared/padding.mjs +6 -5
  367. package/dist/components/layout/_shared/padding.module.mjs +11 -0
  368. package/dist/components/layout/grid/grid.css +93 -0
  369. package/dist/components/layout/grid/grid.d.mts +5 -6
  370. package/dist/components/layout/grid/grid.mjs +21 -20
  371. package/dist/components/layout/grid/grid.module.mjs +25 -0
  372. package/dist/components/layout/resizable-panels/index.d.mts +18 -0
  373. package/dist/components/layout/resizable-panels/index.mjs +9 -0
  374. package/dist/components/layout/resizable-panels/resizable-panels.css +77 -0
  375. package/dist/components/layout/resizable-panels/resizable-panels.d.mts +21 -0
  376. package/dist/components/layout/resizable-panels/resizable-panels.mjs +164 -0
  377. package/dist/components/layout/resizable-panels/resizable-panels.module.mjs +16 -0
  378. package/dist/components/layout/separator/separator.css +37 -0
  379. package/dist/components/layout/separator/separator.d.mts +2 -3
  380. package/dist/components/layout/separator/separator.mjs +12 -9
  381. package/dist/components/layout/separator/separator.module.mjs +12 -0
  382. package/dist/components/layout/stack/stack.css +49 -0
  383. package/dist/components/layout/stack/stack.d.mts +3 -4
  384. package/dist/components/layout/stack/stack.mjs +11 -10
  385. package/dist/components/layout/stack/stack.module.mjs +17 -0
  386. package/dist/components/navigation/anchor/anchor.css +29 -0
  387. package/dist/components/navigation/anchor/anchor.d.mts +2 -3
  388. package/dist/components/navigation/anchor/anchor.mjs +5 -2
  389. package/dist/components/navigation/anchor/anchor.module.mjs +8 -0
  390. package/dist/components/navigation/breadcrumb/breadcrumb.css +72 -0
  391. package/dist/components/navigation/breadcrumb/breadcrumb.d.mts +5 -6
  392. package/dist/components/navigation/breadcrumb/breadcrumb.mjs +15 -9
  393. package/dist/components/navigation/breadcrumb/breadcrumb.module.mjs +14 -0
  394. package/dist/components/navigation/breadcrumb/index.d.mts +2 -3
  395. package/dist/components/navigation/pagination/pagination.css +36 -0
  396. package/dist/components/navigation/pagination/pagination.d.mts +2 -3
  397. package/dist/components/navigation/pagination/pagination.mjs +9 -8
  398. package/dist/components/navigation/pagination/pagination.module.mjs +11 -0
  399. package/dist/components/navigation/side-nav/index.d.mts +16 -0
  400. package/dist/components/navigation/side-nav/index.mjs +10 -0
  401. package/dist/components/navigation/side-nav/side-nav.css +73 -0
  402. package/dist/components/navigation/side-nav/side-nav.d.mts +31 -0
  403. package/dist/components/navigation/side-nav/side-nav.mjs +62 -0
  404. package/dist/components/navigation/side-nav/side-nav.module.mjs +11 -0
  405. package/dist/components/navigation/stepper/index.d.mts +2 -0
  406. package/dist/components/navigation/stepper/index.mjs +2 -0
  407. package/dist/components/navigation/stepper/stepper.css +151 -0
  408. package/dist/components/navigation/stepper/stepper.d.mts +19 -0
  409. package/dist/components/navigation/stepper/stepper.mjs +87 -0
  410. package/dist/components/navigation/stepper/stepper.module.mjs +29 -0
  411. package/dist/components/navigation/table-of-contents/index.d.mts +2 -0
  412. package/dist/components/navigation/table-of-contents/index.mjs +2 -0
  413. package/dist/components/navigation/table-of-contents/table-of-contents.css +17 -0
  414. package/dist/components/navigation/table-of-contents/table-of-contents.d.mts +12 -0
  415. package/dist/components/navigation/table-of-contents/table-of-contents.mjs +94 -0
  416. package/dist/components/navigation/table-of-contents/table-of-contents.module.mjs +8 -0
  417. package/dist/components/navigation/tabs/index.d.mts +19 -2
  418. package/dist/components/navigation/tabs/index.mjs +9 -1
  419. package/dist/components/navigation/tabs/tabs.css +70 -0
  420. package/dist/components/navigation/tabs/tabs.d.mts +16 -19
  421. package/dist/components/navigation/tabs/tabs.mjs +52 -49
  422. package/dist/components/navigation/tabs/tabs.module.mjs +12 -0
  423. package/dist/components/observers/fragment-instance.d.mts +1 -0
  424. package/dist/components/observers/in-view/in-view.d.mts +11 -0
  425. package/dist/components/observers/in-view/in-view.mjs +60 -0
  426. package/dist/components/observers/in-view/index.d.mts +2 -0
  427. package/dist/components/observers/in-view/index.mjs +2 -0
  428. package/dist/components/observers/resize/index.d.mts +2 -0
  429. package/dist/components/observers/resize/index.mjs +2 -0
  430. package/dist/components/observers/resize/resize.d.mts +7 -0
  431. package/dist/components/observers/resize/resize.mjs +25 -0
  432. package/dist/components/overlays/_internal/modal-dialog-context.d.mts +4 -5
  433. package/dist/components/overlays/_internal/use-can-hover.d.mts +2 -3
  434. package/dist/components/overlays/_internal/use-hover-intent.d.mts +3 -4
  435. package/dist/components/overlays/_internal/use-list-navigation.d.mts +17 -11
  436. package/dist/components/overlays/_internal/use-list-navigation.mjs +42 -26
  437. package/dist/components/overlays/command-palette/command-palette.css +91 -0
  438. package/dist/components/overlays/command-palette/command-palette.d.mts +24 -0
  439. package/dist/components/overlays/command-palette/command-palette.mjs +139 -0
  440. package/dist/components/overlays/command-palette/command-palette.module.mjs +14 -0
  441. package/dist/components/overlays/command-palette/index.d.mts +2 -0
  442. package/dist/components/overlays/command-palette/index.mjs +2 -0
  443. package/dist/components/overlays/context-menu/context-menu.d.mts +13 -0
  444. package/dist/components/overlays/context-menu/context-menu.mjs +79 -0
  445. package/dist/components/overlays/context-menu/index.d.mts +21 -0
  446. package/dist/components/overlays/context-menu/index.mjs +13 -0
  447. package/dist/components/overlays/dialog/dialog.css +31 -0
  448. package/dist/components/overlays/dialog/dialog.d.mts +12 -17
  449. package/dist/components/overlays/dialog/dialog.mjs +11 -13
  450. package/dist/components/overlays/dialog/dialog.module.mjs +10 -0
  451. package/dist/components/overlays/dialog/index.d.mts +17 -2
  452. package/dist/components/overlays/dialog/index.mjs +8 -1
  453. package/dist/components/overlays/drawer/drawer.css +48 -0
  454. package/dist/components/overlays/drawer/drawer.d.mts +2 -3
  455. package/dist/components/overlays/drawer/drawer.mjs +11 -10
  456. package/dist/components/overlays/drawer/drawer.module.mjs +13 -0
  457. package/dist/components/overlays/dropdown-menu/dropdown-menu.d.mts +19 -26
  458. package/dist/components/overlays/dropdown-menu/dropdown-menu.mjs +12 -20
  459. package/dist/components/overlays/dropdown-menu/hooks.d.mts +7 -7
  460. package/dist/components/overlays/dropdown-menu/hooks.mjs +3 -3
  461. package/dist/components/overlays/dropdown-menu/index.d.mts +30 -2
  462. package/dist/components/overlays/dropdown-menu/index.mjs +12 -1
  463. package/dist/components/overlays/dropdown-menu/shared.css +51 -0
  464. package/dist/components/overlays/dropdown-menu/shared.d.mts +3 -6
  465. package/dist/components/overlays/dropdown-menu/shared.mjs +4 -6
  466. package/dist/components/overlays/dropdown-menu/shared.module.mjs +8 -0
  467. package/dist/components/overlays/dropdown-menu/sub-menu.css +28 -0
  468. package/dist/components/overlays/dropdown-menu/sub-menu.d.mts +3 -6
  469. package/dist/components/overlays/dropdown-menu/sub-menu.mjs +16 -16
  470. package/dist/components/overlays/dropdown-menu/sub-menu.module.mjs +9 -0
  471. package/dist/components/overlays/dropdown-menu/use-safe-triangle.d.mts +2 -3
  472. package/dist/components/overlays/list-box/hooks.d.mts +6 -5
  473. package/dist/components/overlays/list-box/hooks.mjs +5 -4
  474. package/dist/components/overlays/list-box/index.d.mts +27 -2
  475. package/dist/components/overlays/list-box/index.mjs +9 -1
  476. package/dist/components/overlays/list-box/list-box.css +74 -0
  477. package/dist/components/overlays/list-box/list-box.d.mts +20 -23
  478. package/dist/components/overlays/list-box/list-box.mjs +17 -21
  479. package/dist/components/overlays/list-box/list-box.module.mjs +10 -0
  480. package/dist/components/overlays/modal/modal.css +119 -0
  481. package/dist/components/overlays/modal/modal.d.mts +2 -3
  482. package/dist/components/overlays/modal/modal.mjs +14 -11
  483. package/dist/components/overlays/modal/modal.module.mjs +11 -0
  484. package/dist/components/overlays/popover/anchor-positioning.d.mts +4 -5
  485. package/dist/components/overlays/popover/escape-stack.d.mts +2 -3
  486. package/dist/components/overlays/popover/hooks.d.mts +7 -8
  487. package/dist/components/overlays/popover/index.d.mts +25 -2
  488. package/dist/components/overlays/popover/index.mjs +8 -1
  489. package/dist/components/overlays/popover/popover.css +51 -0
  490. package/dist/components/overlays/popover/popover.d.mts +18 -20
  491. package/dist/components/overlays/popover/popover.mjs +13 -12
  492. package/dist/components/overlays/popover/popover.module.mjs +11 -0
  493. package/dist/components/overlays/tooltip/bridge.css +68 -0
  494. package/dist/components/overlays/tooltip/bridge.d.mts +2 -3
  495. package/dist/components/overlays/tooltip/bridge.mjs +7 -21
  496. package/dist/components/overlays/tooltip/bridge.module.mjs +11 -0
  497. package/dist/components/overlays/tooltip/index.d.mts +22 -2
  498. package/dist/components/overlays/tooltip/index.mjs +8 -1
  499. package/dist/components/overlays/tooltip/tooltip.css +15 -0
  500. package/dist/components/overlays/tooltip/tooltip.d.mts +19 -24
  501. package/dist/components/overlays/tooltip/tooltip.mjs +5 -9
  502. package/dist/components/overlays/tooltip/tooltip.module.mjs +5 -0
  503. package/dist/components/providers/index.d.mts +1 -2
  504. package/dist/components/providers/portal-root.d.mts +9 -7
  505. package/dist/components/providers/portal-root.mjs +7 -7
  506. package/dist/components/providers/ui-provider.d.mts +2 -6
  507. package/dist/components/providers/ui-provider.mjs +1 -5
  508. package/dist/helpers/chain.d.mts +2 -3
  509. package/dist/helpers/chain.mjs +0 -23
  510. package/dist/helpers/create-safe-context.d.mts +2 -3
  511. package/dist/helpers/create-safe-context.mjs +0 -17
  512. package/dist/helpers/index.d.mts +1 -2
  513. package/dist/helpers/index.mjs +2 -3
  514. package/dist/helpers/merge-props.d.mts +2 -3
  515. package/dist/helpers/merge-props.mjs +2 -37
  516. package/dist/helpers/merge-refs.d.mts +2 -3
  517. package/dist/helpers/merge-refs.mjs +0 -32
  518. package/dist/hooks/click-away/index.d.mts +2 -3
  519. package/dist/hooks/controllable-state/index.d.mts +2 -3
  520. package/dist/hooks/controllable-state/index.mjs +9 -11
  521. package/dist/hooks/index.d.mts +2 -23
  522. package/dist/hooks/index.mjs +2 -22
  523. package/dist/hooks/writing-mode/index.d.mts +15 -5
  524. package/dist/hooks/writing-mode/index.mjs +21 -14
  525. package/dist/i18n/current.d.mts +23 -0
  526. package/dist/i18n/current.mjs +43 -0
  527. package/dist/i18n/en.d.mts +2 -3
  528. package/dist/i18n/en.mjs +46 -0
  529. package/dist/i18n/index.d.mts +3 -2
  530. package/dist/i18n/index.mjs +4 -3
  531. package/dist/i18n/ja.d.mts +2 -3
  532. package/dist/i18n/ja.mjs +46 -0
  533. package/dist/i18n/messages.d.mts +81 -3
  534. package/dist/i18n/usage.d.mts +8 -0
  535. package/dist/i18n/usage.mjs +131 -0
  536. package/dist/index.d.mts +40 -47
  537. package/dist/index.mjs +36 -42
  538. package/dist/integrations/_shared/openui-defs.d.mts +3 -4
  539. package/dist/integrations/_shared/openui-defs.mjs +123 -54
  540. package/dist/integrations/_shared/renderers.css +50 -0
  541. package/dist/integrations/_shared/renderers.d.mts +71 -52
  542. package/dist/integrations/_shared/renderers.mjs +292 -34
  543. package/dist/integrations/_shared/renderers.module.mjs +14 -0
  544. package/dist/integrations/_shared/schemas.d.mts +388 -104
  545. package/dist/integrations/_shared/schemas.mjs +165 -27
  546. package/dist/integrations/ai-sdk/index.d.mts +2 -2
  547. package/dist/integrations/ai-sdk/map-parts.d.mts +25 -7
  548. package/dist/integrations/ai-sdk/map-parts.mjs +28 -3
  549. package/dist/integrations/json-render/catalog.d.mts +336 -18
  550. package/dist/integrations/json-render/catalog.mjs +120 -57
  551. package/dist/integrations/json-render/registry.d.mts +3 -4
  552. package/dist/integrations/json-render/registry.mjs +38 -4
  553. package/dist/integrations/openui/form-views.d.mts +23 -18
  554. package/dist/integrations/openui/form-views.mjs +27 -3
  555. package/dist/integrations/openui/library.d.mts +59 -7
  556. package/dist/integrations/openui/library.mjs +18 -3
  557. package/dist/integrations/openui/prompt.d.mts +2 -3
  558. package/dist/internal/accepts-file.d.mts +8 -0
  559. package/dist/internal/accepts-file.mjs +19 -0
  560. package/dist/internal/carries-files.d.mts +3 -0
  561. package/dist/internal/carries-files.mjs +4 -0
  562. package/dist/internal/clamp.d.mts +2 -3
  563. package/dist/internal/clamp.mjs +0 -11
  564. package/dist/internal/commit-input-value.d.mts +10 -0
  565. package/dist/internal/commit-input-value.mjs +15 -0
  566. package/dist/internal/dropped-files.d.mts +3 -0
  567. package/dist/internal/dropped-files.mjs +8 -0
  568. package/dist/{hooks/focus-trap/index.d.mts → internal/focus-trap.d.mts} +6 -7
  569. package/dist/{hooks/focus-trap/index.mjs → internal/focus-trap.mjs} +5 -5
  570. package/dist/internal/hex-color.d.mts +22 -0
  571. package/dist/internal/hex-color.mjs +53 -0
  572. package/dist/internal/iso-date.d.mts +39 -0
  573. package/dist/internal/iso-date.mjs +98 -0
  574. package/dist/internal/to-precision.d.mts +2 -3
  575. package/dist/internal/to-precision.mjs +0 -8
  576. package/dist/styles/index.css +513 -2534
  577. package/dist/styles/tailwind.css +217 -17
  578. package/dist/styles/tokens.d.mts +1 -2
  579. package/dist/styles/tokens.mjs +1 -2
  580. package/dist/types/variables.d.mts +7 -9
  581. package/docs/GUIDE.md +340 -158
  582. package/docs/llms.txt +18 -10
  583. package/docs/props.generated.json +2157 -292
  584. package/docs/references/ai-chat.md +396 -113
  585. package/docs/references/color.md +258 -113
  586. package/docs/references/components.md +1891 -461
  587. package/docs/references/generative-ui.md +163 -34
  588. package/docs/references/interaction-design.md +103 -73
  589. package/docs/references/spatial-design.md +112 -90
  590. package/docs/references/types.md +101 -0
  591. package/docs/references/typography.md +182 -73
  592. package/package.json +71 -70
  593. package/dist/components/_internal/focus-ring.d.mts +0 -8
  594. package/dist/components/_internal/focus-ring.mjs +0 -8
  595. package/dist/components/layout/scroll-linked/index.d.mts +0 -2
  596. package/dist/components/layout/scroll-linked/index.mjs +0 -2
  597. package/dist/components/layout/scroll-linked/scroll-linked.d.mts +0 -14
  598. package/dist/components/layout/scroll-linked/scroll-linked.mjs +0 -59
  599. package/dist/helpers/cn.d.mts +0 -5
  600. package/dist/helpers/cn.mjs +0 -27
  601. package/dist/hooks/breakpoint/index.d.mts +0 -5
  602. package/dist/hooks/breakpoint/index.mjs +0 -24
  603. package/dist/hooks/client/index.d.mts +0 -4
  604. package/dist/hooks/client/index.mjs +0 -6
  605. package/dist/hooks/clipboard/index.d.mts +0 -7
  606. package/dist/hooks/clipboard/index.mjs +0 -15
  607. package/dist/hooks/debounced-transition/index.d.mts +0 -5
  608. package/dist/hooks/debounced-transition/index.mjs +0 -49
  609. package/dist/hooks/deferred-debounce/index.d.mts +0 -4
  610. package/dist/hooks/deferred-debounce/index.mjs +0 -9
  611. package/dist/hooks/disclosure/index.d.mts +0 -10
  612. package/dist/hooks/disclosure/index.mjs +0 -20
  613. package/dist/hooks/hash/index.d.mts +0 -4
  614. package/dist/hooks/hash/index.mjs +0 -25
  615. package/dist/hooks/hover/index.d.mts +0 -12
  616. package/dist/hooks/hover/index.mjs +0 -19
  617. package/dist/hooks/intersection-observer/index.d.mts +0 -3
  618. package/dist/hooks/intersection-observer/index.mjs +0 -3
  619. package/dist/hooks/intersection-observer/use-in-view.d.mts +0 -11
  620. package/dist/hooks/intersection-observer/use-in-view.mjs +0 -18
  621. package/dist/hooks/intersection-observer/use-intersection-observer.d.mts +0 -11
  622. package/dist/hooks/intersection-observer/use-intersection-observer.mjs +0 -33
  623. package/dist/hooks/interval/index.d.mts +0 -4
  624. package/dist/hooks/interval/index.mjs +0 -19
  625. package/dist/hooks/local-storage/index.d.mts +0 -4
  626. package/dist/hooks/local-storage/index.mjs +0 -46
  627. package/dist/hooks/resize/index.d.mts +0 -8
  628. package/dist/hooks/resize/index.mjs +0 -24
  629. package/dist/hooks/scroll-direction/index.d.mts +0 -13
  630. package/dist/hooks/scroll-direction/index.mjs +0 -67
  631. package/dist/hooks/scroll-lock/index.d.mts +0 -9
  632. package/dist/hooks/scroll-lock/index.mjs +0 -59
  633. package/dist/hooks/session-storage/index.d.mts +0 -4
  634. package/dist/hooks/session-storage/index.mjs +0 -46
  635. package/dist/hooks/step/index.d.mts +0 -15
  636. package/dist/hooks/step/index.mjs +0 -39
  637. package/dist/hooks/timeout/index.d.mts +0 -4
  638. package/dist/hooks/timeout/index.mjs +0 -19
  639. package/dist/hooks/window-resize/index.d.mts +0 -11
  640. package/dist/hooks/window-resize/index.mjs +0 -21
  641. package/dist/hooks/window-size/index.d.mts +0 -8
  642. package/dist/hooks/window-size/index.mjs +0 -31
  643. package/dist/i18n/context.d.mts +0 -9
  644. package/dist/i18n/context.mjs +0 -19
  645. package/dist/styles/base.css +0 -315
  646. package/dist/styles/tokens.css +0 -380
  647. package/dist/styles/tokens.generated.d.mts +0 -840
  648. package/dist/styles/tokens.generated.mjs +0 -813
  649. package/dist/styles/utilities.css +0 -62
  650. package/docs/references/helpers.md +0 -120
  651. package/docs/references/hooks.md +0 -314
@@ -1,121 +1,266 @@
1
- # カラーシステム
2
-
3
- k8ordo UI のカラーは OKLCH 色空間で定義され、穏やかなトーンでUIに出る。
4
-
5
- ## 設計思想
6
-
7
- - **OKLCH パレット**: 全色を OKLCH で定義。明度(L)を全色相で統一し、同じステップ番号同士のコントラストが揃う
8
- - **鮮やかなパレット、穏やかなトークン**: パレット自体は鮮やかに保ち、セマンティックトークンで抑えたトーンにマッピング
9
- - **WCAG AAA 準拠**: fg/bg の組み合わせで 7:1 以上のコントラスト比を確保
10
- - **60-30-10 ルール**: 60% ニュートラル(グレー系)、30% サポート(bg-subtle 等)、10% アクセント(primary)
11
- - Primary に Teal(H:180)、Secondary に Cyan(H:210)を使用
12
- - ダークモードは「ライトモードの反転」ではなく、独立したトーンで設計
13
-
14
- ## OKLCH パレット設計
15
-
16
- 明度スケール(全色相で共通):
17
-
18
- | Step | L | 用途 |
19
- | ---- | ----- | -------------------------- |
20
- | 50 | 0.975 | 最も薄い背景 |
21
- | 100 | 0.945 | 薄い背景 |
22
- | 200 | 0.900 | 控えめな背景 |
23
- | 300 | 0.840 | サポートカラー |
24
- | 400 | 0.750 | 中間トーン |
25
- | 500 | 0.660 | コアカラー |
26
- | 600 | 0.575 | やや暗い |
27
- | 700 | 0.490 | 暗いトーン |
28
- | 800 | 0.410 | テキスト用(AAA on white) |
29
- | 900 | 0.370 | 最も暗い |
30
-
31
- Chroma は色相ごとに最適化(gamut 内で最大化)。
32
-
33
- ## セマンティックカラー(前景)
34
-
35
- | Tailwind クラス | Light | Dark | 用途 |
36
- | ----------------- | ---------- | ---------- | ---------------- |
37
- | `text-fg-base` | gray-900 | gray-50 | 基本テキスト |
38
- | `text-fg-subtle` | gray-400 | gray-500 | プレースホルダー |
39
- | `text-fg-mute` | gray-700 | gray-300 | 補足テキスト |
40
- | `text-fg-inverse` | gray-50 | gray-900 | 反転テキスト |
41
- | `text-fg-info` | blue-800 | blue-200 | 情報 |
42
- | `text-fg-success` | green-800 | green-200 | 成功 |
43
- | `text-fg-warning` | yellow-800 | yellow-200 | 警告 |
44
- | `text-fg-error` | red-800 | red-200 | エラー |
45
-
46
- ## セマンティックカラー(背景)
47
-
48
- | Tailwind クラス | Light | Dark | 用途 |
49
- | ----------------- | ---------- | ---------- | ---------------- |
50
- | `bg-bg-base` | white | gray-900 | カード背景 |
51
- | `bg-bg-subtle` | gray-100 | gray-800 | ページ背景 |
52
- | `bg-bg-mute` | gray-200 | gray-700 | ホバー状態用 |
53
- | `bg-bg-emphasize` | gray-300 | gray-600 | アクティブ状態用 |
54
- | `bg-bg-inverse` | gray-900 | white | 反転背景 |
55
- | `bg-bg-info` | blue-100 | blue-900 | 情報背景 |
56
- | `bg-bg-success` | green-100 | green-900 | 成功背景 |
57
- | `bg-bg-warning` | yellow-100 | yellow-900 | 警告背景 |
58
- | `bg-bg-error` | red-100 | red-900 | エラー背景 |
59
-
60
- ## セマンティックカラー(ボーダー)
61
-
62
- | Tailwind クラス | Light | Dark | 用途 |
63
- | ------------------------- | ---------- | ---------- | -------------- |
64
- | `border-border-base` | gray-400 | gray-600 | 標準ボーダー |
65
- | `border-border-subtle` | gray-100 | gray-900 | 薄いボーダー |
66
- | `border-border-mute` | gray-200 | gray-800 | 控えめボーダー |
67
- | `border-border-emphasize` | gray-500 | gray-500 | 強調ボーダー |
68
- | `border-border-inverse` | gray-700 | gray-300 | 反転ボーダー |
69
- | `border-border-info` | blue-500 | blue-500 | 情報ボーダー |
70
- | `border-border-success` | green-500 | green-500 | 成功ボーダー |
71
- | `border-border-warning` | yellow-500 | yellow-500 | 警告ボーダー |
72
- | `border-border-error` | red-500 | red-500 | エラーボーダー |
73
-
74
- ## ブランドカラー(Primary: Teal H:180)
75
-
76
- | Tailwind クラス | Light | Dark | 用途 |
77
- | ------------------------- | -------- | -------- | ------------------- |
78
- | `text-primary-fg` | teal-800 | teal-100 | Primary テキスト |
79
- | `bg-primary-bg` | teal-200 | teal-800 | Primary 背景 |
80
- | `bg-primary-bg-subtle` | teal-50 | teal-900 | 薄い Primary 背景 |
81
- | `bg-primary-bg-mute` | teal-100 | teal-800 | 控えめ Primary 背景 |
82
- | `bg-primary-bg-emphasize` | teal-200 | teal-700 | 強調 Primary 背景 |
83
- | `border-primary-border` | teal-500 | teal-500 | Primary ボーダー |
84
-
85
- ## ブランドカラー(Secondary: Cyan H:210)
86
-
87
- | Tailwind クラス | Light | Dark | 用途 |
88
- | ------------------------- | -------- | -------- | ------------------- |
89
- | `text-secondary-fg` | cyan-700 | cyan-300 | Secondary テキスト |
90
- | `bg-secondary-bg` | cyan-300 | cyan-700 | Secondary 背景 |
91
- | `bg-secondary-bg-subtle` | cyan-100 | cyan-900 | 薄い Secondary 背景 |
92
- | `border-secondary-border` | cyan-600 | cyan-600 | Secondary ボーダー |
93
-
94
- ## 使い方の例
1
+ # Color system
2
+
3
+ The colors in `@k8ordo/ui` are defined in the OKLCH color space and reach the UI
4
+ in a calm tone.
5
+
6
+ ## Design intent
7
+
8
+ - **An OKLCH palette**: every color is defined in OKLCH. The chromatic hues share one lightness (L) scale, so a step number gives close to the same contrast whatever the hue; gray has a scale of its own
9
+ - **A vivid palette, calm tokens**: the palette itself stays vivid; the semantic tokens map it down to a restrained tone
10
+ - **Contrast**: text tokens hold WCAG AAA (7:1 or better) on the page and card grounds; `fg-subtle` and brand text on `*-bg` / `*-bg-mute` / `*-bg-emphasize` stop short of it but hold AA for normal text, in light and in dark — see [Contrast](#contrast)
11
+ - **The 60-30-10 rule**: 60% neutral (greys), 30% supporting (`bg-subtle`, …), 10% accent (primary)
12
+ - Primary is teal (H:180), secondary is cyan (H:210)
13
+ - Dark mode is designed as its own tone, not as an inversion of light mode
14
+
15
+ ## OKLCH palette design
16
+
17
+ The lightness scale. Every chromatic hue uses the first L column, except that
18
+ teal and cyan put 100 at 0.955; gray uses the second:
19
+
20
+ | Step | L (chromatic) | L (gray) | Use |
21
+ | ---- | ------------- | -------- | ----------------------- |
22
+ | 50 | 0.975 | 0.975 | The lightest background |
23
+ | 100 | 0.945 | 0.955 | A light background |
24
+ | 200 | 0.900 | 0.925 | A restrained background |
25
+ | 300 | 0.840 | 0.840 | Supporting color |
26
+ | 400 | 0.750 | 0.750 | Mid tone |
27
+ | 500 | 0.660 | 0.660 | The core color |
28
+ | 600 | 0.575 | 0.520 | Slightly dark |
29
+ | 700 | 0.490 | 0.420 | Dark tone |
30
+ | 800 | 0.410 | 0.300 | For text (AAA on white) |
31
+ | 900 | 0.370 | 0.250 | Very dark |
32
+ | 950 | 0.180 | 0.180 | The darkest |
33
+
34
+ Chroma is set per hue and per step. Many steps lie outside the sRGB gamut, so
35
+ the browser maps them to what the display can show.
36
+
37
+ ## Semantic colors (foreground)
38
+
39
+ | Token | Light | Dark | Use |
40
+ | -------------------- | ---------- | ---------- | --------------- |
41
+ | `--color-fg-base` | gray-900 | gray-50 | Body text |
42
+ | `--color-fg-subtle` | gray-600 | gray-400 | Placeholders |
43
+ | `--color-fg-mute` | gray-700 | gray-300 | Supporting text |
44
+ | `--color-fg-inverse` | gray-50 | gray-900 | Inverted text |
45
+ | `--color-fg-info` | blue-800 | blue-200 | Information |
46
+ | `--color-fg-success` | green-800 | green-200 | Success |
47
+ | `--color-fg-warning` | yellow-800 | yellow-200 | Warning |
48
+ | `--color-fg-error` | red-800 | red-200 | Error |
49
+
50
+ ## Semantic colors (background)
51
+
52
+ | Token | Light | Dark | Use |
53
+ | ---------------------- | ---------- | ---------- | --------------------------------------------------------------------------- |
54
+ | `--color-bg-base` | white | gray-800 | Card background |
55
+ | `--color-bg-raised` | white | gray-800 | Overlays (Modal, Dialog, DropdownMenu, ListBox, Autocomplete's option list) |
56
+ | `--color-bg-surface` | gray-50 | gray-950 | Outermost ground: lighter than `bg-subtle` in light, darker in dark |
57
+ | `--color-bg-subtle` | gray-100 | gray-900 | Page background |
58
+ | `--color-bg-mute` | gray-200 | gray-700 | For the hover state |
59
+ | `--color-bg-emphasize` | gray-300 | gray-600 | For the active state |
60
+ | `--color-bg-inverse` | gray-900 | white | Inverted background |
61
+ | `--color-bg-info` | blue-100 | blue-900 | Information ground |
62
+ | `--color-bg-success` | green-100 | green-900 | Success ground |
63
+ | `--color-bg-warning` | yellow-100 | yellow-900 | Warning ground |
64
+ | `--color-bg-error` | red-100 | red-900 | Error ground |
65
+
66
+ ## Semantic colors (border)
67
+
68
+ | Token | Light | Dark | Use |
69
+ | -------------------------- | ---------- | ---------- | ------------------ |
70
+ | `--color-border-base` | gray-400 | gray-600 | Standard border |
71
+ | `--color-border-subtle` | gray-100 | gray-700 | Light border |
72
+ | `--color-border-mute` | gray-200 | gray-600 | Restrained border |
73
+ | `--color-border-emphasize` | gray-500 | gray-500 | Emphasized border |
74
+ | `--color-border-inverse` | gray-700 | gray-300 | Inverted border |
75
+ | `--color-border-info` | blue-500 | blue-400 | Information border |
76
+ | `--color-border-success` | green-500 | green-400 | Success border |
77
+ | `--color-border-warning` | yellow-500 | yellow-400 | Warning border |
78
+ | `--color-border-error` | red-500 | red-400 | Error border |
79
+
80
+ ## Brand color (primary: teal H:180)
81
+
82
+ | Token | Light | Dark | Use |
83
+ | ------------------------------ | -------- | -------- | ------------------------- |
84
+ | `--color-primary-fg` | teal-800 | teal-300 | Primary text |
85
+ | `--color-primary-bg` | teal-200 | teal-900 | Primary background |
86
+ | `--color-primary-bg-subtle` | teal-50 | teal-950 | Light primary background |
87
+ | `--color-primary-bg-mute` | teal-100 | teal-900 | Restrained primary ground |
88
+ | `--color-primary-bg-emphasize` | teal-300 | teal-800 | Emphasized primary ground |
89
+ | `--color-primary-border` | teal-500 | teal-500 | Primary border |
90
+
91
+ ## Brand color (secondary: cyan H:210)
92
+
93
+ | Token | Light | Dark | Use |
94
+ | -------------------------------- | -------- | -------- | --------------------------- |
95
+ | `--color-secondary-fg` | cyan-800 | cyan-300 | Secondary text |
96
+ | `--color-secondary-bg` | cyan-200 | cyan-900 | Secondary background |
97
+ | `--color-secondary-bg-subtle` | cyan-50 | cyan-950 | Light secondary background |
98
+ | `--color-secondary-bg-mute` | cyan-100 | cyan-900 | Restrained secondary ground |
99
+ | `--color-secondary-bg-emphasize` | cyan-300 | cyan-800 | Emphasized secondary ground |
100
+ | `--color-secondary-border` | cyan-500 | cyan-500 | Secondary border |
101
+
102
+ ## Data visualization and backdrop
103
+
104
+ | Token | Light | Dark | Use |
105
+ | -------------------------- | ------------------ | ---------- | ----------------------- |
106
+ | `--color-group-primary` | teal-800 | teal-200 | First data series |
107
+ | `--color-group-secondary` | cyan-800 | cyan-200 | Second data series |
108
+ | `--color-group-tertiary` | pink-800 | pink-200 | Third data series |
109
+ | `--color-group-quaternary` | purple-800 | purple-200 | Fourth data series |
110
+ | `--color-back-drop` | `rgb(0 0 0 / 0.5)` | (same) | The backdrop of a modal |
111
+
112
+ Every color is a custom property, so it goes into any CSS property that takes a
113
+ color: `color: var(--color-fg-mute)`, `fill: var(--color-group-primary)`. With
114
+ `tailwind.css`, each one is also a color utility without its `--color-` prefix
115
+ (`bg-bg-base`, `text-fg-mute`, `fill-group-primary`, …).
116
+
117
+ Under forced colors, paint with the system colors through
118
+ `--color-system-canvas-text`, `--color-system-gray-text`,
119
+ `--color-system-highlight` and `--color-system-highlight-text` (see
120
+ [forced colors](#forced-colors-active)).
121
+
122
+ ## Contrast
123
+
124
+ WCAG 2 contrast ratios of the color tokens, as axe measures them, for the
125
+ lowest pair in each row (rounded down). The tokens drop their `--color-` prefix
126
+ in this table and the next. Every pair holds at least AA for
127
+ normal text in light and in dark. The story `styles/contrast` renders each pair,
128
+ and the test suite runs axe over it in both color schemes — AAA where the table
129
+ says AAA — so a token change that breaks a row fails the build:
130
+
131
+ | Text | Ground | Light | Dark | Level |
132
+ | --------------------------------------------------------------------- | ------------------------------------------------- | ----- | ---- | ------------------------------------------------------ |
133
+ | `fg-base`, `fg-mute`, the status `fg-*`, `primary-fg`, `secondary-fg` | `bg-base`, `bg-raised`, `bg-surface`, `bg-subtle` | 7.0 | 8.3 | AAA |
134
+ | A status `fg-*` | Its own `bg-*` (`bg-error` for `fg-error`, …) | 6.9 | 7.5 | AAA, except `fg-success` on `bg-success` in light (AA) |
135
+ | `primary-fg` / `secondary-fg` | `*-bg-subtle` | 7.5 | 11.9 | AAA |
136
+ | `fg-base` | `bg-mute` | 12.8 | 7.8 | AAA |
137
+ | `fg-mute` | `bg-mute` | 6.7 | 5.2 | AA |
138
+ | `fg-base` | `bg-emphasize` | 9.7 | 5.1 | AA |
139
+ | `fg-subtle` | `bg-base`, `bg-raised`, `bg-surface`, `bg-subtle` | 4.8 | 6.1 | AA |
140
+ | `primary-fg` / `secondary-fg` | `*-bg`, `*-bg-mute` | 6.1 | 6.3 | AA |
141
+ | `primary-fg` / `secondary-fg` | `*-bg-emphasize` | 5.2 | 5.2 | AA |
142
+
143
+ In dark, `*-bg` is 900 (the same step as `*-bg-mute`) and `*-bg-emphasize` is
144
+ 800, a step darker than the rest of the dark scale would suggest, so the brand
145
+ text stays AA on the hover and active grounds of a solid `Button` /
146
+ `IconButton`.
147
+
148
+ ## High contrast and forced colors
149
+
150
+ The stylesheet follows the two contrast settings a user makes in the OS. Neither
151
+ is a preference an application stores, so `@k8ordo/color-scheme` leaves them
152
+ alone: there is nothing to toggle or persist.
153
+
154
+ ### `prefers-contrast: more`
155
+
156
+ `styles.css` moves the text and border tokens further from the ground, in light
157
+ and in dark. Text then holds AAA on the page, card, and status grounds, and
158
+ borders hold 3:1 against the grounds they sit on.
159
+
160
+ | Token | Light | Dark |
161
+ | ------------------------------------- | ----------- | -------- |
162
+ | `fg-base` | gray-950 | white |
163
+ | `fg-mute` | gray-900 | gray-100 |
164
+ | `fg-subtle` | gray-800 | gray-200 |
165
+ | The status `fg-*` | 900 | 100 |
166
+ | `primary-fg` / `secondary-fg` | 900 | 100 |
167
+ | `border-base` | gray-600 | gray-400 |
168
+ | `border-subtle` | gray-500 | gray-500 |
169
+ | `border-mute` | gray-500 | gray-400 |
170
+ | `border-emphasize` | gray-800 | gray-200 |
171
+ | The status `border-*` | 700 | 300 |
172
+ | `primary-border` / `secondary-border` | 700 | 300 |
173
+ | `bg-emphasize` | (unchanged) | gray-700 |
174
+
175
+ In dark, `bg-emphasize` moves a step darker as well, because white text on the
176
+ usual gray-600 would stay near 5:1.
177
+
178
+ Surfaces outlined only by a shadow or a ground — `Card`'s `shadow` variant,
179
+ `Modal`, `Drawer`, `Dialog`, `Alert`, `Callout` and `Toast`, a user `Message` — gain a
180
+ 1px `border-base` outline, as do the `Switch` track and thumb and the `Slider`
181
+ and `Progress` tracks. A focused `DropdownMenu` or `ListBox` item and the
182
+ active `Autocomplete` option draw a 2px outline on top of their ground.
183
+
184
+ ### `forced-colors: active`
185
+
186
+ Under forced colors the browser repaints every color from the user's palette,
187
+ drops shadows, and flattens grounds to one color. The components keep their
188
+ boundaries, focus rings, and selected states visible:
189
+
190
+ - **Boundaries**: the same outline as under `prefers-contrast: more`; controls with a border keep it
191
+ - **Focus rings**: the `box-shadow` ring disappears and a 2px outline shows instead (the components draw a transparent outline under forced colors, which the browser paints)
192
+ - **Selected states** are painted with system colors: `Highlight` for the selected tab's indicator, a checked `Switch` track, the `Progress` and `Slider` fill, and a selected `Autocomplete` option; `CanvasText` for the dot of a checked `Radio` / `RadioCard` and the thumb of a `Switch`
193
+ - `Separator` is painted `CanvasText` and `Skeleton` `GrayText`
194
+ - A color swatch in `Code` keeps its real color (`forced-color-adjust: none`), because the color is the content
195
+
196
+ ### In your own UI
197
+
198
+ - Write the two settings as media queries: `@media (prefers-contrast: more)` and `@media (forced-colors: active)` (with `tailwind.css`, the `contrast-more:` and `forced-colors:` variants). Under forced colors only system colors survive, so paint state with them (`background-color: var(--color-system-highlight)`)
199
+ - Do not draw a boundary or a focus ring with `box-shadow` alone
200
+ - Do not hide something with a transparent color: forced colors paints it. Use `visibility: hidden`
201
+ - To tune the high-contrast values, redefine the tokens inside `@media (prefers-contrast: more)`, on `:root` and on `.dark`, in CSS loaded after the library stylesheet
202
+
203
+ ## Usage examples
204
+
205
+ ```css
206
+ /* page.module.css: float a card on the page background */
207
+ .page {
208
+ min-height: 100vh;
209
+ background-color: var(--color-bg-subtle);
210
+ }
211
+
212
+ .body {
213
+ padding: calc(var(--spacing) * 6);
214
+ }
215
+
216
+ .title {
217
+ color: var(--color-fg-base);
218
+ font-weight: var(--font-weight-bold);
219
+ }
220
+
221
+ .lead {
222
+ margin-top: calc(var(--spacing) * 2);
223
+ color: var(--color-fg-mute);
224
+ }
225
+
226
+ .accent {
227
+ color: var(--color-primary-fg);
228
+ }
229
+
230
+ /* the hover state */
231
+ .row {
232
+ background-color: var(--color-bg-base);
233
+ transition: background-color var(--duration-fast) var(--easing-out);
234
+ }
235
+
236
+ @media (hover: hover) {
237
+ .row:hover {
238
+ background-color: var(--color-bg-mute);
239
+ }
240
+ }
241
+ ```
95
242
 
96
243
  ```tsx
97
- // ページ背景にカードを浮かせる
98
- <div className="bg-bg-subtle min-h-screen">
99
- <Card appearance="shadow">
100
- <div className="p-8">
101
- <h2 className="text-fg-base font-bold">タイトル</h2>
102
- <p className="text-fg-mute mt-2">補足テキスト</p>
103
- <span className="text-primary-fg">アクセントテキスト</span>
244
+ <div className={styles.page}>
245
+ <Card variant="shadow">
246
+ <div className={styles.body}>
247
+ <h2 className={styles.title}>Title</h2>
248
+ <p className={styles.lead}>Supporting text</p>
249
+ <span className={styles.accent}>Accent text</span>
104
250
  </div>
105
251
  </Card>
106
252
  </div>
107
-
108
- // ホバー状態
109
- <button className="bg-bg-base hover:bg-bg-mute transition-colors">
110
- ボタン
111
- </button>
112
253
  ```
113
254
 
114
- ## やってはいけないこと
255
+ With `tailwind.css` the same reads `bg-bg-subtle`, `p-6`, `text-fg-base
256
+ font-bold`, `mt-2 text-fg-mute`, `text-primary-fg`, and `bg-bg-base
257
+ hover:bg-bg-mute transition-colors duration-150 ease-out`.
258
+
259
+ ## What not to do
115
260
 
116
- - グラデーション背景(`bg-gradient-to-*`)
117
- - 彩度の高い色の広範囲使用(アクセントは小面積で)
118
- - 透明度による状態表現(`/90`, `/80` など)— 専用のセマンティックカラーを使う
119
- - ホバーに `bg-primary-bg` を使う — `bg-bg-mute` を優先
120
- - 生のパレット色(`bg-teal-500`)を直接使う — セマンティックトークンを使う
121
- - ダークモードで単純にカラーを反転させる
261
+ - Gradient backgrounds
262
+ - Saturated color over large areas (keep accents small)
263
+ - Expressing state with opacity (`color-mix(… 90%, transparent)`, `/90`) — use the dedicated semantic color
264
+ - Using `--color-primary-bg` on hover — prefer `--color-bg-mute`
265
+ - Using a palette color (`--teal-500`) directly — use a semantic token. The palette is what the tokens are built from, not part of the API
266
+ - Simply inverting the colors for dark mode