{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js", "ssg:https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js", "ssg:https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js", "ssg:https://framerusercontent.com/modules/o1PI5S8YtkA5bP5g4dFz/Xr8CO3Ul8Gb7lVfgMKTh/Embed.js"],
  "sourcesContent": ["import { ControlType } from \"framer\";\nexport const fontStack = `\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;\nexport const containerStyles = {\n    position: \"relative\",\n    width: \"100%\",\n    height: \"100%\",\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nexport const emptyStateStyle = {\n    ...containerStyles,\n    borderRadius: 6,\n    background: \"rgba(136, 85, 255, 0.3)\",\n    color: \"#85F\",\n    border: \"1px dashed #85F\",\n    flexDirection: \"column\"\n};\nexport const defaultEvents = {\n    onClick: {\n        type: ControlType.EventHandler\n    },\n    onMouseEnter: {\n        type: ControlType.EventHandler\n    },\n    onMouseLeave: {\n        type: ControlType.EventHandler\n    }\n};\nexport const fontSizeOptions = {\n    type: ControlType.Number,\n    title: \"Font Size\",\n    min: 2,\n    max: 200,\n    step: 1,\n    displayStepper: true\n};\nexport const fontControls = {\n    font: {\n        type: ControlType.Boolean,\n        title: \"Font\",\n        defaultValue: false,\n        disabledTitle: \"Default\",\n        enabledTitle: \"Custom\"\n    },\n    fontFamily: {\n        type: ControlType.String,\n        title: \"Family\",\n        placeholder: \"Inter\",\n        hidden: ({ font  })=>!font\n    },\n    fontWeight: {\n        type: ControlType.Enum,\n        title: \"Weight\",\n        options: [\n            100,\n            200,\n            300,\n            400,\n            500,\n            600,\n            700,\n            800,\n            900\n        ],\n        optionTitles: [\n            \"Thin\",\n            \"Extra-light\",\n            \"Light\",\n            \"Regular\",\n            \"Medium\",\n            \"Semi-bold\",\n            \"Bold\",\n            \"Extra-bold\",\n            \"Black\", \n        ],\n        hidden: ({ font  })=>!font\n    }\n};\n// @TODO check if we're missing anything here \u2014 there doesn't seem to be a reliable browser API for this\nexport const localeOptions = {\n    af: \"Afrikaans\",\n    sq: \"Albanian\",\n    an: \"Aragonese\",\n    ar: \"Arabic (Standard)\",\n    \"ar-dz\": \"Arabic (Algeria)\",\n    \"ar-bh\": \"Arabic (Bahrain)\",\n    \"ar-eg\": \"Arabic (Egypt)\",\n    \"ar-iq\": \"Arabic (Iraq)\",\n    \"ar-jo\": \"Arabic (Jordan)\",\n    \"ar-kw\": \"Arabic (Kuwait)\",\n    \"ar-lb\": \"Arabic (Lebanon)\",\n    \"ar-ly\": \"Arabic (Libya)\",\n    \"ar-ma\": \"Arabic (Morocco)\",\n    \"ar-om\": \"Arabic (Oman)\",\n    \"ar-qa\": \"Arabic (Qatar)\",\n    \"ar-sa\": \"Arabic (Saudi Arabia)\",\n    \"ar-sy\": \"Arabic (Syria)\",\n    \"ar-tn\": \"Arabic (Tunisia)\",\n    \"ar-ae\": \"Arabic (U.A.E.)\",\n    \"ar-ye\": \"Arabic (Yemen)\",\n    hy: \"Armenian\",\n    as: \"Assamese\",\n    ast: \"Asturian\",\n    az: \"Azerbaijani\",\n    eu: \"Basque\",\n    bg: \"Bulgarian\",\n    be: \"Belarusian\",\n    bn: \"Bengali\",\n    bs: \"Bosnian\",\n    br: \"Breton\",\n    my: \"Burmese\",\n    ca: \"Catalan\",\n    ch: \"Chamorro\",\n    ce: \"Chechen\",\n    zh: \"Chinese\",\n    \"zh-hk\": \"Chinese (Hong Kong)\",\n    \"zh-cn\": \"Chinese (PRC)\",\n    \"zh-sg\": \"Chinese (Singapore)\",\n    \"zh-tw\": \"Chinese (Taiwan)\",\n    cv: \"Chuvash\",\n    co: \"Corsican\",\n    cr: \"Cree\",\n    hr: \"Croatian\",\n    cs: \"Czech\",\n    da: \"Danish\",\n    nl: \"Dutch (Standard)\",\n    \"nl-be\": \"Dutch (Belgian)\",\n    en: \"English\",\n    \"en-au\": \"English (Australia)\",\n    \"en-bz\": \"English (Belize)\",\n    \"en-ca\": \"English (Canada)\",\n    \"en-ie\": \"English (Ireland)\",\n    \"en-jm\": \"English (Jamaica)\",\n    \"en-nz\": \"English (New Zealand)\",\n    \"en-ph\": \"English (Philippines)\",\n    \"en-za\": \"English (South Africa)\",\n    \"en-tt\": \"English (Trinidad & Tobago)\",\n    \"en-gb\": \"English (United Kingdom)\",\n    \"en-us\": \"English (United States)\",\n    \"en-zw\": \"English (Zimbabwe)\",\n    eo: \"Esperanto\",\n    et: \"Estonian\",\n    fo: \"Faeroese\",\n    fa: \"Farsi\",\n    fj: \"Fijian\",\n    fi: \"Finnish\",\n    fr: \"French (Standard)\",\n    \"fr-be\": \"French (Belgium)\",\n    \"fr-ca\": \"French (Canada)\",\n    \"fr-fr\": \"French (France)\",\n    \"fr-lu\": \"French (Luxembourg)\",\n    \"fr-mc\": \"French (Monaco)\",\n    \"fr-ch\": \"French (Switzerland)\",\n    fy: \"Frisian\",\n    fur: \"Friulian\",\n    gd: \"Gaelic (Scots)\",\n    \"gd-ie\": \"Gaelic (Irish)\",\n    gl: \"Galacian\",\n    ka: \"Georgian\",\n    de: \"German (Standard)\",\n    \"de-at\": \"German (Austria)\",\n    \"de-de\": \"German (Germany)\",\n    \"de-li\": \"German (Liechtenstein)\",\n    \"de-lu\": \"German (Luxembourg)\",\n    \"de-ch\": \"German (Switzerland)\",\n    el: \"Greek\",\n    gu: \"Gujurati\",\n    ht: \"Haitian\",\n    he: \"Hebrew\",\n    hi: \"Hindi\",\n    hu: \"Hungarian\",\n    is: \"Icelandic\",\n    id: \"Indonesian\",\n    iu: \"Inuktitut\",\n    ga: \"Irish\",\n    it: \"Italian (Standard)\",\n    \"it-ch\": \"Italian (Switzerland)\",\n    ja: \"Japanese\",\n    kn: \"Kannada\",\n    ks: \"Kashmiri\",\n    kk: \"Kazakh\",\n    km: \"Khmer\",\n    ky: \"Kirghiz\",\n    tlh: \"Klingon\",\n    ko: \"Korean\",\n    \"ko-kp\": \"Korean (North Korea)\",\n    \"ko-kr\": \"Korean (South Korea)\",\n    la: \"Latin\",\n    lv: \"Latvian\",\n    lt: \"Lithuanian\",\n    lb: \"Luxembourgish\",\n    mk: \"FYRO Macedonian\",\n    ms: \"Malay\",\n    ml: \"Malayalam\",\n    mt: \"Maltese\",\n    mi: \"Maori\",\n    mr: \"Marathi\",\n    mo: \"Moldavian\",\n    nv: \"Navajo\",\n    ng: \"Ndonga\",\n    ne: \"Nepali\",\n    no: \"Norwegian\",\n    nb: \"Norwegian (Bokmal)\",\n    nn: \"Norwegian (Nynorsk)\",\n    oc: \"Occitan\",\n    or: \"Oriya\",\n    om: \"Oromo\",\n    \"fa-ir\": \"Persian/Iran\",\n    pl: \"Polish\",\n    pt: \"Portuguese\",\n    \"pt-br\": \"Portuguese (Brazil)\",\n    pa: \"Punjabi\",\n    \"pa-in\": \"Punjabi (India)\",\n    \"pa-pk\": \"Punjabi (Pakistan)\",\n    qu: \"Quechua\",\n    rm: \"Rhaeto-Romanic\",\n    ro: \"Romanian\",\n    \"ro-mo\": \"Romanian (Moldavia)\",\n    ru: \"Russian\",\n    \"ru-mo\": \"Russian (Moldavia)\",\n    sz: \"Sami (Lappish)\",\n    sg: \"Sango\",\n    sa: \"Sanskrit\",\n    sc: \"Sardinian\",\n    sd: \"Sindhi\",\n    si: \"Singhalese\",\n    sr: \"Serbian\",\n    sk: \"Slovak\",\n    sl: \"Slovenian\",\n    so: \"Somani\",\n    sb: \"Sorbian\",\n    es: \"Spanish\",\n    \"es-ar\": \"Spanish (Argentina)\",\n    \"es-bo\": \"Spanish (Bolivia)\",\n    \"es-cl\": \"Spanish (Chile)\",\n    \"es-co\": \"Spanish (Colombia)\",\n    \"es-cr\": \"Spanish (Costa Rica)\",\n    \"es-do\": \"Spanish (Dominican Republic)\",\n    \"es-ec\": \"Spanish (Ecuador)\",\n    \"es-sv\": \"Spanish (El Salvador)\",\n    \"es-gt\": \"Spanish (Guatemala)\",\n    \"es-hn\": \"Spanish (Honduras)\",\n    \"es-mx\": \"Spanish (Mexico)\",\n    \"es-ni\": \"Spanish (Nicaragua)\",\n    \"es-pa\": \"Spanish (Panama)\",\n    \"es-py\": \"Spanish (Paraguay)\",\n    \"es-pe\": \"Spanish (Peru)\",\n    \"es-pr\": \"Spanish (Puerto Rico)\",\n    \"es-es\": \"Spanish (Spain)\",\n    \"es-uy\": \"Spanish (Uruguay)\",\n    \"es-ve\": \"Spanish (Venezuela)\",\n    sx: \"Sutu\",\n    sw: \"Swahili\",\n    sv: \"Swedish\",\n    \"sv-fi\": \"Swedish (Finland)\",\n    \"sv-sv\": \"Swedish (Sweden)\",\n    ta: \"Tamil\",\n    tt: \"Tatar\",\n    te: \"Teluga\",\n    th: \"Thai\",\n    tig: \"Tigre\",\n    ts: \"Tsonga\",\n    tn: \"Tswana\",\n    tr: \"Turkish\",\n    tk: \"Turkmen\",\n    uk: \"Ukrainian\",\n    hsb: \"Upper Sorbian\",\n    ur: \"Urdu\",\n    ve: \"Venda\",\n    vi: \"Vietnamese\",\n    vo: \"Volapuk\",\n    wa: \"Walloon\",\n    cy: \"Welsh\",\n    xh: \"Xhosa\",\n    ji: \"Yiddish\",\n    zu: \"Zulu\"\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./constants.map", "import { useMemo } from \"react\";\nimport { RenderTarget } from \"framer\";\nexport function useRenderTarget() {\n    const currentRenderTarget = useMemo(()=>RenderTarget.current()\n    , []);\n    return currentRenderTarget;\n}\nexport function useIsInPreview() {\n    const inPreview = useMemo(()=>RenderTarget.current() === RenderTarget.preview\n    , []);\n    return inPreview;\n}\nexport function useIsOnCanvas() {\n    const onCanvas = useMemo(()=>RenderTarget.current() === RenderTarget.canvas\n    , []);\n    return onCanvas;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsInPreview\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useRenderTarget.map", "import { useMemo } from \"react\";\nimport { ControlType } from \"framer\";\nexport function useRadius(props) {\n    const { borderRadius , isMixedBorderRadius , topLeftRadius , topRightRadius , bottomRightRadius , bottomLeftRadius ,  } = props;\n    const radiusValue = useMemo(()=>isMixedBorderRadius ? `${topLeftRadius}px ${topRightRadius}px ${bottomRightRadius}px ${bottomLeftRadius}px` : `${borderRadius}px`\n    , [\n        borderRadius,\n        isMixedBorderRadius,\n        topLeftRadius,\n        topRightRadius,\n        bottomRightRadius,\n        bottomLeftRadius, \n    ]);\n    return radiusValue;\n}\nexport const borderRadiusControl = {\n    borderRadius: {\n        title: \"Radius\",\n        type: ControlType.FusedNumber,\n        toggleKey: \"isMixedBorderRadius\",\n        toggleTitles: [\n            \"Radius\",\n            \"Radius per corner\"\n        ],\n        valueKeys: [\n            \"topLeftRadius\",\n            \"topRightRadius\",\n            \"bottomRightRadius\",\n            \"bottomLeftRadius\", \n        ],\n        valueLabels: [\n            \"TL\",\n            \"TR\",\n            \"BR\",\n            \"BL\"\n        ],\n        min: 0\n    }\n};\nexport function usePadding(props) {\n    const { padding , paddingPerSide , paddingTop , paddingRight , paddingBottom , paddingLeft ,  } = props;\n    const paddingValue = useMemo(()=>paddingPerSide ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px` : padding\n    , [\n        padding,\n        paddingPerSide,\n        paddingTop,\n        paddingRight,\n        paddingBottom,\n        paddingLeft, \n    ]);\n    return paddingValue;\n}\nexport const paddingControl = {\n    padding: {\n        type: ControlType.FusedNumber,\n        toggleKey: \"paddingPerSide\",\n        toggleTitles: [\n            \"Padding\",\n            \"Padding per side\"\n        ],\n        valueKeys: [\n            \"paddingTop\",\n            \"paddingRight\",\n            \"paddingBottom\",\n            \"paddingLeft\", \n        ],\n        valueLabels: [\n            \"T\",\n            \"R\",\n            \"B\",\n            \"L\"\n        ],\n        min: 0,\n        title: \"Padding\"\n    }\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RadiusProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PaddingProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./propUtils.map", "import{jsx as _jsx}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 any-prefer-fixed\n *\n * @framerDisableUnlink\n */export default function Embed({type,url,html,style={}}){if(type===\"url\"&&url){return /*#__PURE__*/_jsx(EmbedUrl,{url:url,style:style});}if(type===\"html\"&&html){return /*#__PURE__*/_jsx(EmbedHtml,{html:html,style:style});}return /*#__PURE__*/_jsx(Instructions,{style:style});}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\u2019t support embedding.\",hidden(props){return props.type!==\"url\";}},html:{title:\"HTML\",type:ControlType.String,displayTextArea:true,hidden(props){return props.type!==\"html\";}}});function Instructions({style}){return /*#__PURE__*/_jsx(\"div\",{style:{minHeight:getMinHeight(style),...emptyStateStyle,overflow:\"hidden\",...style},children:/*#__PURE__*/_jsx(\"div\",{style:centerTextStyle,children:\"To embed a website or widget, add it to the properties\\xa0panel.\"})});}function EmbedUrl({url,style}){const hasAutoHeight=!style.height;// 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\u2019t be reached.\");setState(error);}}load().catch(error=>{console.error(error);setState(error);});return()=>{isLastEffect=false;};},[url]);if(onCanvas&&hasAutoHeight){return /*#__PURE__*/_jsx(ErrorMessage,{message:\"URL embeds do not support auto height.\",style:style});}if(!url.startsWith(\"https://\")){return /*#__PURE__*/_jsx(ErrorMessage,{message:\"Unsupported protocol.\",style:style});}if(state===undefined){return /*#__PURE__*/_jsx(LoadingIndicator,{});}if(state instanceof Error){return /*#__PURE__*/_jsx(ErrorMessage,{message:state.message,style:style});}if(state===true){const message=`Can\u2019t embed ${url} due to its content security policy.`;return /*#__PURE__*/_jsx(ErrorMessage,{message:message,style:style});}return /*#__PURE__*/_jsx(\"iframe\",{src:url,style:{...iframeStyle,...style},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,...props}){const hasScript=html.includes(\"</script>\");if(hasScript){const hasSplineViewer=html.includes(\"</spline-viewer>\");const hasComment=html.includes(\"<!-- framer-direct-embed -->\");if(hasSplineViewer||hasComment){return /*#__PURE__*/_jsx(EmbedHtmlWithScripts,{html:html,...props});}return /*#__PURE__*/_jsx(EmbedHtmlInsideIframe,{html:html,...props});}return /*#__PURE__*/_jsx(EmbedHtmlWithoutScripts,{html:html,...props});}function EmbedHtmlInsideIframe({html,style}){const ref=useRef();const[iframeHeight,setIframeHeight]=useState(0);// Handle auto sizing\nuseEffect(()=>{var _ref_current;const iframeWindow=(_ref_current=ref.current)===null||_ref_current===void 0?void 0:_ref_current.contentWindow;function handleMessage(event){if(event.source!==iframeWindow)return;const data=event.data;if(typeof data!==\"object\"||data===null)return;const height=data.embedHeight;if(typeof height!==\"number\")return;setIframeHeight(height);}window.addEventListener(\"message\",handleMessage);// After SSG the iframe loads before we attach the event handler,\n// therefore we need to request the latest height from the iframe.\niframeWindow===null||iframeWindow===void 0?void 0:iframeWindow.postMessage(\"getEmbedHeight\",\"*\");return()=>{window.removeEventListener(\"message\",handleMessage);};},[]);// The CSS is mainly copied from:\n// FramerStudio/src/app/vekter/src/renderer/setDefaultFont.ts\n// FramerStudio/src/app/vekter/src/export/globalStylesForExport.ts\nconst srcDoc=`\n<html>\n    <head>\n        <style>\n            html, body {\n                margin: 0;\n                padding: 0;\n            }\n\n            body {\n                display: flex;\n                justify-content: center;\n                align-items: center;\n                min-height: 100vh;\n            }\n\n            :root {\n                -webkit-font-smoothing: antialiased;\n                -moz-osx-font-smoothing: grayscale;\n            }\n\n            * {\n                box-sizing: border-box;\n                -webkit-font-smoothing: inherit;\n            }\n\n            h1, h2, h3, h4, h5, h6, p, figure {\n                margin: 0;\n            }\n\n            body, input, textarea, select, button {\n                font-size: 12px;\n                font-family: sans-serif;\n            }\n        </style>\n    </head>\n    <body>\n        ${html}\n        <script type=\"module\">\n            let height = 0\n\n            function sendEmbedHeight() {\n                window.parent.postMessage({\n                    embedHeight: height\n                }, \"*\")\n            }\n\n            const observer = new ResizeObserver((entries) => {\n                if (entries.length !== 1) return\n                const entry = entries[0]\n                if (entry.target !== document.body) return\n\n                height = entry.contentRect.height\n                sendEmbedHeight()\n            })\n\n            observer.observe(document.body)\n\n            window.addEventListener(\"message\", (event) => {\n                if (event.source !== window.parent) return\n                if (event.data !== \"getEmbedHeight\") return\n                sendEmbedHeight()\n            })\n        </script>\n    <body>\n</html>\n`;const currentStyle={...iframeStyle,...style};const hasAutoHeight=!style.height;if(hasAutoHeight){currentStyle.height=iframeHeight+\"px\";}return /*#__PURE__*/_jsx(\"iframe\",{ref:ref,style:currentStyle,srcDoc:srcDoc});}function EmbedHtmlWithScripts({html,style}){const ref=useRef();useEffect(()=>{const div=ref.current;if(!div)return;div.innerHTML=html;executeScripts(div);return()=>{div.innerHTML=\"\";};},[html]);return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{...htmlStyle,...style}});}function EmbedHtmlWithoutScripts({html,style}){return /*#__PURE__*/_jsx(\"div\",{style:{...htmlStyle,...style},dangerouslySetInnerHTML:{__html:html}});}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\u2026\"})});}function ErrorMessage({message,style}){return /*#__PURE__*/_jsx(\"div\",{className:\"framerInternalUI-errorPlaceholder\",style:{minHeight:getMinHeight(style),...containerStyles,overflow:\"hidden\",...style},children:/*#__PURE__*/_jsx(\"div\",{style:centerTextStyle,children:message})});}const centerTextStyle={textAlign:\"center\",minWidth:140};// Returns a min-height if the component is using auto-height.\nfunction getMinHeight(style){const hasAutoHeight=!style.height;if(hasAutoHeight)return 200;}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Embed\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"400\",\"framerIntrinsicWidth\":\"600\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Embed.map"],
  "mappings": "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",
  "names": ["containerStyles", "emptyStateStyle", "defaultEvents", "ControlType", "fontSizeOptions", "fontControls", "font", "useIsOnCanvas", "se", "RenderTarget", "borderRadiusControl", "ControlType", "paddingControl", "ControlType", "Embed", "type", "url", "html", "style", "p", "EmbedUrl", "EmbedHtml", "Instructions", "addPropertyControls", "ControlType", "props", "getMinHeight", "emptyStateStyle", "centerTextStyle", "hasAutoHeight", "onCanvas", "useIsOnCanvas", "state", "setState", "ye", "ue", "isLastEffect", "load", "response", "isBlocked", "message", "error", "ErrorMessage", "LoadingIndicator", "iframeStyle", "getSandbox", "result", "hasSplineViewer", "hasComment", "EmbedHtmlWithScripts", "EmbedHtmlInsideIframe", "EmbedHtmlWithoutScripts", "ref", "pe", "iframeHeight", "setIframeHeight", "_ref_current", "iframeWindow", "handleMessage", "event", "data", "height", "window", "srcDoc", "currentStyle", "div", "executeScripts", "htmlStyle", "node", "script", "name", "value", "child", "containerStyles"]
}
