@tdesign-react/chat 1.0.2-alpha.9 → 1.1.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (303) hide show
  1. package/es/_chunks/dep-f2051ebd.js +839 -0
  2. package/es/_chunks/dep-f2051ebd.js.map +1 -0
  3. package/es/_util/reactify.js +1 -1
  4. package/es/_util/useDynamicStyle.js +1 -1
  5. package/es/attachments/index.js +1 -1
  6. package/es/chat-actionbar/index.js +1 -1
  7. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.d.ts +196 -0
  8. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js +301 -0
  9. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js.map +1 -0
  10. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.d.ts +37 -0
  11. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js +116 -0
  12. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js.map +1 -0
  13. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.d.ts +42 -0
  14. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js +113 -0
  15. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js.map +1 -0
  16. package/es/chat-engine/components/a2ui/A2UISkeleton.d.ts +60 -0
  17. package/es/chat-engine/components/a2ui/A2UISkeleton.js +197 -0
  18. package/es/chat-engine/components/a2ui/A2UISkeleton.js.map +1 -0
  19. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.d.ts +44 -0
  20. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js +139 -0
  21. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js.map +1 -0
  22. package/es/chat-engine/components/a2ui/containers/A2UICard.d.ts +22 -0
  23. package/es/chat-engine/components/a2ui/containers/A2UICard.js +82 -0
  24. package/es/chat-engine/components/a2ui/containers/A2UICard.js.map +1 -0
  25. package/es/chat-engine/components/a2ui/containers/A2UIColumn.d.ts +18 -0
  26. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js +81 -0
  27. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js.map +1 -0
  28. package/es/chat-engine/components/a2ui/containers/A2UIList.d.ts +14 -0
  29. package/es/chat-engine/components/a2ui/containers/A2UIList.js +62 -0
  30. package/es/chat-engine/components/a2ui/containers/A2UIList.js.map +1 -0
  31. package/es/chat-engine/components/a2ui/containers/A2UIRow.d.ts +20 -0
  32. package/es/chat-engine/components/a2ui/containers/A2UIRow.js +84 -0
  33. package/es/chat-engine/components/a2ui/containers/A2UIRow.js.map +1 -0
  34. package/es/chat-engine/components/a2ui/containers/A2UITabs.d.ts +14 -0
  35. package/es/chat-engine/components/a2ui/containers/A2UITabs.js +69 -0
  36. package/es/chat-engine/components/a2ui/containers/A2UITabs.js.map +1 -0
  37. package/es/chat-engine/components/a2ui/containers/index.d.ts +8 -0
  38. package/es/chat-engine/components/a2ui/containers/index.js +30 -0
  39. package/es/chat-engine/components/a2ui/containers/index.js.map +1 -0
  40. package/es/chat-engine/components/a2ui/index.d.ts +11 -0
  41. package/es/chat-engine/components/a2ui/index.js +62 -0
  42. package/es/chat-engine/components/a2ui/index.js.map +1 -0
  43. package/es/chat-engine/components/a2ui/primitives/A2UIButton.d.ts +33 -0
  44. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js +80 -0
  45. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js.map +1 -0
  46. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.d.ts +12 -0
  47. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js +43 -0
  48. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js.map +1 -0
  49. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.d.ts +50 -0
  50. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js +54 -0
  51. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js.map +1 -0
  52. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.d.ts +13 -0
  53. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js +89 -0
  54. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js.map +1 -0
  55. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.d.ts +12 -0
  56. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js +25 -0
  57. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js.map +1 -0
  58. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.d.ts +13 -0
  59. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js +138942 -0
  60. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js.map +1 -0
  61. package/es/chat-engine/components/a2ui/primitives/A2UIImage.d.ts +12 -0
  62. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js +75 -0
  63. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js.map +1 -0
  64. package/es/chat-engine/components/a2ui/primitives/A2UIInput.d.ts +20 -0
  65. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js +63 -0
  66. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js.map +1 -0
  67. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.d.ts +56 -0
  68. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js +64 -0
  69. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js.map +1 -0
  70. package/es/chat-engine/components/a2ui/primitives/A2UISlider.d.ts +12 -0
  71. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js +55 -0
  72. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js.map +1 -0
  73. package/es/chat-engine/components/a2ui/primitives/A2UIText.d.ts +12 -0
  74. package/es/chat-engine/components/a2ui/primitives/A2UIText.js +104 -0
  75. package/es/chat-engine/components/a2ui/primitives/A2UIText.js.map +1 -0
  76. package/es/chat-engine/components/a2ui/primitives/A2UITextField.d.ts +12 -0
  77. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js +80 -0
  78. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js.map +1 -0
  79. package/es/chat-engine/components/a2ui/primitives/index.d.ts +15 -0
  80. package/es/chat-engine/components/a2ui/primitives/index.js +39 -0
  81. package/es/chat-engine/components/a2ui/primitives/index.js.map +1 -0
  82. package/es/chat-engine/components/a2ui/registry.d.ts +35 -0
  83. package/es/chat-engine/components/a2ui/registry.js +74 -0
  84. package/es/chat-engine/components/a2ui/registry.js.map +1 -0
  85. package/es/chat-engine/components/activity/index.js +1 -1
  86. package/es/chat-engine/components/activity/registry.d.ts +1 -1
  87. package/es/chat-engine/components/activity/registry.js +1 -1
  88. package/es/chat-engine/components/activity/registry.js.map +1 -1
  89. package/es/chat-engine/components/activity/render.d.ts +2 -2
  90. package/es/chat-engine/components/activity/render.js +1 -1
  91. package/es/chat-engine/components/activity/render.js.map +1 -1
  92. package/es/chat-engine/components/activity/types.js +1 -1
  93. package/es/chat-engine/components/index.d.ts +1 -0
  94. package/es/chat-engine/components/index.js +57 -9
  95. package/es/chat-engine/components/index.js.map +1 -1
  96. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.d.ts +36 -0
  97. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js +36 -0
  98. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js.map +1 -0
  99. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.d.ts +46 -0
  100. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js +36 -0
  101. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js.map +1 -0
  102. package/es/chat-engine/components/json-render/SurfaceStateManager.d.ts +113 -0
  103. package/es/chat-engine/components/json-render/SurfaceStateManager.js +195 -0
  104. package/es/chat-engine/components/json-render/SurfaceStateManager.js.map +1 -0
  105. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.d.ts +49 -0
  106. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js +307 -0
  107. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js.map +1 -0
  108. package/es/chat-engine/components/json-render/adapters/a2ui-types.d.ts +96 -0
  109. package/es/chat-engine/components/json-render/adapters/a2ui-types.js +7 -0
  110. package/es/chat-engine/components/json-render/adapters/a2ui-types.js.map +1 -0
  111. package/es/chat-engine/components/json-render/adapters/index.d.ts +7 -0
  112. package/es/chat-engine/components/json-render/adapters/index.js +11 -0
  113. package/es/chat-engine/components/json-render/adapters/index.js.map +1 -0
  114. package/es/chat-engine/components/json-render/catalog/a2ui-binding.d.ts +64 -0
  115. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js +36 -0
  116. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js.map +1 -0
  117. package/es/chat-engine/components/json-render/catalog/a2ui-registry.d.ts +78 -0
  118. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js +36 -0
  119. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js.map +1 -0
  120. package/es/chat-engine/components/json-render/catalog/button.d.ts +14 -0
  121. package/es/chat-engine/components/json-render/catalog/button.js +71 -0
  122. package/es/chat-engine/components/json-render/catalog/button.js.map +1 -0
  123. package/es/chat-engine/components/json-render/catalog/card.d.ts +11 -0
  124. package/es/chat-engine/components/json-render/catalog/card.js +57 -0
  125. package/es/chat-engine/components/json-render/catalog/card.js.map +1 -0
  126. package/es/chat-engine/components/json-render/catalog/index.d.ts +127 -0
  127. package/es/chat-engine/components/json-render/catalog/index.js +36 -0
  128. package/es/chat-engine/components/json-render/catalog/index.js.map +1 -0
  129. package/es/chat-engine/components/json-render/catalog/input.d.ts +20 -0
  130. package/es/chat-engine/components/json-render/catalog/input.js +36 -0
  131. package/es/chat-engine/components/json-render/catalog/input.js.map +1 -0
  132. package/es/chat-engine/components/json-render/catalog/layout.d.ts +44 -0
  133. package/es/chat-engine/components/json-render/catalog/layout.js +129 -0
  134. package/es/chat-engine/components/json-render/catalog/layout.js.map +1 -0
  135. package/es/chat-engine/components/json-render/catalog/text.d.ts +11 -0
  136. package/es/chat-engine/components/json-render/catalog/text.js +31 -0
  137. package/es/chat-engine/components/json-render/catalog/text.js.map +1 -0
  138. package/es/chat-engine/components/json-render/catalog.d.ts +549 -0
  139. package/es/chat-engine/components/json-render/catalog.js +147 -0
  140. package/es/chat-engine/components/json-render/catalog.js.map +1 -0
  141. package/es/chat-engine/components/json-render/config.d.ts +154 -0
  142. package/es/chat-engine/components/json-render/config.js +36 -0
  143. package/es/chat-engine/components/json-render/config.js.map +1 -0
  144. package/es/chat-engine/components/json-render/contexts/actions.d.ts +74 -0
  145. package/es/chat-engine/components/json-render/contexts/actions.js +290 -0
  146. package/es/chat-engine/components/json-render/contexts/actions.js.map +1 -0
  147. package/es/chat-engine/components/json-render/contexts/data.d.ts +45 -0
  148. package/es/chat-engine/components/json-render/contexts/data.js +104 -0
  149. package/es/chat-engine/components/json-render/contexts/data.js.map +1 -0
  150. package/es/chat-engine/components/json-render/contexts/validation.d.ts +59 -0
  151. package/es/chat-engine/components/json-render/contexts/validation.js +151 -0
  152. package/es/chat-engine/components/json-render/contexts/validation.js.map +1 -0
  153. package/es/chat-engine/components/json-render/contexts/visibility.d.ts +29 -0
  154. package/es/chat-engine/components/json-render/contexts/visibility.js +56 -0
  155. package/es/chat-engine/components/json-render/contexts/visibility.js.map +1 -0
  156. package/es/chat-engine/components/json-render/engine.d.ts +58 -0
  157. package/es/chat-engine/components/json-render/engine.js +88 -0
  158. package/es/chat-engine/components/json-render/engine.js.map +1 -0
  159. package/es/chat-engine/components/json-render/index.d.ts +34 -0
  160. package/es/chat-engine/components/json-render/index.js +36 -0
  161. package/es/chat-engine/components/json-render/index.js.map +1 -0
  162. package/es/chat-engine/components/json-render/performance.d.ts +91 -0
  163. package/es/chat-engine/components/json-render/performance.js +135 -0
  164. package/es/chat-engine/components/json-render/performance.js.map +1 -0
  165. package/es/chat-engine/components/json-render/renderer.d.ts +71 -0
  166. package/es/chat-engine/components/json-render/renderer.js +124 -0
  167. package/es/chat-engine/components/json-render/renderer.js.map +1 -0
  168. package/es/chat-engine/components/json-render/types.d.ts +69 -0
  169. package/es/chat-engine/components/json-render/types.js +7 -0
  170. package/es/chat-engine/components/json-render/types.js.map +1 -0
  171. package/es/chat-engine/components/provider/agent-state.js +39 -2
  172. package/es/chat-engine/components/provider/agent-state.js.map +1 -1
  173. package/es/chat-engine/components/toolcall/index.js +32 -2
  174. package/es/chat-engine/components/toolcall/index.js.map +1 -1
  175. package/es/chat-engine/components/toolcall/registry.js +1 -1
  176. package/es/chat-engine/components/toolcall/render.d.ts +1 -1
  177. package/es/chat-engine/components/toolcall/render.js +33 -4
  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/a2ui/index.d.ts +10 -0
  181. package/es/chat-engine/core/a2ui/index.js +24 -0
  182. package/es/chat-engine/core/a2ui/index.js.map +1 -0
  183. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
  184. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js +438 -0
  185. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
  186. package/es/chat-engine/core/a2ui/processor/ComponentTree.d.ts +53 -0
  187. package/es/chat-engine/core/a2ui/processor/ComponentTree.js +158 -0
  188. package/es/chat-engine/core/a2ui/processor/ComponentTree.js.map +1 -0
  189. package/es/chat-engine/core/a2ui/processor/DataStore.d.ts +63 -0
  190. package/es/chat-engine/core/a2ui/processor/DataStore.js +172 -0
  191. package/es/chat-engine/core/a2ui/processor/DataStore.js.map +1 -0
  192. package/es/chat-engine/core/a2ui/processor/PathResolver.d.ts +47 -0
  193. package/es/chat-engine/core/a2ui/processor/PathResolver.js +99 -0
  194. package/es/chat-engine/core/a2ui/processor/PathResolver.js.map +1 -0
  195. package/es/chat-engine/core/a2ui/types/index.d.ts +4 -0
  196. package/es/chat-engine/core/a2ui/types/index.js +9 -0
  197. package/es/chat-engine/core/a2ui/types/index.js.map +1 -0
  198. package/es/chat-engine/core/a2ui/types/types.d.ts +770 -0
  199. package/es/chat-engine/core/a2ui/types/types.js +104 -0
  200. package/es/chat-engine/core/a2ui/types/types.js.map +1 -0
  201. package/es/chat-engine/core/a2ui/utils/binding.d.ts +34 -0
  202. package/es/chat-engine/core/a2ui/utils/binding.js +1784 -0
  203. package/es/chat-engine/core/a2ui/utils/binding.js.map +1 -0
  204. package/es/chat-engine/core/a2ui/utils/index.d.ts +5 -0
  205. package/es/chat-engine/core/a2ui/utils/index.js +13 -0
  206. package/es/chat-engine/core/a2ui/utils/index.js.map +1 -0
  207. package/es/chat-engine/core/a2ui/utils/validation.d.ts +70 -0
  208. package/es/chat-engine/core/a2ui/utils/validation.js +333 -0
  209. package/es/chat-engine/core/a2ui/utils/validation.js.map +1 -0
  210. package/es/chat-engine/core/adapters/agui/activity-manager.d.ts +102 -0
  211. package/es/chat-engine/core/adapters/agui/activity-manager.js +144 -0
  212. package/es/chat-engine/core/adapters/agui/activity-manager.js.map +1 -0
  213. package/es/chat-engine/core/adapters/agui/event-mapper.d.ts +42 -2
  214. package/es/chat-engine/core/adapters/agui/event-mapper.js +90 -50
  215. package/es/chat-engine/core/adapters/agui/event-mapper.js.map +1 -1
  216. package/es/chat-engine/core/adapters/agui/events.d.ts +222 -222
  217. package/es/chat-engine/core/adapters/agui/events.js +34 -34
  218. package/es/chat-engine/core/adapters/agui/events.js.map +1 -1
  219. package/es/chat-engine/core/adapters/agui/index.d.ts +22 -2
  220. package/es/chat-engine/core/adapters/agui/index.js +34 -14
  221. package/es/chat-engine/core/adapters/agui/index.js.map +1 -1
  222. package/es/chat-engine/core/adapters/agui/state-manager.js +1 -1
  223. package/es/chat-engine/core/adapters/agui/types.d.ts +57 -56
  224. package/es/chat-engine/core/adapters/agui/types.js +5 -5
  225. package/es/chat-engine/core/adapters/agui/types.js.map +1 -1
  226. package/es/chat-engine/core/adapters/agui/utils.d.ts +9 -3
  227. package/es/chat-engine/core/adapters/agui/utils.js +23 -4
  228. package/es/chat-engine/core/adapters/agui/utils.js.map +1 -1
  229. package/es/chat-engine/core/event-bus/ChatEventBus.d.ts +88 -0
  230. package/es/chat-engine/core/event-bus/ChatEventBus.js +295 -0
  231. package/es/chat-engine/core/event-bus/ChatEventBus.js.map +1 -0
  232. package/es/chat-engine/core/event-bus/index.d.ts +5 -0
  233. package/es/chat-engine/core/event-bus/index.js +13 -0
  234. package/es/chat-engine/core/event-bus/index.js.map +1 -0
  235. package/es/chat-engine/core/event-bus/types.d.ts +230 -0
  236. package/es/chat-engine/core/event-bus/types.js +32 -0
  237. package/es/chat-engine/core/event-bus/types.js.map +1 -0
  238. package/es/chat-engine/core/index.d.ts +16 -1
  239. package/es/chat-engine/core/index.js +174 -17
  240. package/es/chat-engine/core/index.js.map +1 -1
  241. package/es/chat-engine/core/processor/index.js +1 -1
  242. package/es/chat-engine/core/server/batch-client.js +1 -1
  243. package/es/chat-engine/core/server/connection-manager.js +1 -1
  244. package/es/chat-engine/core/server/errors.js +1 -1
  245. package/es/chat-engine/core/server/index.js +1 -1
  246. package/es/chat-engine/core/server/llm-service.js +17 -15
  247. package/es/chat-engine/core/server/llm-service.js.map +1 -1
  248. package/es/chat-engine/core/server/sse-client.js +1 -1
  249. package/es/chat-engine/core/server/sse-parser.js +1 -1
  250. package/es/chat-engine/core/server/types.js +1 -1
  251. package/es/chat-engine/core/store/message.js +2 -2
  252. package/es/chat-engine/core/store/message.js.map +1 -1
  253. package/es/chat-engine/core/store/model.js +1 -1
  254. package/es/chat-engine/core/store/reactiveState.js +1 -1
  255. package/es/chat-engine/core/type.d.ts +18 -2
  256. package/es/chat-engine/core/type.js +1 -1
  257. package/es/chat-engine/core/utils/eventEmitter.js +1 -1
  258. package/es/chat-engine/core/utils/index.js +1 -1
  259. package/es/chat-engine/core/utils/logger.js +1 -1
  260. package/es/chat-engine/hooks/a2ui/A2UIContext.d.ts +90 -0
  261. package/es/chat-engine/hooks/a2ui/A2UIContext.js +97 -0
  262. package/es/chat-engine/hooks/a2ui/A2UIContext.js.map +1 -0
  263. package/es/chat-engine/hooks/a2ui/index.d.ts +12 -0
  264. package/es/chat-engine/hooks/a2ui/index.js +19 -0
  265. package/es/chat-engine/hooks/a2ui/index.js.map +1 -0
  266. package/es/chat-engine/hooks/a2ui/useA2UIAction.d.ts +40 -0
  267. package/es/chat-engine/hooks/a2ui/useA2UIAction.js +74 -0
  268. package/es/chat-engine/hooks/a2ui/useA2UIAction.js.map +1 -0
  269. package/es/chat-engine/hooks/a2ui/useA2UISurface.d.ts +36 -0
  270. package/es/chat-engine/hooks/a2ui/useA2UISurface.js +39 -0
  271. package/es/chat-engine/hooks/a2ui/useA2UISurface.js.map +1 -0
  272. package/es/chat-engine/hooks/a2ui/useDataBinding.d.ts +53 -0
  273. package/es/chat-engine/hooks/a2ui/useDataBinding.js +111 -0
  274. package/es/chat-engine/hooks/a2ui/useDataBinding.js.map +1 -0
  275. package/es/chat-engine/hooks/index.js +38 -4
  276. package/es/chat-engine/hooks/index.js.map +1 -1
  277. package/es/chat-engine/hooks/useAgentActivity.d.ts +1 -2
  278. package/es/chat-engine/hooks/useAgentActivity.js +1 -1
  279. package/es/chat-engine/hooks/useAgentActivity.js.map +1 -1
  280. package/es/chat-engine/hooks/useAgentState.js +39 -2
  281. package/es/chat-engine/hooks/useAgentState.js.map +1 -1
  282. package/es/chat-engine/hooks/useAgentToolcall.js +1 -1
  283. package/es/chat-engine/hooks/useChat.d.ts +3 -3
  284. package/es/chat-engine/hooks/useChat.js +40 -2
  285. package/es/chat-engine/hooks/useChat.js.map +1 -1
  286. package/es/chat-engine/hooks/useJsonRenderActivity.d.ts +56 -0
  287. package/es/chat-engine/hooks/useJsonRenderActivity.js +63 -0
  288. package/es/chat-engine/hooks/useJsonRenderActivity.js.map +1 -0
  289. package/es/chat-engine/index.d.ts +1 -3
  290. package/es/chat-engine/index.js +30 -8
  291. package/es/chat-engine/index.js.map +1 -1
  292. package/es/chat-filecard/index.js +1 -1
  293. package/es/chat-loading/index.js +1 -1
  294. package/es/chat-markdown/index.js +1 -1
  295. package/es/chat-message/index.js +1 -1
  296. package/es/chat-sender/index.js +1 -1
  297. package/es/chat-thinking/index.js +1 -1
  298. package/es/chatbot/docs/react-best-practice.d.ts +13 -0
  299. package/es/chatbot/index.js +1 -1
  300. package/es/index.js +27 -5
  301. package/es/index.js.map +1 -1
  302. package/es/style/index.js +1 -1
  303. package/package.json +6 -3
