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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (524) hide show
  1. package/CHANGELOG.md +0 -4
  2. package/README.md +76 -22
  3. package/es/_chunks/dep-076af7c3.js +438 -0
  4. package/es/_chunks/dep-076af7c3.js.map +1 -0
  5. package/es/_chunks/dep-1007ac80.js +205 -0
  6. package/es/_chunks/dep-1007ac80.js.map +1 -0
  7. package/es/_chunks/dep-16520c2b.js +1247 -0
  8. package/es/_chunks/dep-16520c2b.js.map +1 -0
  9. package/es/_chunks/dep-1743bd61.js +438 -0
  10. package/es/_chunks/dep-1743bd61.js.map +1 -0
  11. package/es/_chunks/dep-1ca64fef.js +1247 -0
  12. package/es/_chunks/dep-1ca64fef.js.map +1 -0
  13. package/es/_chunks/dep-24472232.js +839 -0
  14. package/es/_chunks/dep-24472232.js.map +1 -0
  15. package/es/_chunks/dep-3864b369.js +839 -0
  16. package/es/_chunks/dep-3864b369.js.map +1 -0
  17. package/es/_chunks/dep-3e40d789.js +169 -0
  18. package/es/_chunks/dep-3e40d789.js.map +1 -0
  19. package/es/_chunks/dep-4dedfbef.js +438 -0
  20. package/es/_chunks/dep-4dedfbef.js.map +1 -0
  21. package/es/_chunks/dep-56f5e08e.js +448 -0
  22. package/es/_chunks/dep-56f5e08e.js.map +1 -0
  23. package/es/_chunks/dep-5b6b17d0.js +169 -0
  24. package/es/_chunks/dep-5b6b17d0.js.map +1 -0
  25. package/es/_chunks/dep-688e4aaa.js +438 -0
  26. package/es/_chunks/dep-688e4aaa.js.map +1 -0
  27. package/es/_chunks/dep-870f0d35.js +839 -0
  28. package/es/_chunks/dep-870f0d35.js.map +1 -0
  29. package/es/_chunks/dep-96eca06f.js +169 -0
  30. package/es/_chunks/dep-96eca06f.js.map +1 -0
  31. package/es/_chunks/dep-ba3bd553.js +169 -0
  32. package/es/_chunks/dep-ba3bd553.js.map +1 -0
  33. package/es/_chunks/dep-bcb234a1.js +839 -0
  34. package/es/_chunks/dep-bcb234a1.js.map +1 -0
  35. package/es/_chunks/dep-de8ac730.js +1247 -0
  36. package/es/_chunks/dep-de8ac730.js.map +1 -0
  37. package/es/_chunks/dep-e9dbff09.js +1247 -0
  38. package/es/_chunks/dep-e9dbff09.js.map +1 -0
  39. package/es/_chunks/dep-ebc4cf30.js +1247 -0
  40. package/es/_chunks/dep-ebc4cf30.js.map +1 -0
  41. package/es/_chunks/dep-f2051ebd.js +839 -0
  42. package/es/_chunks/dep-f2051ebd.js.map +1 -0
  43. package/es/_chunks/dep-f691a67e.js +438 -0
  44. package/es/_chunks/dep-f691a67e.js.map +1 -0
  45. package/es/_chunks/dep-f8016301.js +169 -0
  46. package/es/_chunks/dep-f8016301.js.map +1 -0
  47. package/es/_util/reactify.d.ts +1 -2
  48. package/es/_util/reactify.js +102 -232
  49. package/es/_util/reactify.js.map +1 -1
  50. package/es/attachments/index.js +3 -5
  51. package/es/attachments/index.js.map +1 -1
  52. package/es/chat-actionbar/index.js +3 -5
  53. package/es/chat-actionbar/index.js.map +1 -1
  54. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.d.ts +196 -0
  55. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js +301 -0
  56. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js.map +1 -0
  57. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.d.ts +37 -0
  58. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js +116 -0
  59. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js.map +1 -0
  60. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.d.ts +42 -0
  61. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js +113 -0
  62. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js.map +1 -0
  63. package/es/chat-engine/components/a2ui/A2UISkeleton.d.ts +60 -0
  64. package/es/chat-engine/components/a2ui/A2UISkeleton.js +197 -0
  65. package/es/chat-engine/components/a2ui/A2UISkeleton.js.map +1 -0
  66. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.d.ts +44 -0
  67. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js +139 -0
  68. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js.map +1 -0
  69. package/es/chat-engine/components/a2ui/containers/A2UICard.d.ts +22 -0
  70. package/es/chat-engine/components/a2ui/containers/A2UICard.js +82 -0
  71. package/es/chat-engine/components/a2ui/containers/A2UICard.js.map +1 -0
  72. package/es/chat-engine/components/a2ui/containers/A2UIColumn.d.ts +18 -0
  73. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js +81 -0
  74. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js.map +1 -0
  75. package/es/chat-engine/components/a2ui/containers/A2UIList.d.ts +14 -0
  76. package/es/chat-engine/components/a2ui/containers/A2UIList.js +62 -0
  77. package/es/chat-engine/components/a2ui/containers/A2UIList.js.map +1 -0
  78. package/es/chat-engine/components/a2ui/containers/A2UIRow.d.ts +20 -0
  79. package/es/chat-engine/components/a2ui/containers/A2UIRow.js +84 -0
  80. package/es/chat-engine/components/a2ui/containers/A2UIRow.js.map +1 -0
  81. package/es/chat-engine/components/a2ui/containers/A2UITabs.d.ts +14 -0
  82. package/es/chat-engine/components/a2ui/containers/A2UITabs.js +69 -0
  83. package/es/chat-engine/components/a2ui/containers/A2UITabs.js.map +1 -0
  84. package/es/chat-engine/components/a2ui/containers/index.d.ts +8 -0
  85. package/es/chat-engine/components/a2ui/containers/index.js +30 -0
  86. package/es/chat-engine/components/a2ui/containers/index.js.map +1 -0
  87. package/es/chat-engine/components/a2ui/index.d.ts +11 -0
  88. package/es/chat-engine/components/a2ui/index.js +62 -0
  89. package/es/chat-engine/components/a2ui/index.js.map +1 -0
  90. package/es/chat-engine/components/a2ui/primitives/A2UIButton.d.ts +33 -0
  91. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js +80 -0
  92. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js.map +1 -0
  93. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.d.ts +12 -0
  94. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js +43 -0
  95. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js.map +1 -0
  96. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.d.ts +50 -0
  97. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js +54 -0
  98. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js.map +1 -0
  99. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.d.ts +13 -0
  100. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js +89 -0
  101. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js.map +1 -0
  102. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.d.ts +12 -0
  103. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js +25 -0
  104. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js.map +1 -0
  105. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.d.ts +13 -0
  106. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js +138942 -0
  107. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js.map +1 -0
  108. package/es/chat-engine/components/a2ui/primitives/A2UIImage.d.ts +12 -0
  109. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js +75 -0
  110. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js.map +1 -0
  111. package/es/chat-engine/components/a2ui/primitives/A2UIInput.d.ts +20 -0
  112. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js +63 -0
  113. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js.map +1 -0
  114. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.d.ts +56 -0
  115. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js +64 -0
  116. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js.map +1 -0
  117. package/es/chat-engine/components/a2ui/primitives/A2UISlider.d.ts +12 -0
  118. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js +55 -0
  119. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js.map +1 -0
  120. package/es/chat-engine/components/a2ui/primitives/A2UIText.d.ts +12 -0
  121. package/es/chat-engine/components/a2ui/primitives/A2UIText.js +104 -0
  122. package/es/chat-engine/components/a2ui/primitives/A2UIText.js.map +1 -0
  123. package/es/chat-engine/components/a2ui/primitives/A2UITextField.d.ts +12 -0
  124. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js +80 -0
  125. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js.map +1 -0
  126. package/es/chat-engine/components/a2ui/primitives/index.d.ts +15 -0
  127. package/es/chat-engine/components/a2ui/primitives/index.js +39 -0
  128. package/es/chat-engine/components/a2ui/primitives/index.js.map +1 -0
  129. package/es/chat-engine/components/a2ui/registry.d.ts +35 -0
  130. package/es/chat-engine/components/a2ui/registry.js +74 -0
  131. package/es/chat-engine/components/a2ui/registry.js.map +1 -0
  132. package/es/chat-engine/components/activity/index.js +8 -4
  133. package/es/chat-engine/components/activity/index.js.map +1 -1
  134. package/es/chat-engine/components/activity/registry.d.ts +6 -40
  135. package/es/chat-engine/components/activity/registry.js +22 -76
  136. package/es/chat-engine/components/activity/registry.js.map +1 -1
  137. package/es/chat-engine/components/activity/render.d.ts +1 -1
  138. package/es/chat-engine/components/activity/render.js +21 -69
  139. package/es/chat-engine/components/activity/render.js.map +1 -1
  140. package/es/chat-engine/components/index.js +8 -4
  141. package/es/chat-engine/components/index.js.map +1 -1
  142. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.d.ts +36 -0
  143. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js +36 -0
  144. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js.map +1 -0
  145. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.d.ts +46 -0
  146. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js +36 -0
  147. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js.map +1 -0
  148. package/es/chat-engine/components/json-render/SurfaceStateManager.d.ts +113 -0
  149. package/es/chat-engine/components/json-render/SurfaceStateManager.js +195 -0
  150. package/es/chat-engine/components/json-render/SurfaceStateManager.js.map +1 -0
  151. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.d.ts +49 -0
  152. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js +307 -0
  153. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js.map +1 -0
  154. package/es/chat-engine/components/json-render/adapters/a2ui-types.d.ts +96 -0
  155. package/es/chat-engine/components/json-render/adapters/a2ui-types.js +7 -0
  156. package/es/chat-engine/components/json-render/adapters/a2ui-types.js.map +1 -0
  157. package/es/chat-engine/components/json-render/adapters/index.d.ts +7 -0
  158. package/es/chat-engine/components/json-render/adapters/index.js +11 -0
  159. package/es/chat-engine/components/json-render/adapters/index.js.map +1 -0
  160. package/es/chat-engine/components/json-render/catalog/a2ui-binding.d.ts +64 -0
  161. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js +36 -0
  162. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js.map +1 -0
  163. package/es/chat-engine/components/json-render/catalog/a2ui-registry.d.ts +78 -0
  164. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js +36 -0
  165. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js.map +1 -0
  166. package/es/chat-engine/components/json-render/catalog/atomic/button.d.ts +14 -0
  167. package/es/chat-engine/components/json-render/catalog/atomic/button.js +71 -0
  168. package/es/chat-engine/components/json-render/catalog/atomic/button.js.map +1 -0
  169. package/es/chat-engine/components/json-render/catalog/atomic/card.d.ts +11 -0
  170. package/es/chat-engine/components/json-render/catalog/atomic/card.js +57 -0
  171. package/es/chat-engine/components/json-render/catalog/atomic/card.js.map +1 -0
  172. package/es/chat-engine/components/json-render/catalog/atomic/input.d.ts +20 -0
  173. package/es/chat-engine/components/json-render/catalog/atomic/input.js +76 -0
  174. package/es/chat-engine/components/json-render/catalog/atomic/input.js.map +1 -0
  175. package/es/chat-engine/components/json-render/catalog/atomic/layout.d.ts +44 -0
  176. package/es/chat-engine/components/json-render/catalog/atomic/layout.js +129 -0
  177. package/es/chat-engine/components/json-render/catalog/atomic/layout.js.map +1 -0
  178. package/es/chat-engine/components/json-render/catalog/atomic/text.d.ts +11 -0
  179. package/es/chat-engine/components/json-render/catalog/atomic/text.js +31 -0
  180. package/es/chat-engine/components/json-render/catalog/atomic/text.js.map +1 -0
  181. package/es/chat-engine/components/json-render/catalog/button.d.ts +14 -0
  182. package/es/chat-engine/components/json-render/catalog/button.js +71 -0
  183. package/es/chat-engine/components/json-render/catalog/button.js.map +1 -0
  184. package/es/chat-engine/components/json-render/catalog/card.d.ts +11 -0
  185. package/es/chat-engine/components/json-render/catalog/card.js +57 -0
  186. package/es/chat-engine/components/json-render/catalog/card.js.map +1 -0
  187. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.d.ts +614 -0
  188. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js +779 -0
  189. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js.map +1 -0
  190. package/es/chat-engine/components/json-render/catalog/index.d.ts +128 -0
  191. package/es/chat-engine/components/json-render/catalog/index.js +36 -0
  192. package/es/chat-engine/components/json-render/catalog/index.js.map +1 -0
  193. package/es/chat-engine/components/json-render/catalog/input.d.ts +20 -0
  194. package/es/chat-engine/components/json-render/catalog/input.js +36 -0
  195. package/es/chat-engine/components/json-render/catalog/input.js.map +1 -0
  196. package/es/chat-engine/components/json-render/catalog/layout.d.ts +44 -0
  197. package/es/chat-engine/components/json-render/catalog/layout.js +129 -0
  198. package/es/chat-engine/components/json-render/catalog/layout.js.map +1 -0
  199. package/es/chat-engine/components/json-render/catalog/text.d.ts +11 -0
  200. package/es/chat-engine/components/json-render/catalog/text.js +31 -0
  201. package/es/chat-engine/components/json-render/catalog/text.js.map +1 -0
  202. package/es/chat-engine/components/json-render/catalog.d.ts +614 -0
  203. package/es/chat-engine/components/json-render/catalog.js +779 -0
  204. package/es/chat-engine/components/json-render/catalog.js.map +1 -0
  205. package/es/chat-engine/components/json-render/config.d.ts +154 -0
  206. package/es/chat-engine/components/json-render/config.js +36 -0
  207. package/es/chat-engine/components/json-render/config.js.map +1 -0
  208. package/es/chat-engine/components/json-render/contexts/actions.d.ts +79 -0
  209. package/es/chat-engine/components/json-render/contexts/actions.js +313 -0
  210. package/es/chat-engine/components/json-render/contexts/actions.js.map +1 -0
  211. package/es/chat-engine/components/json-render/contexts/data.d.ts +137 -0
  212. package/es/chat-engine/components/json-render/contexts/data.js +183 -0
  213. package/es/chat-engine/components/json-render/contexts/data.js.map +1 -0
  214. package/es/chat-engine/components/json-render/contexts/index.d.ts +4 -0
  215. package/es/chat-engine/components/json-render/contexts/index.js +27 -0
  216. package/es/chat-engine/components/json-render/contexts/index.js.map +1 -0
  217. package/es/chat-engine/components/json-render/contexts/store.d.ts +67 -0
  218. package/es/chat-engine/components/json-render/contexts/store.js +104 -0
  219. package/es/chat-engine/components/json-render/contexts/store.js.map +1 -0
  220. package/es/chat-engine/components/json-render/contexts/tree.d.ts +44 -0
  221. package/es/chat-engine/components/json-render/contexts/tree.js +78 -0
  222. package/es/chat-engine/components/json-render/contexts/tree.js.map +1 -0
  223. package/es/chat-engine/components/json-render/contexts/validation.d.ts +59 -0
  224. package/es/chat-engine/components/json-render/contexts/validation.js +159 -0
  225. package/es/chat-engine/components/json-render/contexts/validation.js.map +1 -0
  226. package/es/chat-engine/components/json-render/contexts/visibility.d.ts +39 -0
  227. package/es/chat-engine/components/json-render/contexts/visibility.js +66 -0
  228. package/es/chat-engine/components/json-render/contexts/visibility.js.map +1 -0
  229. package/es/chat-engine/components/json-render/engine.d.ts +58 -0
  230. package/es/chat-engine/components/json-render/engine.js +88 -0
  231. package/es/chat-engine/components/json-render/engine.js.map +1 -0
  232. package/es/chat-engine/components/json-render/index.d.ts +13 -0
  233. package/es/chat-engine/components/json-render/index.js +76 -0
  234. package/es/chat-engine/components/json-render/index.js.map +1 -0
  235. package/es/chat-engine/components/json-render/performance.d.ts +91 -0
  236. package/es/chat-engine/components/json-render/performance.js +135 -0
  237. package/es/chat-engine/components/json-render/performance.js.map +1 -0
  238. package/es/chat-engine/components/json-render/registry/a2ui-binding.d.ts +64 -0
  239. package/es/chat-engine/components/json-render/registry/a2ui-binding.js +76 -0
  240. package/es/chat-engine/components/json-render/registry/a2ui-binding.js.map +1 -0
  241. package/es/chat-engine/components/json-render/registry/a2ui-registry.d.ts +78 -0
  242. package/es/chat-engine/components/json-render/registry/a2ui-registry.js +76 -0
  243. package/es/chat-engine/components/json-render/registry/a2ui-registry.js.map +1 -0
  244. package/es/chat-engine/components/json-render/registry/config.d.ts +142 -0
  245. package/es/chat-engine/components/json-render/registry/config.js +76 -0
  246. package/es/chat-engine/components/json-render/registry/config.js.map +1 -0
  247. package/es/chat-engine/components/json-render/registry/index.d.ts +137 -0
  248. package/es/chat-engine/components/json-render/registry/index.js +76 -0
  249. package/es/chat-engine/components/json-render/registry/index.js.map +1 -0
  250. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.d.ts +35 -0
  251. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js +271 -0
  252. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js.map +1 -0
  253. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.d.ts +44 -0
  254. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js +63 -0
  255. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js.map +1 -0
  256. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.d.ts +44 -0
  257. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js +131 -0
  258. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js.map +1 -0
  259. package/es/chat-engine/components/json-render/renderer/_index.d.ts +71 -0
  260. package/es/chat-engine/components/json-render/renderer/_index.js +133 -0
  261. package/es/chat-engine/components/json-render/renderer/_index.js.map +1 -0
  262. package/es/chat-engine/components/json-render/renderer/index.d.ts +71 -0
  263. package/es/chat-engine/components/json-render/renderer/index.js +125 -0
  264. package/es/chat-engine/components/json-render/renderer/index.js.map +1 -0
  265. package/es/chat-engine/components/json-render/renderer.d.ts +71 -0
  266. package/es/chat-engine/components/json-render/renderer.js +124 -0
  267. package/es/chat-engine/components/json-render/renderer.js.map +1 -0
  268. package/es/chat-engine/components/json-render/types.d.ts +87 -0
  269. package/es/chat-engine/components/json-render/types.js +7 -0
  270. package/es/chat-engine/components/json-render/types.js.map +1 -0
  271. package/es/chat-engine/components/shared/ComponentErrorBoundary.d.ts +25 -0
  272. package/es/chat-engine/components/shared/ComponentErrorBoundary.js +58 -0
  273. package/es/chat-engine/components/shared/ComponentErrorBoundary.js.map +1 -0
  274. package/es/chat-engine/components/shared/createRegistry.d.ts +36 -0
  275. package/es/chat-engine/components/shared/createRegistry.js +72 -0
  276. package/es/chat-engine/components/shared/createRegistry.js.map +1 -0
  277. package/es/chat-engine/components/shared/index.d.ts +4 -0
  278. package/es/chat-engine/components/shared/index.js +18 -0
  279. package/es/chat-engine/components/shared/index.js.map +1 -0
  280. package/es/chat-engine/components/shared/useRegistrationListener.d.ts +22 -0
  281. package/es/chat-engine/components/shared/useRegistrationListener.js +45 -0
  282. package/es/chat-engine/components/shared/useRegistrationListener.js.map +1 -0
  283. package/es/chat-engine/components/toolcall/index.d.ts +1 -1
  284. package/es/chat-engine/components/toolcall/index.js +11 -7
  285. package/es/chat-engine/components/toolcall/index.js.map +1 -1
  286. package/es/chat-engine/components/toolcall/registry.d.ts +6 -32
  287. package/es/chat-engine/components/toolcall/registry.js +22 -66
  288. package/es/chat-engine/components/toolcall/registry.js.map +1 -1
  289. package/es/chat-engine/components/toolcall/render.js +27 -75
  290. package/es/chat-engine/components/toolcall/render.js.map +1 -1
  291. package/es/chat-engine/core/a2ui/index.d.ts +10 -0
  292. package/es/chat-engine/core/a2ui/index.js +24 -0
  293. package/es/chat-engine/core/a2ui/index.js.map +1 -0
  294. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
  295. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js +438 -0
  296. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
  297. package/es/chat-engine/core/a2ui/processor/ComponentTree.d.ts +53 -0
  298. package/es/chat-engine/core/a2ui/processor/ComponentTree.js +158 -0
  299. package/es/chat-engine/core/a2ui/processor/ComponentTree.js.map +1 -0
  300. package/es/chat-engine/core/a2ui/processor/DataStore.d.ts +63 -0
  301. package/es/chat-engine/core/a2ui/processor/DataStore.js +172 -0
  302. package/es/chat-engine/core/a2ui/processor/DataStore.js.map +1 -0
  303. package/es/chat-engine/core/a2ui/processor/PathResolver.d.ts +47 -0
  304. package/es/chat-engine/core/a2ui/processor/PathResolver.js +99 -0
  305. package/es/chat-engine/core/a2ui/processor/PathResolver.js.map +1 -0
  306. package/es/chat-engine/core/a2ui/types/index.d.ts +4 -0
  307. package/es/chat-engine/core/a2ui/types/index.js +9 -0
  308. package/es/chat-engine/core/a2ui/types/index.js.map +1 -0
  309. package/es/chat-engine/core/a2ui/types/types.d.ts +770 -0
  310. package/es/chat-engine/core/a2ui/types/types.js +104 -0
  311. package/es/chat-engine/core/a2ui/types/types.js.map +1 -0
  312. package/es/chat-engine/core/a2ui/utils/binding.d.ts +34 -0
  313. package/es/chat-engine/core/a2ui/utils/binding.js +1784 -0
  314. package/es/chat-engine/core/a2ui/utils/binding.js.map +1 -0
  315. package/es/chat-engine/core/a2ui/utils/index.d.ts +5 -0
  316. package/es/chat-engine/core/a2ui/utils/index.js +13 -0
  317. package/es/chat-engine/core/a2ui/utils/index.js.map +1 -0
  318. package/es/chat-engine/core/a2ui/utils/validation.d.ts +70 -0
  319. package/es/chat-engine/core/a2ui/utils/validation.js +333 -0
  320. package/es/chat-engine/core/a2ui/utils/validation.js.map +1 -0
  321. package/es/chat-engine/core/adapters/a2ui/index.d.ts +10 -0
  322. package/es/chat-engine/core/adapters/a2ui/index.js +24 -0
  323. package/es/chat-engine/core/adapters/a2ui/index.js.map +1 -0
  324. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
  325. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.js +438 -0
  326. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
  327. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.d.ts +53 -0
  328. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.js +158 -0
  329. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.js.map +1 -0
  330. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.d.ts +63 -0
  331. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.js +172 -0
  332. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.js.map +1 -0
  333. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.d.ts +47 -0
  334. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.js +99 -0
  335. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.js.map +1 -0
  336. package/es/chat-engine/core/adapters/a2ui/types/index.d.ts +4 -0
  337. package/es/chat-engine/core/adapters/a2ui/types/index.js +9 -0
  338. package/es/chat-engine/core/adapters/a2ui/types/index.js.map +1 -0
  339. package/es/chat-engine/core/adapters/a2ui/types/types.d.ts +770 -0
  340. package/es/chat-engine/core/adapters/a2ui/types/types.js +104 -0
  341. package/es/chat-engine/core/adapters/a2ui/types/types.js.map +1 -0
  342. package/es/chat-engine/core/adapters/a2ui/utils/binding.d.ts +34 -0
  343. package/es/chat-engine/core/adapters/a2ui/utils/binding.js +1784 -0
  344. package/es/chat-engine/core/adapters/a2ui/utils/binding.js.map +1 -0
  345. package/es/chat-engine/core/adapters/a2ui/utils/index.d.ts +5 -0
  346. package/es/chat-engine/core/adapters/a2ui/utils/index.js +13 -0
  347. package/es/chat-engine/core/adapters/a2ui/utils/index.js.map +1 -0
  348. package/es/chat-engine/core/adapters/a2ui/utils/validation.d.ts +70 -0
  349. package/es/chat-engine/core/adapters/a2ui/utils/validation.js +333 -0
  350. package/es/chat-engine/core/adapters/a2ui/utils/validation.js.map +1 -0
  351. package/es/chat-engine/core/adapters/agui/ActivityManager.d.ts +93 -0
  352. package/es/chat-engine/core/adapters/agui/ActivityManager.js +148 -0
  353. package/es/chat-engine/core/adapters/agui/ActivityManager.js.map +1 -0
  354. package/es/chat-engine/core/adapters/agui/StateManager.d.ts +99 -0
  355. package/es/chat-engine/core/adapters/agui/StateManager.js +172 -0
  356. package/es/chat-engine/core/adapters/agui/StateManager.js.map +1 -0
  357. package/es/chat-engine/core/adapters/agui/activity-manager.d.ts +102 -0
  358. package/es/chat-engine/core/adapters/agui/activity-manager.js +150 -0
  359. package/es/chat-engine/core/adapters/agui/activity-manager.js.map +1 -0
  360. package/es/chat-engine/core/adapters/agui/event-mapper.d.ts +149 -0
  361. package/es/chat-engine/core/adapters/agui/event-mapper.js +417 -0
  362. package/es/chat-engine/core/adapters/agui/event-mapper.js.map +1 -0
  363. package/es/chat-engine/core/adapters/agui/events.d.ts +1550 -0
  364. package/es/chat-engine/core/adapters/agui/events.js +199 -0
  365. package/es/chat-engine/core/adapters/agui/events.js.map +1 -0
  366. package/es/chat-engine/core/adapters/agui/index.d.ts +92 -0
  367. package/es/chat-engine/core/adapters/agui/index.js +200 -0
  368. package/es/chat-engine/core/adapters/agui/index.js.map +1 -0
  369. package/es/chat-engine/core/adapters/agui/state-manager.d.ts +99 -0
  370. package/es/chat-engine/core/adapters/agui/state-manager.js +174 -0
  371. package/es/chat-engine/core/adapters/agui/state-manager.js.map +1 -0
  372. package/es/chat-engine/core/adapters/agui/types/events.d.ts +1570 -0
  373. package/es/chat-engine/core/adapters/agui/types/events.js +15 -0
  374. package/es/chat-engine/core/adapters/agui/types/events.js.map +1 -0
  375. package/es/chat-engine/core/adapters/agui/types/index.d.ts +854 -0
  376. package/es/chat-engine/core/adapters/agui/types/index.js +279 -0
  377. package/es/chat-engine/core/adapters/agui/types/index.js.map +1 -0
  378. package/es/chat-engine/core/adapters/agui/types.d.ts +818 -0
  379. package/es/chat-engine/core/adapters/agui/types.js +95 -0
  380. package/es/chat-engine/core/adapters/agui/types.js.map +1 -0
  381. package/es/chat-engine/core/adapters/agui/utils.d.ts +203 -0
  382. package/es/chat-engine/core/adapters/agui/utils.js +330 -0
  383. package/es/chat-engine/core/adapters/agui/utils.js.map +1 -0
  384. package/es/chat-engine/core/adapters/index.d.ts +5 -0
  385. package/es/chat-engine/core/adapters/index.js +34 -0
  386. package/es/chat-engine/core/adapters/index.js.map +1 -0
  387. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.d.ts +114 -0
  388. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.js +194 -0
  389. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.js.map +1 -0
  390. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.d.ts +49 -0
  391. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.js +307 -0
  392. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.js.map +1 -0
  393. package/es/chat-engine/core/adapters/json-render/engine.d.ts +58 -0
  394. package/es/chat-engine/core/adapters/json-render/engine.js +88 -0
  395. package/es/chat-engine/core/adapters/json-render/engine.js.map +1 -0
  396. package/es/chat-engine/core/adapters/json-render/index.d.ts +8 -0
  397. package/es/chat-engine/core/adapters/json-render/index.js +18 -0
  398. package/es/chat-engine/core/adapters/json-render/index.js.map +1 -0
  399. package/es/chat-engine/core/adapters/json-render/types/a2ui.d.ts +96 -0
  400. package/es/chat-engine/core/adapters/json-render/types/a2ui.js +7 -0
  401. package/es/chat-engine/core/adapters/json-render/types/a2ui.js.map +1 -0
  402. package/es/chat-engine/core/adapters/json-render/types/core.d.ts +49 -0
  403. package/es/chat-engine/core/adapters/json-render/types/core.js +7 -0
  404. package/es/chat-engine/core/adapters/json-render/types/core.js.map +1 -0
  405. package/es/chat-engine/core/adapters/json-render/types/index.d.ts +5 -0
  406. package/es/chat-engine/core/adapters/json-render/types/index.js +9 -0
  407. package/es/chat-engine/core/adapters/json-render/types/index.js.map +1 -0
  408. package/es/chat-engine/core/event-bus/ChatEventBus.d.ts +88 -0
  409. package/es/chat-engine/core/event-bus/ChatEventBus.js +295 -0
  410. package/es/chat-engine/core/event-bus/ChatEventBus.js.map +1 -0
  411. package/es/chat-engine/core/event-bus/index.d.ts +5 -0
  412. package/es/chat-engine/core/event-bus/index.js +13 -0
  413. package/es/chat-engine/core/event-bus/index.js.map +1 -0
  414. package/es/chat-engine/core/event-bus/types.d.ts +230 -0
  415. package/es/chat-engine/core/event-bus/types.js +32 -0
  416. package/es/chat-engine/core/event-bus/types.js.map +1 -0
  417. package/es/chat-engine/core/index.d.ts +147 -0
  418. package/es/chat-engine/core/index.js +760 -0
  419. package/es/chat-engine/core/index.js.map +1 -0
  420. package/es/chat-engine/core/processor/index.d.ts +20 -0
  421. package/es/chat-engine/core/processor/index.js +146 -0
  422. package/es/chat-engine/core/processor/index.js.map +1 -0
  423. package/es/chat-engine/core/server/batch-client.d.ts +20 -0
  424. package/es/chat-engine/core/server/batch-client.js +114 -0
  425. package/es/chat-engine/core/server/batch-client.js.map +1 -0
  426. package/es/chat-engine/core/server/connection-manager.d.ts +39 -0
  427. package/es/chat-engine/core/server/connection-manager.js +84 -0
  428. package/es/chat-engine/core/server/connection-manager.js.map +1 -0
  429. package/es/chat-engine/core/server/errors.d.ts +22 -0
  430. package/es/chat-engine/core/server/errors.js +80 -0
  431. package/es/chat-engine/core/server/errors.js.map +1 -0
  432. package/es/chat-engine/core/server/index.d.ts +11 -0
  433. package/es/chat-engine/core/server/index.js +26 -0
  434. package/es/chat-engine/core/server/index.js.map +1 -0
  435. package/es/chat-engine/core/server/llm-service.d.ts +44 -0
  436. package/es/chat-engine/core/server/llm-service.js +200 -0
  437. package/es/chat-engine/core/server/llm-service.js.map +1 -0
  438. package/es/chat-engine/core/server/sse-client.d.ts +77 -0
  439. package/es/chat-engine/core/server/sse-client.js +362 -0
  440. package/es/chat-engine/core/server/sse-client.js.map +1 -0
  441. package/es/chat-engine/core/server/sse-parser.d.ts +49 -0
  442. package/es/chat-engine/core/server/sse-parser.js +116 -0
  443. package/es/chat-engine/core/server/sse-parser.js.map +1 -0
  444. package/es/chat-engine/core/server/types.d.ts +54 -0
  445. package/es/chat-engine/core/server/types.js +28 -0
  446. package/es/chat-engine/core/server/types.js.map +1 -0
  447. package/es/chat-engine/core/store/message.d.ts +27 -0
  448. package/es/chat-engine/core/store/message.js +267 -0
  449. package/es/chat-engine/core/store/message.js.map +1 -0
  450. package/es/chat-engine/core/store/model.d.ts +8 -0
  451. package/es/chat-engine/core/store/model.js +66 -0
  452. package/es/chat-engine/core/store/model.js.map +1 -0
  453. package/es/chat-engine/core/store/reactiveState.d.ts +56 -0
  454. package/es/chat-engine/core/store/reactiveState.js +139 -0
  455. package/es/chat-engine/core/store/reactiveState.js.map +1 -0
  456. package/es/chat-engine/core/type.d.ts +279 -0
  457. package/es/chat-engine/core/type.js +7 -0
  458. package/es/chat-engine/core/type.js.map +1 -0
  459. package/es/chat-engine/core/utils/eventEmitter.d.ts +10 -0
  460. package/es/chat-engine/core/utils/eventEmitter.js +67 -0
  461. package/es/chat-engine/core/utils/eventEmitter.js.map +1 -0
  462. package/es/chat-engine/core/utils/immutable-patch.d.ts +61 -0
  463. package/es/chat-engine/core/utils/immutable-patch.js +147 -0
  464. package/es/chat-engine/core/utils/immutable-patch.js.map +1 -0
  465. package/es/chat-engine/core/utils/index.d.ts +38 -0
  466. package/es/chat-engine/core/utils/index.js +125 -0
  467. package/es/chat-engine/core/utils/index.js.map +1 -0
  468. package/es/chat-engine/core/utils/json-patch/helpers.d.ts +41 -0
  469. package/es/chat-engine/core/utils/json-patch/helpers.js +164 -0
  470. package/es/chat-engine/core/utils/json-patch/helpers.js.map +1 -0
  471. package/es/chat-engine/core/utils/json-patch/index.d.ts +115 -0
  472. package/es/chat-engine/core/utils/json-patch/index.js +387 -0
  473. package/es/chat-engine/core/utils/json-patch/index.js.map +1 -0
  474. package/es/chat-engine/core/utils/logger.d.ts +30 -0
  475. package/es/chat-engine/core/utils/logger.js +87 -0
  476. package/es/chat-engine/core/utils/logger.js.map +1 -0
  477. package/es/chat-engine/core/utils/performance.d.ts +94 -0
  478. package/es/chat-engine/core/utils/performance.js +205 -0
  479. package/es/chat-engine/core/utils/performance.js.map +1 -0
  480. package/es/chat-engine/hooks/a2ui/A2UIContext.d.ts +90 -0
  481. package/es/chat-engine/hooks/a2ui/A2UIContext.js +97 -0
  482. package/es/chat-engine/hooks/a2ui/A2UIContext.js.map +1 -0
  483. package/es/chat-engine/hooks/a2ui/index.d.ts +12 -0
  484. package/es/chat-engine/hooks/a2ui/index.js +19 -0
  485. package/es/chat-engine/hooks/a2ui/index.js.map +1 -0
  486. package/es/chat-engine/hooks/a2ui/useA2UIAction.d.ts +40 -0
  487. package/es/chat-engine/hooks/a2ui/useA2UIAction.js +74 -0
  488. package/es/chat-engine/hooks/a2ui/useA2UIAction.js.map +1 -0
  489. package/es/chat-engine/hooks/a2ui/useA2UISurface.d.ts +36 -0
  490. package/es/chat-engine/hooks/a2ui/useA2UISurface.js +39 -0
  491. package/es/chat-engine/hooks/a2ui/useA2UISurface.js.map +1 -0
  492. package/es/chat-engine/hooks/a2ui/useDataBinding.d.ts +53 -0
  493. package/es/chat-engine/hooks/a2ui/useDataBinding.js +111 -0
  494. package/es/chat-engine/hooks/a2ui/useDataBinding.js.map +1 -0
  495. package/es/chat-engine/hooks/index.js +7 -0
  496. package/es/chat-engine/hooks/index.js.map +1 -1
  497. package/es/chat-engine/hooks/useAgentActivity.js +9 -1
  498. package/es/chat-engine/hooks/useAgentActivity.js.map +1 -1
  499. package/es/chat-engine/hooks/useAgentToolcall.js +9 -1
  500. package/es/chat-engine/hooks/useAgentToolcall.js.map +1 -1
  501. package/es/chat-engine/hooks/useJsonRenderActivity.d.ts +56 -0
  502. package/es/chat-engine/hooks/useJsonRenderActivity.js +63 -0
  503. package/es/chat-engine/hooks/useJsonRenderActivity.js.map +1 -0
  504. package/es/chat-engine/index.js +8 -4
  505. package/es/chat-engine/index.js.map +1 -1
  506. package/es/chat-filecard/index.js +3 -5
  507. package/es/chat-filecard/index.js.map +1 -1
  508. package/es/chat-loading/index.js +3 -5
  509. package/es/chat-loading/index.js.map +1 -1
  510. package/es/chat-markdown/index.js +3 -5
  511. package/es/chat-markdown/index.js.map +1 -1
  512. package/es/chat-message/index.js +3 -5
  513. package/es/chat-message/index.js.map +1 -1
  514. package/es/chat-sender/index.js +3 -5
  515. package/es/chat-sender/index.js.map +1 -1
  516. package/es/chat-thinking/index.js +3 -5
  517. package/es/chat-thinking/index.js.map +1 -1
  518. package/es/chatbot/docs/react-best-practice.d.ts +13 -0
  519. package/es/chatbot/index.js +3 -5
  520. package/es/chatbot/index.js.map +1 -1
  521. package/es/index.js +10 -7
  522. package/es/index.js.map +1 -1
  523. package/package.json +16 -11
  524. package/es/chatbot/_example-js/agui-toolcall.d.ts +0 -11
