@easyops-cn/a2ui-react 0.0.0 → 0.0.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 (604) hide show
  1. package/README.md +12 -8
  2. package/dist/0.8/A2UIRenderer.d.ts +49 -0
  3. package/dist/0.8/A2UIRenderer.test.d.ts +6 -0
  4. package/dist/0.8/components/ComponentRenderer.d.ts +39 -0
  5. package/dist/0.8/components/ComponentRenderer.test.d.ts +6 -0
  6. package/dist/0.8/components/UnknownComponent.d.ts +18 -0
  7. package/dist/0.8/components/display/AudioPlayerComponent.d.ts +5 -0
  8. package/dist/0.8/components/display/DividerComponent.d.ts +5 -0
  9. package/dist/0.8/components/display/IconComponent.d.ts +5 -0
  10. package/dist/0.8/components/display/ImageComponent.d.ts +6 -0
  11. package/dist/0.8/components/display/TextComponent.d.ts +6 -0
  12. package/dist/0.8/components/display/VideoComponent.d.ts +5 -0
  13. package/dist/0.8/components/display/display.test.d.ts +7 -0
  14. package/dist/0.8/components/display/index.d.ts +9 -0
  15. package/dist/0.8/components/index.d.ts +7 -0
  16. package/dist/0.8/components/interactive/ButtonComponent.d.ts +5 -0
  17. package/dist/0.8/components/interactive/CheckBoxComponent.d.ts +5 -0
  18. package/dist/0.8/components/interactive/DateTimeInputComponent.d.ts +5 -0
  19. package/dist/0.8/components/interactive/MultipleChoiceComponent.d.ts +7 -0
  20. package/dist/0.8/components/interactive/SliderComponent.d.ts +5 -0
  21. package/dist/0.8/components/interactive/TextFieldComponent.d.ts +5 -0
  22. package/dist/0.8/components/interactive/index.d.ts +9 -0
  23. package/dist/0.8/components/interactive/interactive.test.d.ts +7 -0
  24. package/dist/0.8/components/layout/CardComponent.d.ts +5 -0
  25. package/dist/0.8/components/layout/ColumnComponent.d.ts +5 -0
  26. package/dist/0.8/components/layout/ListComponent.d.ts +5 -0
  27. package/dist/0.8/components/layout/ModalComponent.d.ts +5 -0
  28. package/dist/0.8/components/layout/RowComponent.d.ts +5 -0
  29. package/dist/0.8/components/layout/TabsComponent.d.ts +5 -0
  30. package/dist/0.8/components/layout/index.d.ts +9 -0
  31. package/dist/0.8/components/layout/layout.test.d.ts +7 -0
  32. package/dist/0.8/contexts/A2UIProvider.d.ts +34 -0
  33. package/dist/0.8/contexts/A2UIProvider.test.d.ts +6 -0
  34. package/dist/0.8/contexts/ActionContext.d.ts +33 -0
  35. package/dist/0.8/contexts/ActionContext.test.d.ts +6 -0
  36. package/dist/0.8/contexts/ComponentsMapContext.d.ts +63 -0
  37. package/dist/0.8/contexts/DataModelContext.d.ts +43 -0
  38. package/dist/0.8/contexts/DataModelContext.test.d.ts +6 -0
  39. package/dist/0.8/contexts/SurfaceContext.d.ts +45 -0
  40. package/dist/0.8/contexts/SurfaceContext.test.d.ts +6 -0
  41. package/dist/0.8/hooks/useA2UIMessageHandler.d.ts +41 -0
  42. package/dist/0.8/hooks/useA2UIMessageHandler.test.d.ts +6 -0
  43. package/{src/0.8/hooks/useComponent.ts → dist/0.8/hooks/useComponent.d.ts} +2 -18
  44. package/dist/0.8/hooks/useComponent.test.d.ts +6 -0
  45. package/dist/0.8/hooks/useDataBinding.d.ts +50 -0
  46. package/dist/0.8/hooks/useDataBinding.test.d.ts +6 -0
  47. package/{src/0.8/hooks/useDispatchAction.ts → dist/0.8/hooks/useDispatchAction.d.ts} +2 -15
  48. package/dist/0.8/hooks/useDispatchAction.test.d.ts +6 -0
  49. package/{src/0.8/hooks/useSurface.ts → dist/0.8/hooks/useSurface.d.ts} +2 -15
  50. package/dist/0.8/hooks/useSurface.test.d.ts +6 -0
  51. package/{src/0.8/index.ts → dist/0.8/index.d.ts} +7 -21
  52. package/{src/0.8/types/index.ts → dist/0.8/types/index.d.ts} +128 -213
  53. package/dist/0.8/utils/dataBinding.d.ts +95 -0
  54. package/dist/0.8/utils/dataBinding.test.d.ts +6 -0
  55. package/dist/0.8/utils/pathUtils.d.ts +63 -0
  56. package/dist/0.8/utils/pathUtils.test.d.ts +6 -0
  57. package/dist/a2ui-react.js +4 -0
  58. package/dist/a2ui-react10.js +54 -0
  59. package/dist/a2ui-react100.js +24 -0
  60. package/dist/a2ui-react101.js +255 -0
  61. package/dist/a2ui-react102.js +163 -0
  62. package/dist/a2ui-react103.js +19 -0
  63. package/dist/a2ui-react104.js +251 -0
  64. package/dist/a2ui-react105.js +61 -0
  65. package/dist/a2ui-react106.js +35 -0
  66. package/dist/a2ui-react107.js +436 -0
  67. package/dist/a2ui-react108.js +16 -0
  68. package/dist/a2ui-react109.js +234 -0
  69. package/dist/a2ui-react11.js +9 -0
  70. package/dist/a2ui-react110.js +6 -0
  71. package/dist/a2ui-react111.js +6 -0
  72. package/dist/a2ui-react112.js +6 -0
  73. package/dist/a2ui-react113.js +239 -0
  74. package/dist/a2ui-react114.js +845 -0
  75. package/dist/a2ui-react115.js +6 -0
  76. package/dist/a2ui-react116.js +10 -0
  77. package/dist/a2ui-react117.js +8 -0
  78. package/dist/a2ui-react118.js +8 -0
  79. package/dist/a2ui-react119.js +20 -0
  80. package/dist/a2ui-react12.js +32 -0
  81. package/dist/a2ui-react120.js +8 -0
  82. package/dist/a2ui-react121.js +8 -0
  83. package/dist/a2ui-react122.js +9 -0
  84. package/dist/a2ui-react123.js +16 -0
  85. package/dist/a2ui-react124.js +18 -0
  86. package/dist/a2ui-react125.js +11 -0
  87. package/dist/a2ui-react126.js +9 -0
  88. package/dist/a2ui-react127.js +13 -0
  89. package/dist/a2ui-react128.js +17 -0
  90. package/dist/a2ui-react129.js +8 -0
  91. package/dist/a2ui-react13.js +36 -0
  92. package/dist/a2ui-react130.js +17 -0
  93. package/dist/a2ui-react131.js +8 -0
  94. package/dist/a2ui-react132.js +10 -0
  95. package/dist/a2ui-react133.js +9 -0
  96. package/dist/a2ui-react134.js +7 -0
  97. package/dist/a2ui-react135.js +9 -0
  98. package/dist/a2ui-react136.js +548 -0
  99. package/dist/a2ui-react137.js +49 -0
  100. package/dist/a2ui-react138.js +20 -0
  101. package/dist/a2ui-react139.js +21 -0
  102. package/dist/a2ui-react14.js +114 -0
  103. package/dist/a2ui-react140.js +11 -0
  104. package/dist/a2ui-react141.js +9 -0
  105. package/dist/a2ui-react142.js +10 -0
  106. package/dist/a2ui-react143.js +8 -0
  107. package/dist/a2ui-react144.js +9 -0
  108. package/dist/a2ui-react145.js +12 -0
  109. package/dist/a2ui-react146.js +8 -0
  110. package/dist/a2ui-react147.js +11 -0
  111. package/dist/a2ui-react148.js +15 -0
  112. package/dist/a2ui-react149.js +8 -0
  113. package/dist/a2ui-react15.js +18 -0
  114. package/dist/a2ui-react150.js +12 -0
  115. package/dist/a2ui-react151.js +10 -0
  116. package/dist/a2ui-react152.js +12 -0
  117. package/dist/a2ui-react153.js +16 -0
  118. package/dist/a2ui-react154.js +8 -0
  119. package/dist/a2ui-react155.js +8 -0
  120. package/dist/a2ui-react156.js +8 -0
  121. package/dist/a2ui-react157.js +7 -0
  122. package/dist/a2ui-react158.js +14 -0
  123. package/dist/a2ui-react159.js +13 -0
  124. package/dist/a2ui-react16.js +19 -0
  125. package/dist/a2ui-react160.js +13 -0
  126. package/dist/a2ui-react161.js +14 -0
  127. package/dist/a2ui-react162.js +14 -0
  128. package/dist/a2ui-react163.js +35 -0
  129. package/dist/a2ui-react164.js +67 -0
  130. package/dist/a2ui-react165.js +11 -0
  131. package/dist/a2ui-react166.js +11 -0
  132. package/dist/a2ui-react167.js +10 -0
  133. package/dist/a2ui-react168.js +13 -0
  134. package/dist/a2ui-react169.js +10 -0
  135. package/dist/a2ui-react17.js +18 -0
  136. package/dist/a2ui-react170.js +10 -0
  137. package/dist/a2ui-react171.js +9 -0
  138. package/dist/a2ui-react172.js +17 -0
  139. package/dist/a2ui-react173.js +21 -0
  140. package/dist/a2ui-react174.js +18 -0
  141. package/dist/a2ui-react175.js +35 -0
  142. package/dist/a2ui-react176.js +14 -0
  143. package/dist/a2ui-react177.js +7 -0
  144. package/dist/a2ui-react178.js +58 -0
  145. package/dist/a2ui-react179.js +25 -0
  146. package/dist/a2ui-react18.js +58 -0
  147. package/dist/a2ui-react180.js +43 -0
  148. package/dist/a2ui-react181.js +63 -0
  149. package/dist/a2ui-react182.js +34 -0
  150. package/dist/a2ui-react183.js +15 -0
  151. package/dist/a2ui-react184.js +67 -0
  152. package/dist/a2ui-react185.js +67 -0
  153. package/dist/a2ui-react186.js +69 -0
  154. package/dist/a2ui-react187.js +69 -0
  155. package/dist/a2ui-react188.js +42 -0
  156. package/dist/a2ui-react189.js +43 -0
  157. package/dist/a2ui-react19.js +58 -0
  158. package/dist/a2ui-react190.js +55 -0
  159. package/dist/a2ui-react191.js +45 -0
  160. package/dist/a2ui-react192.js +41 -0
  161. package/dist/a2ui-react193.js +72 -0
  162. package/dist/a2ui-react194.js +72 -0
  163. package/dist/a2ui-react195.js +97 -0
  164. package/dist/a2ui-react196.js +42 -0
  165. package/dist/a2ui-react197.js +42 -0
  166. package/dist/a2ui-react198.js +42 -0
  167. package/dist/a2ui-react199.js +27 -0
  168. package/dist/a2ui-react2.js +11 -0
  169. package/dist/a2ui-react20.js +51 -0
  170. package/dist/a2ui-react200.js +26 -0
  171. package/dist/a2ui-react201.js +26 -0
  172. package/dist/a2ui-react202.js +27 -0
  173. package/dist/a2ui-react203.js +26 -0
  174. package/dist/a2ui-react204.js +26 -0
  175. package/dist/a2ui-react205.js +16 -0
  176. package/dist/a2ui-react206.js +41 -0
  177. package/dist/a2ui-react207.js +41 -0
  178. package/dist/a2ui-react208.js +16 -0
  179. package/dist/a2ui-react209.js +16 -0
  180. package/dist/a2ui-react21.js +14 -0
  181. package/dist/a2ui-react210.js +32 -0
  182. package/dist/a2ui-react211.js +32 -0
  183. package/dist/a2ui-react212.js +6 -0
  184. package/dist/a2ui-react213.js +9 -0
  185. package/dist/a2ui-react214.js +50 -0
  186. package/dist/a2ui-react215.js +29 -0
  187. package/dist/a2ui-react216.js +68 -0
  188. package/dist/a2ui-react217.js +10 -0
  189. package/dist/a2ui-react218.js +127 -0
  190. package/dist/a2ui-react219.js +17 -0
  191. package/dist/a2ui-react22.js +29 -0
  192. package/dist/a2ui-react220.js +136 -0
  193. package/dist/a2ui-react221.js +13 -0
  194. package/dist/a2ui-react222.js +219 -0
  195. package/dist/a2ui-react223.js +15 -0
  196. package/dist/a2ui-react224.js +36 -0
  197. package/dist/a2ui-react225.js +49 -0
  198. package/dist/a2ui-react226.js +10 -0
  199. package/dist/a2ui-react227.js +52 -0
  200. package/dist/a2ui-react228.js +6 -0
  201. package/dist/a2ui-react229.js +8 -0
  202. package/dist/a2ui-react23.js +25 -0
  203. package/dist/a2ui-react230.js +30 -0
  204. package/dist/a2ui-react231.js +52 -0
  205. package/dist/a2ui-react232.js +11 -0
  206. package/dist/a2ui-react233.js +70 -0
  207. package/dist/a2ui-react234.js +49 -0
  208. package/dist/a2ui-react235.js +27 -0
  209. package/dist/a2ui-react236.js +49 -0
  210. package/dist/a2ui-react237.js +183 -0
  211. package/dist/a2ui-react238.js +70 -0
  212. package/dist/a2ui-react239.js +33 -0
  213. package/dist/a2ui-react24.js +29 -0
  214. package/dist/a2ui-react240.js +11 -0
  215. package/dist/a2ui-react241.js +155 -0
  216. package/dist/a2ui-react242.js +110 -0
  217. package/dist/a2ui-react243.js +22 -0
  218. package/dist/a2ui-react244.js +100 -0
  219. package/dist/a2ui-react245.js +49 -0
  220. package/dist/a2ui-react246.js +14 -0
  221. package/dist/a2ui-react247.js +208 -0
  222. package/dist/a2ui-react248.js +24 -0
  223. package/dist/a2ui-react249.js +402 -0
  224. package/dist/a2ui-react25.js +27 -0
  225. package/dist/a2ui-react250.js +49 -0
  226. package/dist/a2ui-react251.js +49 -0
  227. package/dist/a2ui-react252.js +54 -0
  228. package/dist/a2ui-react253.js +7 -0
  229. package/dist/a2ui-react254.js +7 -0
  230. package/dist/a2ui-react255.js +18 -0
  231. package/dist/a2ui-react256.js +8 -0
  232. package/dist/a2ui-react257.js +10 -0
  233. package/dist/a2ui-react258.js +19 -0
  234. package/dist/a2ui-react259.js +7 -0
  235. package/dist/a2ui-react26.js +44 -0
  236. package/dist/a2ui-react260.js +7 -0
  237. package/dist/a2ui-react261.js +8 -0
  238. package/dist/a2ui-react262.js +8 -0
  239. package/dist/a2ui-react263.js +7 -0
  240. package/dist/a2ui-react264.js +7 -0
  241. package/dist/a2ui-react265.js +9 -0
  242. package/dist/a2ui-react266.js +27 -0
  243. package/dist/a2ui-react267.js +9 -0
  244. package/dist/a2ui-react268.js +7 -0
  245. package/dist/a2ui-react269.js +9 -0
  246. package/dist/a2ui-react27.js +100 -0
  247. package/dist/a2ui-react270.js +8 -0
  248. package/dist/a2ui-react271.js +7 -0
  249. package/dist/a2ui-react272.js +8 -0
  250. package/dist/a2ui-react273.js +7 -0
  251. package/dist/a2ui-react274.js +11 -0
  252. package/dist/a2ui-react275.js +8 -0
  253. package/dist/a2ui-react276.js +7 -0
  254. package/dist/a2ui-react277.js +7 -0
  255. package/dist/a2ui-react278.js +9 -0
  256. package/dist/a2ui-react279.js +148 -0
  257. package/dist/a2ui-react28.js +82 -0
  258. package/dist/a2ui-react280.js +42 -0
  259. package/dist/a2ui-react281.js +7 -0
  260. package/dist/a2ui-react282.js +10 -0
  261. package/dist/a2ui-react283.js +16 -0
  262. package/dist/a2ui-react284.js +10 -0
  263. package/dist/a2ui-react285.js +34 -0
  264. package/dist/a2ui-react286.js +13 -0
  265. package/dist/a2ui-react287.js +13 -0
  266. package/dist/a2ui-react288.js +11 -0
  267. package/dist/a2ui-react289.js +16 -0
  268. package/dist/a2ui-react29.js +43 -0
  269. package/dist/a2ui-react290.js +104 -0
  270. package/dist/a2ui-react291.js +22 -0
  271. package/dist/a2ui-react292.js +56 -0
  272. package/dist/a2ui-react293.js +75 -0
  273. package/dist/a2ui-react294.js +12 -0
  274. package/dist/a2ui-react295.js +23 -0
  275. package/dist/a2ui-react296.js +19 -0
  276. package/dist/a2ui-react297.js +26 -0
  277. package/dist/a2ui-react298.js +9 -0
  278. package/dist/a2ui-react299.js +8 -0
  279. package/dist/a2ui-react3.js +40 -0
  280. package/dist/a2ui-react30.js +41 -0
  281. package/dist/a2ui-react300.js +26 -0
  282. package/dist/a2ui-react301.js +37 -0
  283. package/dist/a2ui-react302.js +18 -0
  284. package/dist/a2ui-react303.js +9 -0
  285. package/dist/a2ui-react304.js +7 -0
  286. package/dist/a2ui-react305.js +7 -0
  287. package/dist/a2ui-react306.js +7 -0
  288. package/dist/a2ui-react307.js +7 -0
  289. package/dist/a2ui-react308.js +6 -0
  290. package/dist/a2ui-react309.js +9 -0
  291. package/dist/a2ui-react31.js +86 -0
  292. package/dist/a2ui-react310.js +26 -0
  293. package/dist/a2ui-react311.js +10 -0
  294. package/dist/a2ui-react312.js +9 -0
  295. package/dist/a2ui-react313.js +8 -0
  296. package/dist/a2ui-react314.js +6 -0
  297. package/dist/a2ui-react315.js +6 -0
  298. package/dist/a2ui-react316.js +7 -0
  299. package/dist/a2ui-react317.js +6 -0
  300. package/dist/a2ui-react318.js +7 -0
  301. package/dist/a2ui-react319.js +6 -0
  302. package/dist/a2ui-react32.js +46 -0
  303. package/dist/a2ui-react320.js +6 -0
  304. package/dist/a2ui-react321.js +6 -0
  305. package/dist/a2ui-react322.js +9 -0
  306. package/dist/a2ui-react323.js +18 -0
  307. package/dist/a2ui-react324.js +31 -0
  308. package/dist/a2ui-react325.js +15 -0
  309. package/dist/a2ui-react326.js +27 -0
  310. package/dist/a2ui-react327.js +31 -0
  311. package/dist/a2ui-react328.js +7 -0
  312. package/dist/a2ui-react329.js +19 -0
  313. package/dist/a2ui-react33.js +44 -0
  314. package/dist/a2ui-react330.js +8 -0
  315. package/dist/a2ui-react331.js +8 -0
  316. package/dist/a2ui-react332.js +61 -0
  317. package/dist/a2ui-react333.js +69 -0
  318. package/dist/a2ui-react334.js +9 -0
  319. package/dist/a2ui-react335.js +7 -0
  320. package/dist/a2ui-react336.js +26 -0
  321. package/dist/a2ui-react337.js +19 -0
  322. package/dist/a2ui-react338.js +10 -0
  323. package/dist/a2ui-react339.js +13 -0
  324. package/dist/a2ui-react34.js +8 -0
  325. package/dist/a2ui-react340.js +13 -0
  326. package/dist/a2ui-react341.js +24 -0
  327. package/dist/a2ui-react342.js +13 -0
  328. package/dist/a2ui-react343.js +12 -0
  329. package/dist/a2ui-react344.js +12 -0
  330. package/dist/a2ui-react345.js +7 -0
  331. package/dist/a2ui-react346.js +8 -0
  332. package/dist/a2ui-react347.js +19 -0
  333. package/dist/a2ui-react348.js +12 -0
  334. package/dist/a2ui-react349.js +21 -0
  335. package/dist/a2ui-react35.js +16 -0
  336. package/dist/a2ui-react350.js +18 -0
  337. package/dist/a2ui-react351.js +15 -0
  338. package/dist/a2ui-react352.js +32 -0
  339. package/dist/a2ui-react353.js +15 -0
  340. package/dist/a2ui-react354.js +28 -0
  341. package/dist/a2ui-react355.js +8 -0
  342. package/dist/a2ui-react356.js +11 -0
  343. package/dist/a2ui-react357.js +22 -0
  344. package/dist/a2ui-react358.js +7 -0
  345. package/dist/a2ui-react359.js +5 -0
  346. package/dist/a2ui-react36.js +23 -0
  347. package/dist/a2ui-react360.js +26 -0
  348. package/dist/a2ui-react361.js +115 -0
  349. package/dist/a2ui-react362.js +18 -0
  350. package/dist/a2ui-react363.js +527 -0
  351. package/dist/a2ui-react364.js +130 -0
  352. package/dist/a2ui-react365.js +136 -0
  353. package/dist/a2ui-react366.js +7 -0
  354. package/dist/a2ui-react367.js +15 -0
  355. package/dist/a2ui-react368.js +67 -0
  356. package/dist/a2ui-react369.js +71 -0
  357. package/dist/a2ui-react37.js +15 -0
  358. package/dist/a2ui-react370.js +11 -0
  359. package/dist/a2ui-react371.js +16 -0
  360. package/dist/a2ui-react372.js +68 -0
  361. package/dist/a2ui-react373.js +6 -0
  362. package/dist/a2ui-react374.js +25 -0
  363. package/dist/a2ui-react375.js +15 -0
  364. package/dist/a2ui-react376.js +30 -0
  365. package/dist/a2ui-react377.js +7 -0
  366. package/dist/a2ui-react378.js +25 -0
  367. package/dist/a2ui-react38.js +10 -0
  368. package/dist/a2ui-react39.js +10 -0
  369. package/dist/a2ui-react4.js +76 -0
  370. package/dist/a2ui-react40.js +14 -0
  371. package/dist/a2ui-react41.js +14 -0
  372. package/dist/a2ui-react42.js +16 -0
  373. package/dist/a2ui-react43.js +12 -0
  374. package/dist/a2ui-react44.js +15 -0
  375. package/dist/a2ui-react45.js +15 -0
  376. package/dist/a2ui-react46.js +9 -0
  377. package/dist/a2ui-react47.js +11 -0
  378. package/dist/a2ui-react48.js +16 -0
  379. package/dist/a2ui-react49.js +10 -0
  380. package/dist/a2ui-react5.js +8 -0
  381. package/dist/a2ui-react50.js +14 -0
  382. package/dist/a2ui-react51.js +9 -0
  383. package/dist/a2ui-react52.js +9 -0
  384. package/dist/a2ui-react53.js +15 -0
  385. package/dist/a2ui-react54.js +17 -0
  386. package/dist/a2ui-react55.js +10 -0
  387. package/dist/a2ui-react56.js +10 -0
  388. package/dist/a2ui-react57.js +10 -0
  389. package/dist/a2ui-react58.js +9 -0
  390. package/dist/a2ui-react59.js +9 -0
  391. package/dist/a2ui-react6.js +28 -0
  392. package/dist/a2ui-react60.js +9 -0
  393. package/dist/a2ui-react61.js +15 -0
  394. package/dist/a2ui-react62.js +10 -0
  395. package/dist/a2ui-react63.js +15 -0
  396. package/dist/a2ui-react64.js +10 -0
  397. package/dist/a2ui-react65.js +14 -0
  398. package/dist/a2ui-react66.js +22 -0
  399. package/dist/a2ui-react67.js +14 -0
  400. package/dist/a2ui-react68.js +10 -0
  401. package/dist/a2ui-react69.js +17 -0
  402. package/dist/a2ui-react7.js +10 -0
  403. package/dist/a2ui-react70.js +15 -0
  404. package/dist/a2ui-react71.js +10 -0
  405. package/dist/a2ui-react72.js +12 -0
  406. package/dist/a2ui-react73.js +9 -0
  407. package/dist/a2ui-react74.js +6 -0
  408. package/dist/a2ui-react75.js +15 -0
  409. package/dist/a2ui-react76.js +11 -0
  410. package/dist/a2ui-react77.js +14 -0
  411. package/dist/a2ui-react78.js +9 -0
  412. package/dist/a2ui-react79.js +9 -0
  413. package/dist/a2ui-react8.js +21 -0
  414. package/dist/a2ui-react80.js +9 -0
  415. package/dist/a2ui-react81.js +10 -0
  416. package/dist/a2ui-react82.js +26 -0
  417. package/dist/a2ui-react83.js +29 -0
  418. package/dist/a2ui-react84.js +67 -0
  419. package/dist/a2ui-react85.js +77 -0
  420. package/dist/a2ui-react86.js +53 -0
  421. package/dist/a2ui-react87.js +31 -0
  422. package/dist/a2ui-react88.js +22 -0
  423. package/dist/a2ui-react89.js +21 -0
  424. package/dist/a2ui-react9.js +88 -0
  425. package/{src/components/ui/textarea.tsx → dist/a2ui-react90.js} +17 -17
  426. package/dist/a2ui-react91.js +176 -0
  427. package/dist/a2ui-react92.js +38 -0
  428. package/dist/a2ui-react93.js +88 -0
  429. package/dist/a2ui-react94.js +9 -0
  430. package/dist/a2ui-react95.js +58 -0
  431. package/dist/a2ui-react96.js +146 -0
  432. package/dist/a2ui-react97.js +63 -0
  433. package/dist/a2ui-react98.js +17 -0
  434. package/dist/a2ui-react99.js +2765 -0
  435. package/dist/components/ui/button.d.ts +10 -0
  436. package/dist/components/ui/calendar.d.ts +8 -0
  437. package/dist/components/ui/card.d.ts +9 -0
  438. package/dist/components/ui/checkbox.d.ts +4 -0
  439. package/dist/components/ui/dialog.d.ts +15 -0
  440. package/dist/components/ui/input.d.ts +3 -0
  441. package/dist/components/ui/label.d.ts +4 -0
  442. package/dist/components/ui/native-select.d.ts +7 -0
  443. package/dist/components/ui/popover.d.ts +7 -0
  444. package/dist/components/ui/select.d.ts +15 -0
  445. package/dist/components/ui/separator.d.ts +4 -0
  446. package/dist/components/ui/slider.d.ts +4 -0
  447. package/dist/components/ui/tabs.d.ts +7 -0
  448. package/dist/components/ui/textarea.d.ts +3 -0
  449. package/dist/index.d.ts +1 -0
  450. package/dist/lib/utils.d.ts +2 -0
  451. package/package.json +10 -2
  452. package/.claude/commands/speckit.analyze.md +0 -184
  453. package/.claude/commands/speckit.checklist.md +0 -294
  454. package/.claude/commands/speckit.clarify.md +0 -181
  455. package/.claude/commands/speckit.constitution.md +0 -82
  456. package/.claude/commands/speckit.implement.md +0 -135
  457. package/.claude/commands/speckit.plan.md +0 -89
  458. package/.claude/commands/speckit.specify.md +0 -256
  459. package/.claude/commands/speckit.tasks.md +0 -137
  460. package/.claude/commands/speckit.taskstoissues.md +0 -30
  461. package/.github/workflows/deploy.yml +0 -69
  462. package/.husky/pre-commit +0 -1
  463. package/.prettierignore +0 -4
  464. package/.prettierrc +0 -7
  465. package/.specify/memory/constitution.md +0 -73
  466. package/.specify/scripts/bash/check-prerequisites.sh +0 -166
  467. package/.specify/scripts/bash/common.sh +0 -156
  468. package/.specify/scripts/bash/create-new-feature.sh +0 -297
  469. package/.specify/scripts/bash/setup-plan.sh +0 -61
  470. package/.specify/scripts/bash/update-agent-context.sh +0 -799
  471. package/.specify/templates/agent-file-template.md +0 -28
  472. package/.specify/templates/checklist-template.md +0 -40
  473. package/.specify/templates/plan-template.md +0 -105
  474. package/.specify/templates/spec-template.md +0 -115
  475. package/.specify/templates/tasks-template.md +0 -250
  476. package/CLAUDE.md +0 -105
  477. package/CONTRIBUTING.md +0 -97
  478. package/components.json +0 -21
  479. package/eslint.config.js +0 -25
  480. package/netlify.toml +0 -50
  481. package/playground/README.md +0 -75
  482. package/playground/index.html +0 -22
  483. package/playground/package.json +0 -32
  484. package/playground/public/favicon.svg +0 -8
  485. package/playground/src/App.css +0 -256
  486. package/playground/src/App.tsx +0 -115
  487. package/playground/src/assets/react.svg +0 -1
  488. package/playground/src/components/ErrorDisplay.tsx +0 -13
  489. package/playground/src/components/ExampleSelector.tsx +0 -64
  490. package/playground/src/components/Header.tsx +0 -47
  491. package/playground/src/components/JsonEditor.tsx +0 -32
  492. package/playground/src/components/Preview.tsx +0 -78
  493. package/playground/src/components/ThemeToggle.tsx +0 -19
  494. package/playground/src/data/examples.ts +0 -1571
  495. package/playground/src/hooks/useTheme.ts +0 -55
  496. package/playground/src/index.css +0 -220
  497. package/playground/src/main.tsx +0 -10
  498. package/playground/tsconfig.app.json +0 -34
  499. package/playground/tsconfig.json +0 -13
  500. package/playground/tsconfig.node.json +0 -26
  501. package/playground/vite.config.ts +0 -31
  502. package/specs/001-a2ui-renderer/checklists/requirements.md +0 -41
  503. package/specs/001-a2ui-renderer/data-model.md +0 -140
  504. package/specs/001-a2ui-renderer/plan.md +0 -123
  505. package/specs/001-a2ui-renderer/quickstart.md +0 -141
  506. package/specs/001-a2ui-renderer/research.md +0 -140
  507. package/specs/001-a2ui-renderer/spec.md +0 -165
  508. package/specs/001-a2ui-renderer/tasks.md +0 -310
  509. package/specs/002-playground/checklists/requirements.md +0 -37
  510. package/specs/002-playground/contracts/components.md +0 -120
  511. package/specs/002-playground/data-model.md +0 -149
  512. package/specs/002-playground/plan.md +0 -73
  513. package/specs/002-playground/quickstart.md +0 -158
  514. package/specs/002-playground/research.md +0 -117
  515. package/specs/002-playground/spec.md +0 -109
  516. package/specs/002-playground/tasks.md +0 -224
  517. package/src/0.8/A2UIRender.test.tsx +0 -793
  518. package/src/0.8/A2UIRender.tsx +0 -142
  519. package/src/0.8/components/ComponentRenderer.test.tsx +0 -373
  520. package/src/0.8/components/ComponentRenderer.tsx +0 -163
  521. package/src/0.8/components/UnknownComponent.tsx +0 -49
  522. package/src/0.8/components/display/AudioPlayerComponent.tsx +0 -37
  523. package/src/0.8/components/display/DividerComponent.tsx +0 -23
  524. package/src/0.8/components/display/IconComponent.tsx +0 -137
  525. package/src/0.8/components/display/ImageComponent.tsx +0 -57
  526. package/src/0.8/components/display/TextComponent.tsx +0 -56
  527. package/src/0.8/components/display/VideoComponent.tsx +0 -31
  528. package/src/0.8/components/display/display.test.tsx +0 -660
  529. package/src/0.8/components/display/index.ts +0 -10
  530. package/src/0.8/components/index.ts +0 -14
  531. package/src/0.8/components/interactive/ButtonComponent.tsx +0 -44
  532. package/src/0.8/components/interactive/CheckBoxComponent.tsx +0 -45
  533. package/src/0.8/components/interactive/DateTimeInputComponent.tsx +0 -176
  534. package/src/0.8/components/interactive/MultipleChoiceComponent.tsx +0 -157
  535. package/src/0.8/components/interactive/SliderComponent.tsx +0 -53
  536. package/src/0.8/components/interactive/TextFieldComponent.tsx +0 -65
  537. package/src/0.8/components/interactive/index.ts +0 -10
  538. package/src/0.8/components/interactive/interactive.test.tsx +0 -618
  539. package/src/0.8/components/layout/CardComponent.tsx +0 -30
  540. package/src/0.8/components/layout/ColumnComponent.tsx +0 -93
  541. package/src/0.8/components/layout/ListComponent.tsx +0 -81
  542. package/src/0.8/components/layout/ModalComponent.tsx +0 -41
  543. package/src/0.8/components/layout/RowComponent.tsx +0 -94
  544. package/src/0.8/components/layout/TabsComponent.tsx +0 -59
  545. package/src/0.8/components/layout/index.ts +0 -10
  546. package/src/0.8/components/layout/layout.test.tsx +0 -558
  547. package/src/0.8/contexts/A2UIProvider.test.tsx +0 -226
  548. package/src/0.8/contexts/A2UIProvider.tsx +0 -54
  549. package/src/0.8/contexts/ActionContext.test.tsx +0 -242
  550. package/src/0.8/contexts/ActionContext.tsx +0 -105
  551. package/src/0.8/contexts/ComponentsMapContext.tsx +0 -125
  552. package/src/0.8/contexts/DataModelContext.test.tsx +0 -335
  553. package/src/0.8/contexts/DataModelContext.tsx +0 -184
  554. package/src/0.8/contexts/SurfaceContext.test.tsx +0 -339
  555. package/src/0.8/contexts/SurfaceContext.tsx +0 -197
  556. package/src/0.8/hooks/useA2UIMessageHandler.test.tsx +0 -399
  557. package/src/0.8/hooks/useA2UIMessageHandler.ts +0 -123
  558. package/src/0.8/hooks/useComponent.test.tsx +0 -148
  559. package/src/0.8/hooks/useDataBinding.test.tsx +0 -334
  560. package/src/0.8/hooks/useDataBinding.ts +0 -99
  561. package/src/0.8/hooks/useDispatchAction.test.tsx +0 -83
  562. package/src/0.8/hooks/useSurface.test.tsx +0 -114
  563. package/src/0.8/schemas/client_to_server.json +0 -50
  564. package/src/0.8/schemas/server_to_client.json +0 -148
  565. package/src/0.8/schemas/standard_catalog_definition.json +0 -661
  566. package/src/0.8/utils/dataBinding.test.ts +0 -443
  567. package/src/0.8/utils/dataBinding.ts +0 -212
  568. package/src/0.8/utils/pathUtils.test.ts +0 -353
  569. package/src/0.8/utils/pathUtils.ts +0 -200
  570. package/src/components/ui/button.tsx +0 -62
  571. package/src/components/ui/calendar.tsx +0 -220
  572. package/src/components/ui/card.tsx +0 -92
  573. package/src/components/ui/checkbox.tsx +0 -30
  574. package/src/components/ui/dialog.tsx +0 -141
  575. package/src/components/ui/input.tsx +0 -21
  576. package/src/components/ui/label.tsx +0 -22
  577. package/src/components/ui/native-select.tsx +0 -53
  578. package/src/components/ui/popover.tsx +0 -46
  579. package/src/components/ui/select.tsx +0 -188
  580. package/src/components/ui/separator.tsx +0 -26
  581. package/src/components/ui/slider.tsx +0 -61
  582. package/src/components/ui/tabs.tsx +0 -64
  583. package/src/index.ts +0 -1
  584. package/src/lib/utils.ts +0 -6
  585. package/tsconfig.json +0 -28
  586. package/vite.config.ts +0 -29
  587. package/vitest.config.ts +0 -22
  588. package/vitest.setup.ts +0 -8
  589. package/website/README.md +0 -4
  590. package/website/assets/favicon.svg +0 -8
  591. package/website/content/.gitkeep +0 -0
  592. package/website/content/index.md +0 -122
  593. package/website/global.d.ts +0 -9
  594. package/website/package.json +0 -17
  595. package/website/plain.config.js +0 -28
  596. package/website/serve.json +0 -6
  597. package/website/src/client/color-mode-switch.css +0 -47
  598. package/website/src/client/index.js +0 -61
  599. package/website/src/client/moon.svg +0 -1
  600. package/website/src/client/sun.svg +0 -1
  601. package/website/src/components/Footer.jsx +0 -9
  602. package/website/src/components/Header.jsx +0 -44
  603. package/website/src/components/Page.jsx +0 -28
  604. package/website/src/global.css +0 -423
