@kitn.ai/ui 0.17.0 → 0.18.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 (494) hide show
  1. package/README.md +28 -5
  2. package/dist/components/artifact.d.ts +39 -1
  3. package/dist/components/attachment-types.d.ts +12 -0
  4. package/dist/components/attachments.d.ts +2 -10
  5. package/dist/components/card.d.ts +27 -0
  6. package/dist/components/chain-of-thought.d.ts +78 -2
  7. package/dist/components/chat-scope-picker.d.ts +7 -0
  8. package/dist/components/chat-thread.d.ts +37 -12
  9. package/dist/components/choice-card.d.ts +26 -0
  10. package/dist/components/coachmark.d.ts +49 -0
  11. package/dist/components/composer-dom.d.ts +35 -0
  12. package/dist/components/composer-highlight.d.ts +48 -0
  13. package/dist/components/composer-history.d.ts +34 -0
  14. package/dist/components/composer.d.ts +86 -0
  15. package/dist/components/confirm-card.d.ts +17 -0
  16. package/dist/components/conversation-item.d.ts +9 -0
  17. package/dist/components/conversation-list.d.ts +36 -1
  18. package/dist/components/file-tree.d.ts +15 -0
  19. package/dist/components/form.d.ts +34 -0
  20. package/dist/components/markdown.d.ts +3 -0
  21. package/dist/components/message.d.ts +12 -0
  22. package/dist/components/model-switcher.d.ts +7 -0
  23. package/dist/components/prompt-input.d.ts +13 -4
  24. package/dist/components/prompt-suggestion.d.ts +9 -1
  25. package/dist/components/reasoning.d.ts +14 -1
  26. package/dist/components/response-compare.d.ts +14 -0
  27. package/dist/components/screen.d.ts +46 -0
  28. package/dist/components/tasks-card.d.ts +49 -1
  29. package/dist/components/toast.d.ts +12 -2
  30. package/dist/components/tool-types.d.ts +10 -0
  31. package/dist/components/tool.d.ts +8 -8
  32. package/dist/components/voice-input.d.ts +27 -0
  33. package/dist/components/voice-output.d.ts +33 -0
  34. package/dist/core-C8fzo39E.js +12 -0
  35. package/dist/custom-elements.json +8392 -1860
  36. package/dist/elements/agent-card.d.ts +1 -0
  37. package/dist/elements/agent-card.js +1 -0
  38. package/dist/elements/artifact.js +1 -1
  39. package/dist/elements/attachments.js +1 -1
  40. package/dist/elements/autoloader.js +1 -1
  41. package/dist/elements/avatar.d.ts +1 -0
  42. package/dist/elements/avatar.js +1 -0
  43. package/dist/elements/badge.d.ts +1 -0
  44. package/dist/elements/badge.js +1 -0
  45. package/dist/elements/button.d.ts +1 -0
  46. package/dist/elements/button.js +1 -0
  47. package/dist/elements/card.js +1 -1
  48. package/dist/elements/cards.js +1 -1
  49. package/dist/elements/chain-of-thought.js +1 -1
  50. package/dist/elements/chat-scope-picker.js +1 -1
  51. package/dist/elements/chat-types.d.ts +47 -0
  52. package/dist/elements/chat-workspace.js +1 -1
  53. package/dist/elements/chat.js +1 -1
  54. package/dist/elements/checkpoint.js +1 -1
  55. package/dist/elements/choice.js +1 -1
  56. package/dist/elements/chunks/Icon-DLLBeLG5.js +1 -0
  57. package/dist/elements/chunks/action-icons-UB4V5FNq.js +1 -0
  58. package/dist/elements/chunks/arrow-left-C-gwlUmx.js +1 -0
  59. package/dist/elements/chunks/attachments-CgbErf1r.js +1 -0
  60. package/dist/elements/chunks/badge-DTQpgB6N.js +1 -0
  61. package/dist/elements/chunks/button-XDUM6lXs.js +1 -0
  62. package/dist/elements/chunks/card-CBlFZ-7I.js +1 -0
  63. package/dist/elements/chunks/chat-thread-BIhmqwNL.js +1 -0
  64. package/dist/elements/chunks/check-hGUoVIKb.js +1 -0
  65. package/dist/elements/chunks/chevron-down-DDoaSUtO.js +1 -0
  66. package/dist/elements/chunks/chevron-right-CdGEUakB.js +1 -0
  67. package/dist/elements/chunks/circle-BKAZdmzb.js +1 -0
  68. package/dist/elements/chunks/circle-check-CmYG-y3I.js +1 -0
  69. package/dist/elements/chunks/circle-x-DewgAEym.js +1 -0
  70. package/dist/elements/chunks/cn-CU7UAWzk.js +1 -0
  71. package/dist/elements/chunks/code-block-DedwxwFI.js +1 -0
  72. package/dist/elements/chunks/collapsible-FfgmTHtM.js +1 -0
  73. package/dist/elements/chunks/composer-Cfbw5HKT.js +65 -0
  74. package/dist/elements/chunks/context-DwJmxlRE.js +1 -0
  75. package/dist/elements/chunks/conversation-list-DsCQMfPq.js +1 -0
  76. package/dist/elements/chunks/default-input-BuqsoENC.js +1 -0
  77. package/dist/elements/chunks/define-rGsaWsLL.js +1 -0
  78. package/dist/elements/chunks/disclosure-CwoAkpMH.js +1 -0
  79. package/dist/elements/chunks/download-DJ06G3Bz.js +1 -0
  80. package/dist/elements/chunks/dropdown-BFg8ri_R.js +1 -0
  81. package/dist/elements/chunks/ellipsis-dlN6YvGw.js +1 -0
  82. package/dist/elements/chunks/external-link-DBX2lc_R.js +1 -0
  83. package/dist/elements/chunks/file-text-HfwUx4F9.js +1 -0
  84. package/dist/elements/chunks/file-tree-C6Toj71u.js +1 -0
  85. package/dist/elements/chunks/folder-MYuqa9Xp.js +1 -0
  86. package/dist/elements/chunks/hover-card-gE7iyXdW.js +1 -0
  87. package/dist/elements/chunks/icon-Vqz4ivrY.js +1 -0
  88. package/dist/elements/chunks/{index-CTBEJeo6.js → index-BCRhi84a.js} +1 -1
  89. package/dist/elements/chunks/info-B_toFS0l.js +1 -0
  90. package/dist/elements/chunks/input-gzbHYZvQ.js +1 -0
  91. package/dist/elements/chunks/kbd-n49c4KZm.js +1 -0
  92. package/dist/elements/chunks/link-CKPs9yM0.js +1 -0
  93. package/dist/elements/chunks/loader-q6MamGus.js +1 -0
  94. package/dist/elements/chunks/{markdown-CMTGx9r8.js → markdown-DBrcqq4S.js} +9 -9
  95. package/dist/elements/chunks/message-CTqaYI0s.js +1 -0
  96. package/dist/elements/chunks/message-feedback-Cvzm03w0.js +1 -0
  97. package/dist/elements/chunks/message-square-CUg9eRCi.js +1 -0
  98. package/dist/elements/chunks/minimize-2-l2klxP6K.js +1 -0
  99. package/dist/elements/chunks/model-switcher-CmyjiHO1.js +1 -0
  100. package/dist/elements/chunks/overlay-C8sOYqjT.js +1 -0
  101. package/dist/elements/chunks/paperclip-42Ia7xHD.js +1 -0
  102. package/dist/elements/chunks/progress-bar-tzKMWAwO.js +1 -0
  103. package/dist/elements/chunks/prompt-suggestion-D3F6vP_A.js +1 -0
  104. package/dist/elements/chunks/reasoning-BJNmmyov.js +1 -0
  105. package/dist/elements/chunks/resizable-BRsk19qI.js +1 -0
  106. package/dist/elements/chunks/rotate-cw-BgcggLHC.js +1 -0
  107. package/dist/elements/chunks/scroll-area-CgGbFFbT.js +1 -0
  108. package/dist/elements/chunks/separator-8hM4GdHE.js +1 -0
  109. package/dist/elements/chunks/settings-CaUIYOg-.js +1 -0
  110. package/dist/elements/chunks/settings-group-CYjOVIZQ.js +1 -0
  111. package/dist/elements/chunks/share-BTYM3Ddt.js +1 -0
  112. package/dist/elements/chunks/skeleton-DsTYrPUe.js +1 -0
  113. package/dist/elements/chunks/slots-DkZ-Cmha.js +1 -0
  114. package/dist/elements/chunks/star-9R3LBQ9n.js +1 -0
  115. package/dist/elements/chunks/store-CYl5Y0_u.js +1 -0
  116. package/dist/elements/chunks/text-shimmer-CaYGv8Se.js +1 -0
  117. package/dist/elements/chunks/textarea-NEr2SLcD.js +1 -0
  118. package/dist/elements/chunks/thumbs-up-DZYZkFfc.js +1 -0
  119. package/dist/elements/chunks/toast-store-ClxVZRcc.js +1 -0
  120. package/dist/elements/chunks/tool-CHZOmoe9.js +1 -0
  121. package/dist/elements/chunks/tooltip-WpHElELC.js +1 -0
  122. package/dist/elements/chunks/triangle-alert-BlS80PUg.js +1 -0
  123. package/dist/elements/chunks/use-card-resolution-VSVoxDeJ.js +1 -0
  124. package/dist/elements/chunks/video-DxTPZqT8.js +1 -0
  125. package/dist/elements/chunks/x-C1qtndxn.js +1 -0
  126. package/dist/elements/coachmark.d.ts +1 -0
  127. package/dist/elements/coachmark.js +1 -0
  128. package/dist/elements/code-block.js +1 -1
  129. package/dist/elements/command.d.ts +1 -0
  130. package/dist/elements/command.js +1 -0
  131. package/dist/elements/compare.js +1 -1
  132. package/dist/elements/composer.d.ts +1 -0
  133. package/dist/elements/composer.js +1 -0
  134. package/dist/elements/confirm-card.js +1 -1
  135. package/dist/elements/context-meter.js +1 -1
  136. package/dist/elements/conversation-list.js +1 -1
  137. package/dist/elements/css.d.ts +1 -0
  138. package/dist/elements/default-input.d.ts +51 -0
  139. package/dist/elements/define.d.ts +53 -0
  140. package/dist/elements/dialog.d.ts +1 -0
  141. package/dist/elements/dialog.js +1 -0
  142. package/dist/elements/disclosure.d.ts +37 -0
  143. package/dist/elements/editable-label.d.ts +1 -0
  144. package/dist/elements/editable-label.js +1 -0
  145. package/dist/elements/embed.js +1 -1
  146. package/dist/elements/empty.js +1 -1
  147. package/dist/elements/feedback-bar.js +1 -1
  148. package/dist/elements/file-tree.js +1 -1
  149. package/dist/elements/file-upload.js +1 -1
  150. package/dist/elements/form.js +1 -1
  151. package/dist/elements/hover-card.d.ts +1 -0
  152. package/dist/elements/hover-card.js +1 -0
  153. package/dist/elements/icon.d.ts +1 -0
  154. package/dist/elements/icon.js +1 -0
  155. package/dist/elements/image.js +1 -1
  156. package/dist/elements/input.d.ts +1 -0
  157. package/dist/elements/input.js +1 -0
  158. package/dist/elements/kbd.d.ts +1 -0
  159. package/dist/elements/kbd.js +1 -0
  160. package/dist/elements/link-preview.js +1 -1
  161. package/dist/elements/loader.js +1 -1
  162. package/dist/elements/markdown.js +1 -1
  163. package/dist/elements/menu.d.ts +1 -0
  164. package/dist/elements/menu.js +1 -0
  165. package/dist/elements/message-skills.js +1 -1
  166. package/dist/elements/message.js +1 -1
  167. package/dist/elements/model-switcher.js +1 -1
  168. package/dist/elements/nav.d.ts +1 -0
  169. package/dist/elements/nav.js +1 -0
  170. package/dist/elements/notice.d.ts +1 -0
  171. package/dist/elements/notice.js +1 -0
  172. package/dist/elements/pane-group.d.ts +1 -0
  173. package/dist/elements/pane-group.js +1 -0
  174. package/dist/elements/pane.d.ts +1 -0
  175. package/dist/elements/pane.js +1 -0
  176. package/dist/elements/popover.js +1 -1
  177. package/dist/elements/progress-bar.d.ts +1 -0
  178. package/dist/elements/progress-bar.js +1 -0
  179. package/dist/elements/prompt-dock.d.ts +1 -0
  180. package/dist/elements/prompt-dock.js +1 -0
  181. package/dist/elements/prompt-input.js +1 -1
  182. package/dist/elements/prompt-suggestions.js +1 -1
  183. package/dist/elements/reasoning.js +1 -1
  184. package/dist/elements/register-impl.d.ts +0 -0
  185. package/dist/elements/register.d.ts +13 -0
  186. package/dist/elements/remote.d.ts +1 -0
  187. package/dist/elements/remote.js +1 -0
  188. package/dist/elements/resizable.js +1 -1
  189. package/dist/elements/response-stream.js +2 -2
  190. package/dist/elements/screen.d.ts +1 -0
  191. package/dist/elements/screen.js +1 -0
  192. package/dist/elements/scroll-area.d.ts +1 -0
  193. package/dist/elements/scroll-area.js +1 -0
  194. package/dist/elements/scroll-button.js +1 -1
  195. package/dist/elements/search.d.ts +1 -0
  196. package/dist/elements/search.js +1 -0
  197. package/dist/elements/segmented.d.ts +1 -0
  198. package/dist/elements/segmented.js +1 -0
  199. package/dist/elements/separator.d.ts +1 -0
  200. package/dist/elements/separator.js +1 -0
  201. package/dist/elements/setting-item.d.ts +1 -0
  202. package/dist/elements/setting-item.js +1 -0
  203. package/dist/elements/settings-group.d.ts +1 -0
  204. package/dist/elements/settings-group.js +1 -0
  205. package/dist/elements/skeleton.d.ts +1 -0
  206. package/dist/elements/skeleton.js +1 -0
  207. package/dist/elements/slots.d.ts +176 -0
  208. package/dist/elements/source.js +1 -1
  209. package/dist/elements/status.d.ts +1 -0
  210. package/dist/elements/status.js +1 -0
  211. package/dist/elements/switch.js +1 -1
  212. package/dist/elements/tabs.d.ts +1 -0
  213. package/dist/elements/tabs.js +1 -0
  214. package/dist/elements/tasks.js +1 -1
  215. package/dist/elements/text-shimmer.js +1 -1
  216. package/dist/elements/thinking-bar.js +1 -1
  217. package/dist/elements/toast.js +1 -1
  218. package/dist/elements/tool.js +1 -1
  219. package/dist/elements/tooltip.d.ts +1 -0
  220. package/dist/elements/tooltip.js +1 -0
  221. package/dist/elements/voice-input.js +1 -1
  222. package/dist/elements/voice-output.d.ts +1 -0
  223. package/dist/elements/voice-output.js +1 -0
  224. package/dist/elements.d.ts +733 -58
  225. package/dist/engine-javascript-C1x7zo1_.js +141 -0
  226. package/dist/index.d.ts +3 -2
  227. package/dist/index.js +8256 -5703
  228. package/dist/kai.es.js +1 -0
  229. package/dist/llms/llms-full.txt +1146 -64
  230. package/dist/llms/llms.txt +4 -4
  231. package/dist/mcp.es.js +62 -7
  232. package/dist/primitives/composer-model.d.ts +22 -0
  233. package/dist/primitives/composer-triggers.d.ts +19 -0
  234. package/dist/primitives/create-kai-chat.d.ts +38 -0
  235. package/dist/primitives/toast-store.d.ts +32 -2
  236. package/dist/primitives/use-speech-recognition.d.ts +26 -0
  237. package/dist/react/index.d.ts +1085 -97
  238. package/dist/react/runtime.d.ts +9 -2
  239. package/dist/react/use-kai-chat.d.ts +41 -0
  240. package/dist/react.js +572 -193
  241. package/dist/register-impl-CYWGkgbI.js +141 -0
  242. package/dist/schemas/tasks.schema.json +2 -2
  243. package/dist/state/index.d.ts +4 -0
  244. package/dist/state/messages.d.ts +11 -0
  245. package/dist/state/stream.d.ts +22 -0
  246. package/dist/state/suggestions.d.ts +4 -0
  247. package/dist/state.js +117 -0
  248. package/dist/theme.tokens.css +87 -0
  249. package/dist/types.d.ts +4 -0
  250. package/dist/ui/agent-card.d.ts +61 -0
  251. package/dist/ui/button.d.ts +5 -2
  252. package/dist/ui/card.d.ts +61 -0
  253. package/dist/ui/collapsible.d.ts +15 -1
  254. package/dist/ui/command.d.ts +33 -0
  255. package/dist/ui/dialog.d.ts +42 -0
  256. package/dist/ui/dropdown.d.ts +95 -1
  257. package/dist/ui/editable-label.d.ts +26 -0
  258. package/dist/ui/hover-card.d.ts +13 -1
  259. package/dist/ui/icon.d.ts +18 -0
  260. package/dist/ui/input.d.ts +33 -0
  261. package/dist/ui/kbd.d.ts +21 -0
  262. package/dist/ui/nav.d.ts +62 -0
  263. package/dist/ui/notice.d.ts +31 -0
  264. package/dist/ui/overlay.d.ts +12 -0
  265. package/dist/ui/pane-grid.d.ts +58 -0
  266. package/dist/ui/pane-group.d.ts +75 -0
  267. package/dist/ui/pane.d.ts +78 -0
  268. package/dist/ui/popover.d.ts +11 -1
  269. package/dist/ui/progress-bar.d.ts +23 -0
  270. package/dist/ui/prompt-dock.d.ts +96 -0
  271. package/dist/ui/resizable.d.ts +12 -0
  272. package/dist/ui/scroll-area.d.ts +4 -0
  273. package/dist/ui/segmented.d.ts +28 -0
  274. package/dist/ui/settings-group.d.ts +32 -0
  275. package/dist/ui/skeleton.d.ts +12 -0
  276. package/dist/ui/stat.d.ts +16 -0
  277. package/dist/ui/status.d.ts +13 -0
  278. package/dist/ui/switch.d.ts +8 -1
  279. package/dist/ui/tabs.d.ts +35 -0
  280. package/dist/ui/tooltip.d.ts +19 -1
  281. package/frameworks/react/index.tsx +1042 -157
  282. package/frameworks/react/runtime.tsx +30 -1
  283. package/frameworks/react/use-kai-chat.tsx +87 -0
  284. package/llms-full.txt +1146 -64
  285. package/llms.txt +4 -4
  286. package/package.json +23 -8
  287. package/src/agent-tooling/mcp/manifest.ts +14 -0
  288. package/src/agent-tooling/mcp/tools/debug.ts +10 -6
  289. package/src/agent-tooling/mcp/tools/reference.ts +32 -0
  290. package/src/agent-tooling/mcp/tools/scaffold.ts +30 -1
  291. package/src/components/artifact.tsx +98 -13
  292. package/src/components/attachment-types.ts +13 -0
  293. package/src/components/attachments.tsx +4 -14
  294. package/src/components/card.tsx +109 -15
  295. package/src/components/chain-of-thought.tsx +210 -1
  296. package/src/components/chat-scope-picker.tsx +13 -3
  297. package/src/components/chat-thread.tsx +225 -116
  298. package/src/components/choice-card.tsx +103 -11
  299. package/src/components/coachmark.tsx +245 -0
  300. package/src/components/component-meta.json +691 -102
  301. package/src/components/composer-dom.ts +159 -0
  302. package/src/components/composer-highlight.ts +242 -0
  303. package/src/components/composer-history.ts +82 -0
  304. package/src/components/composer.tsx +979 -0
  305. package/src/components/confirm-card.tsx +54 -1
  306. package/src/components/conversation-item.tsx +69 -7
  307. package/src/components/conversation-list.tsx +134 -37
  308. package/src/components/file-tree.tsx +197 -47
  309. package/src/components/form-widgets.tsx +9 -7
  310. package/src/components/form.tsx +140 -17
  311. package/src/components/image.tsx +3 -5
  312. package/src/components/link-preview.tsx +5 -4
  313. package/src/components/markdown.tsx +5 -2
  314. package/src/components/message.tsx +23 -4
  315. package/src/components/model-switcher.tsx +19 -4
  316. package/src/components/prompt-input.tsx +46 -75
  317. package/src/components/prompt-suggestion.tsx +48 -16
  318. package/src/components/reasoning.tsx +29 -6
  319. package/src/components/response-compare.tsx +31 -2
  320. package/src/components/screen.tsx +176 -0
  321. package/src/components/tasks-card.tsx +342 -21
  322. package/src/components/toast.tsx +119 -31
  323. package/src/components/tool-types.ts +10 -0
  324. package/src/components/tool.tsx +22 -16
  325. package/src/components/voice-input.tsx +102 -19
  326. package/src/components/voice-output.tsx +202 -0
  327. package/src/elements/agent-card.tsx +67 -0
  328. package/src/elements/artifact.tsx +53 -4
  329. package/src/elements/attachments.tsx +1 -0
  330. package/src/elements/avatar.tsx +33 -0
  331. package/src/elements/badge.tsx +32 -0
  332. package/src/elements/button.tsx +126 -0
  333. package/src/elements/card-media.jpg +0 -0
  334. package/src/elements/card.tsx +124 -31
  335. package/src/elements/cards.tsx +81 -7
  336. package/src/elements/chain-of-thought.tsx +77 -32
  337. package/src/elements/chat-scope-picker.tsx +35 -8
  338. package/src/elements/chat-types.ts +2 -2
  339. package/src/elements/chat-workspace.tsx +153 -41
  340. package/src/elements/chat.tsx +45 -23
  341. package/src/elements/choice.tsx +71 -19
  342. package/src/elements/coachmark.tsx +90 -0
  343. package/src/elements/command.tsx +209 -0
  344. package/src/elements/compare.tsx +24 -2
  345. package/src/elements/compiled.css +1 -1
  346. package/src/elements/composer.tsx +151 -0
  347. package/src/elements/confirm-card.tsx +36 -11
  348. package/src/elements/conversation-list.tsx +80 -11
  349. package/src/elements/default-input.tsx +75 -53
  350. package/src/elements/define.tsx +47 -6
  351. package/src/elements/dialog.tsx +98 -0
  352. package/src/elements/disclosure.ts +73 -0
  353. package/src/elements/editable-label.tsx +125 -0
  354. package/src/elements/element-manifest.json +129 -1
  355. package/src/elements/element-meta.json +5562 -1336
  356. package/src/elements/element-types.d.ts +732 -57
  357. package/src/elements/file-tree.tsx +12 -2
  358. package/src/elements/file-upload.tsx +1 -1
  359. package/src/elements/form.tsx +54 -11
  360. package/src/elements/hover-card.tsx +80 -0
  361. package/src/elements/icon-names.json +48 -0
  362. package/src/elements/icon.tsx +41 -0
  363. package/src/elements/input.tsx +203 -0
  364. package/src/elements/kbd.tsx +45 -0
  365. package/src/elements/menu.tsx +217 -0
  366. package/src/elements/message.tsx +58 -11
  367. package/src/elements/model-switcher.tsx +27 -1
  368. package/src/elements/nav.tsx +87 -0
  369. package/src/elements/notice.tsx +53 -0
  370. package/src/elements/pane-group.tsx +119 -0
  371. package/src/elements/pane.tsx +129 -0
  372. package/src/elements/popover.tsx +39 -17
  373. package/src/elements/progress-bar.tsx +39 -0
  374. package/src/elements/prompt-dock.tsx +81 -0
  375. package/src/elements/prompt-input.tsx +112 -63
  376. package/src/elements/prompt-suggestions.tsx +25 -9
  377. package/src/elements/reasoning.tsx +30 -9
  378. package/src/elements/register-impl.ts +38 -3
  379. package/src/elements/register.ts +11 -3
  380. package/src/elements/resizable.tsx +48 -11
  381. package/src/elements/screen.tsx +90 -0
  382. package/src/elements/scroll-area.tsx +33 -0
  383. package/src/elements/search.tsx +180 -0
  384. package/src/elements/segmented.tsx +135 -0
  385. package/src/elements/separator.tsx +36 -0
  386. package/src/elements/setting-item.tsx +50 -0
  387. package/src/elements/settings-group.tsx +37 -0
  388. package/src/elements/skeleton.tsx +45 -0
  389. package/src/elements/slots.ts +607 -0
  390. package/src/elements/source.tsx +13 -6
  391. package/src/elements/status.tsx +42 -0
  392. package/src/elements/switch.tsx +89 -14
  393. package/src/elements/tabs.tsx +95 -0
  394. package/src/elements/tasks.tsx +70 -14
  395. package/src/elements/toast.tsx +17 -2
  396. package/src/elements/tool.tsx +43 -9
  397. package/src/elements/tooltip.tsx +85 -0
  398. package/src/elements/video-poster.jpg +0 -0
  399. package/src/elements/voice-input.tsx +66 -16
  400. package/src/elements/voice-output.tsx +69 -0
  401. package/src/index.ts +5 -2
  402. package/src/primitives/card-schemas/tasks.schema.json +2 -2
  403. package/src/primitives/composer-model.ts +49 -0
  404. package/src/primitives/composer-triggers.ts +35 -0
  405. package/src/primitives/create-kai-chat.ts +66 -0
  406. package/src/primitives/toast-store.ts +43 -2
  407. package/src/primitives/use-speech-recognition.ts +135 -0
  408. package/src/state/index.ts +6 -0
  409. package/src/state/messages.ts +36 -0
  410. package/src/state/stream.ts +92 -0
  411. package/src/state/suggestions.ts +9 -0
  412. package/src/types.ts +4 -0
  413. package/src/ui/agent-card.tsx +212 -0
  414. package/src/ui/button.tsx +16 -5
  415. package/src/ui/card.tsx +245 -0
  416. package/src/ui/collapsible.tsx +30 -4
  417. package/src/ui/command.tsx +99 -0
  418. package/src/ui/dialog.tsx +217 -0
  419. package/src/ui/dropdown.tsx +375 -13
  420. package/src/ui/editable-label.tsx +112 -0
  421. package/src/ui/hover-card.tsx +28 -5
  422. package/src/ui/icon.tsx +110 -0
  423. package/src/ui/input.tsx +132 -0
  424. package/src/ui/kbd.tsx +118 -0
  425. package/src/ui/nav.tsx +282 -0
  426. package/src/ui/notice.tsx +84 -0
  427. package/src/ui/overlay.tsx +108 -2
  428. package/src/ui/pane-grid.tsx +116 -0
  429. package/src/ui/pane-group.tsx +280 -0
  430. package/src/ui/pane.tsx +193 -0
  431. package/src/ui/popover.tsx +16 -2
  432. package/src/ui/progress-bar.tsx +83 -0
  433. package/src/ui/prompt-dock.tsx +145 -0
  434. package/src/ui/resizable.tsx +69 -1
  435. package/src/ui/scroll-area.tsx +14 -3
  436. package/src/ui/segmented.tsx +109 -0
  437. package/src/ui/settings-group.tsx +67 -0
  438. package/src/ui/skeleton.tsx +62 -5
  439. package/src/ui/stat.tsx +41 -0
  440. package/src/ui/status.tsx +48 -0
  441. package/src/ui/switch.tsx +49 -23
  442. package/src/ui/tabs.tsx +168 -0
  443. package/src/ui/tooltip.tsx +52 -8
  444. package/theme.css +113 -0
  445. package/dist/components/slash-command.d.ts +0 -15
  446. package/dist/elements/chunks/Icon-D_Zmwmwh.js +0 -1
  447. package/dist/elements/chunks/action-icons-PVfIvcuG.js +0 -1
  448. package/dist/elements/chunks/attachments-Dp6vqtrc.js +0 -1
  449. package/dist/elements/chunks/button-CKyYD9G4.js +0 -1
  450. package/dist/elements/chunks/card-Cjho-PYk.js +0 -1
  451. package/dist/elements/chunks/chat-thread-RT808iPf.js +0 -1
  452. package/dist/elements/chunks/check-CDYaMYrM.js +0 -1
  453. package/dist/elements/chunks/chevron-down-3SBiq8HF.js +0 -1
  454. package/dist/elements/chunks/chevron-right-k2UFlIVK.js +0 -1
  455. package/dist/elements/chunks/cn-Dogu6PbV.js +0 -1
  456. package/dist/elements/chunks/code-block-BYUmfFSd.js +0 -1
  457. package/dist/elements/chunks/collapsible-BiNwdOn6.js +0 -1
  458. package/dist/elements/chunks/context-18g6oi4J.js +0 -1
  459. package/dist/elements/chunks/conversation-list-D9Y0NVdo.js +0 -1
  460. package/dist/elements/chunks/default-input-CSAoYYMd.js +0 -1
  461. package/dist/elements/chunks/download-D8K0Je8r.js +0 -1
  462. package/dist/elements/chunks/dropdown-bUs2iTia.js +0 -1
  463. package/dist/elements/chunks/external-link-6mA0wxab.js +0 -1
  464. package/dist/elements/chunks/file-text-DnaYk3Dm.js +0 -1
  465. package/dist/elements/chunks/file-tree-CgtRLlxK.js +0 -1
  466. package/dist/elements/chunks/hover-card-CIGw62gP.js +0 -1
  467. package/dist/elements/chunks/link-BlGSeoPy.js +0 -1
  468. package/dist/elements/chunks/loader-DvhR4qa0.js +0 -1
  469. package/dist/elements/chunks/message-CDZwXjhL.js +0 -1
  470. package/dist/elements/chunks/message-feedback-CYx81QiA.js +0 -1
  471. package/dist/elements/chunks/model-switcher-O_tUhoOT.js +0 -1
  472. package/dist/elements/chunks/overlay-DydXYMQW.js +0 -1
  473. package/dist/elements/chunks/prompt-suggestion-ldlWV5kd.js +0 -1
  474. package/dist/elements/chunks/reasoning-2PUnHlmr.js +0 -1
  475. package/dist/elements/chunks/resizable-B5WNbSeb.js +0 -1
  476. package/dist/elements/chunks/star-t9tI-P0q.js +0 -1
  477. package/dist/elements/chunks/store-C6rIooZz.js +0 -1
  478. package/dist/elements/chunks/text-shimmer-uh9V_KUh.js +0 -1
  479. package/dist/elements/chunks/textarea-3nm6Ia9U.js +0 -1
  480. package/dist/elements/chunks/thumbs-up-BBtguGld.js +0 -1
  481. package/dist/elements/chunks/toast-store-D8cL3fWl.js +0 -1
  482. package/dist/elements/chunks/tool-GJ3vwp1U.js +0 -1
  483. package/dist/elements/chunks/tooltip-DwKAz4XR.js +0 -1
  484. package/dist/elements/chunks/triangle-alert-Ct1zt2JL.js +0 -1
  485. package/dist/elements/chunks/use-card-resolution-D-_0Alzy.js +0 -1
  486. package/dist/elements/chunks/video-mVYiM99-.js +0 -1
  487. package/dist/elements/chunks/x-CzxL27Ch.js +0 -1
  488. package/dist/kitn-chat.es.js +0 -1
  489. package/dist/register-JyTglR6m.js +0 -1
  490. package/dist/register-impl-C6wlSsts.js +0 -77
  491. package/src/components/slash-command.tsx +0 -232
  492. package/src/elements/framework-usage.json +0 -588
  493. /package/dist/{kitn-chat-provider.d.ts → kai-provider.d.ts} +0 -0
  494. /package/dist/{kitn-chat-provider.es.js → kai-provider.es.js} +0 -0
