@copilotkit/a2ui-renderer 1.55.0-next.8 → 1.55.0

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 (497) hide show
  1. package/dist/a2ui-types.cjs +2 -3
  2. package/dist/a2ui-types.cjs.map +1 -1
  3. package/dist/a2ui-types.d.cts +21 -5
  4. package/dist/a2ui-types.d.cts.map +1 -1
  5. package/dist/a2ui-types.d.mts +21 -5
  6. package/dist/a2ui-types.d.mts.map +1 -1
  7. package/dist/a2ui-types.mjs +2 -3
  8. package/dist/a2ui-types.mjs.map +1 -1
  9. package/dist/index.cjs +40 -61
  10. package/dist/index.cjs.map +1 -0
  11. package/dist/index.d.cts +10 -39
  12. package/dist/index.d.cts.map +1 -1
  13. package/dist/index.d.mts +10 -39
  14. package/dist/index.d.mts.map +1 -1
  15. package/dist/index.mjs +12 -29
  16. package/dist/index.mjs.map +1 -0
  17. package/dist/index.umd.js +1743 -2783
  18. package/dist/index.umd.js.map +1 -1
  19. package/dist/react-renderer/a2ui-react/A2uiSurface.cjs +110 -0
  20. package/dist/react-renderer/a2ui-react/A2uiSurface.cjs.map +1 -0
  21. package/dist/react-renderer/a2ui-react/A2uiSurface.d.cts +2 -0
  22. package/dist/react-renderer/a2ui-react/A2uiSurface.d.mts +3 -0
  23. package/dist/react-renderer/a2ui-react/A2uiSurface.mjs +107 -0
  24. package/dist/react-renderer/a2ui-react/A2uiSurface.mjs.map +1 -0
  25. package/dist/react-renderer/a2ui-react/adapter.cjs +63 -0
  26. package/dist/react-renderer/a2ui-react/adapter.cjs.map +1 -0
  27. package/dist/react-renderer/a2ui-react/adapter.d.cts +23 -0
  28. package/dist/react-renderer/a2ui-react/adapter.d.cts.map +1 -0
  29. package/dist/react-renderer/a2ui-react/adapter.d.mts +23 -0
  30. package/dist/react-renderer/a2ui-react/adapter.d.mts.map +1 -0
  31. package/dist/react-renderer/a2ui-react/adapter.mjs +61 -0
  32. package/dist/react-renderer/a2ui-react/adapter.mjs.map +1 -0
  33. package/dist/react-renderer/a2ui-react/catalog/basic/components/AudioPlayer.cjs +53 -0
  34. package/dist/react-renderer/a2ui-react/catalog/basic/components/AudioPlayer.cjs.map +1 -0
  35. package/dist/react-renderer/a2ui-react/catalog/basic/components/AudioPlayer.d.cts +1 -0
  36. package/dist/react-renderer/a2ui-react/catalog/basic/components/AudioPlayer.d.mts +1 -0
  37. package/dist/react-renderer/a2ui-react/catalog/basic/components/AudioPlayer.mjs +36 -0
  38. package/dist/react-renderer/a2ui-react/catalog/basic/components/AudioPlayer.mjs.map +1 -0
  39. package/dist/react-renderer/a2ui-react/catalog/basic/components/Button.cjs +48 -0
  40. package/dist/react-renderer/a2ui-react/catalog/basic/components/Button.cjs.map +1 -0
  41. package/dist/react-renderer/a2ui-react/catalog/basic/components/Button.d.cts +1 -0
  42. package/dist/react-renderer/a2ui-react/catalog/basic/components/Button.d.mts +1 -0
  43. package/dist/react-renderer/a2ui-react/catalog/basic/components/Button.mjs +31 -0
  44. package/dist/react-renderer/a2ui-react/catalog/basic/components/Button.mjs.map +1 -0
  45. package/dist/react-renderer/a2ui-react/catalog/basic/components/Card.cjs +39 -0
  46. package/dist/react-renderer/a2ui-react/catalog/basic/components/Card.cjs.map +1 -0
  47. package/dist/react-renderer/a2ui-react/catalog/basic/components/Card.d.cts +1 -0
  48. package/dist/react-renderer/a2ui-react/catalog/basic/components/Card.d.mts +1 -0
  49. package/dist/react-renderer/a2ui-react/catalog/basic/components/Card.mjs +22 -0
  50. package/dist/react-renderer/a2ui-react/catalog/basic/components/Card.mjs.map +1 -0
  51. package/dist/react-renderer/a2ui-react/catalog/basic/components/CheckBox.cjs +73 -0
  52. package/dist/react-renderer/a2ui-react/catalog/basic/components/CheckBox.cjs.map +1 -0
  53. package/dist/react-renderer/a2ui-react/catalog/basic/components/CheckBox.d.cts +1 -0
  54. package/dist/react-renderer/a2ui-react/catalog/basic/components/CheckBox.d.mts +1 -0
  55. package/dist/react-renderer/a2ui-react/catalog/basic/components/CheckBox.mjs +71 -0
  56. package/dist/react-renderer/a2ui-react/catalog/basic/components/CheckBox.mjs.map +1 -0
  57. package/dist/react-renderer/a2ui-react/catalog/basic/components/ChildList.cjs +36 -0
  58. package/dist/react-renderer/a2ui-react/catalog/basic/components/ChildList.cjs.map +1 -0
  59. package/dist/react-renderer/a2ui-react/catalog/basic/components/ChildList.mjs +34 -0
  60. package/dist/react-renderer/a2ui-react/catalog/basic/components/ChildList.mjs.map +1 -0
  61. package/dist/react-renderer/a2ui-react/catalog/basic/components/ChoicePicker.cjs +110 -0
  62. package/dist/react-renderer/a2ui-react/catalog/basic/components/ChoicePicker.cjs.map +1 -0
  63. package/dist/react-renderer/a2ui-react/catalog/basic/components/ChoicePicker.d.cts +1 -0
  64. package/dist/react-renderer/a2ui-react/catalog/basic/components/ChoicePicker.d.mts +1 -0
  65. package/dist/react-renderer/a2ui-react/catalog/basic/components/ChoicePicker.mjs +108 -0
  66. package/dist/react-renderer/a2ui-react/catalog/basic/components/ChoicePicker.mjs.map +1 -0
  67. package/dist/react-renderer/a2ui-react/catalog/basic/components/Column.cjs +45 -0
  68. package/dist/react-renderer/a2ui-react/catalog/basic/components/Column.cjs.map +1 -0
  69. package/dist/react-renderer/a2ui-react/catalog/basic/components/Column.d.cts +1 -0
  70. package/dist/react-renderer/a2ui-react/catalog/basic/components/Column.d.mts +1 -0
  71. package/dist/react-renderer/a2ui-react/catalog/basic/components/Column.mjs +44 -0
  72. package/dist/react-renderer/a2ui-react/catalog/basic/components/Column.mjs.map +1 -0
  73. package/dist/react-renderer/a2ui-react/catalog/basic/components/DateTimeInput.cjs +69 -0
  74. package/dist/react-renderer/a2ui-react/catalog/basic/components/DateTimeInput.cjs.map +1 -0
  75. package/dist/react-renderer/a2ui-react/catalog/basic/components/DateTimeInput.d.cts +1 -0
  76. package/dist/react-renderer/a2ui-react/catalog/basic/components/DateTimeInput.d.mts +1 -0
  77. package/dist/react-renderer/a2ui-react/catalog/basic/components/DateTimeInput.mjs +67 -0
  78. package/dist/react-renderer/a2ui-react/catalog/basic/components/DateTimeInput.mjs.map +1 -0
  79. package/dist/react-renderer/a2ui-react/catalog/basic/components/Divider.cjs +44 -0
  80. package/dist/react-renderer/a2ui-react/catalog/basic/components/Divider.cjs.map +1 -0
  81. package/dist/react-renderer/a2ui-react/catalog/basic/components/Divider.d.cts +1 -0
  82. package/dist/react-renderer/a2ui-react/catalog/basic/components/Divider.d.mts +1 -0
  83. package/dist/react-renderer/a2ui-react/catalog/basic/components/Divider.mjs +27 -0
  84. package/dist/react-renderer/a2ui-react/catalog/basic/components/Divider.mjs.map +1 -0
  85. package/dist/react-renderer/a2ui-react/catalog/basic/components/Icon.cjs +44 -0
  86. package/dist/react-renderer/a2ui-react/catalog/basic/components/Icon.cjs.map +1 -0
  87. package/dist/react-renderer/a2ui-react/catalog/basic/components/Icon.d.cts +1 -0
  88. package/dist/react-renderer/a2ui-react/catalog/basic/components/Icon.d.mts +1 -0
  89. package/dist/react-renderer/a2ui-react/catalog/basic/components/Icon.mjs +27 -0
  90. package/dist/react-renderer/a2ui-react/catalog/basic/components/Icon.mjs.map +1 -0
  91. package/dist/react-renderer/a2ui-react/catalog/basic/components/Image.cjs +59 -0
  92. package/dist/react-renderer/a2ui-react/catalog/basic/components/Image.cjs.map +1 -0
  93. package/dist/react-renderer/a2ui-react/catalog/basic/components/Image.d.cts +1 -0
  94. package/dist/react-renderer/a2ui-react/catalog/basic/components/Image.d.mts +1 -0
  95. package/dist/react-renderer/a2ui-react/catalog/basic/components/Image.mjs +42 -0
  96. package/dist/react-renderer/a2ui-react/catalog/basic/components/Image.mjs.map +1 -0
  97. package/dist/react-renderer/a2ui-react/catalog/basic/components/List.cjs +49 -0
  98. package/dist/react-renderer/a2ui-react/catalog/basic/components/List.cjs.map +1 -0
  99. package/dist/react-renderer/a2ui-react/catalog/basic/components/List.d.cts +1 -0
  100. package/dist/react-renderer/a2ui-react/catalog/basic/components/List.d.mts +1 -0
  101. package/dist/react-renderer/a2ui-react/catalog/basic/components/List.mjs +32 -0
  102. package/dist/react-renderer/a2ui-react/catalog/basic/components/List.mjs.map +1 -0
  103. package/dist/react-renderer/a2ui-react/catalog/basic/components/Modal.cjs +81 -0
  104. package/dist/react-renderer/a2ui-react/catalog/basic/components/Modal.cjs.map +1 -0
  105. package/dist/react-renderer/a2ui-react/catalog/basic/components/Modal.d.cts +1 -0
  106. package/dist/react-renderer/a2ui-react/catalog/basic/components/Modal.d.mts +1 -0
  107. package/dist/react-renderer/a2ui-react/catalog/basic/components/Modal.mjs +80 -0
  108. package/dist/react-renderer/a2ui-react/catalog/basic/components/Modal.mjs.map +1 -0
  109. package/dist/react-renderer/a2ui-react/catalog/basic/components/Row.cjs +45 -0
  110. package/dist/react-renderer/a2ui-react/catalog/basic/components/Row.cjs.map +1 -0
  111. package/dist/react-renderer/a2ui-react/catalog/basic/components/Row.d.cts +1 -0
  112. package/dist/react-renderer/a2ui-react/catalog/basic/components/Row.d.mts +1 -0
  113. package/dist/react-renderer/a2ui-react/catalog/basic/components/Row.mjs +44 -0
  114. package/dist/react-renderer/a2ui-react/catalog/basic/components/Row.mjs.map +1 -0
  115. package/dist/react-renderer/a2ui-react/catalog/basic/components/Slider.cjs +74 -0
  116. package/dist/react-renderer/a2ui-react/catalog/basic/components/Slider.cjs.map +1 -0
  117. package/dist/react-renderer/a2ui-react/catalog/basic/components/Slider.d.cts +1 -0
  118. package/dist/react-renderer/a2ui-react/catalog/basic/components/Slider.d.mts +1 -0
  119. package/dist/react-renderer/a2ui-react/catalog/basic/components/Slider.mjs +72 -0
  120. package/dist/react-renderer/a2ui-react/catalog/basic/components/Slider.mjs.map +1 -0
  121. package/dist/react-renderer/a2ui-react/catalog/basic/components/Tabs.cjs +63 -0
  122. package/dist/react-renderer/a2ui-react/catalog/basic/components/Tabs.cjs.map +1 -0
  123. package/dist/react-renderer/a2ui-react/catalog/basic/components/Tabs.d.cts +1 -0
  124. package/dist/react-renderer/a2ui-react/catalog/basic/components/Tabs.d.mts +1 -0
  125. package/dist/react-renderer/a2ui-react/catalog/basic/components/Tabs.mjs +62 -0
  126. package/dist/react-renderer/a2ui-react/catalog/basic/components/Tabs.mjs.map +1 -0
  127. package/dist/react-renderer/a2ui-react/catalog/basic/components/Text.cjs +69 -0
  128. package/dist/react-renderer/a2ui-react/catalog/basic/components/Text.cjs.map +1 -0
  129. package/dist/react-renderer/a2ui-react/catalog/basic/components/Text.d.cts +1 -0
  130. package/dist/react-renderer/a2ui-react/catalog/basic/components/Text.d.mts +1 -0
  131. package/dist/react-renderer/a2ui-react/catalog/basic/components/Text.mjs +52 -0
  132. package/dist/react-renderer/a2ui-react/catalog/basic/components/Text.mjs.map +1 -0
  133. package/dist/react-renderer/a2ui-react/catalog/basic/components/TextField.cjs +88 -0
  134. package/dist/react-renderer/a2ui-react/catalog/basic/components/TextField.cjs.map +1 -0
  135. package/dist/react-renderer/a2ui-react/catalog/basic/components/TextField.d.cts +1 -0
  136. package/dist/react-renderer/a2ui-react/catalog/basic/components/TextField.d.mts +1 -0
  137. package/dist/react-renderer/a2ui-react/catalog/basic/components/TextField.mjs +86 -0
  138. package/dist/react-renderer/a2ui-react/catalog/basic/components/TextField.mjs.map +1 -0
  139. package/dist/react-renderer/a2ui-react/catalog/basic/components/Video.cjs +40 -0
  140. package/dist/react-renderer/a2ui-react/catalog/basic/components/Video.cjs.map +1 -0
  141. package/dist/react-renderer/a2ui-react/catalog/basic/components/Video.d.cts +1 -0
  142. package/dist/react-renderer/a2ui-react/catalog/basic/components/Video.d.mts +1 -0
  143. package/dist/react-renderer/a2ui-react/catalog/basic/components/Video.mjs +23 -0
  144. package/dist/react-renderer/a2ui-react/catalog/basic/components/Video.mjs.map +1 -0
  145. package/dist/react-renderer/a2ui-react/catalog/basic/index.cjs +63 -0
  146. package/dist/react-renderer/a2ui-react/catalog/basic/index.cjs.map +1 -0
  147. package/dist/react-renderer/a2ui-react/catalog/basic/index.d.cts +26 -0
  148. package/dist/react-renderer/a2ui-react/catalog/basic/index.d.cts.map +1 -0
  149. package/dist/react-renderer/a2ui-react/catalog/basic/index.d.mts +26 -0
  150. package/dist/react-renderer/a2ui-react/catalog/basic/index.d.mts.map +1 -0
  151. package/dist/react-renderer/a2ui-react/catalog/basic/index.mjs +62 -0
  152. package/dist/react-renderer/a2ui-react/catalog/basic/index.mjs.map +1 -0
  153. package/dist/react-renderer/a2ui-react/catalog/basic/utils.cjs +52 -0
  154. package/dist/react-renderer/a2ui-react/catalog/basic/utils.cjs.map +1 -0
  155. package/dist/react-renderer/a2ui-react/catalog/basic/utils.mjs +45 -0
  156. package/dist/react-renderer/a2ui-react/catalog/basic/utils.mjs.map +1 -0
  157. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Button.cjs +51 -0
  158. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Button.cjs.map +1 -0
  159. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Button.d.cts +2 -0
  160. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Button.d.mts +2 -0
  161. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Button.mjs +34 -0
  162. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Button.mjs.map +1 -0
  163. package/dist/react-renderer/a2ui-react/catalog/minimal/components/ChildList.cjs +36 -0
  164. package/dist/react-renderer/a2ui-react/catalog/minimal/components/ChildList.cjs.map +1 -0
  165. package/dist/react-renderer/a2ui-react/catalog/minimal/components/ChildList.mjs +34 -0
  166. package/dist/react-renderer/a2ui-react/catalog/minimal/components/ChildList.mjs.map +1 -0
  167. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Column.cjs +85 -0
  168. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Column.cjs.map +1 -0
  169. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Column.d.cts +2 -0
  170. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Column.d.mts +2 -0
  171. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Column.mjs +84 -0
  172. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Column.mjs.map +1 -0
  173. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Row.cjs +84 -0
  174. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Row.cjs.map +1 -0
  175. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Row.d.cts +2 -0
  176. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Row.d.mts +2 -0
  177. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Row.mjs +83 -0
  178. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Row.mjs.map +1 -0
  179. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Text.cjs +54 -0
  180. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Text.cjs.map +1 -0
  181. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Text.d.cts +2 -0
  182. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Text.d.mts +2 -0
  183. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Text.mjs +53 -0
  184. package/dist/react-renderer/a2ui-react/catalog/minimal/components/Text.mjs.map +1 -0
  185. package/dist/react-renderer/a2ui-react/catalog/minimal/components/TextField.cjs +85 -0
  186. package/dist/react-renderer/a2ui-react/catalog/minimal/components/TextField.cjs.map +1 -0
  187. package/dist/react-renderer/a2ui-react/catalog/minimal/components/TextField.d.cts +2 -0
  188. package/dist/react-renderer/a2ui-react/catalog/minimal/components/TextField.d.mts +2 -0
  189. package/dist/react-renderer/a2ui-react/catalog/minimal/components/TextField.mjs +68 -0
  190. package/dist/react-renderer/a2ui-react/catalog/minimal/components/TextField.mjs.map +1 -0
  191. package/dist/react-renderer/a2ui-react/catalog/minimal/index.cjs +44 -0
  192. package/dist/react-renderer/a2ui-react/catalog/minimal/index.cjs.map +1 -0
  193. package/dist/react-renderer/a2ui-react/catalog/minimal/index.d.cts +7 -0
  194. package/dist/react-renderer/a2ui-react/catalog/minimal/index.d.mts +7 -0
  195. package/dist/react-renderer/a2ui-react/catalog/minimal/index.mjs +44 -0
  196. package/dist/react-renderer/a2ui-react/catalog/minimal/index.mjs.map +1 -0
  197. package/dist/react-renderer/a2ui-react/index.cjs +22 -0
  198. package/dist/react-renderer/a2ui-react/index.d.cts +4 -0
  199. package/dist/react-renderer/a2ui-react/index.d.mts +4 -0
  200. package/dist/react-renderer/a2ui-react/index.mjs +24 -0
  201. package/dist/react-renderer/catalog-utils.cjs +84 -0
  202. package/dist/react-renderer/catalog-utils.cjs.map +1 -0
  203. package/dist/react-renderer/catalog-utils.d.cts +39 -0
  204. package/dist/react-renderer/catalog-utils.d.cts.map +1 -0
  205. package/dist/react-renderer/catalog-utils.d.mts +39 -0
  206. package/dist/react-renderer/catalog-utils.d.mts.map +1 -0
  207. package/dist/react-renderer/catalog-utils.mjs +79 -0
  208. package/dist/react-renderer/catalog-utils.mjs.map +1 -0
  209. package/dist/react-renderer/core/A2UIProvider.cjs +48 -70
  210. package/dist/react-renderer/core/A2UIProvider.cjs.map +1 -1
  211. package/dist/react-renderer/core/A2UIProvider.d.cts +13 -47
  212. package/dist/react-renderer/core/A2UIProvider.d.cts.map +1 -1
  213. package/dist/react-renderer/core/A2UIProvider.d.mts +13 -47
  214. package/dist/react-renderer/core/A2UIProvider.d.mts.map +1 -1
  215. package/dist/react-renderer/core/A2UIProvider.mjs +48 -71
  216. package/dist/react-renderer/core/A2UIProvider.mjs.map +1 -1
  217. package/dist/react-renderer/core/A2UIRenderer.cjs +8 -56
  218. package/dist/react-renderer/core/A2UIRenderer.cjs.map +1 -1
  219. package/dist/react-renderer/core/A2UIRenderer.d.cts +5 -19
  220. package/dist/react-renderer/core/A2UIRenderer.d.cts.map +1 -1
  221. package/dist/react-renderer/core/A2UIRenderer.d.mts +5 -19
  222. package/dist/react-renderer/core/A2UIRenderer.d.mts.map +1 -1
  223. package/dist/react-renderer/core/A2UIRenderer.mjs +9 -57
  224. package/dist/react-renderer/core/A2UIRenderer.mjs.map +1 -1
  225. package/dist/react-renderer/core/store.d.cts +6 -17
  226. package/dist/react-renderer/core/store.d.cts.map +1 -1
  227. package/dist/react-renderer/core/store.d.mts +6 -17
  228. package/dist/react-renderer/core/store.d.mts.map +1 -1
  229. package/dist/react-renderer/create-catalog.cjs +115 -0
  230. package/dist/react-renderer/create-catalog.cjs.map +1 -0
  231. package/dist/react-renderer/create-catalog.d.cts +107 -0
  232. package/dist/react-renderer/create-catalog.d.cts.map +1 -0
  233. package/dist/react-renderer/create-catalog.d.mts +107 -0
  234. package/dist/react-renderer/create-catalog.d.mts.map +1 -0
  235. package/dist/react-renderer/create-catalog.mjs +111 -0
  236. package/dist/react-renderer/create-catalog.mjs.map +1 -0
  237. package/dist/react-renderer/hooks/useA2UI.cjs +1 -26
  238. package/dist/react-renderer/hooks/useA2UI.cjs.map +1 -1
  239. package/dist/react-renderer/hooks/useA2UI.d.cts +5 -33
  240. package/dist/react-renderer/hooks/useA2UI.d.cts.map +1 -1
  241. package/dist/react-renderer/hooks/useA2UI.d.mts +5 -33
  242. package/dist/react-renderer/hooks/useA2UI.d.mts.map +1 -1
  243. package/dist/react-renderer/hooks/useA2UI.mjs +1 -26
  244. package/dist/react-renderer/hooks/useA2UI.mjs.map +1 -1
  245. package/dist/react-renderer/index.cjs +21 -27
  246. package/dist/react-renderer/index.cjs.map +1 -0
  247. package/dist/react-renderer/index.d.cts +17 -27
  248. package/dist/react-renderer/index.d.cts.map +1 -0
  249. package/dist/react-renderer/index.d.mts +17 -27
  250. package/dist/react-renderer/index.d.mts.map +1 -0
  251. package/dist/react-renderer/index.mjs +15 -27
  252. package/dist/react-renderer/index.mjs.map +1 -0
  253. package/dist/react-renderer/lib/utils.cjs +0 -25
  254. package/dist/react-renderer/lib/utils.cjs.map +1 -1
  255. package/dist/react-renderer/lib/utils.d.cts +0 -8
  256. package/dist/react-renderer/lib/utils.d.cts.map +1 -1
  257. package/dist/react-renderer/lib/utils.d.mts +0 -8
  258. package/dist/react-renderer/lib/utils.d.mts.map +1 -1
  259. package/dist/react-renderer/lib/utils.mjs +1 -25
  260. package/dist/react-renderer/lib/utils.mjs.map +1 -1
  261. package/dist/react-renderer/styles/index.cjs +4 -459
  262. package/dist/react-renderer/styles/index.cjs.map +1 -1
  263. package/dist/react-renderer/styles/index.d.mts +2 -18
  264. package/dist/react-renderer/styles/index.d.mts.map +1 -1
  265. package/dist/react-renderer/styles/index.mjs +4 -459
  266. package/dist/react-renderer/styles/index.mjs.map +1 -1
  267. package/dist/react-renderer/theme/ThemeContext.cjs +2 -19
  268. package/dist/react-renderer/theme/ThemeContext.cjs.map +1 -1
  269. package/dist/react-renderer/theme/ThemeContext.d.cts +4 -23
  270. package/dist/react-renderer/theme/ThemeContext.d.cts.map +1 -1
  271. package/dist/react-renderer/theme/ThemeContext.d.mts +4 -23
  272. package/dist/react-renderer/theme/ThemeContext.d.mts.map +1 -1
  273. package/dist/react-renderer/theme/ThemeContext.mjs +2 -19
  274. package/dist/react-renderer/theme/ThemeContext.mjs.map +1 -1
  275. package/dist/react-renderer/types.d.cts +24 -29
  276. package/dist/react-renderer/types.d.cts.map +1 -1
  277. package/dist/react-renderer/types.d.mts +24 -29
  278. package/dist/react-renderer/types.d.mts.map +1 -1
  279. package/package.json +29 -29
  280. package/dist/A2UIViewer.cjs +0 -154
  281. package/dist/A2UIViewer.cjs.map +0 -1
  282. package/dist/A2UIViewer.d.cts +0 -39
  283. package/dist/A2UIViewer.d.cts.map +0 -1
  284. package/dist/A2UIViewer.d.mts +0 -39
  285. package/dist/A2UIViewer.d.mts.map +0 -1
  286. package/dist/A2UIViewer.mjs +0 -152
  287. package/dist/A2UIViewer.mjs.map +0 -1
  288. package/dist/react-renderer/components/content/AudioPlayer.cjs +0 -34
  289. package/dist/react-renderer/components/content/AudioPlayer.cjs.map +0 -1
  290. package/dist/react-renderer/components/content/AudioPlayer.d.cts +0 -12
  291. package/dist/react-renderer/components/content/AudioPlayer.d.cts.map +0 -1
  292. package/dist/react-renderer/components/content/AudioPlayer.d.mts +0 -12
  293. package/dist/react-renderer/components/content/AudioPlayer.d.mts.map +0 -1
  294. package/dist/react-renderer/components/content/AudioPlayer.mjs +0 -33
  295. package/dist/react-renderer/components/content/AudioPlayer.mjs.map +0 -1
  296. package/dist/react-renderer/components/content/Divider.cjs +0 -31
  297. package/dist/react-renderer/components/content/Divider.cjs.map +0 -1
  298. package/dist/react-renderer/components/content/Divider.d.cts +0 -17
  299. package/dist/react-renderer/components/content/Divider.d.cts.map +0 -1
  300. package/dist/react-renderer/components/content/Divider.d.mts +0 -17
  301. package/dist/react-renderer/components/content/Divider.d.mts.map +0 -1
  302. package/dist/react-renderer/components/content/Divider.mjs +0 -30
  303. package/dist/react-renderer/components/content/Divider.mjs.map +0 -1
  304. package/dist/react-renderer/components/content/Icon.cjs +0 -50
  305. package/dist/react-renderer/components/content/Icon.cjs.map +0 -1
  306. package/dist/react-renderer/components/content/Icon.d.cts +0 -20
  307. package/dist/react-renderer/components/content/Icon.d.cts.map +0 -1
  308. package/dist/react-renderer/components/content/Icon.d.mts +0 -20
  309. package/dist/react-renderer/components/content/Icon.d.mts.map +0 -1
  310. package/dist/react-renderer/components/content/Icon.mjs +0 -49
  311. package/dist/react-renderer/components/content/Icon.mjs.map +0 -1
  312. package/dist/react-renderer/components/content/Image.cjs +0 -43
  313. package/dist/react-renderer/components/content/Image.cjs.map +0 -1
  314. package/dist/react-renderer/components/content/Image.d.cts +0 -15
  315. package/dist/react-renderer/components/content/Image.d.cts.map +0 -1
  316. package/dist/react-renderer/components/content/Image.d.mts +0 -15
  317. package/dist/react-renderer/components/content/Image.d.mts.map +0 -1
  318. package/dist/react-renderer/components/content/Image.mjs +0 -42
  319. package/dist/react-renderer/components/content/Image.mjs.map +0 -1
  320. package/dist/react-renderer/components/content/Text.cjs +0 -131
  321. package/dist/react-renderer/components/content/Text.cjs.map +0 -1
  322. package/dist/react-renderer/components/content/Text.d.cts +0 -32
  323. package/dist/react-renderer/components/content/Text.d.cts.map +0 -1
  324. package/dist/react-renderer/components/content/Text.d.mts +0 -32
  325. package/dist/react-renderer/components/content/Text.d.mts.map +0 -1
  326. package/dist/react-renderer/components/content/Text.mjs +0 -129
  327. package/dist/react-renderer/components/content/Text.mjs.map +0 -1
  328. package/dist/react-renderer/components/content/Video.cjs +0 -56
  329. package/dist/react-renderer/components/content/Video.cjs.map +0 -1
  330. package/dist/react-renderer/components/content/Video.d.cts +0 -14
  331. package/dist/react-renderer/components/content/Video.d.cts.map +0 -1
  332. package/dist/react-renderer/components/content/Video.d.mts +0 -14
  333. package/dist/react-renderer/components/content/Video.d.mts.map +0 -1
  334. package/dist/react-renderer/components/content/Video.mjs +0 -55
  335. package/dist/react-renderer/components/content/Video.mjs.map +0 -1
  336. package/dist/react-renderer/components/interactive/Button.cjs +0 -39
  337. package/dist/react-renderer/components/interactive/Button.cjs.map +0 -1
  338. package/dist/react-renderer/components/interactive/Button.d.cts +0 -15
  339. package/dist/react-renderer/components/interactive/Button.d.cts.map +0 -1
  340. package/dist/react-renderer/components/interactive/Button.d.mts +0 -15
  341. package/dist/react-renderer/components/interactive/Button.d.mts.map +0 -1
  342. package/dist/react-renderer/components/interactive/Button.mjs +0 -38
  343. package/dist/react-renderer/components/interactive/Button.mjs.map +0 -1
  344. package/dist/react-renderer/components/interactive/CheckBox.cjs +0 -58
  345. package/dist/react-renderer/components/interactive/CheckBox.cjs.map +0 -1
  346. package/dist/react-renderer/components/interactive/CheckBox.d.cts +0 -14
  347. package/dist/react-renderer/components/interactive/CheckBox.d.cts.map +0 -1
  348. package/dist/react-renderer/components/interactive/CheckBox.d.mts +0 -14
  349. package/dist/react-renderer/components/interactive/CheckBox.d.mts.map +0 -1
  350. package/dist/react-renderer/components/interactive/CheckBox.mjs +0 -57
  351. package/dist/react-renderer/components/interactive/CheckBox.mjs.map +0 -1
  352. package/dist/react-renderer/components/interactive/DateTimeInput.cjs +0 -65
  353. package/dist/react-renderer/components/interactive/DateTimeInput.cjs.map +0 -1
  354. package/dist/react-renderer/components/interactive/DateTimeInput.d.cts +0 -14
  355. package/dist/react-renderer/components/interactive/DateTimeInput.d.cts.map +0 -1
  356. package/dist/react-renderer/components/interactive/DateTimeInput.d.mts +0 -14
  357. package/dist/react-renderer/components/interactive/DateTimeInput.d.mts.map +0 -1
  358. package/dist/react-renderer/components/interactive/DateTimeInput.mjs +0 -64
  359. package/dist/react-renderer/components/interactive/DateTimeInput.mjs.map +0 -1
  360. package/dist/react-renderer/components/interactive/MultipleChoice.cjs +0 -54
  361. package/dist/react-renderer/components/interactive/MultipleChoice.cjs.map +0 -1
  362. package/dist/react-renderer/components/interactive/MultipleChoice.d.cts +0 -15
  363. package/dist/react-renderer/components/interactive/MultipleChoice.d.cts.map +0 -1
  364. package/dist/react-renderer/components/interactive/MultipleChoice.d.mts +0 -15
  365. package/dist/react-renderer/components/interactive/MultipleChoice.d.mts.map +0 -1
  366. package/dist/react-renderer/components/interactive/MultipleChoice.mjs +0 -53
  367. package/dist/react-renderer/components/interactive/MultipleChoice.mjs.map +0 -1
  368. package/dist/react-renderer/components/interactive/Slider.cjs +0 -72
  369. package/dist/react-renderer/components/interactive/Slider.cjs.map +0 -1
  370. package/dist/react-renderer/components/interactive/Slider.d.cts +0 -14
  371. package/dist/react-renderer/components/interactive/Slider.d.cts.map +0 -1
  372. package/dist/react-renderer/components/interactive/Slider.d.mts +0 -14
  373. package/dist/react-renderer/components/interactive/Slider.d.mts.map +0 -1
  374. package/dist/react-renderer/components/interactive/Slider.mjs +0 -71
  375. package/dist/react-renderer/components/interactive/Slider.mjs.map +0 -1
  376. package/dist/react-renderer/components/interactive/TextField.cjs +0 -74
  377. package/dist/react-renderer/components/interactive/TextField.cjs.map +0 -1
  378. package/dist/react-renderer/components/interactive/TextField.d.cts +0 -14
  379. package/dist/react-renderer/components/interactive/TextField.d.cts.map +0 -1
  380. package/dist/react-renderer/components/interactive/TextField.d.mts +0 -14
  381. package/dist/react-renderer/components/interactive/TextField.d.mts.map +0 -1
  382. package/dist/react-renderer/components/interactive/TextField.mjs +0 -73
  383. package/dist/react-renderer/components/interactive/TextField.mjs.map +0 -1
  384. package/dist/react-renderer/components/layout/Card.cjs +0 -46
  385. package/dist/react-renderer/components/layout/Card.cjs.map +0 -1
  386. package/dist/react-renderer/components/layout/Card.d.cts +0 -21
  387. package/dist/react-renderer/components/layout/Card.d.cts.map +0 -1
  388. package/dist/react-renderer/components/layout/Card.d.mts +0 -21
  389. package/dist/react-renderer/components/layout/Card.d.mts.map +0 -1
  390. package/dist/react-renderer/components/layout/Card.mjs +0 -45
  391. package/dist/react-renderer/components/layout/Card.mjs.map +0 -1
  392. package/dist/react-renderer/components/layout/Column.cjs +0 -43
  393. package/dist/react-renderer/components/layout/Column.cjs.map +0 -1
  394. package/dist/react-renderer/components/layout/Column.d.cts +0 -14
  395. package/dist/react-renderer/components/layout/Column.d.cts.map +0 -1
  396. package/dist/react-renderer/components/layout/Column.d.mts +0 -14
  397. package/dist/react-renderer/components/layout/Column.d.mts.map +0 -1
  398. package/dist/react-renderer/components/layout/Column.mjs +0 -42
  399. package/dist/react-renderer/components/layout/Column.mjs.map +0 -1
  400. package/dist/react-renderer/components/layout/List.cjs +0 -41
  401. package/dist/react-renderer/components/layout/List.cjs.map +0 -1
  402. package/dist/react-renderer/components/layout/List.d.cts +0 -14
  403. package/dist/react-renderer/components/layout/List.d.cts.map +0 -1
  404. package/dist/react-renderer/components/layout/List.d.mts +0 -14
  405. package/dist/react-renderer/components/layout/List.d.mts.map +0 -1
  406. package/dist/react-renderer/components/layout/List.mjs +0 -40
  407. package/dist/react-renderer/components/layout/List.mjs.map +0 -1
  408. package/dist/react-renderer/components/layout/Modal.cjs +0 -92
  409. package/dist/react-renderer/components/layout/Modal.cjs.map +0 -1
  410. package/dist/react-renderer/components/layout/Modal.d.cts +0 -19
  411. package/dist/react-renderer/components/layout/Modal.d.cts.map +0 -1
  412. package/dist/react-renderer/components/layout/Modal.d.mts +0 -19
  413. package/dist/react-renderer/components/layout/Modal.d.mts.map +0 -1
  414. package/dist/react-renderer/components/layout/Modal.mjs +0 -91
  415. package/dist/react-renderer/components/layout/Modal.mjs.map +0 -1
  416. package/dist/react-renderer/components/layout/Row.cjs +0 -43
  417. package/dist/react-renderer/components/layout/Row.cjs.map +0 -1
  418. package/dist/react-renderer/components/layout/Row.d.cts +0 -14
  419. package/dist/react-renderer/components/layout/Row.d.cts.map +0 -1
  420. package/dist/react-renderer/components/layout/Row.d.mts +0 -14
  421. package/dist/react-renderer/components/layout/Row.d.mts.map +0 -1
  422. package/dist/react-renderer/components/layout/Row.mjs +0 -42
  423. package/dist/react-renderer/components/layout/Row.mjs.map +0 -1
  424. package/dist/react-renderer/components/layout/Tabs.cjs +0 -47
  425. package/dist/react-renderer/components/layout/Tabs.cjs.map +0 -1
  426. package/dist/react-renderer/components/layout/Tabs.d.cts +0 -12
  427. package/dist/react-renderer/components/layout/Tabs.d.cts.map +0 -1
  428. package/dist/react-renderer/components/layout/Tabs.d.mts +0 -12
  429. package/dist/react-renderer/components/layout/Tabs.d.mts.map +0 -1
  430. package/dist/react-renderer/components/layout/Tabs.mjs +0 -46
  431. package/dist/react-renderer/components/layout/Tabs.mjs.map +0 -1
  432. package/dist/react-renderer/core/A2UIViewer.cjs +0 -11
  433. package/dist/react-renderer/core/A2UIViewer.d.cts +0 -16
  434. package/dist/react-renderer/core/A2UIViewer.d.cts.map +0 -1
  435. package/dist/react-renderer/core/A2UIViewer.d.mts +0 -16
  436. package/dist/react-renderer/core/A2UIViewer.d.mts.map +0 -1
  437. package/dist/react-renderer/core/A2UIViewer.mjs +0 -11
  438. package/dist/react-renderer/core/ComponentNode.cjs +0 -53
  439. package/dist/react-renderer/core/ComponentNode.cjs.map +0 -1
  440. package/dist/react-renderer/core/ComponentNode.d.cts +0 -29
  441. package/dist/react-renderer/core/ComponentNode.d.cts.map +0 -1
  442. package/dist/react-renderer/core/ComponentNode.d.mts +0 -29
  443. package/dist/react-renderer/core/ComponentNode.d.mts.map +0 -1
  444. package/dist/react-renderer/core/ComponentNode.mjs +0 -52
  445. package/dist/react-renderer/core/ComponentNode.mjs.map +0 -1
  446. package/dist/react-renderer/hooks/useA2UIComponent.cjs +0 -173
  447. package/dist/react-renderer/hooks/useA2UIComponent.cjs.map +0 -1
  448. package/dist/react-renderer/hooks/useA2UIComponent.d.cts +0 -56
  449. package/dist/react-renderer/hooks/useA2UIComponent.d.cts.map +0 -1
  450. package/dist/react-renderer/hooks/useA2UIComponent.d.mts +0 -56
  451. package/dist/react-renderer/hooks/useA2UIComponent.d.mts.map +0 -1
  452. package/dist/react-renderer/hooks/useA2UIComponent.mjs +0 -172
  453. package/dist/react-renderer/hooks/useA2UIComponent.mjs.map +0 -1
  454. package/dist/react-renderer/registry/ComponentRegistry.cjs +0 -114
  455. package/dist/react-renderer/registry/ComponentRegistry.cjs.map +0 -1
  456. package/dist/react-renderer/registry/ComponentRegistry.d.cts +0 -82
  457. package/dist/react-renderer/registry/ComponentRegistry.d.cts.map +0 -1
  458. package/dist/react-renderer/registry/ComponentRegistry.d.mts +0 -82
  459. package/dist/react-renderer/registry/ComponentRegistry.d.mts.map +0 -1
  460. package/dist/react-renderer/registry/ComponentRegistry.mjs +0 -113
  461. package/dist/react-renderer/registry/ComponentRegistry.mjs.map +0 -1
  462. package/dist/react-renderer/registry/defaultCatalog.cjs +0 -58
  463. package/dist/react-renderer/registry/defaultCatalog.cjs.map +0 -1
  464. package/dist/react-renderer/registry/defaultCatalog.d.cts +0 -17
  465. package/dist/react-renderer/registry/defaultCatalog.d.cts.map +0 -1
  466. package/dist/react-renderer/registry/defaultCatalog.d.mts +0 -17
  467. package/dist/react-renderer/registry/defaultCatalog.d.mts.map +0 -1
  468. package/dist/react-renderer/registry/defaultCatalog.mjs +0 -57
  469. package/dist/react-renderer/registry/defaultCatalog.mjs.map +0 -1
  470. package/dist/react-renderer/styles/reset.cjs +0 -29
  471. package/dist/react-renderer/styles/reset.cjs.map +0 -1
  472. package/dist/react-renderer/styles/reset.mjs +0 -28
  473. package/dist/react-renderer/styles/reset.mjs.map +0 -1
  474. package/dist/react-renderer/theme/litTheme.cjs +0 -386
  475. package/dist/react-renderer/theme/litTheme.cjs.map +0 -1
  476. package/dist/react-renderer/theme/litTheme.d.cts +0 -12
  477. package/dist/react-renderer/theme/litTheme.d.cts.map +0 -1
  478. package/dist/react-renderer/theme/litTheme.d.mts +0 -12
  479. package/dist/react-renderer/theme/litTheme.d.mts.map +0 -1
  480. package/dist/react-renderer/theme/litTheme.mjs +0 -384
  481. package/dist/react-renderer/theme/litTheme.mjs.map +0 -1
  482. package/dist/react-renderer/theme/utils.cjs +0 -41
  483. package/dist/react-renderer/theme/utils.cjs.map +0 -1
  484. package/dist/react-renderer/theme/utils.d.cts +0 -26
  485. package/dist/react-renderer/theme/utils.d.cts.map +0 -1
  486. package/dist/react-renderer/theme/utils.d.mts +0 -26
  487. package/dist/react-renderer/theme/utils.d.mts.map +0 -1
  488. package/dist/react-renderer/theme/utils.mjs +0 -39
  489. package/dist/react-renderer/theme/utils.mjs.map +0 -1
  490. package/dist/theme/viewer-theme.cjs +0 -395
  491. package/dist/theme/viewer-theme.cjs.map +0 -1
  492. package/dist/theme/viewer-theme.d.cts +0 -7
  493. package/dist/theme/viewer-theme.d.cts.map +0 -1
  494. package/dist/theme/viewer-theme.d.mts +0 -7
  495. package/dist/theme/viewer-theme.d.mts.map +0 -1
  496. package/dist/theme/viewer-theme.mjs +0 -394
  497. package/dist/theme/viewer-theme.mjs.map +0 -1
