@tdesign-react/chat 1.0.2-alpha.9 → 1.1.0-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 (305) hide show
  1. package/es/_chunks/dep-870f0d35.js +839 -0
  2. package/es/_chunks/dep-870f0d35.js.map +1 -0
  3. package/es/_chunks/dep-f2051ebd.js +839 -0
  4. package/es/_chunks/dep-f2051ebd.js.map +1 -0
  5. package/es/_util/reactify.js +1 -1
  6. package/es/_util/useDynamicStyle.js +1 -1
  7. package/es/attachments/index.js +1 -1
  8. package/es/chat-actionbar/index.js +1 -1
  9. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.d.ts +196 -0
  10. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js +301 -0
  11. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js.map +1 -0
  12. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.d.ts +37 -0
  13. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js +116 -0
  14. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js.map +1 -0
  15. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.d.ts +42 -0
  16. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js +113 -0
  17. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js.map +1 -0
  18. package/es/chat-engine/components/a2ui/A2UISkeleton.d.ts +60 -0
  19. package/es/chat-engine/components/a2ui/A2UISkeleton.js +197 -0
  20. package/es/chat-engine/components/a2ui/A2UISkeleton.js.map +1 -0
  21. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.d.ts +44 -0
  22. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js +139 -0
  23. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js.map +1 -0
  24. package/es/chat-engine/components/a2ui/containers/A2UICard.d.ts +22 -0
  25. package/es/chat-engine/components/a2ui/containers/A2UICard.js +82 -0
  26. package/es/chat-engine/components/a2ui/containers/A2UICard.js.map +1 -0
  27. package/es/chat-engine/components/a2ui/containers/A2UIColumn.d.ts +18 -0
  28. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js +81 -0
  29. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js.map +1 -0
  30. package/es/chat-engine/components/a2ui/containers/A2UIList.d.ts +14 -0
  31. package/es/chat-engine/components/a2ui/containers/A2UIList.js +62 -0
  32. package/es/chat-engine/components/a2ui/containers/A2UIList.js.map +1 -0
  33. package/es/chat-engine/components/a2ui/containers/A2UIRow.d.ts +20 -0
  34. package/es/chat-engine/components/a2ui/containers/A2UIRow.js +84 -0
  35. package/es/chat-engine/components/a2ui/containers/A2UIRow.js.map +1 -0
  36. package/es/chat-engine/components/a2ui/containers/A2UITabs.d.ts +14 -0
  37. package/es/chat-engine/components/a2ui/containers/A2UITabs.js +69 -0
  38. package/es/chat-engine/components/a2ui/containers/A2UITabs.js.map +1 -0
  39. package/es/chat-engine/components/a2ui/containers/index.d.ts +8 -0
  40. package/es/chat-engine/components/a2ui/containers/index.js +30 -0
  41. package/es/chat-engine/components/a2ui/containers/index.js.map +1 -0
  42. package/es/chat-engine/components/a2ui/index.d.ts +11 -0
  43. package/es/chat-engine/components/a2ui/index.js +62 -0
  44. package/es/chat-engine/components/a2ui/index.js.map +1 -0
  45. package/es/chat-engine/components/a2ui/primitives/A2UIButton.d.ts +33 -0
  46. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js +80 -0
  47. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js.map +1 -0
  48. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.d.ts +12 -0
  49. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js +43 -0
  50. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js.map +1 -0
  51. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.d.ts +50 -0
  52. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js +54 -0
  53. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js.map +1 -0
  54. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.d.ts +13 -0
  55. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js +89 -0
  56. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js.map +1 -0
  57. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.d.ts +12 -0
  58. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js +25 -0
  59. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js.map +1 -0
  60. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.d.ts +13 -0
  61. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js +138942 -0
  62. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js.map +1 -0
  63. package/es/chat-engine/components/a2ui/primitives/A2UIImage.d.ts +12 -0
  64. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js +75 -0
  65. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js.map +1 -0
  66. package/es/chat-engine/components/a2ui/primitives/A2UIInput.d.ts +20 -0
  67. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js +63 -0
  68. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js.map +1 -0
  69. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.d.ts +56 -0
  70. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js +64 -0
  71. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js.map +1 -0
  72. package/es/chat-engine/components/a2ui/primitives/A2UISlider.d.ts +12 -0
  73. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js +55 -0
  74. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js.map +1 -0
  75. package/es/chat-engine/components/a2ui/primitives/A2UIText.d.ts +12 -0
  76. package/es/chat-engine/components/a2ui/primitives/A2UIText.js +104 -0
  77. package/es/chat-engine/components/a2ui/primitives/A2UIText.js.map +1 -0
  78. package/es/chat-engine/components/a2ui/primitives/A2UITextField.d.ts +12 -0
  79. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js +80 -0
  80. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js.map +1 -0
  81. package/es/chat-engine/components/a2ui/primitives/index.d.ts +15 -0
  82. package/es/chat-engine/components/a2ui/primitives/index.js +39 -0
  83. package/es/chat-engine/components/a2ui/primitives/index.js.map +1 -0
  84. package/es/chat-engine/components/a2ui/registry.d.ts +35 -0
  85. package/es/chat-engine/components/a2ui/registry.js +74 -0
  86. package/es/chat-engine/components/a2ui/registry.js.map +1 -0
  87. package/es/chat-engine/components/activity/index.js +1 -1
  88. package/es/chat-engine/components/activity/registry.d.ts +1 -1
  89. package/es/chat-engine/components/activity/registry.js +1 -1
  90. package/es/chat-engine/components/activity/registry.js.map +1 -1
  91. package/es/chat-engine/components/activity/render.d.ts +2 -2
  92. package/es/chat-engine/components/activity/render.js +1 -1
  93. package/es/chat-engine/components/activity/render.js.map +1 -1
  94. package/es/chat-engine/components/activity/types.js +1 -1
  95. package/es/chat-engine/components/index.d.ts +1 -0
  96. package/es/chat-engine/components/index.js +57 -9
  97. package/es/chat-engine/components/index.js.map +1 -1
  98. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.d.ts +36 -0
  99. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js +36 -0
  100. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js.map +1 -0
  101. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.d.ts +46 -0
  102. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js +36 -0
  103. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js.map +1 -0
  104. package/es/chat-engine/components/json-render/SurfaceStateManager.d.ts +113 -0
  105. package/es/chat-engine/components/json-render/SurfaceStateManager.js +195 -0
  106. package/es/chat-engine/components/json-render/SurfaceStateManager.js.map +1 -0
  107. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.d.ts +49 -0
  108. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js +307 -0
  109. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js.map +1 -0
  110. package/es/chat-engine/components/json-render/adapters/a2ui-types.d.ts +96 -0
  111. package/es/chat-engine/components/json-render/adapters/a2ui-types.js +7 -0
  112. package/es/chat-engine/components/json-render/adapters/a2ui-types.js.map +1 -0
  113. package/es/chat-engine/components/json-render/adapters/index.d.ts +7 -0
  114. package/es/chat-engine/components/json-render/adapters/index.js +11 -0
  115. package/es/chat-engine/components/json-render/adapters/index.js.map +1 -0
  116. package/es/chat-engine/components/json-render/catalog/a2ui-binding.d.ts +64 -0
  117. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js +36 -0
  118. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js.map +1 -0
  119. package/es/chat-engine/components/json-render/catalog/a2ui-registry.d.ts +78 -0
  120. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js +36 -0
  121. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js.map +1 -0
  122. package/es/chat-engine/components/json-render/catalog/button.d.ts +14 -0
  123. package/es/chat-engine/components/json-render/catalog/button.js +71 -0
  124. package/es/chat-engine/components/json-render/catalog/button.js.map +1 -0
  125. package/es/chat-engine/components/json-render/catalog/card.d.ts +11 -0
  126. package/es/chat-engine/components/json-render/catalog/card.js +57 -0
  127. package/es/chat-engine/components/json-render/catalog/card.js.map +1 -0
  128. package/es/chat-engine/components/json-render/catalog/index.d.ts +128 -0
  129. package/es/chat-engine/components/json-render/catalog/index.js +36 -0
  130. package/es/chat-engine/components/json-render/catalog/index.js.map +1 -0
  131. package/es/chat-engine/components/json-render/catalog/input.d.ts +20 -0
  132. package/es/chat-engine/components/json-render/catalog/input.js +36 -0
  133. package/es/chat-engine/components/json-render/catalog/input.js.map +1 -0
  134. package/es/chat-engine/components/json-render/catalog/layout.d.ts +44 -0
  135. package/es/chat-engine/components/json-render/catalog/layout.js +129 -0
  136. package/es/chat-engine/components/json-render/catalog/layout.js.map +1 -0
  137. package/es/chat-engine/components/json-render/catalog/text.d.ts +11 -0
  138. package/es/chat-engine/components/json-render/catalog/text.js +31 -0
  139. package/es/chat-engine/components/json-render/catalog/text.js.map +1 -0
  140. package/es/chat-engine/components/json-render/catalog.d.ts +614 -0
  141. package/es/chat-engine/components/json-render/catalog.js +559 -0
  142. package/es/chat-engine/components/json-render/catalog.js.map +1 -0
  143. package/es/chat-engine/components/json-render/config.d.ts +154 -0
  144. package/es/chat-engine/components/json-render/config.js +36 -0
  145. package/es/chat-engine/components/json-render/config.js.map +1 -0
  146. package/es/chat-engine/components/json-render/contexts/actions.d.ts +74 -0
  147. package/es/chat-engine/components/json-render/contexts/actions.js +290 -0
  148. package/es/chat-engine/components/json-render/contexts/actions.js.map +1 -0
  149. package/es/chat-engine/components/json-render/contexts/data.d.ts +45 -0
  150. package/es/chat-engine/components/json-render/contexts/data.js +104 -0
  151. package/es/chat-engine/components/json-render/contexts/data.js.map +1 -0
  152. package/es/chat-engine/components/json-render/contexts/validation.d.ts +59 -0
  153. package/es/chat-engine/components/json-render/contexts/validation.js +151 -0
  154. package/es/chat-engine/components/json-render/contexts/validation.js.map +1 -0
  155. package/es/chat-engine/components/json-render/contexts/visibility.d.ts +29 -0
  156. package/es/chat-engine/components/json-render/contexts/visibility.js +56 -0
  157. package/es/chat-engine/components/json-render/contexts/visibility.js.map +1 -0
  158. package/es/chat-engine/components/json-render/engine.d.ts +58 -0
  159. package/es/chat-engine/components/json-render/engine.js +88 -0
  160. package/es/chat-engine/components/json-render/engine.js.map +1 -0
  161. package/es/chat-engine/components/json-render/index.d.ts +36 -0
  162. package/es/chat-engine/components/json-render/index.js +36 -0
  163. package/es/chat-engine/components/json-render/index.js.map +1 -0
  164. package/es/chat-engine/components/json-render/performance.d.ts +91 -0
  165. package/es/chat-engine/components/json-render/performance.js +135 -0
  166. package/es/chat-engine/components/json-render/performance.js.map +1 -0
  167. package/es/chat-engine/components/json-render/renderer.d.ts +71 -0
  168. package/es/chat-engine/components/json-render/renderer.js +124 -0
  169. package/es/chat-engine/components/json-render/renderer.js.map +1 -0
  170. package/es/chat-engine/components/json-render/types.d.ts +69 -0
  171. package/es/chat-engine/components/json-render/types.js +7 -0
  172. package/es/chat-engine/components/json-render/types.js.map +1 -0
  173. package/es/chat-engine/components/provider/agent-state.js +39 -2
  174. package/es/chat-engine/components/provider/agent-state.js.map +1 -1
  175. package/es/chat-engine/components/toolcall/index.js +32 -2
  176. package/es/chat-engine/components/toolcall/index.js.map +1 -1
  177. package/es/chat-engine/components/toolcall/registry.js +1 -1
  178. package/es/chat-engine/components/toolcall/render.d.ts +1 -1
  179. package/es/chat-engine/components/toolcall/render.js +33 -4
  180. package/es/chat-engine/components/toolcall/render.js.map +1 -1
  181. package/es/chat-engine/components/toolcall/types.js +1 -1
  182. package/es/chat-engine/core/a2ui/index.d.ts +10 -0
  183. package/es/chat-engine/core/a2ui/index.js +24 -0
  184. package/es/chat-engine/core/a2ui/index.js.map +1 -0
  185. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
  186. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js +438 -0
  187. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
  188. package/es/chat-engine/core/a2ui/processor/ComponentTree.d.ts +53 -0
  189. package/es/chat-engine/core/a2ui/processor/ComponentTree.js +158 -0
  190. package/es/chat-engine/core/a2ui/processor/ComponentTree.js.map +1 -0
  191. package/es/chat-engine/core/a2ui/processor/DataStore.d.ts +63 -0
  192. package/es/chat-engine/core/a2ui/processor/DataStore.js +172 -0
  193. package/es/chat-engine/core/a2ui/processor/DataStore.js.map +1 -0
  194. package/es/chat-engine/core/a2ui/processor/PathResolver.d.ts +47 -0
  195. package/es/chat-engine/core/a2ui/processor/PathResolver.js +99 -0
  196. package/es/chat-engine/core/a2ui/processor/PathResolver.js.map +1 -0
  197. package/es/chat-engine/core/a2ui/types/index.d.ts +4 -0
  198. package/es/chat-engine/core/a2ui/types/index.js +9 -0
  199. package/es/chat-engine/core/a2ui/types/index.js.map +1 -0
  200. package/es/chat-engine/core/a2ui/types/types.d.ts +770 -0
  201. package/es/chat-engine/core/a2ui/types/types.js +104 -0
  202. package/es/chat-engine/core/a2ui/types/types.js.map +1 -0
  203. package/es/chat-engine/core/a2ui/utils/binding.d.ts +34 -0
  204. package/es/chat-engine/core/a2ui/utils/binding.js +1784 -0
  205. package/es/chat-engine/core/a2ui/utils/binding.js.map +1 -0
  206. package/es/chat-engine/core/a2ui/utils/index.d.ts +5 -0
  207. package/es/chat-engine/core/a2ui/utils/index.js +13 -0
  208. package/es/chat-engine/core/a2ui/utils/index.js.map +1 -0
  209. package/es/chat-engine/core/a2ui/utils/validation.d.ts +70 -0
  210. package/es/chat-engine/core/a2ui/utils/validation.js +333 -0
  211. package/es/chat-engine/core/a2ui/utils/validation.js.map +1 -0
  212. package/es/chat-engine/core/adapters/agui/activity-manager.d.ts +102 -0
  213. package/es/chat-engine/core/adapters/agui/activity-manager.js +144 -0
  214. package/es/chat-engine/core/adapters/agui/activity-manager.js.map +1 -0
  215. package/es/chat-engine/core/adapters/agui/event-mapper.d.ts +42 -2
  216. package/es/chat-engine/core/adapters/agui/event-mapper.js +90 -50
  217. package/es/chat-engine/core/adapters/agui/event-mapper.js.map +1 -1
  218. package/es/chat-engine/core/adapters/agui/events.d.ts +222 -222
  219. package/es/chat-engine/core/adapters/agui/events.js +34 -34
  220. package/es/chat-engine/core/adapters/agui/events.js.map +1 -1
  221. package/es/chat-engine/core/adapters/agui/index.d.ts +22 -2
  222. package/es/chat-engine/core/adapters/agui/index.js +34 -14
  223. package/es/chat-engine/core/adapters/agui/index.js.map +1 -1
  224. package/es/chat-engine/core/adapters/agui/state-manager.js +1 -1
  225. package/es/chat-engine/core/adapters/agui/types.d.ts +57 -56
  226. package/es/chat-engine/core/adapters/agui/types.js +5 -5
  227. package/es/chat-engine/core/adapters/agui/types.js.map +1 -1
  228. package/es/chat-engine/core/adapters/agui/utils.d.ts +9 -3
  229. package/es/chat-engine/core/adapters/agui/utils.js +23 -4
  230. package/es/chat-engine/core/adapters/agui/utils.js.map +1 -1
  231. package/es/chat-engine/core/event-bus/ChatEventBus.d.ts +88 -0
  232. package/es/chat-engine/core/event-bus/ChatEventBus.js +295 -0
  233. package/es/chat-engine/core/event-bus/ChatEventBus.js.map +1 -0
  234. package/es/chat-engine/core/event-bus/index.d.ts +5 -0
  235. package/es/chat-engine/core/event-bus/index.js +13 -0
  236. package/es/chat-engine/core/event-bus/index.js.map +1 -0
  237. package/es/chat-engine/core/event-bus/types.d.ts +230 -0
  238. package/es/chat-engine/core/event-bus/types.js +32 -0
  239. package/es/chat-engine/core/event-bus/types.js.map +1 -0
  240. package/es/chat-engine/core/index.d.ts +16 -1
  241. package/es/chat-engine/core/index.js +174 -17
  242. package/es/chat-engine/core/index.js.map +1 -1
  243. package/es/chat-engine/core/processor/index.js +1 -1
  244. package/es/chat-engine/core/server/batch-client.js +1 -1
  245. package/es/chat-engine/core/server/connection-manager.js +1 -1
  246. package/es/chat-engine/core/server/errors.js +1 -1
  247. package/es/chat-engine/core/server/index.js +1 -1
  248. package/es/chat-engine/core/server/llm-service.js +17 -15
  249. package/es/chat-engine/core/server/llm-service.js.map +1 -1
  250. package/es/chat-engine/core/server/sse-client.js +1 -1
  251. package/es/chat-engine/core/server/sse-parser.js +1 -1
  252. package/es/chat-engine/core/server/types.js +1 -1
  253. package/es/chat-engine/core/store/message.js +2 -2
  254. package/es/chat-engine/core/store/message.js.map +1 -1
  255. package/es/chat-engine/core/store/model.js +1 -1
  256. package/es/chat-engine/core/store/reactiveState.js +1 -1
  257. package/es/chat-engine/core/type.d.ts +18 -2
  258. package/es/chat-engine/core/type.js +1 -1
  259. package/es/chat-engine/core/utils/eventEmitter.js +1 -1
  260. package/es/chat-engine/core/utils/index.js +1 -1
  261. package/es/chat-engine/core/utils/logger.js +1 -1
  262. package/es/chat-engine/hooks/a2ui/A2UIContext.d.ts +90 -0
  263. package/es/chat-engine/hooks/a2ui/A2UIContext.js +97 -0
  264. package/es/chat-engine/hooks/a2ui/A2UIContext.js.map +1 -0
  265. package/es/chat-engine/hooks/a2ui/index.d.ts +12 -0
  266. package/es/chat-engine/hooks/a2ui/index.js +19 -0
  267. package/es/chat-engine/hooks/a2ui/index.js.map +1 -0
  268. package/es/chat-engine/hooks/a2ui/useA2UIAction.d.ts +40 -0
  269. package/es/chat-engine/hooks/a2ui/useA2UIAction.js +74 -0
  270. package/es/chat-engine/hooks/a2ui/useA2UIAction.js.map +1 -0
  271. package/es/chat-engine/hooks/a2ui/useA2UISurface.d.ts +36 -0
  272. package/es/chat-engine/hooks/a2ui/useA2UISurface.js +39 -0
  273. package/es/chat-engine/hooks/a2ui/useA2UISurface.js.map +1 -0
  274. package/es/chat-engine/hooks/a2ui/useDataBinding.d.ts +53 -0
  275. package/es/chat-engine/hooks/a2ui/useDataBinding.js +111 -0
  276. package/es/chat-engine/hooks/a2ui/useDataBinding.js.map +1 -0
  277. package/es/chat-engine/hooks/index.js +38 -4
  278. package/es/chat-engine/hooks/index.js.map +1 -1
  279. package/es/chat-engine/hooks/useAgentActivity.d.ts +1 -2
  280. package/es/chat-engine/hooks/useAgentActivity.js +1 -1
  281. package/es/chat-engine/hooks/useAgentActivity.js.map +1 -1
  282. package/es/chat-engine/hooks/useAgentState.js +39 -2
  283. package/es/chat-engine/hooks/useAgentState.js.map +1 -1
  284. package/es/chat-engine/hooks/useAgentToolcall.js +1 -1
  285. package/es/chat-engine/hooks/useChat.d.ts +3 -3
  286. package/es/chat-engine/hooks/useChat.js +40 -2
  287. package/es/chat-engine/hooks/useChat.js.map +1 -1
  288. package/es/chat-engine/hooks/useJsonRenderActivity.d.ts +56 -0
  289. package/es/chat-engine/hooks/useJsonRenderActivity.js +63 -0
  290. package/es/chat-engine/hooks/useJsonRenderActivity.js.map +1 -0
  291. package/es/chat-engine/index.d.ts +1 -3
  292. package/es/chat-engine/index.js +30 -8
  293. package/es/chat-engine/index.js.map +1 -1
  294. package/es/chat-filecard/index.js +1 -1
  295. package/es/chat-loading/index.js +1 -1
  296. package/es/chat-markdown/index.js +1 -1
  297. package/es/chat-message/index.js +1 -1
  298. package/es/chat-sender/index.js +1 -1
  299. package/es/chat-thinking/index.js +1 -1
  300. package/es/chatbot/docs/react-best-practice.d.ts +13 -0
  301. package/es/chatbot/index.js +1 -1
  302. package/es/index.js +27 -5
  303. package/es/index.js.map +1 -1
  304. package/es/style/index.js +1 -1
  305. package/package.json +6 -3
