UNPKG

@cross-nft-marketplace/auction-house-nft-components

Version:
36 lines (35 loc) 1.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.HTML = 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"); const HTMLRenderer = (requestProps) => { const { getStyles, media, theme } = requestProps; const { props, loading, error } = (0, MediaLoader_1.useMediaObjectProps)({ uri: media === null || media === void 0 ? void 0 : media.url, preferredIPFSGateway: theme.preferredIPFSGateway, ...requestProps, }); const [windowHeight, setWindowHeight] = (0, react_1.useState)(() => window.innerHeight); (0, react_1.useEffect)(() => { const resizeHandler = () => { setWindowHeight(window.innerHeight); }; document.addEventListener("resize", resizeHandler); return () => { document.removeEventListener("resize", resizeHandler); }; }); //2022/11 not working for 3D-Model viewer. //Download is disallowed. The frame initiating or instantiating the download is sandboxed, but the flag ‘allow-downloads’ is not set //possible use allow-downloads-without-user-activation in future // Sandbox breaks PDF rendering in chrome // https://bugs.chromium.org/p/chromium/issues/detail?id=413851 return ((0, jsx_runtime_1.jsx)(MediaLoader_1.MediaLoader, { getStyles: getStyles, loading: loading, error: error, children: (0, jsx_runtime_1.jsx)("iframe", { sandbox: "allow-scripts", height: Math.floor(windowHeight * 0.6), width: "100%", style: { border: 0 }, ...props }) })); }; exports.HTML = { supportedMimeTypes: [RendererConfig_1.MIME_TYPES_CONTENT.HTML, RendererConfig_1.MIME_TYPES_CONTENT.PDF_DOCUMENT], render: HTMLRenderer, };