@@ -1,8 +1,8 @@
1
+ import { Theme } from "../../a2ui-types.cjs";
1
2
  import { OnActionCallback } from "../types.cjs";
2
3
  import { A2UIActions, A2UIContextValue } from "./store.cjs";
3
4
  import * as react_jsx_runtime0 from "react/jsx-runtime";
4
5
  import { ReactNode } from "react";
5
- import { Types } from "@a2ui/lit/0.8";
6
6
 
7
7
  //#region src/react-renderer/core/A2UIProvider.d.ts
8
8
  /**
@@ -11,81 +11,47 @@ import { Types } from "@a2ui/lit/0.8";
11
11
  interface A2UIProviderProps {
12
12
  /** Callback invoked when a user action is dispatched (button click, etc.) */
13
13
  onAction?: OnActionCallback;
14
- /** Theme configuration. Falls back to default theme if not provided. */
15
- theme?: Types.Theme;
14
+ /** Theme configuration */
15
+ theme?: Theme;
16
+ /** Optional component catalog to use instead of the default basicCatalog */
17
+ catalog?: any;
16
18
  /** Child components */
17
19
  children: ReactNode;
18
20
  }
19
21
  /**
20
- * Provider component that sets up the A2UI context for descendant components.
21
- *
22
- * This provider uses a two-context architecture for performance:
22
+ * Provider component that sets up the A2UI v0.9 context for descendant components.
23
+ * Uses a two-context architecture for performance:
23
24
  * - A2UIActionsContext: Stable actions that never change (no re-renders)
24
25
  * - A2UIStateContext: Reactive state that triggers re-renders when needed
25
- *
26
- * @example
27
- * ```tsx
28
- * function App() {
29
- * const handleAction = async (message) => {
30
- * const response = await fetch('/api/a2ui', {
31
- * method: 'POST',
32
- * body: JSON.stringify(message)
33
- * });
34
- * const newMessages = await response.json();
35
- * };
36
- *
37
- * return (
38
- * <A2UIProvider onAction={handleAction}>
39
- * <A2UIRenderer surfaceId="main" />
40
- * </A2UIProvider>
41
- * );
42
- * }
43
- * ```
44
26
  */
