@tdesign-react/chat 1.0.2 → 1.0.3-alpha.2

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 (524) hide show
  1. package/CHANGELOG.md +0 -4
  2. package/README.md +76 -22
  3. package/es/_chunks/dep-076af7c3.js +438 -0
  4. package/es/_chunks/dep-076af7c3.js.map +1 -0
  5. package/es/_chunks/dep-1007ac80.js +205 -0
  6. package/es/_chunks/dep-1007ac80.js.map +1 -0
  7. package/es/_chunks/dep-16520c2b.js +1247 -0
  8. package/es/_chunks/dep-16520c2b.js.map +1 -0
  9. package/es/_chunks/dep-1743bd61.js +438 -0
  10. package/es/_chunks/dep-1743bd61.js.map +1 -0
  11. package/es/_chunks/dep-1ca64fef.js +1247 -0
  12. package/es/_chunks/dep-1ca64fef.js.map +1 -0
  13. package/es/_chunks/dep-24472232.js +839 -0
  14. package/es/_chunks/dep-24472232.js.map +1 -0
  15. package/es/_chunks/dep-3864b369.js +839 -0
  16. package/es/_chunks/dep-3864b369.js.map +1 -0
  17. package/es/_chunks/dep-3e40d789.js +169 -0
  18. package/es/_chunks/dep-3e40d789.js.map +1 -0
  19. package/es/_chunks/dep-4dedfbef.js +438 -0
  20. package/es/_chunks/dep-4dedfbef.js.map +1 -0
  21. package/es/_chunks/dep-56f5e08e.js +448 -0
  22. package/es/_chunks/dep-56f5e08e.js.map +1 -0
  23. package/es/_chunks/dep-5b6b17d0.js +169 -0
  24. package/es/_chunks/dep-5b6b17d0.js.map +1 -0
  25. package/es/_chunks/dep-688e4aaa.js +438 -0
  26. package/es/_chunks/dep-688e4aaa.js.map +1 -0
  27. package/es/_chunks/dep-870f0d35.js +839 -0
  28. package/es/_chunks/dep-870f0d35.js.map +1 -0
  29. package/es/_chunks/dep-96eca06f.js +169 -0
  30. package/es/_chunks/dep-96eca06f.js.map +1 -0
  31. package/es/_chunks/dep-ba3bd553.js +169 -0
  32. package/es/_chunks/dep-ba3bd553.js.map +1 -0
  33. package/es/_chunks/dep-bcb234a1.js +839 -0
  34. package/es/_chunks/dep-bcb234a1.js.map +1 -0
  35. package/es/_chunks/dep-de8ac730.js +1247 -0
  36. package/es/_chunks/dep-de8ac730.js.map +1 -0
  37. package/es/_chunks/dep-e9dbff09.js +1247 -0
  38. package/es/_chunks/dep-e9dbff09.js.map +1 -0
  39. package/es/_chunks/dep-ebc4cf30.js +1247 -0
  40. package/es/_chunks/dep-ebc4cf30.js.map +1 -0
  41. package/es/_chunks/dep-f2051ebd.js +839 -0
  42. package/es/_chunks/dep-f2051ebd.js.map +1 -0
  43. package/es/_chunks/dep-f691a67e.js +438 -0
  44. package/es/_chunks/dep-f691a67e.js.map +1 -0
  45. package/es/_chunks/dep-f8016301.js +169 -0
  46. package/es/_chunks/dep-f8016301.js.map +1 -0
  47. package/es/_util/reactify.d.ts +1 -2
  48. package/es/_util/reactify.js +102 -232
  49. package/es/_util/reactify.js.map +1 -1
  50. package/es/attachments/index.js +3 -5
  51. package/es/attachments/index.js.map +1 -1
  52. package/es/chat-actionbar/index.js +3 -5
  53. package/es/chat-actionbar/index.js.map +1 -1
  54. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.d.ts +196 -0
  55. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js +301 -0
  56. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js.map +1 -0
  57. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.d.ts +37 -0
  58. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js +116 -0
  59. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js.map +1 -0
  60. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.d.ts +42 -0
  61. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js +113 -0
  62. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js.map +1 -0
  63. package/es/chat-engine/components/a2ui/A2UISkeleton.d.ts +60 -0
  64. package/es/chat-engine/components/a2ui/A2UISkeleton.js +197 -0
  65. package/es/chat-engine/components/a2ui/A2UISkeleton.js.map +1 -0
  66. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.d.ts +44 -0
  67. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js +139 -0
  68. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js.map +1 -0
  69. package/es/chat-engine/components/a2ui/containers/A2UICard.d.ts +22 -0
  70. package/es/chat-engine/components/a2ui/containers/A2UICard.js +82 -0
  71. package/es/chat-engine/components/a2ui/containers/A2UICard.js.map +1 -0
  72. package/es/chat-engine/components/a2ui/containers/A2UIColumn.d.ts +18 -0
  73. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js +81 -0
  74. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js.map +1 -0
  75. package/es/chat-engine/components/a2ui/containers/A2UIList.d.ts +14 -0
  76. package/es/chat-engine/components/a2ui/containers/A2UIList.js +62 -0
  77. package/es/chat-engine/components/a2ui/containers/A2UIList.js.map +1 -0
  78. package/es/chat-engine/components/a2ui/containers/A2UIRow.d.ts +20 -0
  79. package/es/chat-engine/components/a2ui/containers/A2UIRow.js +84 -0
  80. package/es/chat-engine/components/a2ui/containers/A2UIRow.js.map +1 -0
  81. package/es/chat-engine/components/a2ui/containers/A2UITabs.d.ts +14 -0
  82. package/es/chat-engine/components/a2ui/containers/A2UITabs.js +69 -0
  83. package/es/chat-engine/components/a2ui/containers/A2UITabs.js.map +1 -0
  84. package/es/chat-engine/components/a2ui/containers/index.d.ts +8 -0
  85. package/es/chat-engine/components/a2ui/containers/index.js +30 -0
  86. package/es/chat-engine/components/a2ui/containers/index.js.map +1 -0
  87. package/es/chat-engine/components/a2ui/index.d.ts +11 -0
  88. package/es/chat-engine/components/a2ui/index.js +62 -0
  89. package/es/chat-engine/components/a2ui/index.js.map +1 -0
  90. package/es/chat-engine/components/a2ui/primitives/A2UIButton.d.ts +33 -0
  91. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js +80 -0
  92. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js.map +1 -0
  93. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.d.ts +12 -0
  94. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js +43 -0
  95. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js.map +1 -0
  96. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.d.ts +50 -0
  97. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js +54 -0
  98. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js.map +1 -0
  99. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.d.ts +13 -0
  100. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js +89 -0
  101. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js.map +1 -0
  102. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.d.ts +12 -0
  103. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js +25 -0
  104. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js.map +1 -0
  105. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.d.ts +13 -0
  106. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js +138942 -0
  107. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js.map +1 -0
  108. package/es/chat-engine/components/a2ui/primitives/A2UIImage.d.ts +12 -0
  109. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js +75 -0
  110. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js.map +1 -0
  111. package/es/chat-engine/components/a2ui/primitives/A2UIInput.d.ts +20 -0
  112. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js +63 -0
  113. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js.map +1 -0
  114. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.d.ts +56 -0
  115. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js +64 -0
  116. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js.map +1 -0
  117. package/es/chat-engine/components/a2ui/primitives/A2UISlider.d.ts +12 -0
  118. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js +55 -0
  119. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js.map +1 -0
  120. package/es/chat-engine/components/a2ui/primitives/A2UIText.d.ts +12 -0
  121. package/es/chat-engine/components/a2ui/primitives/A2UIText.js +104 -0
  122. package/es/chat-engine/components/a2ui/primitives/A2UIText.js.map +1 -0
  123. package/es/chat-engine/components/a2ui/primitives/A2UITextField.d.ts +12 -0
  124. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js +80 -0
  125. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js.map +1 -0
  126. package/es/chat-engine/components/a2ui/primitives/index.d.ts +15 -0
  127. package/es/chat-engine/components/a2ui/primitives/index.js +39 -0
  128. package/es/chat-engine/components/a2ui/primitives/index.js.map +1 -0
  129. package/es/chat-engine/components/a2ui/registry.d.ts +35 -0
  130. package/es/chat-engine/components/a2ui/registry.js +74 -0
  131. package/es/chat-engine/components/a2ui/registry.js.map +1 -0
  132. package/es/chat-engine/components/activity/index.js +8 -4
  133. package/es/chat-engine/components/activity/index.js.map +1 -1
  134. package/es/chat-engine/components/activity/registry.d.ts +6 -40
  135. package/es/chat-engine/components/activity/registry.js +22 -76
  136. package/es/chat-engine/components/activity/registry.js.map +1 -1
  137. package/es/chat-engine/components/activity/render.d.ts +1 -1
  138. package/es/chat-engine/components/activity/render.js +21 -69
  139. package/es/chat-engine/components/activity/render.js.map +1 -1
  140. package/es/chat-engine/components/index.js +8 -4
  141. package/es/chat-engine/components/index.js.map +1 -1
  142. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.d.ts +36 -0
  143. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js +36 -0
  144. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js.map +1 -0
  145. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.d.ts +46 -0
  146. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js +36 -0
  147. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js.map +1 -0
  148. package/es/chat-engine/components/json-render/SurfaceStateManager.d.ts +113 -0
  149. package/es/chat-engine/components/json-render/SurfaceStateManager.js +195 -0
  150. package/es/chat-engine/components/json-render/SurfaceStateManager.js.map +1 -0
  151. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.d.ts +49 -0
  152. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js +307 -0
  153. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js.map +1 -0
  154. package/es/chat-engine/components/json-render/adapters/a2ui-types.d.ts +96 -0
  155. package/es/chat-engine/components/json-render/adapters/a2ui-types.js +7 -0
  156. package/es/chat-engine/components/json-render/adapters/a2ui-types.js.map +1 -0
  157. package/es/chat-engine/components/json-render/adapters/index.d.ts +7 -0
  158. package/es/chat-engine/components/json-render/adapters/index.js +11 -0
  159. package/es/chat-engine/components/json-render/adapters/index.js.map +1 -0
  160. package/es/chat-engine/components/json-render/catalog/a2ui-binding.d.ts +64 -0
  161. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js +36 -0
  162. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js.map +1 -0
  163. package/es/chat-engine/components/json-render/catalog/a2ui-registry.d.ts +78 -0
  164. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js +36 -0
  165. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js.map +1 -0
  166. package/es/chat-engine/components/json-render/catalog/atomic/button.d.ts +14 -0
  167. package/es/chat-engine/components/json-render/catalog/atomic/button.js +71 -0
  168. package/es/chat-engine/components/json-render/catalog/atomic/button.js.map +1 -0
  169. package/es/chat-engine/components/json-render/catalog/atomic/card.d.ts +11 -0
  170. package/es/chat-engine/components/json-render/catalog/atomic/card.js +57 -0
  171. package/es/chat-engine/components/json-render/catalog/atomic/card.js.map +1 -0
  172. package/es/chat-engine/components/json-render/catalog/atomic/input.d.ts +20 -0
  173. package/es/chat-engine/components/json-render/catalog/atomic/input.js +76 -0
  174. package/es/chat-engine/components/json-render/catalog/atomic/input.js.map +1 -0
  175. package/es/chat-engine/components/json-render/catalog/atomic/layout.d.ts +44 -0
  176. package/es/chat-engine/components/json-render/catalog/atomic/layout.js +129 -0
  177. package/es/chat-engine/components/json-render/catalog/atomic/layout.js.map +1 -0
  178. package/es/chat-engine/components/json-render/catalog/atomic/text.d.ts +11 -0
  179. package/es/chat-engine/components/json-render/catalog/atomic/text.js +31 -0
  180. package/es/chat-engine/components/json-render/catalog/atomic/text.js.map +1 -0
  181. package/es/chat-engine/components/json-render/catalog/button.d.ts +14 -0
  182. package/es/chat-engine/components/json-render/catalog/button.js +71 -0
  183. package/es/chat-engine/components/json-render/catalog/button.js.map +1 -0
  184. package/es/chat-engine/components/json-render/catalog/card.d.ts +11 -0
  185. package/es/chat-engine/components/json-render/catalog/card.js +57 -0
  186. package/es/chat-engine/components/json-render/catalog/card.js.map +1 -0
  187. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.d.ts +614 -0
  188. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js +779 -0
  189. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js.map +1 -0
  190. package/es/chat-engine/components/json-render/catalog/index.d.ts +128 -0
  191. package/es/chat-engine/components/json-render/catalog/index.js +36 -0
  192. package/es/chat-engine/components/json-render/catalog/index.js.map +1 -0
  193. package/es/chat-engine/components/json-render/catalog/input.d.ts +20 -0
  194. package/es/chat-engine/components/json-render/catalog/input.js +36 -0
  195. package/es/chat-engine/components/json-render/catalog/input.js.map +1 -0
  196. package/es/chat-engine/components/json-render/catalog/layout.d.ts +44 -0
  197. package/es/chat-engine/components/json-render/catalog/layout.js +129 -0
  198. package/es/chat-engine/components/json-render/catalog/layout.js.map +1 -0
  199. package/es/chat-engine/components/json-render/catalog/text.d.ts +11 -0
  200. package/es/chat-engine/components/json-render/catalog/text.js +31 -0
  201. package/es/chat-engine/components/json-render/catalog/text.js.map +1 -0
  202. package/es/chat-engine/components/json-render/catalog.d.ts +614 -0
  203. package/es/chat-engine/components/json-render/catalog.js +779 -0
  204. package/es/chat-engine/components/json-render/catalog.js.map +1 -0
  205. package/es/chat-engine/components/json-render/config.d.ts +154 -0
  206. package/es/chat-engine/components/json-render/config.js +36 -0
  207. package/es/chat-engine/components/json-render/config.js.map +1 -0
  208. package/es/chat-engine/components/json-render/contexts/actions.d.ts +79 -0
  209. package/es/chat-engine/components/json-render/contexts/actions.js +313 -0
  210. package/es/chat-engine/components/json-render/contexts/actions.js.map +1 -0
  211. package/es/chat-engine/components/json-render/contexts/data.d.ts +137 -0
  212. package/es/chat-engine/components/json-render/contexts/data.js +183 -0
  213. package/es/chat-engine/components/json-render/contexts/data.js.map +1 -0
  214. package/es/chat-engine/components/json-render/contexts/index.d.ts +4 -0
  215. package/es/chat-engine/components/json-render/contexts/index.js +27 -0
  216. package/es/chat-engine/components/json-render/contexts/index.js.map +1 -0
  217. package/es/chat-engine/components/json-render/contexts/store.d.ts +67 -0
  218. package/es/chat-engine/components/json-render/contexts/store.js +104 -0
  219. package/es/chat-engine/components/json-render/contexts/store.js.map +1 -0
  220. package/es/chat-engine/components/json-render/contexts/tree.d.ts +44 -0
  221. package/es/chat-engine/components/json-render/contexts/tree.js +78 -0
  222. package/es/chat-engine/components/json-render/contexts/tree.js.map +1 -0
  223. package/es/chat-engine/components/json-render/contexts/validation.d.ts +59 -0
  224. package/es/chat-engine/components/json-render/contexts/validation.js +159 -0
  225. package/es/chat-engine/components/json-render/contexts/validation.js.map +1 -0
  226. package/es/chat-engine/components/json-render/contexts/visibility.d.ts +39 -0
  227. package/es/chat-engine/components/json-render/contexts/visibility.js +66 -0
  228. package/es/chat-engine/components/json-render/contexts/visibility.js.map +1 -0
  229. package/es/chat-engine/components/json-render/engine.d.ts +58 -0
  230. package/es/chat-engine/components/json-render/engine.js +88 -0
  231. package/es/chat-engine/components/json-render/engine.js.map +1 -0
  232. package/es/chat-engine/components/json-render/index.d.ts +13 -0
  233. package/es/chat-engine/components/json-render/index.js +76 -0
  234. package/es/chat-engine/components/json-render/index.js.map +1 -0
  235. package/es/chat-engine/components/json-render/performance.d.ts +91 -0
  236. package/es/chat-engine/components/json-render/performance.js +135 -0
  237. package/es/chat-engine/components/json-render/performance.js.map +1 -0
  238. package/es/chat-engine/components/json-render/registry/a2ui-binding.d.ts +64 -0
  239. package/es/chat-engine/components/json-render/registry/a2ui-binding.js +76 -0
  240. package/es/chat-engine/components/json-render/registry/a2ui-binding.js.map +1 -0
  241. package/es/chat-engine/components/json-render/registry/a2ui-registry.d.ts +78 -0
  242. package/es/chat-engine/components/json-render/registry/a2ui-registry.js +76 -0
  243. package/es/chat-engine/components/json-render/registry/a2ui-registry.js.map +1 -0
  244. package/es/chat-engine/components/json-render/registry/config.d.ts +142 -0
  245. package/es/chat-engine/components/json-render/registry/config.js +76 -0
  246. package/es/chat-engine/components/json-render/registry/config.js.map +1 -0
  247. package/es/chat-engine/components/json-render/registry/index.d.ts +137 -0
  248. package/es/chat-engine/components/json-render/registry/index.js +76 -0
  249. package/es/chat-engine/components/json-render/registry/index.js.map +1 -0
  250. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.d.ts +35 -0
  251. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js +271 -0
  252. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js.map +1 -0
  253. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.d.ts +44 -0
  254. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js +63 -0
  255. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js.map +1 -0
  256. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.d.ts +44 -0
  257. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js +131 -0
  258. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js.map +1 -0
  259. package/es/chat-engine/components/json-render/renderer/_index.d.ts +71 -0
  260. package/es/chat-engine/components/json-render/renderer/_index.js +133 -0
  261. package/es/chat-engine/components/json-render/renderer/_index.js.map +1 -0
  262. package/es/chat-engine/components/json-render/renderer/index.d.ts +71 -0
  263. package/es/chat-engine/components/json-render/renderer/index.js +125 -0
  264. package/es/chat-engine/components/json-render/renderer/index.js.map +1 -0
  265. package/es/chat-engine/components/json-render/renderer.d.ts +71 -0
  266. package/es/chat-engine/components/json-render/renderer.js +124 -0
  267. package/es/chat-engine/components/json-render/renderer.js.map +1 -0
  268. package/es/chat-engine/components/json-render/types.d.ts +87 -0
  269. package/es/chat-engine/components/json-render/types.js +7 -0
  270. package/es/chat-engine/components/json-render/types.js.map +1 -0
  271. package/es/chat-engine/components/shared/ComponentErrorBoundary.d.ts +25 -0
  272. package/es/chat-engine/components/shared/ComponentErrorBoundary.js +58 -0
  273. package/es/chat-engine/components/shared/ComponentErrorBoundary.js.map +1 -0
  274. package/es/chat-engine/components/shared/createRegistry.d.ts +36 -0
  275. package/es/chat-engine/components/shared/createRegistry.js +72 -0
  276. package/es/chat-engine/components/shared/createRegistry.js.map +1 -0
  277. package/es/chat-engine/components/shared/index.d.ts +4 -0
  278. package/es/chat-engine/components/shared/index.js +18 -0
  279. package/es/chat-engine/components/shared/index.js.map +1 -0
  280. package/es/chat-engine/components/shared/useRegistrationListener.d.ts +22 -0
  281. package/es/chat-engine/components/shared/useRegistrationListener.js +45 -0
  282. package/es/chat-engine/components/shared/useRegistrationListener.js.map +1 -0
  283. package/es/chat-engine/components/toolcall/index.d.ts +1 -1
  284. package/es/chat-engine/components/toolcall/index.js +11 -7
  285. package/es/chat-engine/components/toolcall/index.js.map +1 -1
  286. package/es/chat-engine/components/toolcall/registry.d.ts +6 -32
  287. package/es/chat-engine/components/toolcall/registry.js +22 -66
  288. package/es/chat-engine/components/toolcall/registry.js.map +1 -1
  289. package/es/chat-engine/components/toolcall/render.js +27 -75
  290. package/es/chat-engine/components/toolcall/render.js.map +1 -1
  291. package/es/chat-engine/core/a2ui/index.d.ts +10 -0
  292. package/es/chat-engine/core/a2ui/index.js +24 -0
  293. package/es/chat-engine/core/a2ui/index.js.map +1 -0
  294. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
  295. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js +438 -0
  296. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
  297. package/es/chat-engine/core/a2ui/processor/ComponentTree.d.ts +53 -0
  298. package/es/chat-engine/core/a2ui/processor/ComponentTree.js +158 -0
  299. package/es/chat-engine/core/a2ui/processor/ComponentTree.js.map +1 -0
  300. package/es/chat-engine/core/a2ui/processor/DataStore.d.ts +63 -0
  301. package/es/chat-engine/core/a2ui/processor/DataStore.js +172 -0
  302. package/es/chat-engine/core/a2ui/processor/DataStore.js.map +1 -0
  303. package/es/chat-engine/core/a2ui/processor/PathResolver.d.ts +47 -0
  304. package/es/chat-engine/core/a2ui/processor/PathResolver.js +99 -0
  305. package/es/chat-engine/core/a2ui/processor/PathResolver.js.map +1 -0
  306. package/es/chat-engine/core/a2ui/types/index.d.ts +4 -0
  307. package/es/chat-engine/core/a2ui/types/index.js +9 -0
  308. package/es/chat-engine/core/a2ui/types/index.js.map +1 -0
  309. package/es/chat-engine/core/a2ui/types/types.d.ts +770 -0
  310. package/es/chat-engine/core/a2ui/types/types.js +104 -0
  311. package/es/chat-engine/core/a2ui/types/types.js.map +1 -0
  312. package/es/chat-engine/core/a2ui/utils/binding.d.ts +34 -0
  313. package/es/chat-engine/core/a2ui/utils/binding.js +1784 -0
  314. package/es/chat-engine/core/a2ui/utils/binding.js.map +1 -0
  315. package/es/chat-engine/core/a2ui/utils/index.d.ts +5 -0
  316. package/es/chat-engine/core/a2ui/utils/index.js +13 -0
  317. package/es/chat-engine/core/a2ui/utils/index.js.map +1 -0
  318. package/es/chat-engine/core/a2ui/utils/validation.d.ts +70 -0
  319. package/es/chat-engine/core/a2ui/utils/validation.js +333 -0
  320. package/es/chat-engine/core/a2ui/utils/validation.js.map +1 -0
  321. package/es/chat-engine/core/adapters/a2ui/index.d.ts +10 -0
  322. package/es/chat-engine/core/adapters/a2ui/index.js +24 -0
  323. package/es/chat-engine/core/adapters/a2ui/index.js.map +1 -0
  324. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
  325. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.js +438 -0
  326. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
  327. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.d.ts +53 -0
  328. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.js +158 -0
  329. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.js.map +1 -0
  330. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.d.ts +63 -0
  331. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.js +172 -0
  332. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.js.map +1 -0
  333. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.d.ts +47 -0
  334. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.js +99 -0
  335. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.js.map +1 -0
  336. package/es/chat-engine/core/adapters/a2ui/types/index.d.ts +4 -0
  337. package/es/chat-engine/core/adapters/a2ui/types/index.js +9 -0
  338. package/es/chat-engine/core/adapters/a2ui/types/index.js.map +1 -0
  339. package/es/chat-engine/core/adapters/a2ui/types/types.d.ts +770 -0
  340. package/es/chat-engine/core/adapters/a2ui/types/types.js +104 -0
  341. package/es/chat-engine/core/adapters/a2ui/types/types.js.map +1 -0
  342. package/es/chat-engine/core/adapters/a2ui/utils/binding.d.ts +34 -0
  343. package/es/chat-engine/core/adapters/a2ui/utils/binding.js +1784 -0
  344. package/es/chat-engine/core/adapters/a2ui/utils/binding.js.map +1 -0
  345. package/es/chat-engine/core/adapters/a2ui/utils/index.d.ts +5 -0
  346. package/es/chat-engine/core/adapters/a2ui/utils/index.js +13 -0
  347. package/es/chat-engine/core/adapters/a2ui/utils/index.js.map +1 -0
  348. package/es/chat-engine/core/adapters/a2ui/utils/validation.d.ts +70 -0
  349. package/es/chat-engine/core/adapters/a2ui/utils/validation.js +333 -0
  350. package/es/chat-engine/core/adapters/a2ui/utils/validation.js.map +1 -0
  351. package/es/chat-engine/core/adapters/agui/ActivityManager.d.ts +93 -0
  352. package/es/chat-engine/core/adapters/agui/ActivityManager.js +148 -0
  353. package/es/chat-engine/core/adapters/agui/ActivityManager.js.map +1 -0
  354. package/es/chat-engine/core/adapters/agui/StateManager.d.ts +99 -0
  355. package/es/chat-engine/core/adapters/agui/StateManager.js +172 -0
  356. package/es/chat-engine/core/adapters/agui/StateManager.js.map +1 -0
  357. package/es/chat-engine/core/adapters/agui/activity-manager.d.ts +102 -0
  358. package/es/chat-engine/core/adapters/agui/activity-manager.js +150 -0
  359. package/es/chat-engine/core/adapters/agui/activity-manager.js.map +1 -0
  360. package/es/chat-engine/core/adapters/agui/event-mapper.d.ts +149 -0
  361. package/es/chat-engine/core/adapters/agui/event-mapper.js +417 -0
  362. package/es/chat-engine/core/adapters/agui/event-mapper.js.map +1 -0
  363. package/es/chat-engine/core/adapters/agui/events.d.ts +1550 -0
  364. package/es/chat-engine/core/adapters/agui/events.js +199 -0
  365. package/es/chat-engine/core/adapters/agui/events.js.map +1 -0
  366. package/es/chat-engine/core/adapters/agui/index.d.ts +92 -0
  367. package/es/chat-engine/core/adapters/agui/index.js +200 -0
  368. package/es/chat-engine/core/adapters/agui/index.js.map +1 -0
  369. package/es/chat-engine/core/adapters/agui/state-manager.d.ts +99 -0
  370. package/es/chat-engine/core/adapters/agui/state-manager.js +174 -0
  371. package/es/chat-engine/core/adapters/agui/state-manager.js.map +1 -0
  372. package/es/chat-engine/core/adapters/agui/types/events.d.ts +1570 -0
  373. package/es/chat-engine/core/adapters/agui/types/events.js +15 -0
  374. package/es/chat-engine/core/adapters/agui/types/events.js.map +1 -0
  375. package/es/chat-engine/core/adapters/agui/types/index.d.ts +854 -0
  376. package/es/chat-engine/core/adapters/agui/types/index.js +279 -0
  377. package/es/chat-engine/core/adapters/agui/types/index.js.map +1 -0
  378. package/es/chat-engine/core/adapters/agui/types.d.ts +818 -0
  379. package/es/chat-engine/core/adapters/agui/types.js +95 -0
  380. package/es/chat-engine/core/adapters/agui/types.js.map +1 -0
  381. package/es/chat-engine/core/adapters/agui/utils.d.ts +203 -0
  382. package/es/chat-engine/core/adapters/agui/utils.js +330 -0
  383. package/es/chat-engine/core/adapters/agui/utils.js.map +1 -0
  384. package/es/chat-engine/core/adapters/index.d.ts +5 -0
  385. package/es/chat-engine/core/adapters/index.js +34 -0
  386. package/es/chat-engine/core/adapters/index.js.map +1 -0
  387. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.d.ts +114 -0
  388. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.js +194 -0
  389. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.js.map +1 -0
  390. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.d.ts +49 -0
  391. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.js +307 -0
  392. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.js.map +1 -0
  393. package/es/chat-engine/core/adapters/json-render/engine.d.ts +58 -0
  394. package/es/chat-engine/core/adapters/json-render/engine.js +88 -0
  395. package/es/chat-engine/core/adapters/json-render/engine.js.map +1 -0
  396. package/es/chat-engine/core/adapters/json-render/index.d.ts +8 -0
  397. package/es/chat-engine/core/adapters/json-render/index.js +18 -0
  398. package/es/chat-engine/core/adapters/json-render/index.js.map +1 -0
  399. package/es/chat-engine/core/adapters/json-render/types/a2ui.d.ts +96 -0
  400. package/es/chat-engine/core/adapters/json-render/types/a2ui.js +7 -0
  401. package/es/chat-engine/core/adapters/json-render/types/a2ui.js.map +1 -0
  402. package/es/chat-engine/core/adapters/json-render/types/core.d.ts +49 -0
  403. package/es/chat-engine/core/adapters/json-render/types/core.js +7 -0
  404. package/es/chat-engine/core/adapters/json-render/types/core.js.map +1 -0
  405. package/es/chat-engine/core/adapters/json-render/types/index.d.ts +5 -0
  406. package/es/chat-engine/core/adapters/json-render/types/index.js +9 -0
  407. package/es/chat-engine/core/adapters/json-render/types/index.js.map +1 -0
  408. package/es/chat-engine/core/event-bus/ChatEventBus.d.ts +88 -0
  409. package/es/chat-engine/core/event-bus/ChatEventBus.js +295 -0
  410. package/es/chat-engine/core/event-bus/ChatEventBus.js.map +1 -0
  411. package/es/chat-engine/core/event-bus/index.d.ts +5 -0
  412. package/es/chat-engine/core/event-bus/index.js +13 -0
  413. package/es/chat-engine/core/event-bus/index.js.map +1 -0
  414. package/es/chat-engine/core/event-bus/types.d.ts +230 -0
  415. package/es/chat-engine/core/event-bus/types.js +32 -0
  416. package/es/chat-engine/core/event-bus/types.js.map +1 -0
  417. package/es/chat-engine/core/index.d.ts +147 -0
  418. package/es/chat-engine/core/index.js +760 -0
  419. package/es/chat-engine/core/index.js.map +1 -0
  420. package/es/chat-engine/core/processor/index.d.ts +20 -0
  421. package/es/chat-engine/core/processor/index.js +146 -0
  422. package/es/chat-engine/core/processor/index.js.map +1 -0
  423. package/es/chat-engine/core/server/batch-client.d.ts +20 -0
  424. package/es/chat-engine/core/server/batch-client.js +114 -0
  425. package/es/chat-engine/core/server/batch-client.js.map +1 -0
  426. package/es/chat-engine/core/server/connection-manager.d.ts +39 -0
  427. package/es/chat-engine/core/server/connection-manager.js +84 -0
  428. package/es/chat-engine/core/server/connection-manager.js.map +1 -0
  429. package/es/chat-engine/core/server/errors.d.ts +22 -0
  430. package/es/chat-engine/core/server/errors.js +80 -0
  431. package/es/chat-engine/core/server/errors.js.map +1 -0
  432. package/es/chat-engine/core/server/index.d.ts +11 -0
  433. package/es/chat-engine/core/server/index.js +26 -0
  434. package/es/chat-engine/core/server/index.js.map +1 -0
  435. package/es/chat-engine/core/server/llm-service.d.ts +44 -0
  436. package/es/chat-engine/core/server/llm-service.js +200 -0
  437. package/es/chat-engine/core/server/llm-service.js.map +1 -0
  438. package/es/chat-engine/core/server/sse-client.d.ts +77 -0
  439. package/es/chat-engine/core/server/sse-client.js +362 -0
  440. package/es/chat-engine/core/server/sse-client.js.map +1 -0
  441. package/es/chat-engine/core/server/sse-parser.d.ts +49 -0
  442. package/es/chat-engine/core/server/sse-parser.js +116 -0
  443. package/es/chat-engine/core/server/sse-parser.js.map +1 -0
  444. package/es/chat-engine/core/server/types.d.ts +54 -0
  445. package/es/chat-engine/core/server/types.js +28 -0
  446. package/es/chat-engine/core/server/types.js.map +1 -0
  447. package/es/chat-engine/core/store/message.d.ts +27 -0
  448. package/es/chat-engine/core/store/message.js +267 -0
  449. package/es/chat-engine/core/store/message.js.map +1 -0
  450. package/es/chat-engine/core/store/model.d.ts +8 -0
  451. package/es/chat-engine/core/store/model.js +66 -0
  452. package/es/chat-engine/core/store/model.js.map +1 -0
  453. package/es/chat-engine/core/store/reactiveState.d.ts +56 -0
  454. package/es/chat-engine/core/store/reactiveState.js +139 -0
  455. package/es/chat-engine/core/store/reactiveState.js.map +1 -0
  456. package/es/chat-engine/core/type.d.ts +279 -0
  457. package/es/chat-engine/core/type.js +7 -0
  458. package/es/chat-engine/core/type.js.map +1 -0
  459. package/es/chat-engine/core/utils/eventEmitter.d.ts +10 -0
  460. package/es/chat-engine/core/utils/eventEmitter.js +67 -0
  461. package/es/chat-engine/core/utils/eventEmitter.js.map +1 -0
  462. package/es/chat-engine/core/utils/immutable-patch.d.ts +61 -0
  463. package/es/chat-engine/core/utils/immutable-patch.js +147 -0
  464. package/es/chat-engine/core/utils/immutable-patch.js.map +1 -0
  465. package/es/chat-engine/core/utils/index.d.ts +38 -0
  466. package/es/chat-engine/core/utils/index.js +125 -0
  467. package/es/chat-engine/core/utils/index.js.map +1 -0
  468. package/es/chat-engine/core/utils/json-patch/helpers.d.ts +41 -0
  469. package/es/chat-engine/core/utils/json-patch/helpers.js +164 -0
  470. package/es/chat-engine/core/utils/json-patch/helpers.js.map +1 -0
  471. package/es/chat-engine/core/utils/json-patch/index.d.ts +115 -0
  472. package/es/chat-engine/core/utils/json-patch/index.js +387 -0
  473. package/es/chat-engine/core/utils/json-patch/index.js.map +1 -0
  474. package/es/chat-engine/core/utils/logger.d.ts +30 -0
  475. package/es/chat-engine/core/utils/logger.js +87 -0
  476. package/es/chat-engine/core/utils/logger.js.map +1 -0
  477. package/es/chat-engine/core/utils/performance.d.ts +94 -0
  478. package/es/chat-engine/core/utils/performance.js +205 -0
  479. package/es/chat-engine/core/utils/performance.js.map +1 -0
  480. package/es/chat-engine/hooks/a2ui/A2UIContext.d.ts +90 -0
  481. package/es/chat-engine/hooks/a2ui/A2UIContext.js +97 -0
  482. package/es/chat-engine/hooks/a2ui/A2UIContext.js.map +1 -0
  483. package/es/chat-engine/hooks/a2ui/index.d.ts +12 -0
  484. package/es/chat-engine/hooks/a2ui/index.js +19 -0
  485. package/es/chat-engine/hooks/a2ui/index.js.map +1 -0
  486. package/es/chat-engine/hooks/a2ui/useA2UIAction.d.ts +40 -0
  487. package/es/chat-engine/hooks/a2ui/useA2UIAction.js +74 -0
  488. package/es/chat-engine/hooks/a2ui/useA2UIAction.js.map +1 -0
  489. package/es/chat-engine/hooks/a2ui/useA2UISurface.d.ts +36 -0
  490. package/es/chat-engine/hooks/a2ui/useA2UISurface.js +39 -0
  491. package/es/chat-engine/hooks/a2ui/useA2UISurface.js.map +1 -0
  492. package/es/chat-engine/hooks/a2ui/useDataBinding.d.ts +53 -0
  493. package/es/chat-engine/hooks/a2ui/useDataBinding.js +111 -0
  494. package/es/chat-engine/hooks/a2ui/useDataBinding.js.map +1 -0
  495. package/es/chat-engine/hooks/index.js +7 -0
  496. package/es/chat-engine/hooks/index.js.map +1 -1
  497. package/es/chat-engine/hooks/useAgentActivity.js +9 -1
  498. package/es/chat-engine/hooks/useAgentActivity.js.map +1 -1
  499. package/es/chat-engine/hooks/useAgentToolcall.js +9 -1
  500. package/es/chat-engine/hooks/useAgentToolcall.js.map +1 -1
  501. package/es/chat-engine/hooks/useJsonRenderActivity.d.ts +56 -0
  502. package/es/chat-engine/hooks/useJsonRenderActivity.js +63 -0
  503. package/es/chat-engine/hooks/useJsonRenderActivity.js.map +1 -0
  504. package/es/chat-engine/index.js +8 -4
  505. package/es/chat-engine/index.js.map +1 -1
  506. package/es/chat-filecard/index.js +3 -5
  507. package/es/chat-filecard/index.js.map +1 -1
  508. package/es/chat-loading/index.js +3 -5
  509. package/es/chat-loading/index.js.map +1 -1
  510. package/es/chat-markdown/index.js +3 -5
  511. package/es/chat-markdown/index.js.map +1 -1
  512. package/es/chat-message/index.js +3 -5
  513. package/es/chat-message/index.js.map +1 -1
  514. package/es/chat-sender/index.js +3 -5
  515. package/es/chat-sender/index.js.map +1 -1
  516. package/es/chat-thinking/index.js +3 -5
  517. package/es/chat-thinking/index.js.map +1 -1
  518. package/es/chatbot/docs/react-best-practice.d.ts +13 -0
  519. package/es/chatbot/index.js +3 -5
  520. package/es/chatbot/index.js.map +1 -1
  521. package/es/index.js +10 -7
  522. package/es/index.js.map +1 -1
  523. package/package.json +16 -11
  524. package/es/chatbot/_example-js/agui-toolcall.d.ts +0 -11
