@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.
- package/README.md +12 -8
- package/dist/0.8/A2UIRenderer.d.ts +49 -0
- package/dist/0.8/A2UIRenderer.test.d.ts +6 -0
- package/dist/0.8/components/ComponentRenderer.d.ts +39 -0
- package/dist/0.8/components/ComponentRenderer.test.d.ts +6 -0
- package/dist/0.8/components/UnknownComponent.d.ts +18 -0
- package/dist/0.8/components/display/AudioPlayerComponent.d.ts +5 -0
- package/dist/0.8/components/display/DividerComponent.d.ts +5 -0
- package/dist/0.8/components/display/IconComponent.d.ts +5 -0
- package/dist/0.8/components/display/ImageComponent.d.ts +6 -0
- package/dist/0.8/components/display/TextComponent.d.ts +6 -0
- package/dist/0.8/components/display/VideoComponent.d.ts +5 -0
- package/dist/0.8/components/display/display.test.d.ts +7 -0
- package/dist/0.8/components/display/index.d.ts +9 -0
- package/dist/0.8/components/index.d.ts +7 -0
- package/dist/0.8/components/interactive/ButtonComponent.d.ts +5 -0
- package/dist/0.8/components/interactive/CheckBoxComponent.d.ts +5 -0
- package/dist/0.8/components/interactive/DateTimeInputComponent.d.ts +5 -0
- package/dist/0.8/components/interactive/MultipleChoiceComponent.d.ts +7 -0
- package/dist/0.8/components/interactive/SliderComponent.d.ts +5 -0
- package/dist/0.8/components/interactive/TextFieldComponent.d.ts +5 -0
- package/dist/0.8/components/interactive/index.d.ts +9 -0
- package/dist/0.8/components/interactive/interactive.test.d.ts +7 -0
- package/dist/0.8/components/layout/CardComponent.d.ts +5 -0
- package/dist/0.8/components/layout/ColumnComponent.d.ts +5 -0
- package/dist/0.8/components/layout/ListComponent.d.ts +5 -0
- package/dist/0.8/components/layout/ModalComponent.d.ts +5 -0
- package/dist/0.8/components/layout/RowComponent.d.ts +5 -0
- package/dist/0.8/components/layout/TabsComponent.d.ts +5 -0
- package/dist/0.8/components/layout/index.d.ts +9 -0
- package/dist/0.8/components/layout/layout.test.d.ts +7 -0
- package/dist/0.8/contexts/A2UIProvider.d.ts +34 -0
- package/dist/0.8/contexts/A2UIProvider.test.d.ts +6 -0
- package/dist/0.8/contexts/ActionContext.d.ts +33 -0
- package/dist/0.8/contexts/ActionContext.test.d.ts +6 -0
- package/dist/0.8/contexts/ComponentsMapContext.d.ts +63 -0
- package/dist/0.8/contexts/DataModelContext.d.ts +43 -0
- package/dist/0.8/contexts/DataModelContext.test.d.ts +6 -0
- package/dist/0.8/contexts/SurfaceContext.d.ts +45 -0
- package/dist/0.8/contexts/SurfaceContext.test.d.ts +6 -0
- package/dist/0.8/hooks/useA2UIMessageHandler.d.ts +41 -0
- package/dist/0.8/hooks/useA2UIMessageHandler.test.d.ts +6 -0
- package/{src/0.8/hooks/useComponent.ts → dist/0.8/hooks/useComponent.d.ts} +2 -18
- package/dist/0.8/hooks/useComponent.test.d.ts +6 -0
- package/dist/0.8/hooks/useDataBinding.d.ts +50 -0
- package/dist/0.8/hooks/useDataBinding.test.d.ts +6 -0
- package/{src/0.8/hooks/useDispatchAction.ts → dist/0.8/hooks/useDispatchAction.d.ts} +2 -15
- package/dist/0.8/hooks/useDispatchAction.test.d.ts +6 -0
- package/{src/0.8/hooks/useSurface.ts → dist/0.8/hooks/useSurface.d.ts} +2 -15
- package/dist/0.8/hooks/useSurface.test.d.ts +6 -0
- package/{src/0.8/index.ts → dist/0.8/index.d.ts} +7 -21
- package/{src/0.8/types/index.ts → dist/0.8/types/index.d.ts} +128 -213
- package/dist/0.8/utils/dataBinding.d.ts +95 -0
- package/dist/0.8/utils/dataBinding.test.d.ts +6 -0
- package/dist/0.8/utils/pathUtils.d.ts +63 -0
- package/dist/0.8/utils/pathUtils.test.d.ts +6 -0
- package/dist/a2ui-react.js +4 -0
- package/dist/a2ui-react10.js +54 -0
- package/dist/a2ui-react100.js +24 -0
- package/dist/a2ui-react101.js +255 -0
- package/dist/a2ui-react102.js +163 -0
- package/dist/a2ui-react103.js +19 -0
- package/dist/a2ui-react104.js +251 -0
- package/dist/a2ui-react105.js +61 -0
- package/dist/a2ui-react106.js +35 -0
- package/dist/a2ui-react107.js +436 -0
- package/dist/a2ui-react108.js +16 -0
- package/dist/a2ui-react109.js +234 -0
- package/dist/a2ui-react11.js +9 -0
- package/dist/a2ui-react110.js +6 -0
- package/dist/a2ui-react111.js +6 -0
- package/dist/a2ui-react112.js +6 -0
- package/dist/a2ui-react113.js +239 -0
- package/dist/a2ui-react114.js +845 -0
- package/dist/a2ui-react115.js +6 -0
- package/dist/a2ui-react116.js +10 -0
- package/dist/a2ui-react117.js +8 -0
- package/dist/a2ui-react118.js +8 -0
- package/dist/a2ui-react119.js +20 -0
- package/dist/a2ui-react12.js +32 -0
- package/dist/a2ui-react120.js +8 -0
- package/dist/a2ui-react121.js +8 -0
- package/dist/a2ui-react122.js +9 -0
- package/dist/a2ui-react123.js +16 -0
- package/dist/a2ui-react124.js +18 -0
- package/dist/a2ui-react125.js +11 -0
- package/dist/a2ui-react126.js +9 -0
- package/dist/a2ui-react127.js +13 -0
- package/dist/a2ui-react128.js +17 -0
- package/dist/a2ui-react129.js +8 -0
- package/dist/a2ui-react13.js +36 -0
- package/dist/a2ui-react130.js +17 -0
- package/dist/a2ui-react131.js +8 -0
- package/dist/a2ui-react132.js +10 -0
- package/dist/a2ui-react133.js +9 -0
- package/dist/a2ui-react134.js +7 -0
- package/dist/a2ui-react135.js +9 -0
- package/dist/a2ui-react136.js +548 -0
- package/dist/a2ui-react137.js +49 -0
- package/dist/a2ui-react138.js +20 -0
- package/dist/a2ui-react139.js +21 -0
- package/dist/a2ui-react14.js +114 -0
- package/dist/a2ui-react140.js +11 -0
- package/dist/a2ui-react141.js +9 -0
- package/dist/a2ui-react142.js +10 -0
- package/dist/a2ui-react143.js +8 -0
- package/dist/a2ui-react144.js +9 -0
- package/dist/a2ui-react145.js +12 -0
- package/dist/a2ui-react146.js +8 -0
- package/dist/a2ui-react147.js +11 -0
- package/dist/a2ui-react148.js +15 -0
- package/dist/a2ui-react149.js +8 -0
- package/dist/a2ui-react15.js +18 -0
- package/dist/a2ui-react150.js +12 -0
- package/dist/a2ui-react151.js +10 -0
- package/dist/a2ui-react152.js +12 -0
- package/dist/a2ui-react153.js +16 -0
- package/dist/a2ui-react154.js +8 -0
- package/dist/a2ui-react155.js +8 -0
- package/dist/a2ui-react156.js +8 -0
- package/dist/a2ui-react157.js +7 -0
- package/dist/a2ui-react158.js +14 -0
- package/dist/a2ui-react159.js +13 -0
- package/dist/a2ui-react16.js +19 -0
- package/dist/a2ui-react160.js +13 -0
- package/dist/a2ui-react161.js +14 -0
- package/dist/a2ui-react162.js +14 -0
- package/dist/a2ui-react163.js +35 -0
- package/dist/a2ui-react164.js +67 -0
- package/dist/a2ui-react165.js +11 -0
- package/dist/a2ui-react166.js +11 -0
- package/dist/a2ui-react167.js +10 -0
- package/dist/a2ui-react168.js +13 -0
- package/dist/a2ui-react169.js +10 -0
- package/dist/a2ui-react17.js +18 -0
- package/dist/a2ui-react170.js +10 -0
- package/dist/a2ui-react171.js +9 -0
- package/dist/a2ui-react172.js +17 -0
- package/dist/a2ui-react173.js +21 -0
- package/dist/a2ui-react174.js +18 -0
- package/dist/a2ui-react175.js +35 -0
- package/dist/a2ui-react176.js +14 -0
- package/dist/a2ui-react177.js +7 -0
- package/dist/a2ui-react178.js +58 -0
- package/dist/a2ui-react179.js +25 -0
- package/dist/a2ui-react18.js +58 -0
- package/dist/a2ui-react180.js +43 -0
- package/dist/a2ui-react181.js +63 -0
- package/dist/a2ui-react182.js +34 -0
- package/dist/a2ui-react183.js +15 -0
- package/dist/a2ui-react184.js +67 -0
- package/dist/a2ui-react185.js +67 -0
- package/dist/a2ui-react186.js +69 -0
- package/dist/a2ui-react187.js +69 -0
- package/dist/a2ui-react188.js +42 -0
- package/dist/a2ui-react189.js +43 -0
- package/dist/a2ui-react19.js +58 -0
- package/dist/a2ui-react190.js +55 -0
- package/dist/a2ui-react191.js +45 -0
- package/dist/a2ui-react192.js +41 -0
- package/dist/a2ui-react193.js +72 -0
- package/dist/a2ui-react194.js +72 -0
- package/dist/a2ui-react195.js +97 -0
- package/dist/a2ui-react196.js +42 -0
- package/dist/a2ui-react197.js +42 -0
- package/dist/a2ui-react198.js +42 -0
- package/dist/a2ui-react199.js +27 -0
- package/dist/a2ui-react2.js +11 -0
- package/dist/a2ui-react20.js +51 -0
- package/dist/a2ui-react200.js +26 -0
- package/dist/a2ui-react201.js +26 -0
- package/dist/a2ui-react202.js +27 -0
- package/dist/a2ui-react203.js +26 -0
- package/dist/a2ui-react204.js +26 -0
- package/dist/a2ui-react205.js +16 -0
- package/dist/a2ui-react206.js +41 -0
- package/dist/a2ui-react207.js +41 -0
- package/dist/a2ui-react208.js +16 -0
- package/dist/a2ui-react209.js +16 -0
- package/dist/a2ui-react21.js +14 -0
- package/dist/a2ui-react210.js +32 -0
- package/dist/a2ui-react211.js +32 -0
- package/dist/a2ui-react212.js +6 -0
- package/dist/a2ui-react213.js +9 -0
- package/dist/a2ui-react214.js +50 -0
- package/dist/a2ui-react215.js +29 -0
- package/dist/a2ui-react216.js +68 -0
- package/dist/a2ui-react217.js +10 -0
- package/dist/a2ui-react218.js +127 -0
- package/dist/a2ui-react219.js +17 -0
- package/dist/a2ui-react22.js +29 -0
- package/dist/a2ui-react220.js +136 -0
- package/dist/a2ui-react221.js +13 -0
- package/dist/a2ui-react222.js +219 -0
- package/dist/a2ui-react223.js +15 -0
- package/dist/a2ui-react224.js +36 -0
- package/dist/a2ui-react225.js +49 -0
- package/dist/a2ui-react226.js +10 -0
- package/dist/a2ui-react227.js +52 -0
- package/dist/a2ui-react228.js +6 -0
- package/dist/a2ui-react229.js +8 -0
- package/dist/a2ui-react23.js +25 -0
- package/dist/a2ui-react230.js +30 -0
- package/dist/a2ui-react231.js +52 -0
- package/dist/a2ui-react232.js +11 -0
- package/dist/a2ui-react233.js +70 -0
- package/dist/a2ui-react234.js +49 -0
- package/dist/a2ui-react235.js +27 -0
- package/dist/a2ui-react236.js +49 -0
- package/dist/a2ui-react237.js +183 -0
- package/dist/a2ui-react238.js +70 -0
- package/dist/a2ui-react239.js +33 -0
- package/dist/a2ui-react24.js +29 -0
- package/dist/a2ui-react240.js +11 -0
- package/dist/a2ui-react241.js +155 -0
- package/dist/a2ui-react242.js +110 -0
- package/dist/a2ui-react243.js +22 -0
- package/dist/a2ui-react244.js +100 -0
- package/dist/a2ui-react245.js +49 -0
- package/dist/a2ui-react246.js +14 -0
- package/dist/a2ui-react247.js +208 -0
- package/dist/a2ui-react248.js +24 -0
- package/dist/a2ui-react249.js +402 -0
- package/dist/a2ui-react25.js +27 -0
- package/dist/a2ui-react250.js +49 -0
- package/dist/a2ui-react251.js +49 -0
- package/dist/a2ui-react252.js +54 -0
- package/dist/a2ui-react253.js +7 -0
- package/dist/a2ui-react254.js +7 -0
- package/dist/a2ui-react255.js +18 -0
- package/dist/a2ui-react256.js +8 -0
- package/dist/a2ui-react257.js +10 -0
- package/dist/a2ui-react258.js +19 -0
- package/dist/a2ui-react259.js +7 -0
- package/dist/a2ui-react26.js +44 -0
- package/dist/a2ui-react260.js +7 -0
- package/dist/a2ui-react261.js +8 -0
- package/dist/a2ui-react262.js +8 -0
- package/dist/a2ui-react263.js +7 -0
- package/dist/a2ui-react264.js +7 -0
- package/dist/a2ui-react265.js +9 -0
- package/dist/a2ui-react266.js +27 -0
- package/dist/a2ui-react267.js +9 -0
- package/dist/a2ui-react268.js +7 -0
- package/dist/a2ui-react269.js +9 -0
- package/dist/a2ui-react27.js +100 -0
- package/dist/a2ui-react270.js +8 -0
- package/dist/a2ui-react271.js +7 -0
- package/dist/a2ui-react272.js +8 -0
- package/dist/a2ui-react273.js +7 -0
- package/dist/a2ui-react274.js +11 -0
- package/dist/a2ui-react275.js +8 -0
- package/dist/a2ui-react276.js +7 -0
- package/dist/a2ui-react277.js +7 -0
- package/dist/a2ui-react278.js +9 -0
- package/dist/a2ui-react279.js +148 -0
- package/dist/a2ui-react28.js +82 -0
- package/dist/a2ui-react280.js +42 -0
- package/dist/a2ui-react281.js +7 -0
- package/dist/a2ui-react282.js +10 -0
- package/dist/a2ui-react283.js +16 -0
- package/dist/a2ui-react284.js +10 -0
- package/dist/a2ui-react285.js +34 -0
- package/dist/a2ui-react286.js +13 -0
- package/dist/a2ui-react287.js +13 -0
- package/dist/a2ui-react288.js +11 -0
- package/dist/a2ui-react289.js +16 -0
- package/dist/a2ui-react29.js +43 -0
- package/dist/a2ui-react290.js +104 -0
- package/dist/a2ui-react291.js +22 -0
- package/dist/a2ui-react292.js +56 -0
- package/dist/a2ui-react293.js +75 -0
- package/dist/a2ui-react294.js +12 -0
- package/dist/a2ui-react295.js +23 -0
- package/dist/a2ui-react296.js +19 -0
- package/dist/a2ui-react297.js +26 -0
- package/dist/a2ui-react298.js +9 -0
- package/dist/a2ui-react299.js +8 -0
- package/dist/a2ui-react3.js +40 -0
- package/dist/a2ui-react30.js +41 -0
- package/dist/a2ui-react300.js +26 -0
- package/dist/a2ui-react301.js +37 -0
- package/dist/a2ui-react302.js +18 -0
- package/dist/a2ui-react303.js +9 -0
- package/dist/a2ui-react304.js +7 -0
- package/dist/a2ui-react305.js +7 -0
- package/dist/a2ui-react306.js +7 -0
- package/dist/a2ui-react307.js +7 -0
- package/dist/a2ui-react308.js +6 -0
- package/dist/a2ui-react309.js +9 -0
- package/dist/a2ui-react31.js +86 -0
- package/dist/a2ui-react310.js +26 -0
- package/dist/a2ui-react311.js +10 -0
- package/dist/a2ui-react312.js +9 -0
- package/dist/a2ui-react313.js +8 -0
- package/dist/a2ui-react314.js +6 -0
- package/dist/a2ui-react315.js +6 -0
- package/dist/a2ui-react316.js +7 -0
- package/dist/a2ui-react317.js +6 -0
- package/dist/a2ui-react318.js +7 -0
- package/dist/a2ui-react319.js +6 -0
- package/dist/a2ui-react32.js +46 -0
- package/dist/a2ui-react320.js +6 -0
- package/dist/a2ui-react321.js +6 -0
- package/dist/a2ui-react322.js +9 -0
- package/dist/a2ui-react323.js +18 -0
- package/dist/a2ui-react324.js +31 -0
- package/dist/a2ui-react325.js +15 -0
- package/dist/a2ui-react326.js +27 -0
- package/dist/a2ui-react327.js +31 -0
- package/dist/a2ui-react328.js +7 -0
- package/dist/a2ui-react329.js +19 -0
- package/dist/a2ui-react33.js +44 -0
- package/dist/a2ui-react330.js +8 -0
- package/dist/a2ui-react331.js +8 -0
- package/dist/a2ui-react332.js +61 -0
- package/dist/a2ui-react333.js +69 -0
- package/dist/a2ui-react334.js +9 -0
- package/dist/a2ui-react335.js +7 -0
- package/dist/a2ui-react336.js +26 -0
- package/dist/a2ui-react337.js +19 -0
- package/dist/a2ui-react338.js +10 -0
- package/dist/a2ui-react339.js +13 -0
- package/dist/a2ui-react34.js +8 -0
- package/dist/a2ui-react340.js +13 -0
- package/dist/a2ui-react341.js +24 -0
- package/dist/a2ui-react342.js +13 -0
- package/dist/a2ui-react343.js +12 -0
- package/dist/a2ui-react344.js +12 -0
- package/dist/a2ui-react345.js +7 -0
- package/dist/a2ui-react346.js +8 -0
- package/dist/a2ui-react347.js +19 -0
- package/dist/a2ui-react348.js +12 -0
- package/dist/a2ui-react349.js +21 -0
- package/dist/a2ui-react35.js +16 -0
- package/dist/a2ui-react350.js +18 -0
- package/dist/a2ui-react351.js +15 -0
- package/dist/a2ui-react352.js +32 -0
- package/dist/a2ui-react353.js +15 -0
- package/dist/a2ui-react354.js +28 -0
- package/dist/a2ui-react355.js +8 -0
- package/dist/a2ui-react356.js +11 -0
- package/dist/a2ui-react357.js +22 -0
- package/dist/a2ui-react358.js +7 -0
- package/dist/a2ui-react359.js +5 -0
- package/dist/a2ui-react36.js +23 -0
- package/dist/a2ui-react360.js +26 -0
- package/dist/a2ui-react361.js +115 -0
- package/dist/a2ui-react362.js +18 -0
- package/dist/a2ui-react363.js +527 -0
- package/dist/a2ui-react364.js +130 -0
- package/dist/a2ui-react365.js +136 -0
- package/dist/a2ui-react366.js +7 -0
- package/dist/a2ui-react367.js +15 -0
- package/dist/a2ui-react368.js +67 -0
- package/dist/a2ui-react369.js +71 -0
- package/dist/a2ui-react37.js +15 -0
- package/dist/a2ui-react370.js +11 -0
- package/dist/a2ui-react371.js +16 -0
- package/dist/a2ui-react372.js +68 -0
- package/dist/a2ui-react373.js +6 -0
- package/dist/a2ui-react374.js +25 -0
- package/dist/a2ui-react375.js +15 -0
- package/dist/a2ui-react376.js +30 -0
- package/dist/a2ui-react377.js +7 -0
- package/dist/a2ui-react378.js +25 -0
- package/dist/a2ui-react38.js +10 -0
- package/dist/a2ui-react39.js +10 -0
- package/dist/a2ui-react4.js +76 -0
- package/dist/a2ui-react40.js +14 -0
- package/dist/a2ui-react41.js +14 -0
- package/dist/a2ui-react42.js +16 -0
- package/dist/a2ui-react43.js +12 -0
- package/dist/a2ui-react44.js +15 -0
- package/dist/a2ui-react45.js +15 -0
- package/dist/a2ui-react46.js +9 -0
- package/dist/a2ui-react47.js +11 -0
- package/dist/a2ui-react48.js +16 -0
- package/dist/a2ui-react49.js +10 -0
- package/dist/a2ui-react5.js +8 -0
- package/dist/a2ui-react50.js +14 -0
- package/dist/a2ui-react51.js +9 -0
- package/dist/a2ui-react52.js +9 -0
- package/dist/a2ui-react53.js +15 -0
- package/dist/a2ui-react54.js +17 -0
- package/dist/a2ui-react55.js +10 -0
- package/dist/a2ui-react56.js +10 -0
- package/dist/a2ui-react57.js +10 -0
- package/dist/a2ui-react58.js +9 -0
- package/dist/a2ui-react59.js +9 -0
- package/dist/a2ui-react6.js +28 -0
- package/dist/a2ui-react60.js +9 -0
- package/dist/a2ui-react61.js +15 -0
- package/dist/a2ui-react62.js +10 -0
- package/dist/a2ui-react63.js +15 -0
- package/dist/a2ui-react64.js +10 -0
- package/dist/a2ui-react65.js +14 -0
- package/dist/a2ui-react66.js +22 -0
- package/dist/a2ui-react67.js +14 -0
- package/dist/a2ui-react68.js +10 -0
- package/dist/a2ui-react69.js +17 -0
- package/dist/a2ui-react7.js +10 -0
- package/dist/a2ui-react70.js +15 -0
- package/dist/a2ui-react71.js +10 -0
- package/dist/a2ui-react72.js +12 -0
- package/dist/a2ui-react73.js +9 -0
- package/dist/a2ui-react74.js +6 -0
- package/dist/a2ui-react75.js +15 -0
- package/dist/a2ui-react76.js +11 -0
- package/dist/a2ui-react77.js +14 -0
- package/dist/a2ui-react78.js +9 -0
- package/dist/a2ui-react79.js +9 -0
- package/dist/a2ui-react8.js +21 -0
- package/dist/a2ui-react80.js +9 -0
- package/dist/a2ui-react81.js +10 -0
- package/dist/a2ui-react82.js +26 -0
- package/dist/a2ui-react83.js +29 -0
- package/dist/a2ui-react84.js +67 -0
- package/dist/a2ui-react85.js +77 -0
- package/dist/a2ui-react86.js +53 -0
- package/dist/a2ui-react87.js +31 -0
- package/dist/a2ui-react88.js +22 -0
- package/dist/a2ui-react89.js +21 -0
- package/dist/a2ui-react9.js +88 -0
- package/{src/components/ui/textarea.tsx → dist/a2ui-react90.js} +17 -17
- package/dist/a2ui-react91.js +176 -0
- package/dist/a2ui-react92.js +38 -0
- package/dist/a2ui-react93.js +88 -0
- package/dist/a2ui-react94.js +9 -0
- package/dist/a2ui-react95.js +58 -0
- package/dist/a2ui-react96.js +146 -0
- package/dist/a2ui-react97.js +63 -0
- package/dist/a2ui-react98.js +17 -0
- package/dist/a2ui-react99.js +2765 -0
- package/dist/components/ui/button.d.ts +10 -0
- package/dist/components/ui/calendar.d.ts +8 -0
- package/dist/components/ui/card.d.ts +9 -0
- package/dist/components/ui/checkbox.d.ts +4 -0
- package/dist/components/ui/dialog.d.ts +15 -0
- package/dist/components/ui/input.d.ts +3 -0
- package/dist/components/ui/label.d.ts +4 -0
- package/dist/components/ui/native-select.d.ts +7 -0
- package/dist/components/ui/popover.d.ts +7 -0
- package/dist/components/ui/select.d.ts +15 -0
- package/dist/components/ui/separator.d.ts +4 -0
- package/dist/components/ui/slider.d.ts +4 -0
- package/dist/components/ui/tabs.d.ts +7 -0
- package/dist/components/ui/textarea.d.ts +3 -0
- package/dist/index.d.ts +1 -0
- package/dist/lib/utils.d.ts +2 -0
- package/package.json +10 -2
- package/.claude/commands/speckit.analyze.md +0 -184
- package/.claude/commands/speckit.checklist.md +0 -294
- package/.claude/commands/speckit.clarify.md +0 -181
- package/.claude/commands/speckit.constitution.md +0 -82
- package/.claude/commands/speckit.implement.md +0 -135
- package/.claude/commands/speckit.plan.md +0 -89
- package/.claude/commands/speckit.specify.md +0 -256
- package/.claude/commands/speckit.tasks.md +0 -137
- package/.claude/commands/speckit.taskstoissues.md +0 -30
- package/.github/workflows/deploy.yml +0 -69
- package/.husky/pre-commit +0 -1
- package/.prettierignore +0 -4
- package/.prettierrc +0 -7
- package/.specify/memory/constitution.md +0 -73
- package/.specify/scripts/bash/check-prerequisites.sh +0 -166
- package/.specify/scripts/bash/common.sh +0 -156
- package/.specify/scripts/bash/create-new-feature.sh +0 -297
- package/.specify/scripts/bash/setup-plan.sh +0 -61
- package/.specify/scripts/bash/update-agent-context.sh +0 -799
- package/.specify/templates/agent-file-template.md +0 -28
- package/.specify/templates/checklist-template.md +0 -40
- package/.specify/templates/plan-template.md +0 -105
- package/.specify/templates/spec-template.md +0 -115
- package/.specify/templates/tasks-template.md +0 -250
- package/CLAUDE.md +0 -105
- package/CONTRIBUTING.md +0 -97
- package/components.json +0 -21
- package/eslint.config.js +0 -25
- package/netlify.toml +0 -50
- package/playground/README.md +0 -75
- package/playground/index.html +0 -22
- package/playground/package.json +0 -32
- package/playground/public/favicon.svg +0 -8
- package/playground/src/App.css +0 -256
- package/playground/src/App.tsx +0 -115
- package/playground/src/assets/react.svg +0 -1
- package/playground/src/components/ErrorDisplay.tsx +0 -13
- package/playground/src/components/ExampleSelector.tsx +0 -64
- package/playground/src/components/Header.tsx +0 -47
- package/playground/src/components/JsonEditor.tsx +0 -32
- package/playground/src/components/Preview.tsx +0 -78
- package/playground/src/components/ThemeToggle.tsx +0 -19
- package/playground/src/data/examples.ts +0 -1571
- package/playground/src/hooks/useTheme.ts +0 -55
- package/playground/src/index.css +0 -220
- package/playground/src/main.tsx +0 -10
- package/playground/tsconfig.app.json +0 -34
- package/playground/tsconfig.json +0 -13
- package/playground/tsconfig.node.json +0 -26
- package/playground/vite.config.ts +0 -31
- package/specs/001-a2ui-renderer/checklists/requirements.md +0 -41
- package/specs/001-a2ui-renderer/data-model.md +0 -140
- package/specs/001-a2ui-renderer/plan.md +0 -123
- package/specs/001-a2ui-renderer/quickstart.md +0 -141
- package/specs/001-a2ui-renderer/research.md +0 -140
- package/specs/001-a2ui-renderer/spec.md +0 -165
- package/specs/001-a2ui-renderer/tasks.md +0 -310
- package/specs/002-playground/checklists/requirements.md +0 -37
- package/specs/002-playground/contracts/components.md +0 -120
- package/specs/002-playground/data-model.md +0 -149
- package/specs/002-playground/plan.md +0 -73
- package/specs/002-playground/quickstart.md +0 -158
- package/specs/002-playground/research.md +0 -117
- package/specs/002-playground/spec.md +0 -109
- package/specs/002-playground/tasks.md +0 -224
- package/src/0.8/A2UIRender.test.tsx +0 -793
- package/src/0.8/A2UIRender.tsx +0 -142
- package/src/0.8/components/ComponentRenderer.test.tsx +0 -373
- package/src/0.8/components/ComponentRenderer.tsx +0 -163
- package/src/0.8/components/UnknownComponent.tsx +0 -49
- package/src/0.8/components/display/AudioPlayerComponent.tsx +0 -37
- package/src/0.8/components/display/DividerComponent.tsx +0 -23
- package/src/0.8/components/display/IconComponent.tsx +0 -137
- package/src/0.8/components/display/ImageComponent.tsx +0 -57
- package/src/0.8/components/display/TextComponent.tsx +0 -56
- package/src/0.8/components/display/VideoComponent.tsx +0 -31
- package/src/0.8/components/display/display.test.tsx +0 -660
- package/src/0.8/components/display/index.ts +0 -10
- package/src/0.8/components/index.ts +0 -14
- package/src/0.8/components/interactive/ButtonComponent.tsx +0 -44
- package/src/0.8/components/interactive/CheckBoxComponent.tsx +0 -45
- package/src/0.8/components/interactive/DateTimeInputComponent.tsx +0 -176
- package/src/0.8/components/interactive/MultipleChoiceComponent.tsx +0 -157
- package/src/0.8/components/interactive/SliderComponent.tsx +0 -53
- package/src/0.8/components/interactive/TextFieldComponent.tsx +0 -65
- package/src/0.8/components/interactive/index.ts +0 -10
- package/src/0.8/components/interactive/interactive.test.tsx +0 -618
- package/src/0.8/components/layout/CardComponent.tsx +0 -30
- package/src/0.8/components/layout/ColumnComponent.tsx +0 -93
- package/src/0.8/components/layout/ListComponent.tsx +0 -81
- package/src/0.8/components/layout/ModalComponent.tsx +0 -41
- package/src/0.8/components/layout/RowComponent.tsx +0 -94
- package/src/0.8/components/layout/TabsComponent.tsx +0 -59
- package/src/0.8/components/layout/index.ts +0 -10
- package/src/0.8/components/layout/layout.test.tsx +0 -558
- package/src/0.8/contexts/A2UIProvider.test.tsx +0 -226
- package/src/0.8/contexts/A2UIProvider.tsx +0 -54
- package/src/0.8/contexts/ActionContext.test.tsx +0 -242
- package/src/0.8/contexts/ActionContext.tsx +0 -105
- package/src/0.8/contexts/ComponentsMapContext.tsx +0 -125
- package/src/0.8/contexts/DataModelContext.test.tsx +0 -335
- package/src/0.8/contexts/DataModelContext.tsx +0 -184
- package/src/0.8/contexts/SurfaceContext.test.tsx +0 -339
- package/src/0.8/contexts/SurfaceContext.tsx +0 -197
- package/src/0.8/hooks/useA2UIMessageHandler.test.tsx +0 -399
- package/src/0.8/hooks/useA2UIMessageHandler.ts +0 -123
- package/src/0.8/hooks/useComponent.test.tsx +0 -148
- package/src/0.8/hooks/useDataBinding.test.tsx +0 -334
- package/src/0.8/hooks/useDataBinding.ts +0 -99
- package/src/0.8/hooks/useDispatchAction.test.tsx +0 -83
- package/src/0.8/hooks/useSurface.test.tsx +0 -114
- package/src/0.8/schemas/client_to_server.json +0 -50
- package/src/0.8/schemas/server_to_client.json +0 -148
- package/src/0.8/schemas/standard_catalog_definition.json +0 -661
- package/src/0.8/utils/dataBinding.test.ts +0 -443
- package/src/0.8/utils/dataBinding.ts +0 -212
- package/src/0.8/utils/pathUtils.test.ts +0 -353
- package/src/0.8/utils/pathUtils.ts +0 -200
- package/src/components/ui/button.tsx +0 -62
- package/src/components/ui/calendar.tsx +0 -220
- package/src/components/ui/card.tsx +0 -92
- package/src/components/ui/checkbox.tsx +0 -30
- package/src/components/ui/dialog.tsx +0 -141
- package/src/components/ui/input.tsx +0 -21
- package/src/components/ui/label.tsx +0 -22
- package/src/components/ui/native-select.tsx +0 -53
- package/src/components/ui/popover.tsx +0 -46
- package/src/components/ui/select.tsx +0 -188
- package/src/components/ui/separator.tsx +0 -26
- package/src/components/ui/slider.tsx +0 -61
- package/src/components/ui/tabs.tsx +0 -64
- package/src/index.ts +0 -1
- package/src/lib/utils.ts +0 -6
- package/tsconfig.json +0 -28
- package/vite.config.ts +0 -29
- package/vitest.config.ts +0 -22
- package/vitest.setup.ts +0 -8
- package/website/README.md +0 -4
- package/website/assets/favicon.svg +0 -8
- package/website/content/.gitkeep +0 -0
- package/website/content/index.md +0 -122
- package/website/global.d.ts +0 -9
- package/website/package.json +0 -17
- package/website/plain.config.js +0 -28
- package/website/serve.json +0 -6
- package/website/src/client/color-mode-switch.css +0 -47
- package/website/src/client/index.js +0 -61
- package/website/src/client/moon.svg +0 -1
- package/website/src/client/sun.svg +0 -1
- package/website/src/components/Footer.jsx +0 -9
- package/website/src/components/Header.jsx +0 -44
- package/website/src/components/Page.jsx +0 -28
- package/website/src/global.css +0 -423
package/README.md
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
# A2UI React Renderer
|
|
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 `
|
|
25
|
+
Next, use the `A2UIRenderer` component to render A2UI messages:
|
|
26
26
|
|
|
27
27
|
```tsx
|
|
28
28
|
import {
|
|
29
|
-
|
|
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 <
|
|
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 {
|
|
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
|
-
<
|
|
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,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,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,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,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
|
+
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,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,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,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,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,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,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;
|