45
27
  declare function A2UIProvider({
46
28
  onAction,
47
29
  theme,
30
+ catalog,
48
31
  children
49
32
  }: A2UIProviderProps): react_jsx_runtime0.JSX.Element;
50
33
  /**
51
34
  * Hook to access stable A2UI actions (won't cause re-renders).
52
- * Use this when you only need to dispatch actions or read data.
53
- *
54
- * @returns Stable actions object
55
- * @throws If used outside of an A2UIProvider
56
35
  */
57
36
  declare function useA2UIActions(): A2UIActions;
58
37
  /**
59
38
  * Hook to subscribe to A2UI state changes.
60
- * Components using this will re-render when state changes.
61
- *
62
- * @returns Current version number
63
- * @throws If used outside of an A2UIProvider
64
39
  */
65
40
  declare function useA2UIState(): {
66
41
  version: number;
67
42
  };
68
43
  /**
69
44
  * Hook to access the full A2UI context (actions + state).
70
- * Components using this will re-render when state changes.
71
- *
72
- * @returns The A2UI context value
73
- * @throws If used outside of an A2UIProvider
74
45
  */
75
46
  declare function useA2UIContext(): A2UIContextValue;
76
- /**
77
- * @deprecated Use useA2UIContext instead. This alias exists for backward compatibility only.
78
- */
47
+ /** @deprecated Use useA2UIContext instead. */
79
48
  declare const useA2UIStore: typeof useA2UIContext;