@@ -4,18 +4,16 @@
4
4
  * @license MIT
5
5
  */
6
6
 
7
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
7
8
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
8
- import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
9
+ import _typeof from '@babel/runtime/helpers/typeof';
10
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
9
11
  import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
10
12
  import _createClass from '@babel/runtime/helpers/createClass';
11
13
  import _possibleConstructorReturn from '@babel/runtime/helpers/possibleConstructorReturn';
12
14
  import _getPrototypeOf from '@babel/runtime/helpers/getPrototypeOf';
13
15
  import _inherits from '@babel/runtime/helpers/inherits';
14
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
15
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
16
- import _typeof from '@babel/runtime/helpers/typeof';
17
16
  import React, { createRef, createElement, Component, forwardRef } from 'react';
18
- import ReactDOM from 'react-dom';
19
17
  import { createRoot } from 'react-dom/client';
20
18
 
21
19
  var _excluded = ["children", "className"];
@@ -23,75 +21,28 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
23
21
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24
22
  function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
25
23
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
26
- var isReact18Plus = function isReact18Plus() {
27
- return typeof createRoot !== "undefined";
28
- };
29
- var isReact19Plus = function isReact19Plus() {
30
- var majorVersion = parseInt(React.version.split(".")[0], 10);
31
- return majorVersion >= 19;
24
+ var hyphenateRE = /\B([A-Z])/g;
25
+ var hyphenate = function hyphenate(string) {
26
+ return string.replace(hyphenateRE, "-$1").toLowerCase();
32
27
  };
33
- var rootCache = /* @__PURE__ */new WeakMap();
34
- var createRenderer = function createRenderer(container) {
35
- if (isReact18Plus()) {
36
- var cached = rootCache.get(container);
37
- if (!cached) {
38
- cached = {
39
- root: createRoot(container)
40
- };
41
- rootCache.set(container, cached);
42
- }
43
- return {
44
- render: function render(element) {
45
- if (cached.lastElement !== element) {
46
- cached.root.render(element);
47
- cached.lastElement = element;
48
- }
49
- },
50
- unmount: function unmount() {
51
- cached.root.unmount();
52
- rootCache["delete"](container);
53
- }
54
- };
55
- }
56
- return {
57
- render: function render(element) {
58
- ReactDOM.render(element, container);
59
- },
60
- unmount: function unmount() {
61
- ReactDOM.unmountComponentAtNode(container);
62
- }
63
- };
28
+ var styleObjectToString = function styleObjectToString(style) {
29
+ if (!style) return "";
30
+ if (typeof style === "string") return style;
31
+ return Object.keys(style).reduce(function (acc, key) {
32
+ var value = style[key];
33
+ var cssKey = key.replace(hyphenateRE, "-$1").toLowerCase();
34
+ return acc.concat("".concat(cssKey, ":").concat(value));
35
+ }, []).join(";");
64
36
  };
65
- var isReactElement = function isReactElement(obj) {
66
- return obj && _typeof(obj) === "object" && obj.$$typeof && obj.$$typeof.toString().includes("react");
37
+ var isReactElement = function isReactElement(node) {
38
+ return /*#__PURE__*/React.isValidElement(node);
67
39
  };
68
40
  var isValidReactNode = function isValidReactNode(node) {
69
41
  return node !== null && node !== void 0 && (typeof node === "string" || typeof node === "number" || typeof node === "boolean" || isReactElement(node) || Array.isArray(node));
70
42
  };
71
- var hyphenateRE = /\B([A-Z])/g;
72
- function hyphenate(str) {
73
- return str.replace(hyphenateRE, "-$1").toLowerCase();
74
- }
75
- var styleObjectToString = function styleObjectToString(style) {
76
- if (!style || _typeof(style) !== "object") return "";
77
- var unitlessKeys = /* @__PURE__ */new Set(["animationIterationCount", "boxFlex", "boxFlexGroup", "boxOrdinalGroup", "columnCount", "fillOpacity", "flex", "flexGrow", "flexShrink", "fontWeight", "lineClamp", "lineHeight", "opacity", "order", "orphans", "tabSize", "widows", "zIndex", "zoom"]);
78
- return Object.entries(style).filter(function (_ref) {
79
- var _ref2 = _slicedToArray(_ref, 2),
80
- value = _ref2[1];
81
- return value != null && value !== "";
82
- }).map(function (_ref3) {
83
- var _ref4 = _slicedToArray(_ref3, 2),
84
- key = _ref4[0],
85
- value = _ref4[1];
86
- var cssKey = key.replace(/[A-Z]/g, function (m) {
87
- return "-".concat(m.toLowerCase());
88
- });
89
- var cssValue = value;
90
- if (typeof value === "number" && value !== 0 && !unitlessKeys.has(key)) {
91
- cssValue = "".concat(value, "px");
92
- }
93
- return "".concat(cssKey, ":").concat(cssValue, ";");
94
- }).join(" ");
43
+ var isReact19Plus = function isReact19Plus() {
44
+ var version = React.version.split(".")[0];
45
+ return parseInt(version, 10) >= 19;
95
46
  };
96
47
  var reactify = function reactify(WC) {
97
48
  var Reactify = /*#__PURE__*/function (_Component) {
@@ -99,10 +50,8 @@ var reactify = function reactify(WC) {
99
50
  var _this;
100
51
  _classCallCheck(this, Reactify);
101
52
  _this = _callSuper(this, Reactify, [props]);
102
- _defineProperty(_this, "processingSlots", /* @__PURE__ */new Set());
103
- _defineProperty(_this, "lastRenderedElements", /* @__PURE__ */new Map());
104
53
  _this.eventHandlers = [];
105
- _this.slotRenderers = /* @__PURE__ */new Map();
54
+ _this.slotInstances = /* @__PURE__ */new Map();
106
55
  var innerRef = props.innerRef;
107
56
  _this.ref = innerRef || /*#__PURE__*/createRef();
108
57
  return _this;
@@ -115,33 +64,27 @@ var reactify = function reactify(WC) {
115
64
  this.eventHandlers.push([event, val]);
116
65
  (_this$ref$current = this.ref.current) === null || _this$ref$current === void 0 || _this$ref$current.addEventListener(event, val);
117
66
  }
67
+ }, {
68
+ key: "resolveSlotName",
69
+ value: function resolveSlotName(prop) {
70
+ var _this$ref$current2;
71
+ var baseName = prop.endsWith("Slot") ? prop.slice(0, -4) : prop;
72
+ var kebabName = hyphenate(baseName);
73
+ var hasKebabSlot = ((_this$ref$current2 = this.ref.current) === null || _this$ref$current2 === void 0 || (_this$ref$current2 = _this$ref$current2.shadowRoot) === null || _this$ref$current2 === void 0 ? void 0 : _this$ref$current2.querySelector("slot[name=\"".concat(kebabName, "\"]"))) !== null;
74
+ return hasKebabSlot ? kebabName : baseName;
75
+ }
118
76
  }, {
119
77
  key: "handleSlotProp",
120
78
  value: function handleSlotProp(prop, val) {
121
79
  var _this2 = this;
122
80
  var webComponent = this.ref.current;
123
81
  if (!webComponent) return;
124
- if (this.processingSlots.has(prop)) {
125
- return;
126
- }
127
- var currentRenderer = this.slotRenderers.get(prop);
128
- if (currentRenderer && this.isSameReactElement(prop, val)) {
129
- return;
130
- }
131
- this.processingSlots.add(prop);
132
- if (isValidReactNode(val)) {
133
- this.lastRenderedElements.set(prop, val);
134
- }
135
- if (currentRenderer) {
136
- this.cleanupSlotRenderer(prop);
137
- }
138
82
  if (typeof val === "function") {
139
83
  var renderSlot = function renderSlot(params) {
140
84
  var reactNode = val(params);
141
85
  return _this2.renderReactNodeToSlot(reactNode, prop);
142
86
  };
143
87
  webComponent[prop] = renderSlot;
144
- this.processingSlots["delete"](prop);
145
88
  } else if (isValidReactNode(val)) {
146
89
  webComponent[prop] = true;
147
90
  Promise.resolve().then(function () {
@@ -149,180 +92,100 @@ var reactify = function reactify(WC) {
149
92
  webComponent.update();
150
93
  }
151
94
  _this2.renderReactNodeToSlot(val, prop);
152
- _this2.processingSlots["delete"](prop);
153
95
  });
96
+ } else {
97
+ this.cleanupSlotRenderer(prop);
154
98
  }
155
99
  }
156
100
  }, {
157
101
  key: "cleanupSlotRenderer",
158
102
  value: function cleanupSlotRenderer(slotName) {
159
- var _this3 = this;
160
- var renderer = this.slotRenderers.get(slotName);
161
- if (!renderer) return;
162
- this.clearSlotContainers(slotName);
163
- Promise.resolve().then(function () {
164
- _this3.safeCleanupRenderer(renderer);
165
- });
166
- this.slotRenderers["delete"](slotName);
167
- }
168
- }, {
169
- key: "safeCleanupRenderer",
170
- value: function safeCleanupRenderer(cleanup) {
171
- try {
172
- cleanup();
173
- } catch (error) {
174
- console.warn("Error cleaning up React renderer:", error);
175
- }
176
- }
177
- }, {
178
- key: "clearSlotContainers",
179
- value: function clearSlotContainers(slotName) {
180
- var webComponent = this.ref.current;
181
- if (!webComponent) return;
182
- var containers = webComponent.querySelectorAll("[slot=\"".concat(slotName, "\"]"));
183
- containers.forEach(function (container) {
184
- if (container.parentNode) {
185
- container.parentNode.removeChild(container);
103
+ var instance = this.slotInstances.get(slotName);
104
+ if (instance) {
105
+ setTimeout(function () {
106
+ instance.root.unmount();
107
+ }, 0);
108
+ if (instance.container.parentNode === this.ref.current) {
109
+ var _this$ref$current3;
110
+ (_this$ref$current3 = this.ref.current) === null || _this$ref$current3 === void 0 || _this$ref$current3.removeChild(instance.container);
186
111
  }
187
- });
188
- }
189
- }, {
190
- key: "isSameReactElement",
191
- value: function isSameReactElement(prop, val) {
192
- var lastElement = this.lastRenderedElements.get(prop);
193
- if (!lastElement || !isValidReactNode(val)) {
194
- return false;
195
- }
196
- if (lastElement === val) {
197
- return true;
112
+ this.slotInstances["delete"](slotName);
198
113
  }
199
- if (/*#__PURE__*/React.isValidElement(lastElement) && /*#__PURE__*/React.isValidElement(val)) {
200
- var typeMatch = lastElement.type === val.type;
201
- var keyMatch = lastElement.key === val.key;
202
- var propsMatch = JSON.stringify(lastElement.props) === JSON.stringify(val.props);
203
- return typeMatch && keyMatch && propsMatch;
204
- }
205
- return false;
206
114
  }
207
115
  }, {
208
116
  key: "renderReactNodeToSlot",
209
117
  value: function renderReactNodeToSlot(reactNode, slotName) {
210
- var _this4 = this;
211
118
  var webComponent = this.ref.current;
212
119
  if (!webComponent) return;
213
- var existingContainers = webComponent.querySelectorAll("[slot=\"".concat(slotName, "\"]"));
214
- if (existingContainers.length > 0) {
215
- return;
216
- }
217
- var container = document.createElement("div");
218
- container.style.display = "contents";
219
- container.setAttribute("slot", slotName);
220
- webComponent.appendChild(container);
221
- var cleanupFn = null;
222
- if (isValidReactNode(reactNode)) {
223
- if (/*#__PURE__*/React.isValidElement(reactNode)) {
224
- try {
225
- var renderer = createRenderer(container);
226
- renderer.render(reactNode);
227
- cleanupFn = function cleanupFn() {
228
- try {
229
- renderer.unmount();
230
- } catch (error) {
231
- console.warn("Error unmounting React renderer:", error);
232
- }
233
- };
234
- } catch (error) {
235
- console.warn("Error creating React renderer:", error);
236
- }
237
- } else if (typeof reactNode === "string" || typeof reactNode === "number") {
238
- container.textContent = String(reactNode);
239
- cleanupFn = function cleanupFn() {
240
- container.textContent = "";
241
- };
242
- } else if (Array.isArray(reactNode)) {
243
- try {
244
- var _renderer = createRenderer(container);
245
- var wrapper = /*#__PURE__*/React.createElement.apply(React, ["div", {
246
- style: {
247
- display: "contents"
248
- }
249
- }].concat(_toConsumableArray(reactNode.filter(isValidReactNode))));
250
- _renderer.render(wrapper);
251
- cleanupFn = function cleanupFn() {
252
- try {
253
- _renderer.unmount();
254
- } catch (error) {
255
- console.warn("Error unmounting React renderer:", error);
256
- }
257
- };
258
- } catch (error) {
259
- console.warn("Error creating React renderer for array:", error);
260
- }
120
+ var resolveSlotName = this.resolveSlotName(slotName);
121
+ var instance = this.slotInstances.get(slotName);
122
+ if (!instance) {
123
+ var container = webComponent.querySelector("[slot=\"".concat(resolveSlotName, "\"]"));
124
+ if (!container) {
125
+ container = document.createElement("div");
126
+ container.style.display = "contents";
127
+ container.setAttribute("slot", resolveSlotName);
128
+ webComponent.appendChild(container);
261
129
  }
130
+ var root = createRoot(container);
131
+ instance = {
132
+ container: container,
133
+ root: root
134
+ };
135
+ this.slotInstances.set(slotName, instance);
262
136
  }
263
- this.slotRenderers.set(slotName, function () {
264
- _this4.lastRenderedElements["delete"](slotName);
265
- Promise.resolve().then(function () {
266
- if (cleanupFn) {
267
- cleanupFn();
268
- }
269
- if (container.parentNode) {
270
- container.parentNode.removeChild(container);
271
- }
272
- });
273
- });
137
+ instance.root.render(reactNode);
274
138
  }
275
139
  }, {
276
140
  key: "update",
277
141
  value: function update() {
278
- var _this5 = this;
142
+ var _this3 = this;
279
143
  this.clearEventHandlers();
280
144
  if (!this.ref.current) return;
281
- Object.entries(this.props).forEach(function (_ref5) {
282
- var _ref6 = _slicedToArray(_ref5, 2),
283
- prop = _ref6[0],
284
- val = _ref6[1];
145
+ Object.entries(this.props).forEach(function (_ref) {
146
+ var _ref2 = _slicedToArray(_ref, 2),
147
+ prop = _ref2[0],
148
+ val = _ref2[1];
285
149
  if (["innerRef", "children"].includes(prop)) return;
286
150
  if (typeof val === "function" && prop.match(/^on[A-Za-z]/)) {
287
151
  var eventName = prop.slice(2);
288
152
  var omiEventName = eventName[0].toLowerCase() + eventName.slice(1);
289
- _this5.setEvent(omiEventName, val);
290
- return;
291
- }
292
- if (typeof val === "function" && prop.match(/^render[A-Za-z]/)) {
293
- _this5.handleSlotProp(prop, val);
153
+ _this3.setEvent(omiEventName, val);
294
154
  return;
295
155
  }
296
- if (isReactElement(val) && !prop.match(/^on[A-Za-z]/) && !prop.match(/^render[A-Za-z]/)) {
297
- var _this5$ref$current;
298
- var componentClass = (_this5$ref$current = _this5.ref.current) === null || _this5$ref$current === void 0 ? void 0 : _this5$ref$current.constructor;
156
+ if (isReactElement(val) && !prop.match(/^on[A-Za-z]/)) {
157
+ var _this3$ref$current, _this3$ref$current2;
158
+ var componentClass = (_this3$ref$current = _this3.ref.current) === null || _this3$ref$current === void 0 ? void 0 : _this3$ref$current.constructor;
299
159
  var declaredSlots = (componentClass === null || componentClass === void 0 ? void 0 : componentClass.slotProps) || [];
300
- if (declaredSlots.includes(prop) || prop.endsWith("Slot")) {
301
- _this5.handleSlotProp(prop, val);
160
+ var isDeclaredSlot = declaredSlots.includes(prop) || prop.endsWith("Slot");
161
+ var possibleSlotName = hyphenate(prop.endsWith("Slot") ? prop.slice(0, -4) : prop);
162
+ var hasShadowSlot = ((_this3$ref$current2 = _this3.ref.current) === null || _this3$ref$current2 === void 0 || (_this3$ref$current2 = _this3$ref$current2.shadowRoot) === null || _this3$ref$current2 === void 0 ? void 0 : _this3$ref$current2.querySelector("slot[name=\"".concat(possibleSlotName, "\"]"))) !== null;
163
+ if (isDeclaredSlot || hasShadowSlot) {
164
+ _this3.handleSlotProp(prop, val);
302
165
  return;
303
166
  }
304
167
  }
305
168
  if (_typeof(val) === "object" && val !== null) {
306
169
  if (prop === "style") {
307
- var _this5$ref$current2;
308
- (_this5$ref$current2 = _this5.ref.current) === null || _this5$ref$current2 === void 0 || _this5$ref$current2.setAttribute("style", styleObjectToString(val));
170
+ var _this3$ref$current3;
171
+ (_this3$ref$current3 = _this3.ref.current) === null || _this3$ref$current3 === void 0 || _this3$ref$current3.setAttribute("style", styleObjectToString(val));
309
172
  return;
310
173
  }
311
- _this5.ref.current[prop] = val;
174
+ _this3.ref.current[prop] = val;
312
175
  return;
313
176
  }
314
177
  if (typeof val === "function") {
315
- _this5.ref.current[prop] = val;
178
+ _this3.ref.current[prop] = val;
316
179
  return;
317
180
  }
318
181
  if (prop.match(hyphenateRE)) {
319
- var _this5$ref$current3, _this5$ref$current4;
320
- (_this5$ref$current3 = _this5.ref.current) === null || _this5$ref$current3 === void 0 || _this5$ref$current3.setAttribute(hyphenate(prop), val);
321
- (_this5$ref$current4 = _this5.ref.current) === null || _this5$ref$current4 === void 0 || _this5$ref$current4.removeAttribute(prop);
182
+ var _this3$ref$current4, _this3$ref$current5;
183
+ (_this3$ref$current4 = _this3.ref.current) === null || _this3$ref$current4 === void 0 || _this3$ref$current4.setAttribute(hyphenate(prop), val);
184
+ (_this3$ref$current5 = _this3.ref.current) === null || _this3$ref$current5 === void 0 || _this3$ref$current5.removeAttribute(prop);
322
185
  return;
323
186
  }
324
187
  if (!isReact19Plus()) {
325
- _this5.ref.current[prop] = val;
188
+ _this3.ref.current[prop] = val;
326
189
  }
327
190
  });
328
191
  }
@@ -340,30 +203,30 @@ var reactify = function reactify(WC) {
340
203
  key: "componentWillUnmount",
341
204
  value: function componentWillUnmount() {
342
205
  this.clearEventHandlers();
343
- this.clearSlotRenderers();
206
+ this.clearSlotInstances();
344
207
  }
345
208
  }, {
346
209
  key: "clearEventHandlers",
347
210
  value: function clearEventHandlers() {
348
- var _this6 = this;
349
- this.eventHandlers.forEach(function (_ref7) {
350
- var _this6$ref$current;
351
- var _ref8 = _slicedToArray(_ref7, 2),
352
- event = _ref8[0],
353
- handler = _ref8[1];
354
- (_this6$ref$current = _this6.ref.current) === null || _this6$ref$current === void 0 || _this6$ref$current.removeEventListener(event, handler);
211
+ var _this4 = this;
212
+ this.eventHandlers.forEach(function (_ref3) {
213
+ var _this4$ref$current;
214
+ var _ref4 = _slicedToArray(_ref3, 2),
215
+ event = _ref4[0],
216
+ handler = _ref4[1];
217
+ (_this4$ref$current = _this4.ref.current) === null || _this4$ref$current === void 0 || _this4$ref$current.removeEventListener(event, handler);
355
218
  });
356
219
  this.eventHandlers = [];
357
220
  }
358
221
  }, {
359
- key: "clearSlotRenderers",
360
- value: function clearSlotRenderers() {
361
- var _this7 = this;
362
- this.slotRenderers.forEach(function (cleanup) {
363
- _this7.safeCleanupRenderer(cleanup);
222
+ key: "clearSlotInstances",
223
+ value: function clearSlotInstances() {
224
+ this.slotInstances.forEach(function (instance) {
225
+ setTimeout(function () {
226
+ instance.root.unmount();
227
+ }, 0);
364
228
  });
365
- this.slotRenderers.clear();
366
- this.processingSlots.clear();
229
+ this.slotInstances.clear();
367
230
  }
368
231
  }, {
369
232
  key: "render",
@@ -372,9 +235,16 @@ var reactify = function reactify(WC) {
372
235
  children = _this$props.children,
373
236
  className = _this$props.className,
374
237
  rest = _objectWithoutProperties(_this$props, _excluded);
238
+ var filteredProps = {};
239
+ Object.keys(rest).forEach(function (key) {
240
+ var val = rest[key];
241
+ if (typeof val === "string" || typeof val === "number" || typeof val === "boolean") {
242
+ filteredProps[key] = val;
243
+ }
244
+ });
375
245
  return /*#__PURE__*/createElement(WC, _objectSpread(_objectSpread({
376
246
  "class": className
377
- }, rest), {}, {
247
+ }, filteredProps), {}, {
378
248
  ref: this.ref
379
249
  }), children);
380
250
  }
@@ -387,5 +257,5 @@ var reactify = function reactify(WC) {
387
257
  });
388
258
  };
389
259
 
390
- export { reactify as default, hyphenate };
260
+ export { reactify as default };
391
261
  //# sourceMappingURL=reactify.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reactify.js","sources":["../../../pro-components/chat/_util/reactify.tsx"],"sourcesContent":["import React, { Component, createRef, createElement, forwardRef } from 'react';\nimport ReactDOM from 'react-dom';\nimport { createRoot } from 'react-dom/client';\n\n// 检测 React 版本\nconst isReact18Plus = () => typeof createRoot !== 'undefined';\nconst isReact19Plus = (): boolean => {\n const majorVersion = parseInt(React.version.split('.')[0], 10);\n return majorVersion >= 19;\n};\n\n// 增强版本的缓存管理\nconst rootCache = new WeakMap<\n HTMLElement,\n {\n root: ReturnType<typeof createRoot>;\n lastElement?: React.ReactElement;\n }\n>();\n\nconst createRenderer = (container: HTMLElement) => {\n if (isReact18Plus()) {\n let cached = rootCache.get(container);\n if (!cached) {\n cached = { root: createRoot(container) };\n rootCache.set(container, cached);\n }\n\n return {\n render: (element: React.ReactElement) => {\n // 可选:避免相同元素的重复渲染\n if (cached.lastElement !== element) {\n cached.root.render(element);\n cached.lastElement = element;\n }\n },\n unmount: () => {\n cached.root.unmount();\n rootCache.delete(container);\n },\n };\n }\n\n // React 17的实现\n return {\n render: (element: React.ReactElement) => {\n ReactDOM.render(element, container);\n },\n unmount: () => {\n ReactDOM.unmountComponentAtNode(container);\n },\n };\n};\n\n// 检查是否是React元素\nconst isReactElement = (obj: any): obj is React.ReactElement =>\n obj && typeof obj === 'object' && obj.$$typeof && obj.$$typeof.toString().includes('react');\n\n// 检查是否是有效的React节点\nconst isValidReactNode = (node: any): node is React.ReactNode =>\n node !== null &&\n node !== undefined &&\n (typeof node === 'string' ||\n typeof node === 'number' ||\n typeof node === 'boolean' ||\n isReactElement(node) ||\n Array.isArray(node));\n\ntype AnyProps = {\n [key: string]: any;\n};\n\nconst hyphenateRE = /\\B([A-Z])/g;\n\nexport function hyphenate(str: string): string {\n return str.replace(hyphenateRE, '-$1').toLowerCase();\n}\n\nconst styleObjectToString = (style: any) => {\n if (!style || typeof style !== 'object') return '';\n\n const unitlessKeys = new Set([\n 'animationIterationCount',\n 'boxFlex',\n 'boxFlexGroup',\n 'boxOrdinalGroup',\n 'columnCount',\n 'fillOpacity',\n 'flex',\n 'flexGrow',\n 'flexShrink',\n 'fontWeight',\n 'lineClamp',\n 'lineHeight',\n 'opacity',\n 'order',\n 'orphans',\n 'tabSize',\n 'widows',\n 'zIndex',\n 'zoom',\n ]);\n\n return Object.entries(style)\n .filter(([, value]) => value != null && value !== '') // 过滤无效值\n .map(([key, value]) => {\n // 转换驼峰式为连字符格式\n const cssKey = key.replace(/[A-Z]/g, (m) => `-${m.toLowerCase()}`);\n\n // 处理数值类型值\n let cssValue = value;\n if (typeof value === 'number' && value !== 0 && !unitlessKeys.has(key)) {\n cssValue = `${value}px`;\n }\n\n return `${cssKey}:${cssValue};`;\n })\n .join(' ');\n};\n\nconst reactify = <T extends AnyProps = AnyProps>(\n WC: string,\n): React.ForwardRefExoticComponent<Omit<T, 'ref'> & React.RefAttributes<HTMLElement | undefined>> => {\n class Reactify extends Component<AnyProps> {\n eventHandlers: [string, EventListener][];\n\n slotRenderers: Map<string, () => void>;\n\n ref: React.RefObject<HTMLElement>;\n\n constructor(props: AnyProps) {\n super(props);\n this.eventHandlers = [];\n this.slotRenderers = new Map();\n const { innerRef } = props;\n this.ref = innerRef || createRef();\n }\n\n setEvent(event: string, val: EventListener) {\n this.eventHandlers.push([event, val]);\n this.ref.current?.addEventListener(event, val);\n }\n\n // 防止重复处理的标记\n private processingSlots = new Set<string>();\n\n // 处理slot相关的prop\n handleSlotProp(prop: string, val: any) {\n const webComponent = this.ref.current as any;\n if (!webComponent) return;\n\n // 防止重复处理同一个slot\n if (this.processingSlots.has(prop)) {\n return;\n }\n\n // 检查是否需要更新(避免相同内容的重复渲染)\n const currentRenderer = this.slotRenderers.get(prop);\n if (currentRenderer && this.isSameReactElement(prop, val)) {\n return; // 相同内容,跳过更新\n }\n\n // 标记正在处理\n this.processingSlots.add(prop);\n\n // 立即缓存新元素,防止重复调用\n if (isValidReactNode(val)) {\n this.lastRenderedElements.set(prop, val);\n }\n\n // 清理旧的渲染器\n if (currentRenderer) {\n this.cleanupSlotRenderer(prop);\n }\n\n // 如果val是函数,为WebComponent提供一个函数,该函数返回渲染后的DOM\n if (typeof val === 'function') {\n const renderSlot = (params?: any) => {\n const reactNode = val(params);\n return this.renderReactNodeToSlot(reactNode, prop);\n };\n webComponent[prop] = renderSlot;\n // 函数类型处理完成后立即移除标记\n this.processingSlots.delete(prop);\n }\n // 如果val是ReactNode,直接渲染到slot\n else if (isValidReactNode(val)) {\n // 先设置属性,让组件知道这个prop有值\n webComponent[prop] = true;\n\n // 使用微任务延迟渲染,确保在当前渲染周期完成后执行\n Promise.resolve().then(() => {\n if (webComponent.update) {\n webComponent.update();\n }\n this.renderReactNodeToSlot(val, prop);\n // 渲染完成后移除处理标记\n this.processingSlots.delete(prop);\n });\n }\n }\n\n // 清理slot渲染器的统一方法\n private cleanupSlotRenderer(slotName: string) {\n const renderer = this.slotRenderers.get(slotName);\n if (!renderer) return;\n\n // 立即清理DOM容器\n this.clearSlotContainers(slotName);\n\n // 总是异步清理React渲染器,避免竞态条件\n Promise.resolve().then(() => {\n this.safeCleanupRenderer(renderer);\n });\n\n this.slotRenderers.delete(slotName);\n }\n\n // 安全清理渲染器\n // eslint-disable-next-line class-methods-use-this\n private safeCleanupRenderer(cleanup: () => void) {\n try {\n cleanup();\n } catch (error) {\n console.warn('Error cleaning up React renderer:', error);\n }\n }\n\n // 立即清理指定slot的所有容器\n private clearSlotContainers(slotName: string) {\n const webComponent = this.ref.current;\n if (!webComponent) return;\n\n // 查找并移除所有匹配的slot容器\n const containers = webComponent.querySelectorAll(`[slot=\"${slotName}\"]`);\n containers.forEach((container: Element) => {\n if (container.parentNode) {\n container.parentNode.removeChild(container);\n }\n });\n }\n\n // 缓存最后渲染的React元素,用于比较\n private lastRenderedElements = new Map<string, any>();\n\n // 检查是否是相同的React元素\n private isSameReactElement(prop: string, val: any): boolean {\n const lastElement = this.lastRenderedElements.get(prop);\n\n if (!lastElement || !isValidReactNode(val)) {\n return false;\n }\n\n // 简单比较:如果是相同的React元素引用,则认为相同\n if (lastElement === val) {\n return true;\n }\n\n // 对于React元素,比较type、key和props\n if (React.isValidElement(lastElement) && React.isValidElement(val)) {\n const typeMatch = lastElement.type === val.type;\n const keyMatch = lastElement.key === val.key;\n const propsMatch = JSON.stringify(lastElement.props) === JSON.stringify(val.props);\n return typeMatch && keyMatch && propsMatch;\n }\n\n return false;\n }\n\n // 将React节点渲染到slot中\n renderReactNodeToSlot(reactNode: React.ReactNode, slotName: string) {\n const webComponent = this.ref.current;\n if (!webComponent) return;\n\n // 检查是否已经有相同的slot容器存在,避免重复创建\n const existingContainers = webComponent.querySelectorAll(`[slot=\"${slotName}\"]`);\n if (existingContainers.length > 0) {\n return;\n }\n\n // 直接创建容器并添加到Web Component中\n const container = document.createElement('div');\n container.style.display = 'contents'; // 不影响布局\n container.setAttribute('slot', slotName); // 设置slot属性,Web Components会自动处理\n\n // 将容器添加到Web Component中\n webComponent.appendChild(container);\n\n // 根据不同类型的reactNode创建不同的清理函数\n let cleanupFn: (() => void) | null = null;\n\n if (isValidReactNode(reactNode)) {\n if (React.isValidElement(reactNode)) {\n try {\n const renderer = createRenderer(container);\n renderer.render(reactNode);\n cleanupFn = () => {\n try {\n renderer.unmount();\n } catch (error) {\n console.warn('Error unmounting React renderer:', error);\n }\n };\n } catch (error) {\n console.warn('Error creating React renderer:', error);\n }\n } else if (typeof reactNode === 'string' || typeof reactNode === 'number') {\n container.textContent = String(reactNode);\n cleanupFn = () => {\n container.textContent = '';\n };\n } else if (Array.isArray(reactNode)) {\n try {\n const renderer = createRenderer(container);\n const wrapper = React.createElement(\n 'div',\n { style: { display: 'contents' } },\n ...reactNode.filter(isValidReactNode),\n );\n renderer.render(wrapper);\n cleanupFn = () => {\n try {\n renderer.unmount();\n } catch (error) {\n console.warn('Error unmounting React renderer:', error);\n }\n };\n } catch (error) {\n console.warn('Error creating React renderer for array:', error);\n }\n }\n }\n\n // 保存cleanup函数\n this.slotRenderers.set(slotName, () => {\n // 清理缓存\n this.lastRenderedElements.delete(slotName);\n // 异步unmount避免竞态条件\n Promise.resolve().then(() => {\n if (cleanupFn) {\n cleanupFn();\n }\n if (container.parentNode) {\n container.parentNode.removeChild(container);\n }\n });\n });\n }\n\n update() {\n this.clearEventHandlers();\n if (!this.ref.current) return;\n\n Object.entries(this.props).forEach(([prop, val]) => {\n if (['innerRef', 'children'].includes(prop)) return;\n\n // event handler\n if (typeof val === 'function' && prop.match(/^on[A-Za-z]/)) {\n const eventName = prop.slice(2);\n const omiEventName = eventName[0].toLowerCase() + eventName.slice(1);\n this.setEvent(omiEventName, val as EventListener);\n return;\n }\n\n // render functions or slot props\n if (typeof val === 'function' && prop.match(/^render[A-Za-z]/)) {\n this.handleSlotProp(prop, val);\n return;\n }\n\n // 检查是否是slot prop(通过组件的slotProps静态属性或Slot后缀)\n if (isReactElement(val) && !prop.match(/^on[A-Za-z]/) && !prop.match(/^render[A-Za-z]/)) {\n const componentClass = this.ref.current?.constructor as any;\n const declaredSlots = componentClass?.slotProps || [];\n\n if (declaredSlots.includes(prop) || prop.endsWith('Slot')) {\n this.handleSlotProp(prop, val);\n return;\n }\n }\n\n // Complex object处理\n if (typeof val === 'object' && val !== null) {\n // style特殊处理\n if (prop === 'style') {\n this.ref.current?.setAttribute('style', styleObjectToString(val));\n return;\n }\n // 其他复杂对象直接设置为属性\n (this.ref.current as any)[prop] = val;\n return;\n }\n\n // 函数类型但不是事件处理器也不是render函数的,直接设置为属性\n if (typeof val === 'function') {\n (this.ref.current as any)[prop] = val;\n return;\n }\n\n // camel case to kebab-case for attributes\n if (prop.match(hyphenateRE)) {\n this.ref.current?.setAttribute(hyphenate(prop), val);\n this.ref.current?.removeAttribute(prop);\n return;\n }\n if (!isReact19Plus()) {\n (this.ref.current as any)[prop] = val;\n }\n });\n }\n\n componentDidUpdate() {\n this.update();\n }\n\n componentDidMount() {\n this.update();\n }\n\n componentWillUnmount() {\n this.clearEventHandlers();\n this.clearSlotRenderers();\n }\n\n clearEventHandlers() {\n this.eventHandlers.forEach(([event, handler]) => {\n this.ref.current?.removeEventListener(event, handler);\n });\n this.eventHandlers = [];\n }\n\n clearSlotRenderers() {\n this.slotRenderers.forEach((cleanup) => {\n this.safeCleanupRenderer(cleanup);\n });\n this.slotRenderers.clear();\n this.processingSlots.clear();\n }\n\n render() {\n const { children, className, ...rest } = this.props;\n\n return createElement(WC, { class: className, ...rest, ref: this.ref }, children);\n }\n }\n\n return forwardRef<HTMLElement, AnyProps>((props, ref) =>\n createElement(Reactify, { ...props, innerRef: ref }),\n ) as React.ForwardRefExoticComponent<Omit<T, 'ref'> & React.RefAttributes<HTMLElement | undefined>>;\n};\n\nexport default reactify;\n"],"names":["isReact18Plus","createRoot","isReact19Plus","majorVersion","parseInt","React","version","split","rootCache","WeakMap","createRenderer","container","cached","get","root","set","render","element","lastElement","unmount","ReactDOM","unmountComponentAtNode","isReactElement","obj","_typeof","$$typeof","toString","includes","isValidReactNode","node","Array","isArray","hyphenateRE","hyphenate","str","replace","toLowerCase","styleObjectToString","style","unitlessKeys","Set","Object","entries","filter","_ref","_ref2","_slicedToArray","value","map","_ref3","_ref4","key","cssKey","m","concat","cssValue","has","join","reactify","WC","Reactify","props","_this","_classCallCheck","_callSuper","_defineProperty","Map","eventHandlers","slotRenderers","innerRef","ref","createRef","_inherits","_Component","_createClass","setEvent","event","val","_this$ref$current","push","current","addEventListener","handleSlotProp","prop","_this2","webComponent","processingSlots","currentRenderer","isSameReactElement","add","lastRenderedElements","cleanupSlotRenderer","renderSlot","params","reactNode","renderReactNodeToSlot","Promise","resolve","then","update","slotName","_this3","renderer","clearSlotContainers","safeCleanupRenderer","cleanup","error","console","warn","containers","querySelectorAll","forEach","parentNode","removeChild","isValidElement","typeMatch","type","keyMatch","propsMatch","JSON","stringify","_this4","existingContainers","length","document","createElement","display","setAttribute","appendChild","cleanupFn","textContent","String","wrapper","apply","_toConsumableArray","_this5","clearEventHandlers","_ref5","_ref6","match","eventName","slice","omiEventName","_this5$ref$current","componentClass","constructor","declaredSlots","slotProps","endsWith","_this5$ref$current2","_this5$ref$current3","_this5$ref$current4","removeAttribute","componentDidUpdate","componentDidMount","componentWillUnmount","clearSlotRenderers","_this6","_ref7","_this6$ref$current","_ref8","handler","removeEventListener","_this7","clear","_this$props","children","className","rest","_objectWithoutProperties","_excluded","_objectSpread","Component","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"reactify.js","sources":["../../../pro-components/chat/_util/reactify.tsx"],"sourcesContent":["import React, { Component, createRef, createElement, forwardRef } from 'react';\nimport { createRoot, Root } from 'react-dom/client';\n\ntype AnyProps = {\n [key: string]: any;\n};\n\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = (string: string) => string.replace(hyphenateRE, '-$1').toLowerCase();\n\nconst styleObjectToString = (style: any) => {\n if (!style) return '';\n if (typeof style === 'string') return style;\n return Object.keys(style)\n .reduce((acc: string[], key) => {\n const value = style[key];\n const cssKey = key.replace(hyphenateRE, '-$1').toLowerCase();\n return acc.concat(`${cssKey}:${value}`);\n }, [])\n .join(';');\n};\n\nconst isReactElement = (node: any): boolean => React.isValidElement(node);\n\nconst isValidReactNode = (node: any): node is React.ReactNode =>\n node !== null &&\n node !== undefined &&\n (typeof node === 'string' ||\n typeof node === 'number' ||\n typeof node === 'boolean' ||\n isReactElement(node) ||\n Array.isArray(node));\n\nconst isReact19Plus = () => {\n const version = React.version.split('.')[0];\n return parseInt(version, 10) >= 19;\n};\n\nconst reactify = <T extends AnyProps = AnyProps>(\n WC: string,\n): React.ForwardRefExoticComponent<React.PropsWithoutRef<T> & React.RefAttributes<HTMLElement>> => {\n class Reactify extends Component<T> {\n eventHandlers: [string, EventListener][];\n\n // 使用 Map 缓存每个 slot 的 React Root 实例\n slotInstances: Map<\n string,\n {\n root: Root;\n container: HTMLElement;\n }\n >;\n\n ref: React.RefObject<HTMLElement>;\n\n constructor(props: T) {\n super(props);\n this.eventHandlers = [];\n this.slotInstances = new Map();\n const { innerRef } = props;\n this.ref = innerRef || createRef();\n }\n\n setEvent(event: string, val: EventListener) {\n this.eventHandlers.push([event, val]);\n this.ref.current?.addEventListener(event, val);\n }\n\n // 根据shadow DOM中实际存在的slot解析正确的slot名\n private resolveSlotName(prop: string) {\n const baseName = prop.endsWith('Slot') ? prop.slice(0, -4) : prop;\n const kebabName = hyphenate(baseName);\n const hasKebabSlot = this.ref.current?.shadowRoot?.querySelector(`slot[name=\"${kebabName}\"]`) !== null;\n return hasKebabSlot ? kebabName : baseName;\n }\n\n // 处理slot相关的prop\n handleSlotProp(prop: string, val: any) {\n const webComponent = this.ref.current as any;\n if (!webComponent) return;\n\n // 如果val是函数,为WebComponent提供一个函数,该函数返回渲染后的DOM\n if (typeof val === 'function') {\n const renderSlot = (params?: any) => {\n const reactNode = val(params);\n // 函数式 slot 每次调用可能产生新内容,这里简化处理,\n // 实际场景中可能需要更复杂的挂载逻辑,或者 WebComponent 内部处理了 DOM 挂载\n // 这里保持原逻辑或根据 WebComponent 行为调整\n return this.renderReactNodeToSlot(reactNode, prop);\n };\n webComponent[prop] = renderSlot;\n }\n // 如果val是ReactNode,直接渲染到slot\n else if (isValidReactNode(val)) {\n // 先设置属性,让组件知道这个prop有值\n webComponent[prop] = true;\n\n // 使用微任务延迟渲染,确保在当前渲染周期完成后执行\n Promise.resolve().then(() => {\n if (webComponent.update) {\n webComponent.update();\n }\n this.renderReactNodeToSlot(val, prop);\n });\n } else {\n this.cleanupSlotRenderer(prop);\n }\n }\n\n // 清理slot渲染器的统一方法\n private cleanupSlotRenderer(slotName: string) {\n const instance = this.slotInstances.get(slotName);\n if (instance) {\n // React 18 使用 root.unmount()\n setTimeout(() => {\n instance.root.unmount();\n }, 0);\n\n if (instance.container.parentNode === this.ref.current) {\n this.ref.current?.removeChild(instance.container);\n }\n this.slotInstances.delete(slotName);\n }\n }\n\n // 将React节点渲染到slot中\n renderReactNodeToSlot(reactNode: React.ReactNode, slotName: string) {\n const webComponent = this.ref.current;\n if (!webComponent) return;\n\n const resolveSlotName = this.resolveSlotName(slotName);\n\n let instance = this.slotInstances.get(slotName);\n\n if (!instance) {\n // 检查是否已经有相同的slot容器存在\n let container = webComponent.querySelector(`[slot=\"${resolveSlotName}\"]`) as HTMLElement;\n if (!container) {\n container = document.createElement('div');\n container.style.display = 'contents';\n container.setAttribute('slot', resolveSlotName);\n webComponent.appendChild(container);\n }\n\n // 创建 React Root\n const root = createRoot(container);\n\n instance = {\n container,\n root,\n };\n this.slotInstances.set(slotName, instance);\n }\n\n // 复用 root 进行增量更新,React 会自动处理 Diff,避免 DOM 销毁重建\n instance.root.render(reactNode);\n }\n\n update() {\n this.clearEventHandlers();\n if (!this.ref.current) return;\n\n Object.entries(this.props).forEach(([prop, val]) => {\n if (['innerRef', 'children'].includes(prop)) return;\n\n // event handler\n if (typeof val === 'function' && prop.match(/^on[A-Za-z]/)) {\n const eventName = prop.slice(2);\n const omiEventName = eventName[0].toLowerCase() + eventName.slice(1);\n this.setEvent(omiEventName, val as EventListener);\n return;\n }\n\n if (isReactElement(val) && !prop.match(/^on[A-Za-z]/)) {\n const componentClass = this.ref.current?.constructor as any;\n const declaredSlots = componentClass?.slotProps || [];\n // 如果webc组件的slotProps显式声明了这个slot,或prop以“Slot”结尾,就把传入的reactdom挂载到webc组件对应的<slot></slot>占位符上\n const isDeclaredSlot = declaredSlots.includes(prop) || prop.endsWith('Slot');\n\n // 允许通过shadow dom检测到的slot自动挂载\n const possibleSlotName = hyphenate(prop.endsWith('Slot') ? prop.slice(0, -4) : prop);\n const hasShadowSlot =\n this.ref.current?.shadowRoot?.querySelector(`slot[name=\"${possibleSlotName}\"]`) !== null;\n\n if (isDeclaredSlot || hasShadowSlot) {\n this.handleSlotProp(prop, val);\n return;\n }\n }\n\n // Complex object处理\n if (typeof val === 'object' && val !== null) {\n // style特殊处理\n if (prop === 'style') {\n this.ref.current?.setAttribute('style', styleObjectToString(val));\n return;\n }\n // 其他复杂对象直接设置为属性\n (this.ref.current as any)[prop] = val;\n return;\n }\n\n // 函数类型但不是事件处理器也不是render函数的,直接设置为属性\n if (typeof val === 'function') {\n (this.ref.current as any)[prop] = val;\n return;\n }\n\n // camel case to kebab-case for attributes\n if (prop.match(hyphenateRE)) {\n this.ref.current?.setAttribute(hyphenate(prop), val);\n this.ref.current?.removeAttribute(prop);\n return;\n }\n if (!isReact19Plus()) {\n (this.ref.current as any)[prop] = val;\n }\n });\n }\n\n componentDidUpdate() {\n this.update();\n }\n\n componentDidMount() {\n this.update();\n }\n\n componentWillUnmount() {\n this.clearEventHandlers();\n this.clearSlotInstances();\n }\n\n clearEventHandlers() {\n this.eventHandlers.forEach(([event, handler]) => {\n this.ref.current?.removeEventListener(event, handler);\n });\n this.eventHandlers = [];\n }\n\n clearSlotInstances() {\n this.slotInstances.forEach((instance) => {\n // 卸载时清理\n setTimeout(() => {\n instance.root.unmount();\n }, 0);\n });\n this.slotInstances.clear();\n }\n\n render() {\n const { children, className, ...rest } = this.props;\n // 仅将基本类型作为attribute传递,其余复杂类型在update中处理\n const filteredProps: Record<string, any> = {};\n Object.keys(rest).forEach((key) => {\n const val = (rest as Record<string, any>)[key];\n if (typeof val === 'string' || typeof val === 'number' || typeof val === 'boolean') {\n filteredProps[key] = val;\n }\n });\n return createElement(WC, { class: className, ...filteredProps, ref: this.ref }, children);\n }\n }\n\n return forwardRef<HTMLElement, T>((props, ref) =>\n createElement(Reactify, { ...props, innerRef: ref } as T & { innerRef: React.ForwardedRef<HTMLElement> }),\n );\n};\n\nexport default reactify;\n"],"names":["hyphenateRE","hyphenate","string","replace","toLowerCase","styleObjectToString","style","Object","keys","reduce","acc","key","value","cssKey","concat","join","isReactElement","node","React","isValidElement","isValidReactNode","Array","isArray","isReact19Plus","version","split","parseInt","reactify","WC","Reactify","props","_this","_classCallCheck","_callSuper","eventHandlers","slotInstances","Map","innerRef","ref","createRef","_inherits","_Component","_createClass","setEvent","event","val","_this$ref$current","push","current","addEventListener","resolveSlotName","prop","_this$ref$current2","baseName","endsWith","slice","kebabName","hasKebabSlot","shadowRoot","querySelector","handleSlotProp","_this2","webComponent","renderSlot","params","reactNode","renderReactNodeToSlot","Promise","resolve","then","update","cleanupSlotRenderer","slotName","instance","get","setTimeout","root","unmount","container","parentNode","_this$ref$current3","removeChild","document","createElement","display","setAttribute","appendChild","createRoot","set","render","_this3","clearEventHandlers","entries","forEach","_ref","_ref2","_slicedToArray","includes","match","eventName","omiEventName","_this3$ref$current","_this3$ref$current2","componentClass","constructor","declaredSlots","slotProps","isDeclaredSlot","possibleSlotName","hasShadowSlot","_typeof","_this3$ref$current3","_this3$ref$current4","_this3$ref$current5","removeAttribute","componentDidUpdate","componentDidMount","componentWillUnmount","clearSlotInstances","_this4","_ref3","_this4$ref$current","_ref4","handler","removeEventListener","clear","_this$props","children","className","rest","_objectWithoutProperties","_excluded","filteredProps","_objectSpread","Component","forwardRef"],"mappings":"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"}
@@ -6,18 +6,16 @@
6
6
 
7
7
  import 'tdesign-web-components/lib/attachments';
8
8
  import reactify from '../_util/reactify.js';
9
+ import '@babel/runtime/helpers/defineProperty';
9
10
  import '@babel/runtime/helpers/objectWithoutProperties';
10
- import '@babel/runtime/helpers/toConsumableArray';
11
+ import '@babel/runtime/helpers/typeof';
12
+ import '@babel/runtime/helpers/slicedToArray';
11
13
  import '@babel/runtime/helpers/classCallCheck';
12
14
  import '@babel/runtime/helpers/createClass';
13
15
  import '@babel/runtime/helpers/possibleConstructorReturn';
14
16
  import '@babel/runtime/helpers/getPrototypeOf';
15
17
  import '@babel/runtime/helpers/inherits';
16
- import '@babel/runtime/helpers/defineProperty';
17
- import '@babel/runtime/helpers/slicedToArray';
18
- import '@babel/runtime/helpers/typeof';
19
18
  import 'react';
20
- import 'react-dom';
21
19
  import 'react-dom/client';
22
20
 
23
21
  var Attachments = reactify("t-attachments");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../pro-components/chat/attachments/index.ts"],"sourcesContent":["import { TdAttachmentsProps } from 'tdesign-web-components';\nimport 'tdesign-web-components/lib/attachments';\nimport reactify from '../_util/reactify';\n\nexport const Attachments: React.ForwardRefExoticComponent<\n Omit<TdAttachmentsProps, 'ref'> & React.RefAttributes<HTMLElement | undefined>\n> = reactify<TdAttachmentsProps>('t-attachments');\n\nexport default Attachments;\n\nexport type { TdAttachmentsProps, TdAttachmentItem } from 'tdesign-web-components';\n"],"names":["Attachments","reactify"],"mappings":";;;;;;;;;;;;;;;;;;;;;;IAIaA,WAAA,GAETC,SAA6B,eAAe;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../pro-components/chat/attachments/index.ts"],"sourcesContent":["import { TdAttachmentsProps } from 'tdesign-web-components';\nimport 'tdesign-web-components/lib/attachments';\nimport reactify from '../_util/reactify';\n\nexport const Attachments: React.ForwardRefExoticComponent<\n Omit<TdAttachmentsProps, 'ref'> & React.RefAttributes<HTMLElement | undefined>\n> = reactify<TdAttachmentsProps>('t-attachments');\n\nexport default Attachments;\n\nexport type { TdAttachmentsProps, TdAttachmentItem } from 'tdesign-web-components';\n"],"names":["Attachments","reactify"],"mappings":";;;;;;;;;;;;;;;;;;;;IAIaA,WAAA,GAETC,SAA6B,eAAe;;;;"}