{"version":3,"file":"EmbedFormRedirect.Dnd2XaN6.mjs","names":["useRef","useState","useCallback","useMemo","u"],"sources":["https:/framerusercontent.com/modules/kXVEtKllYfc8uipv4NYQ/ky4qSXQQVo0JYZ8MkOqb/EmbedFormRedirect.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{startTransition,useCallback,useEffect,useMemo,useRef,useState}from\"react\";/**\n * @framerIntrinsicWidth 640\n * @framerIntrinsicHeight 480\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function EmbedFormRedirect(props){const{embedCode,triggerMode,messageContains,allowedOrigin,redirectUrl,openInNewTab,once,delayMs,stripUnusedPreloads,placeholderText,placeholderFont,placeholderTextColor,placeholderBackground,loadingText,loadingFont,loadingTextColor,loadingBackground,refreshAttempts,refreshDelayMs,debug,style}=props;const isStatic=useIsStaticRenderer();const containerRef=useRef(null);const[ready,setReady]=useState(false);const readyRef=useRef(false);const[contentPresent,setContentPresent]=useState(false);const contentPresentRef=useRef(false);const refreshCountRef=useRef(0);const[reloadNonce,setReloadNonce]=useState(0);const[hasRedirected,setHasRedirected]=useState(false);const lastHrefRef=useRef(\"\");const canRun=!isStatic;const log=useCallback((...args)=>{if(!debug)return;// eslint-disable-next-line no-console\nconsole.log(\"[EmbedFormRedirect]\",...args);},[debug]);const getGlobalScriptRegistry=useCallback(()=>{if(typeof window===\"undefined\"){return{loadedSrc:null,reset:()=>{}};}const w=window;if(!w.__EmbedFormRedirectLoadedScriptSrc){w.__EmbedFormRedirectLoadedScriptSrc=new Set;}const loadedSrc=w.__EmbedFormRedirectLoadedScriptSrc;return{loadedSrc,reset:()=>{try{loadedSrc.clear();}catch{// ignore\n}}};},[]);const normalizeAllowedOrigin=useMemo(()=>{const v=(allowedOrigin||\"\").trim();return v.length?v:\"\";},[allowedOrigin]);const normalizeMessageContains=useMemo(()=>{const v=(messageContains||\"\").trim();return v.length?v:\"\";},[messageContains]);const triggerRedirect=useCallback(()=>{if(!redirectUrl)return;if(once&&hasRedirected)return;const doOpen=()=>{try{if(typeof window===\"undefined\")return;if(openInNewTab){window.open(redirectUrl,\"_blank\",\"noopener,noreferrer\");}else{window.location.href=redirectUrl;}startTransition(()=>setHasRedirected(true));}catch{// ignore\n}};if(delayMs>0){if(typeof window===\"undefined\")return;window.setTimeout(doOpen,delayMs);}else{doOpen();}},[delayMs,hasRedirected,once,openInNewTab,redirectUrl]);useEffect(()=>{if(!canRun)return;if(typeof window===\"undefined\")return;if(!containerRef.current)return;// Ensure we show the loading state if we need to re-inject on navigation back.\nif(readyRef.current){startTransition(()=>setReady(false));}if(contentPresentRef.current){startTransition(()=>setContentPresent(false));}const el=containerRef.current;el.innerHTML=\"\";const{loadedSrc}=getGlobalScriptRegistry();const code=(embedCode||\"\").trim();if(!code){log(\"inject:empty\");startTransition(()=>setReady(false));startTransition(()=>setContentPresent(false));return;}// Insert HTML\nel.innerHTML=code;// Avoid console warnings caused by unused preload tags inside third-party embeds.\n// (Common in providers that inject <link rel=\"preload\"> but don't use it.)\nif(stripUnusedPreloads){const preloads=Array.from(el.querySelectorAll('link[rel=\"preload\"]'));let removed=0;for(const link of preloads){const as=link.getAttribute(\"as\");const href=link.getAttribute(\"href\")||\"\";// Many providers preload scripts that won't be used immediately, causing console warnings on navigation.\n// Remove any script preloads (or malformed preloads without an as= attribute).\nif(!as||!as.trim()||as.trim()===\"script\"){link.remove();removed+=1;}}if(removed)log(\"inject:preloadStripped\",{removed});}// Re-run scripts (scripts inserted via innerHTML do not execute reliably)\nconst scripts=Array.from(el.querySelectorAll(\"script\"));for(const oldScript of scripts){const srcAttr=oldScript.getAttribute(\"src\");const src=srcAttr?new URL(srcAttr,window.location.href).toString():\"\";const text=oldScript.textContent||\"\";const isExternalScriptInDocument=normalizedSrc=>{try{const existing=Array.from(document.querySelectorAll(\"script[src]\"));for(const s of existing){const sSrcAttr=s.getAttribute(\"src\");if(!sSrcAttr)continue;const abs=new URL(sSrcAttr,window.location.href).toString();let k=abs;try{const u=new URL(abs);k=`${u.origin}${u.pathname}`;}catch{// ignore\n}if(k===normalizedSrc||abs===normalizedSrc)return true;}}catch{// ignore\n}return false;};// Special-case: prevent NVTag double-initialization across navigations and multiple embeds.\n// IMPORTANT: Only skip the NVTag *library* script, not inline scripts that might be required to\n// re-render/re-bind the form after navigation.\nconst hasNVTag=window?.NVTag;const isNVTagLibrary=Boolean(src&&src.toLowerCase().includes(\"nvtag\"));if(hasNVTag&&isNVTagLibrary&&isExternalScriptInDocument(src)){log(\"inject:skipScript\",{reason:\"NVTagAlreadyInitialized\",src});oldScript.remove();continue;}// If the same provider script is included multiple times (e.g. multiple forms on the same page),\n// many embeds will throw \"already initialized\" errors. Deduplicate external scripts by src,\n// but only if the script is actually present on the page.\nif(src&&loadedSrc){let key=src;try{const u=new URL(src);key=`${u.origin}${u.pathname}`;}catch{// ignore\n}if(loadedSrc.has(key)||loadedSrc.has(src)){const present=isExternalScriptInDocument(key)||isExternalScriptInDocument(src);if(present){log(\"inject:skipScript\",{reason:\"DuplicateSrc\",src});oldScript.remove();continue;}// Registry was stale (e.g. navigation / refresh). Allow reinjection.\nloadedSrc.delete(key);loadedSrc.delete(src);log(\"inject:staleRegistry\",{src});}loadedSrc.add(src);loadedSrc.add(key);}const newScript=document.createElement(\"script\");for(const attr of Array.from(oldScript.attributes)){newScript.setAttribute(attr.name,attr.value);}if(oldScript.textContent&&oldScript.textContent.trim().length){newScript.textContent=oldScript.textContent;}// Replace keeps DOM order\noldScript.parentNode?.replaceChild(newScript,oldScript);}startTransition(()=>setReady(true));startTransition(()=>setContentPresent(true));log(\"inject:done\");},[canRun,embedCode,getGlobalScriptRegistry,log,reloadNonce,stripUnusedPreloads]);useEffect(()=>{readyRef.current=ready;},[ready]);useEffect(()=>{contentPresentRef.current=contentPresent;},[contentPresent]);useEffect(()=>{refreshCountRef.current=0;},[embedCode,stripUnusedPreloads]);useEffect(()=>{if(!canRun)return;if(typeof window===\"undefined\")return;if(!redirectUrl)return;if(triggerMode!==\"postMessage\")return;const onMessage=event=>{try{if(debug)log(\"postMessage:received\",{origin:event.origin,data:event.data});if(once&&hasRedirected)return;if(normalizeAllowedOrigin){if(event.origin!==normalizeAllowedOrigin)return;}const data=event.data;const asString=typeof data===\"string\"?data:data&&typeof data===\"object\"?JSON.stringify(data):String(data);if(normalizeMessageContains){if(!asString.includes(normalizeMessageContains))return;}else{// If no matcher provided, do not redirect automatically (safer).\nreturn;}log(\"postMessage:matched\");triggerRedirect();}catch{// ignore\n}};window.addEventListener(\"message\",onMessage);return()=>window.removeEventListener(\"message\",onMessage);},[canRun,debug,hasRedirected,log,normalizeAllowedOrigin,normalizeMessageContains,once,redirectUrl,triggerMode,triggerRedirect]);const showPlaceholder=!embedCode?.trim();const showLoading=canRun&&!showPlaceholder&&(!ready||!contentPresent);const isFullHeight=style?.height===\"100%\";const isFullWidth=style?.width===\"100%\";useEffect(()=>{if(!canRun)return;if(typeof window===\"undefined\")return;if(!containerRef.current)return;if(showPlaceholder)return;if(!ready)return;const el=containerRef.current;const hasRenderableContent=()=>{try{return Boolean(el.querySelector(\"iframe, form\")||el.children.length>0);}catch{return false;}};// If the embed gets cleared by navigation or provider scripts, re-inject it.\nif(hasRenderableContent())return;if(refreshCountRef.current>=refreshAttempts)return;const t=window.setTimeout(()=>{if(hasRenderableContent())return;refreshCountRef.current+=1;log(\"refresh:attempt\",{attempt:refreshCountRef.current,reason:\"missingRenderableContentAfterReady\"});startTransition(()=>setContentPresent(false));startTransition(()=>setReady(false));startTransition(()=>setReloadNonce(n=>n+1));},Math.max(0,refreshDelayMs));return()=>window.clearTimeout(t);},[canRun,embedCode,log,ready,refreshAttempts,refreshDelayMs,showPlaceholder]);useEffect(()=>{if(!canRun)return;if(typeof window===\"undefined\")return;if(!containerRef.current)return;if(showPlaceholder)return;const el=containerRef.current;const hasRenderableContent=()=>{try{return Boolean(el.querySelector(\"iframe, form\")||el.children.length>0);}catch{return false;}};const maybeReload=reason=>{if(typeof window!==\"undefined\"){const href=window.location.href;if(lastHrefRef.current&&lastHrefRef.current!==href){// Route change detected (Framer uses SPA navigation).\n// Clear the global script registry so provider scripts can run again on the new page.\ngetGlobalScriptRegistry().reset();refreshCountRef.current=0;log(\"nav:hrefChanged\",{from:lastHrefRef.current,to:href});startTransition(()=>setContentPresent(false));startTransition(()=>setReady(false));startTransition(()=>setReloadNonce(n=>n+1));lastHrefRef.current=href;return;}lastHrefRef.current=href;}if(!readyRef.current)return;const hasContent=hasRenderableContent();if(hasContent){if(!contentPresentRef.current)startTransition(()=>setContentPresent(true));return;}if(contentPresentRef.current)startTransition(()=>setContentPresent(false));if(refreshCountRef.current>=refreshAttempts)return;refreshCountRef.current+=1;log(\"refresh:attempt\",{attempt:refreshCountRef.current,reason});startTransition(()=>setReady(false));startTransition(()=>setReloadNonce(n=>n+1));};const onVisibility=()=>{// When navigating away/back in an SPA, embeds can be cleared without unmounting.\nmaybeReload(\"mutationOrVisibility\");};window.addEventListener(\"focus\",onVisibility);document.addEventListener(\"visibilitychange\",onVisibility);window.addEventListener(\"pageshow\",onVisibility);const obs=new MutationObserver(()=>{maybeReload(\"mutation\");});try{obs.observe(el,{childList:true,subtree:true});}catch{// ignore\n}return()=>{window.removeEventListener(\"focus\",onVisibility);document.removeEventListener(\"visibilitychange\",onVisibility);window.removeEventListener(\"pageshow\",onVisibility);obs.disconnect();};},[canRun,log,refreshAttempts,showPlaceholder]);return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\",minWidth:5,minHeight:5,overflow:isFullHeight?\"hidden\":\"visible\",...style},children:[canRun?/*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{position:\"relative\",width:\"100%\",height:\"100%\",minHeight:isFullHeight?undefined:5,overflow:isFullHeight?\"auto\":\"visible\",display:showPlaceholder?\"none\":\"block\"},\"aria-hidden\":showPlaceholder}):/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\",minHeight:isFullHeight?undefined:5,overflow:isFullHeight?\"auto\":\"visible\",display:showPlaceholder?\"none\":\"block\"},\"aria-hidden\":showPlaceholder,dangerouslySetInnerHTML:{__html:(embedCode||\"\").trim()}}),showLoading&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:16,textAlign:\"center\",background:loadingBackground,color:loadingTextColor,...loadingFont},role:\"status\",\"aria-label\":\"Loading embed\",children:/*#__PURE__*/_jsx(\"span\",{style:{width:\"100%\",minWidth:\"max-content\",whiteSpace:\"pre-wrap\"},children:loadingText})}),showPlaceholder&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:16,textAlign:\"center\",background:placeholderBackground,color:placeholderTextColor,...placeholderFont},role:\"status\",\"aria-label\":\"Embed placeholder\",children:/*#__PURE__*/_jsx(\"span\",{style:{width:\"100%\",minWidth:\"max-content\",whiteSpace:\"pre-wrap\"},children:placeholderText})}),debug&&/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",top:8,left:8,zIndex:10,padding:\"6px 8px\",borderRadius:6,background:\"rgba(0,0,0,0.65)\",color:\"#fff\",fontFamily:\"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace\",fontSize:11,lineHeight:1.3,maxWidth:\"calc(100% - 16px)\",whiteSpace:\"pre-wrap\"},\"aria-hidden\":true,children:[\"ready=\"+String(ready),\"\\ncontentPresent=\"+String(contentPresent),\"\\nredirected=\"+String(hasRedirected),\"\\nrefreshCount=\"+String(refreshCountRef.current),\"\\nreloadNonce=\"+String(reloadNonce)]}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",left:0,bottom:0,width:1,height:1,opacity:0,pointerEvents:\"none\"},\"aria-hidden\":true,children:[ready?\"ready\":\"not-ready\",\"|\",hasRedirected?\"redirected\":\"not-redirected\"]})]});}addPropertyControls(EmbedFormRedirect,{embedCode:{type:ControlType.String,title:\"Embed Code\",defaultValue:\"\",displayTextArea:true,placeholder:\"Paste your provider's embed HTML here…\"},triggerMode:{type:ControlType.Enum,title:\"Trigger\",options:[\"postMessage\"],optionTitles:[\"postMessage\"],defaultValue:\"postMessage\"},messageContains:{type:ControlType.String,title:\"Message Match\",defaultValue:\"form:submitted\",placeholder:\"Substring to match (required)\",description:\"Redirect triggers when window.postMessage contains this substring.\"},allowedOrigin:{type:ControlType.String,title:\"Allowed Origin\",defaultValue:\"\",placeholder:\"https://your-form-provider.com (optional)\"},redirectUrl:{type:ControlType.Link,title:\"Redirect URL\",defaultValue:\"https://example.com\"},openInNewTab:{type:ControlType.Boolean,title:\"New Tab\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"},once:{type:ControlType.Boolean,title:\"Only Once\",defaultValue:true,enabledTitle:\"Once\",disabledTitle:\"Repeat\"},delayMs:{type:ControlType.Number,title:\"Delay\",defaultValue:0,min:0,max:1e4,step:50,unit:\"ms\"},stripUnusedPreloads:{type:ControlType.Boolean,title:\"Strip Preload\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\",description:'Removes <link rel=\"preload\"> tags from the embed that can cause browser warnings (including script preloads that are not used immediately).'},placeholderText:{type:ControlType.String,title:\"Placeholder\",defaultValue:\"Paste an embed code in the component props.\\n\\nThis component redirects when it receives a matching postMessage.\",displayTextArea:true},placeholderFont:{type:ControlType.Font,title:\"Placeholder Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"14px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.4em\",textAlign:\"center\"}},placeholderTextColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#000000\"},placeholderBackground:{type:ControlType.Color,title:\"Background\",defaultValue:\"#F5F5F5\"},loadingText:{type:ControlType.String,title:\"Loading Text\",defaultValue:\"Loading form…\"},loadingFont:{type:ControlType.Font,title:\"Loading Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"14px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.4em\",textAlign:\"center\"}},loadingTextColor:{type:ControlType.Color,title:\"Loading Text\",defaultValue:\"#000000\"},loadingBackground:{type:ControlType.Color,title:\"Loading Bg\",defaultValue:\"#F5F5F5\"},refreshAttempts:{type:ControlType.Number,title:\"Refresh Tries\",defaultValue:2,min:0,max:10,step:1},refreshDelayMs:{type:ControlType.Number,title:\"Refresh Delay\",defaultValue:1500,min:0,max:1e4,step:100,unit:\"ms\"},debug:{type:ControlType.Boolean,title:\"Debug\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Logs lifecycle events to the console and shows a small on-canvas status overlay.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"EmbedFormRedirect\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"480\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"640\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./EmbedFormRedirect.map"],"mappings":"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"}