80
49
  /**
81
- * @deprecated This selector pattern does not provide performance benefits with React Context.
82
- * Components will re-render on any context change regardless of what you select.
83
- * Use useA2UIContext() or useA2UI() directly instead.
84
- *
85
- * @param selector - Function to select a slice of state
86
- * @returns The selected state
50
+ * Hook to access the current A2UI error state.
87
51
  */
52
+ declare function useA2UIError(): string | null;
53
+ /** @deprecated Use useA2UIContext() or useA2UI() directly instead. */
88
54
  declare function useA2UIStoreSelector<T>(selector: (state: A2UIContextValue) => T): T;
89
55
  //#endregion
90
- export { A2UIProvider, A2UIProviderProps, useA2UIActions, useA2UIContext, useA2UIState, useA2UIStore, useA2UIStoreSelector };
56
+ export { A2UIProvider, A2UIProviderProps, useA2UIActions, useA2UIContext, useA2UIError, useA2UIState, useA2UIStore, useA2UIStoreSelector };
91
57
  //# sourceMappingURL=A2UIProvider.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"A2UIProvider.d.cts","names":[],"sources":["../../../src/react-renderer/core/A2UIProvider.tsx"],"mappings":";;;;;;;;;;UA4BiB,iBAAA;EAAiB;EAEhC,QAAA,GAAW,gBAAA;EAAA;EAEX,KAAA,GAAQ,KAAA,CAAM,KAAA;EAEJ;EAAV,QAAA,EAAU,SAAA;AAAA;;;;;;;;;;AA6BZ;;;;;;;;;;;;;;;;;iBAAgB,YAAA,CAAA;EAAe,QAAA;EAAU,KAAA;EAAO;AAAA,GAAY,iBAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;;AAuF7E;;;;iBAAgB,cAAA,CAAA,GAAkB,WAAA;AAelC;;;;;AAeA;;AAfA,iBAAgB,YAAA,CAAA;EAAkB,OAAA;AAAA;AAmClC;;;;;AAUA;;AAVA,iBApBgB,cAAA,CAAA,GAAkB,gBAAA;;;;cAoBrB,YAAA,SAAY,cAAA;;;;;;;;;iBAUT,oBAAA,GAAA,CACd,QAAA,GAAW,KAAA,EAAO,gBAAA,KAAqB,CAAA,GACtC,CAAA"}
1
+ {"version":3,"file":"A2UIProvider.d.cts","names":[],"sources":["../../../src/react-renderer/core/A2UIProvider.tsx"],"mappings":";;;;;;;;;;UA+BiB,iBAAA;EAAiB;EAEhC,QAAA,GAAW,gBAAA;EAAA;EAEX,KAAA,GAAQ,KAAA;EAIE;EAFV,OAAA;EAEmB;EAAnB,QAAA,EAAU,SAAA;AAAA;;;;;;;iBASI,YAAA,CAAA;EACd,QAAA;EACA,KAAA;EACA,OAAA;EACA;AAAA,GACC,iBAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA;AALpB;;;AAAA,iBA+FgB,cAAA,CAAA,GAAkB,WAAA;;;;iBAWlB,YAAA,CAAA;EAAkB,OAAA;AAAA;;;;iBAWlB,cAAA,CAAA,GAAkB,gBAAA;;cAerB,YAAA,SAAY,cAAA;;;;iBAKT,YAAA,CAAA;;iBAMA,oBAAA,GAAA,CACd,QAAA,GAAW,KAAA,EAAO,gBAAA,KAAqB,CAAA,GACtC,CAAA"}
@@ -1,7 +1,7 @@
1
+ import { Theme } from "../../a2ui-types.mjs";
1
2
  import { OnActionCallback } from "../types.mjs";
2
3
  import { A2UIActions, A2UIContextValue } from "./store.mjs";
3
4
  import { ReactNode } from "react";
4
- import { Types } from "@a2ui/lit/0.8";
5
5
  import * as react_jsx_runtime0 from "react/jsx-runtime";
6
6
 
7
7
  //#region src/react-renderer/core/A2UIProvider.d.ts
@@ -11,81 +11,47 @@ import * as react_jsx_runtime0 from "react/jsx-runtime";
11
11
  interface A2UIProviderProps {
12
12
  /** Callback invoked when a user action is dispatched (button click, etc.) */
13
13
  onAction?: OnActionCallback;
14
- /** Theme configuration. Falls back to default theme if not provided. */
15
- theme?: Types.Theme;
14
+ /** Theme configuration */
15
+ theme?: Theme;
16
+ /** Optional component catalog to use instead of the default basicCatalog */
17
+ catalog?: any;
16
18
  /** Child components */
17
19
  children: ReactNode;
18
20
  }
19
21
  /**
20
- * Provider component that sets up the A2UI context for descendant components.
21
- *
22
- * This provider uses a two-context architecture for performance:
22
+ * Provider component that sets up the A2UI v0.9 context for descendant components.
23
+ * Uses a two-context architecture for performance:
23
24
  * - A2UIActionsContext: Stable actions that never change (no re-renders)
24
25
  * - A2UIStateContext: Reactive state that triggers re-renders when needed
25
- *
26
- * @example
27
- * ```tsx
28
- * function App() {
29
- * const handleAction = async (message) => {
30
- * const response = await fetch('/api/a2ui', {
31
- * method: 'POST',
32
- * body: JSON.stringify(message)
33
- * });
34
- * const newMessages = await response.json();
35
- * };
36
- *
37
- * return (
38
- * <A2UIProvider onAction={handleAction}>
39
- * <A2UIRenderer surfaceId="main" />
40
- * </A2UIProvider>
41
- * );
42
- * }
43
- * ```
44
26
  */
45
27
  declare function A2UIProvider({
46
28
  onAction,
47
29
  theme,
30
+ catalog,
48
31
  children
49
32
  }: A2UIProviderProps): react_jsx_runtime0.JSX.Element;
