{"version":3,"file":"Embed.DohsUmFe.mjs","names":[],"sources":["https:/framer.com/m/framer/default-utils.js","https:/framerusercontent.com/modules/o1PI5S8YtkA5bP5g4dFz/9zLIz4fn80IR9zpOx18Q/Embed.js"],"sourcesContent":["import{defaultEvents,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";import{useOnEnter,useOnExit}from\"https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";import{colorTokentoValue,colorFromToken}from\"https://framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";import{useUniqueClassName,randomID}from\"https://framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js\";import{getVariantControls}from\"https://framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js\";import{useIsBrowserSafari}from\"https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js\";import{useMultiOnChange,useOnChange}from\"https://framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js\";import{mstoMinAndSec,secondsToMinutes}from\"https://framerusercontent.com/modules/4zHZnO5JojN1PrIbu2jm/revv9QCWpkh8lPzi2jje/time.js\";import{useAutoMotionValue}from\"https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js\";import{useFontControls}from\"https://framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js\";import{useRenderTarget,useIsInPreview,useIsOnCanvas}from\"https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js\";import{useControlledState}from\"https://framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js\";import{usePadding,useRadius,paddingControl,borderRadiusControl}from\"https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js\";import{detectAutoSizingAxis}from\"https://framerusercontent.com/modules/8CkHAZatUz1UR8jNTcfD/HwbnIAZlUmQ2oTpcLkaH/detectAutoSizingAxis.js\";export{useOnEnter,useOnExit,defaultEvents,isMotionValue,colorFromToken,colorTokentoValue,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack,useUniqueClassName,getVariantControls,useIsBrowserSafari,randomID,useConstant,useMultiOnChange,useOnChange,usePadding,useRadius,paddingControl,borderRadiusControl,mstoMinAndSec,useFontControls,secondsToMinutes,useAutoMotionValue,useRenderTarget,useIsInPreview,useControlledState,detectAutoSizingAxis,useIsOnCanvas,};\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useUniqueClassName\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorFromToken\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useControlledState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAutoMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsInPreview\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"detectAutoSizingAxis\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mstoMinAndSec\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnEnter\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"secondsToMinutes\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{useIsOnCanvas,emptyStateStyle,containerStyles}from\"https://framer.com/m/framer/default-utils.js\";/**\n * @framerIntrinsicWidth 600\n * @framerIntrinsicHeight 400\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n *\n * @framerDisableUnlink\n */ export default function Embed({type,url,html}){if(type===\"url\"&&url){return /*#__PURE__*/ _jsx(EmbedURL,{url:url});}if(type===\"html\"&&html){return /*#__PURE__*/ _jsx(EmbedHTML,{html:html});}return /*#__PURE__*/ _jsx(Instructions,{});};addPropertyControls(Embed,{type:{type:ControlType.Enum,defaultValue:\"url\",displaySegmentedControl:true,options:[\"url\",\"html\"],optionTitles:[\"URL\",\"HTML\"]},url:{title:\"URL\",type:ControlType.String,description:\"Some websites don’t support embedding.\",hidden(props){return props.type!==\"url\";}},html:{title:\"HTML\",displayTextArea:true,type:ControlType.String,hidden(props){return props.type!==\"html\";}}});function Instructions(){return /*#__PURE__*/ _jsx(\"div\",{style:{...emptyStateStyle,overflow:\"hidden\"},children:/*#__PURE__*/ _jsx(\"div\",{style:centerTextStyle,children:\"To embed a website or widget, add it to the properties\\xa0panel.\"})});}function EmbedURL({url}){// Add https:// if the URL does not have a protocol.\nif(!/[a-z]+:\\/\\//.test(url)){url=\"https://\"+url;}const onCanvas=useIsOnCanvas();// We need to check if the url is blocked inside an iframe by the X-Frame-Options\n// or Content-Security-Policy headers on the backend.\nconst[state,setState]=useState(onCanvas?undefined:false);useEffect(()=>{// We only want to check on the canvas.\n// On the website we want to avoid the additional delay.\nif(!onCanvas)return;// TODO: We could also use AbortController here.\nlet isLastEffect=true;setState(undefined);async function load(){const response=await fetch(\"https://api.framer.com/functions/check-iframe-url?url=\"+encodeURIComponent(url));if(response.status==200){const{isBlocked}=await response.json();if(isLastEffect){setState(isBlocked);}}else{const message=await response.text();console.error(message);const error=new Error(\"This site can’t be reached.\");setState(error);}}load().catch(error=>{console.error(error);setState(error);});return()=>{isLastEffect=false;};},[url]);if(!url.startsWith(\"https://\")){return /*#__PURE__*/ _jsx(ErrorMessage,{message:\"Unsupported protocol.\"});}if(state===undefined){return /*#__PURE__*/ _jsx(LoadingIndicator,{});}if(state instanceof Error){return /*#__PURE__*/ _jsx(ErrorMessage,{message:state.message});}if(state===true){const message=`Can't embed ${url} due to its content security policy.`;return /*#__PURE__*/ _jsx(ErrorMessage,{message:message});}return /*#__PURE__*/ _jsx(\"iframe\",{src:url,style:iframeStyle,loading:\"lazy\",// @ts-ignore\nfetchPriority:onCanvas?\"low\":\"auto\",referrerPolicy:\"no-referrer\",sandbox:getSandbox(onCanvas)});}const iframeStyle={width:\"100%\",height:\"100%\",border:\"none\"};function getSandbox(onCanvas){const result=[\"allow-same-origin\",\"allow-scripts\"];if(!onCanvas){result.push(\"allow-downloads\",\"allow-forms\",\"allow-modals\",\"allow-orientation-lock\",\"allow-pointer-lock\",\"allow-popups\",\"allow-popups-to-escape-sandbox\",\"allow-presentation\",\"allow-storage-access-by-user-activation\",\"allow-top-navigation-by-user-activation\");}return result.join(\" \");}function EmbedHTML({html}){const ref=useRef();// If the HTML contains a script tag we can't use\n// dangerouslySetInnerHTML because it doesn't execute\n// scripts on the client. Otherwise, we can benefit\n// from SSG by using dangerouslySetInnerHTML.\nconst hasScript=html.includes(\"</script>\");useEffect(()=>{if(!hasScript)return;const div=ref.current;div.innerHTML=html;executeScripts(div);return()=>{div.innerHTML=\"\";};},[html,hasScript]);return /*#__PURE__*/ _jsx(\"div\",{ref:ref,style:htmlStyle,dangerouslySetInnerHTML:!hasScript?{__html:html}:undefined});}const htmlStyle={width:\"100%\",height:\"100%\",display:\"flex\",flexDirection:\"column\",justifyContent:\"center\",alignItems:\"center\"};// This function replaces scripts with executable ones.\n// https://stackoverflow.com/questions/1197575/can-scripts-be-inserted-with-innerhtml\nfunction executeScripts(node){if(node instanceof Element&&node.tagName===\"SCRIPT\"){const script=document.createElement(\"script\");script.text=node.innerHTML;for(const{name,value}of node.attributes){script.setAttribute(name,value);}node.parentElement.replaceChild(script,node);}else{for(const child of node.childNodes){executeScripts(child);}}}// Generic components\nfunction LoadingIndicator(){return /*#__PURE__*/ _jsx(\"div\",{className:\"framerInternalUI-componentPlaceholder\",style:{...containerStyles,overflow:\"hidden\"},children:/*#__PURE__*/ _jsx(\"div\",{style:centerTextStyle,children:\"Loading…\"})});}function ErrorMessage({message}){return /*#__PURE__*/ _jsx(\"div\",{className:\"framerInternalUI-errorPlaceholder\",style:{...containerStyles,overflow:\"hidden\"},children:/*#__PURE__*/ _jsxs(\"div\",{style:centerTextStyle,children:[\"Error: \",message]})});}const centerTextStyle={textAlign:\"center\",minWidth:140};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Embed\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerDisableUnlink\":\"\",\"framerIntrinsicWidth\":\"600\",\"framerIntrinsicHeight\":\"400\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Embed.map"],"mappings":"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"}