@@ -0,0 +1,839 @@
1
+ /**
2
+ * tdesign v1.0.2-alpha.15
3
+ * (c) 2026 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ import React, { useMemo, useEffect, useState, useCallback, useRef, memo } from 'react';
8
+ import _typeof from '@babel/runtime/helpers/typeof';
9
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
10
+ import '../chat-engine/components/json-render/adapters/index.js';
11
+ import { surfaceStateManager } from '../chat-engine/components/json-render/SurfaceStateManager.js';
12
+ import { convertA2UIMessagesToJsonRender } from '../chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js';
13
+ import '../chat-engine/components/json-render/engine.js';
14
+ import '../chat-engine/components/json-render/performance.js';
15
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
16
+ import { JsonRenderButton } from '../chat-engine/components/json-render/catalog/button.js';
17
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
18
+ import { Input, Space, Button } from 'tdesign-react';
19
+ import { getByPath } from '@json-render/core';
20
+ import { DataProvider, useData } from '../chat-engine/components/json-render/contexts/data.js';
21
+ import { JsonRenderCard } from '../chat-engine/components/json-render/catalog/card.js';
22
+ import { JsonRenderText } from '../chat-engine/components/json-render/catalog/text.js';
23
+ import { JsonRenderRow, JsonRenderCol, JsonRenderSpace, JsonRenderColumn, JsonRenderDivider } from '../chat-engine/components/json-render/catalog/layout.js';
24
+ import '../chat-engine/components/json-render/catalog.js';
25
+ import { VisibilityProvider } from '../chat-engine/components/json-render/contexts/visibility.js';
26
+ import { ActionProvider } from '../chat-engine/components/json-render/contexts/actions.js';
27
+ import '../chat-engine/components/json-render/contexts/validation.js';
28
+ import { Renderer } from '../chat-engine/components/json-render/renderer.js';
29
+
30
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
31
+
32
+ function getDefaultExportFromCjs (x) {
33
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
34
+ }
35
+
36
+ function getDefaultExportFromNamespaceIfPresent (n) {
37
+ return n && Object.prototype.hasOwnProperty.call(n, 'default') ? n['default'] : n;
38
+ }
39
+
40
+ function getDefaultExportFromNamespaceIfNotNamed (n) {
41
+ return n && Object.prototype.hasOwnProperty.call(n, 'default') && Object.keys(n).length === 1 ? n['default'] : n;
42
+ }
43
+
44
+ function getAugmentedNamespace(n) {
45
+ if (n.__esModule) return n;
46
+ var a = Object.defineProperty({}, '__esModule', {value: true});
47
+ Object.keys(n).forEach(function (k) {
48
+ var d = Object.getOwnPropertyDescriptor(n, k);
49
+ Object.defineProperty(a, k, d.get ? d : {
50
+ enumerable: true,
51
+ get: function () {
52
+ return n[k];
53
+ }
54
+ });
55
+ });
56
+ return a;
57
+ }
58
+
59
+ function commonjsRequire (path) {
60
+ throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
61
+ }
62
+
63
+ var hasElementType = typeof Element !== 'undefined';
64
+ var hasMap = typeof Map === 'function';
65
+ var hasSet = typeof Set === 'function';
66
+ var hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;
67
+
68
+ // Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js
69
+
70
+ function equal(a, b) {
71
+ // START: fast-deep-equal es6/index.js 3.1.3
72
+ if (a === b) return true;
73
+ if (a && b && _typeof(a) == 'object' && _typeof(b) == 'object') {
74
+ if (a.constructor !== b.constructor) return false;
75
+ var length, i, keys;
76
+ if (Array.isArray(a)) {
77
+ length = a.length;
78
+ if (length != b.length) return false;
79
+ for (i = length; i-- !== 0;) if (!equal(a[i], b[i])) return false;
80
+ return true;
81
+ }
82
+
83
+ // START: Modifications:
84
+ // 1. Extra `has<Type> &&` helpers in initial condition allow es6 code
85
+ // to co-exist with es5.
86
+ // 2. Replace `for of` with es5 compliant iteration using `for`.
87
+ // Basically, take:
88
+ //
89
+ // ```js
90
+ // for (i of a.entries())
91
+ // if (!b.has(i[0])) return false;
92
+ // ```
93
+ //
94
+ // ... and convert to:
95
+ //
96
+ // ```js
97
+ // it = a.entries();
98
+ // while (!(i = it.next()).done)
99
+ // if (!b.has(i.value[0])) return false;
100
+ // ```
101
+ //
102
+ // **Note**: `i` access switches to `i.value`.
103
+ var it;
104
+ if (hasMap && a instanceof Map && b instanceof Map) {
105
+ if (a.size !== b.size) return false;
106
+ it = a.entries();
107
+ while (!(i = it.next()).done) if (!b.has(i.value[0])) return false;
108
+ it = a.entries();
109
+ while (!(i = it.next()).done) if (!equal(i.value[1], b.get(i.value[0]))) return false;
110
+ return true;
111
+ }
112
+ if (hasSet && a instanceof Set && b instanceof Set) {
113
+ if (a.size !== b.size) return false;
114
+ it = a.entries();
115
+ while (!(i = it.next()).done) if (!b.has(i.value[0])) return false;
116
+ return true;
117
+ }
118
+ // END: Modifications
119
+
120
+ if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {
121
+ length = a.length;
122
+ if (length != b.length) return false;
123
+ for (i = length; i-- !== 0;) if (a[i] !== b[i]) return false;
124
+ return true;
125
+ }
126
+ if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;
127
+ // START: Modifications:
128
+ // Apply guards for `Object.create(null)` handling. See:
129
+ // - https://github.com/FormidableLabs/react-fast-compare/issues/64
130
+ // - https://github.com/epoberezkin/fast-deep-equal/issues/49
131
+ if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf();
132
+ if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString();
133
+ // END: Modifications
134
+
135
+ keys = Object.keys(a);
136
+ length = keys.length;
137
+ if (length !== Object.keys(b).length) return false;
138
+ for (i = length; i-- !== 0;) if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;
139
+ // END: fast-deep-equal
140
+
141
+ // START: react-fast-compare
142
+ // custom handling for DOM elements
143
+ if (hasElementType && a instanceof Element) return false;
144
+
145
+ // custom handling for React/Preact
146
+ for (i = length; i-- !== 0;) {
147
+ if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {
148
+ // React-specific: avoid traversing React elements' _owner
149
+ // Preact-specific: avoid traversing Preact elements' __v and __o
150
+ // __v = $_original / $_vnode
151
+ // __o = $_owner
152
+ // These properties contain circular references and are not needed when
153
+ // comparing the actual elements (and not their owners)
154
+ // .$$typeof and ._store on just reasonable markers of elements
155
+
156
+ continue;
157
+ }
158
+
159
+ // all other properties should be traversed as usual
160
+ if (!equal(a[keys[i]], b[keys[i]])) return false;
161
+ }
162
+ // END: react-fast-compare
163
+
164
+ // START: fast-deep-equal
165
+ return true;
166
+ }
167
+ return a !== a && b !== b;
168
+ }
169
+ // end fast-deep-equal
170
+
171
+ var reactFastCompare = function isEqual(a, b) {
172
+ try {
173
+ return equal(a, b);
174
+ } catch (error) {
175
+ if ((error.message || '').match(/stack|recursion/i)) {
176
+ // warn on circular references, don't crash
177
+ // browsers give this different errors name and messages:
178
+ // chrome/safari: "RangeError", "Maximum call stack size exceeded"
179
+ // firefox: "InternalError", too much recursion"
180
+ // edge: "Error", "Out of stack space"
181
+ console.warn('react-fast-compare cannot handle circular refs');
182
+ return false;
183
+ }
184
+ // some other error. we should definitely know about these
185
+ throw error;
186
+ }
187
+ };
188
+
189
+ var JsonRenderActivityRendererInner = function JsonRenderActivityRendererInner(_ref) {
190
+ var activityType = _ref.activityType,
191
+ content = _ref.content,
192
+ messageId = _ref.messageId,
193
+ registry = _ref.registry,
194
+ _ref$actionHandlers = _ref.actionHandlers,
195
+ actionHandlers = _ref$actionHandlers === void 0 ? {} : _ref$actionHandlers;
196
+ var isValidSchema = content && content.root && content.elements && content.elements[content.root];
197
+ var renderData = useMemo(function () {
198
+ return (content === null || content === void 0 ? void 0 : content.data) || {};
199
+ }, [content === null || content === void 0 ? void 0 : content.data]);
200
+ return /* @__PURE__ */React.createElement("div", {
201
+ "data-activity-type": activityType,
202
+ "data-message-id": messageId
203
+ }, /* @__PURE__ */React.createElement(DataProvider, {
204
+ initialData: renderData
205
+ }, /* @__PURE__ */React.createElement(VisibilityProvider, null, /* @__PURE__ */React.createElement(ActionProvider, {
206
+ handlers: actionHandlers
207
+ }, /* @__PURE__ */React.createElement(Renderer, {
208
+ tree: content,
209
+ registry: registry
210
+ })))));
211
+ };
212
+ var JsonRenderActivityRenderer = /*#__PURE__*/React.memo(JsonRenderActivityRendererInner, function (prevProps, nextProps) {
213
+ if (prevProps.registry !== nextProps.registry) return false;
214
+ if (prevProps.actionHandlers !== nextProps.actionHandlers) return false;
215
+ if (prevProps.content === nextProps.content) return true;
216
+ return reactFastCompare(prevProps.content, nextProps.content);
217
+ });
218
+
219
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
220
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
221
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
222
+ function extractSurfaceId(messages) {
223
+ var _iterator = _createForOfIteratorHelper(messages),
224
+ _step;
225
+ try {
226
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
227
+ var msg = _step.value;
228
+ if (msg.createSurface) return msg.createSurface.surfaceId;
229
+ if (msg.updateComponents) return msg.updateComponents.surfaceId;
230
+ if (msg.updateDataModel) return msg.updateDataModel.surfaceId;
231
+ if (msg.deleteSurface) return msg.deleteSurface.surfaceId;
232
+ }
233
+ } catch (err) {
234
+ _iterator.e(err);
235
+ } finally {
236
+ _iterator.f();
237
+ }
238
+ return null;
239
+ }
240
+ function isUIMessages(messages) {
241
+ return messages.some(function (msg) {
242
+ return msg.createSurface || msg.updateComponents || msg.deleteSurface;
243
+ });
244
+ }
245
+ function hasDeletionMessages(messages) {
246
+ return messages.some(function (msg) {
247
+ return msg.deleteSurface;
248
+ });
249
+ }
250
+ function hasCreationMessages(messages) {
251
+ return messages.some(function (msg) {
252
+ return msg.createSurface || msg.updateComponents;
253
+ });
254
+ }
255
+ var A2UIJsonRenderActivityRenderer = function A2UIJsonRenderActivityRenderer(_ref) {
256
+ var activityType = _ref.activityType,
257
+ content = _ref.content,
258
+ messageId = _ref.messageId,
259
+ ext = _ref.ext,
260
+ registry = _ref.registry,
261
+ actionHandlers = _ref.actionHandlers,
262
+ _ref$debug = _ref.debug,
263
+ debug = _ref$debug === void 0 ? false : _ref$debug;
264
+ useEffect(function () {
265
+ surfaceStateManager.setDebug(debug);
266
+ }, [debug]);
267
+ var _useState = useState(0),
268
+ _useState2 = _slicedToArray(_useState, 2),
269
+ schemaVersion = _useState2[0],
270
+ setSchemaVersion = _useState2[1];
271
+ var _useMemo = useMemo(function () {
272
+ var msgs = content.messages;
273
+ if (!Array.isArray(msgs) || msgs.length === 0) {
274
+ return {
275
+ surfaceId: null,
276
+ isUI: false,
277
+ isDeletion: false,
278
+ isCreation: false,
279
+ messages: []
280
+ };
281
+ }
282
+ return {
283
+ surfaceId: extractSurfaceId(msgs),
284
+ isUI: isUIMessages(msgs),
285
+ isDeletion: hasDeletionMessages(msgs),
286
+ isCreation: hasCreationMessages(msgs),
287
+ messages: msgs
288
+ };
289
+ }, [content.messages]),
290
+ surfaceId = _useMemo.surfaceId,
291
+ isUI = _useMemo.isUI,
292
+ isDeletion = _useMemo.isDeletion,
293
+ isCreation = _useMemo.isCreation,
294
+ messages = _useMemo.messages;
295
+ var initialSchema = useMemo(function () {
296
+ if (!surfaceId || messages.length === 0) {
297
+ return null;
298
+ }
299
+ if (debug) {
300
+ console.log("[A2UI Adapter] \u5904\u7406\u6D88\u606F:", {
301
+ messageId: messageId,
302
+ surfaceId: surfaceId,
303
+ messagesCount: messages.length,
304
+ messageTypes: messages.map(function (m) {
305
+ return Object.keys(m).filter(function (k) {
306
+ return ["createSurface", "updateComponents", "updateDataModel", "deleteSurface"].includes(k);
307
+ })[0];
308
+ }),
309
+ isUI: isUI,
310
+ isCreation: isCreation,
311
+ isDeletion: isDeletion,
312
+ cachedSurfaces: surfaceStateManager.getAllSurfaceIds()
313
+ });
314
+ }
315
+ if (isDeletion) {
316
+ surfaceStateManager.deleteSurface(surfaceId);
317
+ if (debug) {
318
+ console.log("[A2UI Adapter] \u5220\u9664 Surface:", surfaceId);
319
+ }
320
+ return null;
321
+ }
322
+ if (isCreation) {
323
+ var schema = convertA2UIMessagesToJsonRender(messages);
324
+ if (schema) {
325
+ var _messages$find;
326
+ var catalogId = (_messages$find = messages.find(function (m) {
327
+ return m.createSurface;
328
+ })) === null || _messages$find === void 0 || (_messages$find = _messages$find.createSurface) === null || _messages$find === void 0 ? void 0 : _messages$find.catalogId;
329
+ surfaceStateManager.registerSurface(surfaceId, schema, catalogId);
330
+ if (debug) {
331
+ console.log("[A2UI Adapter] \u521B\u5EFA\u578B\u6D88\u606F\uFF0C\u6CE8\u518C Surface:", {
332
+ surfaceId: surfaceId,
333
+ elementsCount: Object.keys(schema.elements).length,
334
+ data: schema.data
335
+ });
336
+ }
337
+ }
338
+ return schema;
339
+ }
340
+ var _iterator2 = _createForOfIteratorHelper(messages),
341
+ _step2;
342
+ try {
343
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
344
+ var msg = _step2.value;
345
+ if (msg.updateDataModel) {
346
+ var _msg$updateDataModel = msg.updateDataModel,
347
+ path = _msg$updateDataModel.path,
348
+ op = _msg$updateDataModel.op,
349
+ value = _msg$updateDataModel.value;
350
+ var success = surfaceStateManager.updateData(surfaceId, path, op || "replace", value);
351
+ if (debug) {
352
+ console.log("[A2UI Adapter] \u66F4\u65B0\u578B\u6D88\u606F\uFF0C\u66F4\u65B0\u6570\u636E:", {
353
+ surfaceId: surfaceId,
354
+ path: path,
355
+ op: op || "replace",
356
+ value: value,
357
+ success: success
358
+ });
359
+ }
360
+ }
361
+ }
362
+ } catch (err) {
363
+ _iterator2.e(err);
364
+ } finally {
365
+ _iterator2.f();
366
+ }
367
+ return null;
368
+ }, [messages, surfaceId, isCreation, isDeletion, isUI, debug, messageId]);
369
+ var handleSchemaUpdate = useCallback(function () {
370
+ if (debug) {
371
+ console.log("[A2UI Adapter] \u6536\u5230\u72B6\u6001\u66F4\u65B0\u901A\u77E5\uFF0C\u89E6\u53D1\u91CD\u6E32\u67D3");
372
+ }
373
+ setSchemaVersion(function (v) {
374
+ return v + 1;
375
+ });
376
+ }, [debug]);
377
+ useEffect(function () {
378
+ if (!isCreation || !surfaceId) {
379
+ return;
380
+ }
381
+ if (debug) {
382
+ console.log("[A2UI Adapter] \u8BA2\u9605 Surface \u72B6\u6001:", surfaceId);
383
+ }
384
+ var unsubscribe = surfaceStateManager.subscribe(surfaceId, handleSchemaUpdate);
385
+ return function () {
386
+ if (debug) {
387
+ console.log("[A2UI Adapter] \u53D6\u6D88\u8BA2\u9605 Surface \u72B6\u6001:", surfaceId);
388
+ }
389
+ unsubscribe();
390
+ };
391
+ }, [isCreation, surfaceId, handleSchemaUpdate, debug]);
392
+ var currentSchema = useMemo(function () {
393
+ if (!isCreation || !surfaceId) {
394
+ return null;
395
+ }
396
+ return surfaceStateManager.getSchema(surfaceId) || initialSchema;
397
+ }, [isCreation, surfaceId, initialSchema, schemaVersion]);
398
+ if (!isUI) {
399
+ if (debug && messages.length > 0) {
400
+ console.log("[A2UI Adapter] \u7EAF\u6570\u636E\u66F4\u65B0\u6D88\u606F\uFF0C\u8DF3\u8FC7\u6E32\u67D3");
401
+ }
402
+ return null;
403
+ }
404
+ if (isDeletion && !isCreation) {
405
+ if (debug) {
406
+ console.log("[A2UI Adapter] \u5220\u9664\u578B\u6D88\u606F\uFF0C\u8DF3\u8FC7\u6E32\u67D3");
407
+ }
408
+ return null;
409
+ }
410
+ return /* @__PURE__ */React.createElement(JsonRenderActivityRenderer, {
411
+ activityType: activityType,
412
+ content: currentSchema,
413
+ messageId: messageId,
414
+ ext: ext,
415
+ registry: registry,
416
+ actionHandlers: actionHandlers
417
+ });
418
+ };
419
+
420
+ var _excluded$2 = ["value", "defaultValue", "placeholder", "disabled", "readonly", "size", "type", "maxlength", "clearable", "status", "onChange", "onBlur", "onFocus", "onEnter", "onClear"],
421
+ _excluded2$1 = ["label", "valuePath", "placeholder", "type", "disabled", "size"];
422
+ 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; }
423
+ 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; }
424
+ var JsonRenderInput = function JsonRenderInput(_ref) {
425
+ var element = _ref.element;
426
+ var _element$props = element.props,
427
+ value = _element$props.value,
428
+ defaultValue = _element$props.defaultValue,
429
+ placeholder = _element$props.placeholder,
430
+ _element$props$disabl = _element$props.disabled,
431
+ disabled = _element$props$disabl === void 0 ? false : _element$props$disabl,
432
+ _element$props$readon = _element$props.readonly,
433
+ readonly = _element$props$readon === void 0 ? false : _element$props$readon,
434
+ _element$props$size = _element$props.size,
435
+ size = _element$props$size === void 0 ? "medium" : _element$props$size,
436
+ _element$props$type = _element$props.type,
437
+ type = _element$props$type === void 0 ? "text" : _element$props$type,
438
+ maxlength = _element$props.maxlength,
439
+ _element$props$cleara = _element$props.clearable,
440
+ clearable = _element$props$cleara === void 0 ? false : _element$props$cleara,
441
+ status = _element$props.status,
442
+ onChange = _element$props.onChange,
443
+ onBlur = _element$props.onBlur,
444
+ onFocus = _element$props.onFocus,
445
+ onEnter = _element$props.onEnter,
446
+ onClear = _element$props.onClear,
447
+ restProps = _objectWithoutProperties(_element$props, _excluded$2);
448
+ return /* @__PURE__ */React.createElement(Input, _objectSpread$4({
449
+ value: value,
450
+ defaultValue: defaultValue,
451
+ placeholder: placeholder,
452
+ disabled: disabled,
453
+ readonly: readonly,
454
+ size: size,
455
+ type: type,
456
+ maxlength: maxlength,
457
+ clearable: clearable,
458
+ status: status,
459
+ onChange: onChange,
460
+ onBlur: onBlur,
461
+ onFocus: onFocus,
462
+ onEnter: onEnter,
463
+ onClear: onClear
464
+ }, restProps));
465
+ };
466
+ JsonRenderInput.displayName = "JsonRenderInput";
467
+ var JsonRenderTextField = function JsonRenderTextField(_ref2) {
468
+ var _getByPath;
469
+ var element = _ref2.element;
470
+ var _element$props2 = element.props,
471
+ label = _element$props2.label,
472
+ valuePath = _element$props2.valuePath,
473
+ placeholder = _element$props2.placeholder,
474
+ _element$props2$type = _element$props2.type,
475
+ type = _element$props2$type === void 0 ? "text" : _element$props2$type,
476
+ _element$props2$disab = _element$props2.disabled,
477
+ disabled = _element$props2$disab === void 0 ? false : _element$props2$disab,
478
+ _element$props2$size = _element$props2.size,
479
+ size = _element$props2$size === void 0 ? "medium" : _element$props2$size,
480
+ restProps = _objectWithoutProperties(_element$props2, _excluded2$1);
481
+ var _useData = useData(),
482
+ data = _useData.data,
483
+ set = _useData.set;
484
+ var value = valuePath ? (_getByPath = getByPath(data, valuePath)) !== null && _getByPath !== void 0 ? _getByPath : "" : "";
485
+ var handleChange = function handleChange(newValue) {
486
+ if (valuePath) {
487
+ set(valuePath, newValue);
488
+ }
489
+ };
490
+ if (label) {
491
+ return /* @__PURE__ */React.createElement(Space, {
492
+ direction: "vertical",
493
+ size: 4,
494
+ style: {
495
+ width: "100%"
496
+ }
497
+ }, /* @__PURE__ */React.createElement("label", {
498
+ style: {
499
+ fontSize: "14px",
500
+ fontWeight: 500
501
+ }
502
+ }, label), /* @__PURE__ */React.createElement(Input, _objectSpread$4({
503
+ value: value,
504
+ placeholder: placeholder,
505
+ type: type,
506
+ disabled: disabled,
507
+ size: size,
508
+ onChange: handleChange
509
+ }, restProps)));
510
+ }
511
+ return /* @__PURE__ */React.createElement(Input, _objectSpread$4({
512
+ value: value,
513
+ placeholder: placeholder,
514
+ type: type,
515
+ disabled: disabled,
516
+ size: size,
517
+ onChange: handleChange
518
+ }, restProps));
519
+ };
520
+ JsonRenderTextField.displayName = "JsonRenderTextField";
521
+
522
+ var _excluded$1 = ["valuePath", "disabledPath", "action", "disabled"];
523
+ 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; }
524
+ 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; }
525
+ function resolveActionParams(params, data) {
526
+ var maxDepth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;
527
+ var resolved = {};
528
+ var stack = [{
529
+ source: params,
530
+ target: resolved,
531
+ depth: 0
532
+ }];
533
+ while (stack.length > 0) {
534
+ var _stack$pop = stack.pop(),
535
+ source = _stack$pop.source,
536
+ target = _stack$pop.target,
537
+ depth = _stack$pop.depth;
538
+ if (depth >= maxDepth) {
539
+ Object.assign(target, source);
540
+ continue;
541
+ }
542
+ for (var _i = 0, _Object$entries = Object.entries(source); _i < _Object$entries.length; _i++) {
543
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
544
+ key = _Object$entries$_i[0],
545
+ value = _Object$entries$_i[1];
546
+ if (value && _typeof(value) === "object" && "path" in value) {
547
+ var pathValue = value.path;
548
+ target[key] = getByPath(data, pathValue);
549
+ } else if (value && _typeof(value) === "object" && !Array.isArray(value)) {
550
+ var nestedTarget = {};
551
+ target[key] = nestedTarget;
552
+ stack.push({
553
+ source: value,
554
+ target: nestedTarget,
555
+ depth: depth + 1
556
+ });
557
+ } else {
558
+ target[key] = value;
559
+ }
560
+ }
561
+ }
562
+ return resolved;
563
+ }
564
+ function A2UIBoundInner(_ref) {
565
+ var element = _ref.element,
566
+ children = _ref.children,
567
+ onAction = _ref.onAction,
568
+ WrappedComponent = _ref.WrappedComponent,
569
+ valueField = _ref.valueField,
570
+ onChangeField = _ref.onChangeField,
571
+ supportsAction = _ref.supportsAction,
572
+ actionTrigger = _ref.actionTrigger;
573
+ var _useData = useData(),
574
+ data = _useData.data,
575
+ set = _useData.set;
576
+ var _element$props = element.props,
577
+ valuePath = _element$props.valuePath,
578
+ disabledPath = _element$props.disabledPath,
579
+ action = _element$props.action,
580
+ staticDisabled = _element$props.disabled,
581
+ componentProps = _objectWithoutProperties(_element$props, _excluded$1);
582
+ var dataRef = useRef(data);
583
+ dataRef.current = data;
584
+ var boundValue = useMemo(function () {
585
+ if (valuePath) {
586
+ var _getByPath;
587
+ return (_getByPath = getByPath(data, valuePath)) !== null && _getByPath !== void 0 ? _getByPath : "";
588
+ }
589
+ return void 0;
590
+ }, [valuePath, valuePath ? getByPath(data, valuePath) : void 0]);
591
+ var boundDisabled = useMemo(function () {
592
+ if (disabledPath) {
593
+ return Boolean(getByPath(data, disabledPath));
594
+ }
595
+ return staticDisabled !== null && staticDisabled !== void 0 ? staticDisabled : false;
596
+ }, [disabledPath, disabledPath ? getByPath(data, disabledPath) : void 0, staticDisabled]);
597
+ var setRef = useRef(set);
598
+ setRef.current = set;
599
+ var handleChange = useCallback(function (newValue) {
600
+ if (valuePath) {
601
+ setRef.current(valuePath, newValue);
602
+ }
603
+ }, [valuePath]);
604
+ var handleAction = useCallback(function () {
605
+ if (!action || !onAction) return;
606
+ var actionObj = typeof action === "string" ? {
607
+ name: action,
608
+ params: {}
609
+ } : action;
610
+ var resolvedParams = actionObj.params ? resolveActionParams(actionObj.params, dataRef.current) : {};
611
+ var resolvedAction = {
612
+ name: actionObj.name,
613
+ params: resolvedParams
614
+ };
615
+ onAction(resolvedAction);
616
+ }, [action, onAction]);
617
+ var finalProps = useMemo(function () {
618
+ var props = _objectSpread$3(_objectSpread$3({}, componentProps), {}, {
619
+ disabled: boundDisabled
620
+ });
621
+ if (valuePath !== void 0) {
622
+ props[valueField] = boundValue;
623
+ props[onChangeField] = handleChange;
624
+ }
625
+ if (supportsAction && action) {
626
+ var originalHandler = componentProps[actionTrigger];
627
+ props[actionTrigger] = function () {
628
+ if (typeof originalHandler === "function") {
629
+ originalHandler.apply(void 0, arguments);
630
+ }
631
+ handleAction.apply(void 0, arguments);
632
+ };
633
+ }
634
+ return props;
635
+ }, [componentProps, boundDisabled, valuePath, valueField, boundValue, onChangeField, handleChange, supportsAction, action, actionTrigger, handleAction]);
636
+ return /* @__PURE__ */React.createElement(WrappedComponent, _objectSpread$3({}, finalProps), children);
637
+ }
638
+ function withA2UIBinding(WrappedComponent) {
639
+ var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
640
+ var _config$valueField = config.valueField,
641
+ valueField = _config$valueField === void 0 ? "value" : _config$valueField,
642
+ _config$onChangeField = config.onChangeField,
643
+ onChangeField = _config$onChangeField === void 0 ? "onChange" : _config$onChangeField,
644
+ _config$supportsActio = config.supportsAction,
645
+ supportsAction = _config$supportsActio === void 0 ? false : _config$supportsActio,
646
+ _config$actionTrigger = config.actionTrigger,
647
+ actionTrigger = _config$actionTrigger === void 0 ? "onClick" : _config$actionTrigger;
648
+ var A2UIBoundComponent = function A2UIBoundComponent(props) {
649
+ return /* @__PURE__ */React.createElement(A2UIBoundInner, _objectSpread$3(_objectSpread$3({}, props), {}, {
650
+ WrappedComponent: WrappedComponent,
651
+ valueField: valueField,
652
+ onChangeField: onChangeField,
653
+ supportsAction: supportsAction,
654
+ actionTrigger: actionTrigger
655
+ }));
656
+ };
657
+ A2UIBoundComponent.displayName = "withA2UIBinding(".concat(WrappedComponent.displayName || WrappedComponent.name || "Component", ")");
658
+ return /*#__PURE__*/memo(A2UIBoundComponent, function (prevProps, nextProps) {
659
+ if (prevProps.element === nextProps.element) return true;
660
+ var prevEl = prevProps.element;
661
+ var nextEl = nextProps.element;
662
+ if (prevEl.type !== nextEl.type) return false;
663
+ if (prevEl.key !== nextEl.key) return false;
664
+ var prevElProps = prevEl.props || {};
665
+ var nextElProps = nextEl.props || {};
666
+ var prevKeys = Object.keys(prevElProps);
667
+ var nextKeys = Object.keys(nextElProps);
668
+ if (prevKeys.length !== nextKeys.length) return false;
669
+ for (var _i2 = 0, _prevKeys = prevKeys; _i2 < _prevKeys.length; _i2++) {
670
+ var key = _prevKeys[_i2];
671
+ if (prevElProps[key] !== nextElProps[key]) return false;
672
+ }
673
+ return true;
674
+ });
675
+ }
676
+
677
+ var _excluded = ["label"],
678
+ _excluded2 = ["label", "children"];
679
+ 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; }
680
+ 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; }
681
+ var BaseInput = function BaseInput(_ref) {
682
+ var label = _ref.label,
683
+ props = _objectWithoutProperties(_ref, _excluded);
684
+ if (label) {
685
+ return /* @__PURE__ */React.createElement(Space, {
686
+ direction: "vertical",
687
+ size: 4,
688
+ style: {
689
+ width: "100%"
690
+ }
691
+ }, /* @__PURE__ */React.createElement("label", {
692
+ style: {
693
+ fontSize: "14px",
694
+ fontWeight: 500
695
+ }
696
+ }, label), /* @__PURE__ */React.createElement(Input, _objectSpread$2({}, props)));
697
+ }
698
+ return /* @__PURE__ */React.createElement(Input, _objectSpread$2({}, props));
699
+ };
700
+ BaseInput.displayName = "BaseInput";
701
+ var BaseButton = function BaseButton(_ref2) {
702
+ var label = _ref2.label,
703
+ children = _ref2.children,
704
+ props = _objectWithoutProperties(_ref2, _excluded2);
705
+ var content = label || children;
706
+ return /* @__PURE__ */React.createElement(Button, _objectSpread$2({}, props), content);
707
+ };
708
+ BaseButton.displayName = "BaseButton";
709
+ var A2UITextField = withA2UIBinding(BaseInput, {
710
+ valueField: "value",
711
+ onChangeField: "onChange",
712
+ supportsAction: false
713
+ });
714
+ var A2UIButton = withA2UIBinding(BaseButton, {
715
+ supportsAction: true
716
+ });
717
+ var a2uiRegistry = {
718
+ TextField: A2UITextField,
719
+ Button: A2UIButton,
720
+ Card: JsonRenderCard,
721
+ Text: JsonRenderText,
722
+ Row: JsonRenderRow,
723
+ Col: JsonRenderCol,
724
+ Space: JsonRenderSpace,
725
+ Column: JsonRenderColumn,
726
+ Divider: JsonRenderDivider
727
+ };
728
+ function createA2UIRegistry(customComponents) {
729
+ return _objectSpread$2(_objectSpread$2({}, a2uiRegistry), customComponents);
730
+ }
731
+
732
+ 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; }
733
+ 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; }
734
+ function withStableProps(Component) {
735
+ return /*#__PURE__*/React.memo(Component, function (prevProps, nextProps) {
736
+ var prevElement = prevProps.element;
737
+ var nextElement = nextProps.element;
738
+ if (prevElement === nextElement) return true;
739
+ if (prevElement.id !== nextElement.id || prevElement.type !== nextElement.type) {
740
+ return false;
741
+ }
742
+ return reactFastCompare(prevElement.props, nextElement.props);
743
+ });
744
+ }
745
+ var tdesignRegistry = {
746
+ Button: JsonRenderButton,
747
+ Input: JsonRenderInput,
748
+ TextField: JsonRenderTextField,
749
+ Card: JsonRenderCard,
750
+ Text: JsonRenderText,
751
+ Row: JsonRenderRow,
752
+ Col: JsonRenderCol,
753
+ Space: JsonRenderSpace,
754
+ Column: JsonRenderColumn,
755
+ Divider: JsonRenderDivider,
756
+ button: JsonRenderButton,
757
+ input: JsonRenderInput,
758
+ textfield: JsonRenderTextField,
759
+ card: JsonRenderCard,
760
+ text: JsonRenderText,
761
+ row: JsonRenderRow,
762
+ col: JsonRenderCol,
763
+ space: JsonRenderSpace,
764
+ column: JsonRenderColumn,
765
+ divider: JsonRenderDivider
766
+ };
767
+ function createCustomRegistry(customComponents) {
768
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
769
+ var _options$enableStable = options.enableStableProps,
770
+ enableStableProps = _options$enableStable === void 0 ? true : _options$enableStable;
771
+ var processedComponents = {};
772
+ if (enableStableProps) {
773
+ for (var _i = 0, _Object$entries = Object.entries(customComponents); _i < _Object$entries.length; _i++) {
774
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
775
+ name = _Object$entries$_i[0],
776
+ Component = _Object$entries$_i[1];
777
+ processedComponents[name] = withStableProps(Component);
778
+ }
779
+ } else {
780
+ Object.assign(processedComponents, customComponents);
781
+ }
782
+ return _objectSpread$1(_objectSpread$1({}, tdesignRegistry), processedComponents);
783
+ }
784
+
785
+ 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; }
786
+ 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; }
787
+ function createJsonRenderActivityConfig() {
788
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
789
+ var _options$activityType = options.activityType,
790
+ activityType = _options$activityType === void 0 ? "json-render" : _options$activityType,
791
+ _options$registry = options.registry,
792
+ registry = _options$registry === void 0 ? tdesignRegistry : _options$registry,
793
+ _options$actionHandle = options.actionHandlers,
794
+ actionHandlers = _options$actionHandle === void 0 ? {} : _options$actionHandle,
795
+ _options$debug = options.debug,
796
+ debug = _options$debug === void 0 ? false : _options$debug,
797
+ _options$description = options.description,
798
+ description = _options$description === void 0 ? "json-render \u52A8\u6001 UI \u6E32\u67D3\u5668" : _options$description;
799
+ return {
800
+ activityType: activityType,
801
+ component: /*#__PURE__*/React.memo(function (props) {
802
+ return /* @__PURE__ */React.createElement(JsonRenderActivityRenderer, _objectSpread(_objectSpread({}, props), {}, {
803
+ registry: registry,
804
+ actionHandlers: actionHandlers,
805
+ debug: debug
806
+ }));
807
+ }),
808
+ description: description
809
+ };
810
+ }
811
+ var defaultJsonRenderActivityConfig = createJsonRenderActivityConfig();
812
+ function createA2UIJsonRenderActivityConfig() {
813
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
814
+ var _options$activityType2 = options.activityType,
815
+ activityType = _options$activityType2 === void 0 ? "a2ui-json-render" : _options$activityType2,
816
+ _options$registry2 = options.registry,
817
+ registry = _options$registry2 === void 0 ? a2uiRegistry : _options$registry2,
818
+ _options$actionHandle2 = options.actionHandlers,
819
+ actionHandlers = _options$actionHandle2 === void 0 ? {} : _options$actionHandle2,
820
+ _options$debug2 = options.debug,
821
+ debug = _options$debug2 === void 0 ? false : _options$debug2,
822
+ _options$description2 = options.description,
823
+ description = _options$description2 === void 0 ? "A2UI + json-render \u9002\u914D\u6E32\u67D3\u5668" : _options$description2;
824
+ return {
825
+ activityType: activityType,
826
+ component: /*#__PURE__*/React.memo(function (props) {
827
+ return /* @__PURE__ */React.createElement(A2UIJsonRenderActivityRenderer, _objectSpread(_objectSpread({}, props), {}, {
828
+ registry: registry,
829
+ actionHandlers: actionHandlers,
830
+ debug: debug
831
+ }));
832
+ }),
833
+ description: description
834
+ };
835
+ }
836
+ var defaultA2UIJsonRenderActivityConfig = createA2UIJsonRenderActivityConfig();
837
+
838
+ export { A2UIJsonRenderActivityRenderer as A, JsonRenderActivityRenderer as J, a2uiRegistry as a, createA2UIRegistry as b, createCustomRegistry as c, A2UITextField as d, A2UIButton as e, withA2UIBinding as f, JsonRenderInput as g, createJsonRenderActivityConfig as h, defaultJsonRenderActivityConfig as i, createA2UIJsonRenderActivityConfig as j, defaultA2UIJsonRenderActivityConfig as k, JsonRenderTextField as l, tdesignRegistry as t, withStableProps as w };
839
+ //# sourceMappingURL=dep-f2051ebd.js.map