50
33
  /**
51
34
  * Hook to access stable A2UI actions (won't cause re-renders).
52
- * Use this when you only need to dispatch actions or read data.
53
- *
54
- * @returns Stable actions object
55
- * @throws If used outside of an A2UIProvider
56
35
  */
57
36
  declare function useA2UIActions(): A2UIActions;
58
37
  /**
59
38
  * Hook to subscribe to A2UI state changes.
60
- * Components using this will re-render when state changes.
61
- *
62
- * @returns Current version number
63
- * @throws If used outside of an A2UIProvider
64
39
  */
65
40
  declare function useA2UIState(): {
66
41
  version: number;
67
42
  };
68
43
  /**
69
44
  * Hook to access the full A2UI context (actions + state).
70
- * Components using this will re-render when state changes.
71
- *
72
- * @returns The A2UI context value
73
- * @throws If used outside of an A2UIProvider
74
45
  */
75
46
  declare function useA2UIContext(): A2UIContextValue;
76
- /**
77
- * @deprecated Use useA2UIContext instead. This alias exists for backward compatibility only.
78
- */
47
+ /** @deprecated Use useA2UIContext instead. */
79
48
  declare const useA2UIStore: typeof useA2UIContext;
80
49
  /**
81
- * @deprecated This selector pattern does not provide performance benefits with React Context.
82
- * Components will re-render on any context change regardless of what you select.
83
- * Use useA2UIContext() or useA2UI() directly instead.
84
- *
85
- * @param selector - Function to select a slice of state
86
- * @returns The selected state
50
+ * Hook to access the current A2UI error state.
87
51
  */
52
+ declare function useA2UIError(): string | null;
53
+ /** @deprecated Use useA2UIContext() or useA2UI() directly instead. */
88
54
  declare function useA2UIStoreSelector<T>(selector: (state: A2UIContextValue) => T): T;
89
55
  //#endregion
90
- export { A2UIProvider, A2UIProviderProps, useA2UIActions, useA2UIContext, useA2UIState, useA2UIStore, useA2UIStoreSelector };
56
+ export { A2UIProvider, A2UIProviderProps, useA2UIActions, useA2UIContext, useA2UIError, useA2UIState, useA2UIStore, useA2UIStoreSelector };
91
57
  //# sourceMappingURL=A2UIProvider.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"A2UIProvider.d.mts","names":[],"sources":["../../../src/react-renderer/core/A2UIProvider.tsx"],"mappings":";;;;;;;;;;UA4BiB,iBAAA;EAAiB;EAEhC,QAAA,GAAW,gBAAA;EAAA;EAEX,KAAA,GAAQ,KAAA,CAAM,KAAA;EAEJ;EAAV,QAAA,EAAU,SAAA;AAAA;;;;;;;;;;AA6BZ;;;;;;;;;;;;;;;;;iBAAgB,YAAA,CAAA;EAAe,QAAA;EAAU,KAAA;EAAO;AAAA,GAAY,iBAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;;AAuF7E;;;;iBAAgB,cAAA,CAAA,GAAkB,WAAA;AAelC;;;;;AAeA;;AAfA,iBAAgB,YAAA,CAAA;EAAkB,OAAA;AAAA;AAmClC;;;;;AAUA;;AAVA,iBApBgB,cAAA,CAAA,GAAkB,gBAAA;;;;cAoBrB,YAAA,SAAY,cAAA;;;;;;;;;iBAUT,oBAAA,GAAA,CACd,QAAA,GAAW,KAAA,EAAO,gBAAA,KAAqB,CAAA,GACtC,CAAA"}
1
+ {"version":3,"file":"A2UIProvider.d.mts","names":[],"sources":["../../../src/react-renderer/core/A2UIProvider.tsx"],"mappings":";;;;;;;;;;UA+BiB,iBAAA;EAAiB;EAEhC,QAAA,GAAW,gBAAA;EAAA;EAEX,KAAA,GAAQ,KAAA;EAIE;EAFV,OAAA;EAEmB;EAAnB,QAAA,EAAU,SAAA;AAAA;;;;;;;iBASI,YAAA,CAAA;EACd,QAAA;EACA,KAAA;EACA,OAAA;EACA;AAAA,GACC,iBAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA;AALpB;;;AAAA,iBA+FgB,cAAA,CAAA,GAAkB,WAAA;;;;iBAWlB,YAAA,CAAA;EAAkB,OAAA;AAAA;;;;iBAWlB,cAAA,CAAA,GAAkB,gBAAA;;cAerB,YAAA,SAAY,cAAA;;;;iBAKT,YAAA,CAAA;;iBAMA,oBAAA,GAAA,CACd,QAAA,GAAW,KAAA,EAAO,gBAAA,KAAqB,CAAA,GACtC,CAAA"}
@@ -1,84 +1,77 @@
1
+ import { basicCatalog } from "../a2ui-react/catalog/basic/index.mjs";
2
+ import "../a2ui-react/index.mjs";
1
3
  import { ThemeProvider } from "../theme/ThemeContext.mjs";
2
4
  import { createContext, useContext, useMemo, useRef, useState } from "react";
3
- import { Data } from "@a2ui/lit/0.8";
5
+ import { MessageProcessor } from "@a2ui/web_core/v0_9";
4
6
  import { jsx } from "react/jsx-runtime";
5
7
 
6
8
  //#region src/react-renderer/core/A2UIProvider.tsx
7
9
  /**
8
10
  * Context for stable actions (never changes reference, prevents re-renders).
9
- * Components that only need to dispatch actions or read data won't re-render.
10
11
  */
11
12
  const A2UIActionsContext = createContext(null);
12
13
  /**
13
14
  * Context for reactive state (changes trigger re-renders).
14
- * Only components that need to react to state changes subscribe to this.
15
15
  */
16
16
  const A2UIStateContext = createContext(null);
17
17
  /**
18
- * Provider component that sets up the A2UI context for descendant components.
19
- *
20
- * This provider uses a two-context architecture for performance:
18
+ * Provider component that sets up the A2UI v0.9 context for descendant components.
19
+ * Uses a two-context architecture for performance:
21
20
  * - A2UIActionsContext: Stable actions that never change (no re-renders)
22
21
  * - A2UIStateContext: Reactive state that triggers re-renders when needed
23
- *
24
- * @example
25
- * ```tsx
26
- * function App() {
27
- * const handleAction = async (message) => {
28
- * const response = await fetch('/api/a2ui', {
29
- * method: 'POST',
30
- * body: JSON.stringify(message)
31
- * });
32
- * const newMessages = await response.json();
33
- * };
34
- *
35
- * return (
36
- * <A2UIProvider onAction={handleAction}>
37
- * <A2UIRenderer surfaceId="main" />
38
- * </A2UIProvider>
39
- * );
40
- * }
41
- * ```
42
22
  */
