UNPKG

1.17 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.IFrame = void 0;
4const jsx_runtime_1 = require("react/jsx-runtime");
5const react_1 = require("react");
6const delay_render_1 = require("./delay-render");
7const IFrameRefForwarding = ({ onLoad, onError, ...props }, ref) => {
8 const [handle] = (0, react_1.useState)(() => (0, delay_render_1.delayRender)(`Loading <IFrame> with source ${props.src}`));
9 const didLoad = (0, react_1.useCallback)((e) => {
10 (0, delay_render_1.continueRender)(handle);
11 onLoad === null || onLoad === void 0 ? void 0 : onLoad(e);
12 }, [handle, onLoad]);
13 const didGetError = (0, react_1.useCallback)((e) => {
14 (0, delay_render_1.continueRender)(handle);
15 if (onError) {
16 onError(e);
17 }
18 else {
19 console.error('Error loading iframe:', e, 'Handle the event using the onError() prop to make this message disappear.');
20 }
21 }, [handle, onError]);
22 return (0, jsx_runtime_1.jsx)("iframe", { ...props, ref: ref, onError: didGetError, onLoad: didLoad }, void 0);
23};
24exports.IFrame = (0, react_1.forwardRef)(IFrameRefForwarding);