@kitn.ai/ui 0.17.0 → 0.18.1

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-C2LTALdM.js +1 -0
  57. package/dist/elements/chunks/action-icons-Dtl8Ox5D.js +1 -0
  58. package/dist/elements/chunks/arrow-left-GbBceGBE.js +1 -0
  59. package/dist/elements/chunks/attachments-DLJcWCDV.js +1 -0
  60. package/dist/elements/chunks/badge-BTNZTODL.js +1 -0
  61. package/dist/elements/chunks/button-DBDZebGr.js +1 -0
  62. package/dist/elements/chunks/card-YfCyI4fH.js +1 -0
  63. package/dist/elements/chunks/chat-thread-Dz2qbzvI.js +1 -0
  64. package/dist/elements/chunks/check-fhmRksq_.js +1 -0
  65. package/dist/elements/chunks/chevron-down-DcRg1aRU.js +1 -0
  66. package/dist/elements/chunks/chevron-right-ChzBcNJ-.js +1 -0
  67. package/dist/elements/chunks/circle-B4fTe9v6.js +1 -0
  68. package/dist/elements/chunks/circle-check-CJV-3Rem.js +1 -0
  69. package/dist/elements/chunks/circle-x-pDtzlghQ.js +1 -0
  70. package/dist/elements/chunks/cn-CU7UAWzk.js +1 -0
  71. package/dist/elements/chunks/code-block-DZ6mz6vs.js +1 -0
  72. package/dist/elements/chunks/collapsible-CWUAShMC.js +1 -0
  73. package/dist/elements/chunks/composer-BZyPU6gD.js +65 -0
  74. package/dist/elements/chunks/context-Cx6eQA_G.js +1 -0
  75. package/dist/elements/chunks/conversation-list-C4xTQSpT.js +1 -0
  76. package/dist/elements/chunks/default-input-BZcwyKcP.js +1 -0
  77. package/dist/elements/chunks/define-CNSKFZCd.js +1 -0
  78. package/dist/elements/chunks/disclosure-BcBs--Jf.js +1 -0
  79. package/dist/elements/chunks/download-BDQwcFav.js +1 -0
  80. package/dist/elements/chunks/dropdown-wgs8xCJZ.js +1 -0
  81. package/dist/elements/chunks/ellipsis-CUiEJ6R1.js +1 -0
  82. package/dist/elements/chunks/external-link-DJUmC7g2.js +1 -0
  83. package/dist/elements/chunks/file-text-DOYfYvrh.js +1 -0
  84. package/dist/elements/chunks/file-tree-DQzNQrbr.js +1 -0
  85. package/dist/elements/chunks/folder-DBDUBANz.js +1 -0
  86. package/dist/elements/chunks/hover-card-BQGdGAQ3.js +1 -0
  87. package/dist/elements/chunks/icon-CAyRqVrg.js +1 -0
  88. package/dist/elements/chunks/{index-CTBEJeo6.js → index-BCRhi84a.js} +1 -1
  89. package/dist/elements/chunks/info-DBQl-m6e.js +1 -0
  90. package/dist/elements/chunks/input-DZD67EvW.js +1 -0
  91. package/dist/elements/chunks/kbd-DbyVrlnU.js +1 -0
  92. package/dist/elements/chunks/link-vko7AttA.js +1 -0
  93. package/dist/elements/chunks/loader-Cg6rO8tQ.js +1 -0
  94. package/dist/elements/chunks/{markdown-CMTGx9r8.js → markdown-n3Xbj3PR.js} +9 -9
  95. package/dist/elements/chunks/message-CgKytiSB.js +1 -0
  96. package/dist/elements/chunks/message-feedback-Ds3-US0e.js +1 -0
  97. package/dist/elements/chunks/message-square-MmRkvc-M.js +1 -0
  98. package/dist/elements/chunks/minimize-2-3kCdE0q3.js +1 -0
  99. package/dist/elements/chunks/model-switcher-BMtXGwLU.js +1 -0
  100. package/dist/elements/chunks/overlay-B1-MBI6h.js +1 -0
  101. package/dist/elements/chunks/paperclip-DDEfmkHc.js +1 -0
  102. package/dist/elements/chunks/progress-bar-Dwbiyv3s.js +1 -0
  103. package/dist/elements/chunks/prompt-suggestion-9lvgFcEa.js +1 -0
  104. package/dist/elements/chunks/reasoning-DzHWsdAJ.js +1 -0
  105. package/dist/elements/chunks/resizable-Bq_eHxUm.js +1 -0
  106. package/dist/elements/chunks/rotate-cw-jpisOdOV.js +1 -0
  107. package/dist/elements/chunks/scroll-area-g5Ze3K6f.js +1 -0
  108. package/dist/elements/chunks/separator-Bmjc5XyX.js +1 -0
  109. package/dist/elements/chunks/settings-Cz1bMJP9.js +1 -0
  110. package/dist/elements/chunks/settings-group-9imY3kRA.js +1 -0
  111. package/dist/elements/chunks/share-BdenF0wQ.js +1 -0
  112. package/dist/elements/chunks/skeleton-Pjc5jiaY.js +1 -0
  113. package/dist/elements/chunks/slots-DkZ-Cmha.js +1 -0
  114. package/dist/elements/chunks/star-DY6z1UUH.js +1 -0
  115. package/dist/elements/chunks/store-th4VyJXM.js +1 -0
  116. package/dist/elements/chunks/text-shimmer-CEi-tlXr.js +1 -0
  117. package/dist/elements/chunks/textarea-CboigarR.js +1 -0
  118. package/dist/elements/chunks/thumbs-up-BR33KLfA.js +1 -0
  119. package/dist/elements/chunks/toast-store-BEMda0fv.js +1 -0
  120. package/dist/elements/chunks/tool-TMued3WO.js +1 -0
  121. package/dist/elements/chunks/tooltip-Cft_Rxiw.js +1 -0
  122. package/dist/elements/chunks/triangle-alert-B07fX3Q8.js +1 -0
  123. package/dist/elements/chunks/use-card-resolution-M36zVciB.js +1 -0
  124. package/dist/elements/chunks/video-MKp3LmNT.js +1 -0
  125. package/dist/elements/chunks/x-Ckwicf6g.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 +8255 -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-cKscku5m.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 +77 -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 +31 -10
  287. package/src/agent-tooling/mcp/manifest.ts +14 -0
  288. package/src/agent-tooling/mcp/tools/debug.ts +11 -7
  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 +249 -0
  300. package/src/components/component-meta.json +699 -110
  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 +341 -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 +2 -2
  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 +87 -7
  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 +218 -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 +117 -0
  429. package/src/ui/pane-group.tsx +291 -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