43
- function A2UIProvider({ onAction, theme, children }) {
23
+ function A2UIProvider({ onAction, theme, catalog, children }) {
24
+ const onActionRef = useRef(onAction ?? null);
25
+ onActionRef.current = onAction ?? null;
44
26
  const processorRef = useRef(null);
45
- if (!processorRef.current) processorRef.current = Data.createSignalA2uiMessageProcessor();
27
+ if (!processorRef.current) processorRef.current = new MessageProcessor([catalog ?? basicCatalog], (action) => {
28
+ if (onActionRef.current) {
29
+ const message = { userAction: {
30
+ name: action?.name ?? "unknown",
31
+ surfaceId: action?.surfaceId ?? "default",
32
+ sourceComponentId: action?.sourceComponentId,
33
+ context: action?.context,
34
+ timestamp: action?.timestamp ?? (/* @__PURE__ */ new Date()).toISOString()
35
+ } };
36
+ onActionRef.current(message);
37
+ }
38
+ });
46
39
  const processor = processorRef.current;
47
40
  const [version, setVersion] = useState(0);
48
- const onActionRef = useRef(onAction ?? null);
49
- onActionRef.current = onAction ?? null;
41
+ const [error, setError] = useState(null);
50
42
  const actionsRef = useRef(null);
51
43
  if (!actionsRef.current) actionsRef.current = {
52
44
  processMessages: (messages) => {
53
- processor.processMessages(messages);
54
- setVersion((v) => v + 1);
55
- },
56
- setData: (node, path, value, surfaceId) => {
57
- processor.setData(node, path, value, surfaceId);
45
+ try {
46
+ processor.processMessages(messages);
47
+ } catch (err) {
48
+ console.warn("[A2UI] processMessages error:", err);
49
+ setError(err instanceof Error ? err.message : String(err));
50
+ return;
51
+ }
52
+ setError(null);
58
53
  setVersion((v) => v + 1);
59
54
  },
60
55
  dispatch: (message) => {
61
56
  if (onActionRef.current) onActionRef.current(message);
62
57
  },
63
- clearSurfaces: () => {
64
- processor.clearSurfaces();
65
- setVersion((v) => v + 1);
66
- },
67
58
  getSurface: (surfaceId) => {
68
- return processor.getSurfaces().get(surfaceId);
69
- },
70
- getSurfaces: () => {
71
- return processor.getSurfaces();
59
+ return processor.model.getSurface(surfaceId);
72
60
  },
73
- getData: (node, path, surfaceId) => {
74
- return processor.getData(node, path, surfaceId);
75
- },
76
- resolvePath: (path, dataContextPath) => {
77
- return processor.resolvePath(path, dataContextPath);
61
+ clearSurfaces: () => {
62
+ const surfaces = processor.model.surfacesMap;
63
+ for (const [id] of surfaces) processor.processMessages([{
64
+ version: "v0.9",
65
+ deleteSurface: { surfaceId: id }
66
+ }]);
67
+ setVersion((v) => v + 1);
78
68
  }
79
69
  };
80
70
  const actions = actionsRef.current;
81
- const stateValue = useMemo(() => ({ version }), [version]);
71
+ const stateValue = useMemo(() => ({
72
+ version,
73
+ error
74
+ }), [version, error]);
82
75
  return /* @__PURE__ */ jsx(A2UIActionsContext.Provider, {
83
76
  value: actions,
84
77
  children: /* @__PURE__ */ jsx(A2UIStateContext.Provider, {
@@ -92,10 +85,6 @@ function A2UIProvider({ onAction, theme, children }) {
92
85
  }
93
86
  /**
94
87
  * Hook to access stable A2UI actions (won't cause re-renders).
95
- * Use this when you only need to dispatch actions or read data.
96
- *
97
- * @returns Stable actions object
98
- * @throws If used outside of an A2UIProvider
99
88
  */
100
89
  function useA2UIActions() {
101
90
  const actions = useContext(A2UIActionsContext);
@@ -104,10 +93,6 @@ function useA2UIActions() {
104
93
  }
105
94
  /**
106
95
  * Hook to subscribe to A2UI state changes.
107
- * Components using this will re-render when state changes.
108
- *
109
- * @returns Current version number
110
- * @throws If used outside of an A2UIProvider
111
96
  */
112
97
  function useA2UIState() {
113
98
  const state = useContext(A2UIStateContext);
@@ -116,37 +101,29 @@ function useA2UIState() {
116
101
  }
117
102
  /**
118
103
  * Hook to access the full A2UI context (actions + state).
119
- * Components using this will re-render when state changes.
120
- *
121
- * @returns The A2UI context value
122
- * @throws If used outside of an A2UIProvider
123
104
  */
124
105
  function useA2UIContext() {
125
106
  const actions = useA2UIActions();
126
107
  const state = useA2UIState();
127
108
  return useMemo(() => ({
128
109
  ...actions,
129
- processor: null,
130
110
  version: state.version,
131
111
  onAction: null
132
112
  }), [actions, state.version]);
133
113
  }
134
- /**
135
- * @deprecated Use useA2UIContext instead. This alias exists for backward compatibility only.
136
- */
114
+ /** @deprecated Use useA2UIContext instead. */
137
115
  const useA2UIStore = useA2UIContext;
138
116
  /**
139
- * @deprecated This selector pattern does not provide performance benefits with React Context.
140
- * Components will re-render on any context change regardless of what you select.
141
- * Use useA2UIContext() or useA2UI() directly instead.
142
- *
143
- * @param selector - Function to select a slice of state
144
- * @returns The selected state
117
+ * Hook to access the current A2UI error state.
145
118
  */
119
+ function useA2UIError() {
120
+ return useContext(A2UIStateContext)?.error ?? null;
121
+ }
122
+ /** @deprecated Use useA2UIContext() or useA2UI() directly instead. */
146
123
  function useA2UIStoreSelector(selector) {
147
124
  return selector(useA2UIContext());
148
125
  }
149
126
 
150
127
  //#endregion
151
- export { A2UIProvider, useA2UIActions, useA2UIContext, useA2UIState, useA2UIStore, useA2UIStoreSelector };
128
+ export { A2UIProvider, useA2UIActions, useA2UIContext, useA2UIError, useA2UIState, useA2UIStore, useA2UIStoreSelector };
152
129
  //# sourceMappingURL=A2UIProvider.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"A2UIProvider.mjs","names":[],"sources":["../../../src/react-renderer/core/A2UIProvider.tsx"],"sourcesContent":["import {\n createContext,\n useContext,\n useRef,\n useState,\n useMemo,\n type ReactNode,\n} from \"react\";\nimport { Data, type Types } from \"@a2ui/lit/0.8\";\nimport type { A2UIContextValue, A2UIActions } from \"./store\";\nimport { ThemeProvider } from \"../theme/ThemeContext\";\nimport type { OnActionCallback } from \"../types\";\n\n/**\n * Context for stable actions (never changes reference, prevents re-renders).\n * Components that only need to dispatch actions or read data won't re-render.\n */\nconst A2UIActionsContext = createContext<A2UIActions | null>(null);\n\n/**\n * Context for reactive state (changes trigger re-renders).\n * Only components that need to react to state changes subscribe to this.\n */\nconst A2UIStateContext = createContext<{ version: number } | null>(null);\n\n/**\n * Props for the A2UIProvider component.\n */\nexport interface A2UIProviderProps {\n /** Callback invoked when a user action is dispatched (button click, etc.) */\n onAction?: OnActionCallback;\n /** Theme configuration. Falls back to default theme if not provided. */\n theme?: Types.Theme;\n /** Child components */\n children: ReactNode;\n}\n\n/**\n * Provider component that sets up the A2UI context for descendant components.\n *\n * This provider uses a two-context architecture for performance:\n * - A2UIActionsContext: Stable actions that never change (no re-renders)\n * - A2UIStateContext: Reactive state that triggers re-renders when needed\n *\n * @example\n * ```tsx\n * function App() {\n * const handleAction = async (message) => {\n * const response = await fetch('/api/a2ui', {\n * method: 'POST',\n * body: JSON.stringify(message)\n * });\n * const newMessages = await response.json();\n * };\n *\n * return (\n * <A2UIProvider onAction={handleAction}>\n * <A2UIRenderer surfaceId=\"main\" />\n * </A2UIProvider>\n * );\n * }\n * ```\n */\nexport function A2UIProvider({ onAction, theme, children }: A2UIProviderProps) {\n // Create message processor only once using ref\n const processorRef = useRef<Types.MessageProcessor | null>(null);\n if (!processorRef.current) {\n processorRef.current = Data.createSignalA2uiMessageProcessor();\n }\n const processor = processorRef.current;\n\n // Version counter for triggering re-renders\n const [version, setVersion] = useState(0);\n\n // Store onAction in a ref so callbacks always have the latest value\n const onActionRef = useRef<OnActionCallback | null>(onAction ?? null);\n onActionRef.current = onAction ?? null;\n\n // Create stable actions object once - stored in ref, never changes\n const actionsRef = useRef<A2UIActions | null>(null);\n if (!actionsRef.current) {\n actionsRef.current = {\n processMessages: (messages: Types.ServerToClientMessage[]) => {\n processor.processMessages(messages);\n setVersion((v) => v + 1);\n },\n\n setData: (\n node: Types.AnyComponentNode | null,\n path: string,\n value: Types.DataValue,\n surfaceId: string,\n ) => {\n processor.setData(node, path, value, surfaceId);\n setVersion((v) => v + 1);\n },\n\n dispatch: (message: Types.A2UIClientEventMessage) => {\n if (onActionRef.current) {\n onActionRef.current(message);\n }\n },\n\n clearSurfaces: () => {\n processor.clearSurfaces();\n setVersion((v) => v + 1);\n },\n\n getSurface: (surfaceId: string) => {\n return processor.getSurfaces().get(surfaceId);\n },\n\n getSurfaces: () => {\n return processor.getSurfaces();\n },\n\n getData: (\n node: Types.AnyComponentNode,\n path: string,\n surfaceId: string,\n ) => {\n return processor.getData(node, path, surfaceId);\n },\n\n resolvePath: (path: string, dataContextPath?: string) => {\n return processor.resolvePath(path, dataContextPath);\n },\n };\n }\n const actions = actionsRef.current;\n\n // State context value - only changes when version changes\n const stateValue = useMemo(() => ({ version }), [version]);\n\n return (\n <A2UIActionsContext.Provider value={actions}>\n <A2UIStateContext.Provider value={stateValue}>\n <ThemeProvider theme={theme}>{children}</ThemeProvider>\n </A2UIStateContext.Provider>\n </A2UIActionsContext.Provider>\n );\n}\n\n/**\n * Hook to access stable A2UI actions (won't cause re-renders).\n * Use this when you only need to dispatch actions or read data.\n *\n * @returns Stable actions object\n * @throws If used outside of an A2UIProvider\n */\nexport function useA2UIActions(): A2UIActions {\n const actions = useContext(A2UIActionsContext);\n if (!actions) {\n throw new Error(\"useA2UIActions must be used within an A2UIProvider\");\n }\n return actions;\n}\n\n/**\n * Hook to subscribe to A2UI state changes.\n * Components using this will re-render when state changes.\n *\n * @returns Current version number\n * @throws If used outside of an A2UIProvider\n */\nexport function useA2UIState(): { version: number } {\n const state = useContext(A2UIStateContext);\n if (!state) {\n throw new Error(\"useA2UIState must be used within an A2UIProvider\");\n }\n return state;\n}\n\n/**\n * Hook to access the full A2UI context (actions + state).\n * Components using this will re-render when state changes.\n *\n * @returns The A2UI context value\n * @throws If used outside of an A2UIProvider\n */\nexport function useA2UIContext(): A2UIContextValue {\n const actions = useA2UIActions();\n const state = useA2UIState();\n\n // Memoize combined value - only changes when state changes\n // Actions are stable, so this only re-creates when version changes\n return useMemo(\n () => ({\n ...actions,\n processor: null as unknown as Types.MessageProcessor, // Not exposed directly\n version: state.version,\n onAction: null, // Use dispatch instead\n }),\n [actions, state.version],\n );\n}\n\n/**\n * @deprecated Use useA2UIContext instead. This alias exists for backward compatibility only.\n */\nexport const useA2UIStore = useA2UIContext;\n\n/**\n * @deprecated This selector pattern does not provide performance benefits with React Context.\n * Components will re-render on any context change regardless of what you select.\n * Use useA2UIContext() or useA2UI() directly instead.\n *\n * @param selector - Function to select a slice of state\n * @returns The selected state\n */\nexport function useA2UIStoreSelector<T>(\n selector: (state: A2UIContextValue) => T,\n): T {\n const context = useA2UIContext();\n return selector(context);\n}\n"],"mappings":";;;;;;;;;;AAiBA,MAAM,qBAAqB,cAAkC,KAAK;;;;;AAMlE,MAAM,mBAAmB,cAA0C,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCxE,SAAgB,aAAa,EAAE,UAAU,OAAO,YAA+B;CAE7E,MAAM,eAAe,OAAsC,KAAK;AAChE,KAAI,CAAC,aAAa,QAChB,cAAa,UAAU,KAAK,kCAAkC;CAEhE,MAAM,YAAY,aAAa;CAG/B,MAAM,CAAC,SAAS,cAAc,SAAS,EAAE;CAGzC,MAAM,cAAc,OAAgC,YAAY,KAAK;AACrE,aAAY,UAAU,YAAY;CAGlC,MAAM,aAAa,OAA2B,KAAK;AACnD,KAAI,CAAC,WAAW,QACd,YAAW,UAAU;EACnB,kBAAkB,aAA4C;AAC5D,aAAU,gBAAgB,SAAS;AACnC,eAAY,MAAM,IAAI,EAAE;;EAG1B,UACE,MACA,MACA,OACA,cACG;AACH,aAAU,QAAQ,MAAM,MAAM,OAAO,UAAU;AAC/C,eAAY,MAAM,IAAI,EAAE;;EAG1B,WAAW,YAA0C;AACnD,OAAI,YAAY,QACd,aAAY,QAAQ,QAAQ;;EAIhC,qBAAqB;AACnB,aAAU,eAAe;AACzB,eAAY,MAAM,IAAI,EAAE;;EAG1B,aAAa,cAAsB;AACjC,UAAO,UAAU,aAAa,CAAC,IAAI,UAAU;;EAG/C,mBAAmB;AACjB,UAAO,UAAU,aAAa;;EAGhC,UACE,MACA,MACA,cACG;AACH,UAAO,UAAU,QAAQ,MAAM,MAAM,UAAU;;EAGjD,cAAc,MAAc,oBAA6B;AACvD,UAAO,UAAU,YAAY,MAAM,gBAAgB;;EAEtD;CAEH,MAAM,UAAU,WAAW;CAG3B,MAAM,aAAa,eAAe,EAAE,SAAS,GAAG,CAAC,QAAQ,CAAC;AAE1D,QACE,oBAAC,mBAAmB;EAAS,OAAO;YAClC,oBAAC,iBAAiB;GAAS,OAAO;aAChC,oBAAC;IAAqB;IAAQ;KAAyB;IAC7B;GACA;;;;;;;;;AAWlC,SAAgB,iBAA8B;CAC5C,MAAM,UAAU,WAAW,mBAAmB;AAC9C,KAAI,CAAC,QACH,OAAM,IAAI,MAAM,qDAAqD;AAEvE,QAAO;;;;;;;;;AAUT,SAAgB,eAAoC;CAClD,MAAM,QAAQ,WAAW,iBAAiB;AAC1C,KAAI,CAAC,MACH,OAAM,IAAI,MAAM,mDAAmD;AAErE,QAAO;;;;;;;;;AAUT,SAAgB,iBAAmC;CACjD,MAAM,UAAU,gBAAgB;CAChC,MAAM,QAAQ,cAAc;AAI5B,QAAO,eACE;EACL,GAAG;EACH,WAAW;EACX,SAAS,MAAM;EACf,UAAU;EACX,GACD,CAAC,SAAS,MAAM,QAAQ,CACzB;;;;;AAMH,MAAa,eAAe;;;;;;;;;AAU5B,SAAgB,qBACd,UACG;AAEH,QAAO,SADS,gBAAgB,CACR"}
1
+ {"version":3,"file":"A2UIProvider.mjs","names":[],"sources":["../../../src/react-renderer/core/A2UIProvider.tsx"],"sourcesContent":["import {\n createContext,\n useContext,\n useRef,\n useState,\n useMemo,\n type ReactNode,\n} from \"react\";\nimport { MessageProcessor } from \"@a2ui/web_core/v0_9\";\nimport { basicCatalog } from \"../a2ui-react\";\nimport type { A2UIContextValue, A2UIActions } from \"./store\";\nimport { ThemeProvider } from \"../theme/ThemeContext\";\nimport type { OnActionCallback } from \"../types\";\nimport type { A2UIClientEventMessage, Theme } from \"../../a2ui-types\";\n\n/**\n * Context for stable actions (never changes reference, prevents re-renders).\n */\nconst A2UIActionsContext = createContext<A2UIActions | null>(null);\n\n/**\n * Context for reactive state (changes trigger re-renders).\n */\nconst A2UIStateContext = createContext<{\n version: number;\n error: string | null;\n} | null>(null);\n\n/**\n * Props for the A2UIProvider component.\n */\nexport interface A2UIProviderProps {\n /** Callback invoked when a user action is dispatched (button click, etc.) */\n onAction?: OnActionCallback;\n /** Theme configuration */\n theme?: Theme;\n /** Optional component catalog to use instead of the default basicCatalog */\n catalog?: any;\n /** Child components */\n children: ReactNode;\n}\n\n/**\n * Provider component that sets up the A2UI v0.9 context for descendant components.\n * Uses a two-context architecture for performance:\n * - A2UIActionsContext: Stable actions that never change (no re-renders)\n * - A2UIStateContext: Reactive state that triggers re-renders when needed\n */\nexport function A2UIProvider({\n onAction,\n theme,\n catalog,\n children,\n}: A2UIProviderProps) {\n // Store onAction in a ref so callbacks always have the latest value\n const onActionRef = useRef<OnActionCallback | null>(onAction ?? null);\n onActionRef.current = onAction ?? null;\n\n // Create v0.9 MessageProcessor only once using ref\n const processorRef = useRef<MessageProcessor<any> | null>(null);\n if (!processorRef.current) {\n processorRef.current = new MessageProcessor(\n [catalog ?? basicCatalog],\n // Action handler: convert v0.9 Action to A2UIClientEventMessage format\n (action: any) => {\n if (onActionRef.current) {\n const message: A2UIClientEventMessage = {\n userAction: {\n name: action?.name ?? \"unknown\",\n surfaceId: action?.surfaceId ?? \"default\",\n sourceComponentId: action?.sourceComponentId,\n context: action?.context,\n timestamp: action?.timestamp ?? new Date().toISOString(),\n },\n };\n onActionRef.current(message);\n }\n },\n );\n }\n const processor = processorRef.current;\n\n // Version counter for triggering re-renders\n const [version, setVersion] = useState(0);\n\n // Error state for graceful error handling\n const [error, setError] = useState<string | null>(null);\n\n // Create stable actions object once - stored in ref, never changes\n const actionsRef = useRef<A2UIActions | null>(null);\n if (!actionsRef.current) {\n actionsRef.current = {\n processMessages: (messages: Array<Record<string, unknown>>) => {\n try {\n processor.processMessages(messages as any[]);\n } catch (err) {\n console.warn(\"[A2UI] processMessages error:\", err);\n setError(err instanceof Error ? err.message : String(err));\n return;\n }\n setError(null);\n setVersion((v) => v + 1);\n },\n\n dispatch: (message: any) => {\n if (onActionRef.current) {\n onActionRef.current(message);\n }\n },\n\n getSurface: (surfaceId: string) => {\n return processor.model.getSurface(surfaceId);\n },\n\n clearSurfaces: () => {\n // Process a deleteSurface for all known surfaces\n const surfaces = processor.model.surfacesMap;\n for (const [id] of surfaces) {\n processor.processMessages([\n { version: \"v0.9\", deleteSurface: { surfaceId: id } } as any,\n ]);\n }\n setVersion((v) => v + 1);\n },\n };\n }\n const actions = actionsRef.current;\n\n // State context value - changes when version or error changes\n const stateValue = useMemo(() => ({ version, error }), [version, error]);\n\n return (\n <A2UIActionsContext.Provider value={actions}>\n <A2UIStateContext.Provider value={stateValue}>\n <ThemeProvider theme={theme}>{children}</ThemeProvider>\n </A2UIStateContext.Provider>\n </A2UIActionsContext.Provider>\n );\n}\n\n/**\n * Hook to access stable A2UI actions (won't cause re-renders).\n */\nexport function useA2UIActions(): A2UIActions {\n const actions = useContext(A2UIActionsContext);\n if (!actions) {\n throw new Error(\"useA2UIActions must be used within an A2UIProvider\");\n }\n return actions;\n}\n\n/**\n * Hook to subscribe to A2UI state changes.\n */\nexport function useA2UIState(): { version: number } {\n const state = useContext(A2UIStateContext);\n if (!state) {\n throw new Error(\"useA2UIState must be used within an A2UIProvider\");\n }\n return state;\n}\n\n/**\n * Hook to access the full A2UI context (actions + state).\n */\nexport function useA2UIContext(): A2UIContextValue {\n const actions = useA2UIActions();\n const state = useA2UIState();\n\n return useMemo(\n () => ({\n ...actions,\n version: state.version,\n onAction: null,\n }),\n [actions, state.version],\n );\n}\n\n/** @deprecated Use useA2UIContext instead. */\nexport const useA2UIStore = useA2UIContext;\n\n/**\n * Hook to access the current A2UI error state.\n */\nexport function useA2UIError(): string | null {\n const state = useContext(A2UIStateContext);\n return state?.error ?? null;\n}\n\n/** @deprecated Use useA2UIContext() or useA2UI() directly instead. */\nexport function useA2UIStoreSelector<T>(\n selector: (state: A2UIContextValue) => T,\n): T {\n const context = useA2UIContext();\n return selector(context);\n}\n"],"mappings":";;;;;;;;;;;AAkBA,MAAM,qBAAqB,cAAkC,KAAK;;;;AAKlE,MAAM,mBAAmB,cAGf,KAAK;;;;;;;AAsBf,SAAgB,aAAa,EAC3B,UACA,OACA,SACA,YACoB;CAEpB,MAAM,cAAc,OAAgC,YAAY,KAAK;AACrE,aAAY,UAAU,YAAY;CAGlC,MAAM,eAAe,OAAqC,KAAK;AAC/D,KAAI,CAAC,aAAa,QAChB,cAAa,UAAU,IAAI,iBACzB,CAAC,WAAW,aAAa,GAExB,WAAgB;AACf,MAAI,YAAY,SAAS;GACvB,MAAM,UAAkC,EACtC,YAAY;IACV,MAAM,QAAQ,QAAQ;IACtB,WAAW,QAAQ,aAAa;IAChC,mBAAmB,QAAQ;IAC3B,SAAS,QAAQ;IACjB,WAAW,QAAQ,8BAAa,IAAI,MAAM,EAAC,aAAa;IACzD,EACF;AACD,eAAY,QAAQ,QAAQ;;GAGjC;CAEH,MAAM,YAAY,aAAa;CAG/B,MAAM,CAAC,SAAS,cAAc,SAAS,EAAE;CAGzC,MAAM,CAAC,OAAO,YAAY,SAAwB,KAAK;CAGvD,MAAM,aAAa,OAA2B,KAAK;AACnD,KAAI,CAAC,WAAW,QACd,YAAW,UAAU;EACnB,kBAAkB,aAA6C;AAC7D,OAAI;AACF,cAAU,gBAAgB,SAAkB;YACrC,KAAK;AACZ,YAAQ,KAAK,iCAAiC,IAAI;AAClD,aAAS,eAAe,QAAQ,IAAI,UAAU,OAAO,IAAI,CAAC;AAC1D;;AAEF,YAAS,KAAK;AACd,eAAY,MAAM,IAAI,EAAE;;EAG1B,WAAW,YAAiB;AAC1B,OAAI,YAAY,QACd,aAAY,QAAQ,QAAQ;;EAIhC,aAAa,cAAsB;AACjC,UAAO,UAAU,MAAM,WAAW,UAAU;;EAG9C,qBAAqB;GAEnB,MAAM,WAAW,UAAU,MAAM;AACjC,QAAK,MAAM,CAAC,OAAO,SACjB,WAAU,gBAAgB,CACxB;IAAE,SAAS;IAAQ,eAAe,EAAE,WAAW,IAAI;IAAE,CACtD,CAAC;AAEJ,eAAY,MAAM,IAAI,EAAE;;EAE3B;CAEH,MAAM,UAAU,WAAW;CAG3B,MAAM,aAAa,eAAe;EAAE;EAAS;EAAO,GAAG,CAAC,SAAS,MAAM,CAAC;AAExE,QACE,oBAAC,mBAAmB;EAAS,OAAO;YAClC,oBAAC,iBAAiB;GAAS,OAAO;aAChC,oBAAC;IAAqB;IAAQ;KAAyB;IAC7B;GACA;;;;;AAOlC,SAAgB,iBAA8B;CAC5C,MAAM,UAAU,WAAW,mBAAmB;AAC9C,KAAI,CAAC,QACH,OAAM,IAAI,MAAM,qDAAqD;AAEvE,QAAO;;;;;AAMT,SAAgB,eAAoC;CAClD,MAAM,QAAQ,WAAW,iBAAiB;AAC1C,KAAI,CAAC,MACH,OAAM,IAAI,MAAM,mDAAmD;AAErE,QAAO;;;;;AAMT,SAAgB,iBAAmC;CACjD,MAAM,UAAU,gBAAgB;CAChC,MAAM,QAAQ,cAAc;AAE5B,QAAO,eACE;EACL,GAAG;EACH,SAAS,MAAM;EACf,UAAU;EACX,GACD,CAAC,SAAS,MAAM,QAAQ,CACzB;;;AAIH,MAAa,eAAe;;;;AAK5B,SAAgB,eAA8B;AAE5C,QADc,WAAW,iBAAiB,EAC5B,SAAS;;;AAIzB,SAAgB,qBACd,UACG;AAEH,QAAO,SADS,gBAAgB,CACR"}
@@ -1,6 +1,7 @@
1
1
  const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
2
+ const require_A2uiSurface = require('../a2ui-react/A2uiSurface.cjs');
3
+ require('../a2ui-react/index.cjs');
2
4
  const require_useA2UI = require('../hooks/useA2UI.cjs');
3
- const require_ComponentNode = require('./ComponentNode.cjs');
4
5
  const require_utils = require('../lib/utils.cjs');
5
6
  let react = require("react");
6
7
  let react_jsx_runtime = require("react/jsx-runtime");
@@ -18,72 +19,23 @@ const DefaultLoadingFallback = (0, react.memo)(function DefaultLoadingFallback()
18
19
  });
19
20
  });
20
21
  /**
21
- * A2UIRenderer - renders an A2UI surface.
22
+ * A2UIRenderer - renders an A2UI surface using the v0.9 renderer.
22
23
  *
23
- * This is the main entry point for rendering A2UI content in your React app.
24
- * It reads the surface state from the A2UI store and renders the component tree.
25
- *
26
- * Memoized to prevent unnecessary re-renders when props haven't changed.
27
- *
28
- * @example
29
- * ```tsx
30
- * function App() {
31
- * return (
32
- * <A2UIProvider onAction={handleAction}>
33
- * <A2UIRenderer surfaceId="main" />
34
- * </A2UIProvider>
35
- * );
36
- * }
37
- * ```
24
+ * Uses A2uiSurface from a2ui-react which handles all component
25
+ * rendering internally via the catalog system.
38
26
  */
39
- const A2UIRenderer = (0, react.memo)(function A2UIRenderer({ surfaceId, className, fallback = null, loadingFallback, registry }) {
27
+ const A2UIRenderer = (0, react.memo)(function A2UIRenderer({ surfaceId, className, fallback = null, loadingFallback }) {
40
28
  const { getSurface, version } = require_useA2UI.useA2UI();
41
29
  const surface = getSurface(surfaceId);
42
- const surfaceStyles = (0, react.useMemo)(() => {
43
- if (!surface?.styles) return {};
44
- const styles = {};
45
- for (const [key, value] of Object.entries(surface.styles)) switch (key) {
46
- case "primaryColor":
47
- styles["--p-100"] = "#ffffff";
48
- styles["--p-99"] = `color-mix(in srgb, ${value} 2%, white 98%)`;
49
- styles["--p-98"] = `color-mix(in srgb, ${value} 4%, white 96%)`;
50
- styles["--p-95"] = `color-mix(in srgb, ${value} 10%, white 90%)`;
51
- styles["--p-90"] = `color-mix(in srgb, ${value} 20%, white 80%)`;
52
- styles["--p-80"] = `color-mix(in srgb, ${value} 40%, white 60%)`;
53
- styles["--p-70"] = `color-mix(in srgb, ${value} 60%, white 40%)`;
54
- styles["--p-60"] = `color-mix(in srgb, ${value} 80%, white 20%)`;
55
- styles["--p-50"] = String(value);
56
- styles["--p-40"] = `color-mix(in srgb, ${value} 80%, black 20%)`;
57
- styles["--p-35"] = `color-mix(in srgb, ${value} 70%, black 30%)`;
58
- styles["--p-30"] = `color-mix(in srgb, ${value} 60%, black 40%)`;
59
- styles["--p-25"] = `color-mix(in srgb, ${value} 50%, black 50%)`;
60
- styles["--p-20"] = `color-mix(in srgb, ${value} 40%, black 60%)`;
61
- styles["--p-15"] = `color-mix(in srgb, ${value} 30%, black 70%)`;
62
- styles["--p-10"] = `color-mix(in srgb, ${value} 20%, black 80%)`;
63
- styles["--p-5"] = `color-mix(in srgb, ${value} 10%, black 90%)`;
64
- styles["--p-0"] = "#000000";
65
- break;
66
- case "font":
67
- styles["--font-family"] = String(value);
68
- styles["--font-family-flex"] = String(value);
69
- break;
70
- }
71
- return styles;
72
- }, [surface?.styles]);
73
- if (!surface || !surface.componentTree) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: fallback });
30
+ if (!surface) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: fallback });
74
31
  const actualLoadingFallback = loadingFallback ?? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DefaultLoadingFallback, {});
75
32
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
76
33
  className: require_utils.cn("a2ui-surface", className),
77
- style: surfaceStyles,
78
34
  "data-surface-id": surfaceId,
79
35
  "data-version": version,
80
36
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react.Suspense, {
81
37
  fallback: actualLoadingFallback,
82
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ComponentNode.default, {
83
- node: surface.componentTree,
84
- surfaceId,
85
- registry
86
- })
38
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_A2uiSurface.A2uiSurface, { surface })
87
39
  })
88
40
  });
