@copilotkit/a2ui-renderer
Version:
A2UI Renderer for CopilotKit - render A2UI surfaces in React applications
1 lines • 2.6 kB
Source Map (JSON)
{"version":3,"file":"A2UIRenderer.cjs","names":["useA2UI","cn","Suspense","A2uiSurface"],"sources":["../../../src/react-renderer/core/A2UIRenderer.tsx"],"sourcesContent":["import { Suspense, memo, type ReactNode } from \"react\";\nimport { useA2UI } from \"../hooks/useA2UI\";\nimport { A2uiSurface } from \"../a2ui-react\";\nimport { cn } from \"../lib/utils\";\n\n/** Default loading fallback - memoized to prevent recreation */\nconst DefaultLoadingFallback = memo(function DefaultLoadingFallback() {\n return (\n <div className=\"a2ui-loading\" style={{ padding: \"16px\", opacity: 0.5 }}>\n Loading...\n </div>\n );\n});\n\nexport interface A2UIRendererProps {\n /** The surface ID to render */\n surfaceId: string;\n /** Additional CSS classes for the surface container */\n className?: string;\n /** Fallback content when surface is not yet available */\n fallback?: ReactNode;\n /** Loading fallback for lazy-loaded components */\n loadingFallback?: ReactNode;\n /** @deprecated - No longer needed in v0.9, components come from catalog */\n registry?: any;\n}\n\n/**\n * A2UIRenderer - renders an A2UI surface using the v0.9 renderer.\n *\n * Uses A2uiSurface from a2ui-react which handles all component\n * rendering internally via the catalog system.\n */\nexport const A2UIRenderer = memo(function A2UIRenderer({\n surfaceId,\n className,\n fallback = null,\n loadingFallback,\n}: A2UIRendererProps) {\n const { getSurface, version } = useA2UI();\n\n // Get v0.9 SurfaceModel - this will re-render when version changes\n const surface = getSurface(surfaceId);\n\n // No surface yet\n if (!surface) {\n return <>{fallback}</>;\n }\n\n // Use provided fallback or default memoized component\n const actualLoadingFallback = loadingFallback ?? <DefaultLoadingFallback />;\n\n return (\n <div\n className={cn(\"a2ui-surface\", className)}\n data-surface-id={surfaceId}\n data-version={version}\n >\n <Suspense fallback={actualLoadingFallback}>\n <A2uiSurface surface={surface} />\n </Suspense>\n </div>\n );\n});\n\nexport default A2UIRenderer;\n"],"mappings":";;;;;;;;;;AAMA,MAAM,yCAA8B,SAAS,yBAAyB;AACpE,QACE,2CAAC;EAAI,WAAU;EAAe,OAAO;GAAE,SAAS;GAAQ,SAAS;GAAK;YAAE;GAElE;EAER;;;;;;;AAqBF,MAAa,+BAAoB,SAAS,aAAa,EACrD,WACA,WACA,WAAW,MACX,mBACoB;CACpB,MAAM,EAAE,YAAY,YAAYA,yBAAS;CAGzC,MAAM,UAAU,WAAW,UAAU;AAGrC,KAAI,CAAC,QACH,QAAO,mFAAG,WAAY;CAIxB,MAAM,wBAAwB,mBAAmB,2CAAC,2BAAyB;AAE3E,QACE,2CAAC;EACC,WAAWC,iBAAG,gBAAgB,UAAU;EACxC,mBAAiB;EACjB,gBAAc;YAEd,2CAACC;GAAS,UAAU;aAClB,2CAACC,mCAAqB,UAAW;IACxB;GACP;EAER"}