{"version":3,"file":"SM_Hubspot_Form.DF-RlcvS.mjs","names":["useState","email","e","_Fragment"],"sources":["https:/framerusercontent.com/modules/4GgKmlbJFezLN3fUyaS3/j9tHYRIGi2OgLkrB0uWw/SM_Hubspot_Form.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useEffect,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";function getCookieValue(name){const match=document.cookie.match(new RegExp(\"(^| )\"+name+\"=([^;]+)\"));return match?decodeURIComponent(match[2]):null;}const PERSONAL_EMAIL_DOMAINS=[\"gmail.com\",\"yahoo.com\",\"outlook.com\",\"hotmail.com\",\"icloud.com\",\"aol.com\",\"protonmail.com\",\"zoho.com\",\"mail.com\",\"yandex.com\",\"gmx.com\",\"live.com\",\"msn.com\",\"comcast.net\",\"me.com\",\"att.net\",\"verizon.net\",// Academic domains\n\"ox.ac.uk\",\"cam.ac.uk\",\"imperial.ac.uk\",\"lse.ac.uk\",\"manchester.ac.uk\",\"ed.ac.uk\",\"kcl.ac.uk\",\"ucl.ac.uk\",\"warwick.ac.uk\",\"bristol.ac.uk\",\"uni-heidelberg.de\",\"uni-muenchen.de\",\"uni-freiburg.de\",\"uni-koeln.de\",\"uni-frankfurt.de\",\"tu-berlin.de\",\"uni-hamburg.de\",\"uni-leipzig.de\",\"uni-bonn.de\",\"uni-stuttgart.de\",\"sorbonne-universite.fr\",\"univ-lyon1.fr\",\"univ-amu.fr\",\"univ-grenoble-alpes.fr\",\"univ-nantes.fr\",\"univ-tlse3.fr\",\"univ-lille.fr\",\"univ-rennes1.fr\",\"univ-bordeaux.fr\",\"univ-strasbg.fr\",\"ub.edu\",\"uam.es\",\"upf.edu\",\"usc.es\",\"uv.es\",\"ugr.es\",\"unav.es\",\"unizar.es\",\"uoc.edu\",\"unileon.es\",\"unibo.it\",\"unimi.it\",\"uniroma1.it\",\"unipd.it\",\"unipi.it\",\"unina.it\",\"unisi.it\",\"unige.it\",\"unict.it\",\"uniba.it\",\"uva.nl\",\"tudelft.nl\",\"rug.nl\",\"eur.nl\",\"vu.nl\",\"wur.nl\",\"utwente.nl\",\"tilburguniversity.edu\",\"radboudumc.nl\",\"han.nl\",\"uu.se\",\"su.se\",\"lu.se\",\"gu.se\",\"kth.se\",\"umu.se\",\"liu.se\",\"oru.se\",\"hig.se\",\"lnu.se\",\"helsinki.fi\",\"aalto.fi\",\"oulu.fi\",\"jyu.fi\",\"uef.fi\",\"utu.fi\",\"lut.fi\",\"uwasa.fi\",\"hanken.fi\",\"arcada.fi\",\"ku.dk\",\"au.dk\",\"sdu.dk\",\"ruc.dk\",\"cbs.dk\",\"aau.dk\",\"itu.dk\",\"dtu.dk\",\"phmetropol.dk\",\"via.dk\",\"uio.no\",\"ntnu.no\",\"uib.no\",\"uit.no\",\"nmbu.no\",\"hvl.no\",\"usn.no\",\"oslomet.no\",\"inn.no\",\"mf.no\"];export function HubSpotForm(props){const{placeholder,buttonText,font,layout,buttonColor,formId,portalId,trackingEvent,showNameFields=false,firstNamePlaceholder=\"First Name\",lastNamePlaceholder=\"Last Name\"}=props;const[email,setEmail]=useState(\"\");const[firstName,setFirstName]=useState(\"\");const[lastName,setLastName]=useState(\"\");const[isInvalidEmailError,setIsInvalidEmailError]=useState(false);const[errorMessage,setErrorMessage]=useState(\"Please enter your work email.\");const emptyEmailMessage=\"Please enter your email address.\";const[isSubmitting,setIsSubmitting]=useState(false);const[successMessage,setSuccessMessage]=useState(null);const isInvalidEmail=email=>{if(!email||!email.includes(\"@\"))return false;const domain=email.toLowerCase().split(\"@\")[1];// Exclude personal domains and .edu domains\nreturn PERSONAL_EMAIL_DOMAINS.some(blocked=>domain.includes(blocked))||domain.endsWith(\".edu\");};useEffect(()=>{if(email){const invalid=isInvalidEmail(email);setIsInvalidEmailError(invalid);if(invalid)setErrorMessage(\"Please enter your work email.\");}else{setIsInvalidEmailError(false);}},[email]);const handleSubmit=async e=>{e.preventDefault();if(!email.trim()){setIsInvalidEmailError(true);setErrorMessage(emptyEmailMessage);return;}if(isInvalidEmail(email)){setIsInvalidEmailError(true);setErrorMessage(\"Please enter your work email.\");return;}setIsInvalidEmailError(false);setIsSubmitting(true);const urlParams=new URLSearchParams(window.location.search);const cookieValue=getCookieValue(\"utmParams\");let cookieParams={};if(cookieValue){try{cookieParams=JSON.parse(cookieValue);}catch{console.error(\"Invalid utmParams cookie\");}}const utm_source=urlParams.get(\"utm_source\")||cookieParams.utm_source||\"\";const utm_medium=urlParams.get(\"utm_medium\")||cookieParams.utm_medium||\"\";const utm_campaign=urlParams.get(\"utm_campaign\")||cookieParams.utm_campaign||\"\";const utm_term=urlParams.get(\"utm_term\")||cookieParams.utm_term||\"\";const utm_content=urlParams.get(\"utm_content\")||cookieParams.utm_content||\"\";const gclid=urlParams.get(\"gclid\")||cookieParams.gclid||\"\";const hutk=getCookieValue(\"hubspotutk\")||\"\";const commonFields=[{objectTypeId:\"0-1\",name:\"email\",value:email},{objectTypeId:\"0-1\",name:\"utm_source\",value:utm_source},{objectTypeId:\"0-1\",name:\"utm_medium\",value:utm_medium},{objectTypeId:\"0-1\",name:\"utm_campaign\",value:utm_campaign},{objectTypeId:\"0-1\",name:\"utm_term\",value:utm_term},{objectTypeId:\"0-1\",name:\"utm_content\",value:utm_content},{objectTypeId:\"0-1\",name:\"gclid\",value:gclid}];// Add name fields only if they have values\nif(firstName.trim()){commonFields.push({objectTypeId:\"0-1\",name:\"firstname\",value:firstName.trim()});}if(lastName.trim()){commonFields.push({objectTypeId:\"0-1\",name:\"lastname\",value:lastName.trim()});}const hsPayload={fields:commonFields,context:{hutk,pageUri:window.location.href,pageName:document.title},legalConsentOptions:{consent:{consentToProcess:true,text:\"I agree to allow example.com to store and process my personal data.\"}}};try{const res=await fetch(`https://api.hsforms.com/submissions/v3/integration/submit/${portalId}/${formId}`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(hsPayload)});const resBody=await res.json();console.log(\"✅ HubSpot Form Response:\",resBody);// Save email to localStorage\ntry{localStorage.setItem(\"abacum_user_email\",email);console.log(\"📧 Email saved to localStorage:\",email);}catch(e){console.warn(\"⚠️ Could not save email to localStorage:\",e);}window.dataLayer?.push({event:trackingEvent,email});// Check if HubSpot response includes a redirect URL\nif(resBody.redirectUri){console.log(\"🔄 Redirecting to:\",resBody.redirectUri);window.location.href=resBody.redirectUri;}else{setSuccessMessage(\"Thanks! You're on the list.\");setEmail(\"\");setFirstName(\"\");setLastName(\"\");}}catch(error){console.error(\"❌ HubSpot form submission error:\",error);setErrorMessage(\"Something went wrong. Please try again.\");setIsInvalidEmailError(true);}finally{setIsSubmitting(false);}};const isRow=layout===\"row\";return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"form\",{id:\"hubspot-form\",onSubmit:handleSubmit,style:{display:\"flex\",flexDirection:isRow?\"row\":\"column\",gap:isRow?\"20px\":\"12px\",alignItems:isRow?\"center\":\"stretch\",width:isRow?\"fit-content\":\"100%\",fontFamily:font},children:[showNameFields&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:\"12px\",width:isRow?\"320px\":\"100%\"},children:[/*#__PURE__*/_jsx(\"input\",{name:\"firstName\",type:\"text\",placeholder:firstNamePlaceholder,value:firstName,onChange:e=>setFirstName(e.currentTarget.value),style:{width:\"100%\",padding:\"12px\",borderRadius:\"6px\",border:\"1px solid #ccc\",fontSize:\"16px\",fontFamily:font}}),/*#__PURE__*/_jsx(\"input\",{name:\"lastName\",type:\"text\",placeholder:lastNamePlaceholder,value:lastName,onChange:e=>setLastName(e.currentTarget.value),style:{width:\"100%\",padding:\"12px\",borderRadius:\"6px\",border:\"1px solid #ccc\",fontSize:\"16px\",fontFamily:font}})]}),/*#__PURE__*/_jsxs(\"div\",{style:{width:isRow?\"320px\":\"100%\"},children:[/*#__PURE__*/_jsx(\"input\",{name:\"email\",type:\"email\",placeholder:placeholder,value:email,onChange:e=>setEmail(e.currentTarget.value),style:{width:\"100%\",padding:\"12px\",borderRadius:\"6px\",border:`1px solid ${isInvalidEmailError?\"#e74c3c\":\"#ccc\"}`,fontSize:\"16px\",fontFamily:font}}),!isRow&&isInvalidEmailError&&/*#__PURE__*/_jsx(\"div\",{style:{color:\"#ffffff\",fontSize:\"14px\",marginTop:\"4px\"},children:errorMessage})]}),/*#__PURE__*/_jsx(\"button\",{type:\"submit\",disabled:isInvalidEmailError||isSubmitting,style:{padding:isRow?\"12px 20px\":\"12px\",borderRadius:\"6px\",backgroundColor:buttonColor,color:\"#fff\",fontSize:\"16px\",border:\"none\",cursor:isInvalidEmailError||isSubmitting?\"not-allowed\":\"pointer\",fontFamily:font},children:isSubmitting?\"Submitting…\":buttonText})]}),successMessage&&/*#__PURE__*/_jsx(\"div\",{style:{color:\"#ffffff\",fontSize:\"14px\",marginTop:\"8px\",fontFamily:font},children:successMessage}),isRow&&isInvalidEmailError&&/*#__PURE__*/_jsx(\"div\",{style:{color:\"#ffffff\",fontSize:\"14px\",marginTop:\"8px\",fontFamily:font},children:errorMessage})]});}addPropertyControls(HubSpotForm,{placeholder:{type:ControlType.String,title:\"Placeholder\",defaultValue:\"Enter your email\"},buttonText:{type:ControlType.String,title:\"Button Text\",defaultValue:\"Submit\"},font:{type:ControlType.String,title:\"Font Family\",defaultValue:\"sans-serif\"},layout:{type:ControlType.Enum,title:\"Layout\",options:[\"column\",\"row\"],defaultValue:\"column\"},buttonColor:{type:ControlType.Color,title:\"Button Color\",defaultValue:\"#007AFF\"},showNameFields:{type:ControlType.Boolean,title:\"Show Name Fields\",defaultValue:false,description:\"Enable First Name and Last Name fields\"},firstNamePlaceholder:{type:ControlType.String,title:\"First Name Placeholder\",defaultValue:\"First Name\",hidden:props=>!props.showNameFields},lastNamePlaceholder:{type:ControlType.String,title:\"Last Name Placeholder\",defaultValue:\"Last Name\",hidden:props=>!props.showNameFields},formId:{type:ControlType.String,title:\"Form ID\",defaultValue:\"2cdfb551-739d-4268-a293-3dae97da7cad\",description:\"Your HubSpot form ID\"},portalId:{type:ControlType.String,title:\"Portal ID\",defaultValue:\"9125123\",description:\"Your HubSpot portal ID\"},trackingEvent:{type:ControlType.String,title:\"Tracking Event\",defaultValue:\"form_completed_hs\",description:\"Google Analytics event name (e.g. form_webinar_submitted)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"HubSpotForm\":{\"type\":\"reactComponent\",\"name\":\"HubSpotForm\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SM_Hubspot_Form.map"],"mappings":"8MAAyK,SAAS,EAAe,EAAK,CAAC,IAAM,EAAM,SAAS,OAAO,MAAU,OAAO,QAAQ,EAAK,WAAW,CAAC,CAAC,OAAO,EAAM,mBAAmB,EAAM,GAAG,CAAC,KACg4B,SAAgB,EAAY,EAAM,CAAC,GAAK,CAAC,cAAY,aAAW,OAAK,SAAO,cAAY,SAAO,WAAS,gBAAc,iBAAe,GAAM,uBAAqB,aAAa,sBAAoB,aAAa,EAAW,CAAC,EAAM,GAAUA,EAAS,GAAG,CAAM,CAAC,EAAU,GAAcA,EAAS,GAAG,CAAM,CAAC,EAAS,GAAaA,EAAS,GAAG,CAAM,CAAC,EAAoB,GAAwBA,EAAS,GAAM,CAAM,CAAC,EAAa,GAAiBA,EAAS,gCAAgC,CAAiE,CAAC,EAAa,GAAiBA,EAAS,GAAM,CAAM,CAAC,EAAe,GAAmBA,EAAS,KAAK,CAAO,EAAe,GAAO,CAAC,GAAG,CAACC,GAAO,CAACA,EAAM,SAAS,IAAI,CAAC,MAAO,GAAM,IAAM,EAAOA,EAAM,aAAa,CAAC,MAAM,IAAI,CAAC,GAC/6D,OAAO,EAAuB,KAAK,GAAS,EAAO,SAAS,EAAQ,CAAC,EAAE,EAAO,SAAS,OAAO,EAAG,MAAc,CAAC,GAAG,EAAM,CAAC,IAAM,EAAQ,EAAe,EAAM,CAAC,EAAuB,EAAQ,CAAI,GAAQ,EAAgB,gCAAgC,MAAO,EAAuB,GAAM,EAAI,CAAC,EAAM,CAAC,CAAC,IAAM,EAAa,KAAM,IAAG,CAAoB,GAAnB,EAAE,gBAAgB,CAAI,CAAC,EAAM,MAAM,CAAC,CAAC,EAAuB,GAAK,CAAC,EAAgB,mCAAkB,CAAC,OAAQ,GAAG,EAAe,EAAM,CAAC,CAAC,EAAuB,GAAK,CAAC,EAAgB,gCAAgC,CAAC,OAAQ,EAAuB,GAAM,CAAC,EAAgB,GAAK,CAAC,IAAM,EAAU,IAAI,gBAAgB,EAAO,SAAS,OAAO,CAAO,EAAY,EAAe,YAAY,CAAK,EAAa,EAAE,CAAC,GAAG,EAAa,GAAG,CAAC,EAAa,KAAK,MAAM,EAAY,MAAO,CAAC,QAAQ,MAAM,2BAA2B,CAAG,IAAM,EAAW,EAAU,IAAI,aAAa,EAAE,EAAa,YAAY,GAAS,EAAW,EAAU,IAAI,aAAa,EAAE,EAAa,YAAY,GAAS,EAAa,EAAU,IAAI,eAAe,EAAE,EAAa,cAAc,GAAS,EAAS,EAAU,IAAI,WAAW,EAAE,EAAa,UAAU,GAAS,EAAY,EAAU,IAAI,cAAc,EAAE,EAAa,aAAa,GAAS,EAAM,EAAU,IAAI,QAAQ,EAAE,EAAa,OAAO,GAAS,EAAK,EAAe,aAAa,EAAE,GAAS,EAAa,CAAC,CAAC,aAAa,MAAM,KAAK,QAAQ,MAAM,EAAM,CAAC,CAAC,aAAa,MAAM,KAAK,aAAa,MAAM,EAAW,CAAC,CAAC,aAAa,MAAM,KAAK,aAAa,MAAM,EAAW,CAAC,CAAC,aAAa,MAAM,KAAK,eAAe,MAAM,EAAa,CAAC,CAAC,aAAa,MAAM,KAAK,WAAW,MAAM,EAAS,CAAC,CAAC,aAAa,MAAM,KAAK,cAAc,MAAM,EAAY,CAAC,CAAC,aAAa,MAAM,KAAK,QAAQ,MAAM,EAAM,CAAC,CACrqD,EAAU,MAAM,EAAE,EAAa,KAAK,CAAC,aAAa,MAAM,KAAK,YAAY,MAAM,EAAU,MAAM,CAAC,CAAC,CAAK,EAAS,MAAM,EAAE,EAAa,KAAK,CAAC,aAAa,MAAM,KAAK,WAAW,MAAM,EAAS,MAAM,CAAC,CAAC,CAAE,IAAM,EAAU,CAAC,OAAO,EAAa,QAAQ,CAAC,OAAK,QAAQ,EAAO,SAAS,KAAK,SAAS,SAAS,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,iBAAiB,GAAK,KAAK,sEAAsE,CAAC,CAAC,CAAC,GAAG,CAAqM,IAAM,EAAQ,MAAxM,MAAM,MAAM,6DAA6D,EAAS,GAAG,IAAS,CAAC,OAAO,OAAO,QAAQ,CAAC,eAAe,mBAAmB,CAAC,KAAK,KAAK,UAAU,EAAU,CAAC,CAAC,EAAyB,MAAM,CAAC,QAAQ,IAAI,2BAA2B,EAAQ,CAC1sB,GAAG,CAAC,aAAa,QAAQ,oBAAoB,EAAM,CAAC,QAAQ,IAAI,kCAAkC,EAAM,OAAQC,EAAE,CAAC,QAAQ,KAAK,2CAA2CA,EAAE,CAAE,EAAO,WAAW,KAAK,CAAC,MAAM,EAAc,QAAM,CAAC,CAC/N,EAAQ,aAAa,QAAQ,IAAI,qBAAqB,EAAQ,YAAY,CAAC,EAAO,SAAS,KAAK,EAAQ,cAAkB,EAAkB,8BAA8B,CAAC,EAAS,GAAG,CAAC,EAAa,GAAG,CAAC,EAAY,GAAG,QAAS,EAAM,CAAC,QAAQ,MAAM,mCAAmC,EAAM,CAAC,EAAgB,0CAA0C,CAAC,EAAuB,GAAK,QAAS,CAAC,EAAgB,GAAM,GAAU,EAAM,IAAS,MAAM,OAAoB,EAAMC,EAAU,CAAC,SAAS,CAAc,EAAM,OAAO,CAAC,GAAG,eAAe,SAAS,EAAa,MAAM,CAAC,QAAQ,OAAO,cAAc,EAAM,MAAM,SAAS,IAAI,EAAM,OAAO,OAAO,WAAW,EAAM,SAAS,UAAU,MAAM,EAAM,cAAc,OAAO,WAAW,EAAK,CAAC,SAAS,CAAC,GAA6B,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,cAAc,SAAS,IAAI,OAAO,MAAM,EAAM,QAAQ,OAAO,CAAC,SAAS,CAAc,EAAK,QAAQ,CAAC,KAAK,YAAY,KAAK,OAAO,YAAY,EAAqB,MAAM,EAAU,SAAS,GAAG,EAAa,EAAE,cAAc,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,QAAQ,OAAO,aAAa,MAAM,OAAO,iBAAiB,SAAS,OAAO,WAAW,EAAK,CAAC,CAAC,CAAc,EAAK,QAAQ,CAAC,KAAK,WAAW,KAAK,OAAO,YAAY,EAAoB,MAAM,EAAS,SAAS,GAAG,EAAY,EAAE,cAAc,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,QAAQ,OAAO,aAAa,MAAM,OAAO,iBAAiB,SAAS,OAAO,WAAW,EAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAM,QAAQ,OAAO,CAAC,SAAS,CAAc,EAAK,QAAQ,CAAC,KAAK,QAAQ,KAAK,QAAoB,cAAY,MAAM,EAAM,SAAS,GAAG,EAAS,EAAE,cAAc,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,QAAQ,OAAO,aAAa,MAAM,OAAO,aAAa,EAAoB,UAAU,SAAS,SAAS,OAAO,WAAW,EAAK,CAAC,CAAC,CAAC,CAAC,GAAO,GAAkC,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,UAAU,SAAS,OAAO,UAAU,MAAM,CAAC,SAAS,EAAa,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,SAAS,CAAC,KAAK,SAAS,SAAS,GAAqB,EAAa,MAAM,CAAC,QAAQ,EAAM,YAAY,OAAO,aAAa,MAAM,gBAAgB,EAAY,MAAM,OAAO,SAAS,OAAO,OAAO,OAAO,OAAO,GAAqB,EAAa,cAAc,UAAU,WAAW,EAAK,CAAC,SAAS,EAAa,cAAc,EAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAA6B,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,UAAU,SAAS,OAAO,UAAU,MAAM,WAAW,EAAK,CAAC,SAAS,EAAe,CAAC,CAAC,GAAO,GAAkC,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,UAAU,SAAS,OAAO,UAAU,MAAM,WAAW,EAAK,CAAC,SAAS,EAAa,CAAC,CAAC,CAAC,CAAC,wBALh5E,IAAsC,IAAoD,CAA2J,EAAuB,sqCAC41B,CAI0yC,EAAoB,EAAY,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,mBAAmB,CAAC,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,SAAS,CAAC,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,aAAa,CAAC,OAAO,CAAC,KAAK,EAAY,KAAK,MAAM,SAAS,QAAQ,CAAC,SAAS,MAAM,CAAC,aAAa,SAAS,CAAC,YAAY,CAAC,KAAK,EAAY,MAAM,MAAM,eAAe,aAAa,UAAU,CAAC,eAAe,CAAC,KAAK,EAAY,QAAQ,MAAM,mBAAmB,aAAa,GAAM,YAAY,yCAAyC,CAAC,qBAAqB,CAAC,KAAK,EAAY,OAAO,MAAM,yBAAyB,aAAa,aAAa,OAAO,GAAO,CAAC,EAAM,eAAe,CAAC,oBAAoB,CAAC,KAAK,EAAY,OAAO,MAAM,wBAAwB,aAAa,YAAY,OAAO,GAAO,CAAC,EAAM,eAAe,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,aAAa,uCAAuC,YAAY,uBAAuB,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,UAAU,YAAY,yBAAyB,CAAC,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,iBAAiB,aAAa,oBAAoB,YAAY,4DAA4D,CAAC,CAAC"}