@copilotkit/a2ui-renderer
Version:
A2UI Renderer for CopilotKit - render A2UI surfaces in React applications
59 lines (57 loc) • 2.06 kB
JavaScript
const require_runtime = require('../../../../../_virtual/_rolldown/runtime.cjs');
const require_adapter = require('../../../adapter.cjs');
const require_utils = require('../utils.cjs');
let react = require("react");
react = require_runtime.__toESM(react);
let react_jsx_runtime = require("react/jsx-runtime");
let _a2ui_web_core_v0_9_basic_catalog = require("@a2ui/web_core/v0_9/basic_catalog");
//#region src/react-renderer/a2ui-react/catalog/basic/components/Image.tsx
/**
* Copyright 2026 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
const Image = require_adapter.createReactComponent(_a2ui_web_core_v0_9_basic_catalog.ImageApi, ({ props }) => {
const mapFit = (fit) => {
if (fit === "scaleDown") return "scale-down";
return fit || "fill";
};
const style = {
...require_utils.getBaseLeafStyle(),
objectFit: mapFit(props.fit),
width: "100%",
height: "auto",
display: "block"
};
if (props.variant === "icon") {
style.width = "24px";
style.height = "24px";
} else if (props.variant === "avatar") {
style.width = "40px";
style.height = "40px";
style.borderRadius = "50%";
} else if (props.variant === "smallFeature") style.maxWidth = "100px";
else if (props.variant === "largeFeature") style.maxHeight = "400px";
else if (props.variant === "header") {
style.height = "200px";
style.objectFit = "cover";
}
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
src: props.url,
alt: props.description || "",
style
});
});
//#endregion
exports.Image = Image;
//# sourceMappingURL=Image.cjs.map