@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,78 @@
1
+ /**
2
+ * A2UI 专用组件注册表
3
+ *
4
+ * 使用 withA2UIBinding HOC 包装原子组件,自动处理 A2UI 协议字段:
5
+ * - valuePath: 值的数据绑定(如 /userInfo/name)
6
+ * - disabledPath: disabled 状态的数据绑定(如 /formDisabled)
7
+ * - action.context: action 参数中的动态数据绑定({ path: '/xxx' } 格式)
8
+ *
9
+ * 与 tdesignRegistry 的区别:
10
+ * - tdesignRegistry: 纯净的 TDesign 组件,用于直接的 json-render schema
11
+ * - a2uiRegistry: 支持 A2UI 协议的组件,用于 A2UI → json-render 转换后的渲染
12
+ *
13
+ * 使用方式:
14
+ * ```tsx
15
+ * // 业务使用 A2UI 协议时
16
+ * const config = createA2UIJsonRenderActivityConfig({
17
+ * registry: a2uiRegistry, // 内置 A2UI 组件
18
+ * // 或扩展自定义组件
19
+ * registry: createA2UIRegistry({
20
+ * MyCustomComponent: withA2UIBinding(MyComponent, { supportsAction: true }),
21
+ * }),
22
+ * });
23
+ * ```
24
+ */
25
+ import React from 'react';
26
+ import type { ComponentRegistry } from '../renderer';
27
+ /**
28
+ * A2UI TextField 组件
29
+ * 自动支持 valuePath/disabledPath 数据绑定
30
+ */
31
+ export declare const A2UITextField: React.FC<import("@json-render/react").ComponentRenderProps<Record<string, unknown>>>;
32
+ /**
33
+ * A2UI Button 组件
34
+ * 自动支持 disabledPath 和 action.context 动态绑定
35
+ */
36
+ export declare const A2UIButton: React.FC<import("@json-render/react").ComponentRenderProps<Record<string, unknown>>>;
37
+ /**
38
+ * A2UI 专用组件注册表
39
+ *
40
+ * 用于 A2UI 协议转换后的渲染,组件自动支持:
41
+ * - valuePath: 值绑定到 dataModel
42
+ * - disabledPath: disabled 状态绑定到 dataModel
43
+ * - action.context: action 参数动态解析
44
+ *
45
+ * @example
46
+ * ```tsx
47
+ * import { a2uiRegistry } from './catalog/a2ui-registry';
48
+ *
49
+ * const config = createA2UIJsonRenderActivityConfig({
50
+ * registry: a2uiRegistry, // 使用 A2UI 专用 registry
51
+ * actionHandlers: { ... },
52
+ * });
53
+ * ```
54
+ */
55
+ export declare const a2uiRegistry: ComponentRegistry;
56
+ /**
57
+ * 创建自定义 A2UI 组件注册表
58
+ *
59
+ * 基于 a2uiRegistry 扩展自定义组件
60
+ * 自定义组件如需支持 A2UI 协议,请使用 withA2UIBinding 包装
61
+ *
62
+ * @example
63
+ * ```tsx
64
+ * import { createA2UIRegistry, withA2UIBinding } from '@tdesign-react/chat';
65
+ *
66
+ * // 创建支持 A2UI 的自定义组件
67
+ * const A2UIDatePicker = withA2UIBinding(DatePicker, {
68
+ * valueField: 'value',
69
+ * onChangeField: 'onChange',
70
+ * });
71
+ *
72
+ * const customRegistry = createA2UIRegistry({
73
+ * DatePicker: A2UIDatePicker,
74
+ * });
75
+ * ```
76
+ */
77
+ export declare function createA2UIRegistry(customComponents: ComponentRegistry): ComponentRegistry;
78
+ export default a2uiRegistry;
@@ -0,0 +1,36 @@
1
+ /**
2
+ * tdesign v1.0.2-alpha.15
3
+ * (c) 2026 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ import '@babel/runtime/helpers/defineProperty';
8
+ import '@babel/runtime/helpers/objectWithoutProperties';
9
+ import 'react';
10
+ import 'tdesign-react';
11
+ export { e as A2UIButton, d as A2UITextField, a as a2uiRegistry, b as createA2UIRegistry, a as default } from '../../../../_chunks/dep-f2051ebd.js';
12
+ import './card.js';
13
+ import './text.js';
14
+ import './layout.js';
15
+ import '@babel/runtime/helpers/typeof';
16
+ import '@babel/runtime/helpers/slicedToArray';
17
+ import '../adapters/index.js';
18
+ import '../adapters/a2ui-to-jsonrender.js';
19
+ import '../SurfaceStateManager.js';
20
+ import '@babel/runtime/helpers/classCallCheck';
21
+ import '@babel/runtime/helpers/createClass';
22
+ import '../engine.js';
23
+ import '../performance.js';
24
+ import '@babel/runtime/helpers/toConsumableArray';
25
+ import './button.js';
26
+ import '@json-render/core';
27
+ import '../contexts/data.js';
28
+ import '../catalog.js';
29
+ import 'zod';
30
+ import '../contexts/visibility.js';
31
+ import '../contexts/actions.js';
32
+ import '@babel/runtime/helpers/asyncToGenerator';
33
+ import '@babel/runtime/regenerator';
34
+ import '../contexts/validation.js';
35
+ import '../renderer.js';
36
+ //# sourceMappingURL=a2ui-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2ui-registry.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * TDesign Button 组件适配 json-render
3
+ *
4
+ * 这是纯净的 json-render Button 组件,不包含 A2UI 协议绑定逻辑
5
+ * 如需 A2UI 支持,请使用 a2uiRegistry 中的 A2UIButton
6
+ */
7
+ import React from 'react';
8
+ import { ComponentRenderProps } from '@json-render/react';
9
+ /**
10
+ * json-render Button 组件
11
+ * 符合 @json-render/react 的 ComponentRenderProps 接口
12
+ */
13
+ export declare const JsonRenderButton: React.FC<ComponentRenderProps>;
14
+ export default JsonRenderButton;
@@ -0,0 +1,71 @@
1
+ /**
2
+ * tdesign v1.0.2-alpha.15
3
+ * (c) 2026 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
8
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
9
+ import React, { useCallback } from 'react';
10
+ import { Button } from 'tdesign-react';
11
+
12
+ var _excluded = ["label", "variant", "size", "theme", "disabled", "loading", "block", "shape", "ghost", "action", "onClick"];
13
+ 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; }
14
+ 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; }
15
+ var JsonRenderButton = function JsonRenderButton(_ref) {
16
+ var element = _ref.element,
17
+ children = _ref.children,
18
+ onAction = _ref.onAction,
19
+ parentLoading = _ref.loading;
20
+ var _element$props = element.props,
21
+ label = _element$props.label,
22
+ _element$props$varian = _element$props.variant,
23
+ variant = _element$props$varian === void 0 ? "base" : _element$props$varian,
24
+ _element$props$size = _element$props.size,
25
+ size = _element$props$size === void 0 ? "medium" : _element$props$size,
26
+ _element$props$theme = _element$props.theme,
27
+ theme = _element$props$theme === void 0 ? "default" : _element$props$theme,
28
+ _element$props$disabl = _element$props.disabled,
29
+ disabled = _element$props$disabl === void 0 ? false : _element$props$disabl,
30
+ _element$props$loadin = _element$props.loading,
31
+ loading = _element$props$loadin === void 0 ? false : _element$props$loadin,
32
+ _element$props$block = _element$props.block,
33
+ block = _element$props$block === void 0 ? false : _element$props$block,
34
+ _element$props$shape = _element$props.shape,
35
+ shape = _element$props$shape === void 0 ? "rectangle" : _element$props$shape,
36
+ _element$props$ghost = _element$props.ghost,
37
+ ghost = _element$props$ghost === void 0 ? false : _element$props$ghost,
38
+ action = _element$props.action,
39
+ onClick = _element$props.onClick,
40
+ restProps = _objectWithoutProperties(_element$props, _excluded);
41
+ var handleClick = useCallback(function (e) {
42
+ if (onClick) {
43
+ onClick(e);
44
+ }
45
+ if (action && onAction) {
46
+ var actionObj = typeof action === "string" ? {
47
+ name: action,
48
+ params: {}
49
+ } : action;
50
+ console.log("[JsonRenderButton] \u89E6\u53D1 action:", actionObj);
51
+ onAction(actionObj);
52
+ }
53
+ }, [onClick, action, onAction]);
54
+ var isLoading = loading || parentLoading;
55
+ var content = label || children;
56
+ return /* @__PURE__ */React.createElement(Button, _objectSpread({
57
+ variant: variant,
58
+ size: size,
59
+ theme: theme,
60
+ disabled: disabled,
61
+ loading: isLoading,
62
+ block: block,
63
+ shape: shape,
64
+ ghost: ghost,
65
+ onClick: handleClick
66
+ }, restProps), content);
67
+ };
68
+ JsonRenderButton.displayName = "JsonRenderButton";
69
+
70
+ export { JsonRenderButton, JsonRenderButton as default };
71
+ //# sourceMappingURL=button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.js","sources":["../../../../../../pro-components/chat/chat-engine/components/json-render/catalog/button.tsx"],"sourcesContent":["/**\n * TDesign Button 组件适配 json-render\n * \n * 这是纯净的 json-render Button 组件,不包含 A2UI 协议绑定逻辑\n * 如需 A2UI 支持,请使用 a2uiRegistry 中的 A2UIButton\n */\n\nimport React, { useCallback } from 'react';\nimport { Button } from 'tdesign-react';\nimport type { ButtonProps } from 'tdesign-react';\nimport { ComponentRenderProps } from '@json-render/react';\nimport type { Action } from '@json-render/core';\n\n/**\n * json-render Button 组件\n * 符合 @json-render/react 的 ComponentRenderProps 接口\n */\nexport const JsonRenderButton: React.FC<ComponentRenderProps> = ({\n element,\n children,\n onAction,\n loading: parentLoading,\n}) => {\n const {\n label,\n variant = 'base',\n size = 'medium',\n theme = 'default',\n disabled = false,\n loading = false,\n block = false,\n shape = 'rectangle',\n ghost = false,\n action,\n onClick,\n ...restProps\n } = element.props as ButtonProps & {\n label?: string;\n action?: string | Action;\n [key: string]: any;\n };\n\n // 处理点击事件\n const handleClick = useCallback(\n (e: React.MouseEvent<HTMLButtonElement>) => {\n if (onClick) {\n onClick(e);\n }\n\n if (action && onAction) {\n const actionObj: Action = typeof action === 'string'\n ? { name: action, params: {} }\n : action;\n\n console.log('[JsonRenderButton] 触发 action:', actionObj);\n onAction(actionObj);\n }\n },\n [onClick, action, onAction],\n );\n\n const isLoading = loading || parentLoading;\n const content = label || children;\n\n return (\n <Button\n variant={variant}\n size={size}\n theme={theme}\n disabled={disabled}\n loading={isLoading}\n block={block}\n shape={shape}\n ghost={ghost}\n onClick={handleClick}\n {...restProps}\n >\n {content}\n </Button>\n );\n};\n\nJsonRenderButton.displayName = 'JsonRenderButton';\n\nexport default JsonRenderButton;\n"],"names":["JsonRenderButton","element","_ref","children","onAction","parentLoading","loading","_element$props","props","label","_element$props$varian","variant","_element$props$size","size","_element$props$theme","theme","_element$props$disabl","disabled","_element$props$loadin","_element$props$block","block","_element$props$shape","shape","_element$props$ghost","ghost","action","onClick","restProps","_objectWithoutProperties","_excluded","handleClick","useCallback","e","actionObj","name","params","console","log","isLoading","content","React","createElement","Button","_objectSpread","displayName"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * TDesign Card 组件适配 json-render
3
+ */
4
+ import React from 'react';
5
+ import type { ComponentRenderProps } from '../types';
6
+ /**
7
+ * json-render Card 组件
8
+ * 符合 @json-render/react 的 ComponentRenderProps 接口
9
+ */
10
+ export declare const JsonRenderCard: React.FC<ComponentRenderProps>;
11
+ export default JsonRenderCard;
@@ -0,0 +1,57 @@
1
+ /**
2
+ * tdesign v1.0.2-alpha.15
3
+ * (c) 2026 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
8
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
9
+ import React from 'react';
10
+ import { Card } from 'tdesign-react';
11
+
12
+ var _excluded = ["title", "subtitle", "description", "avatar", "cover", "actions", "bordered", "size", "loading", "shadow", "hoverable", "header", "footer"];
13
+ 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; }
14
+ 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; }
15
+ var JsonRenderCard = function JsonRenderCard(_ref) {
16
+ var element = _ref.element,
17
+ children = _ref.children;
18
+ var _element$props = element.props,
19
+ title = _element$props.title,
20
+ subtitle = _element$props.subtitle,
21
+ description = _element$props.description,
22
+ avatar = _element$props.avatar,
23
+ cover = _element$props.cover,
24
+ actions = _element$props.actions,
25
+ _element$props$border = _element$props.bordered,
26
+ bordered = _element$props$border === void 0 ? true : _element$props$border,
27
+ _element$props$size = _element$props.size,
28
+ size = _element$props$size === void 0 ? "medium" : _element$props$size,
29
+ _element$props$loadin = _element$props.loading,
30
+ loading = _element$props$loadin === void 0 ? false : _element$props$loadin,
31
+ _element$props$shadow = _element$props.shadow,
32
+ shadow = _element$props$shadow === void 0 ? false : _element$props$shadow,
33
+ _element$props$hovera = _element$props.hoverable,
34
+ hoverable = _element$props$hovera === void 0 ? false : _element$props$hovera,
35
+ header = _element$props.header,
36
+ footer = _element$props.footer,
37
+ restProps = _objectWithoutProperties(_element$props, _excluded);
38
+ return /* @__PURE__ */React.createElement(Card, _objectSpread({
39
+ title: title,
40
+ subtitle: subtitle,
41
+ description: description,
42
+ avatar: avatar,
43
+ cover: cover,
44
+ actions: actions,
45
+ bordered: bordered,
46
+ size: size,
47
+ loading: loading,
48
+ shadow: shadow,
49
+ hoverable: hoverable,
50
+ header: header,
51
+ footer: footer
52
+ }, restProps), children);
53
+ };
54
+ JsonRenderCard.displayName = "JsonRenderCard";
55
+
56
+ export { JsonRenderCard, JsonRenderCard as default };
57
+ //# sourceMappingURL=card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.js","sources":["../../../../../../pro-components/chat/chat-engine/components/json-render/catalog/card.tsx"],"sourcesContent":["/**\n * TDesign Card 组件适配 json-render\n */\n\nimport React from 'react';\nimport { Card } from 'tdesign-react';\nimport type { CardProps } from 'tdesign-react';\nimport type { ComponentRenderProps } from '../types';\n\n/**\n * json-render Card 组件\n * 符合 @json-render/react 的 ComponentRenderProps 接口\n */\nexport const JsonRenderCard: React.FC<ComponentRenderProps> = ({ element, children }) => {\n const {\n title,\n subtitle,\n description,\n avatar,\n cover,\n actions,\n bordered = true,\n size = 'medium',\n loading = false,\n shadow = false,\n hoverable = false,\n header,\n footer,\n ...restProps\n } = element.props as CardProps;\n\n return (\n <Card\n title={title}\n subtitle={subtitle}\n description={description}\n avatar={avatar}\n cover={cover}\n actions={actions}\n bordered={bordered}\n size={size}\n loading={loading}\n shadow={shadow}\n hoverable={hoverable}\n header={header}\n footer={footer}\n {...restProps}\n >\n {children}\n </Card>\n );\n};\n\nJsonRenderCard.displayName = 'JsonRenderCard';\n\nexport default JsonRenderCard;\n"],"names":["JsonRenderCard","_ref","element","children","_element$props","props","title","subtitle","description","avatar","cover","actions","_element$props$border","bordered","_element$props$size","size","_element$props$loadin","loading","_element$props$shadow","shadow","_element$props$hovera","hoverable","header","footer","restProps","_objectWithoutProperties","_excluded","React","createElement","Card","_objectSpread","displayName"],"mappings":";;;;;;;;;;;;;;IAaaA,cAAiD,GAAA,SAAjDA,cAAiDA,CAAAC,IAAA,EAA2B;AAAA,EAAA,IAAxBC,OAAA,GAAAD,IAAA,CAAAC,OAAA;IAASC,gBAAAA;AAClE,EAAA,IAAAC,cAAA,GAeFF,OAAQ,CAAAG,KAAA;IAdVC,KAAA,GAAAF,cAAA,CAAAE,KAAA;IACAC,QAAA,GAAAH,cAAA,CAAAG,QAAA;IACAC,WAAA,GAAAJ,cAAA,CAAAI,WAAA;IACAC,MAAA,GAAAL,cAAA,CAAAK,MAAA;IACAC,KAAA,GAAAN,cAAA,CAAAM,KAAA;IACAC,OAAA,GAAAP,cAAA,CAAAO,OAAA;IAAAC,qBAAA,GAAAR,cAAA,CACAS,QAAW;AAAXA,IAAAA,QAAW,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAA,IAAA,GAAAA,qBAAA;IAAAE,mBAAA,GAAAV,cAAA,CACXW,IAAO;AAAPA,IAAAA,IAAO,GAAAD,mBAAA,KAAA,KAAA,CAAA,GAAA,QAAA,GAAAA,mBAAA;IAAAE,qBAAA,GAAAZ,cAAA,CACPa,OAAU;AAAVA,IAAAA,OAAU,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAAA,qBAAA;IAAAE,qBAAA,GAAAd,cAAA,CACVe,MAAS;AAATA,IAAAA,MAAS,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAAA,qBAAA;IAAAE,qBAAA,GAAAhB,cAAA,CACTiB,SAAY;AAAZA,IAAAA,SAAY,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAAA,qBAAA;IACZE,MAAA,GAAAlB,cAAA,CAAAkB,MAAA;IACAC,MAAA,GAAAnB,cAAA,CAAAmB,MAAA;AACGC,IAAAA,SAAA,GAAAC,wBAAA,CAAArB,cAAA,EAAAsB,SAAA,CAAA,CAAA;AAGL,EAAA,sBACGC,KAAA,CAAAC,aAAA,CAAAC,IAAA,EAAAC,aAAA,CAAA;AACCxB,IAAAA,KAAA,EAAAA,KAAA;AACAC,IAAAA,QAAA,EAAAA,QAAA;AACAC,IAAAA,WAAA,EAAAA,WAAA;AACAC,IAAAA,MAAA,EAAAA,MAAA;AACAC,IAAAA,KAAA,EAAAA,KAAA;AACAC,IAAAA,OAAA,EAAAA,OAAA;AACAE,IAAAA,QAAA,EAAAA,QAAA;AACAE,IAAAA,IAAA,EAAAA,IAAA;AACAE,IAAAA,OAAA,EAAAA,OAAA;AACAE,IAAAA,MAAA,EAAAA,MAAA;AACAE,IAAAA,SAAA,EAAAA,SAAA;AACAC,IAAAA,MAAA,EAAAA,MAAA;AACAC,IAAAA,MAAA,EAAAA,MAAAA;GACIC,EAAAA,SAAA,CAEHrB,EAAAA,QACH,CAAA,CAAA;AAEJ,EAAA;AAEAH,cAAA,CAAe+B,WAAc,GAAA,gBAAA;;;;"}
@@ -0,0 +1,127 @@
1
+ /**
2
+ * TDesign ComponentRegistry(React 组件注册表)
3
+ * 用于 json-render 渲染层的组件映射
4
+ *
5
+ * 重要概念区分:
6
+ * - ComponentRegistry(本文件):渲染层,映射组件名到 React 组件(传给 Renderer)
7
+ * - Catalog(catalog.ts):约束层,定义组件 props schema 和 actions 白名单(给 AI/服务端)
8
+ *
9
+ * Registry 分类:
10
+ * - tdesignRegistry: 纯净的 TDesign 组件,用于直接的 json-render schema
11
+ * - a2uiRegistry: 支持 A2UI 协议的组件,自动处理 valuePath/disabledPath/action.context
12
+ *
13
+ * 详见:ARCHITECTURE.md
14
+ */
15
+ import React from 'react';
16
+ import type { ComponentRegistry, ComponentRenderProps } from '../renderer';
17
+ /**
18
+ * 高性能组件包装器
19
+ * 使用 React.memo + react-fast-compare 实现深比较
20
+ *
21
+ * 原理:
22
+ * - json-render 每次渲染都会创建新的 element 对象引用
23
+ * - 默认的 React.memo 浅比较会认为 props 变化了
24
+ * - 使用 react-fast-compare 进行高效深比较,只在内容真正变化时才重渲染
25
+ *
26
+ * 性能说明(来自 performance_suggestion.md):
27
+ * - react-fast-compare 比 JSON.stringify 更快(短路比较)
28
+ * - 发现第一个不同属性时立即停止,不会遍历整个对象
29
+ * - 处理了循环引用等边缘情况
30
+ */
31
+ export declare function withStableProps<P extends ComponentRenderProps>(Component: React.ComponentType<P>): React.MemoExoticComponent<React.ComponentType<P>>;
32
+ /**
33
+ * TDesign 内置组件注册表(渲染层)
34
+ *
35
+ * 这是框架内置的原子组件集合,提供基础 UI 渲染能力
36
+ * 业务层可以通过 createCustomRegistry 扩展自定义组件
37
+ *
38
+ * 使用方式:
39
+ * ```tsx
40
+ * import { tdesignRegistry } from '@tdesign-react/chat';
41
+ *
42
+ * const config = createJsonRenderActivityConfig({
43
+ * registry: tdesignRegistry,
44
+ * actionHandlers: { ... },
45
+ * });
46
+ * ```
47
+ *
48
+ * Schema 示例:
49
+ * ```json
50
+ * {
51
+ * "root": "btn1",
52
+ * "elements": {
53
+ * "btn1": {
54
+ * "key": "btn1",
55
+ * "type": "Button",
56
+ * "props": {
57
+ * "variant": "base",
58
+ * "theme": "primary",
59
+ * "children": "点击我",
60
+ * "action": "submit"
61
+ * }
62
+ * }
63
+ * }
64
+ * }
65
+ * ```
66
+ */
67
+ export declare const tdesignRegistry: ComponentRegistry;
68
+ /**
69
+ * createCustomRegistry 配置选项
70
+ */
71
+ export interface CreateCustomRegistryOptions {
72
+ /**
73
+ * 是否自动包装组件以优化性能
74
+ * 使用 React.memo + react-fast-compare 深比较 element.props
75
+ *
76
+ * @default true
77
+ */
78
+ enableStableProps?: boolean;
79
+ }
80
+ /**
81
+ * 创建自定义组件注册表(扩展内置组件)
82
+ *
83
+ * 用于渲染层:扩展自定义业务组件的 React 实现
84
+ *
85
+ * 性能优化(默认开启):
86
+ * - 自动使用 withStableProps 包装组件
87
+ * - 使用 react-fast-compare 进行高效深比较
88
+ * - 业务组件无需手动写 React.memo 比较函数
89
+ *
90
+ * @example
91
+ * ```tsx
92
+ * import { createCustomRegistry } from '@tdesign-react/chat';
93
+ * import type { ComponentRenderProps } from '@json-render/react';
94
+ *
95
+ * // 定义自定义组件(无需手动 React.memo)
96
+ * const StatusCard: React.FC<ComponentRenderProps> = ({ element }) => (
97
+ * <div className="status-card">{element.props.status}</div>
98
+ * );
99
+ *
100
+ * const ProgressBar: React.FC<ComponentRenderProps> = ({ element }) => (
101
+ * <div className="progress-bar" style={{ width: `${element.props.percentage}%` }} />
102
+ * );
103
+ *
104
+ * // 扩展 registry(自动优化性能)
105
+ * const customRegistry = createCustomRegistry({
106
+ * StatusCard,
107
+ * ProgressBar,
108
+ * });
109
+ *
110
+ * // 禁用自动优化(如果需要自己控制)
111
+ * const customRegistry = createCustomRegistry(
112
+ * { StatusCard, ProgressBar },
113
+ * { enableStableProps: false }
114
+ * );
115
+ * ```
116
+ *
117
+ * 注意:
118
+ * - 这里只定义渲染层的组件映射
119
+ * - 约束层(Catalog)需要使用 createCustomCatalog 定义(见 catalog.ts)
120
+ * - 两者需要保持组件名称一致
121
+ */
122
+ export declare function createCustomRegistry(customComponents: ComponentRegistry, options?: CreateCustomRegistryOptions): ComponentRegistry;
123
+ export { tdesignCatalog, createCustomCatalog, tdesignComponentList, tdesignActionList, } from '../catalog';
124
+ export { a2uiRegistry, createA2UIRegistry, A2UITextField, A2UIButton } from './a2ui-registry';
125
+ export { withA2UIBinding } from './a2ui-binding';
126
+ export type { A2UIBindingConfig } from './a2ui-binding';
127
+ export default tdesignRegistry;
@@ -0,0 +1,36 @@
1
+ /**
2
+ * tdesign v1.0.2-alpha.15
3
+ * (c) 2026 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ import '@babel/runtime/helpers/defineProperty';
8
+ import '@babel/runtime/helpers/slicedToArray';
9
+ import 'react';
10
+ export { e as A2UIButton, d as A2UITextField, a as a2uiRegistry, b as createA2UIRegistry, c as createCustomRegistry, t as default, t as tdesignRegistry, f as withA2UIBinding, w as withStableProps } from '../../../../_chunks/dep-f2051ebd.js';
11
+ import './button.js';
12
+ import './card.js';
13
+ import './text.js';
14
+ import './layout.js';
15
+ export { createCustomCatalog, tdesignActionList, tdesignCatalog, tdesignComponentList } from '../catalog.js';
16
+ import '@babel/runtime/helpers/typeof';
17
+ import '../adapters/index.js';
18
+ import '../adapters/a2ui-to-jsonrender.js';
19
+ import '@babel/runtime/helpers/objectWithoutProperties';
20
+ import '../SurfaceStateManager.js';
21
+ import '@babel/runtime/helpers/classCallCheck';
22
+ import '@babel/runtime/helpers/createClass';
23
+ import '../engine.js';
24
+ import '../performance.js';
25
+ import '@babel/runtime/helpers/toConsumableArray';
26
+ import 'tdesign-react';
27
+ import '@json-render/core';
28
+ import '../contexts/data.js';
29
+ import '../contexts/visibility.js';
30
+ import '../contexts/actions.js';
31
+ import '@babel/runtime/helpers/asyncToGenerator';
32
+ import '@babel/runtime/regenerator';
33
+ import '../contexts/validation.js';
34
+ import '../renderer.js';
35
+ import 'zod';
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * TDesign Input 组件适配 json-render
3
+ *
4
+ * 这是纯净的 json-render Input 组件,不包含 A2UI 协议绑定逻辑
5
+ * 如需 A2UI 支持,请使用 a2uiRegistry 中的 A2UITextField
6
+ */
7
+ import React from 'react';
8
+ import type { ComponentRenderProps } from '../types';
9
+ /**
10
+ * json-render Input 组件(基础版本,不带数据绑定)
11
+ */
12
+ export declare const JsonRenderInput: React.FC<ComponentRenderProps>;
13
+ /**
14
+ * json-render TextField 组件(带 label 和 valuePath 数据绑定)
15
+ *
16
+ * 这是标准 json-render 的 TextField,支持 valuePath 但不支持 A2UI 的 disabledPath
17
+ * 如需完整 A2UI 支持,请使用 a2uiRegistry 中的 A2UITextField
18
+ */
19
+ export declare const JsonRenderTextField: React.FC<ComponentRenderProps>;
20
+ export default JsonRenderInput;
@@ -0,0 +1,36 @@
1
+ /**
2
+ * tdesign v1.0.2-alpha.15
3
+ * (c) 2026 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ import '@babel/runtime/helpers/defineProperty';
8
+ import '@babel/runtime/helpers/objectWithoutProperties';
9
+ import 'react';
10
+ import 'tdesign-react';
11
+ export { g as JsonRenderInput, l as JsonRenderTextField, g as default } from '../../../../_chunks/dep-f2051ebd.js';
12
+ import '@json-render/core';
13
+ import '../contexts/data.js';
14
+ import '@babel/runtime/helpers/typeof';
15
+ import '@babel/runtime/helpers/slicedToArray';
16
+ import '../adapters/index.js';
17
+ import '../adapters/a2ui-to-jsonrender.js';
18
+ import '../SurfaceStateManager.js';
19
+ import '@babel/runtime/helpers/classCallCheck';
20
+ import '@babel/runtime/helpers/createClass';
21
+ import '../engine.js';
22
+ import '../performance.js';
23
+ import '@babel/runtime/helpers/toConsumableArray';
24
+ import './button.js';
25
+ import './card.js';
26
+ import './text.js';
27
+ import './layout.js';
28
+ import '../catalog.js';
29
+ import 'zod';
30
+ import '../contexts/visibility.js';
31
+ import '../contexts/actions.js';
32
+ import '@babel/runtime/helpers/asyncToGenerator';
33
+ import '@babel/runtime/regenerator';
34
+ import '../contexts/validation.js';
35
+ import '../renderer.js';
36
+ //# sourceMappingURL=input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * TDesign 布局组件适配 json-render
3
+ * 包含 Row、Col、Space、Column、Divider 等布局组件
4
+ */
5
+ import React from 'react';
6
+ import type { SpaceProps, DividerProps } from 'tdesign-react';
7
+ import type { ComponentRenderProps } from '../types';
8
+ /**
9
+ * json-render Row 组件
10
+ */
11
+ export declare const JsonRenderRow: React.FC<ComponentRenderProps>;
12
+ /**
13
+ * json-render Col 组件
14
+ */
15
+ export declare const JsonRenderCol: React.FC<ComponentRenderProps>;
16
+ /**
17
+ * json-render Space 组件
18
+ */
19
+ export declare const JsonRenderSpace: React.FC<ComponentRenderProps>;
20
+ /**
21
+ * json-render Column 组件
22
+ * 垂直布局的便捷组件(基于 Space direction="vertical")
23
+ */
24
+ export interface JsonRenderColumnProps extends Omit<SpaceProps, 'direction'> {
25
+ /** 间距大小 */
26
+ gap?: number | string;
27
+ }
28
+ export declare const JsonRenderColumn: React.FC<ComponentRenderProps>;
29
+ /**
30
+ * json-render Divider 组件
31
+ */
32
+ export declare const JsonRenderDivider: React.FC<DividerProps & {
33
+ children?: React.ReactNode;
34
+ }>;
35
+ declare const _default: {
36
+ JsonRenderRow: React.FC<ComponentRenderProps<Record<string, unknown>>>;
37
+ JsonRenderCol: React.FC<ComponentRenderProps<Record<string, unknown>>>;
38
+ JsonRenderSpace: React.FC<ComponentRenderProps<Record<string, unknown>>>;
39
+ JsonRenderColumn: React.FC<ComponentRenderProps<Record<string, unknown>>>;
40
+ JsonRenderDivider: React.FC<DividerProps & {
41
+ children?: React.ReactNode;
42
+ }>;
43
+ };
44
+ export default _default;