{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/NKYDQf2s4Ow3bbmpSW4D/IiGNWbXzY83Ts2Y2wwVY/Form_Modal_Popup.js"],
  "sourcesContent": ["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";export default function PopupForm(props){// pull redirectUrl out of props\nconst{origin,buttonText,redirectUrl}=props;// State for form fields\nconst[name,setName]=useState(\"\");const[email,setEmail]=useState(\"\");const[phone,setPhone]=useState(\"\");const[btnHover,setBtnHover]=useState(false);// Submission result / error\nconst[result,setResult]=useState(null);const[error,setError]=useState(null);const handleSubmit=async e=>{e.preventDefault();// --- VALIDATION ---\nconst emailRegex=/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;if(!emailRegex.test(email)){setError(\"Please enter a valid email address (e.g. user@example.com).\");setResult(null);return;}const phoneRegex=/^\\+?[0-9]{6,14}$/;if(phone&&!phoneRegex.test(phone)){setError(\"Please enter a valid phone number (optional '+' then 6\u201314 digits).\");setResult(null);return;}// --- BUILD & SEND PAYLOAD ---\ntry{const formData={origin,name,email};if(phone)formData.telephone=phone;const response=await fetch(\"https://faas-ams3-2a2df116.doserverless.co/api/v1/web/fn-3aff88e2-d2b6-482c-8af9-6c6e60663813/default/website-to-slack\",{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(formData)});if(!response.ok)throw new Error(`Server error: ${response.statusText}`);const data=await response.json();setResult(data.message);setError(null);// --- REDIRECT IF REQUESTED ---\nif(redirectUrl){window.location.href=redirectUrl;return;}}catch(err){setError(err.message);setResult(null);}// --- OPTIONAL: posthog identify ---\ntry{if(!window.posthog._isIdentified()){window.posthog.identify(email,{email,name});}}catch{}};// Styles (unchanged) \u2026\nconst formStyle={fontFamily:\"chromatica\",display:\"flex\",rowGap:\"15px\",flexDirection:\"column\",width:\"100%\"};// \u2026 rest of your styles \u2026\nreturn /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\"},children:[/*#__PURE__*/_jsxs(\"form\",{onSubmit:handleSubmit,style:formStyle,children:[/*#__PURE__*/_jsx(\"input\",{type:\"hidden\",name:\"origin\",value:origin}),/*#__PURE__*/_jsxs(\"div\",{style:{marginBottom:\"15px\",display:\"flex\",flexDirection:\"column\"},children:[/*#__PURE__*/_jsx(\"label\",{htmlFor:\"name\",style:{fontSize:\"15px\",marginBottom:\"5px\"},children:\"Name:\"}),/*#__PURE__*/_jsx(\"input\",{type:\"text\",id:\"name\",name:\"name\",placeholder:\"Your Name\",value:name,onChange:e=>setName(e.target.value),required:true,style:{padding:\"8px\",fontSize:\"16px\",width:\"100%\",boxSizing:\"border-box\",borderRadius:\"4px\",backgroundColor:\"rgba(220, 220, 220, 0.5)\",color:\"black\",outline:\"1px rgba(255, 255, 255, 0.9)\",border:\"0px\"}})]}),/*#__PURE__*/_jsxs(\"div\",{style:{marginBottom:\"15px\",display:\"flex\",flexDirection:\"column\"},children:[/*#__PURE__*/_jsx(\"label\",{htmlFor:\"email\",style:{fontSize:\"15px\",marginBottom:\"5px\"},children:\"Email:\"}),/*#__PURE__*/_jsx(\"input\",{type:\"email\",id:\"email\",name:\"email\",placeholder:\"your@name.com\",value:email,onChange:e=>setEmail(e.target.value),required:true,style:{padding:\"8px\",fontSize:\"16px\",width:\"100%\",boxSizing:\"border-box\",borderRadius:\"4px\",backgroundColor:\"rgba(220, 220, 220, 0.5)\",color:\"black\",outline:\"1px rgba(255, 255, 255, 0.9)\",border:\"0px\"}})]}),/*#__PURE__*/_jsxs(\"div\",{style:{marginBottom:\"15px\",display:\"flex\",flexDirection:\"column\"},children:[/*#__PURE__*/_jsx(\"label\",{htmlFor:\"phone\",style:{fontSize:\"15px\",marginBottom:\"5px\"},children:\"Phone (optional):\"}),/*#__PURE__*/_jsx(\"input\",{type:\"tel\",id:\"phone\",name:\"phone\",placeholder:\"+31612345678\",value:phone,onChange:e=>setPhone(e.target.value),style:{padding:\"8px\",fontSize:\"16px\",width:\"100%\",boxSizing:\"border-box\",borderRadius:\"4px\",backgroundColor:\"rgba(220, 220, 220, 0.5)\",color:\"black\",outline:\"1px rgba(255, 255, 255, 0.9)\",border:\"0px\"}})]}),/*#__PURE__*/_jsx(\"button\",{type:\"submit\",onMouseEnter:()=>setBtnHover(true),onMouseLeave:()=>setBtnHover(false),style:btnHover?{fontFamily:\"chromatica medium\",padding:\"10px\",fontSize:\"16px\",cursor:\"pointer\",backgroundColor:\"#888\",color:\"white\",border:0,borderRadius:\"6px\"}:{fontFamily:\"chromatica medium\",padding:\"10px\",fontSize:\"16px\",cursor:\"pointer\",backgroundColor:\"black\",color:\"white\",border:0,borderRadius:\"6px\"},children:buttonText})]}),result&&/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:\"chromatica medium\",padding:\"10px\",fontSize:\"16px\",marginTop:\"20px\",borderRadius:\"0px\",color:\"#333333\"},children:result}),error&&/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:\"chromatica medium\",padding:\"10px\",fontSize:\"16px\",marginTop:\"20px\",borderRadius:\"0px\",backgroundColor:\"#f8d7da\",color:\"#721c24\"},children:error})]});}PopupForm.defaultProps={title:\"Book a Demo\",text:\"Please leave your details below and we will contact you as soon as possible.\",origin:\"Book a Demo\",buttonText:\"Submit\",redirectUrl:\"\"};addPropertyControls(PopupForm,{origin:{title:\"origin\",type:ControlType.String},buttonText:{title:\"buttonText\",type:ControlType.String},redirectUrl:{// \u2190 new control\ntitle:\"Redirect URL\",type:ControlType.String,placeholder:\"/thank-you\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PopupForm\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Form_Modal_Popup.map"],
  "mappings": "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",
  "names": ["PopupForm", "props", "origin", "buttonText", "redirectUrl", "name", "setName", "ye", "email", "setEmail", "phone", "setPhone", "btnHover", "setBtnHover", "result", "setResult", "error", "setError", "u", "e", "formData", "response", "data", "window", "err", "p", "addPropertyControls", "ControlType"]
}
