@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 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_theme","_useClipboard","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CodeRenderer","exports","React","memo","node","theme","useAIElementsTheme","copy","copied","useClipboard","handleCopy","useCallback","content","type","inlineStyle","fontFamily","typography","monoFontFamily","fontSize","sm","backgroundColor","colors","muted","color","foreground","borderRadius","radius","paddingHorizontal","paddingVertical","jsx","Text","style","children","jsxs","View","styles","container","md","borderColor","border","header","borderBottomColor","language","mutedForeground","xs","Pressable","onPress","hitSlop","pressed","copyButton","ScrollView","horizontal","showsHorizontalScrollIndicator","scrollView","contentContainerStyle","scrollContent","code","lineHeight","normal","StyleSheet","create","marginVertical","borderWidth","overflow","flexDirection","justifyContent","alignItems","borderBottomWidth","textTransform","flexGrow","padding"],"sourceRoot":"../../../../src","sources":["streaming/renderers/CodeRenderer.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.HeadingRenderer = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _theme = require("../../theme");
10
+ var _renderInlineChildren = require("./renderInlineChildren");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ function headingStyle(level, theme) {
14
+ const {
15
+ typography,
16
+ colors
17
+ } = theme;
18
+ const weight = typography.fontWeight.bold;
19
+ const sizeMap = {
20
+ 1: typography.fontSize['2xl'],
21
+ 2: typography.fontSize.xl,
22
+ 3: typography.fontSize.lg,
23
+ 4: typography.fontSize.md,
24
+ 5: typography.fontSize.sm,
25
+ 6: typography.fontSize.xs
26
+ };
27
+ const marginMap = {
28
+ 1: 20,
29
+ 2: 16,
30
+ 3: 14,
31
+ 4: 12,
32
+ 5: 10,
33
+ 6: 8
34
+ };
35
+ const fontSize = sizeMap[level] ?? typography.fontSize.md;
36
+ return {
37
+ fontSize,
38
+ fontWeight: weight,
39
+ fontFamily: typography.fontFamily,
40
+ color: colors.foreground,
41
+ lineHeight: fontSize * typography.lineHeight.tight,
42
+ marginTop: marginMap[level] ?? 12,
43
+ marginBottom: 8
44
+ };
45
+ }
46
+ const HeadingRenderer = exports.HeadingRenderer = /*#__PURE__*/_react.default.memo(function HeadingRenderer({
47
+ node
48
+ }) {
49
+ const theme = (0, _theme.useAIElementsTheme)();
50
+ const level = node.level ?? 1;
51
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
52
+ style: [styles.base, headingStyle(level, theme)],
53
+ children: (0, _renderInlineChildren.renderInlineChildren)(node.children, theme)
54
+ });
55
+ });
56
+ const styles = _reactNative.StyleSheet.create({
57
+ base: {
58
+ flexShrink: 1
59
+ }
60
+ });
61
+ //# sourceMappingURL=HeadingRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_theme","_renderInlineChildren","_jsxRuntime","e","__esModule","default","headingStyle","level","theme","typography","colors","weight","fontWeight","bold","sizeMap","fontSize","xl","lg","md","sm","xs","marginMap","fontFamily","color","foreground","lineHeight","tight","marginTop","marginBottom","HeadingRenderer","exports","React","memo","node","useAIElementsTheme","jsx","Text","style","styles","base","children","renderInlineChildren","StyleSheet","create","flexShrink"],"sourceRoot":"../../../../src","sources":["streaming/renderers/HeadingRenderer.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAGA,IAAAG,qBAAA,GAAAH,OAAA;AAA8D,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAM9D,SAASG,YAAYA,CAACC,KAAa,EAAEC,KAAsB,EAAa;EACtE,MAAM;IAAEC,UAAU;IAAEC;EAAO,CAAC,GAAGF,KAAK;EACpC,MAAMG,MAAM,GAAGF,UAAU,CAACG,UAAU,CAACC,IAA+B;EAEpE,MAAMC,OAA+B,GAAG;IACtC,CAAC,EAAEL,UAAU,CAACM,QAAQ,CAAC,KAAK,CAAC;IAC7B,CAAC,EAAEN,UAAU,CAACM,QAAQ,CAACC,EAAE;IACzB,CAAC,EAAEP,UAAU,CAACM,QAAQ,CAACE,EAAE;IACzB,CAAC,EAAER,UAAU,CAACM,QAAQ,CAACG,EAAE;IACzB,CAAC,EAAET,UAAU,CAACM,QAAQ,CAACI,EAAE;IACzB,CAAC,EAAEV,UAAU,CAACM,QAAQ,CAACK;EACzB,CAAC;EAED,MAAMC,SAAiC,GAAG;IACxC,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE;EACL,CAAC;EAED,MAAMN,QAAQ,GAAGD,OAAO,CAACP,KAAK,CAAC,IAAIE,UAAU,CAACM,QAAQ,CAACG,EAAE;EAEzD,OAAO;IACLH,QAAQ;IACRH,UAAU,EAAED,MAAM;IAClBW,UAAU,EAAEb,UAAU,CAACa,UAAU;IACjCC,KAAK,EAAEb,MAAM,CAACc,UAAU;IACxBC,UAAU,EAAEV,QAAQ,GAAGN,UAAU,CAACgB,UAAU,CAACC,KAAK;IAClDC,SAAS,EAAEN,SAAS,CAACd,KAAK,CAAC,IAAI,EAAE;IACjCqB,YAAY,EAAE;EAChB,CAAC;AACH;AAEO,MAAMC,eAAe,GAAAC,OAAA,CAAAD,eAAA,gBAAGE,cAAK,CAACC,IAAI,CAAC,SAASH,eAAeA,CAAC;EACjEI;AACoB,CAAC,EAAE;EACvB,MAAMzB,KAAK,GAAG,IAAA0B,yBAAkB,EAAC,CAAC;EAClC,MAAM3B,KAAK,GAAG0B,IAAI,CAAC1B,KAAK,IAAI,CAAC;EAE7B,oBACE,IAAAL,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAAqC,IAAI;IAACC,KAAK,EAAE,CAACC,MAAM,CAACC,IAAI,EAAEjC,YAAY,CAACC,KAAK,EAAEC,KAAK,CAAC,CAAE;IAAAgC,QAAA,EACpD,IAAAC,0CAAoB,EAACR,IAAI,CAACO,QAAQ,EAAEhC,KAAK;EAAC,CACvC,CAAC;AAEX,CAAC,CAAC;AAEF,MAAM8B,MAAM,GAAGI,uBAAU,CAACC,MAAM,CAAC;EAC/BJ,IAAI,EAAE;IACJK,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ImageRenderer = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _theme = require("../../theme");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ const ImageRenderer = exports.ImageRenderer = /*#__PURE__*/_react.default.memo(function ImageRenderer({
13
+ node
14
+ }) {
15
+ const theme = (0, _theme.useAIElementsTheme)();
16
+ if (!node.url) return null;
17
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
18
+ style: styles.container,
19
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
20
+ source: {
21
+ uri: node.url
22
+ },
23
+ style: [styles.image, {
24
+ borderRadius: theme.radius.md,
25
+ backgroundColor: theme.colors.muted
26
+ }],
27
+ resizeMode: "contain",
28
+ accessibilityLabel: node.alt ?? undefined
29
+ }), node.alt ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
30
+ style: [styles.caption, {
31
+ color: theme.colors.mutedForeground,
32
+ fontSize: theme.typography.fontSize.sm,
33
+ fontFamily: theme.typography.fontFamily
34
+ }],
35
+ children: node.alt
36
+ }) : null]
37
+ });
38
+ });
39
+ const styles = _reactNative.StyleSheet.create({
40
+ container: {
41
+ marginVertical: 8,
42
+ alignItems: 'center'
43
+ },
44
+ image: {
45
+ width: '100%',
46
+ height: 200
47
+ },
48
+ caption: {
49
+ marginTop: 4,
50
+ textAlign: 'center'
51
+ }
52
+ });
53
+ //# sourceMappingURL=ImageRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_theme","_jsxRuntime","e","__esModule","default","ImageRenderer","exports","React","memo","node","theme","useAIElementsTheme","url","jsxs","View","style","styles","container","children","jsx","Image","source","uri","image","borderRadius","radius","md","backgroundColor","colors","muted","resizeMode","accessibilityLabel","alt","undefined","Text","caption","color","mutedForeground","fontSize","typography","sm","fontFamily","StyleSheet","create","marginVertical","alignItems","width","height","marginTop","textAlign"],"sourceRoot":"../../../../src","sources":["streaming/renderers/ImageRenderer.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAAiD,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAO1C,MAAMG,aAAa,GAAAC,OAAA,CAAAD,aAAA,gBAAGE,cAAK,CAACC,IAAI,CAAC,SAASH,aAAaA,CAAC;EAC7DI;AACkB,CAAC,EAAE;EACrB,MAAMC,KAAK,GAAG,IAAAC,yBAAkB,EAAC,CAAC;EAElC,IAAI,CAACF,IAAI,CAACG,GAAG,EAAE,OAAO,IAAI;EAE1B,oBACE,IAAAX,WAAA,CAAAY,IAAA,EAACd,YAAA,CAAAe,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,gBAC5B,IAAAjB,WAAA,CAAAkB,GAAA,EAACpB,YAAA,CAAAqB,KAAK;MACJC,MAAM,EAAE;QAAEC,GAAG,EAAEb,IAAI,CAACG;MAAI,CAAE;MAC1BG,KAAK,EAAE,CACLC,MAAM,CAACO,KAAK,EACZ;QACEC,YAAY,EAAEd,KAAK,CAACe,MAAM,CAACC,EAAE;QAC7BC,eAAe,EAAEjB,KAAK,CAACkB,MAAM,CAACC;MAChC,CAAC,CACD;MACFC,UAAU,EAAC,SAAS;MACpBC,kBAAkB,EAAEtB,IAAI,CAACuB,GAAG,IAAIC;IAAU,CAC3C,CAAC,EACDxB,IAAI,CAACuB,GAAG,gBACP,IAAA/B,WAAA,CAAAkB,GAAA,EAACpB,YAAA,CAAAmC,IAAI;MACHnB,KAAK,EAAE,CACLC,MAAM,CAACmB,OAAO,EACd;QACEC,KAAK,EAAE1B,KAAK,CAACkB,MAAM,CAACS,eAAe;QACnCC,QAAQ,EAAE5B,KAAK,CAAC6B,UAAU,CAACD,QAAQ,CAACE,EAAE;QACtCC,UAAU,EAAE/B,KAAK,CAAC6B,UAAU,CAACE;MAC/B,CAAC,CACD;MAAAvB,QAAA,EAEDT,IAAI,CAACuB;IAAG,CACL,CAAC,GACL,IAAI;EAAA,CACJ,CAAC;AAEX,CAAC,CAAC;AAEF,MAAMhB,MAAM,GAAG0B,uBAAU,CAACC,MAAM,CAAC;EAC/B1B,SAAS,EAAE;IACT2B,cAAc,EAAE,CAAC;IACjBC,UAAU,EAAE;EACd,CAAC;EACDtB,KAAK,EAAE;IACLuB,KAAK,EAAE,MAAM;IACbC,MAAM,EAAE;EACV,CAAC;EACDZ,OAAO,EAAE;IACPa,SAAS,EAAE,CAAC;IACZC,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.LinkRenderer = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _theme = require("../../theme");
10
+ var _renderInlineChildren = require("./renderInlineChildren");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ 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); }
13
+ const LinkRenderer = exports.LinkRenderer = /*#__PURE__*/_react.default.memo(function LinkRenderer({
14
+ node
15
+ }) {
16
+ const theme = (0, _theme.useAIElementsTheme)();
17
+ const handlePress = (0, _react.useCallback)(() => {
18
+ if (node.url) {
19
+ _reactNative.Linking.openURL(node.url).catch(() => {
20
+ // Silently ignore -- the URL may not be openable.
21
+ });
22
+ }
23
+ }, [node.url]);
24
+ const textStyle = {
25
+ color: theme.colors.primary,
26
+ fontSize: theme.typography.fontSize.md,
27
+ fontFamily: theme.typography.fontFamily,
28
+ textDecorationLine: 'underline'
29
+ };
30
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
31
+ onPress: handlePress,
32
+ style: ({
33
+ pressed
34
+ }) => [styles.pressable, pressed && styles.pressed],
35
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
36
+ style: textStyle,
37
+ children: (0, _renderInlineChildren.renderInlineChildren)(node.children, theme)
38
+ })
39
+ });
40
+ });
41
+ const styles = _reactNative.StyleSheet.create({
42
+ pressable: {
43
+ alignSelf: 'flex-start'
44
+ },
45
+ pressed: {
46
+ opacity: 0.7
47
+ }
48
+ });
49
+ //# sourceMappingURL=LinkRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_theme","_renderInlineChildren","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","LinkRenderer","exports","React","memo","node","theme","useAIElementsTheme","handlePress","useCallback","url","Linking","openURL","catch","textStyle","color","colors","primary","fontSize","typography","md","fontFamily","textDecorationLine","jsx","Pressable","onPress","style","pressed","styles","pressable","children","Text","renderInlineChildren","StyleSheet","create","alignSelf","opacity"],"sourceRoot":"../../../../src","sources":["streaming/renderers/LinkRenderer.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ListRenderer = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _theme = require("../../theme");
10
+ var _renderInlineChildren = require("./renderInlineChildren");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ const ListRenderer = exports.ListRenderer = /*#__PURE__*/_react.default.memo(function ListRenderer({
14
+ node
15
+ }) {
16
+ const theme = (0, _theme.useAIElementsTheme)();
17
+ const ordered = node.ordered ?? false;
18
+ const bulletStyle = {
19
+ color: theme.colors.mutedForeground,
20
+ fontSize: theme.typography.fontSize.md,
21
+ fontFamily: theme.typography.fontFamily,
22
+ lineHeight: theme.typography.fontSize.md * theme.typography.lineHeight.normal
23
+ };
24
+ const textStyle = {
25
+ color: theme.colors.foreground,
26
+ fontSize: theme.typography.fontSize.md,
27
+ fontFamily: theme.typography.fontFamily,
28
+ lineHeight: theme.typography.fontSize.md * theme.typography.lineHeight.normal,
29
+ flexShrink: 1
30
+ };
31
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
32
+ style: styles.list,
33
+ children: (node.children ?? []).map((item, index) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
34
+ style: styles.item,
35
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
36
+ style: [styles.bullet, bulletStyle],
37
+ children: ordered ? `${index + 1}.` : '\u2022'
38
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
39
+ style: [styles.content, textStyle],
40
+ children: (0, _renderInlineChildren.renderInlineChildren)(item.children, theme)
41
+ })]
42
+ }, `list-item-${index}`))
43
+ });
44
+ });
45
+ const styles = _reactNative.StyleSheet.create({
46
+ list: {
47
+ marginVertical: 4
48
+ },
49
+ item: {
50
+ flexDirection: 'row',
51
+ alignItems: 'flex-start',
52
+ marginBottom: 4
53
+ },
54
+ bullet: {
55
+ width: 24,
56
+ textAlign: 'right',
57
+ marginRight: 8
58
+ },
59
+ content: {
60
+ flex: 1
61
+ }
62
+ });
63
+ //# sourceMappingURL=ListRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_theme","_renderInlineChildren","_jsxRuntime","e","__esModule","default","ListRenderer","exports","React","memo","node","theme","useAIElementsTheme","ordered","bulletStyle","color","colors","mutedForeground","fontSize","typography","md","fontFamily","lineHeight","normal","textStyle","foreground","flexShrink","jsx","View","style","styles","list","children","map","item","index","jsxs","Text","bullet","content","renderInlineChildren","StyleSheet","create","marginVertical","flexDirection","alignItems","marginBottom","width","textAlign","marginRight","flex"],"sourceRoot":"../../../../src","sources":["streaming/renderers/ListRenderer.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TableRenderer = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _theme = require("../../theme");
10
+ var _renderInlineChildren = require("./renderInlineChildren");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ const TableRenderer = exports.TableRenderer = /*#__PURE__*/_react.default.memo(function TableRenderer({
14
+ node
15
+ }) {
16
+ const theme = (0, _theme.useAIElementsTheme)();
17
+ const rows = node.children ?? [];
18
+ const headerTextStyle = {
19
+ fontWeight: theme.typography.fontWeight.semibold,
20
+ color: theme.colors.foreground,
21
+ fontSize: theme.typography.fontSize.sm,
22
+ fontFamily: theme.typography.fontFamily
23
+ };
24
+ const cellTextStyle = {
25
+ color: theme.colors.foreground,
26
+ fontSize: theme.typography.fontSize.sm,
27
+ fontFamily: theme.typography.fontFamily
28
+ };
29
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
30
+ style: [styles.table, {
31
+ borderColor: theme.colors.border,
32
+ borderRadius: theme.radius.sm
33
+ }],
34
+ children: rows.map((row, rowIndex) => {
35
+ const cells = row.children ?? [];
36
+ const isHeaderRow = cells.some(c => c.header);
37
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
38
+ style: [styles.row, {
39
+ borderBottomColor: theme.colors.border,
40
+ backgroundColor: isHeaderRow ? theme.colors.muted : 'transparent'
41
+ }, rowIndex === rows.length - 1 && styles.lastRow],
42
+ children: cells.map((cell, cellIndex) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
43
+ style: [styles.cell, {
44
+ borderRightColor: theme.colors.border
45
+ }, cellIndex === cells.length - 1 && styles.lastCell],
46
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
47
+ style: cell.header ? headerTextStyle : cellTextStyle,
48
+ children: (0, _renderInlineChildren.renderInlineChildren)(cell.children, theme)
49
+ })
50
+ }, `cell-${rowIndex}-${cellIndex}`))
51
+ }, `row-${rowIndex}`);
52
+ })
53
+ });
54
+ });
55
+ const styles = _reactNative.StyleSheet.create({
56
+ table: {
57
+ borderWidth: 1,
58
+ marginVertical: 8,
59
+ overflow: 'hidden'
60
+ },
61
+ row: {
62
+ flexDirection: 'row',
63
+ borderBottomWidth: 1
64
+ },
65
+ lastRow: {
66
+ borderBottomWidth: 0
67
+ },
68
+ cell: {
69
+ flex: 1,
70
+ padding: 8,
71
+ borderRightWidth: 1
72
+ },
73
+ lastCell: {
74
+ borderRightWidth: 0
75
+ }
76
+ });
77
+ //# sourceMappingURL=TableRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_theme","_renderInlineChildren","_jsxRuntime","e","__esModule","default","TableRenderer","exports","React","memo","node","theme","useAIElementsTheme","rows","children","headerTextStyle","fontWeight","typography","semibold","color","colors","foreground","fontSize","sm","fontFamily","cellTextStyle","jsx","View","style","styles","table","borderColor","border","borderRadius","radius","map","row","rowIndex","cells","isHeaderRow","some","c","header","borderBottomColor","backgroundColor","muted","length","lastRow","cell","cellIndex","borderRightColor","lastCell","Text","renderInlineChildren","StyleSheet","create","borderWidth","marginVertical","overflow","flexDirection","borderBottomWidth","flex","padding","borderRightWidth"],"sourceRoot":"../../../../src","sources":["streaming/renderers/TableRenderer.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TextRenderer = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _theme = require("../../theme");
10
+ var _renderInlineChildren = require("./renderInlineChildren");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ const TextRenderer = exports.TextRenderer = /*#__PURE__*/_react.default.memo(function TextRenderer({
14
+ node
15
+ }) {
16
+ const theme = (0, _theme.useAIElementsTheme)();
17
+ const baseStyle = {
18
+ color: theme.colors.foreground,
19
+ fontSize: theme.typography.fontSize.md,
20
+ lineHeight: theme.typography.fontSize.md * theme.typography.lineHeight.normal,
21
+ fontFamily: theme.typography.fontFamily
22
+ };
23
+ if (node.type === 'text') {
24
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
25
+ style: baseStyle,
26
+ children: node.content
27
+ });
28
+ }
29
+
30
+ // paragraph
31
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
32
+ style: [baseStyle, styles.paragraph],
33
+ children: (0, _renderInlineChildren.renderInlineChildren)(node.children, theme)
34
+ });
35
+ });
36
+ const styles = _reactNative.StyleSheet.create({
37
+ paragraph: {
38
+ marginBottom: 8
39
+ }
40
+ });
41
+ //# sourceMappingURL=TextRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_theme","_renderInlineChildren","_jsxRuntime","e","__esModule","default","TextRenderer","exports","React","memo","node","theme","useAIElementsTheme","baseStyle","color","colors","foreground","fontSize","typography","md","lineHeight","normal","fontFamily","type","jsx","Text","style","children","content","styles","paragraph","renderInlineChildren","StyleSheet","create","marginBottom"],"sourceRoot":"../../../../src","sources":["streaming/renderers/TextRenderer.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAEA,IAAAG,qBAAA,GAAAH,OAAA;AAA8D,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAMvD,MAAMG,YAAY,GAAAC,OAAA,CAAAD,YAAA,gBAAGE,cAAK,CAACC,IAAI,CAAC,SAASH,YAAYA,CAAC;EAC3DI;AACiB,CAAC,EAAE;EACpB,MAAMC,KAAK,GAAG,IAAAC,yBAAkB,EAAC,CAAC;EAElC,MAAMC,SAAoB,GAAG;IAC3BC,KAAK,EAAEH,KAAK,CAACI,MAAM,CAACC,UAAU;IAC9BC,QAAQ,EAAEN,KAAK,CAACO,UAAU,CAACD,QAAQ,CAACE,EAAE;IACtCC,UAAU,EAAET,KAAK,CAACO,UAAU,CAACD,QAAQ,CAACE,EAAE,GAAGR,KAAK,CAACO,UAAU,CAACE,UAAU,CAACC,MAAM;IAC7EC,UAAU,EAAEX,KAAK,CAACO,UAAU,CAACI;EAC/B,CAAC;EAED,IAAIZ,IAAI,CAACa,IAAI,KAAK,MAAM,EAAE;IACxB,oBAAO,IAAArB,WAAA,CAAAsB,GAAA,EAACzB,YAAA,CAAA0B,IAAI;MAACC,KAAK,EAAEb,SAAU;MAAAc,QAAA,EAAEjB,IAAI,CAACkB;IAAO,CAAO,CAAC;EACtD;;EAEA;EACA,oBACE,IAAA1B,WAAA,CAAAsB,GAAA,EAACzB,YAAA,CAAA0B,IAAI;IAACC,KAAK,EAAE,CAACb,SAAS,EAAEgB,MAAM,CAACC,SAAS,CAAE;IAAAH,QAAA,EACxC,IAAAI,0CAAoB,EAACrB,IAAI,CAACiB,QAAQ,EAAEhB,KAAK;EAAC,CACvC,CAAC;AAEX,CAAC,CAAC;AAEF,MAAMkB,MAAM,GAAGG,uBAAU,CAACC,MAAM,CAAC;EAC/BH,SAAS,EAAE;IACTI,YAAY,EAAE;EAChB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "BlockquoteRenderer", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _BlockquoteRenderer.BlockquoteRenderer;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "CodeRenderer", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _CodeRenderer.CodeRenderer;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "HeadingRenderer", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _HeadingRenderer.HeadingRenderer;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "ImageRenderer", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _ImageRenderer.ImageRenderer;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "LinkRenderer", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _LinkRenderer.LinkRenderer;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "ListRenderer", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _ListRenderer.ListRenderer;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "TableRenderer", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _TableRenderer.TableRenderer;
46
+ }
47
+ });
48
+ Object.defineProperty(exports, "TextRenderer", {
49
+ enumerable: true,
50
+ get: function () {
51
+ return _TextRenderer.TextRenderer;
52
+ }
53
+ });
54
+ Object.defineProperty(exports, "renderInlineChildren", {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _renderInlineChildren.renderInlineChildren;
58
+ }
59
+ });
60
+ Object.defineProperty(exports, "renderNode", {
61
+ enumerable: true,
62
+ get: function () {
63
+ return _renderNode.renderNode;
64
+ }
65
+ });
66
+ var _TextRenderer = require("./TextRenderer");
67
+ var _HeadingRenderer = require("./HeadingRenderer");
68
+ var _CodeRenderer = require("./CodeRenderer");
69
+ var _ListRenderer = require("./ListRenderer");
70
+ var _LinkRenderer = require("./LinkRenderer");
71
+ var _ImageRenderer = require("./ImageRenderer");
72
+ var _BlockquoteRenderer = require("./BlockquoteRenderer");
73
+ var _TableRenderer = require("./TableRenderer");
74
+ var _renderNode = require("./renderNode");
75
+ var _renderInlineChildren = require("./renderInlineChildren");
76
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_TextRenderer","require","_HeadingRenderer","_CodeRenderer","_ListRenderer","_LinkRenderer","_ImageRenderer","_BlockquoteRenderer","_TableRenderer","_renderNode","_renderInlineChildren"],"sourceRoot":"../../../../src","sources":["streaming/renderers/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAGA,IAAAC,gBAAA,GAAAD,OAAA;AAGA,IAAAE,aAAA,GAAAF,OAAA;AAGA,IAAAG,aAAA,GAAAH,OAAA;AAGA,IAAAI,aAAA,GAAAJ,OAAA;AAGA,IAAAK,cAAA,GAAAL,OAAA;AAGA,IAAAM,mBAAA,GAAAN,OAAA;AAGA,IAAAO,cAAA,GAAAP,OAAA;AAGA,IAAAQ,WAAA,GAAAR,OAAA;AACA,IAAAS,qBAAA,GAAAT,OAAA","ignoreList":[]}
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.renderInlineChildren = renderInlineChildren;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ /**
12
+ * Recursively render inline markdown nodes (text, bold, italic, bold_italic,
13
+ * code_inline, link, image) as nested React Native <Text> elements.
14
+ *
15
+ * This is extracted as a shared helper so every block-level renderer can
16
+ * render its inline children consistently.
17
+ */
18
+ function renderInlineChildren(children, theme) {
19
+ if (!children || children.length === 0) return null;
20
+ return children.map((child, index) => {
21
+ const key = `${child.type}-${index}`;
22
+ switch (child.type) {
23
+ case 'text':
24
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
25
+ style: {
26
+ color: theme.colors.foreground
27
+ },
28
+ children: child.content
29
+ }, key);
30
+ case 'bold':
31
+ {
32
+ const style = {
33
+ fontWeight: theme.typography.fontWeight.bold,
34
+ color: theme.colors.foreground
35
+ };
36
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
37
+ style: style,
38
+ children: renderInlineChildren(child.children, theme)
39
+ }, key);
40
+ }
41
+ case 'italic':
42
+ {
43
+ const style = {
44
+ fontStyle: 'italic',
45
+ color: theme.colors.foreground
46
+ };
47
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
48
+ style: style,
49
+ children: renderInlineChildren(child.children, theme)
50
+ }, key);
51
+ }
52
+ case 'bold_italic':
53
+ {
54
+ const style = {
55
+ fontWeight: theme.typography.fontWeight.bold,
56
+ fontStyle: 'italic',
57
+ color: theme.colors.foreground
58
+ };
59
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
60
+ style: style,
61
+ children: renderInlineChildren(child.children, theme)
62
+ }, key);
63
+ }
64
+ case 'code_inline':
65
+ {
66
+ const style = {
67
+ fontFamily: theme.typography.monoFontFamily,
68
+ fontSize: theme.typography.fontSize.sm,
69
+ backgroundColor: theme.colors.muted,
70
+ color: theme.colors.foreground,
71
+ borderRadius: theme.radius.sm,
72
+ paddingHorizontal: 4,
73
+ paddingVertical: 1
74
+ };
75
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
76
+ style: style,
77
+ children: child.content
78
+ }, key);
79
+ }
80
+ case 'link':
81
+ {
82
+ const style = {
83
+ color: theme.colors.primary,
84
+ textDecorationLine: 'underline'
85
+ };
86
+ // Links inline are rendered as styled text.
87
+ // The LinkRenderer handles the Pressable wrapper at block level.
88
+ // Inside inline contexts we just show styled text.
89
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
90
+ style: style,
91
+ children: renderInlineChildren(child.children, theme)
92
+ }, key);
93
+ }
94
+ case 'image':
95
+ // Images inline are rendered as their alt text within a Text tree.
96
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
97
+ style: {
98
+ color: theme.colors.mutedForeground
99
+ },
100
+ children: child.alt ?? '[image]'
101
+ }, key);
102
+ default:
103
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
104
+ style: {
105
+ color: theme.colors.foreground
106
+ },
107
+ children: child.content
108
+ }, key);
109
+ }
110
+ });
111
+ }
112
+ //# sourceMappingURL=renderInlineChildren.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_jsxRuntime","e","__esModule","default","renderInlineChildren","children","theme","length","map","child","index","key","type","jsx","Text","style","color","colors","foreground","content","fontWeight","typography","bold","fontStyle","fontFamily","monoFontFamily","fontSize","sm","backgroundColor","muted","borderRadius","radius","paddingHorizontal","paddingVertical","primary","textDecorationLine","mutedForeground","alt"],"sourceRoot":"../../../../src","sources":["streaming/renderers/renderInlineChildren.tsx"],"mappings":"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","ignoreList":[]}