@@ -0,0 +1,98 @@
1
+ import { createSignal, onCleanup, onMount } from 'solid-js';
2
+ import { defineWebComponent } from './define';
3
+ import { Dialog, type DialogController } from '../ui/dialog';
4
+ import { wireDisclosure } from './disclosure';
5
+
6
+ interface Props extends Record<string, unknown> {
7
+ /** Drive/observe open state (Shoelace-style: settable + reflected to the `open`
8
+ * attribute; the element still self-manages on Escape/backdrop). Set
9
+ * `el.open = true`, or `<kai-dialog open>`; listen for `kai-open-change`. */
10
+ open?: boolean;
11
+ /** Initial open state on mount (uncontrolled seed). */
12
+ defaultOpen?: boolean;
13
+ }
14
+
15
+ /** Events fired by `<kai-dialog>`. */
16
+ interface Events {
17
+ /** The dialog opened or closed (Escape, backdrop click, a driven `open`, or a method). */
18
+ 'kai-open-change': { open: boolean };
19
+ }
20
+
21
+ /**
22
+ * `<kai-dialog>` — a centered modal: a dimmed backdrop over the page with a
23
+ * centered panel of arbitrary content. It is the real primitive behind the kind
24
+ * of modal that settings panels and broadcast composers reach for.
25
+ *
26
+ * **How to use** — slot the body, and optionally a `header` and `footer`:
27
+ * ```html
28
+ * <kai-dialog open>
29
+ * <h2 slot="header">Broadcast a message</h2>
30
+ * <textarea placeholder="What's on your mind?"></textarea>
31
+ * <div slot="footer">
32
+ * <button onclick="this.closest('kai-dialog').hide()">Cancel</button>
33
+ * <button>Send</button>
34
+ * </div>
35
+ * </kai-dialog>
36
+ * ```
37
+ *
38
+ * The default slot is the body; `header`/`footer` are optional regions with
39
+ * dividers. The backdrop dims the page; clicking it (or pressing Escape) closes
40
+ * the dialog. Focus moves into the panel on open and is restored on close, and a
41
+ * basic Tab focus trap keeps keyboard focus inside while open.
42
+ *
43
+ * Open state is the standard disclosure surface: settable+reflecting `open`,
44
+ * `kai-open-change`, and `show()`/`hide()`/`toggle()`; seed with `default-open`.
45
+ * It also exposes `focus()` to move focus to the panel. Parts: `backdrop` ·
46
+ * `panel` · `header` · `body` · `footer`.
47
+ */
48
+ defineWebComponent<Props, Events>('kai-dialog', {
49
+ open: undefined,
50
+ defaultOpen: undefined,
51
+ }, (props, ctx) => {
52
+ const { flag, element, expose } = ctx;
53
+ let api: DialogController | undefined;
54
+ let panel: HTMLElement | undefined;
55
+
56
+ // The standard disclosure surface: settable+reflecting `open`, kai-open-change,
57
+ // show/hide/toggle. See ./disclosure. The SOLE emitter of kai-open-change — the
58
+ // primitive's onOpenChange is intentionally NOT wired here to avoid a double
59
+ // dispatch.
60
+ wireDisclosure(ctx, () => api, () => props.open);
61
+
62
+ // Only render the header/footer chrome (border + padding) when the consumer has
63
+ // actually projected content for that slot — otherwise an empty bordered region
64
+ // would show. Tracked off the host's light-DOM children.
65
+ const [hasHeader, setHasHeader] = createSignal(false);
66
+ const [hasFooter, setHasFooter] = createSignal(false);
67
+ const recompute = () => {
68
+ setHasHeader(!!element.querySelector(':scope > [slot="header"]'));
69
+ setHasFooter(!!element.querySelector(':scope > [slot="footer"]'));
70
+ };
71
+ onMount(() => {
72
+ recompute();
73
+ if (typeof MutationObserver === 'function') {
74
+ const obs = new MutationObserver(recompute);
75
+ obs.observe(element, { childList: true });
76
+ onCleanup(() => obs.disconnect());
77
+ }
78
+ });
79
+
80
+ // focus() shadows the host's native focus so it targets the dialog panel inside
81
+ // the shadow root (the WebAwesome/Shoelace convention).
82
+ expose({
83
+ /** Move focus to the dialog panel (no-op while closed). */
84
+ focus: (options?: FocusOptions) => panel?.focus(options),
85
+ });
86
+
87
+ return (
88
+ <Dialog
89
+ defaultOpen={flag('defaultOpen')}
90
+ header={hasHeader() ? <slot name="header" /> : undefined}
91
+ footer={hasFooter() ? <slot name="footer" /> : undefined}
92
+ controllerRef={(a) => (api = a)}
93
+ panelRef={(el) => (panel = el)}
94
+ >
95
+ <slot />
96
+ </Dialog>
97
+ );
98
+ });
@@ -0,0 +1,73 @@
1
+ import { createEffect, untrack, type Accessor } from 'solid-js';
2
+ import type { WebComponentContext } from './define';
3
+
4
+ /** The open controller a primitive hands up via `controllerRef` so a facade can
5
+ * drive + observe its open/closed state. */
6
+ export interface OpenController {
7
+ open: Accessor<boolean>;
8
+ setOpen: (v: boolean) => void;
9
+ }
10
+
11
+ /**
12
+ * Wire the standard Shoelace/WebAwesome-style overlay surface onto an internal
13
+ * open controller — the kit's convention for every open/close element (hover-card,
14
+ * tooltip, popover, menu, model-switcher, scope-picker, collapsibles, …). NOT
15
+ * React-controlled: the element keeps self-managing; this layers the host-facing
16
+ * conveniences on top.
17
+ *
18
+ * Given the primitive's `{ open, setOpen }` controller, it provides:
19
+ * - **`open` reflects** to the host `[open]` attribute (for `:host([open])` CSS),
20
+ * and is **settable** — `el.open = true` / `<el open>` drives it;
21
+ * - **`kai-open-change` `{ open }`** fires once per change (a guarded reflect
22
+ * avoids the attribute⇄prop feedback loop);
23
+ * - **`show()` / `hide()` / `toggle()`** instance methods, gated by `disabled`.
24
+ *
25
+ * The facade still:
26
+ * - declares the `open` / `defaultOpen` / `disabled` props (defaults `undefined`),
27
+ * - seeds the primitive from `defaultOpen` (e.g. via the primitive's own prop),
28
+ * - includes `'kai-open-change': { open: boolean }` in its `Events` map.
29
+ *
30
+ * @param ctx the facade's WebComponentContext (its Events must include kai-open-change).
31
+ * @param getApi returns the open controller once the primitive has handed it up (may be undefined early).
32
+ * @param openProp reads the raw reactive `open` prop (e.g. `() => props.open`) — used to tell
33
+ * "consumer explicitly set open" from "unset" so a `defaultOpen` seed isn't clobbered.
34
+ */
35
+ export function wireDisclosure<E extends { 'kai-open-change': { open: boolean } }>(
36
+ ctx: WebComponentContext<E>,
37
+ getApi: () => OpenController | undefined,
38
+ openProp: () => unknown,
39
+ ): void {
40
+ const { element, dispatch, flag, expose } = ctx;
41
+ let prev: boolean | undefined;
42
+
43
+ // Reflect internal open → the `[open]` host attribute + fire kai-open-change.
44
+ createEffect(() => {
45
+ const api = getApi();
46
+ if (!api) return;
47
+ const o = api.open();
48
+ element.toggleAttribute('open', o);
49
+ if (prev !== undefined && prev !== o) dispatch('kai-open-change', { open: o } as E['kai-open-change']);
50
+ prev = o;
51
+ });
52
+
53
+ // External `open` prop/attr → drive internal state. Only when the consumer has
54
+ // EXPLICITLY set it (so a defaultOpen seed survives mount); the equality guard
55
+ // keeps the reflect above from looping back through the prop.
56
+ createEffect(() => {
57
+ const api = getApi();
58
+ if (!api) return;
59
+ const explicit = openProp() !== undefined || element.hasAttribute('open');
60
+ if (!explicit) return;
61
+ const desired = flag('open');
62
+ if (desired !== untrack(api.open)) api.setOpen(desired);
63
+ });
64
+
65
+ expose({
66
+ /** Open it programmatically (no-op while disabled). */
67
+ show: () => { if (!flag('disabled')) getApi()?.setOpen(true); },
68
+ /** Close it programmatically. */
69
+ hide: () => getApi()?.setOpen(false),
70
+ /** Flip the open state (closes while disabled). */
71
+ toggle: () => { const api = getApi(); if (api) api.setOpen(flag('disabled') ? false : !api.open()); },
72
+ });
73
+ }
@@ -0,0 +1,125 @@
1
+ import { createEffect, createSignal, untrack } from 'solid-js';
2
+ import { defineWebComponent } from './define';
3
+ import { EditableLabel } from '../ui/editable-label';
4
+
5
+ interface Props extends Record<string, unknown> {
6
+ /** The label text — settable and reflected to the `value` attribute. Read
7
+ * `el.value` for live state. */
8
+ value?: string;
9
+ /** Controlled edit state. `el.editing = true` opens the field; reflected to the
10
+ * `editing` attribute. */
11
+ editing?: boolean;
12
+ /** Placeholder shown while editing / when the value is empty. */
13
+ placeholder?: string;
14
+ /** Disable entering edit mode. */
15
+ disabled?: boolean;
16
+ }
17
+
18
+ /** Events fired by `<kai-editable-label>`. */
19
+ interface Events {
20
+ /** Committed a changed value (Enter / blur). */
21
+ 'kai-rename': { value: string };
22
+ /** Edit was cancelled (Esc); the text is restored. */
23
+ 'kai-cancel': Record<string, never>;
24
+ }
25
+
26
+ /**
27
+ * `<kai-editable-label>` — inline rename, built on `kai-input`. Shows `value` as
28
+ * text; double-click (or `el.edit()`, or `editing`) swaps in an autofocused
29
+ * field. Enter or blur commits → `kai-rename` (only when the value changed); Esc
30
+ * cancels → `kai-cancel` (the text is restored).
31
+ *
32
+ * ```html
33
+ * <kai-editable-label value="Project Alpha"></kai-editable-label>
34
+ * <script type="module">
35
+ * import '@kitn.ai/ui/elements';
36
+ * const label = document.querySelector('kai-editable-label');
37
+ * label.addEventListener('kai-rename', (e) => save(e.detail.value));
38
+ * label.edit(); // open the field programmatically
39
+ * </script>
40
+ * ```
41
+ *
42
+ * Methods: `edit()`, `commit()`, `cancel()`. Restyle via `::part(text)` and
43
+ * `::part(input)`.
44
+ */
45
+ defineWebComponent<Props, Events>('kai-editable-label', {
46
+ value: undefined,
47
+ editing: false,
48
+ placeholder: undefined,
49
+ disabled: false,
50
+ }, (props, ctx) => {
51
+ const { element, dispatch, flag, expose } = ctx;
52
+
53
+ // Controlled value, mirrored to the `value` attribute (the kai-segmented pattern).
54
+ const [value, setValue] = createSignal(
55
+ (props.value as string | undefined) ?? element.getAttribute('value') ?? '',
56
+ );
57
+ const coerce = (v: unknown): string =>
58
+ v == null ? (element.getAttribute('value') ?? '') : String(v);
59
+ Object.defineProperty(element, 'value', {
60
+ get: () => value(),
61
+ set: (v: unknown) => { const next = coerce(v); if (untrack(value) !== next) setValue(next); },
62
+ configurable: true,
63
+ enumerable: true,
64
+ });
65
+ createEffect(() => {
66
+ const v = value();
67
+ if (v) {
68
+ if (element.getAttribute('value') !== v) element.setAttribute('value', v);
69
+ } else if (element.hasAttribute('value')) {
70
+ element.removeAttribute('value');
71
+ }
72
+ });
73
+
74
+ // Edit state lives in the facade and drives the primitive. The methods map to
75
+ // the primitive's own gestures so every commit / cancel flows through its guarded
76
+ // Enter/Esc/blur handlers (no double-fire). Controlled `editing` rides the native
77
+ // solid-element prop/attribute: we follow it (so `el.editing = true` /
78
+ // `<kai-editable-label editing>` opens the field) and reflect it, but never
79
+ // override the property with a side-effecting `Object.defineProperty` — doing so
80
+ // fires the setter during solid-element's upgrade and corrupts the signal.
81
+ const [editing, setEditing] = createSignal(flag('editing'));
82
+ createEffect(() => setEditing(flag('editing')));
83
+ createEffect(() => {
84
+ if (editing()) {
85
+ if (!element.hasAttribute('editing')) element.setAttribute('editing', '');
86
+ } else if (element.hasAttribute('editing')) {
87
+ element.removeAttribute('editing');
88
+ }
89
+ });
90
+
91
+ const getInput = (): HTMLInputElement | null =>
92
+ element.shadowRoot?.querySelector<HTMLInputElement>('input') ?? null;
93
+
94
+ const enter = () => { if (!flag('disabled')) setEditing(true); };
95
+ // Blur drives the primitive's blur-commit; Escape drives its cancel.
96
+ const commit = () => { getInput()?.blur(); };
97
+ const cancel = () => {
98
+ const input = getInput();
99
+ if (input) {
100
+ input.dispatchEvent(new KeyboardEvent('keydown', { key: 'Escape', bubbles: true, composed: true }));
101
+ } else if (untrack(editing)) {
102
+ setEditing(false);
103
+ dispatch('kai-cancel', {});
104
+ }
105
+ };
106
+
107
+ expose({ edit: enter, commit, cancel });
108
+
109
+ return (
110
+ <>
111
+ <style>{':host{display:inline-flex}'}</style>
112
+ <EditableLabel
113
+ value={value()}
114
+ editing={editing()}
115
+ placeholder={props.placeholder as string | undefined}
116
+ disabled={flag('disabled')}
117
+ onRename={(next) => {
118
+ setEditing(false);
119
+ if (next !== untrack(value)) { setValue(next); dispatch('kai-rename', { value: next }); }
120
+ }}
121
+ onCancel={() => { setEditing(false); dispatch('kai-cancel', {}); }}
122
+ />
123
+ </>
124
+ );
125
+ });
@@ -27,6 +27,13 @@
27
27
  "kai-sources": "source",