@@ -0,0 +1,290 @@
1
+ /**
2
+ * tdesign v1.1.0-alpha.1
3
+ * (c) 2026 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
8
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
9
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
10
+ import _regeneratorRuntime from '@babel/runtime/regenerator';
11
+ import React, { createContext, useState, useCallback, useMemo, useContext } from 'react';
12
+ import { executeAction, resolveAction } from '@json-render/core';
13
+ import { useData } from './data.js';
14
+ import '@babel/runtime/helpers/typeof';
15
+
16
+ "use client";
17
+ 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; }
18
+ 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; }
19
+ var ActionContext = /*#__PURE__*/createContext(null);
20
+ function ActionProvider(_ref) {
21
+ var _ref$handlers = _ref.handlers,
22
+ initialHandlers = _ref$handlers === void 0 ? {} : _ref$handlers,
23
+ navigate = _ref.navigate,
24
+ children = _ref.children;
25
+ var _useData = useData(),
26
+ data = _useData.data,
27
+ set = _useData.set;
28
+ var _useState = useState(initialHandlers),
29
+ _useState2 = _slicedToArray(_useState, 2),
30
+ handlers = _useState2[0],
31
+ setHandlers = _useState2[1];
32
+ var _useState3 = useState(/* @__PURE__ */new Set()),
33
+ _useState4 = _slicedToArray(_useState3, 2),
34
+ loadingActions = _useState4[0],
35
+ setLoadingActions = _useState4[1];
36
+ var _useState5 = useState(null),
37
+ _useState6 = _slicedToArray(_useState5, 2),
38
+ pendingConfirmation = _useState6[0],
39
+ setPendingConfirmation = _useState6[1];
40
+ var registerHandler = useCallback(function (name, handler) {
41
+ setHandlers(function (prev) {
42
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, name, handler));
43
+ });
44
+ }, []);
45
+ var execute = useCallback(/*#__PURE__*/function () {
46
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4(action) {
47
+ var resolved, handler;
48
+ return _regeneratorRuntime.wrap(function (_context4) {
49
+ while (1) switch (_context4.prev = _context4.next) {
50
+ case 0:
51
+ resolved = resolveAction(action, data);
52
+ handler = handlers[resolved.name];
53
+ if (handler) {
54
+ _context4.next = 1;
55
+ break;
56
+ }
57
+ console.warn("No handler registered for action: ".concat(resolved.name));
58
+ return _context4.abrupt("return");
59
+ case 1:
60
+ if (!resolved.confirm) {
61
+ _context4.next = 2;
62
+ break;
63
+ }
64
+ return _context4.abrupt("return", new Promise(function (_resolve, _reject) {
65
+ setPendingConfirmation({
66
+ action: resolved,
67
+ handler: handler,
68
+ resolve: function resolve() {
69
+ setPendingConfirmation(null);
70
+ _resolve();
71
+ },
72
+ reject: function reject() {
73
+ setPendingConfirmation(null);
74
+ _reject(new Error("Action cancelled"));
75
+ }
76
+ });
77
+ }).then(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
78
+ return _regeneratorRuntime.wrap(function (_context2) {
79
+ while (1) switch (_context2.prev = _context2.next) {
80
+ case 0:
81
+ setLoadingActions(function (prev) {
82
+ return new Set(prev).add(resolved.name);
83
+ });
84
+ _context2.prev = 1;
85
+ _context2.next = 2;
86
+ return executeAction({
87
+ action: resolved,
88
+ handler: handler,
89
+ setData: set,
90
+ navigate: navigate,
91
+ executeAction: function () {
92
+ var _executeAction = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(name) {
93
+ var subAction;
94
+ return _regeneratorRuntime.wrap(function (_context) {
95
+ while (1) switch (_context.prev = _context.next) {
96
+ case 0:
97
+ subAction = {
98
+ name: name
99
+ };
100
+ _context.next = 1;
101
+ return execute(subAction);
102
+ case 1:
103
+ case "end":
104
+ return _context.stop();
105
+ }
106
+ }, _callee);
107
+ }));
108
+ function executeAction(_x2) {
109
+ return _executeAction.apply(this, arguments);
110
+ }
111
+ return executeAction;
112
+ }()
113
+ });
114
+ case 2:
115
+ _context2.prev = 2;
116
+ setLoadingActions(function (prev) {
117
+ var next = new Set(prev);
118
+ next["delete"](resolved.name);
119
+ return next;
120
+ });
121
+ return _context2.finish(2);
122
+ case 3:
123
+ case "end":
124
+ return _context2.stop();
125
+ }
126
+ }, _callee2, null, [[1,, 2, 3]]);
127
+ }))));
128
+ case 2:
129
+ setLoadingActions(function (prev) {
130
+ return new Set(prev).add(resolved.name);
131
+ });
132
+ _context4.prev = 3;
133
+ _context4.next = 4;
134
+ return executeAction({
135
+ action: resolved,
136
+ handler: handler,
137
+ setData: set,
138
+ navigate: navigate,
139
+ executeAction: function () {
140
+ var _executeAction2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(name) {
141
+ var subAction;
142
+ return _regeneratorRuntime.wrap(function (_context3) {
143
+ while (1) switch (_context3.prev = _context3.next) {
144
+ case 0:
145
+ subAction = {
146
+ name: name
147
+ };
148
+ _context3.next = 1;
149
+ return execute(subAction);
150
+ case 1:
151
+ case "end":
152
+ return _context3.stop();
153
+ }
154
+ }, _callee3);
155
+ }));
156
+ function executeAction(_x3) {
157
+ return _executeAction2.apply(this, arguments);
158
+ }
159
+ return executeAction;
160
+ }()
161
+ });
162
+ case 4:
163
+ _context4.prev = 4;
164
+ setLoadingActions(function (prev) {
165
+ var next = new Set(prev);
166
+ next["delete"](resolved.name);
167
+ return next;
168
+ });
169
+ return _context4.finish(4);
170
+ case 5:
171
+ case "end":
172
+ return _context4.stop();
173
+ }
174
+ }, _callee4, null, [[3,, 4, 5]]);
175
+ }));
176
+ return function (_x) {
177
+ return _ref2.apply(this, arguments);
178
+ };
179
+ }(), [data, handlers, set, navigate]);
180
+ var confirm = useCallback(function () {
181
+ pendingConfirmation === null || pendingConfirmation === void 0 || pendingConfirmation.resolve();
182
+ }, [pendingConfirmation]);
183
+ var cancel = useCallback(function () {
184
+ pendingConfirmation === null || pendingConfirmation === void 0 || pendingConfirmation.reject();
185
+ }, [pendingConfirmation]);
186
+ var value = useMemo(function () {
187
+ return {
188
+ handlers: handlers,
189
+ loadingActions: loadingActions,
190
+ pendingConfirmation: pendingConfirmation,
191
+ execute: execute,
192
+ confirm: confirm,
193
+ cancel: cancel,
194
+ registerHandler: registerHandler
195
+ };
196
+ }, [handlers, loadingActions, pendingConfirmation, execute, confirm, cancel, registerHandler]);
197
+ return /* @__PURE__ */React.createElement(ActionContext.Provider, {
198
+ value: value
199
+ }, children);
200
+ }
201
+ function useActions() {
202
+ var ctx = useContext(ActionContext);
203
+ if (!ctx) {
204
+ throw new Error("useActions must be used within an ActionProvider");
205
+ }
206
+ return ctx;
207
+ }
208
+ function useAction(action) {
209
+ var _useActions = useActions(),
210
+ execute = _useActions.execute,
211
+ loadingActions = _useActions.loadingActions;
212
+ var isLoading = loadingActions.has(action.name);
213
+ var executeAction2 = useCallback(function () {
214
+ return execute(action);
215
+ }, [execute, action]);
216
+ return {
217
+ execute: executeAction2,
218
+ isLoading: isLoading
219
+ };
220
+ }
221
+ function ConfirmDialog(_ref4) {
222
+ var _confirm$cancelLabel, _confirm$confirmLabel;
223
+ var confirm = _ref4.confirm,
224
+ onConfirm = _ref4.onConfirm,
225
+ onCancel = _ref4.onCancel;
226
+ var isDanger = confirm.variant === "danger";
227
+ return /* @__PURE__ */React.createElement("div", {
228
+ style: {
229
+ position: "fixed",
230
+ inset: 0,
231
+ backgroundColor: "rgba(0, 0, 0, 0.5)",
232
+ display: "flex",
233
+ alignItems: "center",
234
+ justifyContent: "center",
235
+ zIndex: 50
236
+ },
237
+ onClick: onCancel
238
+ }, /* @__PURE__ */React.createElement("div", {
239
+ style: {
240
+ backgroundColor: "white",
241
+ borderRadius: "8px",
242
+ padding: "24px",
243
+ maxWidth: "400px",
244
+ width: "100%",
245
+ boxShadow: "0 20px 25px -5px rgba(0, 0, 0, 0.1)"
246
+ },
247
+ onClick: function onClick(e) {
248
+ return e.stopPropagation();
249
+ }
250
+ }, /* @__PURE__ */React.createElement("h3", {
251
+ style: {
252
+ margin: "0 0 8px 0",
253
+ fontSize: "18px",
254
+ fontWeight: 600
255
+ }
256
+ }, confirm.title), /* @__PURE__ */React.createElement("p", {
257
+ style: {
258
+ margin: "0 0 24px 0",
259
+ color: "#6b7280"
260
+ }
261
+ }, confirm.message), /* @__PURE__ */React.createElement("div", {
262
+ style: {
263
+ display: "flex",
264
+ gap: "12px",
265
+ justifyContent: "flex-end"
266
+ }
267
+ }, /* @__PURE__ */React.createElement("button", {
268
+ onClick: onCancel,
269
+ style: {
270
+ padding: "8px 16px",
271
+ borderRadius: "6px",
272
+ border: "1px solid #d1d5db",
273
+ backgroundColor: "white",
274
+ cursor: "pointer"
275
+ }
276
+ }, (_confirm$cancelLabel = confirm.cancelLabel) !== null && _confirm$cancelLabel !== void 0 ? _confirm$cancelLabel : "Cancel"), /* @__PURE__ */React.createElement("button", {
277
+ onClick: onConfirm,
278
+ style: {
279
+ padding: "8px 16px",
280
+ borderRadius: "6px",
281
+ border: "none",
282
+ backgroundColor: isDanger ? "#dc2626" : "#3b82f6",
283
+ color: "white",
284
+ cursor: "pointer"
285
+ }
286
+ }, (_confirm$confirmLabel = confirm.confirmLabel) !== null && _confirm$confirmLabel !== void 0 ? _confirm$confirmLabel : "Confirm"))));
287
+ }
288
+
289
+ export { ActionProvider, ConfirmDialog, useAction, useActions };
290
+ //# sourceMappingURL=actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.js","sources":["../../../../../../pro-components/chat/chat-engine/components/json-render/contexts/actions.tsx"],"sourcesContent":["\"use client\";\n\nimport React, {\n createContext,\n useContext,\n useState,\n useCallback,\n useMemo,\n type ReactNode,\n} from \"react\";\nimport {\n resolveAction,\n executeAction,\n type Action,\n type ActionHandler,\n type ActionConfirm,\n type ResolvedAction,\n} from \"@json-render/core\";\nimport { useData } from \"./data\";\n\n/**\n * Pending confirmation state\n */\nexport interface PendingConfirmation {\n /** The resolved action */\n action: ResolvedAction;\n /** The action handler */\n handler: ActionHandler;\n /** Resolve callback */\n resolve: () => void;\n /** Reject callback */\n reject: () => void;\n}\n\n/**\n * Action context value\n */\nexport interface ActionContextValue {\n /** Registered action handlers */\n handlers: Record<string, ActionHandler>;\n /** Currently loading action names */\n loadingActions: Set<string>;\n /** Pending confirmation dialog */\n pendingConfirmation: PendingConfirmation | null;\n /** Execute an action */\n execute: (action: Action) => Promise<void>;\n /** Confirm the pending action */\n confirm: () => void;\n /** Cancel the pending action */\n cancel: () => void;\n /** Register an action handler */\n registerHandler: (name: string, handler: ActionHandler) => void;\n}\n\nconst ActionContext = createContext<ActionContextValue | null>(null);\n\n/**\n * Props for ActionProvider\n */\nexport interface ActionProviderProps {\n /** Initial action handlers */\n handlers?: Record<string, ActionHandler>;\n /** Navigation function */\n navigate?: (path: string) => void;\n children: ReactNode;\n}\n\n/**\n * Provider for action execution\n */\nexport function ActionProvider({\n handlers: initialHandlers = {},\n navigate,\n children,\n}: ActionProviderProps) {\n const { data, set } = useData();\n const [handlers, setHandlers] =\n useState<Record<string, ActionHandler>>(initialHandlers);\n const [loadingActions, setLoadingActions] = useState<Set<string>>(new Set());\n const [pendingConfirmation, setPendingConfirmation] =\n useState<PendingConfirmation | null>(null);\n\n const registerHandler = useCallback(\n (name: string, handler: ActionHandler) => {\n setHandlers((prev) => ({ ...prev, [name]: handler }));\n },\n [],\n );\n\n const execute = useCallback(\n async (action: Action) => {\n const resolved = resolveAction(action, data);\n const handler = handlers[resolved.name];\n\n if (!handler) {\n console.warn(`No handler registered for action: ${resolved.name}`);\n return;\n }\n\n // If confirmation is required, show dialog\n if (resolved.confirm) {\n return new Promise<void>((resolve, reject) => {\n setPendingConfirmation({\n action: resolved,\n handler,\n resolve: () => {\n setPendingConfirmation(null);\n resolve();\n },\n reject: () => {\n setPendingConfirmation(null);\n reject(new Error(\"Action cancelled\"));\n },\n });\n }).then(async () => {\n setLoadingActions((prev) => new Set(prev).add(resolved.name));\n try {\n await executeAction({\n action: resolved,\n handler,\n setData: set,\n navigate,\n executeAction: async (name) => {\n const subAction: Action = { name };\n await execute(subAction);\n },\n });\n } finally {\n setLoadingActions((prev) => {\n const next = new Set(prev);\n next.delete(resolved.name);\n return next;\n });\n }\n });\n }\n\n // Execute immediately\n setLoadingActions((prev) => new Set(prev).add(resolved.name));\n try {\n await executeAction({\n action: resolved,\n handler,\n setData: set,\n navigate,\n executeAction: async (name) => {\n const subAction: Action = { name };\n await execute(subAction);\n },\n });\n } finally {\n setLoadingActions((prev) => {\n const next = new Set(prev);\n next.delete(resolved.name);\n return next;\n });\n }\n },\n [data, handlers, set, navigate],\n );\n\n const confirm = useCallback(() => {\n pendingConfirmation?.resolve();\n }, [pendingConfirmation]);\n\n const cancel = useCallback(() => {\n pendingConfirmation?.reject();\n }, [pendingConfirmation]);\n\n const value = useMemo<ActionContextValue>(\n () => ({\n handlers,\n loadingActions,\n pendingConfirmation,\n execute,\n confirm,\n cancel,\n registerHandler,\n }),\n [\n handlers,\n loadingActions,\n pendingConfirmation,\n execute,\n confirm,\n cancel,\n registerHandler,\n ],\n );\n\n return (\n <ActionContext.Provider value={value}>{children}</ActionContext.Provider>\n );\n}\n\n/**\n * Hook to access action context\n */\nexport function useActions(): ActionContextValue {\n const ctx = useContext(ActionContext);\n if (!ctx) {\n throw new Error(\"useActions must be used within an ActionProvider\");\n }\n return ctx;\n}\n\n/**\n * Hook to execute an action\n */\nexport function useAction(action: Action): {\n execute: () => Promise<void>;\n isLoading: boolean;\n} {\n const { execute, loadingActions } = useActions();\n const isLoading = loadingActions.has(action.name);\n\n const executeAction = useCallback(() => execute(action), [execute, action]);\n\n return { execute: executeAction, isLoading };\n}\n\n/**\n * Props for ConfirmDialog component\n */\nexport interface ConfirmDialogProps {\n /** The confirmation config */\n confirm: ActionConfirm;\n /** Called when confirmed */\n onConfirm: () => void;\n /** Called when cancelled */\n onCancel: () => void;\n}\n\n/**\n * Default confirmation dialog component\n */\nexport function ConfirmDialog({\n confirm,\n onConfirm,\n onCancel,\n}: ConfirmDialogProps) {\n const isDanger = confirm.variant === \"danger\";\n\n return (\n <div\n style={{\n position: \"fixed\",\n inset: 0,\n backgroundColor: \"rgba(0, 0, 0, 0.5)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n zIndex: 50,\n }}\n onClick={onCancel}\n >\n <div\n style={{\n backgroundColor: \"white\",\n borderRadius: \"8px\",\n padding: \"24px\",\n maxWidth: \"400px\",\n width: \"100%\",\n boxShadow: \"0 20px 25px -5px rgba(0, 0, 0, 0.1)\",\n }}\n onClick={(e) => e.stopPropagation()}\n >\n <h3\n style={{\n margin: \"0 0 8px 0\",\n fontSize: \"18px\",\n fontWeight: 600,\n }}\n >\n {confirm.title}\n </h3>\n <p\n style={{\n margin: \"0 0 24px 0\",\n color: \"#6b7280\",\n }}\n >\n {confirm.message}\n </p>\n <div\n style={{\n display: \"flex\",\n gap: \"12px\",\n justifyContent: \"flex-end\",\n }}\n >\n <button\n onClick={onCancel}\n style={{\n padding: \"8px 16px\",\n borderRadius: \"6px\",\n border: \"1px solid #d1d5db\",\n backgroundColor: \"white\",\n cursor: \"pointer\",\n }}\n >\n {confirm.cancelLabel ?? \"Cancel\"}\n </button>\n <button\n onClick={onConfirm}\n style={{\n padding: \"8px 16px\",\n borderRadius: \"6px\",\n border: \"none\",\n backgroundColor: isDanger ? \"#dc2626\" : \"#3b82f6\",\n color: \"white\",\n cursor: \"pointer\",\n }}\n >\n {confirm.confirmLabel ?? \"Confirm\"}\n </button>\n </div>\n </div>\n </div>\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","ActionContext","createContext","ActionProvider","_ref","_ref$handlers","handlers","initialHandlers","navigate","children","_useData","useData","data","set","_useState","useState","_useState2","_slicedToArray","setHandlers","_useState3","Set","_useState4","loadingActions","setLoadingActions","_useState5","_useState6","pendingConfirmation","setPendingConfirmation","registerHandler","useCallback","name","handler","prev","execute","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee4","action","resolved","wrap","_context4","next","resolveAction","console","warn","concat","abrupt","confirm","Promise","resolve","reject","Error","then","_callee2","_context2","add","executeAction","setData","_executeAction","_callee","subAction","_context","stop","_x2","finish","_executeAction2","_callee3","_context3","_x3","_x","cancel","value","useMemo","React","createElement","Provider","useActions","ctx","useContext","useAction","_useActions","isLoading","has","ConfirmDialog","_ref4","_confirm$cancelLabel","_confirm$confirmLabel","onConfirm","onCancel","isDanger","variant","style","position","inset","backgroundColor","display","alignItems","justifyContent","zIndex","onClick","borderRadius","padding","maxWidth","width","boxShadow","stopPropagation","margin","fontSize","fontWeight","title","color","message","gap","border","cursor","cancelLabel","confirmLabel"],"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;AAsDA,IAAMoB,aAAA,gBAAgBC,cAAyC,IAAI,CAAA,CAAA;AAgB5D,SAASC,cAAeA,CAAAC,IAAA,EAIP;AAAA,EAAA,IAAAC,aAAA,GAAAD,IAAA,CAHtBE,QAAA;AAAUC,IAAAA,6CAAkB,EAAC,GAAAF,aAAA;IAC7BG,QAAA,GAAAJ,IAAA,CAAAI,QAAA;IACAC,QAAA,GAAAL,IAAA,CAAAK,QAAA,CAAA;AAEA,EAAA,IAAAC,QAAA,GAAsBC,OAAQ,EAAA;IAAtBC,IAAA,GAAAF,QAAA,CAAAE,IAAA;IAAMC,GAAI,GAAAH,QAAA,CAAJG,GAAI,CAAA;AAClB,EAAA,IAAAC,SAAA,GACEC,SAAwCR,eAAe,CAAA;IAAAS,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AADlDR,IAAAA,QAAA,GAAAU,UAAA,CAAA,CAAA,CAAA;AAAUE,IAAAA,WAAW,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;EAE5B,IAAAG,UAAA,GAA4CJ,QAAsB,gBAAA,IAAIK,KAAK,CAAA;IAAAC,UAAA,GAAAJ,cAAA,CAAAE,UAAA,EAAA,CAAA,CAAA;AAApEG,IAAAA,cAAgB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAAE,IAAAA,iBAAiB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AACxC,EAAA,IAAAG,UAAA,GACET,SAAqC,IAAI,CAAA;IAAAU,UAAA,GAAAR,cAAA,CAAAO,UAAA,EAAA,CAAA,CAAA;AADpCE,IAAAA,mBAAA,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAqBE,IAAAA,sBAAsB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;EAGlD,IAAMG,eAAkB,GAAAC,WAAA,CACtB,UAACC,MAAcC,OAA2B,EAAA;IAC5Bb,WAAA,CAAA,UAACc;yCAAeA,EAAAA,EAAAA,+BAAOF,IAAA,EAAOC;KAAU,CAAA,CAAA;GACtD,EACA,EACF,CAAA,CAAA;EAEA,IAAME,OAAU,GAAAJ,WAAA,cAAA,YAAA;IAAA,IAAAK,KAAA,GAAAC,iBAAA,cAAAC,mBAAA,CAAAC,IAAA,CACd,SAAAC,QAAAA,CAAOC,MAAmB,EAAA;MAAA,IAAAC,QAAA,EAAAT,OAAA,CAAA;AAAA,MAAA,OAAAK,mBAAA,CAAAK,IAAA,CAAA,UAAAC,SAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAV,IAAA,GAAAU,SAAA,CAAAC,IAAA;AAAA,UAAA,KAAA,CAAA;AAClBH,YAAAA,QAAA,GAAWI,aAAc,CAAAL,MAAA,EAAQ3B,IAAI,CAAA,CAAA;AACrCmB,YAAAA,OAAA,GAAUzB,SAASkC,QAAS,CAAAV,IAAA,CAAA,CAAA;AAAA,YAAA,IAE7BC,OAAS,EAAA;AAAAW,cAAAA,SAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;YACJE,OAAA,CAAAC,IAAA,CAAAC,oCAAAA,CAAAA,MAAA,CAA0CP,QAAA,CAASV,IAAM,CAAA,CAAA,CAAA;YAAA,OAAAY,SAAA,CAAAM,MAAA,CAAA,QAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;YAAA,IAK/DR,CAAAA,SAASS,OAAS,EAAA;AAAAP,cAAAA,SAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;YAAA,OAAAD,SAAA,CAAAM,MAAA,CACb,QAAA,EAAA,IAAIE,OAAA,CAAc,UAACC,QAAA,EAASC,OAAW,EAAA;AACrBzB,cAAAA,sBAAA,CAAA;AACrBY,gBAAAA,MAAQ,EAAAC,QAAA;AACRT,gBAAAA,OAAA,EAAAA,OAAA;AACAoB,gBAAAA,SAAS,SAATA,UAAe;kBACbxB,sBAAA,CAAuB,IAAI,CAAA,CAAA;AACnBwB,kBAAAA,QAAA,EAAA,CAAA;iBACV;AACAC,gBAAAA,QAAQ,SAARA,SAAc;kBACZzB,sBAAA,CAAuB,IAAI,CAAA,CAAA;AACpByB,kBAAAA,OAAA,CAAA,IAAIC,KAAM,CAAA,kBAAkB,CAAC,CAAA,CAAA;AACtC,iBAAA;AACF,eAAC,CAAA,CAAA;aACF,CAAE,CAAAC,IAAA,cAAAnB,iBAAA,cAAAC,mBAAA,CAAAC,IAAA,CAAK,SAAAkB,QAAA,GAAA;AAAA,cAAA,OAAAnB,mBAAA,CAAAK,IAAA,CAAA,UAAAe,SAAA,EAAA;AAAA,gBAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAxB,IAAA,GAAAwB,SAAA,CAAAb,IAAA;AAAA,kBAAA,KAAA,CAAA;oBACYpB,iBAAA,CAAA,UAACS;6BAAS,IAAIZ,GAAA,CAAIY,IAAI,CAAE,CAAAyB,GAAA,CAAIjB,QAAS,CAAAV,IAAI,CAAC,CAAA;qBAAA,CAAA,CAAA;AAAA0B,oBAAAA,SAAA,CAAAxB,IAAA,GAAA,CAAA,CAAA;AAAAwB,oBAAAA,SAAA,CAAAb,IAAA,GAAA,CAAA,CAAA;AAAA,oBAAA,OAEpDe,aAAc,CAAA;AAClBnB,sBAAAA,MAAQ,EAAAC,QAAA;AACRT,sBAAAA,OAAA,EAAAA,OAAA;AACA4B,sBAAAA,OAAS,EAAA9C,GAAA;AACTL,sBAAAA,QAAA,EAAAA,QAAA;sBACAkD,aAAA,EAAA,YAAA;wBAAA,IAAAE,cAAA,GAAAzB,iBAAA,cAAAC,mBAAA,CAAAC,IAAA,CAAe,SAAAwB,OAAAA,CAAO/B,IAAS,EAAA;AAAA,0BAAA,IAAAgC,SAAA,CAAA;AAAA,0BAAA,OAAA1B,mBAAA,CAAAK,IAAA,CAAA,UAAAsB,QAAA,EAAA;AAAA,4BAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAA/B,IAAA,GAAA+B,QAAA,CAAApB,IAAA;AAAA,8BAAA,KAAA,CAAA;AACvBmB,gCAAAA,SAAA,GAAoB;AAAEhC,kCAAAA,IAAK,EAALA,IAAAA;iCAAK,CAAA;AAAAiC,gCAAAA,QAAA,CAAApB,IAAA,GAAA,CAAA,CAAA;gCAAA,OAC3BV,QAAQ6B,SAAS,CAAA,CAAA;AAAA,8BAAA,KAAA,CAAA,CAAA;AAAA,8BAAA,KAAA,KAAA;gCAAA,OAAAC,QAAA,CAAAC,IAAA,EAAA,CAAA;AAAA,6BAAA;AAAA,2BAAA,EAAAH,OAAA,CAAA,CAAA;yBACzB,CAAA,CAAA,CAAA;wBAAA,SAHAH,aAAAA,CAAAO,GAAA,EAAA;AAAA,0BAAA,OAAAL,cAAA,CAAApE,KAAA,CAAA,IAAA,EAAAE,SAAA,CAAA,CAAA;AAAA,yBAAA;AAAA,wBAAA,OAAAgE,aAAA,CAAA;AAAA,uBAAA,EAAA;AAIF,qBAAC,CAAA,CAAA;AAAA,kBAAA,KAAA,CAAA;AAAAF,oBAAAA,SAAA,CAAAxB,IAAA,GAAA,CAAA,CAAA;oBAEDT,iBAAA,CAAkB,UAACS,IAAS,EAAA;AACpB,sBAAA,IAAAW,IAAA,GAAO,IAAIvB,GAAA,CAAIY,IAAI,CAAA,CAAA;AACpBW,sBAAAA,IAAA,CAAA,QAAA,CAAA,CAAOH,SAASV,IAAI,CAAA,CAAA;AAClB,sBAAA,OAAAa,IAAA,CAAA;AACT,qBAAC,CAAA,CAAA;oBAAA,OAAAa,SAAA,CAAAU,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,kBAAA,KAAA,CAAA,CAAA;AAAA,kBAAA,KAAA,KAAA;oBAAA,OAAAV,SAAA,CAAAQ,IAAA,EAAA,CAAA;AAAA,iBAAA;AAAA,eAAA,EAAAT,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,GAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,aAEJ,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;YAIehC,iBAAA,CAAA,UAACS;qBAAS,IAAIZ,GAAA,CAAIY,IAAI,CAAE,CAAAyB,GAAA,CAAIjB,QAAS,CAAAV,IAAI,CAAC,CAAA;aAAA,CAAA,CAAA;AAAAY,YAAAA,SAAA,CAAAV,IAAA,GAAA,CAAA,CAAA;AAAAU,YAAAA,SAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OAEpDe,aAAc,CAAA;AAClBnB,cAAAA,MAAQ,EAAAC,QAAA;AACRT,cAAAA,OAAA,EAAAA,OAAA;AACA4B,cAAAA,OAAS,EAAA9C,GAAA;AACTL,cAAAA,QAAA,EAAAA,QAAA;cACAkD,aAAA,EAAA,YAAA;gBAAA,IAAAS,eAAA,GAAAhC,iBAAA,cAAAC,mBAAA,CAAAC,IAAA,CAAe,SAAA+B,QAAAA,CAAOtC,IAAS,EAAA;AAAA,kBAAA,IAAAgC,SAAA,CAAA;AAAA,kBAAA,OAAA1B,mBAAA,CAAAK,IAAA,CAAA,UAAA4B,SAAA,EAAA;AAAA,oBAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAArC,IAAA,GAAAqC,SAAA,CAAA1B,IAAA;AAAA,sBAAA,KAAA,CAAA;AACvBmB,wBAAAA,SAAA,GAAoB;AAAEhC,0BAAAA,IAAK,EAALA,IAAAA;yBAAK,CAAA;AAAAuC,wBAAAA,SAAA,CAAA1B,IAAA,GAAA,CAAA,CAAA;wBAAA,OAC3BV,QAAQ6B,SAAS,CAAA,CAAA;AAAA,sBAAA,KAAA,CAAA,CAAA;AAAA,sBAAA,KAAA,KAAA;wBAAA,OAAAO,SAAA,CAAAL,IAAA,EAAA,CAAA;AAAA,qBAAA;AAAA,mBAAA,EAAAI,QAAA,CAAA,CAAA;iBACzB,CAAA,CAAA,CAAA;gBAAA,SAHAV,aAAAA,CAAAY,GAAA,EAAA;AAAA,kBAAA,OAAAH,eAAA,CAAA3E,KAAA,CAAA,IAAA,EAAAE,SAAA,CAAA,CAAA;AAAA,iBAAA;AAAA,gBAAA,OAAAgE,aAAA,CAAA;AAAA,eAAA,EAAA;AAIF,aAAC,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;AAAAhB,YAAAA,SAAA,CAAAV,IAAA,GAAA,CAAA,CAAA;YAEDT,iBAAA,CAAkB,UAACS,IAAS,EAAA;AACpB,cAAA,IAAAW,IAAA,GAAO,IAAIvB,GAAA,CAAIY,IAAI,CAAA,CAAA;AACpBW,cAAAA,IAAA,CAAA,QAAA,CAAA,CAAOH,SAASV,IAAI,CAAA,CAAA;AAClB,cAAA,OAAAa,IAAA,CAAA;AACT,aAAC,CAAA,CAAA;YAAA,OAAAD,SAAA,CAAAwB,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAxB,SAAA,CAAAsB,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAA1B,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,GAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;KAEL,CAAA,CAAA,CAAA;AAAA,IAAA,OAAA,UAAAiC,EAAA,EAAA;AAAA,MAAA,OAAArC,KAAA,CAAA1C,KAAA,CAAA,IAAA,EAAAE,SAAA,CAAA,CAAA;AAAA,KAAA,CAAA;GACA,EAAA,EAAA,CAACkB,IAAA,EAAMN,QAAU,EAAAO,GAAA,EAAKL,QAAQ,CAChC,CAAA,CAAA;AAEM,EAAA,IAAAyC,OAAA,GAAUpB,YAAY,YAAM;AAChCH,IAAAA,mBAAA,aAAAA,mBAAA,KAAA,KAAA,CAAA,IAAAA,mBAAA,CAAqByB,OAAQ,EAAA,CAAA;AAC/B,GAAA,EAAG,CAACzB,mBAAmB,CAAC,CAAA,CAAA;AAElB,EAAA,IAAA8C,MAAA,GAAS3C,YAAY,YAAM;AAC/BH,IAAAA,mBAAA,aAAAA,mBAAA,KAAA,KAAA,CAAA,IAAAA,mBAAA,CAAqB0B,MAAO,EAAA,CAAA;AAC9B,GAAA,EAAG,CAAC1B,mBAAmB,CAAC,CAAA,CAAA;EAExB,IAAM+C,KAAQ,GAAAC,OAAA,CACZ,YAAA;IAAA,OAAO;AACLpE,MAAAA,QAAA,EAAAA,QAAA;AACAgB,MAAAA,cAAA,EAAAA,cAAA;AACAI,MAAAA,mBAAA,EAAAA,mBAAA;AACAO,MAAAA,OAAA,EAAAA,OAAA;AACAgB,MAAAA,OAAA,EAAAA,OAAA;AACAuB,MAAAA,MAAA,EAAAA,MAAA;AACA5C,MAAAA,eAAA,EAAAA,eAAAA;KACF,CAAA;AAAA,GAAA,EACA,CACEtB,QAAA,EACAgB,cAAA,EACAI,mBAAA,EACAO,OAAA,EACAgB,OAAA,EACAuB,MAAA,EACA5C,eAAA,CAEJ,CAAA,CAAA;EAGE,sBAAA+C,KAAA,CAAAC,aAAA,CAAC3E,cAAc4E,QAAd,EAAA;AAAuBJ,IAAAA,KAAA,EAAAA,KAAAA;GAAA,EAAehE,QAAS,CAAA,CAAA;AAEpD,CAAA;AAKO,SAASqE,UAAiCA,GAAA;AACzC,EAAA,IAAAC,GAAA,GAAMC,WAAW/E,aAAa,CAAA,CAAA;EACpC,IAAI,CAAC8E,GAAK,EAAA;AACF,IAAA,MAAA,IAAI1B,MAAM,kDAAkD,CAAA,CAAA;AACpE,GAAA;AACO,EAAA,OAAA0B,GAAA,CAAA;AACT,CAAA;AAKO,SAASE,UAAU1C,MAGxB,EAAA;AACA,EAAA,IAAA2C,WAAA,GAAoCJ,UAAW,EAAA;IAAvC7C,OAAA,GAAAiD,WAAA,CAAAjD,OAAA;IAASX,cAAe,GAAA4D,WAAA,CAAf5D,cAAe,CAAA;EAChC,IAAM6D,SAAY,GAAA7D,cAAA,CAAe8D,GAAI,CAAA7C,MAAA,CAAOT,IAAI,CAAA,CAAA;EAE1C4B,IAAAA,cAAAA,GAAgB7B,YAAY,YAAA;IAAA,OAAMI,OAAA,CAAQM,MAAM,CAAG,CAAA;AAAA,GAAA,EAAA,CAACN,OAAS,EAAAM,MAAM,CAAC,CAAA,CAAA;EAEnE,OAAA;AAAEN,IAAAA,OAASyB,EAAAA,cAAAA;AAAeyB,IAAAA,SAAU,EAAVA,SAAAA;GAAU,CAAA;AAC7C,CAAA;AAiBO,SAASE,aAAcA,CAAAC,KAAA,EAIP;EAAA,IAAAC,oBAAA,EAAAC,qBAAA,CAAA;AAAA,EAAA,IAHrBvC,OAAA,GAAAqC,KAAA,CAAArC,OAAA;IACAwC,SAAA,GAAAH,KAAA,CAAAG,SAAA;IACAC,QAAA,GAAAJ,KAAA,CAAAI,QAAA,CAAA;AAEM,EAAA,IAAAC,QAAA,GAAW1C,QAAQ2C,OAAY,KAAA,QAAA,CAAA;AAErC,EAAA,sBACGjB,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACCiB,IAAAA,KAAO,EAAA;AACLC,MAAAA,QAAU,EAAA,OAAA;AACVC,MAAAA,KAAO,EAAA,CAAA;AACPC,MAAAA,eAAiB,EAAA,oBAAA;AACjBC,MAAAA,OAAS,EAAA,MAAA;AACTC,MAAAA,UAAY,EAAA,QAAA;AACZC,MAAAA,cAAgB,EAAA,QAAA;AAChBC,MAAAA,MAAQ,EAAA,EAAA;KACV;AACAC,IAAAA,OAAS,EAAAX,QAAAA;AAAA,GAAA,iBAERf,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACCiB,IAAAA,KAAO,EAAA;AACLG,MAAAA,eAAiB,EAAA,OAAA;AACjBM,MAAAA,YAAc,EAAA,KAAA;AACdC,MAAAA,OAAS,EAAA,MAAA;AACTC,MAAAA,QAAU,EAAA,OAAA;AACVC,MAAAA,KAAO,EAAA,MAAA;AACPC,MAAAA,SAAW,EAAA,qCAAA;KACb;AACAL,IAAAA,OAAS,EAAA,SAATA,OAASA,CAACxH,CAAM,EAAA;AAAA,MAAA,OAAAA,CAAA,CAAE8H,eAAgB,EAAA,CAAA;AAAA,KAAA;AAAA,GAAA,iBAEjChC,KAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;AACCiB,IAAAA,KAAO,EAAA;AACLe,MAAAA,MAAQ,EAAA,WAAA;AACRC,MAAAA,QAAU,EAAA,MAAA;AACVC,MAAAA,UAAY,EAAA,GAAA;AACd,KAAA;AAEC,GAAA,EAAA7D,OAAA,CAAQ8D,KACX,CAAA,iBACCpC,KAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AACCiB,IAAAA,KAAO,EAAA;AACLe,MAAAA,MAAQ,EAAA,YAAA;AACRI,MAAAA,KAAO,EAAA,SAAA;AACT,KAAA;AAEC,GAAA,EAAA/D,OAAA,CAAQgE,OACX,CAAA,iBACCtC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACCiB,IAAAA,KAAO,EAAA;AACLI,MAAAA,OAAS,EAAA,MAAA;AACTiB,MAAAA,GAAK,EAAA,MAAA;AACLf,MAAAA,cAAgB,EAAA,UAAA;AAClB,KAAA;AAAA,GAAA,iBAECxB,KAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AACCyB,IAAAA,OAAS,EAAAX,QAAA;AACTG,IAAAA,KAAO,EAAA;AACLU,MAAAA,OAAS,EAAA,UAAA;AACTD,MAAAA,YAAc,EAAA,KAAA;AACda,MAAAA,MAAQ,EAAA,mBAAA;AACRnB,MAAAA,eAAiB,EAAA,OAAA;AACjBoB,MAAAA,MAAQ,EAAA,SAAA;AACV,KAAA;GAAA,EAAA,CAAA7B,oBAAA,GAECtC,OAAQ,CAAAoE,WAAA,MAAA,IAAA,IAAA9B,oBAAA,KAAAA,KAAAA,CAAAA,GAAAA,oBAAA,GAAe,QAC1B,CAAA,iBACCZ,KAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AACCyB,IAAAA,OAAS,EAAAZ,SAAA;AACTI,IAAAA,KAAO,EAAA;AACLU,MAAAA,OAAS,EAAA,UAAA;AACTD,MAAAA,YAAc,EAAA,KAAA;AACda,MAAAA,MAAQ,EAAA,MAAA;AACRnB,MAAAA,eAAA,EAAiBL,WAAW,SAAY,GAAA,SAAA;AACxCqB,MAAAA,KAAO,EAAA,OAAA;AACPI,MAAAA,MAAQ,EAAA,SAAA;AACV,KAAA;AAAA,GAAA,EAAA5B,CAAAA,qBAAA,GAECvC,OAAQ,CAAAqE,YAAA,MAAA,IAAA,IAAA9B,qBAAA,KAAA,KAAA,CAAA,GAAAA,qBAAA,GAAgB,SAC3B,CACF,CACF,CACF,CAAA,CAAA;AAEJ;;;;"}
@@ -0,0 +1,45 @@
1
+ import { type ReactNode } from "react";
2
+ import { type DataModel, type AuthState } from "@json-render/core";
3
+ /**
4
+ * Data context value
5
+ */
6
+ export interface DataContextValue {
7
+ /** The current data model */
8
+ data: DataModel;
9
+ /** Auth state for visibility evaluation */
10
+ authState?: AuthState;
11
+ /** Get a value by path */
12
+ get: (path: string) => unknown;
13
+ /** Set a value by path */
14
+ set: (path: string, value: unknown) => void;
15
+ /** Update multiple values at once */
16
+ update: (updates: Record<string, unknown>) => void;
17
+ }
18
+ /**
19
+ * Props for DataProvider
20
+ */
21
+ export interface DataProviderProps {
22
+ /** Initial data model */
23
+ initialData?: DataModel;
24
+ /** Auth state */
25
+ authState?: AuthState;
26
+ /** Callback when data changes */
27
+ onDataChange?: (path: string, value: unknown) => void;
28
+ children: ReactNode;
29
+ }
30
+ /**
31
+ * Provider for data model context
32
+ */
33
+ export declare function DataProvider({ initialData, authState, onDataChange, children, }: DataProviderProps): import("react/jsx-runtime").JSX.Element;
34
+ /**
35
+ * Hook to access the data context
36
+ */
37
+ export declare function useData(): DataContextValue;
38
+ /**
39
+ * Hook to get a value from the data model
40
+ */
41
+ export declare function useDataValue<T>(path: string): T | undefined;
42
+ /**
43
+ * Hook to get and set a value from the data model (like useState)
44
+ */
45
+ export declare function useDataBinding<T>(path: string): [T | undefined, (value: T) => void];
@@ -0,0 +1,104 @@
1
+ /**
2
+ * tdesign v1.1.0-alpha.1
3
+ * (c) 2026 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ import _typeof from '@babel/runtime/helpers/typeof';
8
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
9
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
10
+ import React, { createContext, useState, useEffect, useCallback, useMemo, useContext } from 'react';
11
+ import { getByPath, setByPath } from '@json-render/core';
12
+
13
+ "use client";
14
+ 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; }
15
+ 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; }
16
+ var DataContext = /*#__PURE__*/createContext(null);
17
+ function DataProvider(_ref) {
18
+ var _ref$initialData = _ref.initialData,
19
+ initialData = _ref$initialData === void 0 ? {} : _ref$initialData,
20
+ authState = _ref.authState,
21
+ onDataChange = _ref.onDataChange,
22
+ children = _ref.children;
23
+ var _useState = useState(initialData),
24
+ _useState2 = _slicedToArray(_useState, 2),
25
+ data = _useState2[0],
26
+ setData = _useState2[1];
27
+ useEffect(function () {
28
+ setData(function (prev) {
29
+ var next = _objectSpread({}, prev);
30
+ for (var _i = 0, _Object$entries = Object.entries(initialData); _i < _Object$entries.length; _i++) {
31
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
32
+ key = _Object$entries$_i[0],
33
+ value2 = _Object$entries$_i[1];
34
+ if (_typeof(value2) === "object" && value2 !== null && !Array.isArray(value2) && _typeof(next[key]) === "object" && next[key] !== null) {
35
+ next[key] = _objectSpread(_objectSpread({}, next[key]), value2);
36
+ } else {
37
+ next[key] = value2;
38
+ }
39
+ }
40
+ return next;
41
+ });
42
+ }, [initialData]);
43
+ var get = useCallback(function (path) {
44
+ return getByPath(data, path);
45
+ }, [data]);
46
+ var set = useCallback(function (path, value2) {
47
+ setData(function (prev) {
48
+ var next = _objectSpread({}, prev);
49
+ setByPath(next, path, value2);
50
+ return next;
51
+ });
52
+ onDataChange === null || onDataChange === void 0 || onDataChange(path, value2);
53
+ }, [onDataChange]);
54
+ var update = useCallback(function (updates) {
55
+ setData(function (prev) {
56
+ var next = _objectSpread({}, prev);
57
+ for (var _i2 = 0, _Object$entries2 = Object.entries(updates); _i2 < _Object$entries2.length; _i2++) {
58
+ var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i2], 2),
59
+ path = _Object$entries2$_i[0],
60
+ value2 = _Object$entries2$_i[1];
61
+ setByPath(next, path, value2);
62
+ onDataChange === null || onDataChange === void 0 || onDataChange(path, value2);
63
+ }
64
+ return next;
65
+ });
66
+ }, [onDataChange]);
67
+ var value = useMemo(function () {
68
+ return {
69
+ data: data,
70
+ authState: authState,
71
+ get: get,
72
+ set: set,
73
+ update: update
74
+ };
75
+ }, [data, authState, get, set, update]);
76
+ return /* @__PURE__ */React.createElement(DataContext.Provider, {
77
+ value: value
78
+ }, children);
79
+ }
80
+ function useData() {
81
+ var ctx = useContext(DataContext);
82
+ if (!ctx) {
83
+ throw new Error("useData must be used within a DataProvider");
84
+ }
85
+ return ctx;
86
+ }
87
+ function useDataValue(path) {
88
+ var _useData = useData(),
89
+ get = _useData.get;
90
+ return get(path);
91
+ }
92
+ function useDataBinding(path) {
93
+ var _useData2 = useData(),
94
+ get = _useData2.get,
95
+ set = _useData2.set;
96
+ var value = get(path);
97
+ var setValue = useCallback(function (newValue) {
98
+ return set(path, newValue);
99
+ }, [path, set]);
100
+ return [value, setValue];
101
+ }
102
+
103
+ export { DataProvider, useData, useDataBinding, useDataValue };
104
+ //# sourceMappingURL=data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.js","sources":["../../../../../../pro-components/chat/chat-engine/components/json-render/contexts/data.tsx"],"sourcesContent":["\"use client\";\n\nimport React, {\n createContext,\n useContext,\n useState,\n useCallback,\n useMemo,\n useEffect,\n type ReactNode,\n} from \"react\";\nimport {\n getByPath,\n setByPath,\n type DataModel,\n type AuthState,\n} from \"@json-render/core\";\n\n/**\n * Data context value\n */\nexport interface DataContextValue {\n /** The current data model */\n data: DataModel;\n /** Auth state for visibility evaluation */\n authState?: AuthState;\n /** Get a value by path */\n get: (path: string) => unknown;\n /** Set a value by path */\n set: (path: string, value: unknown) => void;\n /** Update multiple values at once */\n update: (updates: Record<string, unknown>) => void;\n}\n\nconst DataContext = createContext<DataContextValue | null>(null);\n\n/**\n * Props for DataProvider\n */\nexport interface DataProviderProps {\n /** Initial data model */\n initialData?: DataModel;\n /** Auth state */\n authState?: AuthState;\n /** Callback when data changes */\n onDataChange?: (path: string, value: unknown) => void;\n children: ReactNode;\n}\n\n/**\n * Provider for data model context\n */\nexport function DataProvider({\n initialData = {},\n authState,\n onDataChange,\n children,\n}: DataProviderProps) {\n const [data, setData] = useState<DataModel>(initialData);\n\n // Sync initialData changes into internal state\n // This allows server-driven updates (e.g., A2UI updateDataModel) to reflect in the UI\n useEffect(() => {\n setData((prev) => {\n // Deep merge initialData into current state (preserves user input)\n const next = { ...prev };\n for (const [key, value] of Object.entries(initialData)) {\n if (typeof value === 'object' && value !== null && !Array.isArray(value) && typeof next[key] === 'object' && next[key] !== null) {\n next[key] = { ...next[key] as object, ...value as object };\n } else {\n next[key] = value;\n }\n }\n return next;\n });\n }, [initialData]);\n\n const get = useCallback((path: string) => getByPath(data, path), [data]);\n\n const set = useCallback(\n (path: string, value: unknown) => {\n setData((prev) => {\n const next = { ...prev };\n setByPath(next, path, value);\n return next;\n });\n onDataChange?.(path, value);\n },\n [onDataChange],\n );\n\n const update = useCallback(\n (updates: Record<string, unknown>) => {\n setData((prev) => {\n const next = { ...prev };\n for (const [path, value] of Object.entries(updates)) {\n setByPath(next, path, value);\n onDataChange?.(path, value);\n }\n return next;\n });\n },\n [onDataChange],\n );\n\n const value = useMemo<DataContextValue>(\n () => ({\n data,\n authState,\n get,\n set,\n update,\n }),\n [data, authState, get, set, update],\n );\n\n return <DataContext.Provider value={value}>{children}</DataContext.Provider>;\n}\n\n/**\n * Hook to access the data context\n */\nexport function useData(): DataContextValue {\n const ctx = useContext(DataContext);\n if (!ctx) {\n throw new Error(\"useData must be used within a DataProvider\");\n }\n return ctx;\n}\n\n/**\n * Hook to get a value from the data model\n */\nexport function useDataValue<T>(path: string): T | undefined {\n const { get } = useData();\n return get(path) as T | undefined;\n}\n\n/**\n * Hook to get and set a value from the data model (like useState)\n */\nexport function useDataBinding<T>(\n path: string,\n): [T | undefined, (value: T) => void] {\n const { get, set } = useData();\n const value = get(path) as T | undefined;\n const setValue = useCallback(\n (newValue: T) => set(path, newValue),\n [path, set],\n );\n return [value, setValue];\n}\n"],"names":["ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","DataContext","createContext","DataProvider","_ref","_ref$initialData","initialData","authState","onDataChange","children","_useState","useState","_useState2","_slicedToArray","data","setData","useEffect","prev","next","_i","_Object$entries","entries","_Object$entries$_i","key","value","_typeof","Array","isArray","get","useCallback","path","getByPath","set","setByPath","update","updates","_i2","_Object$entries2","_Object$entries2$_i","useMemo","React","createElement","Provider","useData","ctx","useContext","Error","useDataValue","_useData","useDataBinding","_useData2","setValue","newValue"],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import { type ReactNode } from "react";
2
+ import { type ValidationConfig, type ValidationFunction, type ValidationResult } from "@json-render/core";
3
+ /**
4
+ * Field validation state
5
+ */
6
+ export interface FieldValidationState {
7
+ /** Whether the field has been touched */
8
+ touched: boolean;
9
+ /** Whether the field has been validated */
10
+ validated: boolean;
11
+ /** Validation result */
12
+ result: ValidationResult | null;
13
+ }
14
+ /**
15
+ * Validation context value
16
+ */
17
+ export interface ValidationContextValue {
18
+ /** Custom validation functions from catalog */
19
+ customFunctions: Record<string, ValidationFunction>;
20
+ /** Validation state by field path */
21
+ fieldStates: Record<string, FieldValidationState>;
22
+ /** Validate a field */
23
+ validate: (path: string, config: ValidationConfig) => ValidationResult;
24
+ /** Mark field as touched */
25
+ touch: (path: string) => void;
26
+ /** Clear validation for a field */
27
+ clear: (path: string) => void;
28
+ /** Validate all fields */
29
+ validateAll: () => boolean;
30
+ /** Register field config */
31
+ registerField: (path: string, config: ValidationConfig) => void;
32
+ }
33
+ /**
34
+ * Props for ValidationProvider
35
+ */
36
+ export interface ValidationProviderProps {
37
+ /** Custom validation functions from catalog */
38
+ customFunctions?: Record<string, ValidationFunction>;
39
+ children: ReactNode;
40
+ }
41
+ /**
42
+ * Provider for validation
43
+ */
44
+ export declare function ValidationProvider({ customFunctions, children, }: ValidationProviderProps): import("react/jsx-runtime").JSX.Element;
45
+ /**
46
+ * Hook to access validation context
47
+ */
48
+ export declare function useValidation(): ValidationContextValue;
49
+ /**
50
+ * Hook to get validation state for a field
51
+ */
52
+ export declare function useFieldValidation(path: string, config?: ValidationConfig): {
53
+ state: FieldValidationState;
54
+ validate: () => ValidationResult;
55
+ touch: () => void;
56
+ clear: () => void;
57
+ errors: string[];
58
+ isValid: boolean;
59
+ };