{"version":3,"file":"FormValidation.CT1FAQv4.mjs","names":["__legacyOverrideHOC_DataObserverContext","_jsx"],"sources":["https:/framerusercontent.com/modules/ijU80QrKvPycxNwHGsVe/TacjUAGCoFZubEmEbBLF/FormValidation.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";// Salva il momento in cui il form viene caricato\nlet formLoadTime=Date.now();export function validateForm(){return{onSubmit:event=>{event.preventDefault();// Ottieni i dati dal form\nconst formData=new FormData(event.target);// Converti in stringhe (gestendo File e null)\nconst getNomeValue=formData.get(\"Nome\")||formData.get(\"nome\")||formData.get(\"Name\")||formData.get(\"name\");const getEmailValue=formData.get(\"Email\")||formData.get(\"email\");const getMessaggioValue=formData.get(\"Messaggio\")||formData.get(\"messaggio\")||formData.get(\"Message\")||formData.get(\"message\");const nome=getNomeValue?String(getNomeValue):\"\";const email=getEmailValue?String(getEmailValue):\"\";const messaggio=getMessaggioValue?String(getMessaggioValue):\"\";// CONTROLLO 1: Tempo di compilazione (blocca bot che compilano in meno di 3 secondi)\nconst timeTaken=(Date.now()-formLoadTime)/1e3;if(timeTaken<3){alert(\"Per favore prenditi un momento per compilare il form correttamente.\");return false;}// CONTROLLO 2: Nome troppo corto o troppo lungo\nif(!nome||nome.length<2||nome.length>50){alert(\"Per favore inserisci un nome valido (minimo 2 caratteri).\");return false;}// CONTROLLO 3: Blocca nomi con pattern strani\nconst weirdNamePattern=/^[A-Z]{3,}[a-z]{3,}[A-Z]{3,}|^[a-z]+[A-Z]+[a-z]+[A-Z]+/;if(weirdNamePattern.test(nome)){alert(\"Il nome inserito non sembra valido. Per favore usa il tuo nome reale.\");return false;}// CONTROLLO 4: Nome deve contenere almeno una lettera\nif(!/[a-zA-Z]/.test(nome)){alert(\"Il nome deve contenere almeno una lettera.\");return false;}// CONTROLLO 5: Verifica formato email corretto\nconst emailPattern=/^[^\\s@]+@[^\\s@]+\\.[^\\s@]{2,}$/;if(!email||!emailPattern.test(email)){alert(\"Per favore inserisci un'email valida.\");return false;}// CONTROLLO 6: Blocca email temporanee/fake\nconst spamDomains=[\"tempmail\",\"guerrillamail\",\"10minutemail\",\"throwaway\",\"mailinator\",\"trashmail\",\"yopmail\",\"fakeinbox\",\"temp-mail\",\"disposable\",\"burner\"];const emailLower=email.toLowerCase();const isSpamEmail=spamDomains.some(spam=>emailLower.includes(spam));if(isSpamEmail){alert(\"Per favore usa un indirizzo email valido e permanente.\");return false;}// CONTROLLO 7: Messaggio (OPZIONALE - valida solo se compilato)\nif(messaggio){// Se c'è un messaggio, deve essere almeno di 10 caratteri\nif(messaggio.length<10){alert(\"Il messaggio deve essere di almeno 10 caratteri (oppure lascialo vuoto).\");return false;}// Messaggio troppo lungo (possibile spam)\nif(messaggio.length>2e3){alert(\"Il messaggio \\xe8 troppo lungo. Massimo 2000 caratteri.\");return false;}}// SE PASSA TUTTI I CONTROLLI, INVIA IL FORM\nconsole.log(\"✅ Form validato correttamente\");event.target.submit();}};}// Reset del timer quando la pagina viene caricata\nif(typeof window!==\"undefined\"){window.addEventListener(\"load\",()=>{formLoadTime=Date.now();});}import{useContext as __legacyOverrideHOC_useContext}from\"react\";import{DataObserverContext as __legacyOverrideHOC_DataObserverContext}from\"framer\";export function withvalidateForm(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...validateForm(props)});};}withvalidateForm.displayName=\"validateForm\";\nexport const __FramerMetadata__ = {\"exports\":{\"validateForm\":{\"type\":\"override\",\"name\":\"validateForm\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withvalidateForm\":{\"type\":\"reactHoc\",\"name\":\"withvalidateForm\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FormValidation.map"],"mappings":"iLAC4B,SAAgB,GAAc,CAAC,MAAM,CAAC,SAAS,GAAO,CAAC,EAAM,gBAAgB,CACzG,IAAM,EAAS,IAAI,SAAS,EAAM,OAAO,CACnC,EAAa,EAAS,IAAI,OAAO,EAAE,EAAS,IAAI,OAAO,EAAE,EAAS,IAAI,OAAO,EAAE,EAAS,IAAI,OAAO,CAAO,EAAc,EAAS,IAAI,QAAQ,EAAE,EAAS,IAAI,QAAQ,CAAO,EAAkB,EAAS,IAAI,YAAY,EAAE,EAAS,IAAI,YAAY,EAAE,EAAS,IAAI,UAAU,EAAE,EAAS,IAAI,UAAU,CAAO,EAAK,EAAa,OAAO,EAAa,CAAC,GAAS,EAAM,EAAc,OAAO,EAAc,CAAC,GAAS,EAAU,EAAkB,OAAO,EAAkB,CAAC,GAC3Z,IAA7B,KAAK,KAAK,CAAC,GAAc,IAAiB,EAAgF,OAA7E,MAAM,sEAAsE,CAAQ,GAClJ,GAAG,CAAC,GAAM,EAAK,OAAO,GAAG,EAAK,OAAO,GAAuE,OAAnE,MAAM,4DAA4D,CAAQ,GACnC,GAAzD,yDAA6E,KAAK,EAAK,CAAiF,OAA/E,MAAM,wEAAwE,CAAQ,GACtM,GAAG,CAAC,WAAW,KAAK,EAAK,CAAsD,OAApD,MAAM,6CAA6C,CAAQ,GACnC,GAAG,CAAC,GAAO,CAA3C,gCAAyD,KAAK,EAAM,CAAiD,OAA/C,MAAM,wCAAwC,CAAQ,GAC/I,IAAM,EAAY,CAAC,WAAW,gBAAgB,eAAe,YAAY,aAAa,YAAY,UAAU,YAAY,YAAY,aAAa,SAAS,CAAO,EAAW,EAAM,aAAa,CAAqE,GAAlD,EAAY,KAAK,GAAM,EAAW,SAAS,EAAK,CAAC,CAAiF,OAAhE,MAAM,yDAAyD,CAAQ,GAC3V,GAAG,EAAU,CACb,GAAG,EAAU,OAAO,GAAsF,OAAlF,MAAM,2EAA2E,CAAQ,GACjH,GAAG,EAAU,OAAO,IAAsE,OAAjE,MAAM,uDAA0D,CAAQ,GACjG,QAAQ,IAAI,gCAAgC,CAAC,EAAM,OAAO,QAAQ,EAAG,CAC8K,SAAgB,EAAiB,EAAE,CAAC,MAAO,KAAQ,EAA+BA,EAAwC,CAAQC,EAAK,EAAE,CAAC,GAAG,EAAM,GAAG,EAAa,EAAM,CAAC,CAAC,yBAdnX,IAcqH,IAAmF,CAb/O,EAAa,KAAK,KAAK,CAajB,IAAS,QAAa,EAAO,iBAAiB,WAAW,CAAC,EAAa,KAAK,KAAK,EAAG,CAAoU,EAAiB,YAAY"}