@crafter/rn-ai-elements 0.0.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 (344) hide show
  1. package/lib/commonjs/chatbot/AIImage.js +126 -0
  2. package/lib/commonjs/chatbot/AIImage.js.map +1 -0
  3. package/lib/commonjs/chatbot/Attachments.js +317 -0
  4. package/lib/commonjs/chatbot/Attachments.js.map +1 -0
  5. package/lib/commonjs/chatbot/ChatErrorBoundary.js +201 -0
  6. package/lib/commonjs/chatbot/ChatErrorBoundary.js.map +1 -0
  7. package/lib/commonjs/chatbot/ChatMessageItem.js +169 -0
  8. package/lib/commonjs/chatbot/ChatMessageItem.js.map +1 -0
  9. package/lib/commonjs/chatbot/Conversation.js +415 -0
  10. package/lib/commonjs/chatbot/Conversation.js.map +1 -0
  11. package/lib/commonjs/chatbot/ConversationScrollButton.js +131 -0
  12. package/lib/commonjs/chatbot/ConversationScrollButton.js.map +1 -0
  13. package/lib/commonjs/chatbot/Message.js +203 -0
  14. package/lib/commonjs/chatbot/Message.js.map +1 -0
  15. package/lib/commonjs/chatbot/PromptInput.js +352 -0
  16. package/lib/commonjs/chatbot/PromptInput.js.map +1 -0
  17. package/lib/commonjs/chatbot/Reasoning.js +184 -0
  18. package/lib/commonjs/chatbot/Reasoning.js.map +1 -0
  19. package/lib/commonjs/chatbot/Shimmer.js +116 -0
  20. package/lib/commonjs/chatbot/Shimmer.js.map +1 -0
  21. package/lib/commonjs/chatbot/Sources.js +212 -0
  22. package/lib/commonjs/chatbot/Sources.js.map +1 -0
  23. package/lib/commonjs/chatbot/Suggestion.js +99 -0
  24. package/lib/commonjs/chatbot/Suggestion.js.map +1 -0
  25. package/lib/commonjs/chatbot/Tool.js +307 -0
  26. package/lib/commonjs/chatbot/Tool.js.map +1 -0
  27. package/lib/commonjs/chatbot/adapters/uiMessageAdapter.js +141 -0
  28. package/lib/commonjs/chatbot/adapters/uiMessageAdapter.js.map +1 -0
  29. package/lib/commonjs/chatbot/index.js +140 -0
  30. package/lib/commonjs/chatbot/index.js.map +1 -0
  31. package/lib/commonjs/chatbot/types.js +6 -0
  32. package/lib/commonjs/chatbot/types.js.map +1 -0
  33. package/lib/commonjs/hooks/index.js +34 -0
  34. package/lib/commonjs/hooks/index.js.map +1 -0
  35. package/lib/commonjs/hooks/useAutoScroll.js +39 -0
  36. package/lib/commonjs/hooks/useAutoScroll.js.map +1 -0
  37. package/lib/commonjs/hooks/useClipboard.js +44 -0
  38. package/lib/commonjs/hooks/useClipboard.js.map +1 -0
  39. package/lib/commonjs/hooks/useCollapsible.js +35 -0
  40. package/lib/commonjs/hooks/useCollapsible.js.map +1 -0
  41. package/lib/commonjs/hooks/useStickToBottom.js +68 -0
  42. package/lib/commonjs/hooks/useStickToBottom.js.map +1 -0
  43. package/lib/commonjs/index.js +257 -0
  44. package/lib/commonjs/index.js.map +1 -0
  45. package/lib/commonjs/package.json +1 -0
  46. package/lib/commonjs/primitives/Badge.js +119 -0
  47. package/lib/commonjs/primitives/Badge.js.map +1 -0
  48. package/lib/commonjs/primitives/Button.js +185 -0
  49. package/lib/commonjs/primitives/Button.js.map +1 -0
  50. package/lib/commonjs/primitives/Card.js +166 -0
  51. package/lib/commonjs/primitives/Card.js.map +1 -0
  52. package/lib/commonjs/primitives/Collapsible.js +137 -0
  53. package/lib/commonjs/primitives/Collapsible.js.map +1 -0
  54. package/lib/commonjs/primitives/ScrollArea.js +40 -0
  55. package/lib/commonjs/primitives/ScrollArea.js.map +1 -0
  56. package/lib/commonjs/primitives/index.js +83 -0
  57. package/lib/commonjs/primitives/index.js.map +1 -0
  58. package/lib/commonjs/streaming/StreamingMarkdown.js +252 -0
  59. package/lib/commonjs/streaming/StreamingMarkdown.js.map +1 -0
  60. package/lib/commonjs/streaming/index.js +13 -0
  61. package/lib/commonjs/streaming/index.js.map +1 -0
  62. package/lib/commonjs/streaming/parser.js +482 -0
  63. package/lib/commonjs/streaming/parser.js.map +1 -0
  64. package/lib/commonjs/streaming/renderers/BlockquoteRenderer.js +35 -0
  65. package/lib/commonjs/streaming/renderers/BlockquoteRenderer.js.map +1 -0
  66. package/lib/commonjs/streaming/renderers/CodeRenderer.js +128 -0
  67. package/lib/commonjs/streaming/renderers/CodeRenderer.js.map +1 -0
  68. package/lib/commonjs/streaming/renderers/HeadingRenderer.js +61 -0
  69. package/lib/commonjs/streaming/renderers/HeadingRenderer.js.map +1 -0
  70. package/lib/commonjs/streaming/renderers/ImageRenderer.js +53 -0
  71. package/lib/commonjs/streaming/renderers/ImageRenderer.js.map +1 -0
  72. package/lib/commonjs/streaming/renderers/LinkRenderer.js +49 -0
  73. package/lib/commonjs/streaming/renderers/LinkRenderer.js.map +1 -0
  74. package/lib/commonjs/streaming/renderers/ListRenderer.js +63 -0
  75. package/lib/commonjs/streaming/renderers/ListRenderer.js.map +1 -0
  76. package/lib/commonjs/streaming/renderers/TableRenderer.js +77 -0
  77. package/lib/commonjs/streaming/renderers/TableRenderer.js.map +1 -0
  78. package/lib/commonjs/streaming/renderers/TextRenderer.js +41 -0
  79. package/lib/commonjs/streaming/renderers/TextRenderer.js.map +1 -0
  80. package/lib/commonjs/streaming/renderers/index.js +76 -0
  81. package/lib/commonjs/streaming/renderers/index.js.map +1 -0
  82. package/lib/commonjs/streaming/renderers/renderInlineChildren.js +112 -0
  83. package/lib/commonjs/streaming/renderers/renderInlineChildren.js.map +1 -0
  84. package/lib/commonjs/streaming/renderers/renderNode.js +81 -0
  85. package/lib/commonjs/streaming/renderers/renderNode.js.map +1 -0
  86. package/lib/commonjs/theme/ThemeProvider.js +68 -0
  87. package/lib/commonjs/theme/ThemeProvider.js.map +1 -0
  88. package/lib/commonjs/theme/defaultTheme.js +96 -0
  89. package/lib/commonjs/theme/defaultTheme.js.map +1 -0
  90. package/lib/commonjs/theme/index.js +32 -0
  91. package/lib/commonjs/theme/index.js.map +1 -0
  92. package/lib/commonjs/theme/tokens.js +2 -0
  93. package/lib/commonjs/theme/tokens.js.map +1 -0
  94. package/lib/commonjs/types.d.js +2 -0
  95. package/lib/commonjs/types.d.js.map +1 -0
  96. package/lib/commonjs/voice/index.js +13 -0
  97. package/lib/commonjs/voice/index.js.map +1 -0
  98. package/lib/commonjs/voice/useSpeechRecognition.js +172 -0
  99. package/lib/commonjs/voice/useSpeechRecognition.js.map +1 -0
  100. package/lib/module/chatbot/AIImage.js +121 -0
  101. package/lib/module/chatbot/AIImage.js.map +1 -0
  102. package/lib/module/chatbot/Attachments.js +312 -0
  103. package/lib/module/chatbot/Attachments.js.map +1 -0
  104. package/lib/module/chatbot/ChatErrorBoundary.js +196 -0
  105. package/lib/module/chatbot/ChatErrorBoundary.js.map +1 -0
  106. package/lib/module/chatbot/ChatMessageItem.js +164 -0
  107. package/lib/module/chatbot/ChatMessageItem.js.map +1 -0
  108. package/lib/module/chatbot/Conversation.js +412 -0
  109. package/lib/module/chatbot/Conversation.js.map +1 -0
  110. package/lib/module/chatbot/ConversationScrollButton.js +126 -0
  111. package/lib/module/chatbot/ConversationScrollButton.js.map +1 -0
  112. package/lib/module/chatbot/Message.js +198 -0
  113. package/lib/module/chatbot/Message.js.map +1 -0
  114. package/lib/module/chatbot/PromptInput.js +347 -0
  115. package/lib/module/chatbot/PromptInput.js.map +1 -0
  116. package/lib/module/chatbot/Reasoning.js +179 -0
  117. package/lib/module/chatbot/Reasoning.js.map +1 -0
  118. package/lib/module/chatbot/Shimmer.js +111 -0
  119. package/lib/module/chatbot/Shimmer.js.map +1 -0
  120. package/lib/module/chatbot/Sources.js +207 -0
  121. package/lib/module/chatbot/Sources.js.map +1 -0
  122. package/lib/module/chatbot/Suggestion.js +94 -0
  123. package/lib/module/chatbot/Suggestion.js.map +1 -0
  124. package/lib/module/chatbot/Tool.js +303 -0
  125. package/lib/module/chatbot/Tool.js.map +1 -0
  126. package/lib/module/chatbot/adapters/uiMessageAdapter.js +137 -0
  127. package/lib/module/chatbot/adapters/uiMessageAdapter.js.map +1 -0
  128. package/lib/module/chatbot/index.js +39 -0
  129. package/lib/module/chatbot/index.js.map +1 -0
  130. package/lib/module/chatbot/types.js +4 -0
  131. package/lib/module/chatbot/types.js.map +1 -0
  132. package/lib/module/hooks/index.js +7 -0
  133. package/lib/module/hooks/index.js.map +1 -0
  134. package/lib/module/hooks/useAutoScroll.js +35 -0
  135. package/lib/module/hooks/useAutoScroll.js.map +1 -0
  136. package/lib/module/hooks/useClipboard.js +40 -0
  137. package/lib/module/hooks/useClipboard.js.map +1 -0
  138. package/lib/module/hooks/useCollapsible.js +31 -0
  139. package/lib/module/hooks/useCollapsible.js.map +1 -0
  140. package/lib/module/hooks/useStickToBottom.js +64 -0
  141. package/lib/module/hooks/useStickToBottom.js.map +1 -0
  142. package/lib/module/index.js +19 -0
  143. package/lib/module/index.js.map +1 -0
  144. package/lib/module/package.json +1 -0
  145. package/lib/module/primitives/Badge.js +114 -0
  146. package/lib/module/primitives/Badge.js.map +1 -0
  147. package/lib/module/primitives/Button.js +180 -0
  148. package/lib/module/primitives/Button.js.map +1 -0
  149. package/lib/module/primitives/Card.js +156 -0
  150. package/lib/module/primitives/Card.js.map +1 -0
  151. package/lib/module/primitives/Collapsible.js +130 -0
  152. package/lib/module/primitives/Collapsible.js.map +1 -0
  153. package/lib/module/primitives/ScrollArea.js +35 -0
  154. package/lib/module/primitives/ScrollArea.js.map +1 -0
  155. package/lib/module/primitives/index.js +8 -0
  156. package/lib/module/primitives/index.js.map +1 -0
  157. package/lib/module/streaming/StreamingMarkdown.js +246 -0
  158. package/lib/module/streaming/StreamingMarkdown.js.map +1 -0
  159. package/lib/module/streaming/index.js +4 -0
  160. package/lib/module/streaming/index.js.map +1 -0
  161. package/lib/module/streaming/parser.js +477 -0
  162. package/lib/module/streaming/parser.js.map +1 -0
  163. package/lib/module/streaming/renderers/BlockquoteRenderer.js +30 -0
  164. package/lib/module/streaming/renderers/BlockquoteRenderer.js.map +1 -0
  165. package/lib/module/streaming/renderers/CodeRenderer.js +123 -0
  166. package/lib/module/streaming/renderers/CodeRenderer.js.map +1 -0
  167. package/lib/module/streaming/renderers/HeadingRenderer.js +56 -0
  168. package/lib/module/streaming/renderers/HeadingRenderer.js.map +1 -0
  169. package/lib/module/streaming/renderers/ImageRenderer.js +48 -0
  170. package/lib/module/streaming/renderers/ImageRenderer.js.map +1 -0
  171. package/lib/module/streaming/renderers/LinkRenderer.js +44 -0
  172. package/lib/module/streaming/renderers/LinkRenderer.js.map +1 -0
  173. package/lib/module/streaming/renderers/ListRenderer.js +58 -0
  174. package/lib/module/streaming/renderers/ListRenderer.js.map +1 -0
  175. package/lib/module/streaming/renderers/TableRenderer.js +72 -0
  176. package/lib/module/streaming/renderers/TableRenderer.js.map +1 -0
  177. package/lib/module/streaming/renderers/TextRenderer.js +36 -0
  178. package/lib/module/streaming/renderers/TextRenderer.js.map +1 -0
  179. package/lib/module/streaming/renderers/index.js +13 -0
  180. package/lib/module/streaming/renderers/index.js.map +1 -0
  181. package/lib/module/streaming/renderers/renderInlineChildren.js +107 -0
  182. package/lib/module/streaming/renderers/renderInlineChildren.js.map +1 -0
  183. package/lib/module/streaming/renderers/renderNode.js +78 -0
  184. package/lib/module/streaming/renderers/renderNode.js.map +1 -0
  185. package/lib/module/theme/ThemeProvider.js +62 -0
  186. package/lib/module/theme/ThemeProvider.js.map +1 -0
  187. package/lib/module/theme/defaultTheme.js +92 -0
  188. package/lib/module/theme/defaultTheme.js.map +1 -0
  189. package/lib/module/theme/index.js +5 -0
  190. package/lib/module/theme/index.js.map +1 -0
  191. package/lib/module/theme/tokens.js +2 -0
  192. package/lib/module/theme/tokens.js.map +1 -0
  193. package/lib/module/types.d.js +2 -0
  194. package/lib/module/types.d.js.map +1 -0
  195. package/lib/module/voice/index.js +14 -0
  196. package/lib/module/voice/index.js.map +1 -0
  197. package/lib/module/voice/useSpeechRecognition.js +169 -0
  198. package/lib/module/voice/useSpeechRecognition.js.map +1 -0
  199. package/lib/typescript/src/chatbot/AIImage.d.ts +24 -0
  200. package/lib/typescript/src/chatbot/AIImage.d.ts.map +1 -0
  201. package/lib/typescript/src/chatbot/Attachments.d.ts +20 -0
  202. package/lib/typescript/src/chatbot/Attachments.d.ts.map +1 -0
  203. package/lib/typescript/src/chatbot/ChatErrorBoundary.d.ts +57 -0
  204. package/lib/typescript/src/chatbot/ChatErrorBoundary.d.ts.map +1 -0
  205. package/lib/typescript/src/chatbot/ChatMessageItem.d.ts +45 -0
  206. package/lib/typescript/src/chatbot/ChatMessageItem.d.ts.map +1 -0
  207. package/lib/typescript/src/chatbot/Conversation.d.ts +94 -0
  208. package/lib/typescript/src/chatbot/Conversation.d.ts.map +1 -0
  209. package/lib/typescript/src/chatbot/ConversationScrollButton.d.ts +62 -0
  210. package/lib/typescript/src/chatbot/ConversationScrollButton.d.ts.map +1 -0
  211. package/lib/typescript/src/chatbot/Message.d.ts +39 -0
  212. package/lib/typescript/src/chatbot/Message.d.ts.map +1 -0
  213. package/lib/typescript/src/chatbot/PromptInput.d.ts +93 -0
  214. package/lib/typescript/src/chatbot/PromptInput.d.ts.map +1 -0
  215. package/lib/typescript/src/chatbot/Reasoning.d.ts +14 -0
  216. package/lib/typescript/src/chatbot/Reasoning.d.ts.map +1 -0
  217. package/lib/typescript/src/chatbot/Shimmer.d.ts +13 -0
  218. package/lib/typescript/src/chatbot/Shimmer.d.ts.map +1 -0
  219. package/lib/typescript/src/chatbot/Sources.d.ts +17 -0
  220. package/lib/typescript/src/chatbot/Sources.d.ts.map +1 -0
  221. package/lib/typescript/src/chatbot/Suggestion.d.ts +15 -0
  222. package/lib/typescript/src/chatbot/Suggestion.d.ts.map +1 -0
  223. package/lib/typescript/src/chatbot/Tool.d.ts +30 -0
  224. package/lib/typescript/src/chatbot/Tool.d.ts.map +1 -0
  225. package/lib/typescript/src/chatbot/adapters/uiMessageAdapter.d.ts +24 -0
  226. package/lib/typescript/src/chatbot/adapters/uiMessageAdapter.d.ts.map +1 -0
  227. package/lib/typescript/src/chatbot/index.d.ts +29 -0
  228. package/lib/typescript/src/chatbot/index.d.ts.map +1 -0
  229. package/lib/typescript/src/chatbot/types.d.ts +49 -0
  230. package/lib/typescript/src/chatbot/types.d.ts.map +1 -0
  231. package/lib/typescript/src/hooks/index.d.ts +9 -0
  232. package/lib/typescript/src/hooks/index.d.ts.map +1 -0
  233. package/lib/typescript/src/hooks/useAutoScroll.d.ts +23 -0
  234. package/lib/typescript/src/hooks/useAutoScroll.d.ts.map +1 -0
  235. package/lib/typescript/src/hooks/useClipboard.d.ts +22 -0
  236. package/lib/typescript/src/hooks/useClipboard.d.ts.map +1 -0
  237. package/lib/typescript/src/hooks/useCollapsible.d.ts +28 -0
  238. package/lib/typescript/src/hooks/useCollapsible.d.ts.map +1 -0
  239. package/lib/typescript/src/hooks/useStickToBottom.d.ts +39 -0
  240. package/lib/typescript/src/hooks/useStickToBottom.d.ts.map +1 -0
  241. package/lib/typescript/src/index.d.ts +11 -0
  242. package/lib/typescript/src/index.d.ts.map +1 -0
  243. package/lib/typescript/src/primitives/Badge.d.ts +10 -0
  244. package/lib/typescript/src/primitives/Badge.d.ts.map +1 -0
  245. package/lib/typescript/src/primitives/Button.d.ts +16 -0
  246. package/lib/typescript/src/primitives/Button.d.ts.map +1 -0
  247. package/lib/typescript/src/primitives/Card.d.ts +33 -0
  248. package/lib/typescript/src/primitives/Card.d.ts.map +1 -0
  249. package/lib/typescript/src/primitives/Collapsible.d.ts +20 -0
  250. package/lib/typescript/src/primitives/Collapsible.d.ts.map +1 -0
  251. package/lib/typescript/src/primitives/ScrollArea.d.ts +10 -0
  252. package/lib/typescript/src/primitives/ScrollArea.d.ts.map +1 -0
  253. package/lib/typescript/src/primitives/index.d.ts +11 -0
  254. package/lib/typescript/src/primitives/index.d.ts.map +1 -0
  255. package/lib/typescript/src/streaming/StreamingMarkdown.d.ts +47 -0
  256. package/lib/typescript/src/streaming/StreamingMarkdown.d.ts.map +1 -0
  257. package/lib/typescript/src/streaming/index.d.ts +3 -0
  258. package/lib/typescript/src/streaming/index.d.ts.map +1 -0
  259. package/lib/typescript/src/streaming/parser.d.ts +41 -0
  260. package/lib/typescript/src/streaming/parser.d.ts.map +1 -0
  261. package/lib/typescript/src/streaming/renderers/BlockquoteRenderer.d.ts +7 -0
  262. package/lib/typescript/src/streaming/renderers/BlockquoteRenderer.d.ts.map +1 -0
  263. package/lib/typescript/src/streaming/renderers/CodeRenderer.d.ts +7 -0
  264. package/lib/typescript/src/streaming/renderers/CodeRenderer.d.ts.map +1 -0
  265. package/lib/typescript/src/streaming/renderers/HeadingRenderer.d.ts +7 -0
  266. package/lib/typescript/src/streaming/renderers/HeadingRenderer.d.ts.map +1 -0
  267. package/lib/typescript/src/streaming/renderers/ImageRenderer.d.ts +7 -0
  268. package/lib/typescript/src/streaming/renderers/ImageRenderer.d.ts.map +1 -0
  269. package/lib/typescript/src/streaming/renderers/LinkRenderer.d.ts +7 -0
  270. package/lib/typescript/src/streaming/renderers/LinkRenderer.d.ts.map +1 -0
  271. package/lib/typescript/src/streaming/renderers/ListRenderer.d.ts +7 -0
  272. package/lib/typescript/src/streaming/renderers/ListRenderer.d.ts.map +1 -0
  273. package/lib/typescript/src/streaming/renderers/TableRenderer.d.ts +7 -0
  274. package/lib/typescript/src/streaming/renderers/TableRenderer.d.ts.map +1 -0
  275. package/lib/typescript/src/streaming/renderers/TextRenderer.d.ts +7 -0
  276. package/lib/typescript/src/streaming/renderers/TextRenderer.d.ts.map +1 -0
  277. package/lib/typescript/src/streaming/renderers/index.d.ts +19 -0
  278. package/lib/typescript/src/streaming/renderers/index.d.ts.map +1 -0
  279. package/lib/typescript/src/streaming/renderers/renderInlineChildren.d.ts +12 -0
  280. package/lib/typescript/src/streaming/renderers/renderInlineChildren.d.ts.map +1 -0
  281. package/lib/typescript/src/streaming/renderers/renderNode.d.ts +8 -0
  282. package/lib/typescript/src/streaming/renderers/renderNode.d.ts.map +1 -0
  283. package/lib/typescript/src/theme/ThemeProvider.d.ts +14 -0
  284. package/lib/typescript/src/theme/ThemeProvider.d.ts.map +1 -0
  285. package/lib/typescript/src/theme/defaultTheme.d.ts +4 -0
  286. package/lib/typescript/src/theme/defaultTheme.d.ts.map +1 -0
  287. package/lib/typescript/src/theme/index.d.ts +5 -0
  288. package/lib/typescript/src/theme/index.d.ts.map +1 -0
  289. package/lib/typescript/src/theme/tokens.d.ts +66 -0
  290. package/lib/typescript/src/theme/tokens.d.ts.map +1 -0
  291. package/lib/typescript/src/voice/index.d.ts +3 -0
  292. package/lib/typescript/src/voice/index.d.ts.map +1 -0
  293. package/lib/typescript/src/voice/useSpeechRecognition.d.ts +77 -0
  294. package/lib/typescript/src/voice/useSpeechRecognition.d.ts.map +1 -0
  295. package/package.json +132 -0
  296. package/src/chatbot/AIImage.tsx +166 -0
  297. package/src/chatbot/Attachments.tsx +382 -0
  298. package/src/chatbot/ChatErrorBoundary.tsx +230 -0
  299. package/src/chatbot/ChatMessageItem.tsx +195 -0
  300. package/src/chatbot/Conversation.tsx +537 -0
  301. package/src/chatbot/ConversationScrollButton.tsx +149 -0
  302. package/src/chatbot/Message.tsx +266 -0
  303. package/src/chatbot/PromptInput.tsx +532 -0
  304. package/src/chatbot/Reasoning.tsx +198 -0
  305. package/src/chatbot/Shimmer.tsx +146 -0
  306. package/src/chatbot/Sources.tsx +263 -0
  307. package/src/chatbot/Suggestion.tsx +123 -0
  308. package/src/chatbot/Tool.tsx +340 -0
  309. package/src/chatbot/adapters/uiMessageAdapter.ts +177 -0
  310. package/src/chatbot/index.ts +97 -0
  311. package/src/chatbot/types.ts +66 -0
  312. package/src/hooks/index.ts +17 -0
  313. package/src/hooks/useAutoScroll.ts +43 -0
  314. package/src/hooks/useClipboard.ts +46 -0
  315. package/src/hooks/useCollapsible.ts +42 -0
  316. package/src/hooks/useStickToBottom.ts +82 -0
  317. package/src/index.ts +139 -0
  318. package/src/primitives/Badge.tsx +119 -0
  319. package/src/primitives/Button.tsx +213 -0
  320. package/src/primitives/Card.tsx +221 -0
  321. package/src/primitives/Collapsible.tsx +168 -0
  322. package/src/primitives/ScrollArea.tsx +53 -0
  323. package/src/primitives/index.ts +36 -0
  324. package/src/streaming/StreamingMarkdown.tsx +282 -0
  325. package/src/streaming/index.ts +2 -0
  326. package/src/streaming/parser.ts +506 -0
  327. package/src/streaming/renderers/BlockquoteRenderer.tsx +42 -0
  328. package/src/streaming/renderers/CodeRenderer.tsx +158 -0
  329. package/src/streaming/renderers/HeadingRenderer.tsx +64 -0
  330. package/src/streaming/renderers/ImageRenderer.tsx +62 -0
  331. package/src/streaming/renderers/LinkRenderer.tsx +53 -0
  332. package/src/streaming/renderers/ListRenderer.tsx +65 -0
  333. package/src/streaming/renderers/TableRenderer.tsx +103 -0
  334. package/src/streaming/renderers/TextRenderer.tsx +39 -0
  335. package/src/streaming/renderers/index.ts +26 -0
  336. package/src/streaming/renderers/renderInlineChildren.tsx +115 -0
  337. package/src/streaming/renderers/renderNode.tsx +72 -0
  338. package/src/theme/ThemeProvider.tsx +77 -0
  339. package/src/theme/defaultTheme.ts +93 -0
  340. package/src/theme/index.ts +4 -0
  341. package/src/theme/tokens.ts +69 -0
  342. package/src/types.d.ts +71 -0
  343. package/src/voice/index.ts +15 -0
  344. package/src/voice/useSpeechRecognition.ts +230 -0