package/README.md CHANGED
@@ -1,6 +1,4 @@
1
- # A2UI React Renderer Library
2
-
3
- https://easyops-cn.github.io/a2ui-react/
1
+ # A2UI React Renderer
4
2
 
5
3
  A React renderer library for [A2UI](https://a2ui.org) protocol.
6
4
 
@@ -8,6 +6,8 @@ Supports all components in A2UI standard catalog out of the box. Built with [sha
8
6
 
9
7
  Currently A2UI protocol v0.8 is fully supported. Work on v0.9 is in progress.
10
8
 
9
+ [Docs](https://easyops-cn.github.io/a2ui-react/) | [Playground](https://easyops-cn.github.io/a2ui-react/playground/)
10
+
11
11
  ## Installation
12
12
 
13
13
  ```sh
@@ -22,11 +22,11 @@ First, use the `@source` directive to tell Tailwind to scan the library code for
22
22
  @source "../node_modules/@easyops-cn/a2ui-react";
23
23
  ```
24
24
 
25
- Next, use the `A2UIRender` component to render A2UI messages:
25
+ Next, use the `A2UIRenderer` component to render A2UI messages:
26
26
 
27
27
  ```tsx
28
28
  import {
29
- A2UIRender,
29
+ A2UIRenderer,
30
30
  type A2UIMessage,
31
31
  type A2UIAction,
32
32
  } from '@easyops-cn/a2ui-react/0.8'
@@ -38,7 +38,7 @@ function App() {
38
38
  console.log('Action received:', action)
39
39
  }
40
40
 
41
- return <A2UIRender messages={messages} onAction={handleAction} />
41
+ return <A2UIRenderer messages={messages} onAction={handleAction} />
42
42
  }
43
43
  ```
44
44
 
@@ -47,7 +47,11 @@ function App() {
47
47
  You can override default components or add new custom components via the `components` prop, which takes a `Map<string, React.ComponentType>`.
48
48
 
49
49
  ```tsx
50
- import { A2UIRender, A2UIMessage, A2UIAction } from '@easyops-cn/a2ui-react/0.8'
50
+ import {
51
+ A2UIRenderer,
52
+ A2UIMessage,
53
+ A2UIAction,
54
+ } from '@easyops-cn/a2ui-react/0.8'
51
55
 
52
56
  const ComponentsMap = new Map<string, React.ComponentType<any>>([
53
57
  // Override default Button component with a custom one
@@ -59,7 +63,7 @@ const ComponentsMap = new Map<string, React.ComponentType<any>>([
59
63
 
60
64
  function App() {
61
65
  return (
62
- <A2UIRender
66
+ <A2UIRenderer
63
67
  components={ComponentsMap}
64
68
  messages={messages}
65
69
  onAction={handleAction}
@@ -0,0 +1,49 @@
1
+ import { ComponentType } from 'react';
2
+ import { A2UIMessage, ActionPayload, BaseComponentProps } from './types';
3
+ /**
4
+ * Type for custom component map.
5
+ */
6
+ export type ComponentsMap = Map<string, ComponentType<BaseComponentProps & Record<string, unknown>>>;
7
+ /**
8
+ * Props for A2UIRenderer component.
9
+ */
10
+ export interface A2UIRenderProps {
11
+ /** Array of A2UI messages to render */
12
+ messages: A2UIMessage[];
13
+ /** Callback when an action is dispatched */
14
+ onAction?: (action: ActionPayload) => void;
15
+ /** Custom component overrides */
16
+ components?: ComponentsMap;
17
+ }
18
+ /**
19
+ * Main entry component for rendering A2UI messages.
20
+ *
21
+ * Processes an array of A2UIMessage objects and renders the resulting UI.
22
+ * Supports custom component overrides via the components prop.
23
+ *
24
+ * @param props - Component props
25
+ * @param props.messages - Array of A2UI messages to render
26
+ * @param props.onAction - Optional callback when an action is dispatched
27
+ * @param props.components - Optional custom component overrides
28
+ *
29
+ * @example
30
+ * ```tsx
31
+ * // Basic usage
32
+ * <A2UIRenderer messages={messages} onAction={handleAction} />
33
+ *
34
+ * // With custom components
35
+ * const customComponents = new Map([
36
+ * ['Button', CustomButton],
37
+ * ['Switch', CustomSwitch],
38
+ * ])
39
+ * <A2UIRenderer
40
+ * messages={messages}
41
+ * onAction={handleAction}
42
+ * components={customComponents}
43
+ * />
44
+ * ```
45
+ */
46
+ export declare function A2UIRenderer({ messages, onAction, components, }: A2UIRenderProps): import("react/jsx-runtime").JSX.Element;
47
+ export declare namespace A2UIRenderer {
48
+ var displayName: string;
49
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * A2UIRenderer Tests
3
+ *
4
+ * Tests for the main A2UIRenderer component.
5
+ */
6
+ export {};
@@ -0,0 +1,39 @@
1
+ import { ComponentType } from 'react';
2
+ import { BaseComponentProps } from '../types';
3
+ /**
4
+ * Component registry mapping component type names to React components.
5
+ */
6
+ export declare const componentRegistry: Record<string, ComponentType<BaseComponentProps & Record<string, unknown>>>;
7
+ /**
8
+ * Props for ComponentRenderer.
9
+ */
10
+ export interface ComponentRendererProps {
11
+ surfaceId: string;
12
+ componentId: string;
13
+ }
14
+ /**
15
+ * Renders a component based on its type from the component registry.
16
+ * Supports custom component overrides via ComponentsMapContext.
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * // Render a component by ID
21
+ * <ComponentRenderer surfaceId="surface-1" componentId="text-1" />
22
+ * ```
23
+ */
24
+ export declare const ComponentRenderer: import('react').NamedExoticComponent<ComponentRendererProps>;
25
+ /**
26
+ * Registers a custom component type.
27
+ *
28
+ * @param type - The component type name
29
+ * @param component - The React component to register
30
+ *
31
+ * @example
32
+ * ```tsx
33
+ * registerComponent('CustomChart', ({ surfaceId, data }) => {
34
+ * const chartData = useDataBinding(surfaceId, data, []);
35
+ * return <Chart data={chartData} />;
36
+ * });
37
+ * ```
38
+ */
39
+ export declare function registerComponent(type: string, component: ComponentType<BaseComponentProps & Record<string, unknown>>): void;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * ComponentRenderer Tests
3
+ *
4
+ * Tests for the ComponentRenderer component that routes rendering based on type.
5
+ */
6
+ export {};
@@ -0,0 +1,18 @@
1
+ import { BaseComponentProps } from '../types';
2
+ /**
3
+ * Props for UnknownComponent.
4
+ */
5
+ export interface UnknownComponentProps extends BaseComponentProps {
6
+ /** The unknown component type name */
7
+ componentType: string;
8
+ }
9
+ /**
10
+ * Placeholder component for unknown types in development mode.
11
+ *
12
+ * Displays a warning box with the unknown component type name
13
+ * to help developers identify configuration issues.
14
+ */
15
+ export declare function UnknownComponent({ componentId, componentType, }: UnknownComponentProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare namespace UnknownComponent {
17
+ var displayName: string;
18
+ }
@@ -0,0 +1,5 @@
1
+ import { AudioPlayerComponentProps } from '../../types';
2
+ /**
3
+ * AudioPlayer component for playing audio content.
4
+ */
5
+ export declare const AudioPlayerComponent: import('react').NamedExoticComponent<AudioPlayerComponentProps>;
@@ -0,0 +1,5 @@
1
+ import { DividerComponentProps } from '../../types';
2
+ /**
3
+ * Divider component for visual separation.
4
+ */
5
+ export declare const DividerComponent: import('react').NamedExoticComponent<DividerComponentProps>;
@@ -0,0 +1,5 @@
1
+ import { IconComponentProps } from '../../types';
2
+ /**
3
+ * Icon component for displaying icons from the A2UI icon set.
4
+ */
5
+ export declare const IconComponent: import('react').NamedExoticComponent<IconComponentProps>;
@@ -0,0 +1,6 @@
1
+ import { ImageComponentProps } from '../../types';
2
+ /**
3
+ * Image component for displaying images.
4
+ * Supports different sizes via usageHint and object-fit via fit property.
5
+ */
6
+ export declare const ImageComponent: import('react').NamedExoticComponent<ImageComponentProps>;
@@ -0,0 +1,6 @@
1
+ import { TextComponentProps } from '../../types';
2
+ /**
3
+ * Text component for displaying text content.
4
+ * Supports basic Markdown formatting and different text styles via usageHint.
5
+ */
6
+ export declare const TextComponent: import('react').NamedExoticComponent<TextComponentProps>;
@@ -0,0 +1,5 @@
1
+ import { VideoComponentProps } from '../../types';
2
+ /**
3
+ * Video component for displaying video content.
4
+ */
5
+ export declare const VideoComponent: import('react').NamedExoticComponent<VideoComponentProps>;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Display Components Tests
3
+ *
4
+ * Tests for TextComponent, ImageComponent, IconComponent, VideoComponent,
5
+ * AudioPlayerComponent, and DividerComponent.
6
+ */
7
+ export {};
@@ -0,0 +1,9 @@
1
+ /**
2
+ * A2UI React Renderer - Display Components
3
+ */
4
+ export { TextComponent } from './TextComponent';
5
+ export { ImageComponent } from './ImageComponent';
6
+ export { IconComponent } from './IconComponent';
7
+ export { VideoComponent } from './VideoComponent';
8
+ export { AudioPlayerComponent } from './AudioPlayerComponent';
9
+ export { DividerComponent } from './DividerComponent';
@@ -0,0 +1,7 @@
1
+ /**
2
+ * A2UI React Renderer - Components Exports
3
+ */
4
+ export { ComponentRenderer, registerComponent } from './ComponentRenderer';
5
+ export * from './display';
6
+ export * from './layout';
7
+ export * from './interactive';
@@ -0,0 +1,5 @@
1
+ import { ButtonComponentProps } from '../../types';
2
+ /**
3
+ * Button component - triggers actions on click.
4
+ */
5
+ export declare const ButtonComponent: import('react').NamedExoticComponent<ButtonComponentProps>;
@@ -0,0 +1,5 @@
1
+ import { CheckBoxComponentProps } from '../../types';
2
+ /**
3
+ * CheckBox component - checkbox input with label.
4
+ */
5
+ export declare const CheckBoxComponent: import('react').NamedExoticComponent<CheckBoxComponentProps>;
@@ -0,0 +1,5 @@
1
+ import { DateTimeInputComponentProps } from '../../types';
2
+ /**
3
+ * DateTimeInput component - date/time picker using Calendar and Popover.
4
+ */
5
+ export declare const DateTimeInputComponent: import('react').NamedExoticComponent<DateTimeInputComponentProps>;
@@ -0,0 +1,7 @@
1
+ import { MultipleChoiceComponentProps } from '../../types';
2
+ /**
3
+ * MultipleChoice component - dropdown/select input.
4
+ * When maxAllowedSelections === 1, renders as a dropdown.
5
+ * When maxAllowedSelections > 1 or undefined, renders as checkboxes for multi-select.
6
+ */
7
+ export declare const MultipleChoiceComponent: import('react').NamedExoticComponent<MultipleChoiceComponentProps>;
@@ -0,0 +1,5 @@
1
+ import { SliderComponentProps } from '../../types';
2
+ /**
3
+ * Slider component - range slider input.
4
+ */
5
+ export declare const SliderComponent: import('react').NamedExoticComponent<SliderComponentProps>;
@@ -0,0 +1,5 @@
1
+ import { TextFieldComponentProps } from '../../types';
2
+ /**
3
+ * TextField component - text input with label.
4
+ */
5
+ export declare const TextFieldComponent: import('react').NamedExoticComponent<TextFieldComponentProps>;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * A2UI React Renderer - Interactive Components
3
+ */
4
+ export { ButtonComponent } from './ButtonComponent';
5
+ export { CheckBoxComponent } from './CheckBoxComponent';
6
+ export { TextFieldComponent } from './TextFieldComponent';
7
+ export { DateTimeInputComponent } from './DateTimeInputComponent';
8
+ export { MultipleChoiceComponent } from './MultipleChoiceComponent';
9
+ export { SliderComponent } from './SliderComponent';
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Interactive Components Tests
3
+ *
4
+ * Tests for ButtonComponent, CheckBoxComponent, TextFieldComponent,
5
+ * DateTimeInputComponent, MultipleChoiceComponent, and SliderComponent.
6
+ */
7
+ export {};
@@ -0,0 +1,5 @@
1
+ import { CardComponentProps } from '../../types';
2
+ /**
3
+ * Card component - container with card styling.
4
+ */
5
+ export declare const CardComponent: import('react').NamedExoticComponent<CardComponentProps>;
@@ -0,0 +1,5 @@
1
+ import { ColumnComponentProps } from '../../types';
2
+ /**
3
+ * Column component - vertical flex container.
4
+ */
5
+ export declare const ColumnComponent: import('react').NamedExoticComponent<ColumnComponentProps>;
@@ -0,0 +1,5 @@
1
+ import { ListComponentProps } from '../../types';
2
+ /**
3
+ * List component - container for list items.
4
+ */
5
+ export declare const ListComponent: import('react').NamedExoticComponent<ListComponentProps>;
@@ -0,0 +1,5 @@
1
+ import { ModalComponentProps } from '../../types';
2
+ /**
3
+ * Modal component - dialog container with trigger.
4
+ */
5
+ export declare const ModalComponent: import('react').NamedExoticComponent<ModalComponentProps>;
@@ -0,0 +1,5 @@
1
+ import { RowComponentProps } from '../../types';
2
+ /**
3
+ * Row component - horizontal flex container.
4
+ */
5
+ export declare const RowComponent: import('react').NamedExoticComponent<RowComponentProps>;
@@ -0,0 +1,5 @@
1
+ import { TabsComponentProps } from '../../types';
2
+ /**
3
+ * Tabs component - tabbed content container.
4
+ */
5
+ export declare const TabsComponent: import('react').NamedExoticComponent<TabsComponentProps>;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * A2UI React Renderer - Layout Components
3
+ */
4
+ export { RowComponent } from './RowComponent';
5
+ export { ColumnComponent } from './ColumnComponent';
6
+ export { ListComponent } from './ListComponent';
7
+ export { CardComponent } from './CardComponent';
8
+ export { TabsComponent } from './TabsComponent';
9
+ export { ModalComponent } from './ModalComponent';
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Layout Components Tests
3
+ *
4
+ * Tests for RowComponent, ColumnComponent, ListComponent, CardComponent,
5
+ * TabsComponent, and ModalComponent.
6
+ */
7
+ export {};
@@ -0,0 +1,34 @@
1
+ import { ReactNode } from 'react';
2
+ import { ActionHandler } from '../types';
3
+ /**
4
+ * Props for A2UIProvider.
5
+ */
6
+ export interface A2UIProviderProps {
7
+ /** Callback when an action is dispatched */
8
+ onAction?: ActionHandler;
9
+ children: ReactNode;
10
+ }
11
+ /**
12
+ * Combined provider for all A2UI contexts.
13
+ *
14
+ * Provides:
15
+ * - SurfaceContext: Component tree management
16
+ * - DataModelContext: Data model state
17
+ * - ActionContext: Action dispatching
18
+ *
19
+ * @example
20
+ * ```tsx
21
+ * function App() {
22
+ * const handleAction = (action) => {
23
+ * console.log('Action:', action);
24
+ * };
25
+ *
26
+ * return (
27
+ * <A2UIProvider onAction={handleAction}>
28
+ * <A2UIReactRenderer messages={messages} />
29
+ * </A2UIProvider>
30
+ * );
31
+ * }
32
+ * ```
33
+ */
34
+ export declare function A2UIProvider({ onAction, children }: A2UIProviderProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * A2UIProvider Tests
3
+ *
4
+ * Tests for the combined A2UI provider component.
5
+ */
6
+ export {};
@@ -0,0 +1,33 @@
1
+ import { ReactNode } from 'react';
2
+ import { Action, ActionHandler } from '../types';
3
+ /**
4
+ * Action context value interface.
5
+ */
6
+ export interface ActionContextValue {
7
+ /** Dispatches an action with resolved context */
8
+ dispatchAction: (surfaceId: string, componentId: string, action: Action) => void;
9
+ /** The action handler callback (if set) */
10
+ onAction: ActionHandler | null;
11
+ }
12
+ /**
13
+ * Action context for A2UI rendering.
14
+ */
15
+ export declare const ActionContext: import('react').Context<ActionContextValue | null>;
16
+ /**
17
+ * Props for ActionProvider.
18
+ */
19
+ export interface ActionProviderProps {
20
+ /** Callback when an action is dispatched */
21
+ onAction?: ActionHandler;
22
+ children: ReactNode;
23
+ }
24
+ /**
25
+ * Provider component for Action dispatching.
26
+ */
27
+ export declare function ActionProvider({ onAction, children }: ActionProviderProps): import("react/jsx-runtime").JSX.Element;
28
+ /**
29
+ * Hook to access the Action context.
30
+ *
31
+ * @throws Error if used outside of ActionProvider
32
+ */
33
+ export declare function useActionContext(): ActionContextValue;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * ActionContext Tests
3
+ *
4
+ * Tests for the Action context provider and hook.
5
+ */
6
+ export {};
@@ -0,0 +1,63 @@
1
+ import { ReactNode, ComponentType } from 'react';
2
+ import { BaseComponentProps } from '../types';
3
+ /**
4
+ * Type for a component in the components map.
5
+ */
6
+ export type A2UIComponent = ComponentType<BaseComponentProps & Record<string, unknown>>;
7
+ /**
8
+ * Map of component type names to React components.
9
+ */
10
+ export type ComponentsMap = Map<string, A2UIComponent>;
11
+ /**
12
+ * Context value for ComponentsMapContext.
13
+ */
14
+ export interface ComponentsMapContextValue {
15
+ /** Custom components provided by the user */
16
+ customComponents: ComponentsMap;
17
+ /** Get a component by type name (custom first, then default) */
18
+ getComponent: (type: string) => A2UIComponent | undefined;
19
+ }
20
+ /**
21
+ * Context for custom component overrides.
22
+ */
23
+ export declare const ComponentsMapContext: import('react').Context<ComponentsMapContextValue | null>;
24
+ /**
25
+ * Props for ComponentsMapProvider.
26
+ */
27
+ export interface ComponentsMapProviderProps {
28
+ /** Custom components to override or extend defaults */
29
+ components?: ComponentsMap;
30
+ /** Default component registry */
31
+ defaultComponents: Record<string, A2UIComponent>;
32
+ children: ReactNode;
33
+ }
34
+ /**
35
+ * Provider for custom component overrides.
36
+ *
37
+ * @example
38
+ * ```tsx
39
+ * const customComponents = new Map([
40
+ * ['Button', CustomButton],
41
+ * ['Switch', CustomSwitch],
42
+ * ])
43
+ *
44
+ * <ComponentsMapProvider components={customComponents} defaultComponents={defaultRegistry}>
45
+ * <App />
46
+ * </ComponentsMapProvider>
47
+ * ```
48
+ */
49
+ export declare function ComponentsMapProvider({ components, defaultComponents, children, }: ComponentsMapProviderProps): import("react/jsx-runtime").JSX.Element;
50
+ /**
51
+ * Hook to access the ComponentsMap context.
52
+ *
53
+ * @throws Error if used outside of ComponentsMapProvider
54
+ */
55
+ export declare function useComponentsMapContext(): ComponentsMapContextValue;
56
+ /**
57
+ * Hook to get a component by type name.
58
+ * Returns custom component if available, otherwise default.
59
+ *
60
+ * @param type - The component type name
61
+ * @returns The component or undefined if not found
62
+ */
63
+ export declare function useComponentFromMap(type: string): A2UIComponent | undefined;
@@ -0,0 +1,43 @@
1
+ import { ReactNode } from 'react';
2
+ import { DataModel, DataModelValue } from '../types';
3
+ /**
4
+ * DataModel context value interface.
5
+ */
6
+ export interface DataModelContextValue {
7
+ /** Map of data models by surfaceId */
8
+ dataModels: Map<string, DataModel>;
9
+ /** Updates the data model at a path with merge behavior */
10
+ updateDataModel: (surfaceId: string, path: string, data: Record<string, unknown>) => void;
11
+ /** Gets a value from the data model */
12
+ getDataValue: (surfaceId: string, path: string) => DataModelValue | undefined;
13
+ /** Sets a value in the data model (used by form inputs) */
14
+ setDataValue: (surfaceId: string, path: string, value: unknown) => void;
15
+ /** Gets the entire data model for a surface */
16
+ getDataModel: (surfaceId: string) => DataModel;
17
+ /** Initializes the data model for a surface */
18
+ initDataModel: (surfaceId: string) => void;
19
+ /** Deletes the data model for a surface */
20
+ deleteDataModel: (surfaceId: string) => void;
21
+ /** Clears all data models */
22
+ clearDataModels: () => void;
23
+ }
24
+ /**
25
+ * DataModel context for A2UI rendering.
26
+ */
27
+ export declare const DataModelContext: import('react').Context<DataModelContextValue | null>;
28
+ /**
29
+ * Props for DataModelProvider.
30
+ */
31
+ export interface DataModelProviderProps {
32
+ children: ReactNode;
33
+ }
34
+ /**
35
+ * Provider component for DataModel state management.
36
+ */
37
+ export declare function DataModelProvider({ children }: DataModelProviderProps): import("react/jsx-runtime").JSX.Element;
38
+ /**
39
+ * Hook to access the DataModel context.
40
+ *
41
+ * @throws Error if used outside of DataModelProvider
42
+ */
43
+ export declare function useDataModelContext(): DataModelContextValue;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * DataModelContext Tests
3
+ *
4
+ * Tests for the DataModel context provider and hook.
5
+ */
6
+ export {};
@@ -0,0 +1,45 @@
1
+ import { ReactNode } from 'react';
2
+ import { Surface, ComponentDefinition, SurfaceStyles } from '../types';
3
+ /**
4
+ * Surface context value interface.
5
+ */
6
+ export interface SurfaceContextValue {
7
+ /** Map of all surfaces by surfaceId */
8
+ surfaces: Map<string, Surface>;
9
+ /**
10
+ * Initializes a surface with root and styles.
11
+ * If the surface already exists, preserves existing components.
12
+ * Called when beginRendering message is received.
13
+ */
14
+ initSurface: (surfaceId: string, root: string, styles?: SurfaceStyles) => void;
15
+ /** Updates components in a surface */
16
+ updateSurface: (surfaceId: string, components: ComponentDefinition[]) => void;
17
+ /** Deletes a surface */
18
+ deleteSurface: (surfaceId: string) => void;
19
+ /** Gets a surface by ID */
20
+ getSurface: (surfaceId: string) => Surface | undefined;
21
+ /** Gets a component from a surface */
22
+ getComponent: (surfaceId: string, componentId: string) => ComponentDefinition | undefined;
23
+ /** Clears all surfaces */
24
+ clearSurfaces: () => void;
25
+ }
26
+ /**
27
+ * Surface context for A2UI rendering.
28
+ */
29
+ export declare const SurfaceContext: import('react').Context<SurfaceContextValue | null>;
30
+ /**
31
+ * Props for SurfaceProvider.
32
+ */
33
+ export interface SurfaceProviderProps {
34
+ children: ReactNode;
35
+ }
36
+ /**
37
+ * Provider component for Surface state management.
38
+ */
39
+ export declare function SurfaceProvider({ children }: SurfaceProviderProps): import("react/jsx-runtime").JSX.Element;
40
+ /**
41
+ * Hook to access the Surface context.
42
+ *
43
+ * @throws Error if used outside of SurfaceProvider
44
+ */
45
+ export declare function useSurfaceContext(): SurfaceContextValue;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * SurfaceContext Tests
3
+ *
4
+ * Tests for the Surface context provider and hook.
5
+ */
6
+ export {};