{"version":3,"file":"GainHubSpotForm.Do7HECTq.mjs","names":["gatedPage"],"sources":["https:/framerusercontent.com/modules/pDh7xPP9Mm00ifIa1eyE/VkPVqeWPsUXHod4Gj4Ua/GainHubSpotForm.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect,useRef}from\"react\";import{emptyStateStyle}from\"https://framer.com/m/framer/integrations-styles.js@0.2.0\";function poll(f,delay=50,count=50,i=0,errorCallback){if(i>count){errorCallback();return;}if(!f()){setTimeout(()=>{poll(f,delay,count,i+1,errorCallback);},delay);}}/**\n * These annotations control how your component sizes\n * Learn more: https://www.framer.com/docs/guides/auto-sizing\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n */export default function GainHubSpotForm({portalId,formId,region,containerStyle,id,conversionEvent,handleSubmit,setIsFormReady,oktopostConversion,gatedPage,...props}){const scriptTriggeredRef=useRef(false);if(!portalId||!formId||!region){return /*#__PURE__*/_jsxs(\"div\",{style:{...emptyStateStyle,width:\"100%\",height:\"100%\"},children:[/*#__PURE__*/_jsx(\"h1\",{children:\"Hubspot\"}),/*#__PURE__*/_jsx(\"p\",{children:\"Set a portal ID and form in the Properties.\"})]});}const elementId=`hubspot_form_${id}`;const cleanup=()=>{const element=document.querySelector(`#${elementId}`);if(element)element.innerHTML=\"\";};useEffect(()=>{if(window.hbspt){handleScriptLoad();return cleanup;}const script=document.createElement(\"script\");script.src=`https://js-${region}.hsforms.net/forms/shell.js`;script.onload=handleScriptLoad;document.body.appendChild(script);scriptTriggeredRef.current=true;return cleanup;},[formId]);function trackPageVisit(gatedPage){const currentPagePath=gatedPage||window.location.pathname;const storedVisitsString=localStorage.getItem(\"page_visit\");let visitedPagesObject={};if(storedVisitsString){try{visitedPagesObject=JSON.parse(storedVisitsString);}catch(error){console.error(\"Error parsing localStorage 'page_visit' object:\",error);visitedPagesObject={};}}visitedPagesObject[currentPagePath]=true;const updatedVisitsString=JSON.stringify(visitedPagesObject);localStorage.setItem(\"page_visit\",updatedVisitsString);}function getUtmParameters(){const params=new URLSearchParams(window.location.search);const utmParams={};// List of standard UTM parameters\nconst standardUtmKeys=[\"utm_source\",\"utm_medium\",\"utm_campaign\",\"utm_term\",\"utm_content\",\"utm_id\",\"utm_source_platform\",\"utm_creative_format\",\"utm_marketing_tactic\"];standardUtmKeys.forEach(key=>{if(params.has(key)){utmParams[key]=params.get(key);}});return utmParams;}const handleScriptLoad=()=>{poll(()=>{if(!window.hbspt){return false;}if(!id||!document.querySelector(`#${elementId}`)){return false;}cleanup();window.hbspt.forms.create({region,portalId,formId,target:`#${elementId}`,formInstanceId:formId,onFormReady:()=>{setIsFormReady();if(Array.isArray(window.dataLayer)){window.dataLayer.push({event:\"hubspot-form-ready-\"+elementId});}},onFormSubmitted:(_,data)=>{delete data.submissionValues.hs_context;delete data.submissionValues[\"g-recaptcha-response\"];handleSubmit();const currentUtmParams=getUtmParameters();trackPageVisit(gatedPage);if(Array.isArray(window.dataLayer)){window.dataLayer.push({event:\"hubspot-form-submitted-\"+elementId,hubspotFormId:formId,...currentUtmParams});if(conversionEvent){window.dataLayer.push({event:\"hubspot-form-conversion\",hubspotFormId:formId,conversionEvent:conversionEvent,formData:data.submissionValues});}}if(oktopostConversion&&window?._oktrk){window?._oktrk(\"send\",{tag:oktopostConversion,firstName:data?.submissionValues?.firstname,lastName:data?.submissionValues?.lastname,email:data?.submissionValues?.email,company:data?.submissionValues?.company});}}});return true;},50,50,0,()=>{if(!window.hbspt){console.warn(`HubSpot could not be loaded: window.hbspt is missing`);return;}if(!document.querySelector(`#${elementId}`)){console.warn(`HubSpot could not be loaded: element not found #${elementId}`);return;}console.warn(`HubSpot could not be loaded: no idea why`);});};return /*#__PURE__*/_jsx(\"div\",{id:elementId,style:containerStyle,...props});}// Styles are written in object syntax\n// Learn more: https://reactjs.org/docs/dom-elements.html#style\nconst containerStyle={width:\"100%\",height:\"100%\"};GainHubSpotForm.displayName=\"General/GainHubSpotForm\";GainHubSpotForm.defaultProps={portalId:\"5422012\",advanced:false,region:\"na1\",handleSubmit:()=>{},setIsFormReady:()=>{}};addPropertyControls(GainHubSpotForm,{// portalId: {\n//     title: \"Portal\",\n//     type: ControlType.String,\n//     placeholder: \"25276298\", // defaultValue: \"25276298\",\n//     description:\n//         \"Create a [Hubspot](https://www.hubspot.com/) account, add a new form and copy your portal ID. [Learn more…](https://www.framer.com/plugins/hubspot/)\",\n// },\nformId:{title:\"Form\",type:ControlType.String,placeholder:\"e7167571-4bc4-4c2c-bfdc-a0a8dbfd22f1\"},conversionEvent:{type:ControlType.String,title:\"Conversion Event\",defaultValue:\"\"},oktopostConversion:{type:ControlType.String,title:\"Oktopost Conversion Event\",defaultValue:\"\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"GainHubSpotForm\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./GainHubSpotForm.map"],"mappings":"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"}