{"version":3,"file":"SolvingProblem_Razorpay_Pay_Form_btn.DVeaagdp.mjs","names":["useState","useRef","removeCoupon","error","recaptchaToken"],"sources":["https:/framerusercontent.com/modules/iPUtrbG0LEEWiVTltd1O/OTo4dQI530Cr8HZJasZo/SolvingProblem_Razorpay_Pay_Form_btn.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect,useRef,useState}from\"react\";// === Styles ===\nconst errorText={color:\"#ffb4b4\",fontSize:12,marginTop:6};// === Constants ===\nconst emailRegex=/^[^\\s@]+@[^\\s@]+\\.[^\\s@]{2,}$/;const nameRegex=/^[a-zA-Z\\s'-]+$/;const phoneDigits=/^\\+\\d{6,15}$/;const RZP_SRC=\"https://checkout.razorpay.com/v1/checkout.js\";const REQUIRED_FIELDS=[\"name\",\"email\",\"Full Phone Number\"];let AMOUNT=1599;const CURRENCY=\"INR\";export function PaymentSubmit({countryIso=\"IN\",platform=\"web\",purchaseType=\"new\",buttonText,buttonColor,buttonFontSize,buttonPadding,apiUrl,razorpayKeyId,recaptchaSiteKey}){const[submitting,setSubmitting]=useState(false);const[error,setError]=useState(\"\");const scriptPromiseRef=useRef(null);const buttonRef=useRef(null);const[appliedCoupon,setAppliedCoupon]=useState(null);const[discountedAmount,setDiscountedAmount]=useState(0);const[recaptchaToken,setRecaptchaToken]=useState(\"\");const[recaptchaLoaded,setRecaptchaLoaded]=useState(false);// Hide Framer coupon success and error elements completely\nfunction hideCouponSuccess(){const couponSuccessList=document.querySelectorAll('[data-framer-name=\"Coupon-Success\"]');couponSuccessList.forEach(el=>{el.style.display=\"none\";});}function hideCouponError(){const couponErrorList=document.querySelectorAll('[data-framer-name=\"Coupon-Error\"]');couponErrorList.forEach(el=>{el.style.display=\"none\";});}// Create and show custom success message\nfunction showCustomSuccessMessage(discountAmount){hideCouponSuccess();hideCouponError();removeCustomMessage();const messageDiv=document.createElement(\"div\");messageDiv.className=\"custom-coupon-message\";messageDiv.style.cssText=`\n        padding: 12px 16px;\n        margin: 10px 0;\n        background-color: #d4edda;\n        border: 1px solid #c3e6cb;\n        border-radius: 6px;\n        color: #155724;\n        font-size: 14px;\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n    `;messageDiv.innerHTML=`\n        <span>Congratulations! You saved Rs. ${discountAmount}/-</span>\n        <button class=\"custom-remove-coupon-btn\" style=\"\n            background: transparent;\n            border: 1px solid #155724;\n            color: #155724;\n            padding: 4px 12px;\n            border-radius: 4px;\n            cursor: pointer;\n            font-size: 12px;\n            margin-left: 10px;\n        \">Remove Coupon Code</button>\n    `;let couponSuccess;if(isPopupOpen){// Insert message in popup\nconst popup=document.querySelector('[data-framer-name=\"Courses-popup\"]');couponSuccess=popup?.querySelector('[data-framer-name=\"Coupon-Success\"]')??null;}else{// Insert message in main page\ncouponSuccess=document.querySelector('[data-framer-name=\"Coupon-Success\"]');}if(couponSuccess&&couponSuccess.parentNode){couponSuccess.parentNode.insertBefore(messageDiv,couponSuccess.nextSibling);}const removeBtn=messageDiv.querySelector(\".custom-remove-coupon-btn\");if(removeBtn){removeBtn.addEventListener(\"click\",e=>{e.preventDefault();removeCoupon();});}}function showCustomErrorMessage(couponCode){hideCouponSuccess();hideCouponError();removeCustomMessage();const messageDiv=document.createElement(\"div\");messageDiv.className=\"custom-coupon-message\";messageDiv.style.cssText=`\n        padding: 12px 16px;\n        margin: 10px 0;\n        background-color: #f8d7da;\n        border: 1px solid #f5c6cb;\n        border-radius: 6px;\n        color: #721c24;\n        font-size: 14px;\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n    `;messageDiv.innerHTML=`\n        <span>Your coupon code \"${couponCode}\" is not valid</span>\n        <button class=\"custom-remove-coupon-btn\" style=\"\n            background: transparent;\n            border: 1px solid #721c24;\n            color: #721c24;\n            padding: 4px 12px;\n            border-radius: 4px;\n            cursor: pointer;\n            font-size: 12px;\n            margin-left: 10px;\n        \">Remove</button>\n    `;let couponSuccess;if(isPopupOpen){const popup=document.querySelector('[data-framer-name=\"Courses-popup\"]');couponSuccess=popup?.querySelector('[data-framer-name=\"Coupon-Success\"]')??null;}else{couponSuccess=document.querySelector('[data-framer-name=\"Coupon-Success\"]');}if(couponSuccess&&couponSuccess.parentNode){couponSuccess.parentNode.insertBefore(messageDiv,couponSuccess.nextSibling);}const removeBtn=messageDiv.querySelector(\".custom-remove-coupon-btn\");if(removeBtn){removeBtn.addEventListener(\"click\",e=>{e.preventDefault();removeCoupon();});}}// Remove custom message\nfunction removeCustomMessage(){const customMessage=document.querySelector(\".custom-coupon-message\");if(customMessage){customMessage.remove();}}// Show/hide remove coupon element\nfunction showRemoveCoupon(){const removeCoupon=document.querySelector('[data-framer-name=\"Remove Coupon Code\"]');if(removeCoupon){removeCoupon.style.display=\"block\";removeCoupon.style.pointerEvents=\"auto\";}}function hideRemoveCoupon(){const removeCoupon=document.querySelector('[data-framer-name=\"Remove Coupon Code\"]');if(removeCoupon){removeCoupon.style.display=\"none\";removeCoupon.style.pointerEvents=\"none\";}}function executeRecaptcha(){return new Promise((resolve,reject)=>{if(!recaptchaSiteKey){reject(new Error(\"reCAPTCHA site key not provided\"));return;}if(typeof window!==\"undefined\"&&window.grecaptcha){window.grecaptcha.ready(()=>{window.grecaptcha.execute(recaptchaSiteKey,{action:\"submit\"}).then(token=>{resolve(token);}).catch(error=>{reject(error);});});}else{reject(new Error(\"reCAPTCHA not loaded\"));}});}// Monitor popup open/close\n// Track popup visibility\nlet isPopupOpen=false;function monitorPopup(){const popup=document.querySelector('[data-framer-name=\"Courses-popup\"]');if(!popup)return;const observer=new MutationObserver(()=>{const display=popup.style.display;if(display!==\"none\"){// Popup is open\nisPopupOpen=true;// Find button INSIDE popup and set ref\nconst popupButton=popup.querySelector(\"button\");if(popupButton){buttonRef.current=popupButton;}hideCouponSuccess();hideCouponError();removeCustomMessage();}else{// Popup closed\nisPopupOpen=false;// Reset to main page button\nconst mainButton=document.querySelector(\"#main-page-button\");if(mainButton){buttonRef.current=mainButton;}hideCouponSuccess();hideCouponError();removeCustomMessage();}});observer.observe(popup,{attributes:true,attributeFilter:[\"style\"]});}// === Load Razorpay SDK ===\nfunction loadRazorpayScript(){if(typeof window!==\"undefined\"&&window.Razorpay)return Promise.resolve();if(scriptPromiseRef.current)return scriptPromiseRef.current;scriptPromiseRef.current=new Promise((resolve,reject)=>{const s=document.createElement(\"script\");s.src=RZP_SRC;s.async=true;s.onload=()=>resolve();s.onerror=()=>reject(new Error(\"Failed to load Razorpay SDK\"));document.body.appendChild(s);});return scriptPromiseRef.current;}// === Form Handling ===\nfunction resolveForm(clickedButton){const form=clickedButton.closest(\"form\");if(!form)throw new Error(\"Cannot find parent form from button click\");return form;}function readForm(form){const fd=new FormData(form);const name=String(fd.get(\"name\")||fd.get(\"Name\")||fd.get(\"fullName\")||\"\").trim();const email=String(fd.get(\"email\")||fd.get(\"Email\")||fd.get(\"emailAddress\")||\"\").trim();let phone=String(fd.get(\"Full Phone Number\")||fd.get(\"phone\")||fd.get(\"Phone\")||fd.get(\"phoneNumber\")||\"\").trim().replace(/[^\\d+]/g,\"\");if(phone.startsWith(\"+\"))phone=\"+\"+phone.slice(1).replace(/\\+/g,\"\");else phone=\"+\"+phone.replace(/\\+/g,\"\");return{name,email,phone};}function validateFields(values){if(!values.name)return\"Name is required\";// ✅ Check for special characters (allow only letters, spaces, and basic punctuation if needed)\nif(!nameRegex.test(values.name))return\"Special characters are not allowed in the name\";if(!emailRegex.test(values.email))return\"Enter a valid email\";if(!phoneDigits.test(values.phone))return\"Enter a valid phone number\";if(!Number.isFinite(AMOUNT)||AMOUNT<=0)return\"Invalid amount\";if(!razorpayKeyId)return\"Missing Razorpay key id.\";if(!apiUrl)return\"Missing API URL.\";return\"\";}// === Payment Logic ===\nasync function handleClick(e){e.preventDefault()// Prevent default form submission\n;const clickedButton=e.currentTarget;try{setError(\"\");setSubmitting(true);// 🔥 Find the correct form\nconst form=resolveForm(clickedButton);// 🔥 Get values from that exact form\nconst vals=readForm(form);const v=validateFields(vals);if(v){setSubmitting(false);throw new Error(v);}// Get reCAPTCHA v3 token\nconst recaptchaToken=await executeRecaptcha();setRecaptchaToken(recaptchaToken);await loadRazorpayScript();//user cookie\n// helper function to read cookies\nfunction getCookie(name){const match=document.cookie.match(new RegExp(\"(^| )\"+name+\"=([^;]+)\"));return match?match[2]:null;}const urlParams=new URLSearchParams(window.location.search);const fbclidFromURL=urlParams.get(\"fbclid\")||\"\";const userToken=localStorage.getItem(\"user_token\")||\"\";const fbc=getCookie(\"_fbc\")||\"\";const fbp=getCookie(\"_fbp\")||\"\";const userAgent=navigator.userAgent||\"\";const sourcePageURL=`${window.location.origin}${window.location.pathname}`;// Read UTM cookies\nconst utm_source=getCookie(\"_utm_source\")||\"\";const utm_medium=getCookie(\"_utm_medium\")||\"\";const utm_campaign=getCookie(\"_utm_campaign\")||\"\";const utm_content=getCookie(\"_utm_content\")||\"\";const utm_term=getCookie(\"_utm_term\")||\"\";const fbclid=getCookie(\"_fbclid\")||\"\";const res=await fetch(`${apiUrl}/createSubscriptionOrder`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({name:vals.name,email:vals.email,phone:vals.phone,countryCode:countryIso,amount:window.currentAmount||AMOUNT,discounted_amount:discountedAmount,currency:CURRENCY,platform,purchase_type:purchaseType,faclid:fbclidFromURL,user_token:userToken,fbc,fbp,userAgent,// ✅ Add campaign parameters\nutm_source,utm_medium,utm_campaign,utm_content,utm_term,fbclid,coupon_id:appliedCoupon,recaptcha_token:recaptchaToken,sourcePageURL})});if(!res.ok)throw new Error(`Order API failed (${res.status})`);const payload=await res.json();if(payload?.status!==1||!payload?.result?.order_id){throw new Error(payload?.message||\"Invalid order response\");}const orderId=payload.result.order_id;const amountMinor=payload?.result?.razorpay_order?.amount??Math.round(AMOUNT*100);const orderCurrency=payload?.result?.currency??CURRENCY;const options={key:razorpayKeyId,amount:amountMinor,currency:orderCurrency,name:\"Payment\",description:\"Secure checkout\",order_id:orderId,prefill:{name:vals.name,email:vals.email,contact:vals.phone},theme:{color:buttonColor},handler:resp=>{window.location.href=\"https://wellbeing.monkify.app/thank-you\";},modal:{ondismiss:()=>console.log(\"Checkout closed by user\")}};const rzp=new window.Razorpay(options);rzp.open();}catch(err){console.error(err);setError(err?.message||\"Something went wrong\");}finally{setSubmitting(false);}}// Add event listeners\nfunction addCouponEventListeners(){// Apply coupon directly without re-init logic\nconst applyButton=document.querySelector('[data-framer-name=\"Button 5\"]');if(applyButton){applyButton.addEventListener(\"click\",e=>{e.preventDefault();const couponInput=document.querySelector('[name=\"coupon\"]');console.log(\"executing validation\");if(couponInput)validateCoupon(couponInput.value);});}else{console.log(\"No apply button found\",applyButton);}// Listen for remove coupon button clicks (Framer div with data-framer-name)\nconst removeButton=document.querySelector('[data-framer-name=\"Remove Coupon Code\"]');if(removeButton){removeButton.addEventListener(\"click\",e=>{e.preventDefault();removeCoupon();});}// Listen for Enter key on coupon input\nconst couponInput=document.querySelector('[name=\"coupon\"]');if(couponInput){couponInput.addEventListener(\"keypress\",e=>{if(e.key===\"Enter\"){e.preventDefault();validateCoupon(couponInput.value);}});}}// Handle apply button click\nfunction handleApplyClick(e){e.preventDefault();const couponInput=document.querySelector('[name=\"coupon\"]');if(couponInput){validateCoupon(couponInput.value);}}// Function to validate coupon\nasync function validateCoupon(couponCode){console.log(\"validating coupon code\",couponCode);if(!couponCode.trim()){showCouponMessage(\"Please enter a coupon code\",\"error\");return;}try{showCouponMessage(\"Validating coupon...\",\"info\");const response=await fetch(`https://api.monkify.app/api/public/coupons/validate?code=${encodeURIComponent(couponCode)}`);const data=await response.json();// Clear validation message\nconst messageEl=document.querySelector(\".coupon-message\");if(messageEl){messageEl.style.display=\"none\";}if(data.status===1&&data.result){window.appliedCoupon=data.result;// Calculate discount\nlet discountAmount=0;if(data.result.discount_type===\"PERCENT\"){discountAmount=Math.round(AMOUNT*data.result.percent_off/100);}else if(data.result.discount_type===\"FLAT\"){discountAmount=data.result.flat_amount||0;}const newAmount=Math.max(0,AMOUNT-discountAmount);window.currentAmount=newAmount;updatePriceDisplay(newAmount);updatePaymentButton(newAmount);// Show custom success message with remove button\nshowCustomSuccessMessage(discountAmount);// Hide Framer remove coupon button\nhideRemoveCoupon();//set coupon code to state that has been applied\nif(data.result?.coupon_id){setAppliedCoupon(data.result.coupon_id);}if(discountAmount>0){setDiscountedAmount(discountAmount);}}else{window.appliedCoupon=null;// Show custom error message\nshowCustomErrorMessage(couponCode);// Hide Framer remove coupon button\nhideRemoveCoupon();window.currentAmount=AMOUNT;updatePriceDisplay(AMOUNT);updatePaymentButton(AMOUNT);}}catch(error){console.error(\"Coupon validation error:\",error);showCouponMessage(\"Failed to validate coupon. Please try again.\",\"error\");window.appliedCoupon=null;window.currentAmount=AMOUNT;updatePriceDisplay(AMOUNT);updatePaymentButton(AMOUNT);}}// Function to show coupon messages\nfunction showCouponMessage(message,type){// Try to find existing message element\nlet messageEl=document.querySelector(\".coupon-message\");if(!messageEl){messageEl=document.createElement(\"div\");messageEl.className=\"coupon-message\";messageEl.style.cssText=`\n                font-size: 12px;\n                margin-top: 4px;\n                padding: 4px 8px;\n                border-radius: 4px;\n            `;// Try to insert after coupon input or apply button\nconst couponInput=document.querySelector('[name=\"coupon\"]');const applyButton=document.querySelector('[data-framer-name=\"Button 5\"]');const targetElement=couponInput||applyButton;if(targetElement&&targetElement.parentNode){targetElement.parentNode.insertBefore(messageEl,targetElement.nextSibling);}}messageEl.textContent=message;messageEl.style.color=type===\"success\"?\"#155724\":type===\"error\"?\"#dc3545\":\"#007bff\";messageEl.style.backgroundColor=type===\"success\"?\"#d4edda\":type===\"error\"?\"#f8d7da\":\"#d1ecf1\";}// Function to update price display\nfunction updatePriceDisplay(newAmount){// Try multiple selectors to find price element\nconst priceSelectors=[\".price\",\"#price\",\".total-amount\",\"#total-amount\",\".final-price\",\"#final-price\",\"[data-price]\",\".amount\",\"#amount\"];let priceElement=null;for(const selector of priceSelectors){priceElement=document.querySelector(selector);if(priceElement)break;}if(priceElement){// Update the price text\nconst originalText=priceElement.textContent||\"\";const newText=originalText.replace(/\\d+/,newAmount.toString());priceElement.textContent=newText;// Add visual indication if coupon is applied\nif(window.appliedCoupon){priceElement.style.color=\"#28a745\";priceElement.style.fontWeight=\"600\";}else{priceElement.style.color=\"\";priceElement.style.fontWeight=\"\";}}}// Function to update payment button text\nfunction updatePaymentButton(newAmount){const buttonSelectors=['button[type=\"button\"]',\".payment-button\",\"#payment-button\",\".proceed-button\",\"#proceed-button\",\"[data-payment-button]\"];for(const selector of buttonSelectors){const buttons=document.querySelectorAll(selector);buttons.forEach(button=>{const buttonEl=button;if(buttonEl.textContent&&buttonEl.textContent.includes(\"Pay\")){buttonEl.textContent=buttonEl.textContent.replace(/\\d+/,newAmount.toString());}});}}// Function to remove applied coupon\nfunction removeCoupon(){window.appliedCoupon=null;window.currentAmount=AMOUNT;updatePriceDisplay(AMOUNT);updatePaymentButton(AMOUNT);// Remove custom message\nremoveCustomMessage();// Hide Framer elements\nhideCouponSuccess();hideCouponError();// Hide Framer remove coupon button\nhideRemoveCoupon();// Reset state\nsetAppliedCoupon(null);setDiscountedAmount(0);// Clear coupon input\nconst couponInput=document.querySelector('[name=\"coupon\"]');if(couponInput){couponInput.value=\"\";}}// Vanilla JavaScript Coupon Handler\nfunction initializeCouponHandler(){window.originalAmount=AMOUNT;window.currentAmount=AMOUNT;window.appliedCoupon=null;console.log(\"coupone code initialized\");// Note: Coupon event listeners are now handled in the useEffect above\n}//reCAPTCHA v3 loading checker\nconst checkRecaptchaLoaded=(attemptsLeft=3)=>{const grecaptcha=window.grecaptcha;if(grecaptcha&&typeof grecaptcha.ready===\"function\"){grecaptcha.ready(()=>{setRecaptchaLoaded(true);});return;}if(attemptsLeft>0){setTimeout(()=>{checkRecaptchaLoaded(attemptsLeft-1);},2e3)// retry after 2 seconds\n;}else{console.warn(\"reCAPTCHA failed to load after 3 attempts\");setRecaptchaLoaded(false);}};// === FBCLID And UTM parameters Tracking ===\nuseEffect(()=>{const urlParams=new URLSearchParams(window.location.search);// Extract tracking params\nconst fbclid=urlParams.get(\"fbclid\");const utm_source=urlParams.get(\"utm_source\");const utm_medium=urlParams.get(\"utm_medium\");const utm_campaign=urlParams.get(\"utm_campaign\");const utm_content=urlParams.get(\"utm_content\");const utm_term=urlParams.get(\"utm_term\");// Helper to set cookie\nconst setCookie=(name,value)=>{if(!value)return;document.cookie=`${name}=${encodeURIComponent(value)}; path=/; max-age=${180*24*60*60}; SameSite=Lax`;};// Store each parameter if present\nsetCookie(\"_fbclid\",fbclid);setCookie(\"_utm_source\",utm_source);setCookie(\"_utm_medium\",utm_medium);setCookie(\"_utm_campaign\",utm_campaign);setCookie(\"_utm_content\",utm_content);setCookie(\"_utm_term\",utm_term);// Initialize coupon handler\ninitializeCouponHandler();// Monitor popup\nmonitorPopup();hideCouponSuccess();hideCouponError();// Initialize form validation\ninitializeFormValidation();checkRecaptchaLoaded();},[]);// Initialize form validation monitoring\nfunction initializeFormValidation(){const form=document.querySelector('[data-framer-name=\"course-form\"]');if(!form){console.log(\"Form not found, retrying in 1 second...\");setTimeout(initializeFormValidation,1e3);return;}}useEffect(()=>{console.log(\"Setting up coupon para handler...\");// Function to setup coupon para click handler\nconst setupCouponParaHandler=()=>{const couponIinputShower=document.querySelector('[data-framer-name=\"coupon-para\"]');if(couponIinputShower){console.log(\"coupon shower found\",couponIinputShower);// Function to setup Button 5 event listener\nconst setupButton5Handler=()=>{console.log(\"Looking for Button 5...\");const applyButton=document.querySelector('[data-framer-name=\"Button 5\"]');if(applyButton){console.log(\"Button 5 found, adding event listener\");// Remove existing listeners to avoid duplicates\napplyButton.removeEventListener(\"click\",handleApplyClick);// Add click listener to Button 5\napplyButton.addEventListener(\"click\",e=>{console.log(\"Button 5 clicked\",e.target);e.preventDefault();e.stopPropagation();// Find coupon input and validate\nconst couponInput=document.querySelector('[name=\"coupon\"]');if(couponInput){validateCoupon(couponInput.value);}});// Also add click listener to any child elements of Button 5\nconst buttonChildren=applyButton.querySelectorAll(\"*\");buttonChildren.forEach(child=>{child.addEventListener(\"click\",e=>{console.log(\"Button 5 child clicked\",e.target);e.preventDefault();e.stopPropagation();// Find coupon input and validate\nconst couponInput=document.querySelector('[name=\"coupon\"]');if(couponInput){validateCoupon(couponInput.value);}});});return true;}else{console.log(\"Button 5 not found\");return false;}};// Add click listener to coupon para div\ncouponIinputShower.addEventListener(\"click\",e=>{console.log(\"Coupon para clicked\",e.target);e.preventDefault();e.stopPropagation();// Wait 500ms for Button 5 to appear, then setup handler\nsetTimeout(()=>{setupButton5Handler();},500);});// Add click listener to p tag inside coupon para\nconst pTag=couponIinputShower.querySelector(\"p\");if(pTag){pTag.addEventListener(\"click\",e=>{console.log(\"P tag clicked\",e.target);e.preventDefault();e.stopPropagation();// Wait 500ms for Button 5 to appear, then setup handler\nsetTimeout(()=>{setupButton5Handler();},500);});}return true;}else{console.log(\"Coupon para not found, retrying...\");return false;}};// Try to setup immediately\nif(!setupCouponParaHandler()){// If not found, retry every 1 second for up to 10 seconds\nlet retryCount=0;const retryInterval=setInterval(()=>{retryCount++;if(setupCouponParaHandler()||retryCount>=10){clearInterval(retryInterval);}},1e3);}},[]);useEffect(()=>{const clickHandler=e=>{const target=e.target;if(!target)return;const couponTrigger=target.closest('[data-framer-name=\"coupon-para\"]');if(!couponTrigger)return;console.log(\"coupon para clicked\");// poll for apply button\nconst interval=setInterval(()=>{const applyButton=document.querySelector('[data-framer-name=\"Button 5\"]');if(applyButton){clearInterval(interval);console.log(\"found apply button\",applyButton);// to avoid double listeners, remove old first\napplyButton.removeEventListener(\"click\",validateCoupon);applyButton.addEventListener(\"click\",e=>{e.preventDefault();const couponInput=document.querySelector('[name=\"coupon\"]');if(couponInput){validateCoupon(couponInput.value);}});}},200);// Cleanup interval if component unmounts before button appears\nreturn()=>clearInterval(interval);};// Attach listener\ndocument.addEventListener(\"click\",clickHandler);// Cleanup entire listener on unmount\nreturn()=>{document.removeEventListener(\"click\",clickHandler);};},[]);// === UI ===\nreturn /*#__PURE__*/_jsxs(\"div\",{style:{maxWidth:602,margin:\"0 auto\"},children:[error&&/*#__PURE__*/_jsx(\"div\",{style:errorText,children:error}),/*#__PURE__*/_jsx(\"button\",{ref:buttonRef,type:\"button\",style:{width:\"100%\",borderRadius:99,padding:`${buttonPadding}px ${buttonPadding*1.2}px`,backgroundColor:buttonColor,border:\"none\",color:\"#fff\",fontWeight:600,fontSize:buttonFontSize,letterSpacing:-.164,cursor:submitting?\"not-allowed\":\"pointer\",opacity:submitting?.6:1},disabled:submitting,onClick:handleClick,children:submitting?\"Processing...\":buttonText}),recaptchaLoaded&&/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:12,color:\"#666\",textAlign:\"center\",marginTop:8,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",gap:4},children:[/*#__PURE__*/_jsx(\"span\",{children:\"🛡️\"}),/*#__PURE__*/_jsx(\"span\",{children:\"Protected by reCAPTCHA\"})]})]});}// === Framer Controls ===\naddPropertyControls(PaymentSubmit,{buttonText:{type:ControlType.String,title:\"Button Text\",defaultValue:\"UNLOCK BETTER SLEEP\"},buttonColor:{type:ControlType.Color,title:\"Button Color\",defaultValue:\"rgb(134, 163, 243)\"},buttonFontSize:{type:ControlType.Number,title:\"Font Size\",defaultValue:16,min:10,max:40},buttonPadding:{type:ControlType.Number,title:\"Padding\",defaultValue:15,min:5,max:40},showAdvanced:{type:ControlType.Boolean,title:\"Show Advanced Settings\",defaultValue:false},apiUrl:{type:ControlType.String,title:\"API URL\",defaultValue:\"\",hidden:props=>!props.showAdvanced},razorpayKeyId:{type:ControlType.String,title:\"Razorpay Key ID\",defaultValue:\"\",hidden:props=>!props.showAdvanced},recaptchaSiteKey:{type:ControlType.String,title:\"reCAPTCHA Site Key\",defaultValue:\"\",hidden:props=>!props.showAdvanced}});\nexport const __FramerMetadata__ = {\"exports\":{\"PaymentSubmit\":{\"type\":\"reactComponent\",\"name\":\"PaymentSubmit\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SolvingProblem_Razorpay_Pay_Form_btn.map"],"mappings":"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"}