@tdesign-react/chat 1.1.0-alpha.1 → 1.1.0-alpha.11

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 (324) hide show
  1. package/CHANGELOG.md +14 -1
  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-f691a67e.js +438 -0
  42. package/es/_chunks/dep-f691a67e.js.map +1 -0
  43. package/es/_chunks/dep-f8016301.js +169 -0
  44. package/es/_chunks/dep-f8016301.js.map +1 -0
  45. package/es/_util/reactify.js +33 -13
  46. package/es/_util/reactify.js.map +1 -1
  47. package/es/_util/useDynamicStyle.js +1 -1
  48. package/es/attachments/index.js +1 -1
  49. package/es/chat-actionbar/index.d.ts +13 -4
  50. package/es/chat-actionbar/index.js +35 -5
  51. package/es/chat-actionbar/index.js.map +1 -1
  52. package/es/chat-engine/components/activity/index.d.ts +1 -2
  53. package/es/chat-engine/components/activity/index.js +11 -5
  54. package/es/chat-engine/components/activity/index.js.map +1 -1
  55. package/es/chat-engine/components/activity/registry.d.ts +6 -40
  56. package/es/chat-engine/components/activity/registry.js +23 -77
  57. package/es/chat-engine/components/activity/registry.js.map +1 -1
  58. package/es/chat-engine/components/activity/render.d.ts +4 -0
  59. package/es/chat-engine/components/activity/render.js +34 -71
  60. package/es/chat-engine/components/activity/render.js.map +1 -1
  61. package/es/chat-engine/components/activity/types.d.ts +0 -3
  62. package/es/chat-engine/components/activity/types.js +1 -1
  63. package/es/chat-engine/components/index.js +37 -23
  64. package/es/chat-engine/components/index.js.map +1 -1
  65. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js +2 -2
  66. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js +2 -2
  67. package/es/chat-engine/components/json-render/SurfaceStateManager.js +1 -1
  68. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js +1 -1
  69. package/es/chat-engine/components/json-render/adapters/a2ui-types.js +1 -1
  70. package/es/chat-engine/components/json-render/adapters/index.js +1 -1
  71. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js +2 -2
  72. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js +2 -2
  73. package/es/chat-engine/components/json-render/catalog/atomic/button.d.ts +14 -0
  74. package/es/chat-engine/components/json-render/catalog/atomic/button.js +71 -0
  75. package/es/chat-engine/components/json-render/catalog/atomic/button.js.map +1 -0
  76. package/es/chat-engine/components/json-render/catalog/atomic/card.d.ts +11 -0
  77. package/es/chat-engine/components/json-render/catalog/atomic/card.js +57 -0
  78. package/es/chat-engine/components/json-render/catalog/atomic/card.js.map +1 -0
  79. package/es/chat-engine/components/json-render/catalog/atomic/input.d.ts +20 -0
  80. package/es/chat-engine/components/json-render/catalog/atomic/input.js +76 -0
  81. package/es/chat-engine/components/json-render/catalog/atomic/input.js.map +1 -0
  82. package/es/chat-engine/components/json-render/catalog/atomic/layout.d.ts +44 -0
  83. package/es/chat-engine/components/json-render/catalog/atomic/layout.js +129 -0
  84. package/es/chat-engine/components/json-render/catalog/atomic/layout.js.map +1 -0
  85. package/es/chat-engine/components/json-render/catalog/atomic/text.d.ts +11 -0
  86. package/es/chat-engine/components/json-render/catalog/atomic/text.js +31 -0
  87. package/es/chat-engine/components/json-render/catalog/atomic/text.js.map +1 -0
  88. package/es/chat-engine/components/json-render/catalog/button.js +1 -1
  89. package/es/chat-engine/components/json-render/catalog/card.js +1 -1
  90. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.d.ts +614 -0
  91. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js +779 -0
  92. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js.map +1 -0
  93. package/es/chat-engine/components/json-render/catalog/index.d.ts +2 -1
  94. package/es/chat-engine/components/json-render/catalog/index.js +3 -3
  95. package/es/chat-engine/components/json-render/catalog/input.js +2 -2
  96. package/es/chat-engine/components/json-render/catalog/layout.js +1 -1
  97. package/es/chat-engine/components/json-render/catalog/text.js +1 -1
  98. package/es/chat-engine/components/json-render/catalog.d.ts +65 -0
  99. package/es/chat-engine/components/json-render/catalog.js +634 -2
  100. package/es/chat-engine/components/json-render/catalog.js.map +1 -1
  101. package/es/chat-engine/components/json-render/config.js +2 -2
  102. package/es/chat-engine/components/json-render/contexts/actions.d.ts +5 -0
  103. package/es/chat-engine/components/json-render/contexts/actions.js +39 -16
  104. package/es/chat-engine/components/json-render/contexts/actions.js.map +1 -1
  105. package/es/chat-engine/components/json-render/contexts/data.d.ts +99 -7
  106. package/es/chat-engine/components/json-render/contexts/data.js +155 -76
  107. package/es/chat-engine/components/json-render/contexts/data.js.map +1 -1
  108. package/es/chat-engine/components/json-render/contexts/index.d.ts +4 -0
  109. package/es/chat-engine/components/json-render/contexts/index.js +27 -0
  110. package/es/chat-engine/components/json-render/contexts/index.js.map +1 -0
  111. package/es/chat-engine/components/json-render/contexts/store.d.ts +67 -0
  112. package/es/chat-engine/components/json-render/contexts/store.js +104 -0
  113. package/es/chat-engine/components/json-render/contexts/store.js.map +1 -0
  114. package/es/chat-engine/components/json-render/contexts/tree.d.ts +44 -0
  115. package/es/chat-engine/components/json-render/contexts/tree.js +78 -0
  116. package/es/chat-engine/components/json-render/contexts/tree.js.map +1 -0
  117. package/es/chat-engine/components/json-render/contexts/validation.js +13 -5
  118. package/es/chat-engine/components/json-render/contexts/validation.js.map +1 -1
  119. package/es/chat-engine/components/json-render/contexts/visibility.d.ts +12 -2
  120. package/es/chat-engine/components/json-render/contexts/visibility.js +32 -22
  121. package/es/chat-engine/components/json-render/contexts/visibility.js.map +1 -1
  122. package/es/chat-engine/components/json-render/engine.js +1 -1
  123. package/es/chat-engine/components/json-render/index.d.ts +9 -30
  124. package/es/chat-engine/components/json-render/index.js +59 -19
  125. package/es/chat-engine/components/json-render/index.js.map +1 -1
  126. package/es/chat-engine/components/json-render/performance.js +1 -1
  127. package/es/chat-engine/components/json-render/registry/a2ui-binding.d.ts +64 -0
  128. package/es/chat-engine/components/json-render/registry/a2ui-binding.js +76 -0
  129. package/es/chat-engine/components/json-render/registry/a2ui-binding.js.map +1 -0
  130. package/es/chat-engine/components/json-render/registry/a2ui-registry.d.ts +78 -0
  131. package/es/chat-engine/components/json-render/registry/a2ui-registry.js +76 -0
  132. package/es/chat-engine/components/json-render/registry/a2ui-registry.js.map +1 -0
  133. package/es/chat-engine/components/json-render/registry/config.d.ts +142 -0
  134. package/es/chat-engine/components/json-render/registry/config.js +76 -0
  135. package/es/chat-engine/components/json-render/registry/config.js.map +1 -0
  136. package/es/chat-engine/components/json-render/registry/index.d.ts +137 -0
  137. package/es/chat-engine/components/json-render/registry/index.js +76 -0
  138. package/es/chat-engine/components/json-render/registry/index.js.map +1 -0
  139. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.d.ts +35 -0
  140. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js +271 -0
  141. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js.map +1 -0
  142. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.d.ts +44 -0
  143. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js +63 -0
  144. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js.map +1 -0
  145. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.d.ts +44 -0
  146. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js +131 -0
  147. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js.map +1 -0
  148. package/es/chat-engine/components/json-render/renderer/_index.d.ts +71 -0
  149. package/es/chat-engine/components/json-render/renderer/_index.js +133 -0
  150. package/es/chat-engine/components/json-render/renderer/_index.js.map +1 -0
  151. package/es/chat-engine/components/json-render/renderer/index.d.ts +71 -0
  152. package/es/chat-engine/components/json-render/renderer/index.js +125 -0
  153. package/es/chat-engine/components/json-render/renderer/index.js.map +1 -0
  154. package/es/chat-engine/components/json-render/renderer.js +1 -1
  155. package/es/chat-engine/components/json-render/types.d.ts +37 -19
  156. package/es/chat-engine/components/json-render/types.js +1 -1
  157. package/es/chat-engine/components/provider/agent-state.js +17 -8
  158. package/es/chat-engine/components/provider/agent-state.js.map +1 -1
  159. package/es/chat-engine/components/shared/ComponentErrorBoundary.d.ts +25 -0
  160. package/es/chat-engine/components/shared/ComponentErrorBoundary.js +58 -0
  161. package/es/chat-engine/components/shared/ComponentErrorBoundary.js.map +1 -0
  162. package/es/chat-engine/components/shared/createRegistry.d.ts +36 -0
  163. package/es/chat-engine/components/shared/createRegistry.js +72 -0
  164. package/es/chat-engine/components/shared/createRegistry.js.map +1 -0
  165. package/es/chat-engine/components/shared/index.d.ts +4 -0
  166. package/es/chat-engine/components/shared/index.js +18 -0
  167. package/es/chat-engine/components/shared/index.js.map +1 -0
  168. package/es/chat-engine/components/shared/useRegistrationListener.d.ts +22 -0
  169. package/es/chat-engine/components/shared/useRegistrationListener.js +45 -0
  170. package/es/chat-engine/components/shared/useRegistrationListener.js.map +1 -0
  171. package/es/chat-engine/components/toolcall/index.d.ts +1 -1
  172. package/es/chat-engine/components/toolcall/index.js +27 -14
  173. package/es/chat-engine/components/toolcall/index.js.map +1 -1
  174. package/es/chat-engine/components/toolcall/registry.d.ts +6 -32
  175. package/es/chat-engine/components/toolcall/registry.js +23 -67
  176. package/es/chat-engine/components/toolcall/registry.js.map +1 -1
  177. package/es/chat-engine/components/toolcall/render.js +45 -84
  178. package/es/chat-engine/components/toolcall/render.js.map +1 -1
  179. package/es/chat-engine/components/toolcall/types.js +1 -1
  180. package/es/chat-engine/core/adapters/a2ui/index.d.ts +10 -0
  181. package/es/chat-engine/core/adapters/a2ui/index.js +24 -0
  182. package/es/chat-engine/core/adapters/a2ui/index.js.map +1 -0
  183. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
  184. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.js +438 -0
  185. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
  186. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.d.ts +53 -0
  187. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.js +158 -0
  188. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.js.map +1 -0
  189. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.d.ts +63 -0
  190. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.js +172 -0
  191. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.js.map +1 -0
  192. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.d.ts +47 -0
  193. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.js +99 -0
  194. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.js.map +1 -0
  195. package/es/chat-engine/core/adapters/a2ui/types/index.d.ts +4 -0
  196. package/es/chat-engine/core/adapters/a2ui/types/index.js +9 -0
  197. package/es/chat-engine/core/adapters/a2ui/types/index.js.map +1 -0
  198. package/es/chat-engine/core/adapters/a2ui/types/types.d.ts +770 -0
  199. package/es/chat-engine/core/adapters/a2ui/types/types.js +104 -0
  200. package/es/chat-engine/core/adapters/a2ui/types/types.js.map +1 -0
  201. package/es/chat-engine/core/adapters/a2ui/utils/binding.d.ts +34 -0
  202. package/es/chat-engine/core/adapters/a2ui/utils/binding.js +1784 -0
  203. package/es/chat-engine/core/adapters/a2ui/utils/binding.js.map +1 -0
  204. package/es/chat-engine/core/adapters/a2ui/utils/index.d.ts +5 -0
  205. package/es/chat-engine/core/adapters/a2ui/utils/index.js +13 -0
  206. package/es/chat-engine/core/adapters/a2ui/utils/index.js.map +1 -0
  207. package/es/chat-engine/core/adapters/a2ui/utils/validation.d.ts +70 -0
  208. package/es/chat-engine/core/adapters/a2ui/utils/validation.js +333 -0
  209. package/es/chat-engine/core/adapters/a2ui/utils/validation.js.map +1 -0
  210. package/es/chat-engine/core/adapters/agui/ActivityManager.d.ts +93 -0
  211. package/es/chat-engine/core/adapters/agui/ActivityManager.js +148 -0
  212. package/es/chat-engine/core/adapters/agui/ActivityManager.js.map +1 -0
  213. package/es/chat-engine/core/adapters/agui/StateManager.d.ts +99 -0
  214. package/es/chat-engine/core/adapters/agui/StateManager.js +172 -0
  215. package/es/chat-engine/core/adapters/agui/StateManager.js.map +1 -0
  216. package/es/chat-engine/core/adapters/agui/activity-manager.js +7 -1
  217. package/es/chat-engine/core/adapters/agui/activity-manager.js.map +1 -1
  218. package/es/chat-engine/core/adapters/agui/event-mapper.d.ts +1 -1
  219. package/es/chat-engine/core/adapters/agui/event-mapper.js +7 -5
  220. package/es/chat-engine/core/adapters/agui/event-mapper.js.map +1 -1
  221. package/es/chat-engine/core/adapters/agui/events.js +1 -1
  222. package/es/chat-engine/core/adapters/agui/index.d.ts +4 -7
  223. package/es/chat-engine/core/adapters/agui/index.js +23 -18
  224. package/es/chat-engine/core/adapters/agui/index.js.map +1 -1
  225. package/es/chat-engine/core/adapters/agui/state-manager.js +7 -1
  226. package/es/chat-engine/core/adapters/agui/state-manager.js.map +1 -1
  227. package/es/chat-engine/core/adapters/agui/types/events.d.ts +1570 -0
  228. package/es/chat-engine/core/adapters/agui/types/events.js +15 -0
  229. package/es/chat-engine/core/adapters/agui/types/events.js.map +1 -0
  230. package/es/chat-engine/core/adapters/agui/types/index.d.ts +854 -0
  231. package/es/chat-engine/core/adapters/agui/types/index.js +279 -0
  232. package/es/chat-engine/core/adapters/agui/types/index.js.map +1 -0
  233. package/es/chat-engine/core/adapters/agui/types.js +1 -1
  234. package/es/chat-engine/core/adapters/agui/utils.js +1 -1
  235. package/es/chat-engine/core/adapters/index.d.ts +5 -0
  236. package/es/chat-engine/core/adapters/index.js +34 -0
  237. package/es/chat-engine/core/adapters/index.js.map +1 -0
  238. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.d.ts +114 -0
  239. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.js +194 -0
  240. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.js.map +1 -0
  241. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.d.ts +49 -0
  242. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.js +307 -0
  243. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.js.map +1 -0
  244. package/es/chat-engine/core/adapters/json-render/engine.d.ts +58 -0
  245. package/es/chat-engine/core/adapters/json-render/engine.js +88 -0
  246. package/es/chat-engine/core/adapters/json-render/engine.js.map +1 -0
  247. package/es/chat-engine/core/adapters/json-render/index.d.ts +8 -0
  248. package/es/chat-engine/core/adapters/json-render/index.js +18 -0
  249. package/es/chat-engine/core/adapters/json-render/index.js.map +1 -0
  250. package/es/chat-engine/core/adapters/json-render/types/a2ui.d.ts +96 -0
  251. package/es/chat-engine/core/adapters/json-render/types/a2ui.js +7 -0
  252. package/es/chat-engine/core/adapters/json-render/types/a2ui.js.map +1 -0
  253. package/es/chat-engine/core/adapters/json-render/types/core.d.ts +49 -0
  254. package/es/chat-engine/core/adapters/json-render/types/core.js +7 -0
  255. package/es/chat-engine/core/adapters/json-render/types/core.js.map +1 -0
  256. package/es/chat-engine/core/adapters/json-render/types/index.d.ts +5 -0
  257. package/es/chat-engine/core/adapters/json-render/types/index.js +9 -0
  258. package/es/chat-engine/core/adapters/json-render/types/index.js.map +1 -0
  259. package/es/chat-engine/core/event-bus/ChatEventBus.js +1 -1
  260. package/es/chat-engine/core/event-bus/index.js +1 -1
  261. package/es/chat-engine/core/event-bus/types.js +1 -1
  262. package/es/chat-engine/core/index.d.ts +4 -4
  263. package/es/chat-engine/core/index.js +17 -11
  264. package/es/chat-engine/core/index.js.map +1 -1
  265. package/es/chat-engine/core/processor/index.js +1 -1
  266. package/es/chat-engine/core/server/batch-client.js +1 -1
  267. package/es/chat-engine/core/server/connection-manager.js +1 -1
  268. package/es/chat-engine/core/server/errors.js +1 -1
  269. package/es/chat-engine/core/server/index.js +1 -1
  270. package/es/chat-engine/core/server/llm-service.js +18 -18
  271. package/es/chat-engine/core/server/llm-service.js.map +1 -1
  272. package/es/chat-engine/core/server/sse-client.js +1 -1
  273. package/es/chat-engine/core/server/sse-parser.js +1 -1
  274. package/es/chat-engine/core/server/types.js +1 -1
  275. package/es/chat-engine/core/store/message.js +5 -1
  276. package/es/chat-engine/core/store/message.js.map +1 -1
  277. package/es/chat-engine/core/store/model.js +2 -1
  278. package/es/chat-engine/core/store/model.js.map +1 -1
  279. package/es/chat-engine/core/store/reactiveState.d.ts +4 -0
  280. package/es/chat-engine/core/store/reactiveState.js +15 -1235
  281. package/es/chat-engine/core/store/reactiveState.js.map +1 -1
  282. package/es/chat-engine/core/type.d.ts +27 -19
  283. package/es/chat-engine/core/type.js +1 -1
  284. package/es/chat-engine/core/utils/eventEmitter.js +1 -1
  285. package/es/chat-engine/core/utils/immutable-patch.d.ts +61 -0
  286. package/es/chat-engine/core/utils/immutable-patch.js +147 -0
  287. package/es/chat-engine/core/utils/immutable-patch.js.map +1 -0
  288. package/es/chat-engine/core/utils/index.d.ts +7 -2
  289. package/es/chat-engine/core/utils/index.js +9 -883
  290. package/es/chat-engine/core/utils/index.js.map +1 -1
  291. package/es/chat-engine/core/utils/json-patch/helpers.d.ts +41 -0
  292. package/es/chat-engine/core/utils/json-patch/helpers.js +164 -0
  293. package/es/chat-engine/core/utils/json-patch/helpers.js.map +1 -0
  294. package/es/chat-engine/core/utils/json-patch/index.d.ts +115 -0
  295. package/es/chat-engine/core/utils/json-patch/index.js +387 -0
  296. package/es/chat-engine/core/utils/json-patch/index.js.map +1 -0
  297. package/es/chat-engine/core/utils/logger.js +1 -1
  298. package/es/chat-engine/core/utils/performance.d.ts +94 -0
  299. package/es/chat-engine/core/utils/performance.js +205 -0
  300. package/es/chat-engine/core/utils/performance.js.map +1 -0
  301. package/es/chat-engine/hooks/index.js +21 -8
  302. package/es/chat-engine/hooks/index.js.map +1 -1
  303. package/es/chat-engine/hooks/useAgentActivity.js +10 -2
  304. package/es/chat-engine/hooks/useAgentActivity.js.map +1 -1
  305. package/es/chat-engine/hooks/useAgentState.js +17 -8
  306. package/es/chat-engine/hooks/useAgentState.js.map +1 -1
  307. package/es/chat-engine/hooks/useAgentToolcall.js +10 -2
  308. package/es/chat-engine/hooks/useAgentToolcall.js.map +1 -1
  309. package/es/chat-engine/hooks/useChat.js +17 -8
  310. package/es/chat-engine/hooks/useChat.js.map +1 -1
  311. package/es/chat-engine/hooks/useJsonRenderActivity.js +2 -2
  312. package/es/chat-engine/index.js +35 -21
  313. package/es/chat-engine/index.js.map +1 -1
  314. package/es/chat-filecard/index.js +1 -1
  315. package/es/chat-loading/index.js +1 -1
  316. package/es/chat-markdown/index.js +1 -1
  317. package/es/chat-message/index.js +1 -1
  318. package/es/chat-sender/index.js +1 -1
  319. package/es/chat-thinking/index.js +1 -1
  320. package/es/chatbot/index.js +1 -1
  321. package/es/index.js +35 -21
  322. package/es/index.js.map +1 -1
  323. package/es/style/index.js +1 -1
  324. package/package.json +7 -6
