{"version":3,"file":"CaptchaCode.DcuePo5T.mjs","names":["useRef","useState","__esmMin","init_ssg_sandbox_shims","init_npm_react_18_3_1","window","ce","init_jsx_runtime","c","p","_e","de","addPropertyControls","RenderTarget","ControlType","init_framer_D6uXRwWs","Captcha","ref","widgetRef","tokenRef","error","setError","onCanvas","siteKey","w","widgetId","render","token","s","form","onSubmit","placeholder","box","fieldName","errorMessage","init_CaptchaCode"],"sources":["https:/framerusercontent.com/modules/T1Vrv06GMV3adzZd69Qu/hnbsVCOs4nXtGjqobl19/CaptchaCode.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";/**\n * reCAPTCHA v2 (checkbox) para Form do Framer. Coloque dentro do Form: quando\n * a pessoa marca o checkbox, o token vai para o campo oculto captcha_token,\n * que o Framer envia junto para o webhook. Quem valida o token é o n8n.\n *\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function Captcha({siteKey,fieldName,theme,errorMessage}){const ref=useRef(null);const widgetRef=useRef(null);const tokenRef=useRef(null);const[error,setError]=useState(false);const onCanvas=RenderTarget.current()===RenderTarget.canvas;// Carrega o script do Google e desenha o checkbox\nuseEffect(()=>{if(onCanvas||!siteKey)return;const w=window;let widgetId=null;const render=()=>{if(!widgetRef.current||widgetId!==null)return;widgetId=w.grecaptcha.render(widgetRef.current,{sitekey:siteKey,theme,callback:token=>{tokenRef.current.value=token;setError(false);},\"expired-callback\":()=>{tokenRef.current.value=\"\";}});};if(w.grecaptcha?.render)render();else{w.onRecaptchaLoad=render;if(!document.getElementById(\"recaptcha-script\")){const s=document.createElement(\"script\");s.id=\"recaptcha-script\";s.src=\"https://www.google.com/recaptcha/api.js?onload=onRecaptchaLoad&render=explicit\";document.head.appendChild(s);}}},[siteKey]);// Sem o checkbox marcado, segura o envio e aponta para o checkbox\nuseEffect(()=>{const form=ref.current?.closest(\"form\");if(onCanvas||!form)return;function onSubmit(e){if(tokenRef.current?.value)return;// marcado: segue o envio normal do Framer\ne.preventDefault();e.stopPropagation();setError(true);widgetRef.current?.scrollIntoView({behavior:\"smooth\",block:\"center\"});}form.addEventListener(\"submit\",onSubmit);return()=>form.removeEventListener(\"submit\",onSubmit);},[]);if(onCanvas){return /*#__PURE__*/_jsxs(\"div\",{style:placeholder,children:[/*#__PURE__*/_jsx(\"span\",{style:box}),\"I'm not a robot\",/*#__PURE__*/_jsx(\"span\",{style:{marginLeft:\"auto\",fontSize:10,color:\"#999\"},children:\"reCAPTCHA\"})]});}return /*#__PURE__*/_jsxs(\"div\",{ref:ref,children:[/*#__PURE__*/_jsx(\"input\",{ref:tokenRef,type:\"hidden\",name:fieldName}),/*#__PURE__*/_jsx(\"div\",{ref:widgetRef,style:{width:304,borderRadius:4,outline:error?\"2px solid #e5484d\":\"2px solid transparent\",outlineOffset:2,transition:\"outline-color 0.2s\"}}),error&&/*#__PURE__*/_jsx(\"p\",{style:{color:\"#e5484d\",fontSize:14,fontWeight:500,margin:\"8px 0 0\"},children:errorMessage})]});}const placeholder={width:304,height:78,boxSizing:\"border-box\",display:\"flex\",alignItems:\"center\",gap:12,padding:\"0 12px\",border:\"1px solid #d3d3d3\",borderRadius:3,background:\"#f9f9f9\",fontSize:14,color:\"#222\"};const box={width:24,height:24,border:\"2px solid #c1c1c1\",borderRadius:2,background:\"#fff\"};addPropertyControls(Captcha,{siteKey:{type:ControlType.String,title:\"Site Key\"},fieldName:{type:ControlType.String,title:\"Campo\",defaultValue:\"captcha_token\"},theme:{type:ControlType.Enum,title:\"Tema\",options:[\"light\",\"dark\"],defaultValue:\"light\"},errorMessage:{type:ControlType.String,title:\"Erro\",defaultValue:\"Marque “N\\xe3o sou um rob\\xf4” para enviar.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Captcha\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"auto\",\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CaptchaCode.map"],"mappings":"A,sNAOG,SAAwBgB,EAAQ,CAAC,UAAQ,YAAU,QAAM,gBAAc,CAAC,IAAMC,EAAIjB,EAAO,IAAI,EAAQkB,EAAUlB,EAAO,IAAI,EAAQmB,EAASnB,EAAO,IAAI,EAAO,CAACoB,EAAMC,GAAUpB,EAAS,EAAK,EAAQqB,EAAST,EAAa,QAAQ,IAAIA,EAAa,OAGsN,OAF5cP,MAAc,CAAC,GAAGgB,GAAU,CAACC,EAAQ,OAAO,IAAMC,EAAEnB,EAAWoB,EAAS,KAAWC,MAAW,CAAKR,EAAU,SAASO,IAAW,OAAY,EAASD,EAAE,WAAW,OAAON,EAAU,QAAQ,CAAC,QAAQK,EAAQ,QAAM,SAAS,GAAO,CAAC,EAAS,QAAQ,MAAMI,EAAMN,EAAS,EAAK,CAAE,EAAE,uBAAuB,CAAC,EAAS,QAAQ,MAAM,EAAG,CAAC,CAAC,EAAE,EAAE,GAAGG,EAAE,YAAY,OAAOE,EAAO,OAAgC,GAAzB,EAAE,gBAAgBA,EAAU,CAAC,SAAS,eAAe,kBAAkB,EAAE,CAAC,IAAME,EAAE,SAAS,cAAc,QAAQ,EAAE,EAAE,GAAG,mBAAmB,EAAE,IAAI,iFAAiF,SAAS,KAAK,YAAYA,CAAC,CAAE,CAAE,EAAE,CAACL,CAAO,CAAC,EAC7nBjB,MAAc,CAAC,IAAMuB,EAAKZ,EAAI,SAAS,QAAQ,MAAM,EAAE,GAAGK,GAAU,CAACO,EAAK,OAAO,SAASC,EAAS,EAAE,CAAIX,EAAS,SAAS,QAC3H,EAAE,eAAe,EAAE,EAAE,gBAAgB,EAAEE,EAAS,EAAI,EAAEH,EAAU,SAAS,eAAe,CAAC,SAAS,SAAS,MAAM,QAAQ,CAAC,EAAE,CAA0C,OAAzCW,EAAK,iBAAiB,SAASC,CAAQ,MAAYD,EAAK,oBAAoB,SAASC,CAAQ,CAAE,EAAE,CAAC,CAAC,EAAKR,EAA8B,gBAAM,MAAM,CAAC,MAAMS,EAAY,SAAS,CAAc,gBAAK,OAAO,CAAC,MAAMC,CAAG,CAAC,EAAE,kBAA+B,gBAAK,OAAO,CAAC,MAAM,CAAC,WAAW,OAAO,SAAS,GAAG,MAAM,MAAM,EAAE,SAAS,WAAW,CAAC,CAAC,CAAC,CAAC,EAAuB,gBAAM,MAAM,CAAK,MAAI,SAAS,CAAc,gBAAK,QAAQ,CAAC,IAAIb,EAAS,KAAK,SAAS,KAAKc,CAAS,CAAC,EAAe,gBAAK,MAAM,CAAC,IAAIf,EAAU,MAAM,CAAC,MAAM,IAAI,aAAa,EAAE,QAAQE,EAAM,oBAAoB,wBAAwB,cAAc,EAAE,WAAW,oBAAoB,CAAC,CAAC,EAAEA,GAAoB,gBAAK,IAAI,CAAC,MAAM,CAAC,MAAM,UAAU,SAAS,GAAG,WAAW,IAAI,OAAO,SAAS,EAAE,SAASc,CAAY,CAAC,CAAC,CAAC,CAAC,CAAE,C,sDAAO,EAAY,CAAC,MAAM,IAAI,OAAO,GAAG,UAAU,aAAa,QAAQ,OAAO,WAAW,SAAS,IAAI,GAAG,QAAQ,SAAS,OAAO,oBAAoB,aAAa,EAAE,WAAW,UAAU,SAAS,GAAG,MAAM,MAAM,EAAQ,EAAI,CAAC,MAAM,GAAG,OAAO,GAAG,OAAO,oBAAoB,aAAa,EAAE,WAAW,MAAM,EAAEtB,EAAoBI,EAAQ,CAAC,QAAQ,CAAC,KAAKF,EAAY,OAAO,MAAM,UAAU,EAAE,UAAU,CAAC,KAAKA,EAAY,OAAO,MAAM,QAAQ,aAAa,eAAe,EAAE,MAAM,CAAC,KAAKA,EAAY,KAAK,MAAM,OAAO,QAAQ,CAAC,QAAQ,MAAM,EAAE,aAAa,OAAO,EAAE,aAAa,CAAC,KAAKA,EAAY,OAAO,MAAM,OAAO,aAAa,uCAA6C,CAAC,CAAC,C"}