@@ -0,0 +1,71 @@
1
+ import { type ComponentType, type ReactNode } from "react";
2
+ import type { UIElement, UITree, Action, Catalog, ComponentDefinition } from "@json-render/core";
3
+ /**
4
+ * Props passed to component renderers
5
+ */
6
+ export interface ComponentRenderProps<P = Record<string, unknown>> {
7
+ /** The element being rendered */
8
+ element: UIElement<string, P>;
9
+ /** Rendered children */
10
+ children?: ReactNode;
11
+ /** Execute an action */
12
+ onAction?: (action: Action) => void;
13
+ /** Whether the parent is loading */
14
+ loading?: boolean;
15
+ }
16
+ /**
17
+ * Component renderer type
18
+ */
19
+ export type ComponentRenderer<P = Record<string, unknown>> = ComponentType<ComponentRenderProps<P>>;
20
+ /**
21
+ * Registry of component renderers
22
+ */
23
+ export type ComponentRegistry = Record<string, ComponentRenderer<any>>;
24
+ /**
25
+ * Props for the Renderer component
26
+ */
27
+ export interface RendererProps {
28
+ /** The UI tree to render */
29
+ tree: UITree | null;
30
+ /** Component registry */
31
+ registry: ComponentRegistry;
32
+ /** Whether the tree is currently loading/streaming */
33
+ loading?: boolean;
34
+ /** Fallback component for unknown types */
35
+ fallback?: ComponentRenderer;
36
+ }
37
+ /**
38
+ * Main renderer component
39
+ */
40
+ export declare function JsonRenderElement({ tree, registry, loading, fallback }: RendererProps): import("react/jsx-runtime").JSX.Element;
41
+ /**
42
+ * Props for JSONUIProvider
43
+ */
44
+ export interface JSONUIProviderProps {
45
+ /** Component registry */
46
+ registry: ComponentRegistry;
47
+ /** Initial data model */
48
+ initialData?: Record<string, unknown>;
49
+ /** Auth state */
50
+ authState?: {
51
+ isSignedIn: boolean;
52
+ user?: Record<string, unknown>;
53
+ };
54
+ /** Action handlers */
55
+ actionHandlers?: Record<string, (params: Record<string, unknown>) => Promise<unknown> | unknown>;
56
+ /** Navigation function */
57
+ navigate?: (path: string) => void;
58
+ /** Custom validation functions */
59
+ validationFunctions?: Record<string, (value: unknown, args?: Record<string, unknown>) => boolean>;
60
+ /** Callback when data changes */
61
+ onDataChange?: (path: string, value: unknown) => void;
62
+ children: ReactNode;
63
+ }
64
+ /**
65
+ * Combined provider for all JSONUI contexts
66
+ */
67
+ export declare function JSONUIProvider({ registry, initialData, authState, actionHandlers, navigate, validationFunctions, onDataChange, children, }: JSONUIProviderProps): import("react/jsx-runtime").JSX.Element;
68
+ /**
69
+ * Helper to create a renderer component from a catalog
70
+ */
71
+ export declare function createRendererFromCatalog<C extends Catalog<Record<string, ComponentDefinition>>>(_catalog: C, registry: ComponentRegistry): ComponentType<Omit<RendererProps, "registry">>;
@@ -0,0 +1,133 @@
1
+ /**
2
+ * tdesign v1.1.0-alpha.11
3
+ * (c) 2026 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
8
+ import React from 'react';
9
+ import '../contexts/index.js';
10
+ import { useIsVisible, VisibilityProvider } from '../contexts/visibility.js';
11
+ import { useActions, ActionProvider, ConfirmDialog } from '../contexts/actions.js';
12
+ import { DataProvider } from '../contexts/data.js';
13
+ import { ValidationProvider } from '../contexts/validation.js';
14
+ import '@babel/runtime/helpers/typeof';
15
+ import '@babel/runtime/helpers/slicedToArray';
16
+ import '@babel/runtime/helpers/classCallCheck';
17
+ import '@babel/runtime/helpers/createClass';
18
+ import '@babel/runtime/helpers/possibleConstructorReturn';
19
+ import '@babel/runtime/helpers/getPrototypeOf';
20
+ import '@babel/runtime/helpers/inherits';
21
+ import '../../../../_chunks/dep-1ca64fef.js';
22
+ import '@babel/runtime/helpers/wrapNativeSuper';
23
+ import '@json-render/core';
24
+ import '../contexts/store.js';
25
+ import '@babel/runtime/helpers/asyncToGenerator';
26
+ import '@babel/runtime/regenerator';
27
+ import '@babel/runtime/helpers/objectWithoutProperties';
28
+
29
+ "use client";
30
+ 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; }
31
+ 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; }
32
+ function ElementRenderer(_ref) {
33
+ var _registry$element$typ, _element$children;
34
+ var element = _ref.element,
35
+ tree = _ref.tree,
36
+ registry = _ref.registry,
37
+ loading = _ref.loading,
38
+ fallback = _ref.fallback;
39
+ var isVisible = useIsVisible(element.visible);
40
+ var _useActions = useActions(),
41
+ execute = _useActions.execute;
42
+ if (!isVisible) {
43
+ return null;
44
+ }
45
+ var Component = (_registry$element$typ = registry[element.type]) !== null && _registry$element$typ !== void 0 ? _registry$element$typ : fallback;
46
+ if (!Component) {
47
+ console.warn("No renderer for component type: ".concat(element.type));
48
+ return null;
49
+ }
50
+ var children = (_element$children = element.children) === null || _element$children === void 0 ? void 0 : _element$children.map(function (childKey) {
51
+ var childElement = tree.elements[childKey];
52
+ if (!childElement) {
53
+ return null;
54
+ }
55
+ return /* @__PURE__ */React.createElement(ElementRenderer, {
56
+ key: childKey,
57
+ element: childElement,
58
+ tree: tree,
59
+ registry: registry,
60
+ loading: loading,
61
+ fallback: fallback
62
+ });
63
+ });
64
+ return /* @__PURE__ */React.createElement(Component, {
65
+ element: element,
66
+ onAction: execute,
67
+ loading: loading
68
+ }, children);
69
+ }
70
+ function JsonRenderElement(_ref2) {
71
+ var tree = _ref2.tree,
72
+ registry = _ref2.registry,
73
+ loading = _ref2.loading,
74
+ fallback = _ref2.fallback;
75
+ if (!tree || !tree.root) {
76
+ return null;
77
+ }
78
+ var rootElement = tree.elements[tree.root];
79
+ if (!rootElement) {
80
+ return null;
81
+ }
82
+ return /* @__PURE__ */React.createElement(ElementRenderer, {
83
+ element: rootElement,
84
+ tree: tree,
85
+ registry: registry,
86
+ loading: loading,
87
+ fallback: fallback
88
+ });
89
+ }
90
+ function JSONUIProvider(_ref3) {
91
+ var registry = _ref3.registry,
92
+ initialData = _ref3.initialData,
93
+ authState = _ref3.authState,
94
+ actionHandlers = _ref3.actionHandlers,
95
+ navigate = _ref3.navigate,
96
+ validationFunctions = _ref3.validationFunctions,
97
+ onDataChange = _ref3.onDataChange,
98
+ children = _ref3.children;
99
+ return /* @__PURE__ */React.createElement(DataProvider, {
100
+ initialData: initialData,
101
+ authState: authState,
102
+ onDataChange: onDataChange
103
+ }, /* @__PURE__ */React.createElement(VisibilityProvider, null, /* @__PURE__ */React.createElement(ActionProvider, {
104
+ handlers: actionHandlers,
105
+ navigate: navigate
106
+ }, /* @__PURE__ */React.createElement(ValidationProvider, {
107
+ customFunctions: validationFunctions
108
+ }, children, /* @__PURE__ */React.createElement(ConfirmationDialogManager, null)))));
109
+ }
110
+ function ConfirmationDialogManager() {
111
+ var _useActions2 = useActions(),
112
+ pendingConfirmation = _useActions2.pendingConfirmation,
113
+ confirm = _useActions2.confirm,
114
+ cancel = _useActions2.cancel;
115
+ if (!(pendingConfirmation !== null && pendingConfirmation !== void 0 && pendingConfirmation.action.confirm)) {
116
+ return null;
117
+ }
118
+ return /* @__PURE__ */React.createElement(ConfirmDialog, {
119
+ confirm: pendingConfirmation.action.confirm,
120
+ onConfirm: confirm,
121
+ onCancel: cancel
122
+ });
123
+ }
124
+ function createRendererFromCatalog(_catalog, registry) {
125
+ return function CatalogRenderer(props) {
126
+ return /* @__PURE__ */React.createElement(JsonRenderElement, _objectSpread(_objectSpread({}, props), {}, {
127
+ registry: registry
128
+ }));
129
+ };
130
+ }
131
+
132
+ export { JSONUIProvider, JsonRenderElement, createRendererFromCatalog };
133
+ //# sourceMappingURL=_index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_index.js","sources":["../../../../../../pro-components/chat/chat-engine/components/json-render/renderer/_index.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { type ComponentType, type ReactNode } from \"react\";\nimport type {\n UIElement,\n UITree,\n Action,\n Catalog,\n ComponentDefinition,\n} from \"@json-render/core\";\nimport { useIsVisible, useActions, ConfirmDialog } from \"../contexts\";\nimport { DataProvider, ValidationProvider, ActionProvider, VisibilityProvider } from \"../contexts\";\n\n/**\n * Props passed to component renderers\n */\nexport interface ComponentRenderProps<P = Record<string, unknown>> {\n /** The element being rendered */\n element: UIElement<string, P>;\n /** Rendered children */\n children?: ReactNode;\n /** Execute an action */\n onAction?: (action: Action) => void;\n /** Whether the parent is loading */\n loading?: boolean;\n}\n\n/**\n * Component renderer type\n */\nexport type ComponentRenderer<P = Record<string, unknown>> = ComponentType<\n ComponentRenderProps<P>\n>;\n\n/**\n * Registry of component renderers\n */\nexport type ComponentRegistry = Record<string, ComponentRenderer<any>>;\n\n/**\n * Props for the Renderer component\n */\nexport interface RendererProps {\n /** The UI tree to render */\n tree: UITree | null;\n /** Component registry */\n registry: ComponentRegistry;\n /** Whether the tree is currently loading/streaming */\n loading?: boolean;\n /** Fallback component for unknown types */\n fallback?: ComponentRenderer;\n}\n\n/**\n * Element renderer component\n */\nfunction ElementRenderer({\n element,\n tree,\n registry,\n loading,\n fallback,\n}: {\n element: UIElement;\n tree: UITree;\n registry: ComponentRegistry;\n loading?: boolean;\n fallback?: ComponentRenderer;\n}) {\n const isVisible = useIsVisible(element.visible);\n const { execute } = useActions();\n\n // Don't render if not visible\n if (!isVisible) {\n return null;\n }\n\n // Get the component renderer\n const Component = registry[element.type] ?? fallback;\n\n if (!Component) {\n console.warn(`No renderer for component type: ${element.type}`);\n return null;\n }\n\n // Render children\n const children = element.children?.map((childKey) => {\n const childElement = tree.elements[childKey];\n if (!childElement) {\n return null;\n }\n return (\n <ElementRenderer\n key={childKey}\n element={childElement}\n tree={tree}\n registry={registry}\n loading={loading}\n fallback={fallback}\n />\n );\n });\n\n return (\n <Component element={element} onAction={execute} loading={loading}>\n {children}\n </Component>\n );\n}\n\n/**\n * Main renderer component\n */\nexport function JsonRenderElement({ tree, registry, loading, fallback }: RendererProps) {\n if (!tree || !tree.root) {\n return null;\n }\n\n const rootElement = tree.elements[tree.root];\n if (!rootElement) {\n return null;\n }\n\n return (\n <ElementRenderer\n element={rootElement}\n tree={tree}\n registry={registry}\n loading={loading}\n fallback={fallback}\n />\n );\n}\n\n/**\n * Props for JSONUIProvider\n */\nexport interface JSONUIProviderProps {\n /** Component registry */\n registry: ComponentRegistry;\n /** Initial data model */\n initialData?: Record<string, unknown>;\n /** Auth state */\n authState?: { isSignedIn: boolean; user?: Record<string, unknown> };\n /** Action handlers */\n actionHandlers?: Record<\n string,\n (params: Record<string, unknown>) => Promise<unknown> | unknown\n >;\n /** Navigation function */\n navigate?: (path: string) => void;\n /** Custom validation functions */\n validationFunctions?: Record<\n string,\n (value: unknown, args?: Record<string, unknown>) => boolean\n >;\n /** Callback when data changes */\n onDataChange?: (path: string, value: unknown) => void;\n children: ReactNode;\n}\n\n\n/**\n * Combined provider for all JSONUI contexts\n */\nexport function JSONUIProvider({\n registry,\n initialData,\n authState,\n actionHandlers,\n navigate,\n validationFunctions,\n onDataChange,\n children,\n}: JSONUIProviderProps) {\n return (\n <DataProvider\n initialData={initialData}\n authState={authState}\n onDataChange={onDataChange}\n >\n <VisibilityProvider>\n <ActionProvider handlers={actionHandlers} navigate={navigate}>\n <ValidationProvider customFunctions={validationFunctions}>\n {children}\n <ConfirmationDialogManager />\n </ValidationProvider>\n </ActionProvider>\n </VisibilityProvider>\n </DataProvider>\n );\n}\n\n/**\n * Renders the confirmation dialog when needed\n */\nfunction ConfirmationDialogManager() {\n const { pendingConfirmation, confirm, cancel } = useActions();\n\n if (!pendingConfirmation?.action.confirm) {\n return null;\n }\n\n return (\n <ConfirmDialog\n confirm={pendingConfirmation.action.confirm}\n onConfirm={confirm}\n onCancel={cancel}\n />\n );\n}\n\n/**\n * Helper to create a renderer component from a catalog\n */\nexport function createRendererFromCatalog<\n C extends Catalog<Record<string, ComponentDefinition>>,\n>(\n _catalog: C,\n registry: ComponentRegistry,\n): ComponentType<Omit<RendererProps, \"registry\">> {\n return function CatalogRenderer(props: Omit<RendererProps, \"registry\">) {\n return <JsonRenderElement {...props} registry={registry} />;\n };\n}\n"],"names":["ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","ElementRenderer","_ref","_registry$element$typ","_element$children","element","tree","registry","loading","fallback","isVisible","useIsVisible","visible","_useActions","useActions","execute","Component","type","console","warn","concat","children","map","childKey","childElement","elements","React","createElement","key","onAction","JsonRenderElement","_ref2","root","rootElement","JSONUIProvider","_ref3","initialData","authState","actionHandlers","navigate","validationFunctions","onDataChange","DataProvider","VisibilityProvider","ActionProvider","handlers","ValidationProvider","customFunctions","ConfirmationDialogManager","_useActions2","pendingConfirmation","confirm","cancel","action","ConfirmDialog","onConfirm","onCancel","createRendererFromCatalog","_catalog","CatalogRenderer","props"],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import { type ComponentType, type ReactNode } from "react";
2
+ import type { UIElement, UITree, Action, Catalog, ComponentDefinition } from "@json-render/core";
3
+ /**
4
+ * Props passed to component renderers
5
+ */
6
+ export interface ComponentRenderProps<P = Record<string, unknown>> {
7
+ /** The element being rendered */
8
+ element: UIElement<string, P>;
9
+ /** Rendered children */
10
+ children?: ReactNode;
11
+ /** Execute an action */
12
+ onAction?: (action: Action) => void;
13
+ /** Whether the parent is loading */
14
+ loading?: boolean;
15
+ }
16
+ /**
17
+ * Component renderer type
18
+ */
19
+ export type ComponentRenderer<P = Record<string, unknown>> = ComponentType<ComponentRenderProps<P>>;
20
+ /**
21
+ * Registry of component renderers
22
+ */
23
+ export type ComponentRegistry = Record<string, ComponentRenderer<any>>;
24
+ /**
25
+ * Props for the Renderer component
26
+ */
27
+ export interface RendererProps {
28
+ /** The UI tree to render */
29
+ tree: UITree | null;
30
+ /** Component registry */
31
+ registry: ComponentRegistry;
32
+ /** Whether the tree is currently loading/streaming */
33
+ loading?: boolean;
34
+ /** Fallback component for unknown types */
35
+ fallback?: ComponentRenderer;
36
+ }
37
+ /**
38
+ * Main renderer component
39
+ */
40
+ export declare function JsonRenderElement({ tree, registry, loading, fallback }: RendererProps): import("react/jsx-runtime").JSX.Element;
41
+ /**
42
+ * Props for JSONUIProvider
43
+ */
44
+ export interface JSONUIProviderProps {
45
+ /** Component registry */
46
+ registry: ComponentRegistry;
47
+ /** Initial data model */
48
+ initialData?: Record<string, unknown>;
49
+ /** Auth state */
50
+ authState?: {
51
+ isSignedIn: boolean;
52
+ user?: Record<string, unknown>;
53
+ };
54
+ /** Action handlers */
55
+ actionHandlers?: Record<string, (params: Record<string, unknown>) => Promise<unknown> | unknown>;
56
+ /** Navigation function */
57
+ navigate?: (path: string) => void;
58
+ /** Custom validation functions */
59
+ validationFunctions?: Record<string, (value: unknown, args?: Record<string, unknown>) => boolean>;
60
+ /** Callback when data changes */
61
+ onDataChange?: (path: string, value: unknown) => void;
62
+ children: ReactNode;
63
+ }
64
+ /**
65
+ * Combined provider for all JSONUI contexts
66
+ */
67
+ export declare function JSONUIProvider({ registry, initialData, authState, actionHandlers, navigate, validationFunctions, onDataChange, children, }: JSONUIProviderProps): import("react/jsx-runtime").JSX.Element;
68
+ /**
69
+ * Helper to create a renderer component from a catalog
70
+ */
71
+ export declare function createRendererFromCatalog<C extends Catalog<Record<string, ComponentDefinition>>>(_catalog: C, registry: ComponentRegistry): ComponentType<Omit<RendererProps, "registry">>;
@@ -0,0 +1,125 @@
1
+ /**
2
+ * tdesign v1.1.0-alpha.5
3
+ * (c) 2026 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
8
+ import React from 'react';
9
+ import '../contexts/index.js';
10
+ import { useIsVisible, VisibilityProvider } from '../contexts/visibility.js';
11
+ import { useActions, ActionProvider, ConfirmDialog } from '../contexts/actions.js';
12
+ import { DataProvider } from '../contexts/data.js';
13
+ import { ValidationProvider } from '../contexts/validation.js';
14
+ import '@json-render/core';
15
+ import '@babel/runtime/helpers/asyncToGenerator';
16
+ import '@babel/runtime/helpers/slicedToArray';
17
+ import '@babel/runtime/regenerator';
18
+ import '@babel/runtime/helpers/typeof';
19
+ import '@babel/runtime/helpers/objectWithoutProperties';
20
+
21
+ "use client";
22
+ 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; }
23
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24
+ function ElementRenderer(_ref) {
25
+ var _registry$element$typ, _element$children;
26
+ var element = _ref.element,
27
+ tree = _ref.tree,
28
+ registry = _ref.registry,
29
+ loading = _ref.loading,
30
+ fallback = _ref.fallback;
31
+ var isVisible = useIsVisible(element.visible);
32
+ var _useActions = useActions(),
33
+ execute = _useActions.execute;
34
+ if (!isVisible) {
35
+ return null;
36
+ }
37
+ var Component = (_registry$element$typ = registry[element.type]) !== null && _registry$element$typ !== void 0 ? _registry$element$typ : fallback;
38
+ if (!Component) {
39
+ console.warn("No renderer for component type: ".concat(element.type));
40
+ return null;
41
+ }
42
+ var children = (_element$children = element.children) === null || _element$children === void 0 ? void 0 : _element$children.map(function (childKey) {
43
+ var childElement = tree.elements[childKey];
44
+ if (!childElement) {
45
+ return null;
46
+ }
47
+ return /* @__PURE__ */React.createElement(ElementRenderer, {
48
+ key: childKey,
49
+ element: childElement,
50
+ tree: tree,
51
+ registry: registry,
52
+ loading: loading,
53
+ fallback: fallback
54
+ });
55
+ });
56
+ return /* @__PURE__ */React.createElement(Component, {
57
+ element: element,
58
+ onAction: execute,
59
+ loading: loading
60
+ }, children);
61
+ }
62
+ function JsonRenderElement(_ref2) {
63
+ var tree = _ref2.tree,
64
+ registry = _ref2.registry,
65
+ loading = _ref2.loading,
66
+ fallback = _ref2.fallback;
67
+ if (!tree || !tree.root) {
68
+ return null;
69
+ }
70
+ var rootElement = tree.elements[tree.root];
71
+ if (!rootElement) {
72
+ return null;
73
+ }
74
+ return /* @__PURE__ */React.createElement(ElementRenderer, {
75
+ element: rootElement,
76
+ tree: tree,
77
+ registry: registry,
78
+ loading: loading,
79
+ fallback: fallback
80
+ });
81
+ }
82
+ function JSONUIProvider(_ref3) {
83
+ var registry = _ref3.registry,
84
+ initialData = _ref3.initialData,
85
+ authState = _ref3.authState,
86
+ actionHandlers = _ref3.actionHandlers,
87
+ navigate = _ref3.navigate,
88
+ validationFunctions = _ref3.validationFunctions,
89
+ onDataChange = _ref3.onDataChange,
90
+ children = _ref3.children;
91
+ return /* @__PURE__ */React.createElement(DataProvider, {
92
+ initialData: initialData,
93
+ authState: authState,
94
+ onDataChange: onDataChange
95
+ }, /* @__PURE__ */React.createElement(VisibilityProvider, null, /* @__PURE__ */React.createElement(ActionProvider, {
96
+ handlers: actionHandlers,
97
+ navigate: navigate
98
+ }, /* @__PURE__ */React.createElement(ValidationProvider, {
99
+ customFunctions: validationFunctions
100
+ }, children, /* @__PURE__ */React.createElement(ConfirmationDialogManager, null)))));
101
+ }
102
+ function ConfirmationDialogManager() {
103
+ var _useActions2 = useActions(),
104
+ pendingConfirmation = _useActions2.pendingConfirmation,
105
+ confirm = _useActions2.confirm,
106
+ cancel = _useActions2.cancel;
107
+ if (!(pendingConfirmation !== null && pendingConfirmation !== void 0 && pendingConfirmation.action.confirm)) {
108
+ return null;
109
+ }
110
+ return /* @__PURE__ */React.createElement(ConfirmDialog, {
111
+ confirm: pendingConfirmation.action.confirm,
112
+ onConfirm: confirm,
113
+ onCancel: cancel
114
+ });
115
+ }
116
+ function createRendererFromCatalog(_catalog, registry) {
117
+ return function CatalogRenderer(props) {
118
+ return /* @__PURE__ */React.createElement(JsonRenderElement, _objectSpread(_objectSpread({}, props), {}, {
119
+ registry: registry
120
+ }));
121
+ };
122
+ }
123
+
124
+ export { JSONUIProvider, JsonRenderElement, createRendererFromCatalog };
125
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../pro-components/chat/chat-engine/components/json-render/renderer/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { type ComponentType, type ReactNode } from \"react\";\nimport type {\n UIElement,\n UITree,\n Action,\n Catalog,\n ComponentDefinition,\n} from \"@json-render/core\";\nimport { useIsVisible, useActions, ConfirmDialog } from \"../contexts\";\nimport { DataProvider, ValidationProvider, ActionProvider, VisibilityProvider } from \"../contexts\";\n\n/**\n * Props passed to component renderers\n */\nexport interface ComponentRenderProps<P = Record<string, unknown>> {\n /** The element being rendered */\n element: UIElement<string, P>;\n /** Rendered children */\n children?: ReactNode;\n /** Execute an action */\n onAction?: (action: Action) => void;\n /** Whether the parent is loading */\n loading?: boolean;\n}\n\n/**\n * Component renderer type\n */\nexport type ComponentRenderer<P = Record<string, unknown>> = ComponentType<\n ComponentRenderProps<P>\n>;\n\n/**\n * Registry of component renderers\n */\nexport type ComponentRegistry = Record<string, ComponentRenderer<any>>;\n\n/**\n * Props for the Renderer component\n */\nexport interface RendererProps {\n /** The UI tree to render */\n tree: UITree | null;\n /** Component registry */\n registry: ComponentRegistry;\n /** Whether the tree is currently loading/streaming */\n loading?: boolean;\n /** Fallback component for unknown types */\n fallback?: ComponentRenderer;\n}\n\n/**\n * Element renderer component\n */\nfunction ElementRenderer({\n element,\n tree,\n registry,\n loading,\n fallback,\n}: {\n element: UIElement;\n tree: UITree;\n registry: ComponentRegistry;\n loading?: boolean;\n fallback?: ComponentRenderer;\n}) {\n const isVisible = useIsVisible(element.visible);\n const { execute } = useActions();\n\n // Don't render if not visible\n if (!isVisible) {\n return null;\n }\n\n // Get the component renderer\n const Component = registry[element.type] ?? fallback;\n\n if (!Component) {\n console.warn(`No renderer for component type: ${element.type}`);\n return null;\n }\n\n // Render children\n const children = element.children?.map((childKey) => {\n const childElement = tree.elements[childKey];\n if (!childElement) {\n return null;\n }\n return (\n <ElementRenderer\n key={childKey}\n element={childElement}\n tree={tree}\n registry={registry}\n loading={loading}\n fallback={fallback}\n />\n );\n });\n\n return (\n <Component element={element} onAction={execute} loading={loading}>\n {children}\n </Component>\n );\n}\n\n/**\n * Main renderer component\n */\nexport function JsonRenderElement({ tree, registry, loading, fallback }: RendererProps) {\n if (!tree || !tree.root) {\n return null;\n }\n\n const rootElement = tree.elements[tree.root];\n if (!rootElement) {\n return null;\n }\n\n return (\n <ElementRenderer\n element={rootElement}\n tree={tree}\n registry={registry}\n loading={loading}\n fallback={fallback}\n />\n );\n}\n\n/**\n * Props for JSONUIProvider\n */\nexport interface JSONUIProviderProps {\n /** Component registry */\n registry: ComponentRegistry;\n /** Initial data model */\n initialData?: Record<string, unknown>;\n /** Auth state */\n authState?: { isSignedIn: boolean; user?: Record<string, unknown> };\n /** Action handlers */\n actionHandlers?: Record<\n string,\n (params: Record<string, unknown>) => Promise<unknown> | unknown\n >;\n /** Navigation function */\n navigate?: (path: string) => void;\n /** Custom validation functions */\n validationFunctions?: Record<\n string,\n (value: unknown, args?: Record<string, unknown>) => boolean\n >;\n /** Callback when data changes */\n onDataChange?: (path: string, value: unknown) => void;\n children: ReactNode;\n}\n\n\n/**\n * Combined provider for all JSONUI contexts\n */\nexport function JSONUIProvider({\n registry,\n initialData,\n authState,\n actionHandlers,\n navigate,\n validationFunctions,\n onDataChange,\n children,\n}: JSONUIProviderProps) {\n return (\n <DataProvider\n initialData={initialData}\n authState={authState}\n onDataChange={onDataChange}\n >\n <VisibilityProvider>\n <ActionProvider handlers={actionHandlers} navigate={navigate}>\n <ValidationProvider customFunctions={validationFunctions}>\n {children}\n <ConfirmationDialogManager />\n </ValidationProvider>\n </ActionProvider>\n </VisibilityProvider>\n </DataProvider>\n );\n}\n\n/**\n * Renders the confirmation dialog when needed\n */\nfunction ConfirmationDialogManager() {\n const { pendingConfirmation, confirm, cancel } = useActions();\n\n if (!pendingConfirmation?.action.confirm) {\n return null;\n }\n\n return (\n <ConfirmDialog\n confirm={pendingConfirmation.action.confirm}\n onConfirm={confirm}\n onCancel={cancel}\n />\n );\n}\n\n/**\n * Helper to create a renderer component from a catalog\n */\nexport function createRendererFromCatalog<\n C extends Catalog<Record<string, ComponentDefinition>>,\n>(\n _catalog: C,\n registry: ComponentRegistry,\n): ComponentType<Omit<RendererProps, \"registry\">> {\n return function CatalogRenderer(props: Omit<RendererProps, \"registry\">) {\n return <JsonRenderElement {...props} registry={registry} />;\n };\n}\n"],"names":["ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","ElementRenderer","_ref","_registry$element$typ","_element$children","element","tree","registry","loading","fallback","isVisible","useIsVisible","visible","_useActions","useActions","execute","Component","type","console","warn","concat","children","map","childKey","childElement","elements","React","createElement","key","onAction","JsonRenderElement","_ref2","root","rootElement","JSONUIProvider","_ref3","initialData","authState","actionHandlers","navigate","validationFunctions","onDataChange","DataProvider","VisibilityProvider","ActionProvider","handlers","ValidationProvider","customFunctions","ConfirmationDialogManager","_useActions2","pendingConfirmation","confirm","cancel","action","ConfirmDialog","onConfirm","onCancel","createRendererFromCatalog","_catalog","CatalogRenderer","props"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,YAAA,CAAA;AAAA,SAAAA,OAAAA,CAAAC,CAAA,EAAAC,CAAA,EAAA,EAAA,IAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,EAAA,EAAA,IAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,CAAA,CAAA,CAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,CAAAN,UAAAA,CAAA,EAAAE,EAAAA,OAAAA,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,CAAA,EAAA,CAAA,CAAA,EAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,CAAA,CAAA,EAAA,CAAA,OAAAJ,CAAA,CAAA,EAAA;AAAA,SAAAU,cAAAZ,CAAA,EAAA,EAAA,KAAA,IAAAC,CAAA,GAAAA,CAAAA,EAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,EAAAC,EAAAA,EAAAA,IAAAA,CAAA,WAAAW,SAAA,CAAAZ,CAAA,CAAAY,GAAAA,SAAA,CAAAZ,CAAA,QAAAA,CAAA,GAAA,CAAA,GAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAAa,OAAA,CAAAd,UAAAA,CAAA,IAAAe,eAAA,CAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,GAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,CAAAa,CAAAA,CAAAA,OAAA,WAAAd,CAAA,EAAA,EAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA,CAAA,EAAA;AAwDA,SAASoB,eAAgBA,CAAAC,IAAA,EAYtB;EAAA,IAAAC,qBAAA,EAAAC,iBAAA,CAAA;AAAA,EAAA,IAXDC,OAAA,GAAAH,IAAA,CAAAG,OAAA;IACAC,IAAA,GAAAJ,IAAA,CAAAI,IAAA;IACAC,QAAA,GAAAL,IAAA,CAAAK,QAAA;IACAC,OAAA,GAAAN,IAAA,CAAAM,OAAA;IACAC,QAAA,GAAAP,IAAA,CAAAO,QAAA,CAAA;AAQM,EAAA,IAAAC,SAAA,GAAYC,YAAa,CAAAN,OAAA,CAAQO,OAAO,CAAA,CAAA;AACxC,EAAA,IAAAC,WAAA,GAAcC,UAAW,EAAA;IAAvBC,OAAQ,GAAAF,WAAA,CAARE,OAAQ,CAAA;EAGhB,IAAI,CAACL,SAAW,EAAA;AACP,IAAA,OAAA,IAAA,CAAA;AACT,GAAA;AAGM,EAAA,IAAAM,SAAA,GAAA,CAAAb,qBAAA,GAAYI,QAAS,CAAAF,OAAA,CAAQY,IAAS,CAAA,MAAAd,IAAAA,IAAAA,qBAAA,KAAAA,KAAAA,CAAAA,GAAAA,qBAAA,GAAAM,QAAA,CAAA;EAE5C,IAAI,CAACO,SAAW,EAAA;IACNE,OAAA,CAAAC,IAAA,CAAAC,kCAAAA,CAAAA,MAAA,CAAwCf,OAAA,CAAQY,IAAM,CAAA,CAAA,CAAA;AACvD,IAAA,OAAA,IAAA,CAAA;AACT,GAAA;AAGA,EAAA,IAAMI,QAAW,GAAAjB,CAAAA,iBAAA,GAAAC,OAAA,CAAQgB,QAAU,MAAA,IAAA,IAAAjB,iBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAlBA,iBAAA,CAAkBkB,GAAA,CAAI,UAACC,QAAa,EAAA;AAC7C,IAAA,IAAAC,YAAA,GAAelB,KAAKmB,QAAS,CAAAF,QAAA,CAAA,CAAA;IACnC,IAAI,CAACC,YAAc,EAAA;AACV,MAAA,OAAA,IAAA,CAAA;AACT,KAAA;AACA,IAAA,sBACGE,KAAA,CAAAC,aAAA,CAAA1B,eAAA,EAAA;AACC2B,MAAAA,GAAK,EAAAL,QAAA;AACLlB,MAAAA,OAAS,EAAAmB,YAAA;AACTlB,MAAAA,IAAA,EAAAA,IAAA;AACAC,MAAAA,QAAA,EAAAA,QAAA;AACAC,MAAAA,OAAA,EAAAA,OAAA;AACAC,MAAAA,QAAA,EAAAA,QAAAA;AACF,KAAA,CAAA,CAAA;AAEJ,GAAC,CAAA,CAAA;AAED,EAAA,sBACGiB,KAAA,CAAAC,aAAA,CAAAX,SAAA,EAAA;AAAUX,IAAAA,OAAA,EAAAA,OAAA;AAAkBwB,IAAAA,QAAU,EAAAd,OAAA;AAASP,IAAAA,OAAA,EAAAA,OAAAA;GAAA,EAC7Ca,QACH,CAAA,CAAA;AAEJ,CAAA;AAKO,SAASS,yBAAwE;AAAA,EAAA,IAApDxB,IAAA,GAAAyB,KAAA,CAAAzB,IAAA;IAAMC,QAAU,GAAAwB,KAAA,CAAVxB,QAAU;IAAAC,OAAA,GAAAuB,KAAA,CAAAvB,OAAA;IAASC,iBAAAA;AAC3D,EAAA,IAAI,CAACH,IAAA,IAAQ,CAACA,IAAA,CAAK0B,IAAM,EAAA;AAChB,IAAA,OAAA,IAAA,CAAA;AACT,GAAA;EAEM,IAAAC,WAAA,GAAc3B,IAAK,CAAAmB,QAAA,CAASnB,IAAK,CAAA0B,IAAA,CAAA,CAAA;EACvC,IAAI,CAACC,WAAa,EAAA;AACT,IAAA,OAAA,IAAA,CAAA;AACT,GAAA;AAEA,EAAA,sBACGP,KAAA,CAAAC,aAAA,CAAA1B,eAAA,EAAA;AACCI,IAAAA,OAAS,EAAA4B,WAAA;AACT3B,IAAAA,IAAA,EAAAA,IAAA;AACAC,IAAAA,QAAA,EAAAA,QAAA;AACAC,IAAAA,OAAA,EAAAA,OAAA;AACAC,IAAAA,QAAA,EAAAA,QAAAA;AACF,GAAA,CAAA,CAAA;AAEJ,CAAA;AAiCO,SAASyB,cAAeA,CAAAC,KAAA,EASP;AAAA,EAAA,IARtB5B,QAAA,GAAA4B,KAAA,CAAA5B,QAAA;IACA6B,WAAA,GAAAD,KAAA,CAAAC,WAAA;IACAC,SAAA,GAAAF,KAAA,CAAAE,SAAA;IACAC,cAAA,GAAAH,KAAA,CAAAG,cAAA;IACAC,QAAA,GAAAJ,KAAA,CAAAI,QAAA;IACAC,mBAAA,GAAAL,KAAA,CAAAK,mBAAA;IACAC,YAAA,GAAAN,KAAA,CAAAM,YAAA;IACApB,QAAA,GAAAc,KAAA,CAAAd,QAAA,CAAA;AAEA,EAAA,sBACGK,KAAA,CAAAC,aAAA,CAAAe,YAAA,EAAA;AACCN,IAAAA,WAAA,EAAAA,WAAA;AACAC,IAAAA,SAAA,EAAAA,SAAA;AACAI,IAAAA,YAAA,EAAAA,YAAAA;AAEA,GAAA,iBAAAf,KAAA,CAAAC,aAAA,CAACgB,yCACEjB,KAAA,CAAAC,aAAA,CAAAiB,cAAA,EAAA;AAAeC,IAAAA,QAAU,EAAAP,cAAA;AAAgBC,IAAAA,QAAA,EAAAA,QAAAA;AAAA,GAAA,iBACvCb,KAAA,CAAAC,aAAA,CAAAmB,kBAAA,EAAA;AAAmBC,IAAAA,eAAiB,EAAAP,mBAAAA;AAAA,GAAA,EAClCnB,yBACAK,KAAA,CAAAC,aAAA,CAAAqB,yBAAA,EAAA,IAA0B,CAC7B,CACF,CACF,CACF,CAAA,CAAA;AAEJ,CAAA;AAKA,SAASA,yBAA4BA,GAAA;AACnC,EAAA,IAAAC,YAAA,GAAiDnC,UAAW,EAAA;IAApDoC,mBAAA,GAAAD,YAAA,CAAAC,mBAAA;IAAqBC,OAAS,GAAAF,YAAA,CAATE,OAAS;IAAAC,MAAA,GAAAH,YAAA,CAAAG,MAAA,CAAA;EAElC,IAAA,EAACF,mBAAqB,KAAA,IAAA,IAArBA,mBAAqB,KAAA,KAAA,CAAA,IAArBA,mBAAqB,CAAAG,MAAA,CAAOF,OAAS,CAAA,EAAA;AACjC,IAAA,OAAA,IAAA,CAAA;AACT,GAAA;AAEA,EAAA,sBACGzB,KAAA,CAAAC,aAAA,CAAA2B,aAAA,EAAA;AACCH,IAAAA,OAAA,EAASD,oBAAoBG,MAAO,CAAAF,OAAA;AACpCI,IAAAA,SAAW,EAAAJ,OAAA;AACXK,IAAAA,QAAU,EAAAJ,MAAAA;AACZ,GAAA,CAAA,CAAA;AAEJ,CAAA;AAKgB,SAAAK,yBAAAA,CAGdC,UACAnD,QACgD,EAAA;AACzC,EAAA,OAAA,SAASoD,gBAAgBC,KAAwC,EAAA;IACtE,sBAAQlC,KAAA,CAAAC,aAAA,CAAAG,iBAAA,EAAArC,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAsBmE,KAAA,CAAA,EAAA,EAAA,EAAA;AAAOrD,MAAAA,QAAA,EAAAA,QAAAA;AAAA,KAAA,CAAoB,CAAA,CAAA;GAC3D,CAAA;AACF;;;;"}
@@ -0,0 +1,71 @@
1
+ import { type ComponentType, type ReactNode } from "react";
2
+ import type { UIElement, UITree, Action, Catalog, ComponentDefinition } from "@json-render/core";
3
+ /**
4
+ * Props passed to component renderers
5
+ */
6
+ export interface ComponentRenderProps<P = Record<string, unknown>> {
7
+ /** The element being rendered */
8
+ element: UIElement<string, P>;
9
+ /** Rendered children */
10
+ children?: ReactNode;
11
+ /** Execute an action */
12
+ onAction?: (action: Action) => void;
13
+ /** Whether the parent is loading */
14
+ loading?: boolean;
15
+ }
16
+ /**
17
+ * Component renderer type
18
+ */
19
+ export type ComponentRenderer<P = Record<string, unknown>> = ComponentType<ComponentRenderProps<P>>;
20
+ /**
21
+ * Registry of component renderers
22
+ */
23
+ export type ComponentRegistry = Record<string, ComponentRenderer<any>>;
24
+ /**
25
+ * Props for the Renderer component
26
+ */
27
+ export interface RendererProps {
28
+ /** The UI tree to render */
29
+ tree: UITree | null;
30
+ /** Component registry */
31
+ registry: ComponentRegistry;
32
+ /** Whether the tree is currently loading/streaming */
33
+ loading?: boolean;
34
+ /** Fallback component for unknown types */
35
+ fallback?: ComponentRenderer;
36
+ }
37
+ /**
38
+ * Main renderer component
39
+ */
40
+ export declare function Renderer({ tree, registry, loading, fallback }: RendererProps): import("react/jsx-runtime").JSX.Element;
41
+ /**
42
+ * Props for JSONUIProvider
43
+ */
44
+ export interface JSONUIProviderProps {
45
+ /** Component registry */
46
+ registry: ComponentRegistry;
47
+ /** Initial data model */
48
+ initialData?: Record<string, unknown>;
49
+ /** Auth state */
50
+ authState?: {
51
+ isSignedIn: boolean;
52
+ user?: Record<string, unknown>;
53
+ };
54
+ /** Action handlers */
55
+ actionHandlers?: Record<string, (params: Record<string, unknown>) => Promise<unknown> | unknown>;
56
+ /** Navigation function */
57
+ navigate?: (path: string) => void;
58
+ /** Custom validation functions */
59
+ validationFunctions?: Record<string, (value: unknown, args?: Record<string, unknown>) => boolean>;
60
+ /** Callback when data changes */
61
+ onDataChange?: (path: string, value: unknown) => void;
62
+ children: ReactNode;
63
+ }
64
+ /**
65
+ * Combined provider for all JSONUI contexts
66
+ */
67
+ export declare function JSONUIProvider({ registry, initialData, authState, actionHandlers, navigate, validationFunctions, onDataChange, children, }: JSONUIProviderProps): import("react/jsx-runtime").JSX.Element;
68
+ /**
69
+ * Helper to create a renderer component from a catalog
70
+ */
71
+ export declare function createRendererFromCatalog<C extends Catalog<Record<string, ComponentDefinition>>>(_catalog: C, registry: ComponentRegistry): ComponentType<Omit<RendererProps, "registry">>;
@@ -0,0 +1,124 @@
1
+ /**
2
+ * tdesign v1.1.0-alpha.4
3
+ * (c) 2026 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
8
+ import React from 'react';
9
+ import { useIsVisible, VisibilityProvider } from './contexts/visibility.js';
10
+ import { useActions, ActionProvider, ConfirmDialog } from './contexts/actions.js';
11
+ import { DataProvider } from './contexts/data.js';
12
+ import { ValidationProvider } from './contexts/validation.js';
13
+ import '@json-render/core';
14
+ import '@babel/runtime/helpers/typeof';
15
+ import '@babel/runtime/helpers/slicedToArray';
16
+ import '@babel/runtime/helpers/asyncToGenerator';
17
+ import '@babel/runtime/regenerator';
18
+ import '@babel/runtime/helpers/objectWithoutProperties';
19
+
20
+ "use client";
21
+ 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; }
22
+ 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; }
23
+ function ElementRenderer(_ref) {
24
+ var _registry$element$typ, _element$children;
25
+ var element = _ref.element,
26
+ tree = _ref.tree,
27
+ registry = _ref.registry,
28
+ loading = _ref.loading,
29
+ fallback = _ref.fallback;
30
+ var isVisible = useIsVisible(element.visible);
31
+ var _useActions = useActions(),
32
+ execute = _useActions.execute;
33
+ if (!isVisible) {
34
+ return null;
35
+ }
36
+ var Component = (_registry$element$typ = registry[element.type]) !== null && _registry$element$typ !== void 0 ? _registry$element$typ : fallback;
37
+ if (!Component) {
38
+ console.warn("No renderer for component type: ".concat(element.type));
39
+ return null;
40
+ }
41
+ var children = (_element$children = element.children) === null || _element$children === void 0 ? void 0 : _element$children.map(function (childKey) {
42
+ var childElement = tree.elements[childKey];
43
+ if (!childElement) {
44
+ return null;
45
+ }
46
+ return /* @__PURE__ */React.createElement(ElementRenderer, {
47
+ key: childKey,
48
+ element: childElement,
49
+ tree: tree,
50
+ registry: registry,
51
+ loading: loading,
52
+ fallback: fallback
53
+ });
54
+ });
55
+ return /* @__PURE__ */React.createElement(Component, {
56
+ element: element,
57
+ onAction: execute,
58
+ loading: loading
59
+ }, children);
60
+ }
61
+ function Renderer(_ref2) {
62
+ var tree = _ref2.tree,
63
+ registry = _ref2.registry,
64
+ loading = _ref2.loading,
65
+ fallback = _ref2.fallback;
66
+ if (!tree || !tree.root) {
67
+ return null;
68
+ }
69
+ var rootElement = tree.elements[tree.root];
70
+ if (!rootElement) {
71
+ return null;
72
+ }
73
+ return /* @__PURE__ */React.createElement(ElementRenderer, {
74
+ element: rootElement,
75
+ tree: tree,
76
+ registry: registry,
77
+ loading: loading,
78
+ fallback: fallback
79
+ });
80
+ }
81
+ function JSONUIProvider(_ref3) {
82
+ var registry = _ref3.registry,
83
+ initialData = _ref3.initialData,
84
+ authState = _ref3.authState,
85
+ actionHandlers = _ref3.actionHandlers,
86
+ navigate = _ref3.navigate,
87
+ validationFunctions = _ref3.validationFunctions,
88
+ onDataChange = _ref3.onDataChange,
89
+ children = _ref3.children;
90
+ return /* @__PURE__ */React.createElement(DataProvider, {
91
+ initialData: initialData,
92
+ authState: authState,
93
+ onDataChange: onDataChange
94
+ }, /* @__PURE__ */React.createElement(VisibilityProvider, null, /* @__PURE__ */React.createElement(ActionProvider, {
95
+ handlers: actionHandlers,
96
+ navigate: navigate
97
+ }, /* @__PURE__ */React.createElement(ValidationProvider, {
98
+ customFunctions: validationFunctions
99
+ }, children, /* @__PURE__ */React.createElement(ConfirmationDialogManager, null)))));
100
+ }
101
+ function ConfirmationDialogManager() {
102
+ var _useActions2 = useActions(),
103
+ pendingConfirmation = _useActions2.pendingConfirmation,
104
+ confirm = _useActions2.confirm,
105
+ cancel = _useActions2.cancel;
106
+ if (!(pendingConfirmation !== null && pendingConfirmation !== void 0 && pendingConfirmation.action.confirm)) {
107
+ return null;
108
+ }
109
+ return /* @__PURE__ */React.createElement(ConfirmDialog, {
110
+ confirm: pendingConfirmation.action.confirm,
111
+ onConfirm: confirm,
112
+ onCancel: cancel
113
+ });
114
+ }
115
+ function createRendererFromCatalog(_catalog, registry) {
116
+ return function CatalogRenderer(props) {
117
+ return /* @__PURE__ */React.createElement(Renderer, _objectSpread(_objectSpread({}, props), {}, {
118
+ registry: registry
119
+ }));
120
+ };
121
+ }
122
+
123
+ export { JSONUIProvider, Renderer, createRendererFromCatalog };
124
+ //# sourceMappingURL=renderer.js.map