{"version":3,"file":"Form.DdlVDHTP.mjs","names":[],"sources":["https:/framerusercontent.com/modules/YhtP5USXYX36gvcfL1V0/GoDLoRXW59IRF6Qi6JNo/Form.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect}from\"react\";const FREE=[\"gmail.com\",\"hotmail.com\",\"outlook.com\",\"yahoo.com\",\"yahoo.com.br\",\"icloud.com\",\"live.com\",\"bol.com.br\",\"uol.com.br\",\"terra.com.br\",\"msn.com\",\"protonmail.com\",\"aol.com\",\"me.com\",\"ymail.com\",\"outlook.com.br\",\"hotmail.com.br\",\"live.com.br\",\"outlook.pt\",\"yahoo.es\",\"ig.com.br\",\"oi.com.br\",\"r7.com\",\"zipmail.com.br\",\"globo.com\",\"globomail.com\"];const setReactValue=(el,value)=>{const proto=el instanceof HTMLSelectElement?HTMLSelectElement.prototype:HTMLInputElement.prototype;const setter=Object.getOwnPropertyDescriptor(proto,\"value\")?.set;setter?.call(el,value);el.dispatchEvent(new Event(\"input\",{bubbles:true}));el.dispatchEvent(new Event(\"change\",{bubbles:true}));};const findInput=m=>Array.from(document.querySelectorAll(\"input\")).find(m)||null;const getByPlaceholder=txt=>findInput(el=>(el.placeholder||\"\").toLowerCase().includes(txt.toLowerCase()));const getSelectByPlaceholder=txt=>{const sels=Array.from(document.querySelectorAll(\"select\"));return sels.find(s=>(s.options[0]?.text||\"\").toLowerCase().includes(txt.toLowerCase()))||null;};const maskBR=raw=>{const v=raw.replace(/\\D/g,\"\").slice(0,11);if(!v)return\"\";if(v.length<=2)return`(${v}`;if(v.length<=6)return`(${v.slice(0,2)}) ${v.slice(2)}`;if(v.length<=10)return`(${v.slice(0,2)}) ${v.slice(2,6)}-${v.slice(6)}`;return`(${v.slice(0,2)}) ${v.slice(2,7)}-${v.slice(7)}`;};// === VALIDADORES CENTRAIS ===\nconst isFreeEmail=v=>{const dom=v.toLowerCase().trim().split(\"@\")[1];return!dom||FREE.includes(dom);};const isInfluencer=v=>{const t=v.toLowerCase();return t.includes(\"influenciador\")||t.includes(\"creator\");};const isValidPhone=v=>{const d=v.replace(/\\D/g,\"\");return d.length===10||d.length===11;};export function withFormGuard(Component){return props=>{useEffect(()=>{let done=false;const setup=()=>{const form=document.querySelector(\"form\");if(!form||done)return;done=true;console.log(\"[FormGuard] form OK\");// === HIDDEN: URL + UTMs ===\nconst url=new URL(window.location.href);const hidden={page_url:window.location.href,utm_source:url.searchParams.get(\"utm_source\")||\"\",utm_medium:url.searchParams.get(\"utm_medium\")||\"\",utm_campaign:url.searchParams.get(\"utm_campaign\")||\"\",utm_term:url.searchParams.get(\"utm_term\")||\"\",utm_content:url.searchParams.get(\"utm_content\")||\"\"};Object.entries(hidden).forEach(([k,v])=>{if(form.querySelector(`input[name=\"${k}\"]`))return;const i=document.createElement(\"input\");i.type=\"hidden\";i.name=k;i.value=v;form.appendChild(i);});const phone=getByPlaceholder(\"telefone\")||findInput(el=>el.type===\"tel\");const email=getByPlaceholder(\"e-mail\")||findInput(el=>el.type===\"email\");const perfil=getSelectByPlaceholder(\"qual \\xe9 o seu perfil\")||getSelectByPlaceholder(\"empresa ou marca\");// === MÁSCARA TELEFONE ===\nif(phone){phone.setAttribute(\"inputmode\",\"tel\");phone.setAttribute(\"maxlength\",\"15\");phone.addEventListener(\"input\",e=>{const cur=e.target.value;const masked=maskBR(cur);if(cur!==masked)setReactValue(phone,masked);});phone.addEventListener(\"blur\",()=>{if(phone.value&&!isValidPhone(phone.value))popup(\"Telefone inv\\xe1lido\",\"Use o formato (11) 99999-9999.\");});}// === EMAIL onBlur ===\nif(email){email.addEventListener(\"blur\",()=>{const v=email.value.trim();if(!v||!v.includes(\"@\"))return;if(isFreeEmail(v)){setReactValue(email,\"\");popup(\"Use um e-mail corporativo\",\"N\\xe3o aceitamos Gmail, Hotmail, Yahoo etc. Preencha com o e-mail da sua empresa.\");}});}// === PERFIL onChange ===\nif(perfil){perfil.addEventListener(\"change\",()=>{const txt=perfil.options[perfil.selectedIndex]?.text||perfil.value||\"\";if(isInfluencer(txt)){setReactValue(perfil,\"\");popup(\"Essa p\\xe1gina \\xe9 para empresas e ag\\xeancias\",\"Se voc\\xea \\xe9 creator/influenciador, temos uma p\\xe1gina dedicada para voc\\xea.\",{label:\"Ir para Creators\",href:\"/creators\"});}});}// === DOUBLE-CHECK NO SUBMIT (capture phase) ===\nconst onSubmit=e=>{const emailVal=email?.value.trim()||\"\";const perfilTxt=perfil?.options[perfil.selectedIndex]?.text||perfil?.value||\"\";const phoneVal=phone?.value||\"\";if(emailVal&&isFreeEmail(emailVal)){e.preventDefault();e.stopImmediatePropagation();if(email)setReactValue(email,\"\");popup(\"Use um e-mail corporativo\",\"Detectamos um e-mail pessoal. Preencha com o e-mail da sua empresa.\");return false;}if(perfilTxt&&isInfluencer(perfilTxt)){e.preventDefault();e.stopImmediatePropagation();if(perfil)setReactValue(perfil,\"\");popup(\"Essa p\\xe1gina \\xe9 para empresas e ag\\xeancias\",\"Se voc\\xea \\xe9 creator/influenciador, temos uma p\\xe1gina dedicada.\",{label:\"Ir para Creators\",href:\"/op-tin-growth\"});return false;}if(phoneVal&&!isValidPhone(phoneVal)){e.preventDefault();e.stopImmediatePropagation();popup(\"Telefone inv\\xe1lido\",\"Use o formato (11) 99999-9999.\");return false;}};form.addEventListener(\"submit\",onSubmit,true)// capture = roda ANTES do Framer\n;// === DOUBLE-CHECK NO CLIQUE DO BOTÃO (fallback) ===\nconst submitBtn=form.querySelector('button[type=\"submit\"], button:not([type])');if(submitBtn){// GATE: a interação nativa do Framer no botão (que libera o\n// material) é um listener anexado DIRETO no nó do botão,\n// registrado assim que o botão monta — antes do nosso\n// MutationObserver rodar. Se a gente também anexasse o gate\n// direto no botão, ele rodaria DEPOIS do listener do Framer\n// (mesmo nó = ordem de registro decide, capture:true não\n// adianta nada nesse caso), então o form vazio passava.\n// Solução: o gate roda no `document`, em capture phase — a\n// fase de captura sempre atravessa do document até o alvo\n// ANTES do alvo processar seus próprios listeners, então\n// isso intercepta o clique antes de ele sequer chegar no\n// botão, não importa o que o Framer tenha anexado nele nem\n// em qual evento (click, pointerdown, mousedown...).\nconst blockIfInvalid=e=>{const target=e.target;if(!target||!submitBtn.contains(target))return false;if(!form.checkValidity()){e.preventDefault();e.stopPropagation();e.stopImmediatePropagation();form.reportValidity();return true;}return false;};[\"pointerdown\",\"mousedown\",\"touchstart\",\"click\"].forEach(type=>{document.addEventListener(type,blockIfInvalid,true);});submitBtn.addEventListener(\"click\",e=>{if(!form.checkValidity())return;// já barrado acima\nconst emailVal=email?.value.trim()||\"\";const perfilTxt=perfil?.options[perfil.selectedIndex]?.text||perfil?.value||\"\";if(emailVal&&isFreeEmail(emailVal)||perfilTxt&&isInfluencer(perfilTxt)){e.preventDefault();e.stopImmediatePropagation();onSubmit(e);}},true);}};setup();const obs=new MutationObserver(setup);obs.observe(document.body,{childList:true,subtree:true});return()=>obs.disconnect();},[]);return /*#__PURE__*/_jsx(Component,{...props});};}function popup(title,msg,cta){document.getElementById(\"__fp\")?.remove();const d=document.createElement(\"div\");d.id=\"__fp\";d.innerHTML=`<div style=\"position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(8px);z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px;font-family:inherit\"><div style=\"background:#111;color:#fff;border:1px solid #2a2a2a;border-radius:20px;padding:32px;max-width:420px;width:100%;text-align:center\"><h3 style=\"font-size:20px;font-weight:600;margin:0 0 12px\">${title}</h3><p style=\"opacity:.7;font-size:15px;line-height:1.5;margin:0 0 24px\">${msg}</p>${cta?`<a href=\"${cta.href}\" style=\"display:inline-block;background:#fff;color:#000;padding:12px 22px;border-radius:999px;text-decoration:none;font-weight:500;margin-right:8px\">${cta.label} ↗</a>`:\"\"}<button onclick=\"document.getElementById('__fp').remove()\" style=\"background:transparent;color:#fff;border:1px solid #333;padding:12px 22px;border-radius:999px;cursor:pointer;font-weight:500\">Fechar</button></div></div>`;document.body.appendChild(d);}\nexport const __FramerMetadata__ = {\"exports\":{\"withFormGuard\":{\"type\":\"reactHoc\",\"name\":\"withFormGuard\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Form.map"],"mappings":"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"}