{"version":3,"file":"OptimizedHubSpotForm.DsT1PoLT.mjs","names":["useRef","useState","useMemo","useCallback"],"sources":["https:/framerusercontent.com/modules/SFLa4g97E2uDqJDjXDi8/MNSQLGzRk3dRDL2nXlwf/OptimizedHubSpotForm.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{startTransition,useCallback,useEffect,useMemo,useRef,useState}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";const loaderByRegion=new Map;function ensureHeadLink(rel,href,crossOrigin){if(typeof document===\"undefined\")return;const selector=`link[rel=\"${rel}\"][href=\"${href}\"]`;const existing=document.head.querySelector(selector);if(existing)return;const link=document.createElement(\"link\");link.rel=rel;link.href=href;if(crossOrigin){link.crossOrigin=crossOrigin;}document.head.appendChild(link);}function warmUpHubSpotEU1Connections(){if(typeof window===\"undefined\")return;if(typeof document===\"undefined\")return;const jsOrigin=\"https://js-eu1.hsforms.net\";const formsOrigin=\"https://forms-eu1.hsforms.com\";ensureHeadLink(\"preconnect\",jsOrigin,\"anonymous\");ensureHeadLink(\"preconnect\",formsOrigin,\"anonymous\");ensureHeadLink(\"dns-prefetch\",jsOrigin);ensureHeadLink(\"dns-prefetch\",formsOrigin);}warmUpHubSpotEU1Connections();function getHubSpotScriptUrl(region){return`https://js-${region}.hsforms.net/forms/embed/v2.js`;}function ensureHubSpotScript(region){if(typeof window===\"undefined\"){return Promise.resolve();}const win=window;if(win.hbspt?.forms?.create){return Promise.resolve();}const normalizedRegion=region||\"eu1\";const existingPromise=loaderByRegion.get(normalizedRegion);if(existingPromise)return existingPromise;const promise=new Promise((resolve,reject)=>{const scriptId=`optimized-hubspot-embed-${normalizedRegion}`;const preloadId=`optimized-hubspot-preload-${normalizedRegion}`;const src=getHubSpotScriptUrl(normalizedRegion);if(!document.getElementById(preloadId)){const preload=document.createElement(\"link\");preload.id=preloadId;preload.rel=\"preload\";preload.as=\"script\";preload.href=src;document.head.appendChild(preload);}let existingScript=document.getElementById(scriptId);if(existingScript){if(win.hbspt?.forms?.create){resolve();return;}const status=existingScript.getAttribute(\"data-hs-status\");if(status===\"error\"){existingScript.remove();existingScript=null;}}if(existingScript){existingScript.addEventListener(\"load\",()=>resolve(),{once:true});existingScript.addEventListener(\"error\",()=>reject(new Error(\"HubSpot failed to load\")),{once:true});return;}const script=document.createElement(\"script\");script.id=scriptId;script.src=src;script.async=true;script.defer=true;script.setAttribute(\"data-hs-status\",\"loading\");script.onload=()=>{script.setAttribute(\"data-hs-status\",\"loaded\");resolve();};script.onerror=()=>{script.setAttribute(\"data-hs-status\",\"error\");script.remove();reject(new Error(\"HubSpot failed to load\"));};document.head.appendChild(script);}).catch(error=>{loaderByRegion.delete(normalizedRegion);throw error;});loaderByRegion.set(normalizedRegion,promise);return promise;}/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight fixed\n */export default function OptimizedHubSpotForm(props){const{portalId,formId,region=\"eu1\",loadingLabel,minHeight,backgroundColor,textColor,borderRadius,style}=props;const isStatic=useIsStaticRenderer();const containerRef=useRef(null);const observerRef=useRef(null);const createdRef=useRef(false);const[isLoading,setIsLoading]=useState(true);const[hasError,setHasError]=useState(false);const[retryKey,setRetryKey]=useState(0);const instanceId=useMemo(()=>{const random=Math.random().toString(36).slice(2,10);return`optimized-hubspot-form-${random}`;},[]);const resetObserverState=useCallback(()=>{if(observerRef.current){observerRef.current.disconnect();observerRef.current=null;}},[]);const markReady=useCallback(()=>{startTransition(()=>setIsLoading(false));startTransition(()=>setHasError(false));},[]);useEffect(()=>{if(isStatic)return;if(typeof window===\"undefined\")return;const target=containerRef.current;if(!target||createdRef.current)return;startTransition(()=>setIsLoading(true));startTransition(()=>setHasError(false));let cancelled=false;resetObserverState();const observeRender=()=>{if(!target)return;if(target.childElementCount>0){markReady();return;}observerRef.current=new MutationObserver(()=>{if(target.childElementCount>0){resetObserverState();markReady();}});observerRef.current.observe(target,{childList:true,subtree:true});};ensureHubSpotScript(region).then(()=>{if(cancelled)return;const win=window;if(!win.hbspt?.forms?.create){throw new Error(\"HubSpot API unavailable\");}if(target.childElementCount>0){createdRef.current=true;markReady();return;}createdRef.current=true;win.hbspt.forms.create({portalId,formId,region,target:`#${instanceId}`});observeRender();}).catch(()=>{if(cancelled)return;createdRef.current=false;startTransition(()=>setHasError(true));startTransition(()=>setIsLoading(false));});return()=>{cancelled=true;resetObserverState();};},[formId,instanceId,isStatic,markReady,portalId,region,resetObserverState,retryKey]);const handleRetry=useCallback(()=>{const target=containerRef.current;if(target)target.innerHTML=\"\";createdRef.current=false;startTransition(()=>setRetryKey(value=>value+1));},[]);const wrapperStyle=useMemo(()=>({position:\"relative\",width:\"100%\",minHeight,backgroundColor,color:textColor,borderRadius,overflow:\"hidden\",border:\"1px solid rgba(0,0,0,0.08)\",...style}),[backgroundColor,borderRadius,minHeight,style,textColor]);if(isStatic||typeof window===\"undefined\"){return /*#__PURE__*/_jsx(\"section\",{style:wrapperStyle,\"aria-label\":\"HubSpot form placeholder\",children:/*#__PURE__*/_jsx(\"div\",{style:{minHeight,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:24,textAlign:\"center\",opacity:.9},children:loadingLabel})});}return /*#__PURE__*/_jsxs(\"section\",{style:wrapperStyle,\"aria-live\":\"polite\",children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:24,textAlign:\"center\",backgroundColor,color:textColor,opacity:isLoading||hasError?1:0,pointerEvents:isLoading||hasError?\"auto\":\"none\",transition:\"opacity 280ms ease\",zIndex:2},role:hasError?\"alert\":\"status\",children:hasError?/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:10,alignItems:\"center\"},children:[/*#__PURE__*/_jsx(\"span\",{children:\"We couldn’t load the form right now. Please try again.\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:handleRetry,style:{border:\"none\",borderRadius:10,padding:\"10px 14px\",cursor:\"pointer\",background:textColor,color:backgroundColor},children:\"Retry\"})]}):/*#__PURE__*/_jsx(\"span\",{children:loadingLabel})}),/*#__PURE__*/_jsx(\"div\",{id:instanceId,ref:containerRef,style:{minHeight,width:\"100%\",opacity:isLoading||hasError?.01:1,transition:\"opacity 280ms ease\"}})]});}addPropertyControls(OptimizedHubSpotForm,{portalId:{type:ControlType.String,title:\"Portal ID\",defaultValue:\"21475053\"},formId:{type:ControlType.String,title:\"Form ID\",defaultValue:\"da36cdeb-eee7-4850-8a2c-8a6ccfe6950b\"},region:{type:ControlType.String,title:\"Region\",defaultValue:\"eu1\"},loadingLabel:{type:ControlType.String,title:\"Loading Label\",defaultValue:\"Loading form…\"},minHeight:{type:ControlType.Number,title:\"Min Height\",defaultValue:760,min:320,max:1400,step:10,unit:\"px\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#FFFFFF\"},textColor:{type:ControlType.Color,title:\"Text\",defaultValue:\"#000000\"},borderRadius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"12px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"OptimizedHubSpotForm\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./OptimizedHubSpotForm.map"],"mappings":"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"}