{"version":3,"file":"AreaCheckModal.cy3Wm9gO.mjs","names":["useState"],"sources":["https:/framerusercontent.com/modules/ADsBxs6ZT44Kfloy8Qfw/eR12oPXvrznn2MDKWTXA/AreaCheckModal.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * \"Check if my area is open\" button that opens a short form (trade, town, name, mobile, email),\n * posts the lead to the BetterWays capture endpoint stamped with the page as UTM content,\n * then opens WhatsApp with the same details typed in.\n *\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 220\n * @framerIntrinsicHeight 48\n * @framerDisableUnlink\n */export default function AreaCheckModal(props){const{label=\"Check if my area is open\",variant=\"orange\",service=\"\",endpoint=\"https://betterways-visibility-funnel.vercel.app/api/capture-lead\",phone=\"447864286695\",heading=\"Check if your area is open\",blurb=\"One business per trade per working radius. Five answers and we check your towns the same day, then reply on WhatsApp.\",submitLabel=\"Check my area\",accent=\"#FF6B1A\",ink=\"#0A0A0A\",surface=\"#FFFFFF\",muted=\"#69686E\",line=\"rgba(10,10,10,0.12)\",radius=12,style}=props;const[open,setOpen]=useState(false);const[trade,setTrade]=useState(\"\");const[area,setArea]=useState(\"\");const[name,setName]=useState(\"\");const[mobile,setMobile]=useState(\"\");const[email,setEmail]=useState(\"\");const[company,setCompany]=useState(\"\");const[touched,setTouched]=useState(false);const[sending,setSending]=useState(false);useEffect(()=>{if(!open)return;const onKey=e=>{if(e.key===\"Escape\")setOpen(false);};window.addEventListener(\"keydown\",onKey);const prev=document.body.style.overflow;document.body.style.overflow=\"hidden\";return()=>{window.removeEventListener(\"keydown\",onKey);document.body.style.overflow=prev;};},[open]);const validEmail=/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(email.trim());const validPhone=mobile.replace(/[^0-9]/g,\"\").length>=10;const ready=trade.trim()&&area.trim()&&name.trim()&&validPhone&&validEmail;const send=async()=>{setTouched(true);if(!ready||sending)return;setSending(true);const path=typeof window!==\"undefined\"?window.location.pathname:\"\";let q=null;try{q=new URLSearchParams(window.location.search);}catch{}const g=k=>q&&q.get(k)||\"\";const slug=(service||path.replace(/^\\/+/,\"\").replace(/\\//g,\"-\")||\"site\").toLowerCase();const payload={name:name.trim(),trade:trade.trim(),postcode:area.trim(),phone:mobile.trim(),email:email.trim(),company,business:\"\",intent:\"Area check: \"+(service||path),page:typeof window!==\"undefined\"?window.location.href:\"\",referrer:typeof document!==\"undefined\"?document.referrer:\"\",utm_source:g(\"utm_source\")||\"website\",utm_medium:g(\"utm_medium\")||\"area-check\",utm_campaign:g(\"utm_campaign\")||slug,utm_content:g(\"utm_content\")||path,utm_term:g(\"utm_term\"),gclid:g(\"gclid\"),fbclid:g(\"fbclid\"),msclkid:g(\"msclkid\"),eventId:\"area-\"+Date.now().toString(36)+\"-\"+Math.random().toString(36).slice(2,8)};try{await fetch(endpoint,{method:\"POST\",mode:\"no-cors\",headers:{\"Content-Type\":\"text/plain\"},body:JSON.stringify(payload)});}catch{}const lines=[`Hi Matthew, is my area open?`,\"\",`Trade: ${trade.trim()}`,`Town / postcode: ${area.trim()}`,`Name: ${name.trim()}`,`Sent from: ${path}`];try{window.open(`https://wa.me/${String(phone).replace(/[^0-9]/g,\"\")}?text=${encodeURIComponent(lines.join(\"\\n\"))}`,\"_blank\",\"noopener\");}catch{}setSending(false);setOpen(false);};const field=(value,set,placeholder,type=\"text\",bad=false)=>/*#__PURE__*/_jsx(\"input\",{value:value,onChange:e=>set(e.target.value),placeholder:placeholder,type:type,inputMode:type===\"tel\"?\"tel\":type===\"email\"?\"email\":\"text\",style:{width:\"100%\",boxSizing:\"border-box\",padding:\"13px 14px\",fontSize:16,fontFamily:\"inherit\",border:`1px solid ${touched&&(!value.trim()||bad)?accent:line}`,borderRadius:10,background:\"#FAFAF9\",color:ink,outline:\"none\"}});const dark=variant===\"dark\";return /*#__PURE__*/_jsxs(\"div\",{style:{...style,display:\"inline-block\",fontFamily:\"Geist, Inter, system-ui, sans-serif\"},children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>setOpen(true),style:{background:dark?ink:accent,color:\"#FFFFFF\",border:\"none\",borderRadius:radius,padding:\"14px 22px\",fontSize:15,fontWeight:600,fontFamily:\"inherit\",cursor:\"pointer\",lineHeight:1.2,boxShadow:dark?\"none\":\"0 6px 18px rgba(255,107,26,0.35)\"},children:label}),open&&/*#__PURE__*/_jsx(\"div\",{onClick:()=>setOpen(false),style:{position:\"fixed\",inset:0,zIndex:9999,background:\"rgba(10,10,10,0.55)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:16},children:/*#__PURE__*/_jsxs(\"div\",{role:\"dialog\",\"aria-modal\":\"true\",onClick:e=>e.stopPropagation(),style:{width:\"100%\",maxWidth:440,maxHeight:\"92vh\",overflowY:\"auto\",background:surface,borderRadius:18,padding:24,boxSizing:\"border-box\",boxShadow:\"0 30px 80px rgba(0,0,0,0.35)\",color:ink},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"flex-start\",gap:12},children:[/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:12,letterSpacing:2,textTransform:\"uppercase\",color:accent,fontWeight:600},children:\"Area exclusive\"}),/*#__PURE__*/_jsx(\"h3\",{style:{margin:\"6px 0 6px\",fontSize:24,lineHeight:1.15,fontWeight:600},children:heading}),/*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontSize:14,lineHeight:1.5,color:muted},children:blurb})]}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>setOpen(false),\"aria-label\":\"Close\",style:{border:\"none\",background:\"transparent\",fontSize:26,lineHeight:1,cursor:\"pointer\",color:muted},children:\"\\xd7\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gap:10,marginTop:18},children:[field(trade,setTrade,\"Your trade, e.g. plumber *\"),field(area,setArea,\"Town or postcode you work from *\"),field(name,setName,\"Your name *\"),field(mobile,setMobile,\"Mobile *\",\"tel\",touched&&!validPhone),field(email,setEmail,\"Email *\",\"email\",touched&&!validEmail),/*#__PURE__*/_jsx(\"input\",{value:company,onChange:e=>setCompany(e.target.value),tabIndex:-1,autoComplete:\"off\",\"aria-hidden\":\"true\",style:{position:\"absolute\",left:-9999,width:1,height:1,opacity:0},placeholder:\"Company\"})]}),touched&&!ready&&/*#__PURE__*/_jsx(\"div\",{style:{marginTop:10,fontSize:13,color:accent},children:\"All five are needed, with a real mobile and email, so the answer can come back to you.\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:send,disabled:sending,style:{marginTop:18,width:\"100%\",background:\"#25D366\",color:\"#0A0A0A\",border:\"none\",borderRadius:12,padding:\"15px 18px\",fontSize:16,fontWeight:600,fontFamily:\"inherit\",cursor:\"pointer\",opacity:sending?.7:1},children:sending?\"Sending...\":submitLabel}),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:10,fontSize:12,lineHeight:1.5,color:muted,textAlign:\"center\"},children:\"Goes to Matthew's phone and opens WhatsApp with your answers typed in.\"})]})})]});}addPropertyControls(AreaCheckModal,{label:{type:ControlType.String,title:\"Button label\",defaultValue:\"Check if my area is open\"},variant:{type:ControlType.Enum,title:\"Style\",options:[\"orange\",\"dark\"],optionTitles:[\"Orange\",\"Dark\"],defaultValue:\"orange\"},service:{type:ControlType.String,title:\"Service tag\",defaultValue:\"\"},endpoint:{type:ControlType.String,title:\"Endpoint\",defaultValue:\"https://betterways-visibility-funnel.vercel.app/api/capture-lead\"},phone:{type:ControlType.String,title:\"WhatsApp number\",defaultValue:\"447864286695\"},heading:{type:ControlType.String,title:\"Heading\",defaultValue:\"Check if your area is open\"},blurb:{type:ControlType.String,title:\"Blurb\",defaultValue:\"One business per trade per working radius. Five answers and we check your towns the same day, then reply on WhatsApp.\"},submitLabel:{type:ControlType.String,title:\"Submit label\",defaultValue:\"Check my area\"},accent:{type:ControlType.Color,title:\"Accent\",defaultValue:\"#FF6B1A\"},ink:{type:ControlType.Color,title:\"Ink\",defaultValue:\"#0A0A0A\"},surface:{type:ControlType.Color,title:\"Surface\",defaultValue:\"#FFFFFF\"},radius:{type:ControlType.Number,title:\"Button radius\",defaultValue:12,min:0,max:40}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AreaCheckModal\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"220\",\"framerIntrinsicHeight\":\"48\",\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"auto\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AreaCheckModal.map"],"mappings":"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"}