{"version":3,"file":"Form_test.DRydhnHt.mjs","names":["useState","useCallback"],"sources":["https:/framerusercontent.com/modules/XPlcYqmNWDR3uNS30xOm/8MWXnlwxHMRQu2G4dvd5/Form_test.js"],"sourcesContent":["// ActiveCampaign Form — Framer Component\n// Padre Alex Nogueira — Lead Capture\n//\n// COMO USAR NO FRAMER:\n// 1. Assets > Code > New File > cole este código\n// 2. Arraste o componente para o canvas\n// 3. Customize via painel de propriedades\n//\n// PRÉ-REQUISITO:\n// Adicionar este script no Custom Code > Head do Framer:\n//\n// <script>\n//   var params = new URLSearchParams(window.location.search);\n//   var keys = ['utm_source','utm_medium','utm_campaign','utm_content','utm_term','vk_source','vk_ad_id'];\n//   keys.forEach(function(k) { var v = params.get(k); if (v) localStorage.setItem(k, v); });\n// </script>\n//\n// Isso salva os UTMs da URL no localStorage ANTES do React montar.\n// O componente então lê do localStorage no mount.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useEffect,useCallback}from\"react\";import{addPropertyControls,ControlType}from\"framer\";// ─── Helpers ────────────────────────────────────────────────────────\nfunction getFromStorage(key){if(typeof window===\"undefined\")return\"\";try{return localStorage.getItem(key)||\"\";}catch(e){return\"\";}}function getCurrentUrl(){if(typeof window===\"undefined\")return\"\";return window.location.href;}// ─── Component ──────────────────────────────────────────────────────\nexport default function ActiveCampaignForm({buttonText=\"QUERO MEU MATERIAL\",buttonColor=\"#fec570\",buttonTextColor=\"#141039\",inputBg=\"rgba(255,255,255,0.31)\",inputBorder=\"#ffffff\",inputTextColor=\"#ffffff\",inputPlaceholderOpacity=.5,borderRadius=12,inputHeight=54,buttonHeight=60,gap=12,fontSize=14,fontFamily=\"sans-serif\",namePlaceholder=\"Digite seu nome\",emailPlaceholder=\"Digite seu email\",whatsappPlaceholder=\"Digite seu Whatsapp\",formId=\"63\",acAccountUrl=\"https://padrealexnogueira.activehosted.com\",successMessage=\"Obrigado! Seu material ser\\xe1 enviado em breve.\",redirectUrl=\"\"}){const[fullname,setFullname]=useState(\"\");const[email,setEmail]=useState(\"\");const[phone,setPhone]=useState(\"\");const[status,setStatus]=useState(\"idle\");const[errorMsg,setErrorMsg]=useState(\"\");const[tracking,setTracking]=useState({utmSource:\"\",utmMedium:\"\",utmCampaign:\"\",utmContent:\"\",utmTerm:\"\",pageUrl:\"\",vkAdId:\"\",vkSource:\"\"});// Lê tudo do localStorage (já populado pelo script da head)\nuseEffect(()=>{setTracking({pageUrl:getCurrentUrl(),vkSource:getFromStorage(\"vk_source\"),vkAdId:getFromStorage(\"vk_ad_id\"),utmSource:getFromStorage(\"utm_source\"),utmMedium:getFromStorage(\"utm_medium\"),utmCampaign:getFromStorage(\"utm_campaign\"),utmContent:getFromStorage(\"utm_content\"),utmTerm:getFromStorage(\"utm_term\")});},[]);// ── Validation ───────────────────────────────────────────────────\nconst validate=useCallback(()=>{if(!fullname.trim())return\"Preencha seu nome.\";if(!email.trim())return\"Preencha seu email.\";const re=/^[\\+_a-z0-9-'&=]+(\\.[\\+_a-z0-9-']+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,})$/i;if(!re.test(email))return\"Digite um email v\\xe1lido.\";if(!phone.trim())return\"Preencha seu Whatsapp.\";return null;},[fullname,email,phone]);// ── Submit ───────────────────────────────────────────────────────\nconst handleSubmit=useCallback(async e=>{e.preventDefault();const err=validate();if(err){setErrorMsg(err);setStatus(\"error\");return;}setStatus(\"submitting\");setErrorMsg(\"\");const formData=new FormData;formData.append(\"u\",formId);formData.append(\"f\",formId);formData.append(\"s\",\"\");formData.append(\"c\",\"0\");formData.append(\"m\",\"0\");formData.append(\"act\",\"sub\");formData.append(\"v\",\"2\");formData.append(\"or\",\"9f9bb96f-377e-4170-b159-99c87e8774d8\");// Visíveis\nformData.append(\"fullname\",fullname.trim());formData.append(\"email\",email.trim());formData.append(\"phone\",phone.trim());// Hidden — ActiveCampaign field IDs\nformData.append(\"field[53]\",tracking.pageUrl);formData.append(\"field[34]\",tracking.vkAdId);formData.append(\"field[35]\",tracking.vkSource);formData.append(\"field[56]\",tracking.utmSource);formData.append(\"field[55]\",tracking.utmCampaign);formData.append(\"field[54]\",tracking.utmContent);formData.append(\"field[52]\",tracking.utmTerm);formData.append(\"field[51]\",tracking.utmMedium);// Query string pro JSONP\nconst serialized=new URLSearchParams;for(const[key,value]of formData.entries()){serialized.append(key,value);}const qs=serialized.toString();// ── Estratégia: dispara os dois métodos e redireciona ────\n// Não esperamos resposta — o AC salva o lead de qualquer forma.\n// Tentar esperar causa problemas de CORS no Framer.\n// 1° — fetch (fire-and-forget)\ntry{fetch(`${acAccountUrl}/proc.php?jsonp=true`,{method:\"POST\",headers:{Accept:\"application/json\"},body:formData}).catch(()=>{});}catch(_){}// 2° — JSONP como backup (também fire-and-forget)\ntry{const s=document.createElement(\"script\");s.charset=\"utf-8\";s.src=`${acAccountUrl}/proc.php?${qs}&jsonp=true`;document.head.appendChild(s);}catch(_){}// 3° — Dispara pixel de conversão\nif(typeof window.trackConversion===\"function\"){window.trackConversion();}if(typeof window.fbq===\"function\"){window.fbq(\"track\",\"Lead\");}setStatus(\"success\");// 4° — Redireciona após breve delay (dá tempo pro pixel e AC)\nif(redirectUrl){setTimeout(()=>{window.location.assign(redirectUrl);},600);}},[fullname,email,phone,validate,formId,acAccountUrl,tracking,redirectUrl]);// ── Styles ───────────────────────────────────────────────────────\nconst inputStyle={width:\"100%\",height:`${inputHeight}px`,padding:\"0 24px\",color:inputTextColor,backgroundColor:inputBg,border:`1px solid ${inputBorder}`,borderRadius:`${borderRadius}px`,fontSize:`${fontSize}px`,fontFamily,boxSizing:\"border-box\",outline:\"none\",transition:\"border-color 0.2s ease\"};const buttonStyle={width:\"100%\",height:`${buttonHeight}px`,backgroundColor:buttonColor,color:buttonTextColor,border:\"none\",borderRadius:`${borderRadius}px`,fontSize:\"16px\",fontWeight:700,fontFamily,cursor:status===\"submitting\"?\"not-allowed\":\"pointer\",opacity:status===\"submitting\"?.7:1,transition:\"opacity 0.2s ease, transform 0.1s ease\"};const css=`\n        .ac-framer-input::placeholder {\n            color: ${inputTextColor} !important;\n            opacity: ${inputPlaceholderOpacity};\n        }\n        .ac-framer-input:focus {\n            border-color: ${buttonColor};\n        }\n        .ac-framer-btn:hover {\n            opacity: 0.9;\n            transform: translateY(-1px);\n        }\n        .ac-framer-btn:active {\n            transform: translateY(0);\n        }\n    `;if(status===\"success\"&&!redirectUrl){return /*#__PURE__*/_jsx(\"div\",{style:{color:\"#ffffff\",fontSize:\"18px\",textAlign:\"center\",padding:\"20px 0\",fontFamily},children:successMessage});}return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:`${gap}px`,width:\"100%\",fontFamily,fontSize:`${fontSize}px`,boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsx(\"style\",{children:css}),/*#__PURE__*/_jsx(\"input\",{className:\"ac-framer-input\",type:\"text\",placeholder:namePlaceholder,value:fullname,onChange:e=>{setFullname(e.target.value);if(status===\"error\")setStatus(\"idle\");},style:inputStyle,\"aria-label\":\"Nome completo\"}),/*#__PURE__*/_jsx(\"input\",{className:\"ac-framer-input\",type:\"email\",placeholder:emailPlaceholder,value:email,onChange:e=>{setEmail(e.target.value);if(status===\"error\")setStatus(\"idle\");},style:inputStyle,\"aria-label\":\"Email\"}),/*#__PURE__*/_jsx(\"input\",{className:\"ac-framer-input\",type:\"tel\",placeholder:whatsappPlaceholder,value:phone,onChange:e=>{setPhone(e.target.value);if(status===\"error\")setStatus(\"idle\");},style:inputStyle,\"aria-label\":\"Whatsapp\"}),status===\"error\"&&errorMsg&&/*#__PURE__*/_jsx(\"div\",{style:{color:\"#FF6B6B\",fontSize:\"13px\",marginTop:\"-4px\",fontFamily},children:errorMsg}),/*#__PURE__*/_jsx(\"button\",{className:\"ac-framer-btn\",onClick:handleSubmit,disabled:status===\"submitting\",style:buttonStyle,\"aria-label\":buttonText,children:status===\"submitting\"?\"Enviando...\":buttonText})]});}// ─── Framer Property Controls ───────────────────────────────────────\naddPropertyControls(ActiveCampaignForm,{buttonText:{type:ControlType.String,title:\"Texto do Bot\\xe3o\",defaultValue:\"QUERO MEU MATERIAL\"},buttonColor:{type:ControlType.Color,title:\"Cor do Bot\\xe3o\",defaultValue:\"#fec570\"},buttonTextColor:{type:ControlType.Color,title:\"Cor Texto Bot\\xe3o\",defaultValue:\"#141039\"},inputBg:{type:ControlType.Color,title:\"Fundo dos Inputs\",defaultValue:\"rgba(255,255,255,0.31)\"},inputBorder:{type:ControlType.Color,title:\"Borda dos Inputs\",defaultValue:\"#ffffff\"},inputTextColor:{type:ControlType.Color,title:\"Cor Texto Input\",defaultValue:\"#ffffff\"},inputPlaceholderOpacity:{type:ControlType.Number,title:\"Opacidade Placeholder\",defaultValue:.5,min:0,max:1,step:.1},borderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:12,min:0,max:30},inputHeight:{type:ControlType.Number,title:\"Altura Input\",defaultValue:54,min:36,max:80},buttonHeight:{type:ControlType.Number,title:\"Altura Bot\\xe3o\",defaultValue:60,min:40,max:100},gap:{type:ControlType.Number,title:\"Espa\\xe7amento\",defaultValue:12,min:0,max:32},fontSize:{type:ControlType.Number,title:\"Font Size\",defaultValue:14,min:12,max:24},namePlaceholder:{type:ControlType.String,title:\"Placeholder Nome\",defaultValue:\"Digite seu nome\"},emailPlaceholder:{type:ControlType.String,title:\"Placeholder Email\",defaultValue:\"Digite seu email\"},whatsappPlaceholder:{type:ControlType.String,title:\"Placeholder WhatsApp\",defaultValue:\"Digite seu Whatsapp\"},formId:{type:ControlType.String,title:\"AC Form ID\",defaultValue:\"63\"},acAccountUrl:{type:ControlType.String,title:\"AC Account URL\",defaultValue:\"https://padrealexnogueira.activehosted.com\"},successMessage:{type:ControlType.String,title:\"Mensagem Sucesso\",defaultValue:\"Obrigado! Seu material ser\\xe1 enviado em breve.\"},redirectUrl:{type:ControlType.String,title:\"URL Redirecionamento\",defaultValue:\"\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ActiveCampaignForm\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Form_test.map"],"mappings":"6MAoBA,SAAS,EAAe,EAAI,CAAC,GAAU,IAAS,OAAY,MAAM,GAAG,GAAG,CAAC,OAAO,aAAa,QAAQ,EAAI,EAAE,QAAY,CAAC,MAAM,IAAK,SAAS,GAAe,CAAyC,OAA9B,IAAS,OAAkB,GAAU,EAAO,SAAS,KAC3N,SAAwB,EAAmB,CAAC,aAAW,qBAAqB,cAAY,UAAU,kBAAgB,UAAU,UAAQ,yBAAyB,cAAY,UAAU,iBAAe,UAAU,0BAAwB,GAAG,eAAa,GAAG,cAAY,GAAG,eAAa,GAAG,MAAI,GAAG,WAAS,GAAG,aAAW,aAAa,kBAAgB,kBAAkB,mBAAiB,mBAAmB,sBAAoB,sBAAsB,SAAO,KAAK,eAAa,6CAA6C,iBAAe,gDAAmD,cAAY,IAAI,CAAC,GAAK,CAAC,EAAS,GAAaA,EAAS,GAAG,CAAM,CAAC,EAAM,GAAUA,EAAS,GAAG,CAAM,CAAC,EAAM,GAAUA,EAAS,GAAG,CAAM,CAAC,EAAO,GAAWA,EAAS,OAAO,CAAM,CAAC,EAAS,GAAaA,EAAS,GAAG,CAAM,CAAC,EAAS,GAAaA,EAAS,CAAC,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,CAAC,CACr5B,MAAc,CAAC,EAAY,CAAC,QAAQ,GAAe,CAAC,SAAS,EAAe,YAAY,CAAC,OAAO,EAAe,WAAW,CAAC,UAAU,EAAe,aAAa,CAAC,UAAU,EAAe,aAAa,CAAC,YAAY,EAAe,eAAe,CAAC,WAAW,EAAe,cAAc,CAAC,QAAQ,EAAe,WAAW,CAAC,CAAC,EAAG,EAAE,CAAC,CACvU,IAAM,EAASC,MAAqB,EAAS,MAAM,CAAgC,EAAM,MAAM,CAAsC,gFAAuF,KAAK,EAAM,CAAwC,EAAM,MAAM,CAAuC,KAAhC,yBAApD,0BAAxI,sBAA5C,qBAA+Q,CAAC,EAAS,EAAM,EAAM,CAAC,CAC1V,EAAaA,EAAY,KAAM,IAAG,CAAC,EAAE,gBAAgB,CAAC,IAAM,EAAI,GAAU,CAAC,GAAG,EAAI,CAAC,EAAY,EAAI,CAAC,EAAU,QAAQ,CAAC,OAAQ,EAAU,aAAa,CAAC,EAAY,GAAG,CAAC,IAAM,EAAS,IAAI,SAAS,EAAS,OAAO,IAAI,EAAO,CAAC,EAAS,OAAO,IAAI,EAAO,CAAC,EAAS,OAAO,IAAI,GAAG,CAAC,EAAS,OAAO,IAAI,IAAI,CAAC,EAAS,OAAO,IAAI,IAAI,CAAC,EAAS,OAAO,MAAM,MAAM,CAAC,EAAS,OAAO,IAAI,IAAI,CAAC,EAAS,OAAO,KAAK,uCAAuC,CAC7b,EAAS,OAAO,WAAW,EAAS,MAAM,CAAC,CAAC,EAAS,OAAO,QAAQ,EAAM,MAAM,CAAC,CAAC,EAAS,OAAO,QAAQ,EAAM,MAAM,CAAC,CACvH,EAAS,OAAO,YAAY,EAAS,QAAQ,CAAC,EAAS,OAAO,YAAY,EAAS,OAAO,CAAC,EAAS,OAAO,YAAY,EAAS,SAAS,CAAC,EAAS,OAAO,YAAY,EAAS,UAAU,CAAC,EAAS,OAAO,YAAY,EAAS,YAAY,CAAC,EAAS,OAAO,YAAY,EAAS,WAAW,CAAC,EAAS,OAAO,YAAY,EAAS,QAAQ,CAAC,EAAS,OAAO,YAAY,EAAS,UAAU,CAC1X,IAAM,EAAW,IAAI,gBAAgB,IAAI,GAAK,CAAC,EAAI,KAAS,EAAS,SAAS,CAAE,EAAW,OAAO,EAAI,EAAM,CAAE,IAAM,EAAG,EAAW,UAAU,CAI5I,GAAG,CAAC,MAAM,GAAG,EAAa,sBAAsB,CAAC,OAAO,OAAO,QAAQ,CAAC,OAAO,mBAAmB,CAAC,KAAK,EAAS,CAAC,CAAC,UAAU,GAAG,MAAU,EAC1I,GAAG,CAAC,IAAM,EAAE,SAAS,cAAc,SAAS,CAAC,EAAE,QAAQ,QAAQ,EAAE,IAAI,GAAG,EAAa,YAAY,EAAG,aAAa,SAAS,KAAK,YAAY,EAAE,MAAU,EACpJ,OAAO,EAAO,iBAAkB,YAAY,EAAO,iBAAiB,CAAK,OAAO,EAAO,KAAM,YAAY,EAAO,IAAI,QAAQ,OAAO,CAAE,EAAU,UAAU,CACzJ,GAAa,eAAe,CAAC,EAAO,SAAS,OAAO,EAAY,EAAG,IAAI,EAAI,CAAC,EAAS,EAAM,EAAM,EAAS,EAAO,EAAa,EAAS,EAAY,CAAC,CACjJ,EAAW,CAAC,MAAM,OAAO,OAAO,GAAG,EAAY,IAAI,QAAQ,SAAS,MAAM,EAAe,gBAAgB,EAAQ,OAAO,aAAa,IAAc,aAAa,GAAG,EAAa,IAAI,SAAS,GAAG,EAAS,IAAI,aAAW,UAAU,aAAa,QAAQ,OAAO,WAAW,yBAAyB,CAAO,EAAY,CAAC,MAAM,OAAO,OAAO,GAAG,EAAa,IAAI,gBAAgB,EAAY,MAAM,EAAgB,OAAO,OAAO,aAAa,GAAG,EAAa,IAAI,SAAS,OAAO,WAAW,IAAI,aAAW,OAAO,IAAS,aAAa,cAAc,UAAU,QAAQ,IAAS,aAAa,GAAG,EAAE,WAAW,yCAAyC,CAAO,EAAI;;qBAEjnB,EAAe;uBACb,EAAwB;;;4BAGnB,EAAY;;;;;;;;;MASqJ,OAApL,IAAS,WAAW,CAAC,EAAiC,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,UAAU,SAAS,OAAO,UAAU,SAAS,QAAQ,SAAS,aAAW,CAAC,SAAS,EAAe,CAAC,CAAsB,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,cAAc,SAAS,IAAI,GAAG,EAAI,IAAI,MAAM,OAAO,aAAW,SAAS,GAAG,EAAS,IAAI,UAAU,aAAa,CAAC,SAAS,CAAc,EAAK,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAc,EAAK,QAAQ,CAAC,UAAU,kBAAkB,KAAK,OAAO,YAAY,EAAgB,MAAM,EAAS,SAAS,GAAG,CAAC,EAAY,EAAE,OAAO,MAAM,CAAI,IAAS,SAAQ,EAAU,OAAO,EAAG,MAAM,EAAW,aAAa,gBAAgB,CAAC,CAAc,EAAK,QAAQ,CAAC,UAAU,kBAAkB,KAAK,QAAQ,YAAY,EAAiB,MAAM,EAAM,SAAS,GAAG,CAAC,EAAS,EAAE,OAAO,MAAM,CAAI,IAAS,SAAQ,EAAU,OAAO,EAAG,MAAM,EAAW,aAAa,QAAQ,CAAC,CAAc,EAAK,QAAQ,CAAC,UAAU,kBAAkB,KAAK,MAAM,YAAY,EAAoB,MAAM,EAAM,SAAS,GAAG,CAAC,EAAS,EAAE,OAAO,MAAM,CAAI,IAAS,SAAQ,EAAU,OAAO,EAAG,MAAM,EAAW,aAAa,WAAW,CAAC,CAAC,IAAS,SAAS,GAAuB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,UAAU,SAAS,OAAO,UAAU,OAAO,aAAW,CAAC,SAAS,EAAS,CAAC,CAAc,EAAK,SAAS,CAAC,UAAU,gBAAgB,QAAQ,EAAa,SAAS,IAAS,aAAa,MAAM,EAAY,aAAa,EAAW,SAAS,IAAS,aAAa,cAAc,EAAW,CAAC,CAAC,CAAC,CAAC,sBA/Bp3C,IAAkD,IAAoD,CAgC/J,EAAoB,EAAmB,CAAC,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,iBAAoB,aAAa,qBAAqB,CAAC,YAAY,CAAC,KAAK,EAAY,MAAM,MAAM,eAAkB,aAAa,UAAU,CAAC,gBAAgB,CAAC,KAAK,EAAY,MAAM,MAAM,kBAAqB,aAAa,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAY,MAAM,MAAM,mBAAmB,aAAa,yBAAyB,CAAC,YAAY,CAAC,KAAK,EAAY,MAAM,MAAM,mBAAmB,aAAa,UAAU,CAAC,eAAe,CAAC,KAAK,EAAY,MAAM,MAAM,kBAAkB,aAAa,UAAU,CAAC,wBAAwB,CAAC,KAAK,EAAY,OAAO,MAAM,wBAAwB,aAAa,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,eAAkB,aAAa,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAY,OAAO,MAAM,cAAiB,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,KAAK,EAAY,OAAO,MAAM,mBAAmB,aAAa,kBAAkB,CAAC,iBAAiB,CAAC,KAAK,EAAY,OAAO,MAAM,oBAAoB,aAAa,mBAAmB,CAAC,oBAAoB,CAAC,KAAK,EAAY,OAAO,MAAM,uBAAuB,aAAa,sBAAsB,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,KAAK,CAAC,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,iBAAiB,aAAa,6CAA6C,CAAC,eAAe,CAAC,KAAK,EAAY,OAAO,MAAM,mBAAmB,aAAa,gDAAmD,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,uBAAuB,aAAa,GAAG,CAAC,CAAC"}