{"version":3,"file":"Simple_email_form.DBaMcsnb.mjs","names":["useState"],"sources":["https:/framerusercontent.com/modules/FfU0P2TBhaciCHIWbD4U/pXo3SBW9u812Ua8Busd4/Simple_email_form.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useState}from\"react\";import{motion}from\"framer-motion\";// Avvoka Email Capture Form\n// Single-field (email only) sibling of the Event Registration Form.\n// Per-deployment config via Framer property controls — no code edits needed.\n// Drop onto any page, paste the HubSpot form ID and GTM event name in the panel.\n// ── UTM helper ───────────────────────────────────────────────────\n// Reads from sessionStorage first (written by site-wide head script),\n// falls back to current URL params in case form is on the landing page itself.\nfunction getUTM(key){return sessionStorage.getItem(key)||new URLSearchParams(window.location.search).get(key)||\"\";}// ─────────────────────────────────────────────────────────────────\nconst PORTAL_ID=\"3063515\";export default function AvvokaEmailForm({formId=\"148d9409-3674-4ea2-8892-0b3a08a3eea7\",gtmEventName=\"email_signup\",eventSlug=\"\",funnelStage=\"tofu\",buttonLabel=\"SUBSCRIBE\",successHeading=\"You're subscribed.\",successBody=\"Thanks — we'll be in touch with the good stuff.\",businessEmailError=\"Please enter a business email address.\"}){const[email,setEmail]=useState(\"\");// idle | submitting | success | error | business_email\nconst[status,setStatus]=useState(\"idle\");const handleSubmit=async e=>{e.preventDefault();if(!email.trim())return;setStatus(\"submitting\");try{// Get visitor IP\nlet ipAddress=\"\";try{const ipRes=await fetch(\"https://api.ipify.org?format=json\");const ipData=await ipRes.json();ipAddress=ipData.ip;}catch{}// Get HubSpot tracking cookie\nconst hutk=document.cookie.split(\"; \").find(row=>row.startsWith(\"hubspotutk=\"))?.split(\"=\")[1]||\"\";const context={pageUri:window.location.href,pageName:document.title};if(hutk)context.hutk=hutk;if(ipAddress)context.ipAddress=ipAddress;const response=await fetch(`https://api.hsforms.com/submissions/v3/integration/submit/${PORTAL_ID}/${formId}`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({fields:[{objectTypeId:\"0-1\",name:\"email\",value:email},// Standard UTMs — last touch (always overwrites)\n{objectTypeId:\"0-1\",name:\"utm_source\",value:getUTM(\"utm_source\")},{objectTypeId:\"0-1\",name:\"utm_medium\",value:getUTM(\"utm_medium\")},{objectTypeId:\"0-1\",name:\"utm_campaign\",value:getUTM(\"utm_campaign\")},{objectTypeId:\"0-1\",name:\"utm_content\",value:getUTM(\"utm_content\")},{objectTypeId:\"0-1\",name:\"utm_term\",value:getUTM(\"utm_term\")},// Last touch UTM properties\n{objectTypeId:\"0-1\",name:\"lt_utm_source\",value:getUTM(\"utm_source\")},{objectTypeId:\"0-1\",name:\"lt_utm_medium\",value:getUTM(\"utm_medium\")},{objectTypeId:\"0-1\",name:\"lt_utm_campaign\",value:getUTM(\"utm_campaign\")},{objectTypeId:\"0-1\",name:\"lt_utm_content\",value:getUTM(\"utm_content\")},{objectTypeId:\"0-1\",name:\"lt_utm_term\",value:getUTM(\"utm_term\")},// HubSpot Ads params\n{objectTypeId:\"0-1\",name:\"hsa_acc\",value:getUTM(\"hsa_acc\")},{objectTypeId:\"0-1\",name:\"hsa_cam\",value:getUTM(\"hsa_cam\")},{objectTypeId:\"0-1\",name:\"hsa_grp\",value:getUTM(\"hsa_grp\")},{objectTypeId:\"0-1\",name:\"hsa_ad\",value:getUTM(\"hsa_ad\")},{objectTypeId:\"0-1\",name:\"hsa_src\",value:getUTM(\"hsa_src\")},{objectTypeId:\"0-1\",name:\"hsa_tgt\",value:getUTM(\"hsa_tgt\")},{objectTypeId:\"0-1\",name:\"hsa_kw\",value:getUTM(\"hsa_kw\")},{objectTypeId:\"0-1\",name:\"hsa_mt\",value:getUTM(\"hsa_mt\")},{objectTypeId:\"0-1\",name:\"hsa_net\",value:getUTM(\"hsa_net\")},{objectTypeId:\"0-1\",name:\"hsa_ver\",value:getUTM(\"hsa_ver\")},// Click IDs\n{objectTypeId:\"0-1\",name:\"hs_google_click_id\",value:getUTM(\"gclid\")},{objectTypeId:\"0-1\",name:\"hs_facebook_click_id\",value:getUTM(\"fbclid\")},{objectTypeId:\"0-1\",name:\"hs_linkedin_click_id\",value:getUTM(\"li_fat_id\")},{objectTypeId:\"0-1\",name:\"microsoft_click_id\",value:getUTM(\"mscklid\")},{objectTypeId:\"0-1\",name:\"reddit_click_id\",value:getUTM(\"rdt_cid\")},// Avvoka campaign fields\n{objectTypeId:\"0-1\",name:\"funnel_stage_entry\",value:funnelStage}],context})});if(response.ok){setStatus(\"success\");// GTM dataLayer push\n// gtmEventName is set per-deployment in the Framer properties panel.\nwindow.dataLayer=window.dataLayer||[];window.dataLayer.push({event:gtmEventName,funnel_stage:funnelStage,form_id:formId,utm_source:getUTM(\"utm_source\"),utm_medium:getUTM(\"utm_medium\"),utm_campaign:getUTM(\"utm_campaign\"),utm_content:getUTM(\"utm_content\"),utm_term:getUTM(\"utm_term\")});if(eventSlug){localStorage.setItem(`email_signed_up_${eventSlug}`,\"true\");window.dispatchEvent(new CustomEvent(\"registration-updated\"));}}else{// HubSpot rejected the submission. When the form is set to\n// block free/personal email domains, the API returns a 400\n// with an error whose errorType is \"BLOCKED_EMAIL\" (message\n// reads \"...blacklisted (free) email domain\"). Detect that\n// case so we can show a targeted \"use a business email\"\n// message instead of the generic fallback.\nlet isBlockedEmail=false;try{const errBody=await response.json();isBlockedEmail=(errBody?.errors||[]).some(err=>err?.errorType===\"BLOCKED_EMAIL\"||/blacklisted|free email|business email/i.test(err?.message||\"\"));}catch{}setStatus(isBlockedEmail?\"business_email\":\"error\");}}catch{setStatus(\"error\");}};if(status===\"success\"){return /*#__PURE__*/_jsxs(\"div\",{style:containerStyle,children:[/*#__PURE__*/_jsx(\"p\",{style:successHeadingStyle,children:successHeading}),/*#__PURE__*/_jsx(\"p\",{style:successTextStyle,children:successBody})]});}return /*#__PURE__*/_jsxs(\"form\",{onSubmit:handleSubmit,style:containerStyle,children:[/*#__PURE__*/_jsx(\"style\",{children:CUSTOM_CSS}),/*#__PURE__*/_jsxs(\"div\",{style:fieldGroupStyle,children:[/*#__PURE__*/_jsx(\"label\",{style:labelStyle,children:\"Work Email\"}),/*#__PURE__*/_jsx(\"input\",{type:\"email\",value:email,onChange:e=>{setEmail(e.target.value);// Clear a previous rejection as the user edits\nif(status===\"business_email\"||status===\"error\")setStatus(\"idle\");},placeholder:\"jane@firm.com\",required:true,style:inputStyle})]}),/*#__PURE__*/_jsx(\"p\",{style:disclaimerStyle,children:\"By submitting, you agree to Avvoka storing your details to send occasional marketing emails. Unsubscribe anytime.\"}),/*#__PURE__*/_jsx(motion.button,{type:\"submit\",disabled:status===\"submitting\",whileHover:status===\"submitting\"?undefined:{scale:1.01},whileTap:status===\"submitting\"?undefined:{scale:.99},style:{...buttonStyle,opacity:status===\"submitting\"?.7:1,cursor:status===\"submitting\"?\"not-allowed\":\"pointer\"},children:status===\"submitting\"?\"Submitting...\":buttonLabel}),status===\"business_email\"&&/*#__PURE__*/_jsx(\"p\",{style:errorStyle,children:businessEmailError}),status===\"error\"&&/*#__PURE__*/_jsx(\"p\",{style:errorStyle,children:\"Something went wrong. Please try again or email marketing@avvoka.com\"})]});}// ── Framer property controls ──────────────────────────────────────\n// These appear in the properties panel when the component is selected.\n// Paste the HubSpot form ID and set the GTM event name — nothing else needed.\naddPropertyControls(AvvokaEmailForm,{formId:{type:ControlType.String,title:\"HubSpot Form ID\",defaultValue:\"148d9409-3674-4ea2-8892-0b3a08a3eea7\",placeholder:\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"},gtmEventName:{type:ControlType.String,title:\"GTM Event Name\",defaultValue:\"email_signup\",placeholder:\"e.g. newsletter_signup_jun_2026\"},eventSlug:{type:ControlType.String,title:\"Event Slug\",defaultValue:\"\"},funnelStage:{type:ControlType.Enum,title:\"Funnel Stage\",defaultValue:\"tofu\",options:[\"tofu\",\"mofu\",\"bofu\"],optionTitles:[\"TOFU\",\"MOFU\",\"BOFU\"]},buttonLabel:{type:ControlType.String,title:\"Button Label\",defaultValue:\"SUBSCRIBE\"},successHeading:{type:ControlType.String,title:\"Success Heading\",defaultValue:\"You're subscribed.\"},successBody:{type:ControlType.String,title:\"Success Body\",defaultValue:\"Thanks — we'll be in touch with the good stuff.\"},businessEmailError:{type:ControlType.String,title:\"Business Email Error\",defaultValue:\"Please enter a business email address.\"}});// ─────────────────────────────────────────────────────────────────\n// --- Styles ---\nconst CUSTOM_CSS=`\nform input::placeholder {\n  color: #FFFFFF;\n  font-family: 'Geist Mono', monospace;\n  font-size: 12px;\n  line-height: 140%;\n  text-transform: uppercase;\n  letter-spacing: 0.08em;\n}\n\nform input:focus {\n  outline: none;\n}\n\nform label:has(+ input:not([type=\"checkbox\"])) {\n  display: none;\n}\n`;const containerStyle={display:\"flex\",flexDirection:\"column\",gap:\"40px\",width:\"100%\",boxSizing:\"border-box\"};const fieldGroupStyle={display:\"flex\",flexDirection:\"column\",gap:\"18px\",width:\"100%\"};const labelStyle={fontFamily:\"'Geist Mono', monospace\",fontSize:\"12px\",fontWeight:400,color:\"#FFFFFF\",textTransform:\"uppercase\",letterSpacing:\"0.08em\"};const inputStyle={width:\"100%\",padding:\"8px 16px\",fontSize:\"14px\",height:\"60px\",fontFamily:\"'Figtree', sans-serif\",color:\"#FFFFFF\",backgroundColor:\"transparent\",border:\"1px solid #333B59\",outline:\"none\",boxSizing:\"border-box\"};const disclaimerStyle={fontFamily:\"'Figtree', sans-serif\",fontSize:\"11px\",color:\"rgba(255, 255, 255, 0.7)\",lineHeight:1.4,margin:0};const buttonStyle={width:\"100%\",padding:\"8px 32px\",fontFamily:\"'Geist Mono', monospace\",fontSize:\"12px\",height:40,fontWeight:400,letterSpacing:\"0.08em\",textTransform:\"uppercase\",color:\"#000A30\",backgroundColor:\"#FFFFFF\",border:\"none\",borderRadius:\"4px\",transition:\"opacity 0.2s\"};const successHeadingStyle={fontFamily:\"'Figtree', sans-serif\",fontSize:\"32px\",fontWeight:500,color:\"#FFFFFF\",letterSpacing:\"-0.03em\",margin:0,lineHeight:\"100%\"};const successTextStyle={fontFamily:\"'Figtree', sans-serif\",fontSize:\"14px\",color:\"rgba(255, 255, 255, 0.7)\",margin:0};const errorStyle={fontFamily:\"'Figtree', sans-serif\",fontSize:\"13px\",color:\"#FEA293\",margin:0};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AvvokaEmailForm\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Simple_email_form.map"],"mappings":"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"}