@copilotkit/a2ui-renderer
Version:
A2UI Renderer for CopilotKit - render A2UI surfaces in React applications
45 lines (43 loc) • 1.88 kB
JavaScript
const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
const require_A2uiSurface = require('../a2ui-react/A2uiSurface.cjs');
require('../a2ui-react/index.cjs');
const require_useA2UI = require('../hooks/useA2UI.cjs');
const require_utils = require('../lib/utils.cjs');
let react = require("react");
let react_jsx_runtime = require("react/jsx-runtime");
//#region src/react-renderer/core/A2UIRenderer.tsx
/** Default loading fallback - memoized to prevent recreation */
const DefaultLoadingFallback = (0, react.memo)(function DefaultLoadingFallback() {
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
className: "a2ui-loading",
style: {
padding: "16px",
opacity: .5
},
children: "Loading..."
});
});
/**
* A2UIRenderer - renders an A2UI surface using the v0.9 renderer.
*
* Uses A2uiSurface from a2ui-react which handles all component
* rendering internally via the catalog system.
*/
const A2UIRenderer = (0, react.memo)(function A2UIRenderer({ surfaceId, className, fallback = null, loadingFallback }) {
const { getSurface, version } = require_useA2UI.useA2UI();
const surface = getSurface(surfaceId);
if (!surface) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: fallback });
const actualLoadingFallback = loadingFallback ?? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DefaultLoadingFallback, {});
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
className: require_utils.cn("a2ui-surface", className),
"data-surface-id": surfaceId,
"data-version": version,
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react.Suspense, {
fallback: actualLoadingFallback,
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_A2uiSurface.A2uiSurface, { surface })
})
});
});
//#endregion
exports.default = A2UIRenderer;
//# sourceMappingURL=A2UIRenderer.cjs.map