28
28
  "kai-response-stream": "response-stream",
29
29
  "kai-empty": "empty",
30
+ "kai-status": "status",
31
+ "kai-nav": "nav",
32
+ "kai-progress-bar": "progress-bar",
33
+ "kai-coachmark": "coachmark",
34
+ "kai-tabs": "tabs",
35
+ "kai-voice-output": "voice-output",
36
+ "kai-screen": "screen",
30
37
  "kai-chain-of-thought": "chain-of-thought",
31
38
  "kai-resizable": "resizable",
32
39
  "kai-resizable-item": "resizable",
@@ -35,6 +42,16 @@
35
42
  "kai-scroll-button": "scroll-button",
36
43
  "kai-popover": "popover",
37
44
  "kai-switch": "switch",
45
+ "kai-button": "button",
46
+ "kai-avatar": "avatar",
47
+ "kai-badge": "badge",
48
+ "kai-tooltip": "tooltip",
49
+ "kai-notice": "notice",
50
+ "kai-icon": "icon",
51
+ "kai-separator": "separator",
52
+ "kai-scroll-area": "scroll-area",
53
+ "kai-hover-card": "hover-card",
54
+ "kai-skeleton": "skeleton",
38
55
  "kai-toast-region": "toast",
39
56
  "kai-card": "card",