@@ -1,588 +0,0 @@
1
- [
2
- {
3
- "tag": "kai-artifact",
4
- "displayName": "Artifact",
5
- "hasSolid": true,
6
- "snippets": {
7
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-artifact></kai-artifact>\n<script type=\"module\">\n const el = document.querySelector('kai-artifact');\n el.files = /* … */;\n el.addEventListener('kai-file-select', (e) => console.log(e.detail));\n el.addEventListener('kai-maximize-change', (e) => console.log(e.detail));\n el.addEventListener('kai-navigate', (e) => console.log(e.detail));\n el.addEventListener('kai-tab-change', (e) => console.log(e.detail));\n</script>",
8
- "react": "import { Artifact } from '@kitn.ai/ui/react';\n\n<Artifact\n files={files}\n onFileSelect={(e) => console.log(e.detail)}\n onMaximizeChange={(e) => console.log(e.detail)}\n onNavigate={(e) => console.log(e.detail)}\n onTabChange={(e) => console.log(e.detail)}\n/>",
9
- "vue": "<kai-artifact\n :files.prop=\"files\"\n @kai-file-select=\"onFileSelect\"\n @kai-maximize-change=\"onMaximizeChange\"\n @kai-navigate=\"onNavigate\"\n @kai-tab-change=\"onTabChange\"\n/>",
10
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-artifact\n {files}\n on:kai-file-select={onFileSelect}\n on:kai-maximize-change={onMaximizeChange}\n on:kai-navigate={onNavigate}\n on:kai-tab-change={onTabChange}\n></kai-artifact>",
11
- "angular": "<kai-artifact\n [files]=\"files\"\n (kai-file-select)=\"onFileSelect($event)\"\n (kai-maximize-change)=\"onMaximizeChange($event)\"\n (kai-navigate)=\"onNavigate($event)\"\n (kai-tab-change)=\"onTabChange($event)\"\n></kai-artifact>",
12
- "solid": "import { Artifact } from '@kitn.ai/ui';\n\n<Artifact\n files={files}\n onFileSelect={(e) => console.log(e.detail)}\n onMaximizeChange={(e) => console.log(e.detail)}\n onNavigate={(e) => console.log(e.detail)}\n onTabChange={(e) => console.log(e.detail)}\n/>"
13
- }
14
- },
15
- {
16
- "tag": "kai-attachments",
17
- "displayName": "Attachments",
18
- "hasSolid": true,
19
- "snippets": {
20
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-attachments></kai-attachments>\n<script type=\"module\">\n const el = document.querySelector('kai-attachments');\n el.items = /* … */;\n el.addEventListener('kai-remove', (e) => console.log(e.detail));\n</script>",
21
- "react": "import { Attachments } from '@kitn.ai/ui/react';\n\n<Attachments\n items={items}\n onRemove={(e) => console.log(e.detail)}\n/>",
22
- "vue": "<kai-attachments\n :items.prop=\"items\"\n @kai-remove=\"onRemove\"\n/>",
23
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-attachments\n {items}\n on:kai-remove={onRemove}\n></kai-attachments>",
24
- "angular": "<kai-attachments\n [items]=\"items\"\n (kai-remove)=\"onRemove($event)\"\n></kai-attachments>",
25
- "solid": "import { Attachments } from '@kitn.ai/ui';\n\n<Attachments\n items={items}\n onRemove={(e) => console.log(e.detail)}\n/>"
26
- }
27
- },
28
- {
29
- "tag": "kai-card",
30
- "displayName": "Card",
31
- "hasSolid": true,
32
- "snippets": {
33
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-card></kai-card>",
34
- "react": "import { Card } from '@kitn.ai/ui/react';\n\n<Card />",
35
- "vue": "<kai-card />",
36
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-card></kai-card>",
37
- "angular": "<kai-card></kai-card>",
38
- "solid": "import { Card } from '@kitn.ai/ui';\n\n<Card />"
39
- }
40
- },
41
- {
42
- "tag": "kai-cards",
43
- "displayName": "Cards",
44
- "hasSolid": false,
45
- "snippets": {
46
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-cards></kai-cards>",
47
- "react": "import { Cards } from '@kitn.ai/ui/react';\n\n<Cards />",
48
- "vue": "<kai-cards />",
49
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-cards></kai-cards>",
50
- "angular": "<kai-cards></kai-cards>"
51
- }
52
- },
53
- {
54
- "tag": "kai-chain-of-thought",
55
- "displayName": "ChainOfThought",
56
- "hasSolid": true,
57
- "snippets": {
58
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-chain-of-thought></kai-chain-of-thought>\n<script type=\"module\">\n const el = document.querySelector('kai-chain-of-thought');\n el.steps = /* … */;\n</script>",
59
- "react": "import { ChainOfThought } from '@kitn.ai/ui/react';\n\n<ChainOfThought\n steps={steps}\n/>",
60
- "vue": "<kai-chain-of-thought\n :steps.prop=\"steps\"\n/>",
61
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-chain-of-thought\n {steps}\n></kai-chain-of-thought>",
62
- "angular": "<kai-chain-of-thought\n [steps]=\"steps\"\n></kai-chain-of-thought>",
63
- "solid": "import { ChainOfThought } from '@kitn.ai/ui';\n\n<ChainOfThought\n steps={steps}\n/>"
64
- }
65
- },
66
- {
67
- "tag": "kai-chat",
68
- "displayName": "Chat",
69
- "hasSolid": false,
70
- "snippets": {
71
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-chat></kai-chat>\n<script type=\"module\">\n const el = document.querySelector('kai-chat');\n el.messages = /* … */;\n el.addEventListener('kai-message-action', (e) => console.log(e.detail));\n el.addEventListener('kai-model-change', (e) => console.log(e.detail));\n el.addEventListener('kai-search', (e) => console.log(e.detail));\n el.addEventListener('kai-slash-select', (e) => console.log(e.detail));\n el.addEventListener('kai-submit', (e) => console.log(e.detail));\n el.addEventListener('kai-suggestion-click', (e) => console.log(e.detail));\n el.addEventListener('kai-value-change', (e) => console.log(e.detail));\n el.addEventListener('kai-voice', (e) => console.log(e.detail));\n</script>",
72
- "react": "import { Chat } from '@kitn.ai/ui/react';\n\n<Chat\n messages={messages}\n onMessageAction={(e) => console.log(e.detail)}\n onModelChange={(e) => console.log(e.detail)}\n onSearch={(e) => console.log(e.detail)}\n onSlashSelect={(e) => console.log(e.detail)}\n onSubmit={(e) => console.log(e.detail)}\n onSuggestionClick={(e) => console.log(e.detail)}\n onValueChange={(e) => console.log(e.detail)}\n onVoice={(e) => console.log(e.detail)}\n/>",
73
- "vue": "<kai-chat\n :messages.prop=\"messages\"\n @kai-message-action=\"onMessageAction\"\n @kai-model-change=\"onModelChange\"\n @kai-search=\"onSearch\"\n @kai-slash-select=\"onSlashSelect\"\n @kai-submit=\"onSubmit\"\n @kai-suggestion-click=\"onSuggestionClick\"\n @kai-value-change=\"onValueChange\"\n @kai-voice=\"onVoice\"\n/>",
74
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-chat\n {messages}\n on:kai-message-action={onMessageAction}\n on:kai-model-change={onModelChange}\n on:kai-search={onSearch}\n on:kai-slash-select={onSlashSelect}\n on:kai-submit={onSubmit}\n on:kai-suggestion-click={onSuggestionClick}\n on:kai-value-change={onValueChange}\n on:kai-voice={onVoice}\n></kai-chat>",
75
- "angular": "<kai-chat\n [messages]=\"messages\"\n (kai-message-action)=\"onMessageAction($event)\"\n (kai-model-change)=\"onModelChange($event)\"\n (kai-search)=\"onSearch($event)\"\n (kai-slash-select)=\"onSlashSelect($event)\"\n (kai-submit)=\"onSubmit($event)\"\n (kai-suggestion-click)=\"onSuggestionClick($event)\"\n (kai-value-change)=\"onValueChange($event)\"\n (kai-voice)=\"onVoice($event)\"\n></kai-chat>"
76
- }
77
- },
78
- {
79
- "tag": "kai-checkpoint",
80
- "displayName": "Checkpoint",
81
- "hasSolid": true,
82
- "snippets": {
83
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-checkpoint></kai-checkpoint>\n<script type=\"module\">\n const el = document.querySelector('kai-checkpoint');\n el.addEventListener('kai-select', (e) => console.log(e.detail));\n</script>",
84
- "react": "import { Checkpoint } from '@kitn.ai/ui/react';\n\n<Checkpoint\n onSelect={(e) => console.log(e.detail)}\n/>",
85
- "vue": "<kai-checkpoint\n @kai-select=\"onSelect\"\n/>",
86
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-checkpoint\n on:kai-select={onSelect}\n></kai-checkpoint>",
87
- "angular": "<kai-checkpoint\n (kai-select)=\"onSelect($event)\"\n></kai-checkpoint>",
88
- "solid": "import { Checkpoint } from '@kitn.ai/ui';\n\n<Checkpoint\n onSelect={(e) => console.log(e.detail)}\n/>"
89
- }
90
- },
91
- {
92
- "tag": "kai-choice",
93
- "displayName": "Choice",
94
- "hasSolid": false,
95
- "snippets": {
96
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-choice></kai-choice>",
97
- "react": "import { Choice } from '@kitn.ai/ui/react';\n\n<Choice />",
98
- "vue": "<kai-choice />",
99
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-choice></kai-choice>",
100
- "angular": "<kai-choice></kai-choice>"
101
- }
102
- },
103
- {
104
- "tag": "kai-code-block",
105
- "displayName": "CodeBlock",
106
- "hasSolid": true,
107
- "snippets": {
108
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-code-block code=\"…\"></kai-code-block>",
109
- "react": "import { CodeBlock } from '@kitn.ai/ui/react';\n\n<CodeBlock\n code={code}\n/>",
110
- "vue": "<kai-code-block\n :code=\"code\"\n/>",
111
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-code-block\n {code}\n></kai-code-block>",
112
- "angular": "<kai-code-block\n [code]=\"code\"\n></kai-code-block>",
113
- "solid": "import { CodeBlock } from '@kitn.ai/ui';\n\n<CodeBlock\n code={code}\n/>"
114
- }
115
- },
116
- {
117
- "tag": "kai-compare",
118
- "displayName": "Compare",
119
- "hasSolid": false,
120
- "snippets": {
121
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-compare></kai-compare>\n<script type=\"module\">\n const el = document.querySelector('kai-compare');\n el.addEventListener('kai-compare-select', (e) => console.log(e.detail));\n el.addEventListener('kai-error', (e) => console.log(e.detail));\n el.addEventListener('kai-ready', (e) => console.log(e.detail));\n</script>",
122
- "react": "import { Compare } from '@kitn.ai/ui/react';\n\n<Compare\n onCompareSelect={(e) => console.log(e.detail)}\n onError={(e) => console.log(e.detail)}\n onReady={(e) => console.log(e.detail)}\n/>",
123
- "vue": "<kai-compare\n @kai-compare-select=\"onCompareSelect\"\n @kai-error=\"onError\"\n @kai-ready=\"onReady\"\n/>",
124
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-compare\n on:kai-compare-select={onCompareSelect}\n on:kai-error={onError}\n on:kai-ready={onReady}\n></kai-compare>",
125
- "angular": "<kai-compare\n (kai-compare-select)=\"onCompareSelect($event)\"\n (kai-error)=\"onError($event)\"\n (kai-ready)=\"onReady($event)\"\n></kai-compare>"
126
- }
127
- },
128
- {
129
- "tag": "kai-confirm",
130
- "displayName": "Confirm",
131
- "hasSolid": false,
132
- "snippets": {
133
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-confirm></kai-confirm>",
134
- "react": "import { Confirm } from '@kitn.ai/ui/react';\n\n<Confirm />",
135
- "vue": "<kai-confirm />",
136
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-confirm></kai-confirm>",
137
- "angular": "<kai-confirm></kai-confirm>"
138
- }
139
- },
140
- {
141
- "tag": "kai-context",
142
- "displayName": "Context",
143
- "hasSolid": true,
144
- "snippets": {
145
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-context></kai-context>\n<script type=\"module\">\n const el = document.querySelector('kai-context');\n el.addEventListener('kai-threshold-change', (e) => console.log(e.detail));\n</script>",
146
- "react": "import { Context } from '@kitn.ai/ui/react';\n\n<Context\n onThresholdChange={(e) => console.log(e.detail)}\n/>",
147
- "vue": "<kai-context\n @kai-threshold-change=\"onThresholdChange\"\n/>",
148
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-context\n on:kai-threshold-change={onThresholdChange}\n></kai-context>",
149
- "angular": "<kai-context\n (kai-threshold-change)=\"onThresholdChange($event)\"\n></kai-context>",
150
- "solid": "import { Context } from '@kitn.ai/ui';\n\n<Context\n onThresholdChange={(e) => console.log(e.detail)}\n/>"
151
- }
152
- },
153
- {
154
- "tag": "kai-conversations",
155
- "displayName": "Conversations",
156
- "hasSolid": true,
157
- "snippets": {
158
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-conversations></kai-conversations>\n<script type=\"module\">\n const el = document.querySelector('kai-conversations');\n el.groups = /* … */;\n el.conversations = /* … */;\n el.addEventListener('kai-conversation-select', (e) => console.log(e.detail));\n el.addEventListener('kai-new-chat', (e) => console.log(e.detail));\n el.addEventListener('kai-toggle-sidebar', (e) => console.log(e.detail));\n</script>",
159
- "react": "import { Conversations } from '@kitn.ai/ui/react';\n\n<Conversations\n groups={groups}\n conversations={conversations}\n onConversationSelect={(e) => console.log(e.detail)}\n onNewChat={(e) => console.log(e.detail)}\n onToggleSidebar={(e) => console.log(e.detail)}\n/>",
160
- "vue": "<kai-conversations\n :groups.prop=\"groups\"\n :conversations.prop=\"conversations\"\n @kai-conversation-select=\"onConversationSelect\"\n @kai-new-chat=\"onNewChat\"\n @kai-toggle-sidebar=\"onToggleSidebar\"\n/>",
161
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-conversations\n {groups}\n {conversations}\n on:kai-conversation-select={onConversationSelect}\n on:kai-new-chat={onNewChat}\n on:kai-toggle-sidebar={onToggleSidebar}\n></kai-conversations>",
162
- "angular": "<kai-conversations\n [groups]=\"groups\"\n [conversations]=\"conversations\"\n (kai-conversation-select)=\"onConversationSelect($event)\"\n (kai-new-chat)=\"onNewChat($event)\"\n (kai-toggle-sidebar)=\"onToggleSidebar($event)\"\n></kai-conversations>",
163
- "solid": "import { ConversationList } from '@kitn.ai/ui';\n\n<ConversationList\n groups={groups}\n conversations={conversations}\n onConversationSelect={(e) => console.log(e.detail)}\n onNewChat={(e) => console.log(e.detail)}\n onToggleSidebar={(e) => console.log(e.detail)}\n/>"
164
- }
165
- },
166
- {
167
- "tag": "kai-embed",
168
- "displayName": "Embed",
169
- "hasSolid": true,
170
- "snippets": {
171
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-embed></kai-embed>",
172
- "react": "import { Embed } from '@kitn.ai/ui/react';\n\n<Embed />",
173
- "vue": "<kai-embed />",
174
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-embed></kai-embed>",
175
- "angular": "<kai-embed></kai-embed>",
176
- "solid": "import { Embed } from '@kitn.ai/ui';\n\n<Embed />"
177
- }
178
- },
179
- {
180
- "tag": "kai-empty",
181
- "displayName": "Empty",
182
- "hasSolid": true,
183
- "snippets": {
184
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-empty></kai-empty>",
185
- "react": "import { Empty } from '@kitn.ai/ui/react';\n\n<Empty />",
186
- "vue": "<kai-empty />",
187
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-empty></kai-empty>",
188
- "angular": "<kai-empty></kai-empty>",
189
- "solid": "import { Empty } from '@kitn.ai/ui';\n\n<Empty />"
190
- }
191
- },
192
- {
193
- "tag": "kai-feedback-bar",
194
- "displayName": "FeedbackBar",
195
- "hasSolid": true,
196
- "snippets": {
197
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-feedback-bar></kai-feedback-bar>\n<script type=\"module\">\n const el = document.querySelector('kai-feedback-bar');\n el.addEventListener('kai-close', (e) => console.log(e.detail));\n el.addEventListener('kai-feedback', (e) => console.log(e.detail));\n el.addEventListener('kai-feedback-detail', (e) => console.log(e.detail));\n</script>",
198
- "react": "import { FeedbackBar } from '@kitn.ai/ui/react';\n\n<FeedbackBar\n onClose={(e) => console.log(e.detail)}\n onFeedback={(e) => console.log(e.detail)}\n onFeedbackDetail={(e) => console.log(e.detail)}\n/>",
199
- "vue": "<kai-feedback-bar\n @kai-close=\"onClose\"\n @kai-feedback=\"onFeedback\"\n @kai-feedback-detail=\"onFeedbackDetail\"\n/>",
200
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-feedback-bar\n on:kai-close={onClose}\n on:kai-feedback={onFeedback}\n on:kai-feedback-detail={onFeedbackDetail}\n></kai-feedback-bar>",
201
- "angular": "<kai-feedback-bar\n (kai-close)=\"onClose($event)\"\n (kai-feedback)=\"onFeedback($event)\"\n (kai-feedback-detail)=\"onFeedbackDetail($event)\"\n></kai-feedback-bar>",
202
- "solid": "import { FeedbackBar } from '@kitn.ai/ui';\n\n<FeedbackBar\n onClose={(e) => console.log(e.detail)}\n onFeedback={(e) => console.log(e.detail)}\n onFeedbackDetail={(e) => console.log(e.detail)}\n/>"
203
- }
204
- },
205
- {
206
- "tag": "kai-file-tree",
207
- "displayName": "FileTree",
208
- "hasSolid": true,
209
- "snippets": {
210
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-file-tree></kai-file-tree>\n<script type=\"module\">\n const el = document.querySelector('kai-file-tree');\n el.files = /* … */;\n el.addEventListener('kai-select', (e) => console.log(e.detail));\n</script>",
211
- "react": "import { FileTree } from '@kitn.ai/ui/react';\n\n<FileTree\n files={files}\n onSelect={(e) => console.log(e.detail)}\n/>",
212
- "vue": "<kai-file-tree\n :files.prop=\"files\"\n @kai-select=\"onSelect\"\n/>",
213
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-file-tree\n {files}\n on:kai-select={onSelect}\n></kai-file-tree>",
214
- "angular": "<kai-file-tree\n [files]=\"files\"\n (kai-select)=\"onSelect($event)\"\n></kai-file-tree>",
215
- "solid": "import { FileTree } from '@kitn.ai/ui';\n\n<FileTree\n files={files}\n onSelect={(e) => console.log(e.detail)}\n/>"
216
- }
217
- },
218
- {
219
- "tag": "kai-file-upload",
220
- "displayName": "FileUpload",
221
- "hasSolid": true,
222
- "snippets": {
223
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-file-upload></kai-file-upload>\n<script type=\"module\">\n const el = document.querySelector('kai-file-upload');\n el.addEventListener('kai-files-added', (e) => console.log(e.detail));\n</script>",
224
- "react": "import { FileUpload } from '@kitn.ai/ui/react';\n\n<FileUpload\n onFilesAdded={(e) => console.log(e.detail)}\n/>",
225
- "vue": "<kai-file-upload\n @kai-files-added=\"onFilesAdded\"\n/>",
226
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-file-upload\n on:kai-files-added={onFilesAdded}\n></kai-file-upload>",
227
- "angular": "<kai-file-upload\n (kai-files-added)=\"onFilesAdded($event)\"\n></kai-file-upload>",
228
- "solid": "import { FileUpload } from '@kitn.ai/ui';\n\n<FileUpload\n onFilesAdded={(e) => console.log(e.detail)}\n/>"
229
- }
230
- },
231
- {
232
- "tag": "kai-form",
233
- "displayName": "Form",
234
- "hasSolid": true,
235
- "snippets": {
236
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-form></kai-form>",
237
- "react": "import { Form } from '@kitn.ai/ui/react';\n\n<Form />",
238
- "vue": "<kai-form />",
239
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-form></kai-form>",
240
- "angular": "<kai-form></kai-form>",
241
- "solid": "import { Form } from '@kitn.ai/ui';\n\n<Form />"
242
- }
243
- },
244
- {
245
- "tag": "kai-image",
246
- "displayName": "Image",
247
- "hasSolid": true,
248
- "snippets": {
249
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-image></kai-image>",
250
- "react": "import { Image } from '@kitn.ai/ui/react';\n\n<Image />",
251
- "vue": "<kai-image />",
252
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-image></kai-image>",
253
- "angular": "<kai-image></kai-image>",
254
- "solid": "import { Image } from '@kitn.ai/ui';\n\n<Image />"
255
- }
256
- },
257
- {
258
- "tag": "kai-link-preview",
259
- "displayName": "LinkPreview",
260
- "hasSolid": true,
261
- "snippets": {
262
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-link-preview></kai-link-preview>",
263
- "react": "import { LinkPreview } from '@kitn.ai/ui/react';\n\n<LinkPreview />",
264
- "vue": "<kai-link-preview />",
265
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-link-preview></kai-link-preview>",
266
- "angular": "<kai-link-preview></kai-link-preview>",
267
- "solid": "import { LinkPreview } from '@kitn.ai/ui';\n\n<LinkPreview />"
268
- }
269
- },
270
- {
271
- "tag": "kai-loader",
272
- "displayName": "Loader",
273
- "hasSolid": true,
274
- "snippets": {
275
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-loader></kai-loader>",
276
- "react": "import { Loader } from '@kitn.ai/ui/react';\n\n<Loader />",
277
- "vue": "<kai-loader />",
278
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-loader></kai-loader>",
279
- "angular": "<kai-loader></kai-loader>",
280
- "solid": "import { Loader } from '@kitn.ai/ui';\n\n<Loader />"
281
- }
282
- },
283
- {
284
- "tag": "kai-markdown",
285
- "displayName": "Markdown",
286
- "hasSolid": true,
287
- "snippets": {
288
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-markdown content=\"…\"></kai-markdown>",
289
- "react": "import { Markdown } from '@kitn.ai/ui/react';\n\n<Markdown\n content={content}\n/>",
290
- "vue": "<kai-markdown\n :content=\"content\"\n/>",
291
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-markdown\n {content}\n></kai-markdown>",
292
- "angular": "<kai-markdown\n [content]=\"content\"\n></kai-markdown>",
293
- "solid": "import { Markdown } from '@kitn.ai/ui';\n\n<Markdown\n content={content}\n/>"
294
- }
295
- },
296
- {
297
- "tag": "kai-message",
298
- "displayName": "Message",
299
- "hasSolid": true,
300
- "snippets": {
301
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-message></kai-message>\n<script type=\"module\">\n const el = document.querySelector('kai-message');\n el.addEventListener('kai-message-action', (e) => console.log(e.detail));\n</script>",
302
- "react": "import { Message } from '@kitn.ai/ui/react';\n\n<Message\n onMessageAction={(e) => console.log(e.detail)}\n/>",
303
- "vue": "<kai-message\n @kai-message-action=\"onMessageAction\"\n/>",
304
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-message\n on:kai-message-action={onMessageAction}\n></kai-message>",
305
- "angular": "<kai-message\n (kai-message-action)=\"onMessageAction($event)\"\n></kai-message>",
306
- "solid": "import { Message } from '@kitn.ai/ui';\n\n<Message\n onMessageAction={(e) => console.log(e.detail)}\n/>"
307
- }
308
- },
309
- {
310
- "tag": "kai-model-switcher",
311
- "displayName": "ModelSwitcher",
312
- "hasSolid": true,
313
- "snippets": {
314
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-model-switcher></kai-model-switcher>\n<script type=\"module\">\n const el = document.querySelector('kai-model-switcher');\n el.models = /* … */;\n el.addEventListener('kai-model-change', (e) => console.log(e.detail));\n</script>",
315
- "react": "import { ModelSwitcher } from '@kitn.ai/ui/react';\n\n<ModelSwitcher\n models={models}\n onModelChange={(e) => console.log(e.detail)}\n/>",
316
- "vue": "<kai-model-switcher\n :models.prop=\"models\"\n @kai-model-change=\"onModelChange\"\n/>",
317
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-model-switcher\n {models}\n on:kai-model-change={onModelChange}\n></kai-model-switcher>",
318
- "angular": "<kai-model-switcher\n [models]=\"models\"\n (kai-model-change)=\"onModelChange($event)\"\n></kai-model-switcher>",
319
- "solid": "import { ModelSwitcher } from '@kitn.ai/ui';\n\n<ModelSwitcher\n models={models}\n onModelChange={(e) => console.log(e.detail)}\n/>"
320
- }
321
- },
322
- {
323
- "tag": "kai-popover",
324
- "displayName": "Popover",
325
- "hasSolid": false,
326
- "snippets": {
327
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-popover></kai-popover>\n<script type=\"module\">\n const el = document.querySelector('kai-popover');\n el.addEventListener('kai-open-change', (e) => console.log(e.detail));\n</script>",
328
- "react": "import { Popover } from '@kitn.ai/ui/react';\n\n<Popover\n onOpenChange={(e) => console.log(e.detail)}\n/>",
329
- "vue": "<kai-popover\n @kai-open-change=\"onOpenChange\"\n/>",
330
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-popover\n on:kai-open-change={onOpenChange}\n></kai-popover>",
331
- "angular": "<kai-popover\n (kai-open-change)=\"onOpenChange($event)\"\n></kai-popover>"
332
- }
333
- },
334
- {
335
- "tag": "kai-prompt-input",
336
- "displayName": "PromptInput",
337
- "hasSolid": true,
338
- "snippets": {
339
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-prompt-input></kai-prompt-input>\n<script type=\"module\">\n const el = document.querySelector('kai-prompt-input');\n el.addEventListener('kai-search', (e) => console.log(e.detail));\n el.addEventListener('kai-slash-select', (e) => console.log(e.detail));\n el.addEventListener('kai-stop', (e) => console.log(e.detail));\n el.addEventListener('kai-submit', (e) => console.log(e.detail));\n el.addEventListener('kai-suggestion-click', (e) => console.log(e.detail));\n el.addEventListener('kai-toolbar-action', (e) => console.log(e.detail));\n el.addEventListener('kai-value-change', (e) => console.log(e.detail));\n el.addEventListener('kai-voice', (e) => console.log(e.detail));\n</script>",
340
- "react": "import { PromptInput } from '@kitn.ai/ui/react';\n\n<PromptInput\n onSearch={(e) => console.log(e.detail)}\n onSlashSelect={(e) => console.log(e.detail)}\n onStop={(e) => console.log(e.detail)}\n onSubmit={(e) => console.log(e.detail)}\n onSuggestionClick={(e) => console.log(e.detail)}\n onToolbarAction={(e) => console.log(e.detail)}\n onValueChange={(e) => console.log(e.detail)}\n onVoice={(e) => console.log(e.detail)}\n/>",
341
- "vue": "<kai-prompt-input\n @kai-search=\"onSearch\"\n @kai-slash-select=\"onSlashSelect\"\n @kai-stop=\"onStop\"\n @kai-submit=\"onSubmit\"\n @kai-suggestion-click=\"onSuggestionClick\"\n @kai-toolbar-action=\"onToolbarAction\"\n @kai-value-change=\"onValueChange\"\n @kai-voice=\"onVoice\"\n/>",
342
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-prompt-input\n on:kai-search={onSearch}\n on:kai-slash-select={onSlashSelect}\n on:kai-stop={onStop}\n on:kai-submit={onSubmit}\n on:kai-suggestion-click={onSuggestionClick}\n on:kai-toolbar-action={onToolbarAction}\n on:kai-value-change={onValueChange}\n on:kai-voice={onVoice}\n></kai-prompt-input>",
343
- "angular": "<kai-prompt-input\n (kai-search)=\"onSearch($event)\"\n (kai-slash-select)=\"onSlashSelect($event)\"\n (kai-stop)=\"onStop($event)\"\n (kai-submit)=\"onSubmit($event)\"\n (kai-suggestion-click)=\"onSuggestionClick($event)\"\n (kai-toolbar-action)=\"onToolbarAction($event)\"\n (kai-value-change)=\"onValueChange($event)\"\n (kai-voice)=\"onVoice($event)\"\n></kai-prompt-input>",
344
- "solid": "import { PromptInput } from '@kitn.ai/ui';\n\n<PromptInput\n onSearch={(e) => console.log(e.detail)}\n onSlashSelect={(e) => console.log(e.detail)}\n onStop={(e) => console.log(e.detail)}\n onSubmit={(e) => console.log(e.detail)}\n onSuggestionClick={(e) => console.log(e.detail)}\n onToolbarAction={(e) => console.log(e.detail)}\n onValueChange={(e) => console.log(e.detail)}\n onVoice={(e) => console.log(e.detail)}\n/>"
345
- }
346
- },
347
- {
348
- "tag": "kai-reasoning",
349
- "displayName": "Reasoning",
350
- "hasSolid": true,
351
- "snippets": {
352
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-reasoning text=\"…\"></kai-reasoning>\n<script type=\"module\">\n const el = document.querySelector('kai-reasoning');\n el.addEventListener('kai-open-change', (e) => console.log(e.detail));\n</script>",
353
- "react": "import { Reasoning } from '@kitn.ai/ui/react';\n\n<Reasoning\n text={text}\n onOpenChange={(e) => console.log(e.detail)}\n/>",
354
- "vue": "<kai-reasoning\n :text=\"text\"\n @kai-open-change=\"onOpenChange\"\n/>",
355
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-reasoning\n {text}\n on:kai-open-change={onOpenChange}\n></kai-reasoning>",
356
- "angular": "<kai-reasoning\n [text]=\"text\"\n (kai-open-change)=\"onOpenChange($event)\"\n></kai-reasoning>",
357
- "solid": "import { Reasoning } from '@kitn.ai/ui';\n\n<Reasoning\n text={text}\n onOpenChange={(e) => console.log(e.detail)}\n/>"
358
- }
359
- },
360
- {
361
- "tag": "kai-remote",
362
- "displayName": "Remote",
363
- "hasSolid": false,
364
- "snippets": {
365
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-remote></kai-remote>",
366
- "react": "import { Remote } from '@kitn.ai/ui/react';\n\n<Remote />",
367
- "vue": "<kai-remote />",
368
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-remote></kai-remote>",
369
- "angular": "<kai-remote></kai-remote>"
370
- }
371
- },
372
- {
373
- "tag": "kai-resizable",
374
- "displayName": "Resizable",
375
- "hasSolid": true,
376
- "snippets": {
377
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-resizable></kai-resizable>\n<script type=\"module\">\n const el = document.querySelector('kai-resizable');\n el.addEventListener('kai-change', (e) => console.log(e.detail));\n el.addEventListener('kai-maximize-change', (e) => console.log(e.detail));\n</script>",
378
- "react": "import { Resizable } from '@kitn.ai/ui/react';\n\n<Resizable\n onChange={(e) => console.log(e.detail)}\n onMaximizeChange={(e) => console.log(e.detail)}\n/>",
379
- "vue": "<kai-resizable\n @kai-change=\"onChange\"\n @kai-maximize-change=\"onMaximizeChange\"\n/>",
380
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-resizable\n on:kai-change={onChange}\n on:kai-maximize-change={onMaximizeChange}\n></kai-resizable>",
381
- "angular": "<kai-resizable\n (kai-change)=\"onChange($event)\"\n (kai-maximize-change)=\"onMaximizeChange($event)\"\n></kai-resizable>",
382
- "solid": "import { Resizable } from '@kitn.ai/ui';\n\n<Resizable\n onChange={(e) => console.log(e.detail)}\n onMaximizeChange={(e) => console.log(e.detail)}\n/>"
383
- }
384
- },
385
- {
386
- "tag": "kai-resizable-item",
387
- "displayName": "ResizableItem",
388
- "hasSolid": false,
389
- "snippets": {
390
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-resizable-item></kai-resizable-item>\n<script type=\"module\">\n const el = document.querySelector('kai-resizable-item');\n el.addEventListener('kai-change', (e) => console.log(e.detail));\n el.addEventListener('kai-maximize-change', (e) => console.log(e.detail));\n</script>",
391
- "react": "import { ResizableItem } from '@kitn.ai/ui/react';\n\n<ResizableItem\n onChange={(e) => console.log(e.detail)}\n onMaximizeChange={(e) => console.log(e.detail)}\n/>",
392
- "vue": "<kai-resizable-item\n @kai-change=\"onChange\"\n @kai-maximize-change=\"onMaximizeChange\"\n/>",
393
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-resizable-item\n on:kai-change={onChange}\n on:kai-maximize-change={onMaximizeChange}\n></kai-resizable-item>",
394
- "angular": "<kai-resizable-item\n (kai-change)=\"onChange($event)\"\n (kai-maximize-change)=\"onMaximizeChange($event)\"\n></kai-resizable-item>"
395
- }
396
- },
397
- {
398
- "tag": "kai-response-stream",
399
- "displayName": "ResponseStream",
400
- "hasSolid": true,
401
- "snippets": {
402
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-response-stream></kai-response-stream>\n<script type=\"module\">\n const el = document.querySelector('kai-response-stream');\n el.addEventListener('kai-complete', (e) => console.log(e.detail));\n</script>",
403
- "react": "import { ResponseStream } from '@kitn.ai/ui/react';\n\n<ResponseStream\n onComplete={(e) => console.log(e.detail)}\n/>",
404
- "vue": "<kai-response-stream\n @kai-complete=\"onComplete\"\n/>",
405
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-response-stream\n on:kai-complete={onComplete}\n></kai-response-stream>",
406
- "angular": "<kai-response-stream\n (kai-complete)=\"onComplete($event)\"\n></kai-response-stream>",
407
- "solid": "import { ResponseStream } from '@kitn.ai/ui';\n\n<ResponseStream\n onComplete={(e) => console.log(e.detail)}\n/>"
408
- }
409
- },
410
- {
411
- "tag": "kai-scope-picker",
412
- "displayName": "ScopePicker",
413
- "hasSolid": true,
414
- "snippets": {
415
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-scope-picker></kai-scope-picker>\n<script type=\"module\">\n const el = document.querySelector('kai-scope-picker');\n el.availableAuthors = /* … */;\n el.availableTags = /* … */;\n el.addEventListener('kai-scope-change', (e) => console.log(e.detail));\n</script>",
416
- "react": "import { ScopePicker } from '@kitn.ai/ui/react';\n\n<ScopePicker\n availableAuthors={availableAuthors}\n availableTags={availableTags}\n onScopeChange={(e) => console.log(e.detail)}\n/>",
417
- "vue": "<kai-scope-picker\n :availableAuthors.prop=\"availableAuthors\"\n :availableTags.prop=\"availableTags\"\n @kai-scope-change=\"onScopeChange\"\n/>",
418
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-scope-picker\n {availableAuthors}\n {availableTags}\n on:kai-scope-change={onScopeChange}\n></kai-scope-picker>",
419
- "angular": "<kai-scope-picker\n [availableAuthors]=\"availableAuthors\"\n [availableTags]=\"availableTags\"\n (kai-scope-change)=\"onScopeChange($event)\"\n></kai-scope-picker>",
420
- "solid": "import { ChatScopePicker } from '@kitn.ai/ui';\n\n<ChatScopePicker\n availableAuthors={availableAuthors}\n availableTags={availableTags}\n onScopeChange={(e) => console.log(e.detail)}\n/>"
421
- }
422
- },
423
- {
424
- "tag": "kai-scroll-button",
425
- "displayName": "ScrollButton",
426
- "hasSolid": true,
427
- "snippets": {
428
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-scroll-button></kai-scroll-button>\n<script type=\"module\">\n const el = document.querySelector('kai-scroll-button');\n el.addEventListener('kai-scroll', (e) => console.log(e.detail));\n</script>",
429
- "react": "import { ScrollButton } from '@kitn.ai/ui/react';\n\n<ScrollButton\n onScroll={(e) => console.log(e.detail)}\n/>",
430
- "vue": "<kai-scroll-button\n @kai-scroll=\"onScroll\"\n/>",
431
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-scroll-button\n on:kai-scroll={onScroll}\n></kai-scroll-button>",
432
- "angular": "<kai-scroll-button\n (kai-scroll)=\"onScroll($event)\"\n></kai-scroll-button>",
433
- "solid": "import { ScrollButton } from '@kitn.ai/ui';\n\n<ScrollButton\n onScroll={(e) => console.log(e.detail)}\n/>"
434
- }
435
- },
436
- {
437
- "tag": "kai-skills",
438
- "displayName": "Skills",
439
- "hasSolid": true,
440
- "snippets": {
441
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-skills></kai-skills>\n<script type=\"module\">\n const el = document.querySelector('kai-skills');\n el.skills = /* … */;\n</script>",
442
- "react": "import { Skills } from '@kitn.ai/ui/react';\n\n<Skills\n skills={skills}\n/>",
443
- "vue": "<kai-skills\n :skills.prop=\"skills\"\n/>",
444
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-skills\n {skills}\n></kai-skills>",
445
- "angular": "<kai-skills\n [skills]=\"skills\"\n></kai-skills>",
446
- "solid": "import { MessageSkills } from '@kitn.ai/ui';\n\n<MessageSkills\n skills={skills}\n/>"
447
- }
448
- },
449
- {
450
- "tag": "kai-source",
451
- "displayName": "Source",
452
- "hasSolid": true,
453
- "snippets": {
454
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-source></kai-source>",
455
- "react": "import { Source } from '@kitn.ai/ui/react';\n\n<Source />",
456
- "vue": "<kai-source />",
457
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-source></kai-source>",
458
- "angular": "<kai-source></kai-source>",
459
- "solid": "import { Source } from '@kitn.ai/ui';\n\n<Source />"
460
- }
461
- },
462
- {
463
- "tag": "kai-sources",
464
- "displayName": "Sources",
465
- "hasSolid": true,
466
- "snippets": {
467
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-sources></kai-sources>\n<script type=\"module\">\n const el = document.querySelector('kai-sources');\n el.sources = /* … */;\n</script>",
468
- "react": "import { Sources } from '@kitn.ai/ui/react';\n\n<Sources\n sources={sources}\n/>",
469
- "vue": "<kai-sources\n :sources.prop=\"sources\"\n/>",
470
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-sources\n {sources}\n></kai-sources>",
471
- "angular": "<kai-sources\n [sources]=\"sources\"\n></kai-sources>",
472
- "solid": "import { SourceList } from '@kitn.ai/ui';\n\n<SourceList\n sources={sources}\n/>"
473
- }
474
- },
475
- {
476
- "tag": "kai-suggestions",
477
- "displayName": "Suggestions",
478
- "hasSolid": false,
479
- "snippets": {
480
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-suggestions></kai-suggestions>\n<script type=\"module\">\n const el = document.querySelector('kai-suggestions');\n el.suggestions = /* … */;\n el.addEventListener('kai-select', (e) => console.log(e.detail));\n</script>",
481
- "react": "import { Suggestions } from '@kitn.ai/ui/react';\n\n<Suggestions\n suggestions={suggestions}\n onSelect={(e) => console.log(e.detail)}\n/>",
482
- "vue": "<kai-suggestions\n :suggestions.prop=\"suggestions\"\n @kai-select=\"onSelect\"\n/>",
483
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-suggestions\n {suggestions}\n on:kai-select={onSelect}\n></kai-suggestions>",
484
- "angular": "<kai-suggestions\n [suggestions]=\"suggestions\"\n (kai-select)=\"onSelect($event)\"\n></kai-suggestions>"
485
- }
486
- },
487
- {
488
- "tag": "kai-switch",
489
- "displayName": "Switch",
490
- "hasSolid": false,
491
- "snippets": {
492
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-switch></kai-switch>\n<script type=\"module\">\n const el = document.querySelector('kai-switch');\n el.addEventListener('kai-change', (e) => console.log(e.detail));\n</script>",
493
- "react": "import { Switch } from '@kitn.ai/ui/react';\n\n<Switch\n onChange={(e) => console.log(e.detail)}\n/>",
494
- "vue": "<kai-switch\n @kai-change=\"onChange\"\n/>",
495
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-switch\n on:kai-change={onChange}\n></kai-switch>",
496
- "angular": "<kai-switch\n (kai-change)=\"onChange($event)\"\n></kai-switch>"
497
- }
498
- },
499
- {
500
- "tag": "kai-tasks",
501
- "displayName": "Tasks",
502
- "hasSolid": false,
503
- "snippets": {
504
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-tasks></kai-tasks>",
505
- "react": "import { Tasks } from '@kitn.ai/ui/react';\n\n<Tasks />",
506
- "vue": "<kai-tasks />",
507
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-tasks></kai-tasks>",
508
- "angular": "<kai-tasks></kai-tasks>"
509
- }
510
- },
511
- {
512
- "tag": "kai-text-shimmer",
513
- "displayName": "TextShimmer",
514
- "hasSolid": true,
515
- "snippets": {
516
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-text-shimmer></kai-text-shimmer>",
517
- "react": "import { TextShimmer } from '@kitn.ai/ui/react';\n\n<TextShimmer />",
518
- "vue": "<kai-text-shimmer />",
519
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-text-shimmer></kai-text-shimmer>",
520
- "angular": "<kai-text-shimmer></kai-text-shimmer>",
521
- "solid": "import { TextShimmer } from '@kitn.ai/ui';\n\n<TextShimmer />"
522
- }
523
- },
524
- {
525
- "tag": "kai-thinking-bar",
526
- "displayName": "ThinkingBar",
527
- "hasSolid": true,
528
- "snippets": {
529
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-thinking-bar></kai-thinking-bar>\n<script type=\"module\">\n const el = document.querySelector('kai-thinking-bar');\n el.addEventListener('kai-stop', (e) => console.log(e.detail));\n</script>",
530
- "react": "import { ThinkingBar } from '@kitn.ai/ui/react';\n\n<ThinkingBar\n onStop={(e) => console.log(e.detail)}\n/>",
531
- "vue": "<kai-thinking-bar\n @kai-stop=\"onStop\"\n/>",
532
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-thinking-bar\n on:kai-stop={onStop}\n></kai-thinking-bar>",
533
- "angular": "<kai-thinking-bar\n (kai-stop)=\"onStop($event)\"\n></kai-thinking-bar>",
534
- "solid": "import { ThinkingBar } from '@kitn.ai/ui';\n\n<ThinkingBar\n onStop={(e) => console.log(e.detail)}\n/>"
535
- }
536
- },
537
- {
538
- "tag": "kai-toast-region",
539
- "displayName": "ToastRegion",
540
- "hasSolid": true,
541
- "snippets": {
542
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-toast-region></kai-toast-region>\n<script type=\"module\">\n const el = document.querySelector('kai-toast-region');\n el.toasts = /* … */;\n el.addEventListener('kai-action', (e) => console.log(e.detail));\n el.addEventListener('kai-dismiss', (e) => console.log(e.detail));\n</script>",
543
- "react": "import { ToastRegion } from '@kitn.ai/ui/react';\n\n<ToastRegion\n toasts={toasts}\n onAction={(e) => console.log(e.detail)}\n onDismiss={(e) => console.log(e.detail)}\n/>",
544
- "vue": "<kai-toast-region\n :toasts.prop=\"toasts\"\n @kai-action=\"onAction\"\n @kai-dismiss=\"onDismiss\"\n/>",
545
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-toast-region\n {toasts}\n on:kai-action={onAction}\n on:kai-dismiss={onDismiss}\n></kai-toast-region>",
546
- "angular": "<kai-toast-region\n [toasts]=\"toasts\"\n (kai-action)=\"onAction($event)\"\n (kai-dismiss)=\"onDismiss($event)\"\n></kai-toast-region>",
547
- "solid": "import { ToastRegion } from '@kitn.ai/ui';\n\n<ToastRegion\n toasts={toasts}\n onAction={(e) => console.log(e.detail)}\n onDismiss={(e) => console.log(e.detail)}\n/>"
548
- }
549
- },
550
- {
551
- "tag": "kai-tool",
552
- "displayName": "Tool",
553
- "hasSolid": true,
554
- "snippets": {
555
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-tool></kai-tool>",
556
- "react": "import { Tool } from '@kitn.ai/ui/react';\n\n<Tool />",
557
- "vue": "<kai-tool />",
558
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-tool></kai-tool>",
559
- "angular": "<kai-tool></kai-tool>",
560
- "solid": "import { Tool } from '@kitn.ai/ui';\n\n<Tool />"
561
- }
562
- },
563
- {
564
- "tag": "kai-voice-input",
565
- "displayName": "VoiceInput",
566
- "hasSolid": true,
567
- "snippets": {
568
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-voice-input></kai-voice-input>\n<script type=\"module\">\n const el = document.querySelector('kai-voice-input');\n el.addEventListener('kai-audio-captured', (e) => console.log(e.detail));\n el.addEventListener('kai-transcription', (e) => console.log(e.detail));\n</script>",
569
- "react": "import { VoiceInput } from '@kitn.ai/ui/react';\n\n<VoiceInput\n onAudioCaptured={(e) => console.log(e.detail)}\n onTranscription={(e) => console.log(e.detail)}\n/>",
570
- "vue": "<kai-voice-input\n @kai-audio-captured=\"onAudioCaptured\"\n @kai-transcription=\"onTranscription\"\n/>",
571
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-voice-input\n on:kai-audio-captured={onAudioCaptured}\n on:kai-transcription={onTranscription}\n></kai-voice-input>",
572
- "angular": "<kai-voice-input\n (kai-audio-captured)=\"onAudioCaptured($event)\"\n (kai-transcription)=\"onTranscription($event)\"\n></kai-voice-input>",
573
- "solid": "import { VoiceInput } from '@kitn.ai/ui';\n\n<VoiceInput\n onAudioCaptured={(e) => console.log(e.detail)}\n onTranscription={(e) => console.log(e.detail)}\n/>"
574
- }
575
- },
576
- {
577
- "tag": "kai-workspace",
578
- "displayName": "Workspace",
579
- "hasSolid": false,
580
- "snippets": {
581
- "html": "<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@kitn.ai/ui/dist/kitn-chat.es.js\"></script>\n\n<kai-workspace></kai-workspace>\n<script type=\"module\">\n const el = document.querySelector('kai-workspace');\n el.groups = /* … */;\n el.conversations = /* … */;\n el.messages = /* … */;\n el.addEventListener('kai-conversation-select', (e) => console.log(e.detail));\n el.addEventListener('kai-message-action', (e) => console.log(e.detail));\n el.addEventListener('kai-model-change', (e) => console.log(e.detail));\n el.addEventListener('kai-new-chat', (e) => console.log(e.detail));\n el.addEventListener('kai-search', (e) => console.log(e.detail));\n el.addEventListener('kai-sidebar-toggle', (e) => console.log(e.detail));\n el.addEventListener('kai-slash-select', (e) => console.log(e.detail));\n el.addEventListener('kai-submit', (e) => console.log(e.detail));\n el.addEventListener('kai-suggestion-click', (e) => console.log(e.detail));\n el.addEventListener('kai-value-change', (e) => console.log(e.detail));\n el.addEventListener('kai-voice', (e) => console.log(e.detail));\n</script>",
582
- "react": "import { Workspace } from '@kitn.ai/ui/react';\n\n<Workspace\n groups={groups}\n conversations={conversations}\n messages={messages}\n onConversationSelect={(e) => console.log(e.detail)}\n onMessageAction={(e) => console.log(e.detail)}\n onModelChange={(e) => console.log(e.detail)}\n onNewChat={(e) => console.log(e.detail)}\n onSearch={(e) => console.log(e.detail)}\n onSidebarToggle={(e) => console.log(e.detail)}\n onSlashSelect={(e) => console.log(e.detail)}\n onSubmit={(e) => console.log(e.detail)}\n onSuggestionClick={(e) => console.log(e.detail)}\n onValueChange={(e) => console.log(e.detail)}\n onVoice={(e) => console.log(e.detail)}\n/>",
583
- "vue": "<kai-workspace\n :groups.prop=\"groups\"\n :conversations.prop=\"conversations\"\n :messages.prop=\"messages\"\n @kai-conversation-select=\"onConversationSelect\"\n @kai-message-action=\"onMessageAction\"\n @kai-model-change=\"onModelChange\"\n @kai-new-chat=\"onNewChat\"\n @kai-search=\"onSearch\"\n @kai-sidebar-toggle=\"onSidebarToggle\"\n @kai-slash-select=\"onSlashSelect\"\n @kai-submit=\"onSubmit\"\n @kai-suggestion-click=\"onSuggestionClick\"\n @kai-value-change=\"onValueChange\"\n @kai-voice=\"onVoice\"\n/>",
584
- "svelte": "<script>\n import '@kitn.ai/ui/elements';\n</script>\n\n<kai-workspace\n {groups}\n {conversations}\n {messages}\n on:kai-conversation-select={onConversationSelect}\n on:kai-message-action={onMessageAction}\n on:kai-model-change={onModelChange}\n on:kai-new-chat={onNewChat}\n on:kai-search={onSearch}\n on:kai-sidebar-toggle={onSidebarToggle}\n on:kai-slash-select={onSlashSelect}\n on:kai-submit={onSubmit}\n on:kai-suggestion-click={onSuggestionClick}\n on:kai-value-change={onValueChange}\n on:kai-voice={onVoice}\n></kai-workspace>",
585
- "angular": "<kai-workspace\n [groups]=\"groups\"\n [conversations]=\"conversations\"\n [messages]=\"messages\"\n (kai-conversation-select)=\"onConversationSelect($event)\"\n (kai-message-action)=\"onMessageAction($event)\"\n (kai-model-change)=\"onModelChange($event)\"\n (kai-new-chat)=\"onNewChat($event)\"\n (kai-search)=\"onSearch($event)\"\n (kai-sidebar-toggle)=\"onSidebarToggle($event)\"\n (kai-slash-select)=\"onSlashSelect($event)\"\n (kai-submit)=\"onSubmit($event)\"\n (kai-suggestion-click)=\"onSuggestionClick($event)\"\n (kai-value-change)=\"onValueChange($event)\"\n (kai-voice)=\"onVoice($event)\"\n></kai-workspace>"
586
- }
587
- }
588
- ]