@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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="35.93" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 228"><path fill="#00D8FF" d="M210.483 73.824a171.49 171.49 0 0 0-8.24-2.597c.465-1.9.893-3.777 1.273-5.621c6.238-30.281 2.16-54.676-11.769-62.708c-13.355-7.7-35.196.329-57.254 19.526a171.23 171.23 0 0 0-6.375 5.848a155.866 155.866 0 0 0-4.241-3.917C100.759 3.829 77.587-4.822 63.673 3.233C50.33 10.957 46.379 33.89 51.995 62.588a170.974 170.974 0 0 0 1.892 8.48c-3.28.932-6.445 1.924-9.474 2.98C17.309 83.498 0 98.307 0 113.668c0 15.865 18.582 31.778 46.812 41.427a145.52 145.52 0 0 0 6.921 2.165a167.467 167.467 0 0 0-2.01 9.138c-5.354 28.2-1.173 50.591 12.134 58.266c13.744 7.926 36.812-.22 59.273-19.855a145.567 145.567 0 0 0 5.342-4.923a168.064 168.064 0 0 0 6.92 6.314c21.758 18.722 43.246 26.282 56.54 18.586c13.731-7.949 18.194-32.003 12.4-61.268a145.016 145.016 0 0 0-1.535-6.842c1.62-.48 3.21-.974 4.76-1.488c29.348-9.723 48.443-25.443 48.443-41.52c0-15.417-17.868-30.326-45.517-39.844Zm-6.365 70.984c-1.4.463-2.836.91-4.3 1.345c-3.24-10.257-7.612-21.163-12.963-32.432c5.106-11 9.31-21.767 12.459-31.957c2.619.758 5.16 1.557 7.61 2.4c23.69 8.156 38.14 20.213 38.14 29.504c0 9.896-15.606 22.743-40.946 31.14Zm-10.514 20.834c2.562 12.94 2.927 24.64 1.23 33.787c-1.524 8.219-4.59 13.698-8.382 15.893c-8.067 4.67-25.32-1.4-43.927-17.412a156.726 156.726 0 0 1-6.437-5.87c7.214-7.889 14.423-17.06 21.459-27.246c12.376-1.098 24.068-2.894 34.671-5.345a134.17 134.17 0 0 1 1.386 6.193ZM87.276 214.515c-7.882 2.783-14.16 2.863-17.955.675c-8.075-4.657-11.432-22.636-6.853-46.752a156.923 156.923 0 0 1 1.869-8.499c10.486 2.32 22.093 3.988 34.498 4.994c7.084 9.967 14.501 19.128 21.976 27.15a134.668 134.668 0 0 1-4.877 4.492c-9.933 8.682-19.886 14.842-28.658 17.94ZM50.35 144.747c-12.483-4.267-22.792-9.812-29.858-15.863c-6.35-5.437-9.555-10.836-9.555-15.216c0-9.322 13.897-21.212 37.076-29.293c2.813-.98 5.757-1.905 8.812-2.773c3.204 10.42 7.406 21.315 12.477 32.332c-5.137 11.18-9.399 22.249-12.634 32.792a134.718 134.718 0 0 1-6.318-1.979Zm12.378-84.26c-4.811-24.587-1.616-43.134 6.425-47.789c8.564-4.958 27.502 2.111 47.463 19.835a144.318 144.318 0 0 1 3.841 3.545c-7.438 7.987-14.787 17.08-21.808 26.988c-12.04 1.116-23.565 2.908-34.161 5.309a160.342 160.342 0 0 1-1.76-7.887Zm110.427 27.268a347.8 347.8 0 0 0-7.785-12.803c8.168 1.033 15.994 2.404 23.343 4.08c-2.206 7.072-4.956 14.465-8.193 22.045a381.151 381.151 0 0 0-7.365-13.322Zm-45.032-43.861c5.044 5.465 10.096 11.566 15.065 18.186a322.04 322.04 0 0 0-30.257-.006c4.974-6.559 10.069-12.652 15.192-18.18ZM82.802 87.83a323.167 323.167 0 0 0-7.227 13.238c-3.184-7.553-5.909-14.98-8.134-22.152c7.304-1.634 15.093-2.97 23.209-3.984a321.524 321.524 0 0 0-7.848 12.897Zm8.081 65.352c-8.385-.936-16.291-2.203-23.593-3.793c2.26-7.3 5.045-14.885 8.298-22.6a321.187 321.187 0 0 0 7.257 13.246c2.594 4.48 5.28 8.868 8.038 13.147Zm37.542 31.03c-5.184-5.592-10.354-11.779-15.403-18.433c4.902.192 9.899.29 14.978.29c5.218 0 10.376-.117 15.453-.343c-4.985 6.774-10.018 12.97-15.028 18.486Zm52.198-57.817c3.422 7.8 6.306 15.345 8.596 22.52c-7.422 1.694-15.436 3.058-23.88 4.071a382.417 382.417 0 0 0 7.859-13.026a347.403 347.403 0 0 0 7.425-13.565Zm-16.898 8.101a358.557 358.557 0 0 1-12.281 19.815a329.4 329.4 0 0 1-23.444.823c-7.967 0-15.716-.248-23.178-.732a310.202 310.202 0 0 1-12.513-19.846h.001a307.41 307.41 0 0 1-10.923-20.627a310.278 310.278 0 0 1 10.89-20.637l-.001.001a307.318 307.318 0 0 1 12.413-19.761c7.613-.576 15.42-.876 23.31-.876H128c7.926 0 15.743.303 23.354.883a329.357 329.357 0 0 1 12.335 19.695a358.489 358.489 0 0 1 11.036 20.54a329.472 329.472 0 0 1-11 20.722Zm22.56-122.124c8.572 4.944 11.906 24.881 6.52 51.026c-.344 1.668-.73 3.367-1.15 5.09c-10.622-2.452-22.155-4.275-34.23-5.408c-7.034-10.017-14.323-19.124-21.64-27.008a160.789 160.789 0 0 1 5.888-5.4c18.9-16.447 36.564-22.941 44.612-18.3ZM128 90.808c12.625 0 22.86 10.235 22.86 22.86s-10.235 22.86-22.86 22.86s-22.86-10.235-22.86-22.86s10.235-22.86 22.86-22.86Z"></path></svg>
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
interface ErrorDisplayProps {
|
|
2
|
-
title?: string
|
|
3
|
-
message: string
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
export function ErrorDisplay({ title = 'Error', message }: ErrorDisplayProps) {
|
|
7
|
-
return (
|
|
8
|
-
<div className="error-display">
|
|
9
|
-
<div className="error-title">{title}</div>
|
|
10
|
-
<pre className="error-message">{message}</pre>
|
|
11
|
-
</div>
|
|
12
|
-
)
|
|
13
|
-
}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { useMemo } from 'react'
|
|
2
|
-
import type { Example } from '../data/examples'
|
|
3
|
-
|
|
4
|
-
interface ExampleSelectorProps {
|
|
5
|
-
examples: Example[]
|
|
6
|
-
selectedId: string
|
|
7
|
-
onSelect: (id: string) => void
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export function ExampleSelector({
|
|
11
|
-
examples,
|
|
12
|
-
selectedId,
|
|
13
|
-
onSelect,
|
|
14
|
-
}: ExampleSelectorProps) {
|
|
15
|
-
const groupedExamples = useMemo(() => {
|
|
16
|
-
const groups: Record<string, Example[]> = {}
|
|
17
|
-
const ungrouped: Example[] = []
|
|
18
|
-
|
|
19
|
-
for (const example of examples) {
|
|
20
|
-
if (example.group) {
|
|
21
|
-
if (!groups[example.group]) {
|
|
22
|
-
groups[example.group] = []
|
|
23
|
-
}
|
|
24
|
-
groups[example.group].push(example)
|
|
25
|
-
} else {
|
|
26
|
-
ungrouped.push(example)
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
return { groups, ungrouped }
|
|
31
|
-
}, [examples])
|
|
32
|
-
|
|
33
|
-
return (
|
|
34
|
-
<div className="example-selector">
|
|
35
|
-
<label htmlFor="example-select" className="example-selector-label">
|
|
36
|
-
Example:
|
|
37
|
-
</label>
|
|
38
|
-
<select
|
|
39
|
-
id="example-select"
|
|
40
|
-
className="example-selector-dropdown"
|
|
41
|
-
value={selectedId}
|
|
42
|
-
onChange={(e) => onSelect(e.target.value)}
|
|
43
|
-
>
|
|
44
|
-
{groupedExamples.ungrouped.map((example) => (
|
|
45
|
-
<option key={example.id} value={example.id}>
|
|
46
|
-
{example.title}
|
|
47
|
-
</option>
|
|
48
|
-
))}
|
|
49
|
-
{Object.entries(groupedExamples.groups).map(([groupName, items]) => (
|
|
50
|
-
<optgroup key={groupName} label={groupName}>
|
|
51
|
-
{items.map((example) => (
|
|
52
|
-
<option key={example.id} value={example.id}>
|
|
53
|
-
{example.title}
|
|
54
|
-
</option>
|
|
55
|
-
))}
|
|
56
|
-
</optgroup>
|
|
57
|
-
))}
|
|
58
|
-
</select>
|
|
59
|
-
<span className="example-selector-description">
|
|
60
|
-
{examples.find((e) => e.id === selectedId)?.description}
|
|
61
|
-
</span>
|
|
62
|
-
</div>
|
|
63
|
-
)
|
|
64
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import type { ReactNode } from 'react'
|
|
2
|
-
|
|
3
|
-
interface HeaderProps {
|
|
4
|
-
title: string
|
|
5
|
-
children?: ReactNode
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export function Header({ title, children }: HeaderProps) {
|
|
9
|
-
return (
|
|
10
|
-
<header className="app-header">
|
|
11
|
-
<h1 className="app-title">
|
|
12
|
-
<a href="/a2ui-react/">{title}</a>
|
|
13
|
-
</h1>
|
|
14
|
-
<div className="header-right">
|
|
15
|
-
<nav className="header-nav">
|
|
16
|
-
<a href="/a2ui-react/">Docs</a>
|
|
17
|
-
<a href="/a2ui-react/playground/" className="active">
|
|
18
|
-
Playground
|
|
19
|
-
</a>
|
|
20
|
-
<a
|
|
21
|
-
href="https://github.com/easyops-cn/a2ui-react"
|
|
22
|
-
target="_blank"
|
|
23
|
-
rel="noopener noreferrer"
|
|
24
|
-
>
|
|
25
|
-
GitHub
|
|
26
|
-
<svg
|
|
27
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
28
|
-
width="14"
|
|
29
|
-
height="14"
|
|
30
|
-
viewBox="0 0 24 24"
|
|
31
|
-
fill="none"
|
|
32
|
-
stroke="currentColor"
|
|
33
|
-
strokeWidth="2"
|
|
34
|
-
strokeLinecap="round"
|
|
35
|
-
strokeLinejoin="round"
|
|
36
|
-
>
|
|
37
|
-
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
|
|
38
|
-
<polyline points="15 3 21 3 21 9" />
|
|
39
|
-
<line x1="10" y1="14" x2="21" y2="3" />
|
|
40
|
-
</svg>
|
|
41
|
-
</a>
|
|
42
|
-
</nav>
|
|
43
|
-
<div className="app-header-actions">{children}</div>
|
|
44
|
-
</div>
|
|
45
|
-
</header>
|
|
46
|
-
)
|
|
47
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import CodeMirror from '@uiw/react-codemirror'
|
|
2
|
-
import { json } from '@codemirror/lang-json'
|
|
3
|
-
|
|
4
|
-
interface JsonEditorProps {
|
|
5
|
-
value: string
|
|
6
|
-
onChange: (value: string) => void
|
|
7
|
-
theme?: 'light' | 'dark'
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export function JsonEditor({
|
|
11
|
-
value,
|
|
12
|
-
onChange,
|
|
13
|
-
theme = 'light',
|
|
14
|
-
}: JsonEditorProps) {
|
|
15
|
-
return (
|
|
16
|
-
<CodeMirror
|
|
17
|
-
value={value}
|
|
18
|
-
extensions={[json()]}
|
|
19
|
-
onChange={onChange}
|
|
20
|
-
theme={theme}
|
|
21
|
-
className="json-editor"
|
|
22
|
-
basicSetup={{
|
|
23
|
-
lineNumbers: true,
|
|
24
|
-
highlightActiveLineGutter: true,
|
|
25
|
-
highlightActiveLine: true,
|
|
26
|
-
foldGutter: true,
|
|
27
|
-
bracketMatching: true,
|
|
28
|
-
autocompletion: true,
|
|
29
|
-
}}
|
|
30
|
-
/>
|
|
31
|
-
)
|
|
32
|
-
}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { Component, type ReactNode } from 'react'
|
|
2
|
-
import {
|
|
3
|
-
A2UIRender,
|
|
4
|
-
type A2UIMessage,
|
|
5
|
-
type A2UIAction,
|
|
6
|
-
} from '@easyops-cn/a2ui-react/0.8'
|
|
7
|
-
import { ErrorDisplay } from './ErrorDisplay'
|
|
8
|
-
|
|
9
|
-
interface ErrorBoundaryProps {
|
|
10
|
-
children: ReactNode
|
|
11
|
-
onError?: (error: Error) => void
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
interface ErrorBoundaryState {
|
|
15
|
-
hasError: boolean
|
|
16
|
-
error: Error | null
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
|
|
20
|
-
constructor(props: ErrorBoundaryProps) {
|
|
21
|
-
super(props)
|
|
22
|
-
this.state = { hasError: false, error: null }
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
static getDerivedStateFromError(error: Error): ErrorBoundaryState {
|
|
26
|
-
return { hasError: true, error }
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
componentDidCatch(error: Error) {
|
|
30
|
-
this.props.onError?.(error)
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
componentDidUpdate(prevProps: ErrorBoundaryProps) {
|
|
34
|
-
if (prevProps.children !== this.props.children && this.state.hasError) {
|
|
35
|
-
this.setState({ hasError: false, error: null })
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
render() {
|
|
40
|
-
if (this.state.hasError) {
|
|
41
|
-
return (
|
|
42
|
-
<ErrorDisplay
|
|
43
|
-
title="Render Error"
|
|
44
|
-
message={
|
|
45
|
-
this.state.error?.message || 'An error occurred while rendering'
|
|
46
|
-
}
|
|
47
|
-
/>
|
|
48
|
-
)
|
|
49
|
-
}
|
|
50
|
-
return this.props.children
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
interface PreviewProps {
|
|
55
|
-
messages: A2UIMessage[] | null
|
|
56
|
-
error: string | null
|
|
57
|
-
onAction?: (action: A2UIAction) => void
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
export function Preview({ messages, error, onAction }: PreviewProps) {
|
|
61
|
-
if (error) {
|
|
62
|
-
return <ErrorDisplay title="JSON Parse Error" message={error} />
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
if (!messages || messages.length === 0) {
|
|
66
|
-
return (
|
|
67
|
-
<div className="preview-empty">
|
|
68
|
-
Enter valid A2UI JSON to see the preview
|
|
69
|
-
</div>
|
|
70
|
-
)
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
return (
|
|
74
|
-
<ErrorBoundary>
|
|
75
|
-
<A2UIRender messages={messages} onAction={onAction} />
|
|
76
|
-
</ErrorBoundary>
|
|
77
|
-
)
|
|
78
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Sun, Moon } from 'lucide-react'
|
|
2
|
-
|
|
3
|
-
interface ThemeToggleProps {
|
|
4
|
-
theme: 'light' | 'dark'
|
|
5
|
-
onToggle: () => void
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export function ThemeToggle({ theme, onToggle }: ThemeToggleProps) {
|
|
9
|
-
return (
|
|
10
|
-
<button
|
|
11
|
-
className="theme-toggle"
|
|
12
|
-
onClick={onToggle}
|
|
13
|
-
aria-label={`Switch to ${theme === 'dark' ? 'light' : 'dark'} mode`}
|
|
14
|
-
title={`Switch to ${theme === 'dark' ? 'light' : 'dark'} mode`}
|
|
15
|
-
>
|
|
16
|
-
{theme === 'dark' ? <Moon size={24} /> : <Sun size={24} />}
|
|
17
|
-
</button>
|
|
18
|
-
)
|
|
19
|
-
}
|