40
57
  "kai-form": "form",
@@ -44,7 +61,22 @@
44
61
  "kai-tasks": "tasks",
45
62
  "kai-choice": "choice",
46
63
  "kai-cards": "cards",
47
- "kai-compare": "compare"
64
+ "kai-compare": "compare",
65
+ "kai-composer": "composer",
66
+ "kai-menu": "menu",
67
+ "kai-command": "command",
68
+ "kai-prompt-dock": "prompt-dock",
69
+ "kai-segmented": "segmented",
70
+ "kai-settings-group": "settings-group",
71
+ "kai-setting-item": "setting-item",
72
+ "kai-pane": "pane",
73
+ "kai-pane-group": "pane-group",
74
+ "kai-agent-card": "agent-card",
75
+ "kai-dialog": "dialog",
76
+ "kai-input": "input",
77
+ "kai-search": "search",
78
+ "kai-kbd": "kbd",
79
+ "kai-editable-label": "editable-label"
48
80
  },
49
81
  "files": {
50
82
  "conversation-list": [
@@ -126,6 +158,27 @@
126
158
  "empty": [
127
159
  "kai-empty"
128
160
  ],
161
+ "status": [
162
+ "kai-status"
163
+ ],
164
+ "nav": [
165
+ "kai-nav"
166
+ ],
167
+ "progress-bar": [
168
+ "kai-progress-bar"
169
+ ],
170
+ "coachmark": [
171
+ "kai-coachmark"
172
+ ],
173
+ "tabs": [
174
+ "kai-tabs"
175
+ ],
176
+ "voice-output": [
177
+ "kai-voice-output"
178
+ ],
179
+ "screen": [
180
+ "kai-screen"
181
+ ],
129
182
  "chain-of-thought": [
130
183
  "kai-chain-of-thought"
131
184
  ],
@@ -148,6 +201,36 @@
148
201
  "switch": [
149
202
  "kai-switch"
150
203
  ],
204
+ "button": [
205
+ "kai-button"
206
+ ],
207
+ "avatar": [
208
+ "kai-avatar"
209
+ ],
210
+ "badge": [
211
+ "kai-badge"
212
+ ],
213
+ "tooltip": [
214
+ "kai-tooltip"
215
+ ],
216
+ "notice": [
217
+ "kai-notice"
218
+ ],
219
+ "icon": [
220
+ "kai-icon"
221
+ ],
222
+ "separator": [
223
+ "kai-separator"
224
+ ],
225
+ "scroll-area": [
226
+ "kai-scroll-area"
227
+ ],
228
+ "hover-card": [
229
+ "kai-hover-card"
230
+ ],
231
+ "skeleton": [
232
+ "kai-skeleton"
233
+ ],
151
234
  "toast": [
152
235
  "kai-toast-region"
153
236
  ],
@@ -177,6 +260,51 @@
177
260
  ],
178
261
  "compare": [
179
262
  "kai-compare"
263
+ ],
264
+ "composer": [
265
+ "kai-composer"
266
+ ],
267
+ "menu": [
268
+ "kai-menu"
269
+ ],
270
+ "command": [
271
+ "kai-command"
272
+ ],
273
+ "prompt-dock": [
274
+ "kai-prompt-dock"
275
+ ],
276
+ "segmented": [
277
+ "kai-segmented"
278
+ ],
279
+ "settings-group": [
280
+ "kai-settings-group"
281
+ ],
282
+ "setting-item": [
283
+ "kai-setting-item"
284
+ ],
285
+ "pane": [
286
+ "kai-pane"
287
+ ],
288
+ "pane-group": [
289
+ "kai-pane-group"
290
+ ],
291
+ "agent-card": [
292
+ "kai-agent-card"
293
+ ],
294
+ "dialog": [
295
+ "kai-dialog"
296
+ ],
297
+ "input": [
298
+ "kai-input"
299
+ ],
300
+ "search": [
301
+ "kai-search"
302
+ ],
303
+ "kbd": [
304
+ "kai-kbd"
305
+ ],
306
+ "editable-label": [
307
+ "kai-editable-label"
180
308
  ]
181
309
  }
182
310
  }