89
41
  });
@@ -1 +1 @@
1
- {"version":3,"file":"A2UIRenderer.cjs","names":["useA2UI","cn","Suspense","ComponentNode"],"sources":["../../../src/react-renderer/core/A2UIRenderer.tsx"],"sourcesContent":["import { Suspense, useMemo, memo, type ReactNode } from \"react\";\nimport { useA2UI } from \"../hooks/useA2UI\";\nimport { ComponentNode } from \"./ComponentNode\";\nimport { type ComponentRegistry } from \"../registry/ComponentRegistry\";\nimport { cn } from \"../lib/utils\";\n\n/** Default loading fallback - memoized to prevent recreation */\nconst DefaultLoadingFallback = memo(function DefaultLoadingFallback() {\n return (\n <div className=\"a2ui-loading\" style={{ padding: \"16px\", opacity: 0.5 }}>\n Loading...\n </div>\n );\n});\n\nexport interface A2UIRendererProps {\n /** The surface ID to render */\n surfaceId: string;\n /** Additional CSS classes for the surface container */\n className?: string;\n /** Fallback content when surface is not yet available */\n fallback?: ReactNode;\n /** Loading fallback for lazy-loaded components */\n loadingFallback?: ReactNode;\n /** Optional custom component registry */\n registry?: ComponentRegistry;\n}\n\n/**\n * A2UIRenderer - renders an A2UI surface.\n *\n * This is the main entry point for rendering A2UI content in your React app.\n * It reads the surface state from the A2UI store and renders the component tree.\n *\n * Memoized to prevent unnecessary re-renders when props haven't changed.\n *\n * @example\n * ```tsx\n * function App() {\n * return (\n * <A2UIProvider onAction={handleAction}>\n * <A2UIRenderer surfaceId=\"main\" />\n * </A2UIProvider>\n * );\n * }\n * ```\n */\nexport const A2UIRenderer = memo(function A2UIRenderer({\n surfaceId,\n className,\n fallback = null,\n loadingFallback,\n registry,\n}: A2UIRendererProps) {\n const { getSurface, version } = useA2UI();\n\n // Get surface - this will re-render when version changes\n const surface = getSurface(surfaceId);\n\n // Memoize surface styles to prevent object recreation\n // Matches Lit renderer's transformation logic in surface.ts\n const surfaceStyles = useMemo<React.CSSProperties>(() => {\n if (!surface?.styles) return {};\n\n const styles: React.CSSProperties & Record<string, string> = {};\n\n for (const [key, value] of Object.entries(surface.styles)) {\n switch (key) {\n // Generate a color palette from the primary color.\n // Values range from 0-100 where 0=black, 100=white, 50=primary color.\n // Uses color-mix to create intermediate values.\n case \"primaryColor\": {\n styles[\"--p-100\"] = \"#ffffff\";\n styles[\"--p-99\"] = `color-mix(in srgb, ${value} 2%, white 98%)`;\n styles[\"--p-98\"] = `color-mix(in srgb, ${value} 4%, white 96%)`;\n styles[\"--p-95\"] = `color-mix(in srgb, ${value} 10%, white 90%)`;\n styles[\"--p-90\"] = `color-mix(in srgb, ${value} 20%, white 80%)`;\n styles[\"--p-80\"] = `color-mix(in srgb, ${value} 40%, white 60%)`;\n styles[\"--p-70\"] = `color-mix(in srgb, ${value} 60%, white 40%)`;\n styles[\"--p-60\"] = `color-mix(in srgb, ${value} 80%, white 20%)`;\n styles[\"--p-50\"] = String(value);\n styles[\"--p-40\"] = `color-mix(in srgb, ${value} 80%, black 20%)`;\n styles[\"--p-35\"] = `color-mix(in srgb, ${value} 70%, black 30%)`;\n styles[\"--p-30\"] = `color-mix(in srgb, ${value} 60%, black 40%)`;\n styles[\"--p-25\"] = `color-mix(in srgb, ${value} 50%, black 50%)`;\n styles[\"--p-20\"] = `color-mix(in srgb, ${value} 40%, black 60%)`;\n styles[\"--p-15\"] = `color-mix(in srgb, ${value} 30%, black 70%)`;\n styles[\"--p-10\"] = `color-mix(in srgb, ${value} 20%, black 80%)`;\n styles[\"--p-5\"] = `color-mix(in srgb, ${value} 10%, black 90%)`;\n styles[\"--p-0\"] = \"#000000\";\n break;\n }\n\n case \"font\": {\n styles[\"--font-family\"] = String(value);\n styles[\"--font-family-flex\"] = String(value);\n break;\n }\n }\n }\n return styles;\n }, [surface?.styles]);\n\n // No surface yet\n if (!surface || !surface.componentTree) {\n return <>{fallback}</>;\n }\n\n // Use provided fallback or default memoized component\n const actualLoadingFallback = loadingFallback ?? <DefaultLoadingFallback />;\n\n return (\n <div\n className={cn(\"a2ui-surface\", className)}\n style={surfaceStyles}\n data-surface-id={surfaceId}\n data-version={version}\n >\n <Suspense fallback={actualLoadingFallback}>\n <ComponentNode\n node={surface.componentTree}\n surfaceId={surfaceId}\n registry={registry}\n />\n </Suspense>\n </div>\n );\n});\n\nexport default A2UIRenderer;\n"],"mappings":";;;;;;;;;AAOA,MAAM,yCAA8B,SAAS,yBAAyB;AACpE,QACE,2CAAC;EAAI,WAAU;EAAe,OAAO;GAAE,SAAS;GAAQ,SAAS;GAAK;YAAE;GAElE;EAER;;;;;;;;;;;;;;;;;;;;AAkCF,MAAa,+BAAoB,SAAS,aAAa,EACrD,WACA,WACA,WAAW,MACX,iBACA,YACoB;CACpB,MAAM,EAAE,YAAY,YAAYA,yBAAS;CAGzC,MAAM,UAAU,WAAW,UAAU;CAIrC,MAAM,yCAAmD;AACvD,MAAI,CAAC,SAAS,OAAQ,QAAO,EAAE;EAE/B,MAAM,SAAuD,EAAE;AAE/D,OAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,QAAQ,OAAO,CACvD,SAAQ,KAAR;GAIE,KAAK;AACH,WAAO,aAAa;AACpB,WAAO,YAAY,sBAAsB,MAAM;AAC/C,WAAO,YAAY,sBAAsB,MAAM;AAC/C,WAAO,YAAY,sBAAsB,MAAM;AAC/C,WAAO,YAAY,sBAAsB,MAAM;AAC/C,WAAO,YAAY,sBAAsB,MAAM;AAC/C,WAAO,YAAY,sBAAsB,MAAM;AAC/C,WAAO,YAAY,sBAAsB,MAAM;AAC/C,WAAO,YAAY,OAAO,MAAM;AAChC,WAAO,YAAY,sBAAsB,MAAM;AAC/C,WAAO,YAAY,sBAAsB,MAAM;AAC/C,WAAO,YAAY,sBAAsB,MAAM;AAC/C,WAAO,YAAY,sBAAsB,MAAM;AAC/C,WAAO,YAAY,sBAAsB,MAAM;AAC/C,WAAO,YAAY,sBAAsB,MAAM;AAC/C,WAAO,YAAY,sBAAsB,MAAM;AAC/C,WAAO,WAAW,sBAAsB,MAAM;AAC9C,WAAO,WAAW;AAClB;GAGF,KAAK;AACH,WAAO,mBAAmB,OAAO,MAAM;AACvC,WAAO,wBAAwB,OAAO,MAAM;AAC5C;;AAIN,SAAO;IACN,CAAC,SAAS,OAAO,CAAC;AAGrB,KAAI,CAAC,WAAW,CAAC,QAAQ,cACvB,QAAO,mFAAG,WAAY;CAIxB,MAAM,wBAAwB,mBAAmB,2CAAC,2BAAyB;AAE3E,QACE,2CAAC;EACC,WAAWC,iBAAG,gBAAgB,UAAU;EACxC,OAAO;EACP,mBAAiB;EACjB,gBAAc;YAEd,2CAACC;GAAS,UAAU;aAClB,2CAACC;IACC,MAAM,QAAQ;IACH;IACD;KACV;IACO;GACP;EAER"}
1
+ {"version":3,"file":"A2UIRenderer.cjs","names":["useA2UI","cn","Suspense","A2uiSurface"],"sources":["../../../src/react-renderer/core/A2UIRenderer.tsx"],"sourcesContent":["import { Suspense, memo, type ReactNode } from \"react\";\nimport { useA2UI } from \"../hooks/useA2UI\";\nimport { A2uiSurface } from \"../a2ui-react\";\nimport { cn } from \"../lib/utils\";\n\n/** Default loading fallback - memoized to prevent recreation */\nconst DefaultLoadingFallback = memo(function DefaultLoadingFallback() {\n return (\n <div className=\"a2ui-loading\" style={{ padding: \"16px\", opacity: 0.5 }}>\n Loading...\n </div>\n );\n});\n\nexport interface A2UIRendererProps {\n /** The surface ID to render */\n surfaceId: string;\n /** Additional CSS classes for the surface container */\n className?: string;\n /** Fallback content when surface is not yet available */\n fallback?: ReactNode;\n /** Loading fallback for lazy-loaded components */\n loadingFallback?: ReactNode;\n /** @deprecated - No longer needed in v0.9, components come from catalog */\n registry?: any;\n}\n\n/**\n * A2UIRenderer - renders an A2UI surface using the v0.9 renderer.\n *\n * Uses A2uiSurface from a2ui-react which handles all component\n * rendering internally via the catalog system.\n */\nexport const A2UIRenderer = memo(function A2UIRenderer({\n surfaceId,\n className,\n fallback = null,\n loadingFallback,\n}: A2UIRendererProps) {\n const { getSurface, version } = useA2UI();\n\n // Get v0.9 SurfaceModel - this will re-render when version changes\n const surface = getSurface(surfaceId);\n\n // No surface yet\n if (!surface) {\n return <>{fallback}</>;\n }\n\n // Use provided fallback or default memoized component\n const actualLoadingFallback = loadingFallback ?? <DefaultLoadingFallback />;\n\n return (\n <div\n className={cn(\"a2ui-surface\", className)}\n data-surface-id={surfaceId}\n data-version={version}\n >\n <Suspense fallback={actualLoadingFallback}>\n <A2uiSurface surface={surface} />\n </Suspense>\n </div>\n );\n});\n\nexport default A2UIRenderer;\n"],"mappings":";;;;;;;;;;AAMA,MAAM,yCAA8B,SAAS,yBAAyB;AACpE,QACE,2CAAC;EAAI,WAAU;EAAe,OAAO;GAAE,SAAS;GAAQ,SAAS;GAAK;YAAE;GAElE;EAER;;;;;;;AAqBF,MAAa,+BAAoB,SAAS,aAAa,EACrD,WACA,WACA,WAAW,MACX,mBACoB;CACpB,MAAM,EAAE,YAAY,YAAYA,yBAAS;CAGzC,MAAM,UAAU,WAAW,UAAU;AAGrC,KAAI,CAAC,QACH,QAAO,mFAAG,WAAY;CAIxB,MAAM,wBAAwB,mBAAmB,2CAAC,2BAAyB;AAE3E,QACE,2CAAC;EACC,WAAWC,iBAAG,gBAAgB,UAAU;EACxC,mBAAiB;EACjB,gBAAc;YAEd,2CAACC;GAAS,UAAU;aAClB,2CAACC,mCAAqB,UAAW;IACxB;GACP;EAER"}
@@ -1,4 +1,3 @@
1
- import { ComponentRegistry } from "../registry/ComponentRegistry.cjs";
2
1
  import * as react from "react";
