{"version":3,"file":"google_recaptcha.Cy-Rpfdd.mjs","names":["useRef","useState","useCallback"],"sources":["https:/framerusercontent.com/modules/7T0p1Rx9MN7fOlslv5Z1/UXNr1Z3cjkUZYp3CP38N/google_recaptcha.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState,useCallback}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";// Accessibility-friendly hidden input styling\nconst hiddenInputStyles={position:\"absolute\",width:\"1px\",height:\"1px\",opacity:0,pointerEvents:\"none\",margin:0,padding:0};/**\n * Google reCAPTCHA v2 Verification\n * Seamlessly integrates with Framer's native forms\n * Supports both visible and invisible modes\n *\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n * @framerDisableUnlink\n */export default function RecaptchaVerification(props){const{publicKey,uniqueId=\"recaptcha\",appearance=\"light\",displayMode=\"checkbox\",showToast=true,language=\"en\",accessibilityLabel=\"Security verification\",debugMode=false,style}=props;const widgetContainerRef=useRef(null);const formRef=useRef(null);const widgetInstanceId=useRef(null);const isExecutingRef=useRef(false);const hasAttemptedRef=useRef(false);const isInitializedRef=useRef(false);const[verificationToken,setVerificationToken]=useState(null);const[loadStatus,setLoadStatus]=useState(\"initializing\");const[showValidationError,setShowValidationError]=useState(false);const[isVerifying,setIsVerifying]=useState(false);const[showSuccess,setShowSuccess]=useState(false);// Detect canvas vs live environment\nconst currentEnvironment=RenderTarget.current();const isDesignMode=currentEnvironment===RenderTarget.canvas;// Sanitize uniqueId\nconst sanitizedId=uniqueId.toLowerCase().replace(/\\s+/g,\"_\").replace(/[^a-z0-9_-]/g,\"\").replace(/^[0-9]/,\"id_$&\");const validationFieldId=`__recaptcha_validation_${sanitizedId}`;// Helper: Announce to screen readers\nconst announceToScreenReader=useCallback(message=>{const announcement=document.createElement(\"div\");announcement.setAttribute(\"role\",\"status\");announcement.setAttribute(\"aria-live\",\"polite\");announcement.setAttribute(\"aria-atomic\",\"true\");announcement.style.position=\"absolute\";announcement.style.left=\"-10000px\";announcement.style.width=\"1px\";announcement.style.height=\"1px\";announcement.style.overflow=\"hidden\";announcement.textContent=message;document.body.appendChild(announcement);setTimeout(()=>{document.body.removeChild(announcement);},1e3);},[]);// Load Google reCAPTCHA script\nuseEffect(()=>{if(isDesignMode||!publicKey)return;const existingScript=document.getElementById(\"google-recaptcha\");if(existingScript){if(window.grecaptcha){setLoadStatus(\"loaded\");if(debugMode){console.log(\"[reCAPTCHA] Script already loaded\");}}return;}if(debugMode){console.log(\"[reCAPTCHA] Loading script...\");}const scriptElement=document.createElement(\"script\");scriptElement.id=\"google-recaptcha\";scriptElement.src=\"https://www.google.com/recaptcha/api.js?render=explicit\";scriptElement.async=true;scriptElement.defer=true;scriptElement.onload=()=>{setLoadStatus(\"loaded\");if(debugMode){console.log(\"[reCAPTCHA] Script loaded successfully\");}};scriptElement.onerror=()=>{setLoadStatus(\"failed\");if(debugMode){console.error(\"[reCAPTCHA] Failed to load script\");}};document.head.appendChild(scriptElement);},[publicKey,isDesignMode,debugMode]);// Add spinner animation\nuseEffect(()=>{if(document.getElementById(\"recaptcha-spinner\"))return;const styleSheet=document.createElement(\"style\");styleSheet.id=\"recaptcha-spinner\";styleSheet.innerText=`\n            @keyframes recaptcha-spin {\n                from { transform: rotate(0deg); }\n                to { transform: rotate(360deg); }\n            }\n        `;document.head.appendChild(styleSheet);},[]);// Store form reference\nuseEffect(()=>{if(isDesignMode)return;const parentForm=widgetContainerRef.current?.closest(\"form\");if(parentForm){formRef.current=parentForm;if(debugMode){console.log(\"[reCAPTCHA] Form reference stored\");}}},[isDesignMode,debugMode]);// Initialize reCAPTCHA widget\nuseEffect(()=>{if(isDesignMode||loadStatus!==\"loaded\"||!widgetContainerRef.current||!window.grecaptcha||isInitializedRef.current)return;const intervalId=setInterval(()=>{if(window.grecaptcha?.render&&!isInitializedRef.current){clearInterval(intervalId);try{const renderConfig={sitekey:publicKey,theme:appearance,size:displayMode===\"invisible\"?\"invisible\":\"normal\",hl:language===\"\"||language===\"auto\"?undefined:language,callback:receivedToken=>{setVerificationToken(receivedToken);setShowValidationError(false);isExecutingRef.current=false;hasAttemptedRef.current=false;if(debugMode){console.log(\"[reCAPTCHA] ✓ Verification successful! Token:\",receivedToken.substring(0,30)+\"...\");}announceToScreenReader(\"Security verification complete\");// ONLY for invisible mode: show success and auto-submit\nif(displayMode===\"invisible\"){setIsVerifying(false);// Only show success toast if enabled\nif(showToast){setShowSuccess(true);// Hide success message after 2 seconds\nsetTimeout(()=>setShowSuccess(false),2e3);}setLoadStatus(\"loaded\");// Auto-submit form\nif(formRef.current){setTimeout(()=>{if(formRef.current){if(debugMode){console.log(\"[reCAPTCHA] Auto-submitting form...\");}const submitEvent=new Event(\"submit\",{bubbles:true,cancelable:true});formRef.current.dispatchEvent(submitEvent);if(!submitEvent.defaultPrevented){formRef.current.submit();}}},100);}}},\"expired-callback\":()=>{setVerificationToken(null);isExecutingRef.current=false;hasAttemptedRef.current=false;if(displayMode===\"invisible\"){setIsVerifying(false);setShowSuccess(false);}if(debugMode){console.warn(\"[reCAPTCHA] ⚠️ Token expired\");}announceToScreenReader(\"Security verification expired, please verify again\");},\"error-callback\":()=>{isExecutingRef.current=false;hasAttemptedRef.current=false;if(displayMode===\"invisible\"){setIsVerifying(false);setShowSuccess(false);setShowValidationError(true);}if(debugMode){console.error(\"[reCAPTCHA] ❌ Verification failed or cancelled\");}announceToScreenReader(\"Security verification failed. Please try again.\");}};// Only add close-callback for invisible mode\nif(displayMode===\"invisible\"){renderConfig[\"close-callback\"]=()=>{if(!verificationToken){setVerificationToken(null);isExecutingRef.current=false;setIsVerifying(false);setShowValidationError(true);hasAttemptedRef.current=false;if(debugMode){console.warn(\"[reCAPTCHA] ⚠️ Challenge closed without completion\");}announceToScreenReader(\"Security verification cancelled. Please try again.\");}};}widgetInstanceId.current=window.grecaptcha.render(widgetContainerRef.current,renderConfig);isInitializedRef.current=true;if(debugMode){console.log(\"[reCAPTCHA] Widget initialized:\",{id:widgetInstanceId.current,mode:displayMode,theme:appearance,language:language||\"auto\"});}}catch(error){console.error(\"[reCAPTCHA] Widget initialization failed:\",error);setLoadStatus(\"failed\");}}},100);return()=>{clearInterval(intervalId);if(widgetInstanceId.current!==null&&window.grecaptcha){try{window.grecaptcha.reset(widgetInstanceId.current);if(debugMode){console.log(\"[reCAPTCHA] Widget reset on cleanup\");}}catch(error){// Ignore cleanup errors\n}}isInitializedRef.current=false;};},[loadStatus,publicKey,appearance,displayMode,language,isDesignMode,announceToScreenReader,debugMode,showToast]);// Sync validation state with form - ONLY FOR CHECKBOX MODE\nuseEffect(()=>{if(isDesignMode||displayMode===\"invisible\")return;const parentForm=widgetContainerRef.current?.closest(\"form\");if(!parentForm)return;const validationInput=parentForm.querySelector(`input[name=\"${validationFieldId}\"]`);if(validationInput){validationInput.value=verificationToken?\"verified\":\"\";validationInput.setCustomValidity(verificationToken?\"\":\"Please complete the security verification\");}},[verificationToken,isDesignMode,validationFieldId,displayMode]);// Handle form submission\nuseEffect(()=>{if(isDesignMode||!publicKey)return;const parentForm=widgetContainerRef.current?.closest(\"form\");if(!parentForm)return;const handleSubmit=event=>{// For INVISIBLE mode\nif(displayMode===\"invisible\"){// If we have a valid token, allow submission\nif(verificationToken){setShowValidationError(false);hasAttemptedRef.current=false;if(debugMode){console.log(\"[reCAPTCHA] ✓ Form allowed to submit with token\");}return;}// Block submission\nevent.preventDefault();event.stopPropagation();// If already executing, show waiting message\nif(isExecutingRef.current){if(debugMode){console.log(\"[reCAPTCHA] ⏳ Already verifying, please wait...\");}return;}// If user already attempted and failed/cancelled\nif(hasAttemptedRef.current){setShowValidationError(true);if(debugMode){console.warn(\"[reCAPTCHA] ❌ Previous verification failed. Please complete the challenge.\");}return;}// Execute verification\nif(widgetInstanceId.current!==null){try{isExecutingRef.current=true;hasAttemptedRef.current=true;// Only show verifying toast if enabled\nif(showToast){setIsVerifying(true);}setShowValidationError(false);if(debugMode){console.log(\"[reCAPTCHA] Executing invisible verification...\");}window.grecaptcha.execute(widgetInstanceId.current);}catch(error){console.error(\"[reCAPTCHA] Execution failed:\",error);isExecutingRef.current=false;hasAttemptedRef.current=false;setIsVerifying(false);setShowValidationError(true);setLoadStatus(\"failed\");}}return;}// For CHECKBOX mode: Check if verified\nif(displayMode===\"checkbox\"){if(!verificationToken){event.preventDefault();event.stopPropagation();setShowValidationError(true);if(debugMode){console.warn(\"[reCAPTCHA] Checkbox not completed - blocking submission\");}// Scroll to widget for better UX\nwidgetContainerRef.current?.scrollIntoView({behavior:\"smooth\",block:\"center\"});}else{setShowValidationError(false);if(debugMode){console.log(\"[reCAPTCHA] Checkbox verified - allowing submission\");}}}};parentForm.addEventListener(\"submit\",handleSubmit);return()=>parentForm.removeEventListener(\"submit\",handleSubmit);},[verificationToken,publicKey,isDesignMode,displayMode,debugMode,showToast]);// Canvas preview mode\nif(isDesignMode){// Show placeholder when no API key is provided\nif(!publicKey||publicKey.trim()===\"\"){return /*#__PURE__*/_jsxs(\"div\",{style:{...style,width:\"300px\",height:\"100%\",minHeight:72,display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",padding:\"10px\",background:\"#222222\",fontSize:\"13px\",color:\"#FFFFFF\",outline:\"1px #b5b5b5 solid\",outlineOffset:\"-1px\",fontFamily:\"Inter, -apple-system, system-ui, sans-serif\",fontWeight:500,textAlign:\"center\",boxShadow:\"0 2px 8px rgba(0,0,0,0.1)\",borderRadius:\"6px\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{marginBottom:\"6px\",fontSize:\"14px\"},children:\"🔑 Please enter your Site Key\"}),/*#__PURE__*/_jsx(\"div\",{style:{opacity:.9,fontSize:\"10px\",maxWidth:\"90%\"},children:\"Get the free key from Goolge ReCaptcha Dashboard\"})]});}const RecaptchaLogo=({color})=>/*#__PURE__*/_jsxs(\"svg\",{width:\"42\",height:\"42\",viewBox:\"0 0 125 100\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M117 62.063C116.998 61.461 116.984 60.862 116.957 60.265V26.274L107.56 35.671C99.869 26.257 88.169 20.244 75.064 20.244C61.426 20.244 49.31 26.754 41.651 36.835L57.054 52.4C58.564 49.608 60.708 47.21 63.294 45.4C65.983 43.301 69.793 41.586 75.064 41.586C75.701 41.586 76.192 41.66 76.553 41.801C83.084 42.316 88.744 45.92 92.077 51.151L81.174 62.054C94.984 62 110.585 61.968 116.999 62.061\",fill:\"#1c3aa9\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M74.819 20.246C74.217 20.248 73.618 20.262 73.021 20.289H39.03L48.427 29.686C39.013 37.377 33 49.077 33 62.182C33 75.82 39.51 87.936 49.591 95.595L65.156 80.192C62.364 78.682 59.966 76.538 58.156 73.953C56.057 71.264 54.342 67.454 54.342 62.183C54.342 61.546 54.416 61.055 54.557 60.694C55.072 54.163 58.676 48.503 63.907 45.17L74.81 56.073C74.756 42.263 74.724 26.662 74.817 20.248\",fill:\"#4285f4\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M33.002 62.181C33.004 62.783 33.018 63.382 33.045 63.979V97.97L42.442 88.573C50.133 97.987 61.833 104 74.938 104C88.576 104 100.692 97.49 108.351 87.409L92.948 71.844C91.438 74.636 89.294 77.034 86.708 78.844C84.019 80.943 80.209 82.658 74.938 82.658C74.301 82.658 73.81 82.584 73.449 82.443C66.918 81.928 61.258 78.324 57.925 73.093L68.828 62.19C55.018 62.244 39.417 62.276 33.003 62.183\",fill:\"#ababab\"})]});if(displayMode===\"invisible\"){return /*#__PURE__*/_jsxs(\"div\",{style:{...style,width:\"300px\",height:\"100%\",minHeight:72,display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",padding:\"10px\",background:\"#1f2937\",fontSize:\"13px\",color:\"#FFFFFF\",outline:\"1px #6b7280 solid\",outlineOffset:\"-1px\",fontFamily:\"Inter, -apple-system, system-ui, sans-serif\",fontWeight:500,textAlign:\"center\",boxShadow:\"0 2px 8px rgba(0,0,0,0.1)\",borderRadius:\"6px\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{marginBottom:\"6px\",fontSize:\"14px\"},children:\"👻 Invisible reCAPTCHA\"}),/*#__PURE__*/_jsx(\"div\",{style:{opacity:.8,fontSize:\"10px\",maxWidth:\"90%\"},children:\"Hidden on live site • Verifies automatically\"})]});}const bgColor=appearance===\"light\"?\"#f9f9f9\":\"#222222\";const textColor=appearance===\"light\"?\"#333333\":\"#f9f9f9\";const borderColor=appearance===\"light\"?\"#d0d0d0\":\"#666666\";return /*#__PURE__*/_jsxs(\"div\",{style:{...style,width:\"304px\",height:\"100%\",minHeight:72,position:\"relative\",background:bgColor,border:`1px solid ${borderColor}`,borderRadius:\"3px\",display:\"flex\",alignItems:\"center\",padding:\"5px 14px\",gap:\"12px\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:\"28px\",height:\"28px\",border:`2px solid ${borderColor}`,borderRadius:\"2px\",background:appearance===\"light\"?\"white\":\"#222\"}}),/*#__PURE__*/_jsx(\"div\",{style:{flex:1,display:\"flex\",flexDirection:\"column\",gap:\"4px\"},children:/*#__PURE__*/_jsx(\"div\",{style:{color:textColor,fontSize:\"14px\",fontFamily:\"system-ui, sans-serif\",fontWeight:500},children:\"I'm not a robot\"})}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",flexDirection:\"column\",gap:\"4px\",marginTop:\"-4px\"},children:[/*#__PURE__*/_jsx(RecaptchaLogo,{color:textColor}),/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:\"8px\",color:textColor,opacity:.9,display:\"flex\",alignItems:\"center\",flexDirection:\"column\"},children:[/*#__PURE__*/_jsx(\"div\",{children:\" reCAPTCHA\"}),/*#__PURE__*/_jsx(\"div\",{children:\" Privacy • Terms\"})]})]})]});}// Live mode\n// Show placeholder when no API key is provided (both canvas and preview)\nif(!publicKey||publicKey.trim()===\"\"){return /*#__PURE__*/_jsxs(\"div\",{style:{...style,width:\"300px\",height:\"100%\",minHeight:72,display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",padding:\"10px\",background:\"#222222\",fontSize:\"13px\",color:\"#FFFFFF\",outline:\"1px #b5b5b5 solid\",outlineOffset:\"-1px\",fontFamily:\"Inter, -apple-system, system-ui, sans-serif\",fontWeight:500,textAlign:\"center\",boxShadow:\"0 2px 8px rgba(0,0,0,0.1)\",borderRadius:\"6px\"},role:\"alert\",\"aria-live\":\"polite\",children:[/*#__PURE__*/_jsx(\"div\",{style:{marginBottom:\"6px\",fontSize:\"14px\"},children:\"🔑 Please enter your Site Key\"}),/*#__PURE__*/_jsx(\"div\",{style:{opacity:.9,fontSize:\"10px\",maxWidth:\"90%\"},children:\"Get the free key from Goolge ReCaptcha Dashboard\"})]});}return /*#__PURE__*/_jsxs(\"div\",{style:{...style,width:\"100%\",minHeight:displayMode===\"invisible\"?0:78,position:\"relative\"},role:\"region\",\"aria-label\":accessibilityLabel,children:[/*#__PURE__*/_jsx(\"div\",{ref:widgetContainerRef}),/*#__PURE__*/_jsx(\"input\",{name:validationFieldId,required:displayMode===\"checkbox\",style:hiddenInputStyles,\"aria-label\":`${accessibilityLabel} for ${sanitizedId}`,tabIndex:-1}),/*#__PURE__*/_jsx(\"input\",{type:\"hidden\",name:\"g-recaptcha-response\",value:verificationToken||\"\"}),displayMode===\"invisible\"&&showToast&&isVerifying&&/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:\"8px\",padding:\"10px 12px\",fontSize:\"13px\",color:\"#2563EB\",backgroundColor:\"#EFF6FF\",borderRadius:\"6px\",border:\"1px solid #BFDBFE\",fontWeight:500,display:\"flex\",alignItems:\"center\",gap:\"8px\",width:\"300px\"},role:\"status\",\"aria-live\":\"polite\",children:[/*#__PURE__*/_jsx(\"div\",{style:{width:\"16px\",height:\"16px\",border:\"2px solid #2563EB\",borderTopColor:\"transparent\",borderRadius:\"50%\",animation:\"recaptcha-spin 0.8s linear infinite\"}}),\"Verifying security...\"]}),displayMode===\"invisible\"&&showToast&&showSuccess&&/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:\"8px\",padding:\"10px 12px\",fontSize:\"13px\",color:\"#059669\",backgroundColor:\"#D1FAE5\",borderRadius:\"6px\",border:\"1px solid #6EE7B7\",fontWeight:500,display:\"flex\",alignItems:\"center\",gap:\"7px\",width:\"300px\"},role:\"status\",\"aria-live\":\"polite\",children:[/*#__PURE__*/_jsx(\"span\",{children:\"✓\"}),/*#__PURE__*/_jsx(\"span\",{children:\"Verified successfully\"})]}),showValidationError&&publicKey&&/*#__PURE__*/_jsx(\"div\",{style:{marginTop:\"8px\",padding:\"10px 12px\",fontSize:\"13px\",color:\"#DC2626\",backgroundColor:\"#FEE2E2\",borderRadius:\"6px\",border:\"1px solid #FCA5A5\",fontWeight:500},role:\"alert\",\"aria-live\":\"assertive\",children:\"⚠️ Please complete the reCAPTCHA verification before submitting.\"}),loadStatus===\"failed\"&&!verificationToken&&/*#__PURE__*/_jsx(\"div\",{style:{padding:\"12px\",fontSize:\"12px\",color:\"#DC2626\",backgroundColor:\"#FEE2E2\",borderRadius:\"6px\",border:\"1px solid #FCA5A5\"},role:\"alert\",\"aria-live\":\"assertive\",children:\"⚠️ Failed to load security verification. Please check if your site key matches the display mode.\"})]});}RecaptchaVerification.displayName=\"Google reCAPTCHA\";addPropertyControls(RecaptchaVerification,{publicKey:{// test site key : 6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI\ntype:ControlType.String,title:\"Site Key\",defaultValue:\"\",placeholder:\"6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI\",description:\"Your Google reCAPTCHA v2 Site key. Get it from [Google reCAPTCHA Admin Console](https://www.google.com/recaptcha/admin/create).\\n\\n\"+\"*Important:* Before testing, publish your Framer site to get a domain. Then add that domain to Google reCAPTCHA dashboard when creating your site key.\\n\\n\"+\"*Note:* You may see an error in Preview mode—this is expected. Everything works perfectly on the live published site.\\n\\n\"+\"*reCAPTCHA Type:* Select the correct type in Google dashboard:\\n\"+\"• *Checkbox mode* → Use 'Challenge (v2) > I'm not a robot Checkbox'\\n\"+\"• *Invisible mode* → Use 'Challenge (v2) > Invisible reCAPTCHA badge'\"},uniqueId:{type:ControlType.String,title:\"Instance ID\",defaultValue:\"recaptcha\",placeholder:\"contact form\",description:\"**Required for multiple forms!** Each reCAPTCHA needs a unique ID.\"},displayMode:{type:ControlType.Enum,title:\"Display Mode\",options:[\"checkbox\",\"invisible\"],optionTitles:[\"Checkbox\",\"Invisible\"],defaultValue:\"checkbox\",displaySegmentedControl:true,description:\"*Checkbox:* Shows 'I'm not a robot' verification widget\\n\"+\"*Invisible:* Verifies silently in the background\\n\\n\"+\"*CRITICAL:* Your Google site key must match the reCAPTCHA type!\\n\"+\"• Checkbox → 'I'm not a robot Checkbox' key\\n\"+\"• Invisible → 'Invisible reCAPTCHA badge' key\\n\\n\"+\"Mismatched keys will not work!\"},appearance:{type:ControlType.Enum,title:\"Theme\",options:[\"light\",\"dark\"],optionTitles:[\"Light\",\"Dark\"],defaultValue:\"light\",displaySegmentedControl:true,hidden:props=>props.displayMode===\"invisible\",description:\"Widget theme (only for checkbox mode).\"},showToast:{type:ControlType.Boolean,title:\"Show Status Toast\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\",hidden:props=>props.displayMode===\"checkbox\",description:\"Show 'Verifying security...' and '✓ Verified successfully' messages during invisible verification.\"},language:{type:ControlType.String,title:\"Language Code\",defaultValue:\"auto\",placeholder:\"auto (browser language)\",description:\"Enter language code (e.g., en, es, fr, hi, ar, zh-CN).\\n\"+\"Use auto for browser language detection.\\n\"+\"View all language codes: [here](https://developers.google.com/recaptcha/docs/language)\"},accessibilityLabel:{type:ControlType.String,title:\"ARIA Label\",defaultValue:\"Security verification\",placeholder:\"Security verification\",description:\"Accessibility label for screen readers.\"},debugMode:{type:ControlType.Boolean,title:\"Debug Mode\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Enable console logging for troubleshooting.\\n\"+\"- Shows verification flow, errors, and status.\\n\"+\"- Useful for testing - disable in production for cleaner logs.\\n\\n\"+\"Made with ❤️ by [Soyeb](https://framer.link/project)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"RecaptchaVerification\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"auto\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./google_recaptcha.map"],"mappings":"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"}