@cross-nft-marketplace/auction-house-nft-components
Version:
NFT Media Rendering Components
21 lines (20 loc) • 1.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Image = exports.ImageRenderer = void 0;
const jsx_runtime_1 = require("react/jsx-runtime");
const react_1 = require("react");
const MediaLoader_1 = require("./MediaLoader");
const RendererConfig_1 = require("./RendererConfig");
exports.ImageRenderer = (0, react_1.forwardRef)((requestProps, ref) => {
const { getStyles, theme, media } = requestProps;
const { props, loading, error } = (0, MediaLoader_1.useMediaObjectProps)({
uri: media === null || media === void 0 ? void 0 : media.url,
preferredIPFSGateway: theme.preferredIPFSGateway,
...requestProps,
});
return ((0, jsx_runtime_1.jsx)(MediaLoader_1.MediaLoader, { getStyles: getStyles, loading: loading, error: error, children: (0, jsx_runtime_1.jsx)("img", { ref: ref, ...props, loading: "lazy" }) }));
});
exports.Image = {
supportedMimeTypes: [RendererConfig_1.MIME_TYPES_CONTENT.IMAGE],
render: exports.ImageRenderer,
};