3
2
  import { ReactNode } from "react";
4
3
 
@@ -12,27 +11,14 @@ interface A2UIRendererProps {
12
11
  fallback?: ReactNode;
13
12
  /** Loading fallback for lazy-loaded components */
14
13
  loadingFallback?: ReactNode;
15
- /** Optional custom component registry */
16
- registry?: ComponentRegistry;
14
+ /** @deprecated - No longer needed in v0.9, components come from catalog */
15
+ registry?: any;
17
16
  }
18
17
  /**
19
- * A2UIRenderer - renders an A2UI surface.
18
+ * A2UIRenderer - renders an A2UI surface using the v0.9 renderer.
20
19
  *
21
- * This is the main entry point for rendering A2UI content in your React app.
22
- * It reads the surface state from the A2UI store and renders the component tree.
23
- *
24
- * Memoized to prevent unnecessary re-renders when props haven't changed.
25
- *
26
- * @example
27
- * ```tsx
28
- * function App() {
29
- * return (
30
- * <A2UIProvider onAction={handleAction}>
31
- * <A2UIRenderer surfaceId="main" />
32
- * </A2UIProvider>
33
- * );
34
- * }
35
- * ```
20
+ * Uses A2uiSurface from a2ui-react which handles all component
21
+ * rendering internally via the catalog system.
36
22
  */
37
23
  declare const A2UIRenderer: react.NamedExoticComponent<A2UIRendererProps>;
38
24
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"A2UIRenderer.d.cts","names":[],"sources":["../../../src/react-renderer/core/A2UIRenderer.tsx"],"mappings":";;;;;UAeiB,iBAAA;;EAEf,SAAA;EAFe;EAIf,SAAA;;EAEA,QAAA,GAAW,SAAA;EAEO;EAAlB,eAAA,GAAkB,SAAA;EAEU;EAA5B,QAAA,GAAW,iBAAA;AAAA;;;;;;;;;;AAsBb;;;;;;;;;;cAAa,YAAA,EAAY,KAAA,CAAA,oBAAA,CAAA,iBAAA"}
1
+ {"version":3,"file":"A2UIRenderer.d.cts","names":[],"sources":["../../../src/react-renderer/core/A2UIRenderer.tsx"],"mappings":";;;;UAciB,iBAAA;;EAEf,SAAA;EAFe;EAIf,SAAA;;EAEA,QAAA,GAAW,SAAA;EAJX;EAMA,eAAA,GAAkB,SAAA;EAFlB;EAIA,QAAA;AAAA;;;;;AASF;;cAAa,YAAA,EAAY,KAAA,CAAA,oBAAA,CAAA,iBAAA"}