package/CHANGELOG.md CHANGED
@@ -5,6 +5,19 @@ toc: false
5
5
  spline: explain
6
6
  ---
7
7
 
8
- ## 🌈 0.1.0-alpha.1 `2025-05-26`
8
+ ## 🌈 1.0.2 `2026-02-05`
9
+
10
+ ### 🚀 Features
11
+
12
+ - `ChatEngine`:
13
+ - 支持AG-UI Activity-Snapshot/Delta事件的适配,新增useAgentActivity注册hook,并增加示例 @carolin913 ([#4119](https://github.com/Tencent/tdesign-react/pull/4119))
14
+ - 增加在无 UI 场景下使用 ChatEngine 事件总线机制,并增加示例 @carolin913 ([#4119](https://github.com/Tencent/tdesign-react/pull/4119))
15
+ - ToolCallRender 增加错误边界处理 @carolin913 ([#4119](https://github.com/Tencent/tdesign-react/pull/4119))
16
+ - AG-UI协议下几个Delta事件,支持自动初始化接收无Snapshot情况下SSE Chunk流 @carolin913 ([#4119](https://github.com/Tencent/tdesign-react/pull/4119))
17
+ - Immutable JSON Patch 性能优化,并支持append操作用来追加字符串 @carolin913 ([#4119](https://github.com/Tencent/tdesign-react/pull/4119))
18
+ - `ChatMarkdown`: 大幅优化依赖CherryMarkdown造成的打包体积膨胀问题,**不再内置highlight代码块样式高亮**,需要业务自行引入配置 @LzhengH @carolin913 ([#4119](https://github.com/Tencent/tdesign-react/pull/4119))
19
+ - `ChatSender`: 支持readyToSend可以接管发送前校验 @LzhengH ([#4119](https://github.com/Tencent/tdesign-react/pull/4119))
20
+
21
+ ## 🌈 1.0.0 `2026-11-20`
9
22
 
10
23
  - Release 1st version
package/README.md CHANGED
@@ -23,54 +23,108 @@ TDesign AIGC Components for React Framework
23
23
 
24
24
  # 📦 Installation
25
25
 
26
- ```shell
27
- npm i @tdesign-react/chat
28
- ```
26
+ ```bash
27
+ # npm
28
+ npm install @tdesign-react/chat
29
29
 
30
- ```shell
30
+ # yarn
31
31
  yarn add @tdesign-react/chat
32
- ```
33
32
 
34
- ```shell
33
+ # pnpm
35
34
  pnpm add @tdesign-react/chat
36
35
  ```
37
36
 
38
- # 🔨 Usage
37
+ **依赖要求**: React >= 18.0.0
38
+
39
+ # 🔨 Quick Start
40
+
41
+ ## 一体化组件集成
42
+
43
+ 直接使用 `ChatBot` 组件,内置完整的 UI 结构和交互逻辑,适合快速集成标准聊天界面。
39
44
 
40
45
  ```tsx
41
46
  import React from 'react';
42
47
  import { ChatBot } from '@tdesign-react/chat';
43
48
  import '@tdesign-react/chat/es/style/index.js';
44
49
 
45
- function App() {
50
+ export default function App() {
46
51
  return (
47
- <div style={{ height: '600px' }}>
48
- <ChatBot
49
- chatServiceConfig={{
50
- endpoint: 'https://your-api-endpoint.com/chat',
51
- }}
52
- />
53
- </div>
52
+ <ChatBot
53
+ chatServiceConfig={{
54
+ endpoint: 'https://your-api-endpoint.com/chat',
55
+ stream: true,
56
+ }}
57
+ />
54
58
  );
55
59
  }
60
+ ```
61
+
62
+ ## 组合式开发
63
+
64
+ 通过 `useChat` Hook 自由组合 UI 组件,适合需要深度定制 UI 结构和交互逻辑的场景。
65
+
66
+ ```tsx
67
+ import React from 'react';
68
+ import { useChat, ChatList, ChatMessage, ChatSender } from '@tdesign-react/chat';
69
+ import '@tdesign-react/chat/es/style/index.js';
56
70
 
57
- ReactDOM.createRoot(document.getElementById('app')).render(<App />);
71
+ export default function CompositeChat() {
72
+ const { chatEngine, messages, status } = useChat({
73
+ chatServiceConfig: {
74
+ endpoint: 'https://your-api-endpoint.com/chat',
75
+ stream: true,
76
+ },
77
+ });
78
+
79
+ return (
80
+ <>
81
+ <ChatList>
82
+ {messages.map((message) => (
83
+ <ChatMessage key={message.id} message={message} />
84
+ ))}
85
+ </ChatList>
86
+ <ChatSender
87
+ loading={status === 'streaming'}
88
+ onSend={(e) => chatEngine.sendUserMessage({ prompt: e.detail.value })}
89
+ onStop={() => chatEngine.abortChat()}
90
+ />
91
+ </>
92
+ );
93
+ }
58
94
  ```
59
95
 
60
- # Browser Support
96
+ ## 协议配置
61
97
 
62
- | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt="IE / Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)<br/> IE / Edge | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png" alt="Firefox" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)<br/>Firefox | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png" alt="Chrome" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)<br/>Chrome | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png" alt="Safari" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)<br/>Safari |
63
- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
64
- | Edge >=84 | Firefox >=83 | Chrome >=84 | Safari >=14.1 |
98
+ 支持**自定义协议**和**AG-UI 标准协议**两种模式:
65
99
 
66
- Read our [browser compatibility](https://github.com/Tencent/tdesign/wiki/Browser-Compatibility) for more details.
100
+ | 场景 | 推荐协议 |
101
+ | ------------------ | ---------- |
102
+ | 快速集成到现有服务 | 自定义协议 |
103
+ | 构建复杂 AI 应用 | AG-UI 协议 |
104
+ | 多工具调用场景 | AG-UI 协议 |
67
105
 
106
+ ```javascript
107
+ // 通过 onMessage 解析数据
108
+ const customConfig = {
109
+ endpoint: '/api/chat',
110
+ protocol: 'agui', // 开启 AG-UI 协议,自动解析标准事件
111
+ onMessage: (chunk) => chunk.data,
112
+ };
113
+
114
+ ```
115
+
116
+ 📖 [体验示例和完整文档](https://tdesign.tencent.com/react-chat/overview)
117
+
118
+ # Browser Support
119
+
120
+ | IE / Edge | Firefox | Chrome | Safari |
121
+ | --------- | ------------ | ----------- | ------------- |
122
+ | Edge >=84 | Firefox >=83 | Chrome >=84 | Safari >=14.1 |
68
123
 
69
124
  # Contributing
70
125
 
71
126
  Contributing is welcome. Read [guidelines for contributing](https://github.com/Tencent/tdesign-react/blob/develop/CONTRIBUTING.md) before submitting your [Pull Request](https://github.com/Tencent/tdesign-react/pulls).
72
127
 
73
-
74
128
  # Feedback
75
129
 
76
130
  Create your [Github issues](https://github.com/Tencent/tdesign-react/issues) or scan the QR code below to join our user groups
@@ -0,0 +1,438 @@
1
+ /**
2
+ * tdesign v1.1.0-alpha.11
3
+ * (c) 2026 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ import { JsonRenderActivityRenderer } from '../chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js';
8
+ import { A2UIJsonRenderActivityRenderer } from '../chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js';
9
+ import '../chat-engine/components/json-render/contexts/index.js';
10
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
11
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
12
+ import React, { useRef, useMemo, useCallback, memo } from 'react';
13
+ import { r as reactFastCompare } from './dep-5b6b17d0.js';
14
+ import { JsonRenderButton } from '../chat-engine/components/json-render/catalog/atomic/button.js';
15
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
16
+ import { Input, Space, Button } from 'tdesign-react';
17
+ import '../chat-engine/components/json-render/catalog/catalog-to-prompt.js';
18
+ import _typeof from '@babel/runtime/helpers/typeof';
19
+ import { getByPath } from '@json-render/core';
20
+ import { useDataBinding, useDataValue, useDataStore } from '../chat-engine/components/json-render/contexts/data.js';
21
+ import { JsonRenderCard } from '../chat-engine/components/json-render/catalog/atomic/card.js';
22
+ import { JsonRenderText } from '../chat-engine/components/json-render/catalog/atomic/text.js';
23
+ import { JsonRenderRow, JsonRenderCol, JsonRenderSpace, JsonRenderColumn, JsonRenderDivider } from '../chat-engine/components/json-render/catalog/atomic/layout.js';
24
+ import '../chat-engine/components/json-render/contexts/visibility.js';
25
+ import '../chat-engine/components/json-render/contexts/actions.js';
26
+ import '../chat-engine/components/json-render/contexts/validation.js';
27
+
28
+ var _excluded$2 = ["value", "defaultValue", "placeholder", "disabled", "readonly", "size", "type", "maxlength", "clearable", "status", "onChange", "onBlur", "onFocus", "onEnter", "onClear"],
29
+ _excluded2$1 = ["label", "valuePath", "placeholder", "type", "disabled", "size"];
30
+ function ownKeys$4(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
31
+ function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
32
+ var JsonRenderInput = function JsonRenderInput(_ref) {
33
+ var element = _ref.element;
34
+ var _element$props = element.props,
35
+ value = _element$props.value,
36
+ defaultValue = _element$props.defaultValue,
37
+ placeholder = _element$props.placeholder,
38
+ _element$props$disabl = _element$props.disabled,
39
+ disabled = _element$props$disabl === void 0 ? false : _element$props$disabl,
40
+ _element$props$readon = _element$props.readonly,
41
+ readonly = _element$props$readon === void 0 ? false : _element$props$readon,
42
+ _element$props$size = _element$props.size,
43
+ size = _element$props$size === void 0 ? "medium" : _element$props$size,
44
+ _element$props$type = _element$props.type,
45
+ type = _element$props$type === void 0 ? "text" : _element$props$type,
46
+ maxlength = _element$props.maxlength,
47
+ _element$props$cleara = _element$props.clearable,
48
+ clearable = _element$props$cleara === void 0 ? false : _element$props$cleara,
49
+ status = _element$props.status,
50
+ onChange = _element$props.onChange,
51
+ onBlur = _element$props.onBlur,
52
+ onFocus = _element$props.onFocus,
53
+ onEnter = _element$props.onEnter,
54
+ onClear = _element$props.onClear,
55
+ restProps = _objectWithoutProperties(_element$props, _excluded$2);
56
+ return /* @__PURE__ */React.createElement(Input, _objectSpread$4({
57
+ value: value,
58
+ defaultValue: defaultValue,
59
+ placeholder: placeholder,
60
+ disabled: disabled,
61
+ readonly: readonly,
62
+ size: size,
63
+ type: type,
64
+ maxlength: maxlength,
65
+ clearable: clearable,
66
+ status: status,
67
+ onChange: onChange,
68
+ onBlur: onBlur,
69
+ onFocus: onFocus,
70
+ onEnter: onEnter,
71
+ onClear: onClear
72
+ }, restProps));
73
+ };
74
+ JsonRenderInput.displayName = "JsonRenderInput";
75
+ var JsonRenderTextField = function JsonRenderTextField(_ref2) {
76
+ var element = _ref2.element;
77
+ var _element$props2 = element.props,
78
+ label = _element$props2.label,
79
+ valuePath = _element$props2.valuePath,
80
+ placeholder = _element$props2.placeholder,
81
+ _element$props2$type = _element$props2.type,
82
+ type = _element$props2$type === void 0 ? "text" : _element$props2$type,
83
+ _element$props2$disab = _element$props2.disabled,
84
+ disabled = _element$props2$disab === void 0 ? false : _element$props2$disab,
85
+ _element$props2$size = _element$props2.size,
86
+ size = _element$props2$size === void 0 ? "medium" : _element$props2$size,
87
+ restProps = _objectWithoutProperties(_element$props2, _excluded2$1);
88
+ var _useDataBinding = useDataBinding(valuePath),
89
+ _useDataBinding2 = _slicedToArray(_useDataBinding, 2),
90
+ _useDataBinding2$ = _useDataBinding2[0],
91
+ value = _useDataBinding2$ === void 0 ? "" : _useDataBinding2$,
92
+ setValue = _useDataBinding2[1];
93
+ if (label) {
94
+ return /* @__PURE__ */React.createElement(Space, {
95
+ direction: "vertical",
96
+ size: 4,
97
+ style: {
98
+ width: "100%"
99
+ }
100
+ }, /* @__PURE__ */React.createElement("label", {
101
+ style: {
102
+ fontSize: "14px",
103
+ fontWeight: 500
104
+ }
105
+ }, label), /* @__PURE__ */React.createElement(Input, _objectSpread$4({
106
+ value: value,
107
+ placeholder: placeholder,
108
+ type: type,
109
+ disabled: disabled,
110
+ size: size,
111
+ onChange: setValue
112
+ }, restProps)));
113
+ }
114
+ return /* @__PURE__ */React.createElement(Input, _objectSpread$4({
115
+ value: value,
116
+ placeholder: placeholder,
117
+ type: type,
118
+ disabled: disabled,
119
+ size: size,
120
+ onChange: setValue
121
+ }, restProps));
122
+ };
123
+ JsonRenderTextField.displayName = "JsonRenderTextField";
124
+
125
+ var _excluded$1 = ["valuePath", "disabledPath", "action", "disabled"];
126
+ function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
127
+ function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
128
+ function resolveActionParams(params, data) {
129
+ var maxDepth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;
130
+ var resolved = {};
131
+ var stack = [{
132
+ source: params,
133
+ target: resolved,
134
+ depth: 0
135
+ }];
136
+ while (stack.length > 0) {
137
+ var _stack$pop = stack.pop(),
138
+ source = _stack$pop.source,
139
+ target = _stack$pop.target,
140
+ depth = _stack$pop.depth;
141
+ if (depth >= maxDepth) {
142
+ Object.assign(target, source);
143
+ continue;
144
+ }
145
+ for (var _i = 0, _Object$entries = Object.entries(source); _i < _Object$entries.length; _i++) {
146
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
147
+ key = _Object$entries$_i[0],
148
+ value = _Object$entries$_i[1];
149
+ if (value && _typeof(value) === "object" && "path" in value) {
150
+ var pathValue = value.path;
151
+ target[key] = getByPath(data, pathValue);
152
+ } else if (value && _typeof(value) === "object" && !Array.isArray(value)) {
153
+ var nestedTarget = {};
154
+ target[key] = nestedTarget;
155
+ stack.push({
156
+ source: value,
157
+ target: nestedTarget,
158
+ depth: depth + 1
159
+ });
160
+ } else {
161
+ target[key] = value;
162
+ }
163
+ }
164
+ }
165
+ return resolved;
166
+ }
167
+ function A2UIBoundInner(_ref) {
168
+ var element = _ref.element,
169
+ children = _ref.children,
170
+ onAction = _ref.onAction,
171
+ WrappedComponent = _ref.WrappedComponent,
172
+ valueField = _ref.valueField,
173
+ onChangeField = _ref.onChangeField,
174
+ supportsAction = _ref.supportsAction,
175
+ actionTrigger = _ref.actionTrigger;
176
+ var _element$props = element.props,
177
+ valuePath = _element$props.valuePath,
178
+ disabledPath = _element$props.disabledPath,
179
+ action = _element$props.action,
180
+ staticDisabled = _element$props.disabled,
181
+ componentProps = _objectWithoutProperties(_element$props, _excluded$1);
182
+ var _useDataBinding = useDataBinding(valuePath),
183
+ _useDataBinding2 = _slicedToArray(_useDataBinding, 2),
184
+ boundValue = _useDataBinding2[0],
185
+ setBoundValue = _useDataBinding2[1];
186
+ var disabledValue = useDataValue(disabledPath);
187
+ var store = useDataStore();
188
+ var storeRef = useRef(store);
189
+ storeRef.current = store;
190
+ var boundDisabled = useMemo(function () {
191
+ if (disabledPath) {
192
+ return Boolean(disabledValue);
193
+ }
194
+ return staticDisabled !== null && staticDisabled !== void 0 ? staticDisabled : false;
195
+ }, [disabledPath, disabledValue, staticDisabled]);
196
+ var handleChange = useCallback(function (newValue) {
197
+ if (valuePath && setBoundValue) {
198
+ setBoundValue(newValue);
199
+ }
200
+ }, [valuePath, setBoundValue]);
201
+ var handleAction = useCallback(function () {
202
+ if (!action || !onAction) return;
203
+ var actionObj = typeof action === "string" ? {
204
+ name: action,
205
+ params: {}
206
+ } : action;
207
+ var currentData = storeRef.current.getData();
208
+ var resolvedParams = actionObj.params ? resolveActionParams(actionObj.params, currentData) : {};
209
+ var resolvedAction = {
210
+ name: actionObj.name,
211
+ params: resolvedParams
212
+ };
213
+ onAction(resolvedAction);
214
+ }, [action, onAction]);
215
+ var finalProps = useMemo(function () {
216
+ var props = _objectSpread$3(_objectSpread$3({}, componentProps), {}, {
217
+ disabled: boundDisabled
218
+ });
219
+ if (valuePath !== void 0) {
220
+ props[valueField] = boundValue;
221
+ props[onChangeField] = handleChange;
222
+ }
223
+ if (supportsAction && action) {
224
+ var originalHandler = componentProps[actionTrigger];
225
+ props[actionTrigger] = function () {
226
+ if (typeof originalHandler === "function") {
227
+ originalHandler.apply(void 0, arguments);
228
+ }
229
+ handleAction();
230
+ };
231
+ }
232
+ return props;
233
+ }, [componentProps, boundDisabled, valuePath, valueField, boundValue, onChangeField, handleChange, supportsAction, action, actionTrigger, handleAction]);
234
+ return /* @__PURE__ */React.createElement(WrappedComponent, _objectSpread$3({}, finalProps), children);
235
+ }
236
+ function withA2UIBinding(WrappedComponent) {
237
+ var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
238
+ var _config$valueField = config.valueField,
239
+ valueField = _config$valueField === void 0 ? "value" : _config$valueField,
240
+ _config$onChangeField = config.onChangeField,
241
+ onChangeField = _config$onChangeField === void 0 ? "onChange" : _config$onChangeField,
242
+ _config$supportsActio = config.supportsAction,
243
+ supportsAction = _config$supportsActio === void 0 ? false : _config$supportsActio,
244
+ _config$actionTrigger = config.actionTrigger,
245
+ actionTrigger = _config$actionTrigger === void 0 ? "onClick" : _config$actionTrigger;
246
+ var A2UIBoundComponent = function A2UIBoundComponent(props) {
247
+ return /* @__PURE__ */React.createElement(A2UIBoundInner, _objectSpread$3(_objectSpread$3({}, props), {}, {
248
+ WrappedComponent: WrappedComponent,
249
+ valueField: valueField,
250
+ onChangeField: onChangeField,
251
+ supportsAction: supportsAction,
252
+ actionTrigger: actionTrigger
253
+ }));
254
+ };
255
+ A2UIBoundComponent.displayName = "withA2UIBinding(".concat(WrappedComponent.displayName || WrappedComponent.name || "Component", ")");
256
+ return /*#__PURE__*/memo(A2UIBoundComponent, function (prevProps, nextProps) {
257
+ if (prevProps.element === nextProps.element) return true;
258
+ var prevEl = prevProps.element;
259
+ var nextEl = nextProps.element;
260
+ if (prevEl.type !== nextEl.type) return false;
261
+ if (prevEl.key !== nextEl.key) return false;
262
+ var prevElProps = prevEl.props || {};
263
+ var nextElProps = nextEl.props || {};
264
+ var prevKeys = Object.keys(prevElProps);
265
+ var nextKeys = Object.keys(nextElProps);
266
+ if (prevKeys.length !== nextKeys.length) return false;
267
+ for (var _i2 = 0, _prevKeys = prevKeys; _i2 < _prevKeys.length; _i2++) {
268
+ var key = _prevKeys[_i2];
269
+ if (prevElProps[key] !== nextElProps[key]) return false;
270
+ }
271
+ return true;
272
+ });
273
+ }
274
+
275
+ var _excluded = ["label"],
276
+ _excluded2 = ["label", "children"];
277
+ function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
278
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
279
+ var BaseInput = function BaseInput(_ref) {
280
+ var label = _ref.label,
281
+ props = _objectWithoutProperties(_ref, _excluded);
282
+ if (label) {
283
+ return /* @__PURE__ */React.createElement(Space, {
284
+ direction: "vertical",
285
+ size: 4,
286
+ style: {
287
+ width: "100%"
288
+ }
289
+ }, /* @__PURE__ */React.createElement("label", {
290
+ style: {
291
+ fontSize: "14px",
292
+ fontWeight: 500
293
+ }
294
+ }, label), /* @__PURE__ */React.createElement(Input, _objectSpread$2({}, props)));
295
+ }
296
+ return /* @__PURE__ */React.createElement(Input, _objectSpread$2({}, props));
297
+ };
298
+ BaseInput.displayName = "BaseInput";
299
+ var BaseButton = function BaseButton(_ref2) {
300
+ var label = _ref2.label,
301
+ children = _ref2.children,
302
+ props = _objectWithoutProperties(_ref2, _excluded2);
303
+ var content = label || children;
304
+ return /* @__PURE__ */React.createElement(Button, _objectSpread$2({}, props), content);
305
+ };
306
+ BaseButton.displayName = "BaseButton";
307
+ var A2UITextField = withA2UIBinding(BaseInput, {
308
+ valueField: "value",
309
+ onChangeField: "onChange",
310
+ supportsAction: false
311
+ });
312
+ var A2UIButton = withA2UIBinding(BaseButton, {
313
+ supportsAction: true
314
+ });
315
+ var a2uiRegistry = {
316
+ TextField: A2UITextField,
317
+ Button: A2UIButton,
318
+ Card: JsonRenderCard,
319
+ Text: JsonRenderText,
320
+ Row: JsonRenderRow,
321
+ Col: JsonRenderCol,
322
+ Space: JsonRenderSpace,
323
+ Column: JsonRenderColumn,
324
+ Divider: JsonRenderDivider
325
+ };
326
+ function createA2UIRegistry(customComponents) {
327
+ return _objectSpread$2(_objectSpread$2({}, a2uiRegistry), customComponents);
328
+ }
329
+
330
+ function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
331
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
332
+ function createJsonRenderActivityConfig() {
333
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
334
+ var _options$activityType = options.activityType,
335
+ activityType = _options$activityType === void 0 ? "json-render" : _options$activityType,
336
+ _options$registry = options.registry,
337
+ registry = _options$registry === void 0 ? tdesignRegistry : _options$registry,
338
+ _options$actionHandle = options.actionHandlers,
339
+ actionHandlers = _options$actionHandle === void 0 ? {} : _options$actionHandle,
340
+ _options$debug = options.debug,
341
+ debug = _options$debug === void 0 ? false : _options$debug,
342
+ _options$description = options.description,
343
+ description = _options$description === void 0 ? "json-render \u52A8\u6001 UI \u6E32\u67D3\u5668" : _options$description;
344
+ return {
345
+ activityType: activityType,
346
+ component: /*#__PURE__*/React.memo(function (props) {
347
+ return /* @__PURE__ */React.createElement(JsonRenderActivityRenderer, _objectSpread$1(_objectSpread$1({}, props), {}, {
348
+ registry: registry,
349
+ actionHandlers: actionHandlers,
350
+ debug: debug
351
+ }));
352
+ }),
353
+ description: description
354
+ };
355
+ }
356
+ function createA2UIJsonRenderActivityConfig() {
357
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
358
+ var _options$activityType2 = options.activityType,
359
+ activityType = _options$activityType2 === void 0 ? "a2ui-json-render" : _options$activityType2,
360
+ _options$registry2 = options.registry,
361
+ registry = _options$registry2 === void 0 ? a2uiRegistry : _options$registry2,
362
+ _options$actionHandle2 = options.actionHandlers,
363
+ actionHandlers = _options$actionHandle2 === void 0 ? {} : _options$actionHandle2,
364
+ _options$debug2 = options.debug,
365
+ debug = _options$debug2 === void 0 ? false : _options$debug2,
366
+ _options$description2 = options.description,
367
+ description = _options$description2 === void 0 ? "A2UI + json-render \u9002\u914D\u6E32\u67D3\u5668" : _options$description2;
368
+ return {
369
+ activityType: activityType,
370
+ component: /*#__PURE__*/React.memo(function (props) {
371
+ return /* @__PURE__ */React.createElement(A2UIJsonRenderActivityRenderer, _objectSpread$1(_objectSpread$1({}, props), {}, {
372
+ registry: registry,
373
+ actionHandlers: actionHandlers,
374
+ debug: debug
375
+ }));
376
+ }),
377
+ description: description
378
+ };
379
+ }
380
+
381
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
382
+ 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; }
383
+ function withStableProps(Component) {
384
+ return /*#__PURE__*/React.memo(Component, function (prevProps, nextProps) {
385
+ var prevElement = prevProps.element;
386
+ var nextElement = nextProps.element;
387
+ if (prevProps.children !== nextProps.children) {
388
+ return false;
389
+ }
390
+ if (prevElement === nextElement) return true;
391
+ if (prevElement.id !== nextElement.id || prevElement.type !== nextElement.type) {
392
+ return false;
393
+ }
394
+ return reactFastCompare(prevElement.props, nextElement.props);
395
+ });
396
+ }
397
+ var tdesignRegistry = {
398
+ Button: JsonRenderButton,
399
+ Input: JsonRenderInput,
400
+ TextField: JsonRenderTextField,
401
+ Card: JsonRenderCard,
402
+ Text: JsonRenderText,
403
+ Row: JsonRenderRow,
404
+ Col: JsonRenderCol,
405
+ Space: JsonRenderSpace,
406
+ Column: JsonRenderColumn,
407
+ Divider: JsonRenderDivider,
408
+ button: JsonRenderButton,
409
+ input: JsonRenderInput,
410
+ textfield: JsonRenderTextField,
411
+ card: JsonRenderCard,
412
+ text: JsonRenderText,
413
+ row: JsonRenderRow,
414
+ col: JsonRenderCol,
415
+ space: JsonRenderSpace,
416
+ column: JsonRenderColumn,
417
+ divider: JsonRenderDivider
418
+ };
419
+ function createCustomRegistry(customComponents) {
420
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
421
+ var _options$enableStable = options.enableStableProps,
422
+ enableStableProps = _options$enableStable === void 0 ? false : _options$enableStable;
423
+ var processedComponents = {};
424
+ if (enableStableProps) {
425
+ for (var _i = 0, _Object$entries = Object.entries(customComponents); _i < _Object$entries.length; _i++) {
426
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
427
+ name = _Object$entries$_i[0],
428
+ Component = _Object$entries$_i[1];
429
+ processedComponents[name] = withStableProps(Component);
430
+ }
431
+ } else {
432
+ Object.assign(processedComponents, customComponents);
433
+ }
434
+ return _objectSpread(_objectSpread({}, tdesignRegistry), processedComponents);
435
+ }
436
+
437
+ export { A2UITextField as A, JsonRenderInput as J, a2uiRegistry as a, createA2UIRegistry as b, createCustomRegistry as c, A2UIButton as d, withA2UIBinding as e, createJsonRenderActivityConfig as f, createA2UIJsonRenderActivityConfig as g, JsonRenderTextField as h, tdesignRegistry as t, withStableProps as w };
438
+ //# sourceMappingURL=dep-076af7c3.js.map