@@ -0,0 +1,307 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ToolResult = exports.ToolHeader = exports.ToolArgs = exports.Tool = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _lucideReactNative = require("lucide-react-native");
10
+ var _theme = require("../theme");
11
+ var _primitives = require("../primitives");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
14
+ // ---------------------------------------------------------------------------
15
+ // Types
16
+ // ---------------------------------------------------------------------------
17
+
18
+ // ---------------------------------------------------------------------------
19
+ // Context
20
+ // ---------------------------------------------------------------------------
21
+
22
+ const ToolContext = /*#__PURE__*/(0, _react.createContext)(null);
23
+ function useToolContext() {
24
+ const ctx = (0, _react.useContext)(ToolContext);
25
+ if (!ctx) {
26
+ throw new Error('Tool compound components must be used within a <Tool>.');
27
+ }
28
+ return ctx;
29
+ }
30
+
31
+ // ---------------------------------------------------------------------------
32
+ // Status helpers
33
+ // ---------------------------------------------------------------------------
34
+
35
+ function getStatusBadgeVariant(status) {
36
+ switch (status) {
37
+ case 'pending':
38
+ return 'secondary';
39
+ case 'running':
40
+ return 'warning';
41
+ case 'completed':
42
+ return 'success';
43
+ case 'failed':
44
+ return 'destructive';
45
+ }
46
+ }
47
+ function getStatusIcon(status, theme) {
48
+ const size = 14;
49
+ switch (status) {
50
+ case 'pending':
51
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_lucideReactNative.Clock, {
52
+ size: size,
53
+ color: theme.colors.mutedForeground
54
+ });
55
+ case 'running':
56
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_lucideReactNative.Loader, {
57
+ size: size,
58
+ color: theme.colors.warning
59
+ });
60
+ case 'completed':
61
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_lucideReactNative.CheckCircle, {
62
+ size: size,
63
+ color: theme.colors.success
64
+ });
65
+ case 'failed':
66
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_lucideReactNative.AlertCircle, {
67
+ size: size,
68
+ color: theme.colors.destructive
69
+ });
70
+ }
71
+ }
72
+ function getStatusLabel(status) {
73
+ switch (status) {
74
+ case 'pending':
75
+ return 'Pending';
76
+ case 'running':
77
+ return 'Running';
78
+ case 'completed':
79
+ return 'Completed';
80
+ case 'failed':
81
+ return 'Failed';
82
+ }
83
+ }
84
+
85
+ // ---------------------------------------------------------------------------
86
+ // Tool (root)
87
+ // ---------------------------------------------------------------------------
88
+
89
+ function ToolRoot({
90
+ name,
91
+ status,
92
+ args,
93
+ result,
94
+ children,
95
+ style
96
+ }) {
97
+ const theme = (0, _theme.useAIElementsTheme)();
98
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(ToolContext.Provider, {
99
+ value: {
100
+ name,
101
+ status,
102
+ args,
103
+ result
104
+ },
105
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
106
+ style: [styles.container, {
107
+ backgroundColor: theme.colors.card,
108
+ borderColor: theme.colors.border,
109
+ borderRadius: theme.radius.md,
110
+ padding: theme.spacing.md
111
+ }, style],
112
+ children: children ?? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
113
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(ToolHeader, {}), args && Object.keys(args).length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(ToolArgs, {}), result && /*#__PURE__*/(0, _jsxRuntime.jsx)(ToolResult, {})]
114
+ })
115
+ })
116
+ });
117
+ }
118
+
119
+ // ---------------------------------------------------------------------------
120
+ // ToolHeader
121
+ // ---------------------------------------------------------------------------
122
+
123
+ function ToolHeaderComponent({
124
+ style
125
+ }) {
126
+ const theme = (0, _theme.useAIElementsTheme)();
127
+ const {
128
+ name,
129
+ status
130
+ } = useToolContext();
131
+ const nameStyle = {
132
+ color: theme.colors.foreground,
133
+ fontSize: theme.typography.fontSize.sm,
134
+ fontWeight: theme.typography.fontWeight.semibold,
135
+ fontFamily: theme.typography.fontFamily
136
+ };
137
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
138
+ style: [styles.header, {
139
+ gap: theme.spacing.sm
140
+ }, style],
141
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_lucideReactNative.Wrench, {
142
+ size: 16,
143
+ color: theme.colors.mutedForeground
144
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
145
+ style: nameStyle,
146
+ numberOfLines: 1,
147
+ children: name
148
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.Badge, {
149
+ variant: getStatusBadgeVariant(status),
150
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
151
+ style: [styles.badgeContent, {
152
+ gap: theme.spacing.xs
153
+ }],
154
+ children: [getStatusIcon(status, theme), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
155
+ style: {
156
+ color: status === 'completed' ? theme.colors.successForeground : status === 'failed' ? theme.colors.destructiveForeground : status === 'running' ? theme.colors.warningForeground : theme.colors.secondaryForeground,
157
+ fontSize: theme.typography.fontSize.xs,
158
+ fontWeight: theme.typography.fontWeight.semibold,
159
+ fontFamily: theme.typography.fontFamily,
160
+ // Pin the text's line box to the 14px icon height so
161
+ // `alignItems: center` in the row produces pixel-aligned
162
+ // cross-axis centering between glyph and icon.
163
+ lineHeight: 14,
164
+ includeFontPadding: false,
165
+ textAlignVertical: 'center'
166
+ },
167
+ children: getStatusLabel(status)
168
+ })]
169
+ })
170
+ })]
171
+ });
172
+ }
173
+
174
+ // ---------------------------------------------------------------------------
175
+ // ToolArgs
176
+ // ---------------------------------------------------------------------------
177
+
178
+ function ToolArgsComponent({
179
+ style
180
+ }) {
181
+ const theme = (0, _theme.useAIElementsTheme)();
182
+ const {
183
+ args
184
+ } = useToolContext();
185
+ if (!args || Object.keys(args).length === 0) {
186
+ return null;
187
+ }
188
+ const labelStyle = {
189
+ color: theme.colors.mutedForeground,
190
+ fontSize: theme.typography.fontSize.xs,
191
+ fontWeight: theme.typography.fontWeight.medium,
192
+ fontFamily: theme.typography.fontFamily
193
+ };
194
+ const codeStyle = {
195
+ color: theme.colors.foreground,
196
+ fontSize: theme.typography.fontSize.xs,
197
+ fontFamily: theme.typography.monoFontFamily,
198
+ lineHeight: theme.typography.fontSize.xs * theme.typography.lineHeight.relaxed
199
+ };
200
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitives.Collapsible, {
201
+ style: [{
202
+ marginTop: theme.spacing.sm
203
+ }, style],
204
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.CollapsibleTrigger, {
205
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
206
+ style: labelStyle,
207
+ children: "Arguments"
208
+ })
209
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.CollapsibleContent, {
210
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
211
+ style: [styles.codeBlock, {
212
+ backgroundColor: theme.colors.muted,
213
+ borderRadius: theme.radius.sm,
214
+ padding: theme.spacing.sm,
215
+ marginTop: theme.spacing.xs
216
+ }],
217
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
218
+ style: codeStyle,
219
+ children: JSON.stringify(args, null, 2)
220
+ })
221
+ })
222
+ })]
223
+ });
224
+ }
225
+
226
+ // ---------------------------------------------------------------------------
227
+ // ToolResult
228
+ // ---------------------------------------------------------------------------
229
+
230
+ function ToolResultComponent({
231
+ style
232
+ }) {
233
+ const theme = (0, _theme.useAIElementsTheme)();
234
+ const {
235
+ result
236
+ } = useToolContext();
237
+ if (!result) {
238
+ return null;
239
+ }
240
+ const labelStyle = {
241
+ color: theme.colors.mutedForeground,
242
+ fontSize: theme.typography.fontSize.xs,
243
+ fontWeight: theme.typography.fontWeight.medium,
244
+ fontFamily: theme.typography.fontFamily
245
+ };
246
+ const resultTextStyle = {
247
+ color: theme.colors.foreground,
248
+ fontSize: theme.typography.fontSize.xs,
249
+ fontFamily: theme.typography.monoFontFamily,
250
+ lineHeight: theme.typography.fontSize.xs * theme.typography.lineHeight.relaxed
251
+ };
252
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitives.Collapsible, {
253
+ style: [{
254
+ marginTop: theme.spacing.sm
255
+ }, style],
256
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.CollapsibleTrigger, {
257
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
258
+ style: labelStyle,
259
+ children: "Result"
260
+ })
261
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.CollapsibleContent, {
262
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
263
+ style: [styles.codeBlock, {
264
+ backgroundColor: theme.colors.muted,
265
+ borderRadius: theme.radius.sm,
266
+ padding: theme.spacing.sm,
267
+ marginTop: theme.spacing.xs
268
+ }],
269
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
270
+ style: resultTextStyle,
271
+ children: result
272
+ })
273
+ })
274
+ })]
275
+ });
276
+ }
277
+
278
+ // ---------------------------------------------------------------------------
279
+ // Styles
280
+ // ---------------------------------------------------------------------------
281
+
282
+ const styles = _reactNative.StyleSheet.create({
283
+ container: {
284
+ borderWidth: 1
285
+ },
286
+ header: {
287
+ flexDirection: 'row',
288
+ alignItems: 'center'
289
+ },
290
+ badgeContent: {
291
+ flexDirection: 'row',
292
+ alignItems: 'center'
293
+ },
294
+ codeBlock: {
295
+ overflow: 'hidden'
296
+ }
297
+ });
298
+
299
+ // ---------------------------------------------------------------------------
300
+ // Exports
301
+ // ---------------------------------------------------------------------------
302
+
303
+ const Tool = exports.Tool = /*#__PURE__*/(0, _react.memo)(ToolRoot);
304
+ const ToolHeader = exports.ToolHeader = /*#__PURE__*/(0, _react.memo)(ToolHeaderComponent);
305
+ const ToolArgs = exports.ToolArgs = /*#__PURE__*/(0, _react.memo)(ToolArgsComponent);
306
+ const ToolResult = exports.ToolResult = /*#__PURE__*/(0, _react.memo)(ToolResultComponent);
307
+ //# sourceMappingURL=Tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_lucideReactNative","_theme","_primitives","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ToolContext","createContext","useToolContext","ctx","useContext","Error","getStatusBadgeVariant","status","getStatusIcon","theme","size","jsx","Clock","color","colors","mutedForeground","Loader","warning","CheckCircle","success","AlertCircle","destructive","getStatusLabel","ToolRoot","name","args","result","children","style","useAIElementsTheme","Provider","value","View","styles","container","backgroundColor","card","borderColor","border","borderRadius","radius","md","padding","spacing","jsxs","Fragment","ToolHeader","keys","length","ToolArgs","ToolResult","ToolHeaderComponent","nameStyle","foreground","fontSize","typography","sm","fontWeight","semibold","fontFamily","header","gap","Wrench","Text","numberOfLines","Badge","variant","badgeContent","xs","successForeground","destructiveForeground","warningForeground","secondaryForeground","lineHeight","includeFontPadding","textAlignVertical","ToolArgsComponent","labelStyle","medium","codeStyle","monoFontFamily","relaxed","Collapsible","marginTop","CollapsibleTrigger","CollapsibleContent","codeBlock","muted","JSON","stringify","ToolResultComponent","resultTextStyle","StyleSheet","create","borderWidth","flexDirection","alignItems","overflow","Tool","exports","memo"],"sourceRoot":"../../../src","sources":["chatbot/Tool.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.uiMessageToChatMessageData = uiMessageToChatMessageData;
7
+ // ---------------------------------------------------------------------------
8
+ // UIMessage → ChatMessageData
9
+ // ---------------------------------------------------------------------------
10
+ //
11
+ // `@ai-sdk/react`'s `useChat()` returns messages in the canonical Vercel AI
12
+ // SDK shape: each message has a `parts` array, where each part is a tagged
13
+ // union (`text` / `reasoning` / `tool-*` / `source-url` / etc). Our
14
+ // `ChatMessageItem` consumes a flatter `ChatMessageData` shape, so this file
15
+ // provides the (small) adapter every consumer of `useChat` will need.
16
+ //
17
+ // The adapter is intentionally tolerant: missing parts are mapped to
18
+ // `undefined` and the renderer skips them.
19
+ //
20
+ // **Why `import type` only?** `ai` is an optional peer dependency of this
21
+ // package — consumers who don't use `@ai-sdk/react` shouldn't have to
22
+ // install it. All imports from `ai` are type-only here, so they're erased
23
+ // at runtime and the adapter function itself is plain JS that operates on
24
+ // structural-shaped inputs.
25
+ // ---------------------------------------------------------------------------
26
+
27
+ const isTextPart = p => p.type === 'text';
28
+ const isReasoningPart = p => p.type === 'reasoning';
29
+ const isSourceUrlPart = p => p.type === 'source-url';
30
+
31
+ /**
32
+ * Type guard for any tool part — covers both static `tool-${name}` parts
33
+ * and the `dynamic-tool` part. Both expose `state`, `toolCallId`, `input`,
34
+ * and (when complete) `output` / `errorText`.
35
+ */
36
+ function isAnyToolPart(p) {
37
+ return p.type.startsWith('tool-') || p.type === 'dynamic-tool';
38
+ }
39
+
40
+ /** Extract the tool name from a `tool-${name}` part type, or fall back. */
41
+ function getToolName(part) {
42
+ if (part.type === 'dynamic-tool' && typeof part.toolName === 'string') {
43
+ return part.toolName;
44
+ }
45
+ if (part.type.startsWith('tool-')) {
46
+ return part.type.slice('tool-'.length);
47
+ }
48
+ return 'tool';
49
+ }
50
+
51
+ /**
52
+ * Map the AI SDK's tool-call lifecycle (`'input-streaming'` → `'output-error'`)
53
+ * onto our `ToolStatus` (`'pending' | 'running' | 'completed' | 'failed'`).
54
+ */
55
+ function mapToolState(state) {
56
+ switch (state) {
57
+ case 'input-streaming':
58
+ case 'input-available':
59
+ case 'approval-requested':
60
+ case 'approval-responded':
61
+ return 'running';
62
+ case 'output-available':
63
+ return 'completed';
64
+ case 'output-error':
65
+ case 'output-denied':
66
+ return 'failed';
67
+ default:
68
+ return 'pending';
69
+ }
70
+ }
71
+
72
+ /**
73
+ * Convert an `@ai-sdk/react` `UIMessage` into the canonical
74
+ * {@link ChatMessageData} shape consumed by `<ChatMessageItem>`.
75
+ *
76
+ * Behavior:
77
+ * - All `text` parts are concatenated in document order.
78
+ * - The first **non-empty** `reasoning` part wins (most messages only
79
+ * have one); `isStreaming` follows the part's `state` field. Empty
80
+ * reasoning shells (no deltas ever emitted) are filtered out so the UI
81
+ * doesn't render a "Thinking..." ghost with nothing inside.
82
+ * - The first tool part wins (we only render one tool block per message
83
+ * today — multi-tool messages can be added later).
84
+ * - All `source-url` parts are collected into the sources array.
85
+ *
86
+ * @example
87
+ * ```tsx
88
+ * const data = uiMessageToChatMessageData(message);
89
+ * return <ChatMessageItem item={data} />;
90
+ * ```
91
+ */
92
+ function uiMessageToChatMessageData(message) {
93
+ // The `parts` array is generic over data + tool maps; we treat it as the
94
+ // base discriminated union here so the type guards stay simple.
95
+ const parts = message.parts;
96
+
97
+ // Concatenate every text part.
98
+ const content = parts.filter(isTextPart).map(p => p.text).join('');
99
+
100
+ // First non-empty reasoning part. A provider (or the AI SDK) may emit
101
+ // `reasoning-start` / `reasoning-end` markers without any deltas in
102
+ // between — for example when a reasoning model hasn't been opted into
103
+ // emitting summaries via `providerOptions.openai.reasoningSummary`.
104
+ // We filter those empty shells out so the UI doesn't render a
105
+ // "Thinking..." ghost with nothing inside.
106
+ const reasoningPart = parts.find(p => isReasoningPart(p) && p.text.length > 0);
107
+ const reasoning = reasoningPart ? {
108
+ content: reasoningPart.text,
109
+ isStreaming: reasoningPart.state === 'streaming'
110
+ } : undefined;
111
+
112
+ // First tool part.
113
+ const toolPart = parts.find(isAnyToolPart);
114
+ let tool;
115
+ if (toolPart) {
116
+ // The discriminated union splits across many state shapes; cast to a
117
+ // permissive view since we only read a small subset of fields.
118
+ const t = toolPart;
119
+ tool = {
120
+ name: getToolName(t),
121
+ status: mapToolState(t.state),
122
+ args: t.input && typeof t.input === 'object' ? t.input : undefined,
123
+ result: t.errorText ?? (t.output != null ? typeof t.output === 'string' ? t.output : JSON.stringify(t.output) : undefined)
124
+ };
125
+ }
126
+
127
+ // All source-url parts (we ignore source-document for now).
128
+ const sources = parts.filter(isSourceUrlPart).map(p => ({
129
+ title: p.title ?? p.url,
130
+ url: p.url
131
+ }));
132
+ return {
133
+ id: message.id,
134
+ role: message.role,
135
+ content,
136
+ reasoning,
137
+ tool,
138
+ sources: sources.length > 0 ? sources : undefined
139
+ };
140
+ }
141
+ //# sourceMappingURL=uiMessageAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isTextPart","p","type","isReasoningPart","isSourceUrlPart","isAnyToolPart","startsWith","getToolName","part","toolName","slice","length","mapToolState","state","uiMessageToChatMessageData","message","parts","content","filter","map","text","join","reasoningPart","find","reasoning","isStreaming","undefined","toolPart","tool","t","name","status","args","input","result","errorText","output","JSON","stringify","sources","title","url","id","role"],"sourceRoot":"../../../../src","sources":["chatbot/adapters/uiMessageAdapter.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "AIImage", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _AIImage.AIImage;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "Attachments", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _Attachments.Attachments;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "ChatErrorBoundary", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _ChatErrorBoundary.ChatErrorBoundary;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "ChatMessageItem", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _ChatMessageItem.ChatMessageItem;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "Conversation", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _Conversation.Conversation;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "ConversationScrollButton", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _ConversationScrollButton.ConversationScrollButton;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "Message", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _Message.Message;
46
+ }
47
+ });
48
+ Object.defineProperty(exports, "MessageActions", {
49
+ enumerable: true,
50
+ get: function () {
51
+ return _Message.MessageActions;
52
+ }
53
+ });
54
+ Object.defineProperty(exports, "MessageAvatar", {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _Message.MessageAvatar;
58
+ }
59
+ });
60
+ Object.defineProperty(exports, "MessageContent", {
61
+ enumerable: true,
62
+ get: function () {
63
+ return _Message.MessageContent;
64
+ }
65
+ });
66
+ Object.defineProperty(exports, "PromptInput", {
67
+ enumerable: true,
68
+ get: function () {
69
+ return _PromptInput.PromptInput;
70
+ }
71
+ });
72
+ Object.defineProperty(exports, "Reasoning", {
73
+ enumerable: true,
74
+ get: function () {
75
+ return _Reasoning.Reasoning;
76
+ }
77
+ });
78
+ Object.defineProperty(exports, "Shimmer", {
79
+ enumerable: true,
80
+ get: function () {
81
+ return _Shimmer.Shimmer;
82
+ }
83
+ });
84
+ Object.defineProperty(exports, "Sources", {
85
+ enumerable: true,
86
+ get: function () {
87
+ return _Sources.Sources;
88
+ }
89
+ });
90
+ Object.defineProperty(exports, "Suggestion", {
91
+ enumerable: true,
92
+ get: function () {
93
+ return _Suggestion.Suggestion;
94
+ }
95
+ });
96
+ Object.defineProperty(exports, "Tool", {
97
+ enumerable: true,
98
+ get: function () {
99
+ return _Tool.Tool;
100
+ }
101
+ });
102
+ Object.defineProperty(exports, "ToolArgs", {
103
+ enumerable: true,
104
+ get: function () {
105
+ return _Tool.ToolArgs;
106
+ }
107
+ });
108
+ Object.defineProperty(exports, "ToolHeader", {
109
+ enumerable: true,
110
+ get: function () {
111
+ return _Tool.ToolHeader;
112
+ }
113
+ });
114
+ Object.defineProperty(exports, "ToolResult", {
115
+ enumerable: true,
116
+ get: function () {
117
+ return _Tool.ToolResult;
118
+ }
119
+ });
120
+ Object.defineProperty(exports, "uiMessageToChatMessageData", {
121
+ enumerable: true,
122
+ get: function () {
123
+ return _uiMessageAdapter.uiMessageToChatMessageData;
124
+ }
125
+ });
126
+ var _Conversation = require("./Conversation");
127
+ var _ConversationScrollButton = require("./ConversationScrollButton");
128
+ var _ChatMessageItem = require("./ChatMessageItem");
129
+ var _ChatErrorBoundary = require("./ChatErrorBoundary");
130
+ var _uiMessageAdapter = require("./adapters/uiMessageAdapter");
131
+ var _Message = require("./Message");
132
+ var _PromptInput = require("./PromptInput");
133
+ var _Reasoning = require("./Reasoning");
134
+ var _Suggestion = require("./Suggestion");
135
+ var _Shimmer = require("./Shimmer");
136
+ var _Tool = require("./Tool");
137
+ var _Sources = require("./Sources");
138
+ var _Attachments = require("./Attachments");
139
+ var _AIImage = require("./AIImage");
140
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_Conversation","require","_ConversationScrollButton","_ChatMessageItem","_ChatErrorBoundary","_uiMessageAdapter","_Message","_PromptInput","_Reasoning","_Suggestion","_Shimmer","_Tool","_Sources","_Attachments","_AIImage"],"sourceRoot":"../../../src","sources":["chatbot/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAAA,aAAA,GAAAC,OAAA;AAUA,IAAAC,yBAAA,GAAAD,OAAA;AAIA,IAAAE,gBAAA,GAAAF,OAAA;AAIA,IAAAG,kBAAA,GAAAH,OAAA;AAWA,IAAAI,iBAAA,GAAAJ,OAAA;AAGA,IAAAK,QAAA,GAAAL,OAAA;AAgBA,IAAAM,YAAA,GAAAN,OAAA;AAQA,IAAAO,UAAA,GAAAP,OAAA;AAIA,IAAAQ,WAAA,GAAAR,OAAA;AAIA,IAAAS,QAAA,GAAAT,OAAA;AAIA,IAAAU,KAAA,GAAAV,OAAA;AAUA,IAAAW,QAAA,GAAAX,OAAA;AAIA,IAAAY,YAAA,GAAAZ,OAAA;AAQA,IAAAa,QAAA,GAAAb,OAAA","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["chatbot/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "useAutoScroll", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _useAutoScroll.useAutoScroll;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "useClipboard", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _useClipboard.useClipboard;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "useCollapsible", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _useCollapsible.useCollapsible;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "useStickToBottom", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _useStickToBottom.useStickToBottom;
28
+ }
29
+ });
30
+ var _useAutoScroll = require("./useAutoScroll");
31
+ var _useClipboard = require("./useClipboard");
32
+ var _useStickToBottom = require("./useStickToBottom");
33
+ var _useCollapsible = require("./useCollapsible");
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_useAutoScroll","require","_useClipboard","_useStickToBottom","_useCollapsible"],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAGA,IAAAC,aAAA,GAAAD,OAAA;AAGA,IAAAE,iBAAA,GAAAF,OAAA;AAMA,IAAAG,eAAA,GAAAH,OAAA","ignoreList":[]}