{"version":3,"file":"FormEmailValidation.B0weN3GF.mjs","names":["useRef","useState"],"sources":["https:/framerusercontent.com/modules/ej0xThRzDn6xf4eR97wS/KprCwMmRktQRDRrgSW3i/FormEmailValidation.js"],"sourcesContent":["// CookieFormSubmission.tsx\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useRef,useEffect,useState}from\"react\";const PERSONAL_EMAIL_DOMAINS=[\"gmail.com\",\"yahoo.com\",\"hotmail.com\",\"outlook.com\",\"aol.com\",\"icloud.com\",\"me.com\",\"mac.com\",\"live.com\",\"msn.com\",\"protonmail.com\",\"proton.me\",\"zoho.com\",\"yandex.com\",\"mail.com\",\"gmx.com\",\"inbox.com\",\"test.com\"];const UTM_KEYS=[\"utm_source\",\"utm_medium\",\"utm_campaign\",\"utm_term\",\"utm_content\"];function getUTMParams(){const params={};if(typeof window===\"undefined\")return params;const search=new URLSearchParams(window.location.search);let foundInURL=false;for(const key of UTM_KEYS){const val=search.get(key);if(val){params[key]=val;foundInURL=true;try{sessionStorage.setItem(key,val);}catch{}}}if(!foundInURL){for(const key of UTM_KEYS){try{const stored=sessionStorage.getItem(key);if(stored)params[key]=stored;}catch{}}}return params;}function injectUTMHiddenFields(form,utms){for(const[key,value]of Object.entries(utms)){if(!value)continue;let input=form.querySelector(`input[name=\"${key}\"]`);if(!input){input=document.createElement(\"input\");input.type=\"hidden\";input.name=key;form.appendChild(input);}input.value=value;}}function isPersonalEmail(email){const domain=email.split(\"@\")[1]?.toLowerCase();return PERSONAL_EMAIL_DOMAINS.includes(domain);}function isValidEmailFormat(email){return/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(email);}function pickFirstNonEmpty(...vals){for(const v of vals){const s=(typeof v===\"string\"?v:v?.toString?.()??\"\").trim();if(s)return s;}return\"\";}function extractEmail(form){const fd=new FormData(form);const fromKeys=pickFirstNonEmpty(fd.get(\"email\"),fd.get(\"work_email\"),fd.get(\"work email\"),fd.get(\"workEmail\"),fd.get(\"company_email\"),fd.get(\"company email\"),fd.get(\"Email\"),fd.get(\"Work email\"),fd.get(\"Work Email\"),fd.get(\"Company email\"),fd.get(\"Company Email\"));if(fromKeys)return fromKeys.trim().toLowerCase();const emailEl=form.querySelector('input[type=\"email\"]')||form.querySelector('input[name*=\"email\" i], input[id*=\"email\" i]');return(emailEl?.value??\"\").trim().toLowerCase();}function resolveFormFromRef(refEl){if(!refEl)return null;if(refEl.tagName===\"FORM\")return refEl;const closest=refEl.closest(\"form\");if(closest)return closest;const inner=refEl.querySelector(\"form\");if(inner)return inner;return null;}export function withCustomFormSubmit(Component){const WrappedComponent=props=>{const rootRef=useRef(null);const[error,setError]=useState(null);const tracking=props.submitTrackingId;const validateEmail=form=>{setError(null);const email=extractEmail(form);if(!email){setError(\"Please enter an email address\");return false;}if(!isValidEmailFormat(email)){setError(\"Please enter a valid email address\");return false;}if(isPersonalEmail(email)){setError(\"Please use a company email address\");return false;}return true;};useEffect(()=>{const root=rootRef.current;const form=resolveFormFromRef(root);if(!form)return;injectUTMHiddenFields(form,getUTMParams());const submitButton=form.querySelector('button[type=\"submit\"]')||form.querySelector(\"button[data-framer-submit]\")||form.querySelector(\"button\");const emailInput=form.querySelector('input[type=\"email\"]')||form.querySelector('input[name*=\"email\" i], input[id*=\"email\" i]');let errorContainer=document.querySelector(\".custom-form-error-\"+tracking);if(!errorContainer){errorContainer=document.createElement(\"div\");errorContainer.className=\"custom-form-error-\"+tracking;errorContainer.style.cssText=`\n                    width:100%;box-sizing:border-box;\n                    color:#dc2626;font-size:14px;margin-top:8px;padding:12px 16px;background:#fef2f2;\n                    border-radius:8px;border:1px solid #fecaca;display:none;\n                    font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,sans-serif;\n                `;// Insert the error AFTER the form in the form's parent,\n// so it sits below the entire form row instead of getting\n// wedged into the form's internal flex layout.\nconst formParent=form.parentElement;if(formParent){formParent.insertBefore(errorContainer,form.nextSibling);}else{form.appendChild(errorContainer);}}const handleButtonClickCapture=e=>{if(!validateEmail(form)){e.preventDefault();e.stopPropagation();}else{injectUTMHiddenFields(form,getUTMParams());if(typeof window!==\"undefined\"&&window.fbq){window.fbq(\"track\",\"Lead\");}}};const handleEmailKeyDownCapture=e=>{if(e.key!==\"Enter\")return;if(!validateEmail(form)){e.preventDefault();e.stopPropagation();}else{injectUTMHiddenFields(form,getUTMParams());}};// Clear the error as soon as the user starts editing.\nconst handleEmailInput=()=>{setError(null);};submitButton?.addEventListener(\"click\",handleButtonClickCapture,true);emailInput?.addEventListener(\"keydown\",handleEmailKeyDownCapture,true);emailInput?.addEventListener(\"input\",handleEmailInput);return()=>{submitButton?.removeEventListener(\"click\",handleButtonClickCapture,true);emailInput?.removeEventListener(\"keydown\",handleEmailKeyDownCapture,true);emailInput?.removeEventListener(\"input\",handleEmailInput);};},[tracking]);useEffect(()=>{const errorContainer=document.querySelector(\".custom-form-error-\"+tracking);if(!errorContainer)return;if(error){errorContainer.textContent=error;errorContainer.style.display=\"block\";}else{errorContainer.style.display=\"none\";}},[error,tracking]);return /*#__PURE__*/_jsx(Component,{ref:rootRef,...props});};return WrappedComponent;}\nexport const __FramerMetadata__ = {\"exports\":{\"withCustomFormSubmit\":{\"type\":\"reactHoc\",\"name\":\"withCustomFormSubmit\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FormEmailValidation.map"],"mappings":"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"}