@voxepay/checkout 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/utils/card-validator.ts","../src/utils/formatter.ts","../src/components/modal.ts","../src/voxepay.ts"],"sourcesContent":[null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/utils/card-validator.ts","../src/utils/formatter.ts","../src/components/modal.ts","../src/voxepay.ts"],"sourcesContent":[null,null,null,null],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -28,6 +28,23 @@ export interface VoxePayTheme {
28
28
  '--voxepay-text-muted': string;
29
29
  '--voxepay-border-radius': string;
30
30
  }
31
+ /**
32
+ * Bank transfer account details shown to the user
33
+ */
34
+ export interface BankTransferDetails {
35
+ /** Account number to transfer to */
36
+ accountNumber: string;
37
+ /** Name of the bank */
38
+ bankName: string;
39
+ /** Account holder name */
40
+ accountName: string;
41
+ /** Payment reference code (user should include in transfer) */
42
+ reference: string;
43
+ /** Expiry time in seconds (how long the account is valid for, e.g. 1800 = 30 minutes) */
44
+ expiresIn: number;
45
+ }
46
+ /** Supported payment method types */
47
+ export type PaymentMethod = 'card' | 'bank_transfer';
31
48
  /**
32
49
  * Options for opening a checkout session
33
50
  */
@@ -42,6 +59,12 @@ export interface CheckoutOptions {
42
59
  customerEmail?: string;
43
60
  /** Additional metadata to attach to the payment */
44
61
  metadata?: Record<string, unknown>;
62
+ /** Payment methods to show. Defaults to ['card', 'bank_transfer'] */
63
+ paymentMethods?: PaymentMethod[];
64
+ /** Static bank transfer details (if known upfront) */
65
+ bankTransferDetails?: BankTransferDetails;
66
+ /** Callback to request bank transfer details dynamically (called when user selects bank transfer) */
67
+ onBankTransferRequested?: () => Promise<BankTransferDetails>;
45
68
  /** Callback when payment succeeds */
46
69
  onSuccess: (result: PaymentResult) => void;
47
70
  /** Callback when payment fails */
@@ -65,6 +88,8 @@ export interface PaymentResult {
65
88
  timestamp: string;
66
89
  /** Transaction reference (if available) */
67
90
  reference?: string;
91
+ /** Payment method used */
92
+ paymentMethod?: PaymentMethod;
68
93
  /** Additional data from payment processor */
69
94
  data?: Record<string, unknown>;
70
95
  }
@@ -1,2 +1,2 @@
1
- var VoxePay=function(e){"use strict";const t=[{name:"Visa",code:"visa",pattern:/^4/,lengths:[13,16,19],cvvLength:3},{name:"Mastercard",code:"mastercard",pattern:/^(5[1-5]|2[2-7])/,lengths:[16],cvvLength:3},{name:"Verve",code:"verve",pattern:/^(506[0-9]|507[0-9]|6500)/,lengths:[16,18,19],cvvLength:3},{name:"American Express",code:"amex",pattern:/^3[47]/,lengths:[15],cvvLength:4},{name:"Discover",code:"discover",pattern:/^(6011|65|64[4-9])/,lengths:[16,19],cvvLength:3}];function o(e){const o=e.replace(/\s/g,"");for(const e of t)if(e.pattern.test(o))return e;return null}function a(e){const t=e.replace(/\s/g,"");if(!/^\d+$/.test(t))return!1;let o=0,a=!1;for(let e=t.length-1;e>=0;e--){let n=parseInt(t[e],10);a&&(n*=2,n>9&&(n-=9)),o+=n,a=!a}return o%10==0}function n(e){const t=e.replace(/\s/g,"");if(!t)return{valid:!1,error:"Card number is required"};if(!/^\d+$/.test(t))return{valid:!1,error:"Invalid card number"};const n=o(t);return n?n.lengths.includes(t.length)?a(t)?{valid:!0}:{valid:!1,error:"Invalid card number"}:{valid:!1,error:"Invalid card number length"}:{valid:!1,error:"Unsupported card type"}}function r(e){const t=e.replace(/\s/g,"");if(!t)return{valid:!1,error:"Expiry date is required"};const o=t.match(/^(\d{2})\/(\d{2})$/);if(!o)return{valid:!1,error:"Invalid format (MM/YY)"};const a=parseInt(o[1],10),n=parseInt(o[2],10)+2e3;if(a<1||a>12)return{valid:!1,error:"Invalid month"};const r=new Date,i=r.getFullYear(),s=r.getMonth()+1;return n<i||n===i&&a<s?{valid:!1,error:"Card has expired"}:n>i+20?{valid:!1,error:"Invalid expiry year"}:{valid:!0}}function i(e,t){const a=e.replace(/\s/g,"");if(!a)return{valid:!1,error:"CVV is required"};if(!/^\d+$/.test(a))return{valid:!1,error:"Invalid CVV"};const n=t?o(t):null,r=(null==n?void 0:n.cvvLength)||3;return a.length!==r&&3!==a.length&&4!==a.length?{valid:!1,error:`CVV must be ${r} digits`}:{valid:!0}}function s(e){return(e.replace(/\D/g,"").match(/.{1,4}/g)||[]).join(" ").slice(0,23)}function l(e){const t=e.replace(/\D/g,"");if(0===t.length)return"";if(1===t.length)return parseInt(t)>1?`0${t}`:t;if(2===t.length){const e=parseInt(t);return e>12?"12":0===e?"01":t}return`${t.slice(0,2)}/${t.slice(2,4)}`}function p(e){return e.replace(/\D/g,"").slice(0,4)}function d(e,t){return new Intl.NumberFormat("en-US",{style:"currency",currency:t,minimumFractionDigits:2}).format(e/100)}const v='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">\n <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" />\n </svg>',c='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">\n <path stroke-linecap="round" stroke-linejoin="round" d="M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z" />\n </svg>',y='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="3">\n <path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7" />\n </svg>',x='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 20 20" stroke="currentColor" stroke-width="2">\n <path stroke-linecap="round" stroke-linejoin="round" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" />\n </svg>',u={visa:"VISA",mastercard:"MC",amex:"AMEX",verve:"VERVE",discover:"DISC"};class h{constructor(e){this.container=null,this.overlay=null,this.handleEscape=e=>{"Escape"===e.key&&(this.close(),document.removeEventListener("keydown",this.handleEscape))},this.options=e,this.state={cardNumber:"",expiry:"",cvv:"",otp:"",errors:{},isProcessing:!1,isSuccess:!1,isOtpStep:!1,otpTimer:60,canResendOtp:!1,otpTimerInterval:null}}open(){this.injectStyles(),this.render(),this.attachEventListeners(),requestAnimationFrame(()=>{var e;null===(e=this.overlay)||void 0===e||e.classList.add("voxepay-visible")})}close(){var e;null===(e=this.overlay)||void 0===e||e.classList.remove("voxepay-visible"),setTimeout(()=>{var e,t,o;null===(e=this.container)||void 0===e||e.remove(),this.container=null,this.overlay=null,null===(o=(t=this.options).onClose)||void 0===o||o.call(t)},300)}injectStyles(){if(document.getElementById("voxepay-checkout-styles"))return;const e=document.createElement("style");e.id="voxepay-checkout-styles",e.textContent=this.getStyles(),document.head.appendChild(e)}render(){this.container=document.createElement("div"),this.container.className="voxepay-checkout",this.container.innerHTML=this.getModalHTML(),document.body.appendChild(this.container),this.overlay=this.container.querySelector(".voxepay-overlay")}getModalHTML(){const e=d(this.options.amount,this.options.currency);return`\n <div class="voxepay-overlay">\n <div class="voxepay-modal" role="dialog" aria-modal="true" aria-labelledby="voxepay-title">\n <div class="voxepay-header">\n <div class="voxepay-header-left">\n <div class="voxepay-logo">V</div>\n <div>\n <div class="voxepay-amount" id="voxepay-title">Pay ${e}</div>\n ${this.options.description?`<div style="font-size: 0.875rem; color: var(--voxepay-text-muted);">${this.options.description}</div>`:""}\n </div>\n </div>\n <button class="voxepay-close" aria-label="Close" data-action="close">\n ${v}\n </button>\n </div>\n \n <div class="voxepay-body" id="voxepay-form-container">\n <form id="voxepay-payment-form" novalidate>\n <div class="voxepay-form-group">\n <label class="voxepay-label">\n <span class="voxepay-label-icon">💳</span>\n Card Number\n </label>\n <div class="voxepay-card-input-wrapper">\n <input \n type="text" \n class="voxepay-input" \n id="voxepay-card-number"\n name="cardNumber"\n placeholder="1234 5678 9012 3456"\n autocomplete="cc-number"\n inputmode="numeric"\n />\n <div class="voxepay-card-brand" id="voxepay-card-brand"></div>\n </div>\n <div class="voxepay-error-message" id="voxepay-card-error" style="display: none;"></div>\n </div>\n \n <div class="voxepay-row">\n <div class="voxepay-form-group">\n <label class="voxepay-label">\n <span class="voxepay-label-icon">📅</span>\n Expiry\n </label>\n <input \n type="text" \n class="voxepay-input" \n id="voxepay-expiry"\n name="expiry"\n placeholder="MM/YY"\n autocomplete="cc-exp"\n inputmode="numeric"\n maxlength="5"\n />\n <div class="voxepay-error-message" id="voxepay-expiry-error" style="display: none;"></div>\n </div>\n \n <div class="voxepay-form-group">\n <label class="voxepay-label">\n <span class="voxepay-label-icon">🔒</span>\n CVV\n </label>\n <input \n type="text" \n class="voxepay-input" \n id="voxepay-cvv"\n name="cvv"\n placeholder="•••"\n autocomplete="cc-csc"\n inputmode="numeric"\n maxlength="4"\n />\n <div class="voxepay-error-message" id="voxepay-cvv-error" style="display: none;"></div>\n </div>\n </div>\n \n <button type="submit" class="voxepay-submit-btn" id="voxepay-submit">\n <span>Pay Now ${e}</span>\n </button>\n </form>\n </div>\n \n <div class="voxepay-footer">\n <div class="voxepay-powered-by">\n ${c}\n <span>Secured by <strong>VoxePay</strong></span>\n </div>\n </div>\n </div>\n </div>\n `}renderSuccessView(){var e;const t=null===(e=this.container)||void 0===e?void 0:e.querySelector("#voxepay-form-container");if(!t)return;const o=d(this.options.amount,this.options.currency);t.innerHTML=`\n <div class="voxepay-success-view">\n <div class="voxepay-success-icon">\n ${y}\n </div>\n <h2 class="voxepay-success-title">Payment Successful!</h2>\n <p class="voxepay-success-message">Your payment of ${o} has been processed.</p>\n <button class="voxepay-success-btn" data-action="close">Done</button>\n </div>\n `;const a=t.querySelector('[data-action="close"]');null==a||a.addEventListener("click",()=>this.close())}renderOTPView(){var e;const t=null===(e=this.container)||void 0===e?void 0:e.querySelector("#voxepay-form-container");if(!t)return;this.state.isOtpStep=!0,this.state.otpTimer=60,this.state.canResendOtp=!1;const o=this.options.customerEmail?`****${this.options.customerEmail.slice(-4)}`:"****1234";t.innerHTML=`\n <div class="voxepay-otp-view">\n <div class="voxepay-otp-header">\n <div class="voxepay-otp-icon">📱</div>\n <h3 class="voxepay-otp-title">Verify Your Payment</h3>\n <p class="voxepay-otp-subtitle">We've sent a 6-digit code to ${o}</p>\n </div>\n \n <div class="voxepay-otp-inputs-container">\n <div class="voxepay-otp-inputs" id="voxepay-otp-inputs">\n <input type="text" maxlength="1" class="voxepay-otp-digit" data-index="0" inputmode="numeric" autocomplete="one-time-code" />\n <input type="text" maxlength="1" class="voxepay-otp-digit" data-index="1" inputmode="numeric" />\n <input type="text" maxlength="1" class="voxepay-otp-digit" data-index="2" inputmode="numeric" />\n <input type="text" maxlength="1" class="voxepay-otp-digit" data-index="3" inputmode="numeric" />\n <input type="text" maxlength="1" class="voxepay-otp-digit" data-index="4" inputmode="numeric" />\n <input type="text" maxlength="1" class="voxepay-otp-digit" data-index="5" inputmode="numeric" />\n </div>\n <div class="voxepay-error-message" id="voxepay-otp-error" style="display: none;"></div>\n </div>\n\n <div class="voxepay-otp-timer" id="voxepay-otp-timer">\n Resend code in <span id="voxepay-timer-count">60</span>s\n </div>\n \n <button class="voxepay-resend-btn" id="voxepay-resend-otp" disabled>\n Resend OTP\n </button>\n \n <button type="button" class="voxepay-submit-btn" id="voxepay-verify-otp">\n <span>🔐 Verify & Pay</span>\n </button>\n \n <button class="voxepay-back-btn" id="voxepay-back-to-card">\n ← Back to card details\n </button>\n </div>\n `,this.attachOTPEventListeners(),this.startOTPTimer()}attachOTPEventListeners(){var e,t,o,a,n;const r=null===(e=this.container)||void 0===e?void 0:e.querySelectorAll(".voxepay-otp-digit");null==r||r.forEach((e,t)=>{e.addEventListener("input",e=>this.handleOTPInput(e,t)),e.addEventListener("keydown",e=>this.handleOTPKeydown(e,t)),e.addEventListener("paste",e=>this.handleOTPPaste(e))});const i=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-verify-otp");null==i||i.addEventListener("click",()=>this.handleOTPSubmit());const s=null===(o=this.container)||void 0===o?void 0:o.querySelector("#voxepay-resend-otp");null==s||s.addEventListener("click",()=>this.handleResendOTP());const l=null===(a=this.container)||void 0===a?void 0:a.querySelector("#voxepay-back-to-card");null==l||l.addEventListener("click",()=>this.handleBackToCard()),null===(n=null==r?void 0:r[0])||void 0===n||n.focus()}handleOTPInput(e,t){var o;const a=e.target,n=a.value.replace(/\D/g,"");if(a.value=n,n&&t<5){const e=null===(o=this.container)||void 0===o?void 0:o.querySelector(`[data-index="${t+1}"]`);null==e||e.focus()}this.updateOTPState(),this.clearError("otp")}handleOTPKeydown(e,t){var o;const a=e.target;if("Backspace"===e.key&&!a.value&&t>0){const e=null===(o=this.container)||void 0===o?void 0:o.querySelector(`[data-index="${t-1}"]`);null==e||e.focus()}}handleOTPPaste(e){var t,o;e.preventDefault();const a=null===(t=e.clipboardData)||void 0===t?void 0:t.getData("text").replace(/\D/g,"").slice(0,6);if(a){const e=null===(o=this.container)||void 0===o?void 0:o.querySelectorAll(".voxepay-otp-digit");a.split("").forEach((t,o)=>{e[o]&&(e[o].value=t)}),this.updateOTPState()}}updateOTPState(){var e;const t=null===(e=this.container)||void 0===e?void 0:e.querySelectorAll(".voxepay-otp-digit");let o="";null==t||t.forEach(e=>o+=e.value),this.state.otp=o}startOTPTimer(){var e,t,o;const a=null===(e=this.container)||void 0===e?void 0:e.querySelector("#voxepay-timer-count"),n=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-otp-timer"),r=null===(o=this.container)||void 0===o?void 0:o.querySelector("#voxepay-resend-otp");this.state.otpTimerInterval=window.setInterval(()=>{this.state.otpTimer--,a&&(a.textContent=String(this.state.otpTimer)),this.state.otpTimer<=0&&(this.state.otpTimerInterval&&clearInterval(this.state.otpTimerInterval),this.state.canResendOtp=!0,n&&(n.style.display="none"),r&&(r.disabled=!1))},1e3)}async handleOTPSubmit(){if(6===this.state.otp.length){this.setOTPProcessing(!0);try{await this.verifyOTP(),this.state.otpTimerInterval&&clearInterval(this.state.otpTimerInterval);const e=await this.processPayment();this.state.isSuccess=!0,this.renderSuccessView(),this.options.onSuccess(e)}catch(e){this.setOTPProcessing(!1);const t=e;this.showError("otp",t.message||"Invalid OTP. Please try again.")}}else this.showError("otp","Please enter the complete 6-digit code")}setOTPProcessing(e){var t;const o=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-verify-otp");o&&(o.disabled=e,o.innerHTML=e?'<div class="voxepay-spinner"></div><span>Verifying...</span>':"<span>🔐 Verify & Pay</span>")}async verifyOTP(){if(await new Promise(e=>setTimeout(e,1500)),6!==this.state.otp.length)throw{code:"INVALID_OTP",message:"Invalid OTP",recoverable:!0}}handleResendOTP(){var e,t,o,a;const n=null===(e=this.container)||void 0===e?void 0:e.querySelector("#voxepay-otp-timer"),r=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-resend-otp");this.state.otpTimer=60,this.state.canResendOtp=!1,n&&(n.style.display="block"),r&&(r.disabled=!0);const i=null===(o=this.container)||void 0===o?void 0:o.querySelectorAll(".voxepay-otp-digit");null==i||i.forEach(e=>e.value=""),this.state.otp="",this.startOTPTimer(),null===(a=null==i?void 0:i[0])||void 0===a||a.focus()}handleBackToCard(){var e;if(this.state.otpTimerInterval&&clearInterval(this.state.otpTimerInterval),this.state.isOtpStep=!1,this.state.otp="",this.container){this.container.innerHTML=this.getModalHTML(),this.overlay=this.container.querySelector(".voxepay-overlay"),null===(e=this.overlay)||void 0===e||e.classList.add("voxepay-visible"),this.attachEventListeners();const t=this.container.querySelector("#voxepay-card-number"),o=this.container.querySelector("#voxepay-expiry"),a=this.container.querySelector("#voxepay-cvv");t&&(t.value=s(this.state.cardNumber)),o&&(o.value=this.state.expiry),a&&(a.value=this.state.cvv)}}attachEventListeners(){var e,t,o,a,n,r;const i=null===(e=this.container)||void 0===e?void 0:e.querySelector('[data-action="close"]');null==i||i.addEventListener("click",()=>this.close()),null===(t=this.overlay)||void 0===t||t.addEventListener("click",e=>{e.target===this.overlay&&this.close()}),document.addEventListener("keydown",this.handleEscape);const s=null===(o=this.container)||void 0===o?void 0:o.querySelector("#voxepay-card-number");null==s||s.addEventListener("input",e=>this.handleCardInput(e)),null==s||s.addEventListener("blur",()=>this.validateField("cardNumber"));const l=null===(a=this.container)||void 0===a?void 0:a.querySelector("#voxepay-expiry");null==l||l.addEventListener("input",e=>this.handleExpiryInput(e)),null==l||l.addEventListener("blur",()=>this.validateField("expiry"));const p=null===(n=this.container)||void 0===n?void 0:n.querySelector("#voxepay-cvv");null==p||p.addEventListener("input",e=>this.handleCVVInput(e)),null==p||p.addEventListener("blur",()=>this.validateField("cvv"));const d=null===(r=this.container)||void 0===r?void 0:r.querySelector("#voxepay-payment-form");null==d||d.addEventListener("submit",e=>this.handleSubmit(e))}handleCardInput(e){var t;const a=e.target,n=s(a.value);a.value=n,this.state.cardNumber=n.replace(/\s/g,"");const r=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-card-brand"),i=o(this.state.cardNumber);r&&(r.textContent=i&&u[i.code]||"",r.style.opacity=i?"1":"0"),this.clearError("cardNumber")}handleExpiryInput(e){const t=e.target,o=l(t.value);t.value=o,this.state.expiry=o,this.clearError("expiry")}handleCVVInput(e){const t=e.target,o=p(t.value);t.value=o,this.state.cvv=o,this.clearError("cvv")}validateField(e){let t;switch(e){case"cardNumber":t=n(this.state.cardNumber);break;case"expiry":t=r(this.state.expiry);break;case"cvv":t=i(this.state.cvv,this.state.cardNumber);break;default:return!0}return t.valid?(this.clearError(e),!0):(this.showError(e,t.error||"Invalid"),!1)}showError(e,t){var o,a;const n=null===(o=this.container)||void 0===o?void 0:o.querySelector(`#voxepay-${"cardNumber"===e?"card":e}-error`),r=null===(a=this.container)||void 0===a?void 0:a.querySelector(`#voxepay-${"cardNumber"===e?"card-number":e}`);n&&(n.innerHTML=`${x} ${t}`,n.style.display="flex"),null==r||r.classList.add("voxepay-error")}clearError(e){var t,o;const a=null===(t=this.container)||void 0===t?void 0:t.querySelector(`#voxepay-${"cardNumber"===e?"card":e}-error`),n=null===(o=this.container)||void 0===o?void 0:o.querySelector(`#voxepay-${"cardNumber"===e?"card-number":e}`);a&&(a.style.display="none"),null==n||n.classList.remove("voxepay-error")}async handleSubmit(e){e.preventDefault();const t=this.validateField("cardNumber"),o=this.validateField("expiry"),a=this.validateField("cvv");if(t&&o&&a){this.setProcessing(!0);try{await new Promise(e=>setTimeout(e,1e3)),this.setProcessing(!1),this.renderOTPView()}catch(e){this.setProcessing(!1);const t=e;this.options.onError(t),this.showError("cardNumber",t.message||"Payment failed. Please try again.")}}}setProcessing(e){var t;this.state.isProcessing=e;const o=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-submit");o&&(o.disabled=e,o.innerHTML=e?'<div class="voxepay-spinner"></div><span>Processing...</span>':`<span>Pay Now ${d(this.options.amount,this.options.currency)}</span>`)}async processPayment(){return await new Promise(e=>setTimeout(e,2e3)),{id:`pay_${Date.now()}`,status:"success",amount:this.options.amount,currency:this.options.currency,timestamp:(new Date).toISOString()}}getStyles(){return"\n :root {\n /* VoxePay Blue Color Palette */\n --voxepay-primary: #0061FF;\n --voxepay-primary-hover: #0056E0;\n --voxepay-secondary: #0047CC;\n --voxepay-accent: #60A5FA;\n --voxepay-glow: rgba(0, 97, 255, 0.35);\n --voxepay-success: #10B981;\n --voxepay-success-bg: rgba(16, 185, 129, 0.1);\n --voxepay-error: #EF4444;\n \n /* Dark Mode (Default) */\n --voxepay-bg: #0C0C1D;\n --voxepay-surface: rgba(255, 255, 255, 0.04);\n --voxepay-surface-hover: rgba(255, 255, 255, 0.08);\n --voxepay-border: rgba(255, 255, 255, 0.08);\n --voxepay-text: #FFFFFF;\n --voxepay-text-muted: #B4B4C7;\n --voxepay-text-subtle: #6B7280;\n --voxepay-input-bg: rgba(255, 255, 255, 0.06);\n \n /* Effects */\n --voxepay-backdrop-blur: blur(24px);\n --voxepay-border-radius: 12px;\n --voxepay-border-radius-lg: 16px;\n --voxepay-border-radius-xl: 24px;\n --voxepay-glow-shadow: 0 0 60px var(--voxepay-glow);\n --voxepay-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.6);\n --voxepay-transition-fast: 150ms ease;\n --voxepay-transition: 300ms cubic-bezier(0.4, 0, 0.2, 1);\n }\n \n /* Light Mode */\n html.voxepay-light {\n --voxepay-primary: #0061FF;\n --voxepay-primary-hover: #0056E0;\n --voxepay-secondary: #0047CC;\n --voxepay-glow: rgba(0, 97, 255, 0.2);\n \n --voxepay-bg: #FFFFFF;\n --voxepay-surface: #F8FAFC;\n --voxepay-surface-hover: #F1F5F9;\n --voxepay-border: #E2E8F0;\n --voxepay-text: #0F172A;\n --voxepay-text-muted: #475569;\n --voxepay-text-subtle: #94A3B8;\n --voxepay-input-bg: #F8FAFC;\n \n --voxepay-glow-shadow: 0 0 40px rgba(0, 97, 255, 0.12);\n --voxepay-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);\n }\n \n .voxepay-checkout * { box-sizing: border-box; margin: 0; padding: 0; }\n .voxepay-checkout { font-family: 'DM Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size: 1rem; color: var(--voxepay-text); line-height: 1.5; -webkit-font-smoothing: antialiased; }\n \n .voxepay-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); backdrop-filter: var(--voxepay-backdrop-blur); -webkit-backdrop-filter: var(--voxepay-backdrop-blur); display: flex; align-items: center; justify-content: center; z-index: 999999; opacity: 0; visibility: hidden; transition: opacity var(--voxepay-transition), visibility var(--voxepay-transition); }\n html.voxepay-light .voxepay-overlay { background: rgba(15, 23, 42, 0.4); }\n .voxepay-overlay.voxepay-visible { opacity: 1; visibility: visible; }\n \n .voxepay-modal { background: var(--voxepay-bg); border: 1px solid var(--voxepay-border); border-radius: var(--voxepay-border-radius-xl); width: 100%; max-width: 420px; max-height: 90vh; overflow: hidden; box-shadow: var(--voxepay-shadow), var(--voxepay-glow-shadow); transform: scale(0.95) translateY(20px); opacity: 0; transition: transform var(--voxepay-transition), opacity var(--voxepay-transition); }\n .voxepay-overlay.voxepay-visible .voxepay-modal { transform: scale(1) translateY(0); opacity: 1; }\n \n .voxepay-header { display: flex; align-items: center; justify-content: space-between; padding: 20px 24px; border-bottom: 1px solid var(--voxepay-border); background: var(--voxepay-surface); }\n .voxepay-header-left { display: flex; align-items: center; gap: 12px; }\n .voxepay-logo { width: 36px; height: 36px; border-radius: var(--voxepay-border-radius); background: linear-gradient(135deg, var(--voxepay-primary), var(--voxepay-secondary)); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.25rem; color: white; box-shadow: 0 4px 12px rgba(0, 97, 255, 0.3); }\n .voxepay-amount { font-size: 1.25rem; font-weight: 600; }\n .voxepay-close { width: 36px; height: 36px; border: none; background: var(--voxepay-surface-hover); border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--voxepay-text-muted); transition: all var(--voxepay-transition-fast); }\n .voxepay-close:hover { background: var(--voxepay-border); color: var(--voxepay-text); transform: rotate(90deg); }\n .voxepay-close svg { width: 18px; height: 18px; }\n \n .voxepay-body { padding: 24px; background: var(--voxepay-bg); }\n .voxepay-form-group { margin-bottom: 20px; }\n .voxepay-label { display: flex; align-items: center; gap: 8px; font-size: 0.875rem; font-weight: 500; color: var(--voxepay-text-muted); margin-bottom: 8px; }\n .voxepay-label-icon { font-size: 1rem; }\n \n .voxepay-input { width: 100%; padding: 14px 16px; background: var(--voxepay-input-bg); border: 1.5px solid var(--voxepay-border); border-radius: var(--voxepay-border-radius); color: var(--voxepay-text); font-size: 1rem; font-family: inherit; outline: none; transition: border-color var(--voxepay-transition-fast), box-shadow var(--voxepay-transition-fast), background var(--voxepay-transition-fast); }\n .voxepay-input::placeholder { color: var(--voxepay-text-subtle); }\n .voxepay-input:hover { border-color: var(--voxepay-text-subtle); }\n .voxepay-input:focus { border-color: var(--voxepay-primary); box-shadow: 0 0 0 4px var(--voxepay-glow); background: var(--voxepay-bg); }\n .voxepay-input.voxepay-error { border-color: var(--voxepay-error); box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.15); }\n \n .voxepay-card-input-wrapper { position: relative; }\n .voxepay-card-brand { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); padding: 4px 8px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--voxepay-primary), var(--voxepay-secondary)); border-radius: 6px; font-size: 0.7rem; font-weight: 700; color: white; opacity: 0; transition: opacity var(--voxepay-transition-fast); letter-spacing: 0.5px; }\n .voxepay-card-input-wrapper .voxepay-input { padding-right: 70px; }\n \n .voxepay-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }\n \n .voxepay-error-message { display: flex; align-items: center; gap: 6px; font-size: 0.813rem; color: var(--voxepay-error); margin-top: 8px; animation: voxepay-shake 0.4s ease; }\n .voxepay-error-message svg { width: 16px; height: 16px; flex-shrink: 0; }\n @keyframes voxepay-shake { 0%, 100% { transform: translateX(0); } 20%, 60% { transform: translateX(-4px); } 40%, 80% { transform: translateX(4px); } }\n \n .voxepay-submit-btn { width: 100%; padding: 16px 24px; background: linear-gradient(135deg, var(--voxepay-primary), var(--voxepay-secondary)); border: none; border-radius: var(--voxepay-border-radius); color: white; font-size: 1.063rem; font-weight: 600; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 10px; transition: all var(--voxepay-transition-fast); position: relative; overflow: hidden; box-shadow: 0 4px 15px rgba(0, 97, 255, 0.35); }\n .voxepay-submit-btn:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(0, 97, 255, 0.45); }\n .voxepay-submit-btn:active:not(:disabled) { transform: translateY(0); }\n .voxepay-submit-btn:disabled { opacity: 0.6; cursor: not-allowed; box-shadow: none; }\n .voxepay-submit-btn span { position: relative; z-index: 1; }\n \n .voxepay-spinner { width: 20px; height: 20px; border: 2.5px solid rgba(255, 255, 255, 0.3); border-top-color: white; border-radius: 50%; animation: voxepay-spin 0.8s linear infinite; }\n @keyframes voxepay-spin { to { transform: rotate(360deg); } }\n \n .voxepay-footer { text-align: center; padding: 16px 24px 20px; border-top: 1px solid var(--voxepay-border); background: var(--voxepay-surface); }\n .voxepay-powered-by { font-size: 0.75rem; color: var(--voxepay-text-subtle); display: flex; align-items: center; justify-content: center; gap: 6px; }\n .voxepay-powered-by svg { width: 14px; height: 14px; color: var(--voxepay-primary); }\n .voxepay-powered-by strong { color: var(--voxepay-primary); font-weight: 600; }\n \n .voxepay-success-view { text-align: center; padding: 40px 24px; }\n .voxepay-success-icon { width: 80px; height: 80px; margin: 0 auto 24px; background: linear-gradient(135deg, var(--voxepay-success), #059669); border-radius: 50%; display: flex; align-items: center; justify-content: center; animation: voxepay-success-pop 0.5s ease; box-shadow: 0 8px 25px rgba(16, 185, 129, 0.35); }\n @keyframes voxepay-success-pop { 0% { transform: scale(0); opacity: 0; } 50% { transform: scale(1.1); } 100% { transform: scale(1); opacity: 1; } }\n .voxepay-success-icon svg { width: 40px; height: 40px; color: white; }\n .voxepay-success-title { font-size: 1.5rem; font-weight: 700; margin-bottom: 8px; color: var(--voxepay-text); }\n .voxepay-success-message { font-size: 1rem; color: var(--voxepay-text-muted); margin-bottom: 24px; }\n .voxepay-success-btn { padding: 12px 32px; background: var(--voxepay-surface); border: 1.5px solid var(--voxepay-border); border-radius: var(--voxepay-border-radius); color: var(--voxepay-text); font-size: 1rem; font-weight: 500; cursor: pointer; transition: all var(--voxepay-transition-fast); }\n .voxepay-success-btn:hover { background: var(--voxepay-surface-hover); border-color: var(--voxepay-primary); color: var(--voxepay-primary); }\n \n /* OTP View */\n .voxepay-otp-view { text-align: center; padding: 24px 16px; }\n .voxepay-otp-header { margin-bottom: 24px; }\n .voxepay-otp-icon { font-size: 3rem; margin-bottom: 12px; }\n .voxepay-otp-title { font-size: 1.25rem; font-weight: 700; color: var(--voxepay-text); margin-bottom: 8px; }\n .voxepay-otp-subtitle { font-size: 0.875rem; color: var(--voxepay-text-muted); }\n \n .voxepay-otp-inputs-container { margin-bottom: 16px; }\n .voxepay-otp-inputs { display: flex; justify-content: center; gap: 8px; margin-bottom: 8px; }\n .voxepay-otp-digit { width: 48px; height: 56px; text-align: center; font-size: 1.5rem; font-weight: 700; border: 2px solid var(--voxepay-border); border-radius: var(--voxepay-border-radius); background: var(--voxepay-input-bg); color: var(--voxepay-text); outline: none; transition: all var(--voxepay-transition-fast); }\n .voxepay-otp-digit:focus { border-color: var(--voxepay-primary); box-shadow: 0 0 0 4px var(--voxepay-glow); }\n \n .voxepay-otp-timer { font-size: 0.875rem; color: var(--voxepay-text-muted); margin-bottom: 12px; }\n .voxepay-otp-timer span { font-weight: 700; color: var(--voxepay-primary); }\n \n .voxepay-resend-btn { padding: 8px 16px; background: transparent; border: 1px solid var(--voxepay-border); border-radius: var(--voxepay-border-radius); color: var(--voxepay-text-muted); font-size: 0.875rem; cursor: pointer; margin-bottom: 16px; transition: all var(--voxepay-transition-fast); }\n .voxepay-resend-btn:hover:not(:disabled) { border-color: var(--voxepay-primary); color: var(--voxepay-primary); }\n .voxepay-resend-btn:disabled { opacity: 0.5; cursor: not-allowed; }\n \n .voxepay-back-btn { display: block; width: 100%; padding: 12px; background: transparent; border: none; color: var(--voxepay-text-muted); font-size: 0.875rem; cursor: pointer; margin-top: 12px; transition: color var(--voxepay-transition-fast); }\n .voxepay-back-btn:hover { color: var(--voxepay-primary); }\n \n @media (max-width: 480px) { .voxepay-modal { max-width: 100%; max-height: 100%; border-radius: 0; height: 100%; } .voxepay-body { padding: 20px; } .voxepay-otp-digit { width: 42px; height: 50px; font-size: 1.25rem; } }\n "}}class m{constructor(){this.config=null,this.currentModal=null,this.initialized=!1}init(e){e.apiKey?(this.config={theme:"dark",locale:"en-US",...e},this.initialized=!0,"auto"===e.theme?this.applyAutoTheme():"light"===e.theme&&document.documentElement.classList.add("voxepay-light"),e.customStyles&&this.applyCustomStyles(e.customStyles),console.log("[VoxePay] Initialized successfully")):console.error("[VoxePay] API key is required")}checkout(e){return this.initialized?!e.amount||e.amount<=0?(console.error("[VoxePay] Invalid amount"),void e.onError({code:"INVALID_AMOUNT",message:"Payment amount must be greater than 0",recoverable:!1})):e.currency?(this.closeModal(),this.currentModal=new h({...e,onClose:()=>{var t;this.currentModal=null,null===(t=e.onClose)||void 0===t||t.call(e)}}),void this.currentModal.open()):(console.error("[VoxePay] Currency is required"),void e.onError({code:"INVALID_CURRENCY",message:"Currency code is required",recoverable:!1})):(console.error("[VoxePay] Not initialized. Call VoxePay.init() first."),void e.onError({code:"NOT_INITIALIZED",message:"VoxePay SDK not initialized. Call VoxePay.init() first.",recoverable:!1}))}closeModal(){this.currentModal&&(this.currentModal.close(),this.currentModal=null)}setTheme(e){document.documentElement.classList.remove("voxepay-light"),"light"===e?document.documentElement.classList.add("voxepay-light"):"auto"===e&&this.applyAutoTheme(),this.config&&(this.config.theme=e)}applyAutoTheme(){window.matchMedia("(prefers-color-scheme: dark)").matches||document.documentElement.classList.add("voxepay-light"),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",e=>{var t;"auto"===(null===(t=this.config)||void 0===t?void 0:t.theme)&&document.documentElement.classList.toggle("voxepay-light",!e.matches)})}applyCustomStyles(e){const t=document.documentElement;for(const[o,a]of Object.entries(e))a&&t.style.setProperty(o,a)}get version(){return"0.1.0"}get isInitialized(){return this.initialized}}const g=new m;return"undefined"!=typeof window&&(window.VoxePay=g),e.VoxePay=g,e.VoxePaySDK=m,e.default=g,e.detectCardBrand=o,e.formatAmount=d,e.formatCVV=p,e.formatCardNumber=s,e.formatExpiry=l,e.getCurrencySymbol=function(e){return{NGN:"₦",USD:"$",EUR:"€",GBP:"£",GHS:"₵",KES:"KSh",ZAR:"R"}[e.toUpperCase()]||e},e.luhnCheck=a,e.validateCVV=i,e.validateCardNumber=n,e.validateExpiry=r,Object.defineProperty(e,"__esModule",{value:!0}),e}({});
1
+ var VoxePay=function(e){"use strict";const t=[{name:"Visa",code:"visa",pattern:/^4/,lengths:[13,16,19],cvvLength:3},{name:"Mastercard",code:"mastercard",pattern:/^(5[1-5]|2[2-7])/,lengths:[16],cvvLength:3},{name:"Verve",code:"verve",pattern:/^(506[0-9]|507[0-9]|6500)/,lengths:[16,18,19],cvvLength:3},{name:"American Express",code:"amex",pattern:/^3[47]/,lengths:[15],cvvLength:4},{name:"Discover",code:"discover",pattern:/^(6011|65|64[4-9])/,lengths:[16,19],cvvLength:3}];function a(e){const a=e.replace(/\s/g,"");for(const e of t)if(e.pattern.test(a))return e;return null}function n(e){const t=e.replace(/\s/g,"");if(!/^\d+$/.test(t))return!1;let a=0,n=!1;for(let e=t.length-1;e>=0;e--){let o=parseInt(t[e],10);n&&(o*=2,o>9&&(o-=9)),a+=o,n=!n}return a%10==0}function o(e){const t=e.replace(/\s/g,"");if(!t)return{valid:!1,error:"Card number is required"};if(!/^\d+$/.test(t))return{valid:!1,error:"Invalid card number"};const o=a(t);return o?o.lengths.includes(t.length)?n(t)?{valid:!0}:{valid:!1,error:"Invalid card number"}:{valid:!1,error:"Invalid card number length"}:{valid:!1,error:"Unsupported card type"}}function r(e){const t=e.replace(/\s/g,"");if(!t)return{valid:!1,error:"Expiry date is required"};const a=t.match(/^(\d{2})\/(\d{2})$/);if(!a)return{valid:!1,error:"Invalid format (MM/YY)"};const n=parseInt(a[1],10),o=parseInt(a[2],10)+2e3;if(n<1||n>12)return{valid:!1,error:"Invalid month"};const r=new Date,i=r.getFullYear(),s=r.getMonth()+1;return o<i||o===i&&n<s?{valid:!1,error:"Card has expired"}:o>i+20?{valid:!1,error:"Invalid expiry year"}:{valid:!0}}function i(e,t){const n=e.replace(/\s/g,"");if(!n)return{valid:!1,error:"CVV is required"};if(!/^\d+$/.test(n))return{valid:!1,error:"Invalid CVV"};const o=t?a(t):null,r=(null==o?void 0:o.cvvLength)||3;return n.length!==r&&3!==n.length&&4!==n.length?{valid:!1,error:`CVV must be ${r} digits`}:{valid:!0}}function s(e){return(e.replace(/\D/g,"").match(/.{1,4}/g)||[]).join(" ").slice(0,23)}function p(e){const t=e.replace(/\D/g,"");if(0===t.length)return"";if(1===t.length)return parseInt(t)>1?`0${t}`:t;if(2===t.length){const e=parseInt(t);return e>12?"12":0===e?"01":t}return`${t.slice(0,2)}/${t.slice(2,4)}`}function l(e){return e.replace(/\D/g,"").slice(0,4)}function v(e,t){return new Intl.NumberFormat("en-US",{style:"currency",currency:t,minimumFractionDigits:2}).format(e/100)}const d='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">\n <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" />\n </svg>',c='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">\n <path stroke-linecap="round" stroke-linejoin="round" d="M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z" />\n </svg>',y='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="3">\n <path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7" />\n </svg>',x='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 20 20" stroke="currentColor" stroke-width="2">\n <path stroke-linecap="round" stroke-linejoin="round" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" />\n </svg>',u='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">\n <path stroke-linecap="round" stroke-linejoin="round" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z" />\n </svg>',h='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">\n <path stroke-linecap="round" stroke-linejoin="round" d="M3 21h18M3 10h18M5 6l7-3 7 3M4 10v11M20 10v11M8 14v3M12 14v3M16 14v3" />\n </svg>',m='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">\n <path stroke-linecap="round" stroke-linejoin="round" d="M3 10h18M7 15h1m4 0h1m-7 4h12a3 3 0 003-3V8a3 3 0 00-3-3H6a3 3 0 00-3 3v8a3 3 0 003 3z" />\n </svg>',b='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">\n <path stroke-linecap="round" stroke-linejoin="round" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z" />\n </svg>',g={visa:"VISA",mastercard:"MC",amex:"AMEX",verve:"VERVE",discover:"DISC"};class f{constructor(e){this.container=null,this.overlay=null,this.handleEscape=e=>{"Escape"===e.key&&(this.close(),document.removeEventListener("keydown",this.handleEscape))},this.options=e;const t=e.paymentMethods||["card","bank_transfer"];this.state={cardNumber:"",expiry:"",cvv:"",otp:"",errors:{},isProcessing:!1,isSuccess:!1,isOtpStep:!1,otpTimer:60,canResendOtp:!1,otpTimerInterval:null,paymentMethod:t[0],transferTimer:0,transferTimerInterval:null,bankTransferDetails:e.bankTransferDetails||null}}open(){this.injectStyles(),this.render(),this.attachEventListeners(),requestAnimationFrame(()=>{var e;null===(e=this.overlay)||void 0===e||e.classList.add("voxepay-visible")})}close(){var e;this.stopTransferTimer(),null===(e=this.overlay)||void 0===e||e.classList.remove("voxepay-visible"),setTimeout(()=>{var e,t,a;null===(e=this.container)||void 0===e||e.remove(),this.container=null,this.overlay=null,null===(a=(t=this.options).onClose)||void 0===a||a.call(t)},300)}injectStyles(){if(document.getElementById("voxepay-checkout-styles"))return;const e=document.createElement("style");e.id="voxepay-checkout-styles",e.textContent=this.getStyles(),document.head.appendChild(e)}render(){this.container=document.createElement("div"),this.container.className="voxepay-checkout",this.container.innerHTML=this.getModalHTML(),document.body.appendChild(this.container),this.overlay=this.container.querySelector(".voxepay-overlay")}getPaymentMethods(){return this.options.paymentMethods||["card","bank_transfer"]}getModalHTML(){const e=v(this.options.amount,this.options.currency),t=this.getPaymentMethods(),a=t.length>1,n="card"===this.state.paymentMethod;return`\n <div class="voxepay-overlay">\n <div class="voxepay-modal" role="dialog" aria-modal="true" aria-labelledby="voxepay-title">\n <div class="voxepay-header">\n <div class="voxepay-header-left">\n <div class="voxepay-logo">V</div>\n <div>\n <div class="voxepay-amount" id="voxepay-title">Pay ${e}</div>\n ${this.options.description?`<div style="font-size: 0.875rem; color: var(--voxepay-text-muted);">${this.options.description}</div>`:""}\n </div>\n </div>\n <button class="voxepay-close" aria-label="Close" data-action="close">\n ${d}\n </button>\n </div>\n\n ${a?`\n <div class="voxepay-method-tabs">\n ${t.includes("card")?`\n <button class="voxepay-method-tab ${n?"active":""}" data-method="card">\n ${m} <span>Card</span>\n </button>`:""}\n ${t.includes("bank_transfer")?`\n <button class="voxepay-method-tab ${n?"":"active"}" data-method="bank_transfer">\n ${h} <span>Bank Transfer</span>\n </button>`:""}\n </div>`:""}\n \n <div class="voxepay-body" id="voxepay-form-container">\n ${n?this.getCardFormHTML(e):this.getBankTransferHTML(e)}\n </div>\n \n <div class="voxepay-footer">\n <div class="voxepay-powered-by">\n ${c}\n <span>Secured by <strong>VoxePay</strong></span>\n </div>\n </div>\n </div>\n </div>\n `}getCardFormHTML(e){return`\n <form id="voxepay-payment-form" novalidate>\n <div class="voxepay-form-group">\n <label class="voxepay-label">\n <span class="voxepay-label-icon">💳</span>\n Card Number\n </label>\n <div class="voxepay-card-input-wrapper">\n <input type="text" class="voxepay-input" id="voxepay-card-number" name="cardNumber"\n placeholder="1234 5678 9012 3456" autocomplete="cc-number" inputmode="numeric" />\n <div class="voxepay-card-brand" id="voxepay-card-brand"></div>\n </div>\n <div class="voxepay-error-message" id="voxepay-card-error" style="display: none;"></div>\n </div>\n \n <div class="voxepay-row">\n <div class="voxepay-form-group">\n <label class="voxepay-label"><span class="voxepay-label-icon">📅</span> Expiry</label>\n <input type="text" class="voxepay-input" id="voxepay-expiry" name="expiry"\n placeholder="MM/YY" autocomplete="cc-exp" inputmode="numeric" maxlength="5" />\n <div class="voxepay-error-message" id="voxepay-expiry-error" style="display: none;"></div>\n </div>\n <div class="voxepay-form-group">\n <label class="voxepay-label"><span class="voxepay-label-icon">🔒</span> CVV</label>\n <input type="text" class="voxepay-input" id="voxepay-cvv" name="cvv"\n placeholder="•••" autocomplete="cc-csc" inputmode="numeric" maxlength="4" />\n <div class="voxepay-error-message" id="voxepay-cvv-error" style="display: none;"></div>\n </div>\n </div>\n \n <button type="submit" class="voxepay-submit-btn" id="voxepay-submit">\n <span>Pay Now ${e}</span>\n </button>\n </form>\n `}getBankTransferHTML(e){const t=this.state.bankTransferDetails;return t?`\n <div class="voxepay-transfer-view">\n <div class="voxepay-transfer-instruction">\n <p>Transfer <strong>${e}</strong> to the account below</p>\n </div>\n\n <div class="voxepay-transfer-details">\n <div class="voxepay-transfer-detail">\n <span class="voxepay-transfer-label">Account Number</span>\n <div class="voxepay-transfer-value-row">\n <span class="voxepay-transfer-value voxepay-transfer-account" id="voxepay-account-number">${t.accountNumber}</span>\n <button class="voxepay-copy-btn" id="voxepay-copy-btn" data-copy="${t.accountNumber}" title="Copy">\n ${u}\n </button>\n </div>\n </div>\n\n <div class="voxepay-transfer-detail">\n <span class="voxepay-transfer-label">Bank Name</span>\n <span class="voxepay-transfer-value">${t.bankName}</span>\n </div>\n\n <div class="voxepay-transfer-detail">\n <span class="voxepay-transfer-label">Account Name</span>\n <span class="voxepay-transfer-value">${t.accountName}</span>\n </div>\n\n <div class="voxepay-transfer-detail">\n <span class="voxepay-transfer-label">Amount</span>\n <span class="voxepay-transfer-value voxepay-transfer-amount">${e}</span>\n </div>\n\n <div class="voxepay-transfer-detail">\n <span class="voxepay-transfer-label">Reference</span>\n <span class="voxepay-transfer-value" style="font-family: monospace; letter-spacing: 1px;">${t.reference}</span>\n </div>\n </div>\n\n <div class="voxepay-transfer-timer" id="voxepay-transfer-timer">\n ${b}\n <span>Account expires in <strong id="voxepay-transfer-countdown">${this.formatCountdown(t.expiresIn)}</strong></span>\n </div>\n\n <button type="button" class="voxepay-submit-btn" id="voxepay-transfer-confirm">\n <span>I've sent the money</span>\n </button>\n </div>\n `:'\n <div class="voxepay-transfer-view">\n <div class="voxepay-transfer-loading">\n <div class="voxepay-spinner"></div>\n <p style="margin-top: 16px; color: var(--voxepay-text-muted);">Generating account details...</p>\n </div>\n </div>\n '}formatCountdown(e){const t=Math.floor(e/60),a=e%60;return`${String(t).padStart(2,"0")}:${String(a).padStart(2,"0")}`}renderSuccessView(){var e;const t=null===(e=this.container)||void 0===e?void 0:e.querySelector("#voxepay-form-container");if(!t)return;const a=v(this.options.amount,this.options.currency);t.innerHTML=`\n <div class="voxepay-success-view">\n <div class="voxepay-success-icon">\n ${y}\n </div>\n <h2 class="voxepay-success-title">Payment Successful!</h2>\n <p class="voxepay-success-message">Your payment of ${a} has been processed.</p>\n <button class="voxepay-success-btn" data-action="close">Done</button>\n </div>\n `;const n=t.querySelector('[data-action="close"]');null==n||n.addEventListener("click",()=>this.close())}renderOTPView(){var e;const t=null===(e=this.container)||void 0===e?void 0:e.querySelector("#voxepay-form-container");if(!t)return;this.state.isOtpStep=!0,this.state.otpTimer=60,this.state.canResendOtp=!1;const a=this.options.customerEmail?`****${this.options.customerEmail.slice(-4)}`:"****1234";t.innerHTML=`\n <div class="voxepay-otp-view">\n <div class="voxepay-otp-header">\n <div class="voxepay-otp-icon">📱</div>\n <h3 class="voxepay-otp-title">Verify Your Payment</h3>\n <p class="voxepay-otp-subtitle">We've sent a 6-digit code to ${a}</p>\n </div>\n \n <div class="voxepay-otp-inputs-container">\n <div class="voxepay-otp-inputs" id="voxepay-otp-inputs">\n <input type="text" maxlength="1" class="voxepay-otp-digit" data-index="0" inputmode="numeric" autocomplete="one-time-code" />\n <input type="text" maxlength="1" class="voxepay-otp-digit" data-index="1" inputmode="numeric" />\n <input type="text" maxlength="1" class="voxepay-otp-digit" data-index="2" inputmode="numeric" />\n <input type="text" maxlength="1" class="voxepay-otp-digit" data-index="3" inputmode="numeric" />\n <input type="text" maxlength="1" class="voxepay-otp-digit" data-index="4" inputmode="numeric" />\n <input type="text" maxlength="1" class="voxepay-otp-digit" data-index="5" inputmode="numeric" />\n </div>\n <div class="voxepay-error-message" id="voxepay-otp-error" style="display: none;"></div>\n </div>\n\n <div class="voxepay-otp-timer" id="voxepay-otp-timer">\n Resend code in <span id="voxepay-timer-count">60</span>s\n </div>\n \n <button class="voxepay-resend-btn" id="voxepay-resend-otp" disabled>\n Resend OTP\n </button>\n \n <button type="button" class="voxepay-submit-btn" id="voxepay-verify-otp">\n <span>🔐 Verify & Pay</span>\n </button>\n \n <button class="voxepay-back-btn" id="voxepay-back-to-card">\n ← Back to card details\n </button>\n </div>\n `,this.attachOTPEventListeners(),this.startOTPTimer()}attachOTPEventListeners(){var e,t,a,n,o;const r=null===(e=this.container)||void 0===e?void 0:e.querySelectorAll(".voxepay-otp-digit");null==r||r.forEach((e,t)=>{e.addEventListener("input",e=>this.handleOTPInput(e,t)),e.addEventListener("keydown",e=>this.handleOTPKeydown(e,t)),e.addEventListener("paste",e=>this.handleOTPPaste(e))});const i=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-verify-otp");null==i||i.addEventListener("click",()=>this.handleOTPSubmit());const s=null===(a=this.container)||void 0===a?void 0:a.querySelector("#voxepay-resend-otp");null==s||s.addEventListener("click",()=>this.handleResendOTP());const p=null===(n=this.container)||void 0===n?void 0:n.querySelector("#voxepay-back-to-card");null==p||p.addEventListener("click",()=>this.handleBackToCard()),null===(o=null==r?void 0:r[0])||void 0===o||o.focus()}handleOTPInput(e,t){var a;const n=e.target,o=n.value.replace(/\D/g,"");if(n.value=o,o&&t<5){const e=null===(a=this.container)||void 0===a?void 0:a.querySelector(`[data-index="${t+1}"]`);null==e||e.focus()}this.updateOTPState(),this.clearError("otp")}handleOTPKeydown(e,t){var a;const n=e.target;if("Backspace"===e.key&&!n.value&&t>0){const e=null===(a=this.container)||void 0===a?void 0:a.querySelector(`[data-index="${t-1}"]`);null==e||e.focus()}}handleOTPPaste(e){var t,a;e.preventDefault();const n=null===(t=e.clipboardData)||void 0===t?void 0:t.getData("text").replace(/\D/g,"").slice(0,6);if(n){const e=null===(a=this.container)||void 0===a?void 0:a.querySelectorAll(".voxepay-otp-digit");n.split("").forEach((t,a)=>{e[a]&&(e[a].value=t)}),this.updateOTPState()}}updateOTPState(){var e;const t=null===(e=this.container)||void 0===e?void 0:e.querySelectorAll(".voxepay-otp-digit");let a="";null==t||t.forEach(e=>a+=e.value),this.state.otp=a}startOTPTimer(){var e,t,a;const n=null===(e=this.container)||void 0===e?void 0:e.querySelector("#voxepay-timer-count"),o=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-otp-timer"),r=null===(a=this.container)||void 0===a?void 0:a.querySelector("#voxepay-resend-otp");this.state.otpTimerInterval=window.setInterval(()=>{this.state.otpTimer--,n&&(n.textContent=String(this.state.otpTimer)),this.state.otpTimer<=0&&(this.state.otpTimerInterval&&clearInterval(this.state.otpTimerInterval),this.state.canResendOtp=!0,o&&(o.style.display="none"),r&&(r.disabled=!1))},1e3)}async handleOTPSubmit(){if(6===this.state.otp.length){this.setOTPProcessing(!0);try{await this.verifyOTP(),this.state.otpTimerInterval&&clearInterval(this.state.otpTimerInterval);const e=await this.processPayment();this.state.isSuccess=!0,this.renderSuccessView(),this.options.onSuccess(e)}catch(e){this.setOTPProcessing(!1);const t=e;this.showError("otp",t.message||"Invalid OTP. Please try again.")}}else this.showError("otp","Please enter the complete 6-digit code")}setOTPProcessing(e){var t;const a=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-verify-otp");a&&(a.disabled=e,a.innerHTML=e?'<div class="voxepay-spinner"></div><span>Verifying...</span>':"<span>🔐 Verify & Pay</span>")}async verifyOTP(){if(await new Promise(e=>setTimeout(e,1500)),6!==this.state.otp.length)throw{code:"INVALID_OTP",message:"Invalid OTP",recoverable:!0}}handleResendOTP(){var e,t,a,n;const o=null===(e=this.container)||void 0===e?void 0:e.querySelector("#voxepay-otp-timer"),r=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-resend-otp");this.state.otpTimer=60,this.state.canResendOtp=!1,o&&(o.style.display="block"),r&&(r.disabled=!0);const i=null===(a=this.container)||void 0===a?void 0:a.querySelectorAll(".voxepay-otp-digit");null==i||i.forEach(e=>e.value=""),this.state.otp="",this.startOTPTimer(),null===(n=null==i?void 0:i[0])||void 0===n||n.focus()}handleBackToCard(){var e;if(this.state.otpTimerInterval&&clearInterval(this.state.otpTimerInterval),this.state.isOtpStep=!1,this.state.otp="",this.container){this.container.innerHTML=this.getModalHTML(),this.overlay=this.container.querySelector(".voxepay-overlay"),null===(e=this.overlay)||void 0===e||e.classList.add("voxepay-visible"),this.attachEventListeners();const t=this.container.querySelector("#voxepay-card-number"),a=this.container.querySelector("#voxepay-expiry"),n=this.container.querySelector("#voxepay-cvv");t&&(t.value=s(this.state.cardNumber)),a&&(a.value=this.state.expiry),n&&(n.value=this.state.cvv)}}attachEventListeners(){var e,t,a,n,o,r,i;const s=null===(e=this.container)||void 0===e?void 0:e.querySelector('[data-action="close"]');null==s||s.addEventListener("click",()=>this.close()),null===(t=this.overlay)||void 0===t||t.addEventListener("click",e=>{e.target===this.overlay&&this.close()}),document.addEventListener("keydown",this.handleEscape);const p=null===(a=this.container)||void 0===a?void 0:a.querySelectorAll(".voxepay-method-tab");if(null==p||p.forEach(e=>{e.addEventListener("click",()=>{const t=e.dataset.method;t&&t!==this.state.paymentMethod&&this.switchPaymentMethod(t)})}),"card"===this.state.paymentMethod){const e=null===(n=this.container)||void 0===n?void 0:n.querySelector("#voxepay-card-number");null==e||e.addEventListener("input",e=>this.handleCardInput(e)),null==e||e.addEventListener("blur",()=>this.validateField("cardNumber"));const t=null===(o=this.container)||void 0===o?void 0:o.querySelector("#voxepay-expiry");null==t||t.addEventListener("input",e=>this.handleExpiryInput(e)),null==t||t.addEventListener("blur",()=>this.validateField("expiry"));const a=null===(r=this.container)||void 0===r?void 0:r.querySelector("#voxepay-cvv");null==a||a.addEventListener("input",e=>this.handleCVVInput(e)),null==a||a.addEventListener("blur",()=>this.validateField("cvv"));const s=null===(i=this.container)||void 0===i?void 0:i.querySelector("#voxepay-payment-form");null==s||s.addEventListener("submit",e=>this.handleSubmit(e))}"bank_transfer"===this.state.paymentMethod&&(this.attachBankTransferListeners(),this.state.bankTransferDetails?this.startTransferTimer():this.loadBankTransferDetails())}attachBankTransferListeners(){var e,t;const a=null===(e=this.container)||void 0===e?void 0:e.querySelector("#voxepay-copy-btn");null==a||a.addEventListener("click",()=>{const e=a.dataset.copy||"";this.copyToClipboard(e)});const n=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-transfer-confirm");null==n||n.addEventListener("click",()=>this.handleTransferConfirm())}switchPaymentMethod(e){var t;if(this.stopTransferTimer(),this.state.paymentMethod=e,this.container&&(this.container.innerHTML=this.getModalHTML(),this.overlay=this.container.querySelector(".voxepay-overlay"),null===(t=this.overlay)||void 0===t||t.classList.add("voxepay-visible"),this.attachEventListeners(),"card"===e&&this.state.cardNumber)){const e=this.container.querySelector("#voxepay-card-number"),t=this.container.querySelector("#voxepay-expiry"),a=this.container.querySelector("#voxepay-cvv");e&&(e.value=s(this.state.cardNumber)),t&&(t.value=this.state.expiry),a&&(a.value=this.state.cvv)}}async loadBankTransferDetails(){var e;try{let t;this.options.onBankTransferRequested?t=await this.options.onBankTransferRequested():(await new Promise(e=>setTimeout(e,1500)),t={accountNumber:"0123456789",bankName:"VoxePay Bank",accountName:"VoxePay Collections",reference:`VP-${Date.now().toString(36).toUpperCase()}`,expiresIn:1800}),this.state.bankTransferDetails=t;const a=null===(e=this.container)||void 0===e?void 0:e.querySelector("#voxepay-form-container");if(a){const e=v(this.options.amount,this.options.currency);a.innerHTML=this.getBankTransferHTML(e),this.attachBankTransferListeners(),this.startTransferTimer()}}catch(e){this.options.onError({code:"BANK_TRANSFER_INIT_FAILED",message:"Could not generate bank transfer details. Please try again.",recoverable:!0})}}async copyToClipboard(e){var t;try{await navigator.clipboard.writeText(e);const a=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-copy-btn");a&&(a.innerHTML=`${y}`,a.classList.add("voxepay-copied"),setTimeout(()=>{a.innerHTML=`${u}`,a.classList.remove("voxepay-copied")},2e3))}catch(t){const a=document.createElement("textarea");a.value=e,a.style.position="fixed",a.style.opacity="0",document.body.appendChild(a),a.select(),document.execCommand("copy"),document.body.removeChild(a)}}async handleTransferConfirm(){var e,t;const a=null===(e=this.container)||void 0===e?void 0:e.querySelector("#voxepay-transfer-confirm");a&&(a.disabled=!0,a.innerHTML='<div class="voxepay-spinner"></div><span>Confirming transfer...</span>'),this.stopTransferTimer();try{await new Promise(e=>setTimeout(e,3e3));const e={id:`pay_transfer_${Date.now()}`,status:"pending",amount:this.options.amount,currency:this.options.currency,timestamp:(new Date).toISOString(),reference:null===(t=this.state.bankTransferDetails)||void 0===t?void 0:t.reference,paymentMethod:"bank_transfer"};this.state.isSuccess=!0,this.renderSuccessView(),this.options.onSuccess(e)}catch(e){a&&(a.disabled=!1,a.innerHTML="<span>I've sent the money</span>");const t=e;this.options.onError(t)}}startTransferTimer(){this.state.bankTransferDetails&&(this.state.transferTimer=this.state.bankTransferDetails.expiresIn,this.state.transferTimerInterval=window.setInterval(()=>{var e,t,a;this.state.transferTimer--;const n=null===(e=this.container)||void 0===e?void 0:e.querySelector("#voxepay-transfer-countdown");if(n&&(n.textContent=this.formatCountdown(this.state.transferTimer)),this.state.transferTimer<=0){this.stopTransferTimer();const e=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-transfer-timer");e&&(e.innerHTML=`${b} <span style="color: var(--voxepay-error);">Account expired. Please try again.</span>`);const n=null===(a=this.container)||void 0===a?void 0:a.querySelector("#voxepay-transfer-confirm");n&&(n.disabled=!0)}},1e3))}stopTransferTimer(){this.state.transferTimerInterval&&(clearInterval(this.state.transferTimerInterval),this.state.transferTimerInterval=null)}handleCardInput(e){var t;const n=e.target,o=s(n.value);n.value=o,this.state.cardNumber=o.replace(/\s/g,"");const r=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-card-brand"),i=a(this.state.cardNumber);r&&(r.textContent=i&&g[i.code]||"",r.style.opacity=i?"1":"0"),this.clearError("cardNumber")}handleExpiryInput(e){const t=e.target,a=p(t.value);t.value=a,this.state.expiry=a,this.clearError("expiry")}handleCVVInput(e){const t=e.target,a=l(t.value);t.value=a,this.state.cvv=a,this.clearError("cvv")}validateField(e){let t;switch(e){case"cardNumber":t=o(this.state.cardNumber);break;case"expiry":t=r(this.state.expiry);break;case"cvv":t=i(this.state.cvv,this.state.cardNumber);break;default:return!0}return t.valid?(this.clearError(e),!0):(this.showError(e,t.error||"Invalid"),!1)}showError(e,t){var a,n;const o=null===(a=this.container)||void 0===a?void 0:a.querySelector(`#voxepay-${"cardNumber"===e?"card":e}-error`),r=null===(n=this.container)||void 0===n?void 0:n.querySelector(`#voxepay-${"cardNumber"===e?"card-number":e}`);o&&(o.innerHTML=`${x} ${t}`,o.style.display="flex"),null==r||r.classList.add("voxepay-error")}clearError(e){var t,a;const n=null===(t=this.container)||void 0===t?void 0:t.querySelector(`#voxepay-${"cardNumber"===e?"card":e}-error`),o=null===(a=this.container)||void 0===a?void 0:a.querySelector(`#voxepay-${"cardNumber"===e?"card-number":e}`);n&&(n.style.display="none"),null==o||o.classList.remove("voxepay-error")}async handleSubmit(e){e.preventDefault();const t=this.validateField("cardNumber"),a=this.validateField("expiry"),n=this.validateField("cvv");if(t&&a&&n){this.setProcessing(!0);try{await new Promise(e=>setTimeout(e,1e3)),this.setProcessing(!1),this.renderOTPView()}catch(e){this.setProcessing(!1);const t=e;this.options.onError(t),this.showError("cardNumber",t.message||"Payment failed. Please try again.")}}}setProcessing(e){var t;this.state.isProcessing=e;const a=null===(t=this.container)||void 0===t?void 0:t.querySelector("#voxepay-submit");a&&(a.disabled=e,a.innerHTML=e?'<div class="voxepay-spinner"></div><span>Processing...</span>':`<span>Pay Now ${v(this.options.amount,this.options.currency)}</span>`)}async processPayment(){return await new Promise(e=>setTimeout(e,2e3)),{id:`pay_${Date.now()}`,status:"success",amount:this.options.amount,currency:this.options.currency,timestamp:(new Date).toISOString()}}getStyles(){return"\n :root {\n /* VoxePay Blue Color Palette */\n --voxepay-primary: #0061FF;\n --voxepay-primary-hover: #0056E0;\n --voxepay-secondary: #0047CC;\n --voxepay-accent: #60A5FA;\n --voxepay-glow: rgba(0, 97, 255, 0.35);\n --voxepay-success: #10B981;\n --voxepay-success-bg: rgba(16, 185, 129, 0.1);\n --voxepay-error: #EF4444;\n \n /* Dark Mode (Default) */\n --voxepay-bg: #0C0C1D;\n --voxepay-surface: rgba(255, 255, 255, 0.04);\n --voxepay-surface-hover: rgba(255, 255, 255, 0.08);\n --voxepay-border: rgba(255, 255, 255, 0.08);\n --voxepay-text: #FFFFFF;\n --voxepay-text-muted: #B4B4C7;\n --voxepay-text-subtle: #6B7280;\n --voxepay-input-bg: rgba(255, 255, 255, 0.06);\n \n /* Effects */\n --voxepay-backdrop-blur: blur(24px);\n --voxepay-border-radius: 12px;\n --voxepay-border-radius-lg: 16px;\n --voxepay-border-radius-xl: 24px;\n --voxepay-glow-shadow: 0 0 60px var(--voxepay-glow);\n --voxepay-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.6);\n --voxepay-transition-fast: 150ms ease;\n --voxepay-transition: 300ms cubic-bezier(0.4, 0, 0.2, 1);\n }\n \n /* Light Mode */\n html.voxepay-light {\n --voxepay-primary: #0061FF;\n --voxepay-primary-hover: #0056E0;\n --voxepay-secondary: #0047CC;\n --voxepay-glow: rgba(0, 97, 255, 0.2);\n \n --voxepay-bg: #FFFFFF;\n --voxepay-surface: #F8FAFC;\n --voxepay-surface-hover: #F1F5F9;\n --voxepay-border: #E2E8F0;\n --voxepay-text: #0F172A;\n --voxepay-text-muted: #475569;\n --voxepay-text-subtle: #94A3B8;\n --voxepay-input-bg: #F8FAFC;\n \n --voxepay-glow-shadow: 0 0 40px rgba(0, 97, 255, 0.12);\n --voxepay-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);\n }\n \n .voxepay-checkout * { box-sizing: border-box; margin: 0; padding: 0; }\n .voxepay-checkout { font-family: 'DM Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size: 1rem; color: var(--voxepay-text); line-height: 1.5; -webkit-font-smoothing: antialiased; }\n \n .voxepay-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); backdrop-filter: var(--voxepay-backdrop-blur); -webkit-backdrop-filter: var(--voxepay-backdrop-blur); display: flex; align-items: center; justify-content: center; z-index: 999999; opacity: 0; visibility: hidden; transition: opacity var(--voxepay-transition), visibility var(--voxepay-transition); }\n html.voxepay-light .voxepay-overlay { background: rgba(15, 23, 42, 0.4); }\n .voxepay-overlay.voxepay-visible { opacity: 1; visibility: visible; }\n \n .voxepay-modal { background: var(--voxepay-bg); border: 1px solid var(--voxepay-border); border-radius: var(--voxepay-border-radius-xl); width: 100%; max-width: 420px; max-height: 90vh; overflow: hidden; box-shadow: var(--voxepay-shadow), var(--voxepay-glow-shadow); transform: scale(0.95) translateY(20px); opacity: 0; transition: transform var(--voxepay-transition), opacity var(--voxepay-transition); }\n .voxepay-overlay.voxepay-visible .voxepay-modal { transform: scale(1) translateY(0); opacity: 1; }\n \n .voxepay-header { display: flex; align-items: center; justify-content: space-between; padding: 20px 24px; border-bottom: 1px solid var(--voxepay-border); background: var(--voxepay-surface); }\n .voxepay-header-left { display: flex; align-items: center; gap: 12px; }\n .voxepay-logo { width: 36px; height: 36px; border-radius: var(--voxepay-border-radius); background: linear-gradient(135deg, var(--voxepay-primary), var(--voxepay-secondary)); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.25rem; color: white; box-shadow: 0 4px 12px rgba(0, 97, 255, 0.3); }\n .voxepay-amount { font-size: 1.25rem; font-weight: 600; }\n .voxepay-close { width: 36px; height: 36px; border: none; background: var(--voxepay-surface-hover); border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--voxepay-text-muted); transition: all var(--voxepay-transition-fast); }\n .voxepay-close:hover { background: var(--voxepay-border); color: var(--voxepay-text); transform: rotate(90deg); }\n .voxepay-close svg { width: 18px; height: 18px; }\n \n .voxepay-body { padding: 24px; background: var(--voxepay-bg); }\n .voxepay-form-group { margin-bottom: 20px; }\n .voxepay-label { display: flex; align-items: center; gap: 8px; font-size: 0.875rem; font-weight: 500; color: var(--voxepay-text-muted); margin-bottom: 8px; }\n .voxepay-label-icon { font-size: 1rem; }\n \n .voxepay-input { width: 100%; padding: 14px 16px; background: var(--voxepay-input-bg); border: 1.5px solid var(--voxepay-border); border-radius: var(--voxepay-border-radius); color: var(--voxepay-text); font-size: 1rem; font-family: inherit; outline: none; transition: border-color var(--voxepay-transition-fast), box-shadow var(--voxepay-transition-fast), background var(--voxepay-transition-fast); }\n .voxepay-input::placeholder { color: var(--voxepay-text-subtle); }\n .voxepay-input:hover { border-color: var(--voxepay-text-subtle); }\n .voxepay-input:focus { border-color: var(--voxepay-primary); box-shadow: 0 0 0 4px var(--voxepay-glow); background: var(--voxepay-bg); }\n .voxepay-input.voxepay-error { border-color: var(--voxepay-error); box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.15); }\n \n .voxepay-card-input-wrapper { position: relative; }\n .voxepay-card-brand { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); padding: 4px 8px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--voxepay-primary), var(--voxepay-secondary)); border-radius: 6px; font-size: 0.7rem; font-weight: 700; color: white; opacity: 0; transition: opacity var(--voxepay-transition-fast); letter-spacing: 0.5px; }\n .voxepay-card-input-wrapper .voxepay-input { padding-right: 70px; }\n \n .voxepay-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }\n \n .voxepay-error-message { display: flex; align-items: center; gap: 6px; font-size: 0.813rem; color: var(--voxepay-error); margin-top: 8px; animation: voxepay-shake 0.4s ease; }\n .voxepay-error-message svg { width: 16px; height: 16px; flex-shrink: 0; }\n @keyframes voxepay-shake { 0%, 100% { transform: translateX(0); } 20%, 60% { transform: translateX(-4px); } 40%, 80% { transform: translateX(4px); } }\n \n .voxepay-submit-btn { width: 100%; padding: 16px 24px; background: linear-gradient(135deg, var(--voxepay-primary), var(--voxepay-secondary)); border: none; border-radius: var(--voxepay-border-radius); color: white; font-size: 1.063rem; font-weight: 600; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 10px; transition: all var(--voxepay-transition-fast); position: relative; overflow: hidden; box-shadow: 0 4px 15px rgba(0, 97, 255, 0.35); }\n .voxepay-submit-btn:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(0, 97, 255, 0.45); }\n .voxepay-submit-btn:active:not(:disabled) { transform: translateY(0); }\n .voxepay-submit-btn:disabled { opacity: 0.6; cursor: not-allowed; box-shadow: none; }\n .voxepay-submit-btn span { position: relative; z-index: 1; }\n \n .voxepay-spinner { width: 20px; height: 20px; border: 2.5px solid rgba(255, 255, 255, 0.3); border-top-color: white; border-radius: 50%; animation: voxepay-spin 0.8s linear infinite; }\n @keyframes voxepay-spin { to { transform: rotate(360deg); } }\n \n .voxepay-footer { text-align: center; padding: 16px 24px 20px; border-top: 1px solid var(--voxepay-border); background: var(--voxepay-surface); }\n .voxepay-powered-by { font-size: 0.75rem; color: var(--voxepay-text-subtle); display: flex; align-items: center; justify-content: center; gap: 6px; }\n .voxepay-powered-by svg { width: 14px; height: 14px; color: var(--voxepay-primary); }\n .voxepay-powered-by strong { color: var(--voxepay-primary); font-weight: 600; }\n \n .voxepay-success-view { text-align: center; padding: 40px 24px; }\n .voxepay-success-icon { width: 80px; height: 80px; margin: 0 auto 24px; background: linear-gradient(135deg, var(--voxepay-success), #059669); border-radius: 50%; display: flex; align-items: center; justify-content: center; animation: voxepay-success-pop 0.5s ease; box-shadow: 0 8px 25px rgba(16, 185, 129, 0.35); }\n @keyframes voxepay-success-pop { 0% { transform: scale(0); opacity: 0; } 50% { transform: scale(1.1); } 100% { transform: scale(1); opacity: 1; } }\n .voxepay-success-icon svg { width: 40px; height: 40px; color: white; }\n .voxepay-success-title { font-size: 1.5rem; font-weight: 700; margin-bottom: 8px; color: var(--voxepay-text); }\n .voxepay-success-message { font-size: 1rem; color: var(--voxepay-text-muted); margin-bottom: 24px; }\n .voxepay-success-btn { padding: 12px 32px; background: var(--voxepay-surface); border: 1.5px solid var(--voxepay-border); border-radius: var(--voxepay-border-radius); color: var(--voxepay-text); font-size: 1rem; font-weight: 500; cursor: pointer; transition: all var(--voxepay-transition-fast); }\n .voxepay-success-btn:hover { background: var(--voxepay-surface-hover); border-color: var(--voxepay-primary); color: var(--voxepay-primary); }\n \n /* OTP View */\n .voxepay-otp-view { text-align: center; padding: 24px 16px; }\n .voxepay-otp-header { margin-bottom: 24px; }\n .voxepay-otp-icon { font-size: 3rem; margin-bottom: 12px; }\n .voxepay-otp-title { font-size: 1.25rem; font-weight: 700; color: var(--voxepay-text); margin-bottom: 8px; }\n .voxepay-otp-subtitle { font-size: 0.875rem; color: var(--voxepay-text-muted); }\n \n .voxepay-otp-inputs-container { margin-bottom: 16px; }\n .voxepay-otp-inputs { display: flex; justify-content: center; gap: 8px; margin-bottom: 8px; }\n .voxepay-otp-digit { width: 48px; height: 56px; text-align: center; font-size: 1.5rem; font-weight: 700; border: 2px solid var(--voxepay-border); border-radius: var(--voxepay-border-radius); background: var(--voxepay-input-bg); color: var(--voxepay-text); outline: none; transition: all var(--voxepay-transition-fast); }\n .voxepay-otp-digit:focus { border-color: var(--voxepay-primary); box-shadow: 0 0 0 4px var(--voxepay-glow); }\n \n .voxepay-otp-timer { font-size: 0.875rem; color: var(--voxepay-text-muted); margin-bottom: 12px; }\n .voxepay-otp-timer span { font-weight: 700; color: var(--voxepay-primary); }\n \n .voxepay-resend-btn { padding: 8px 16px; background: transparent; border: 1px solid var(--voxepay-border); border-radius: var(--voxepay-border-radius); color: var(--voxepay-text-muted); font-size: 0.875rem; cursor: pointer; margin-bottom: 16px; transition: all var(--voxepay-transition-fast); }\n .voxepay-resend-btn:hover:not(:disabled) { border-color: var(--voxepay-primary); color: var(--voxepay-primary); }\n .voxepay-resend-btn:disabled { opacity: 0.5; cursor: not-allowed; }\n \n .voxepay-back-btn { display: block; width: 100%; padding: 12px; background: transparent; border: none; color: var(--voxepay-text-muted); font-size: 0.875rem; cursor: pointer; margin-top: 12px; transition: color var(--voxepay-transition-fast); }\n .voxepay-back-btn:hover { color: var(--voxepay-primary); }\n\n /* Payment Method Tabs */\n .voxepay-method-tabs { display: flex; border-bottom: 1px solid var(--voxepay-border); background: var(--voxepay-surface); }\n .voxepay-method-tab { flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 16px; border: none; background: transparent; color: var(--voxepay-text-muted); font-size: 0.875rem; font-weight: 500; font-family: inherit; cursor: pointer; transition: all var(--voxepay-transition-fast); border-bottom: 2px solid transparent; }\n .voxepay-method-tab svg { width: 18px; height: 18px; }\n .voxepay-method-tab:hover { color: var(--voxepay-text); background: var(--voxepay-surface-hover); }\n .voxepay-method-tab.active { color: var(--voxepay-primary); border-bottom-color: var(--voxepay-primary); background: var(--voxepay-bg); }\n\n /* Bank Transfer View */\n .voxepay-transfer-view { padding: 4px 0; }\n .voxepay-transfer-loading { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 48px 0; }\n .voxepay-transfer-instruction { text-align: center; margin-bottom: 20px; font-size: 0.938rem; color: var(--voxepay-text-muted); }\n .voxepay-transfer-instruction strong { color: var(--voxepay-text); font-size: 1.063rem; }\n .voxepay-transfer-details { background: var(--voxepay-surface); border: 1px solid var(--voxepay-border); border-radius: var(--voxepay-border-radius); overflow: hidden; margin-bottom: 16px; }\n .voxepay-transfer-detail { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid var(--voxepay-border); }\n .voxepay-transfer-detail:last-child { border-bottom: none; }\n .voxepay-transfer-label { font-size: 0.813rem; color: var(--voxepay-text-muted); font-weight: 500; }\n .voxepay-transfer-value { font-size: 0.938rem; font-weight: 600; color: var(--voxepay-text); }\n .voxepay-transfer-value-row { display: flex; align-items: center; gap: 8px; }\n .voxepay-transfer-account { font-size: 1.125rem; font-weight: 700; color: var(--voxepay-primary); letter-spacing: 1.5px; font-family: 'DM Sans', monospace; }\n .voxepay-transfer-amount { color: var(--voxepay-primary); }\n\n /* Copy Button */\n .voxepay-copy-btn { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 1px solid var(--voxepay-border); border-radius: 8px; background: var(--voxepay-surface-hover); color: var(--voxepay-text-muted); cursor: pointer; transition: all var(--voxepay-transition-fast); flex-shrink: 0; }\n .voxepay-copy-btn svg { width: 16px; height: 16px; }\n .voxepay-copy-btn:hover { border-color: var(--voxepay-primary); color: var(--voxepay-primary); background: rgba(0, 97, 255, 0.1); }\n .voxepay-copy-btn.voxepay-copied { border-color: var(--voxepay-success); color: var(--voxepay-success); background: var(--voxepay-success-bg); }\n\n /* Transfer Timer */\n .voxepay-transfer-timer { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 16px; background: var(--voxepay-surface); border: 1px solid var(--voxepay-border); border-radius: var(--voxepay-border-radius); margin-bottom: 16px; font-size: 0.875rem; color: var(--voxepay-text-muted); }\n .voxepay-transfer-timer svg { width: 16px; height: 16px; color: var(--voxepay-primary); flex-shrink: 0; }\n .voxepay-transfer-timer strong { color: var(--voxepay-primary); font-weight: 700; font-family: monospace; font-size: 0.938rem; }\n \n @media (max-width: 480px) { .voxepay-modal { max-width: 100%; max-height: 100%; border-radius: 0; height: 100%; } .voxepay-body { padding: 20px; } .voxepay-otp-digit { width: 42px; height: 50px; font-size: 1.25rem; } .voxepay-transfer-detail { flex-direction: column; align-items: flex-start; gap: 4px; } }\n "}}class w{constructor(){this.config=null,this.currentModal=null,this.initialized=!1}init(e){e.apiKey?(this.config={theme:"dark",locale:"en-US",...e},this.initialized=!0,"auto"===e.theme?this.applyAutoTheme():"light"===e.theme&&document.documentElement.classList.add("voxepay-light"),e.customStyles&&this.applyCustomStyles(e.customStyles),console.log("[VoxePay] Initialized successfully")):console.error("[VoxePay] API key is required")}checkout(e){return this.initialized?!e.amount||e.amount<=0?(console.error("[VoxePay] Invalid amount"),void e.onError({code:"INVALID_AMOUNT",message:"Payment amount must be greater than 0",recoverable:!1})):e.currency?(this.closeModal(),this.currentModal=new f({...e,onClose:()=>{var t;this.currentModal=null,null===(t=e.onClose)||void 0===t||t.call(e)}}),void this.currentModal.open()):(console.error("[VoxePay] Currency is required"),void e.onError({code:"INVALID_CURRENCY",message:"Currency code is required",recoverable:!1})):(console.error("[VoxePay] Not initialized. Call VoxePay.init() first."),void e.onError({code:"NOT_INITIALIZED",message:"VoxePay SDK not initialized. Call VoxePay.init() first.",recoverable:!1}))}closeModal(){this.currentModal&&(this.currentModal.close(),this.currentModal=null)}setTheme(e){document.documentElement.classList.remove("voxepay-light"),"light"===e?document.documentElement.classList.add("voxepay-light"):"auto"===e&&this.applyAutoTheme(),this.config&&(this.config.theme=e)}applyAutoTheme(){window.matchMedia("(prefers-color-scheme: dark)").matches||document.documentElement.classList.add("voxepay-light"),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",e=>{var t;"auto"===(null===(t=this.config)||void 0===t?void 0:t.theme)&&document.documentElement.classList.toggle("voxepay-light",!e.matches)})}applyCustomStyles(e){const t=document.documentElement;for(const[a,n]of Object.entries(e))n&&t.style.setProperty(a,n)}get version(){return"0.1.0"}get isInitialized(){return this.initialized}}const k=new w;return"undefined"!=typeof window&&(window.VoxePay=k),e.VoxePay=k,e.VoxePaySDK=w,e.default=k,e.detectCardBrand=a,e.formatAmount=v,e.formatCVV=l,e.formatCardNumber=s,e.formatExpiry=p,e.getCurrencySymbol=function(e){return{NGN:"₦",USD:"$",EUR:"€",GBP:"£",GHS:"₵",KES:"KSh",ZAR:"R"}[e.toUpperCase()]||e},e.luhnCheck=n,e.validateCVV=i,e.validateCardNumber=o,e.validateExpiry=r,Object.defineProperty(e,"__esModule",{value:!0}),e}({});
2
2
  //# sourceMappingURL=voxepay-checkout.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"voxepay-checkout.min.js","sources":["../src/utils/card-validator.ts","../src/utils/formatter.ts","../src/components/modal.ts","../src/voxepay.ts"],"sourcesContent":[null,null,null,null],"names":["CARD_BRANDS","name","code","pattern","lengths","cvvLength","detectCardBrand","cardNumber","cleaned","replace","brand","test","luhnCheck","sum","isEven","i","length","digit","parseInt","validateCardNumber","valid","error","includes","validateExpiry","expiry","match","month","year","now","Date","currentYear","getFullYear","currentMonth","getMonth","validateCVV","cvv","expectedLength","formatCardNumber","value","join","slice","formatExpiry","formatCVV","formatAmount","amount","currency","Intl","NumberFormat","style","minimumFractionDigits","format","ICONS","CARD_BRAND_DISPLAY","visa","mastercard","amex","verve","discover","VoxePayModal","constructor","options","this","container","overlay","handleEscape","e","key","close","document","removeEventListener","state","otp","errors","isProcessing","isSuccess","isOtpStep","otpTimer","canResendOtp","otpTimerInterval","open","injectStyles","render","attachEventListeners","requestAnimationFrame","_a","classList","add","remove","setTimeout","_c","onClose","getElementById","createElement","id","textContent","getStyles","head","appendChild","className","innerHTML","getModalHTML","body","querySelector","formattedAmount","description","renderSuccessView","formContainer","closeBtn","addEventListener","renderOTPView","maskedPhone","customerEmail","attachOTPEventListeners","startOTPTimer","otpInputs","querySelectorAll","forEach","input","index","handleOTPInput","handleOTPKeydown","handleOTPPaste","verifyBtn","_b","handleOTPSubmit","resendBtn","handleResendOTP","backBtn","_d","handleBackToCard","_e","focus","target","nextInput","updateOTPState","clearError","prevInput","preventDefault","pastedData","clipboardData","getData","inputs","split","timerEl","timerContainer","window","setInterval","String","clearInterval","display","disabled","setOTPProcessing","verifyOTP","result","processPayment","onSuccess","paymentError","showError","message","Promise","resolve","recoverable","cardInput","expiryInput","cvvInput","handleCardInput","validateField","handleExpiryInput","handleCVVInput","form","_f","handleSubmit","formatted","brandEl","opacity","field","errorEl","inputEl","isCardValid","isExpiryValid","isCVVValid","setProcessing","onError","submitBtn","status","timestamp","toISOString","VoxePaySDK","config","currentModal","initialized","init","apiKey","theme","locale","applyAutoTheme","documentElement","customStyles","applyCustomStyles","console","log","checkout","closeModal","call","setTheme","matchMedia","matches","toggle","styles","root","Object","entries","setProperty","version","isInitialized","VoxePay","NGN","USD","EUR","GBP","GHS","KES","ZAR","toUpperCase"],"mappings":"qCAYO,MAAMA,EAA2B,CACpC,CACIC,KAAM,OACNC,KAAM,OACNC,QAAS,KACTC,QAAS,CAAC,GAAI,GAAI,IAClBC,UAAW,GAEf,CACIJ,KAAM,aACNC,KAAM,aACNC,QAAS,mBACTC,QAAS,CAAC,IACVC,UAAW,GAEf,CACIJ,KAAM,QACNC,KAAM,QACNC,QAAS,4BACTC,QAAS,CAAC,GAAI,GAAI,IAClBC,UAAW,GAEf,CACIJ,KAAM,mBACNC,KAAM,OACNC,QAAS,SACTC,QAAS,CAAC,IACVC,UAAW,GAEf,CACIJ,KAAM,WACNC,KAAM,WACNC,QAAS,qBACTC,QAAS,CAAC,GAAI,IACdC,UAAW,IAOb,SAAUC,EAAgBC,GAC5B,MAAMC,EAAUD,EAAWE,QAAQ,MAAO,IAC1C,IAAK,MAAMC,KAASV,EAChB,GAAIU,EAAMP,QAAQQ,KAAKH,GACnB,OAAOE,EAGf,OAAO,IACX,CAKM,SAAUE,EAAUL,GACtB,MAAMC,EAAUD,EAAWE,QAAQ,MAAO,IAC1C,IAAK,QAAQE,KAAKH,GAAU,OAAO,EAEnC,IAAIK,EAAM,EACNC,GAAS,EAEb,IAAK,IAAIC,EAAIP,EAAQQ,OAAS,EAAGD,GAAK,EAAGA,IAAK,CAC1C,IAAIE,EAAQC,SAASV,EAAQO,GAAI,IAE7BD,IACAG,GAAS,EACLA,EAAQ,IACRA,GAAS,IAIjBJ,GAAOI,EACPH,GAAUA,CACd,CAEA,OAAOD,EAAM,IAAO,CACxB,CAKM,SAAUM,EAAmBZ,GAC/B,MAAMC,EAAUD,EAAWE,QAAQ,MAAO,IAE1C,IAAKD,EACD,MAAO,CAAEY,OAAO,EAAOC,MAAO,2BAGlC,IAAK,QAAQV,KAAKH,GACd,MAAO,CAAEY,OAAO,EAAOC,MAAO,uBAGlC,MAAMX,EAAQJ,EAAgBE,GAE9B,OAAKE,EAIAA,EAAMN,QAAQkB,SAASd,EAAQQ,QAI/BJ,EAAUJ,GAIR,CAAEY,OAAO,GAHL,CAAEA,OAAO,EAAOC,MAAO,uBAJvB,CAAED,OAAO,EAAOC,MAAO,8BAJvB,CAAED,OAAO,EAAOC,MAAO,wBAYtC,CAKM,SAAUE,EAAeC,GAC3B,MAAMhB,EAAUgB,EAAOf,QAAQ,MAAO,IAEtC,IAAKD,EACD,MAAO,CAAEY,OAAO,EAAOC,MAAO,2BAGlC,MAAMI,EAAQjB,EAAQiB,MAAM,sBAC5B,IAAKA,EACD,MAAO,CAAEL,OAAO,EAAOC,MAAO,0BAGlC,MAAMK,EAAQR,SAASO,EAAM,GAAI,IAC3BE,EAAOT,SAASO,EAAM,GAAI,IAAM,IAEtC,GAAIC,EAAQ,GAAKA,EAAQ,GACrB,MAAO,CAAEN,OAAO,EAAOC,MAAO,iBAGlC,MAAMO,EAAM,IAAIC,KACVC,EAAcF,EAAIG,cAClBC,EAAeJ,EAAIK,WAAa,EAEtC,OAAIN,EAAOG,GAAgBH,IAASG,GAAeJ,EAAQM,EAChD,CAAEZ,OAAO,EAAOC,MAAO,oBAG9BM,EAAOG,EAAc,GACd,CAAEV,OAAO,EAAOC,MAAO,uBAG3B,CAAED,OAAO,EACpB,CAKM,SAAUc,EAAYC,EAAa5B,GACrC,MAAMC,EAAU2B,EAAI1B,QAAQ,MAAO,IAEnC,IAAKD,EACD,MAAO,CAAEY,OAAO,EAAOC,MAAO,mBAGlC,IAAK,QAAQV,KAAKH,GACd,MAAO,CAAEY,OAAO,EAAOC,MAAO,eAGlC,MAAMX,EAAQH,EAAaD,EAAgBC,GAAc,KACnD6B,GAAiB1B,aAAK,EAALA,EAAOL,YAAa,EAE3C,OAAIG,EAAQQ,SAAWoB,GAAqC,IAAnB5B,EAAQQ,QAAmC,IAAnBR,EAAQQ,OAC9D,CAAEI,OAAO,EAAOC,MAAO,eAAee,YAG1C,CAAEhB,OAAO,EACpB,CC7KM,SAAUiB,EAAiBC,GAG7B,OAFgBA,EAAM7B,QAAQ,MAAO,IACdgB,MAAM,YAAc,IAC7Bc,KAAK,KAAKC,MAAM,EAAG,GACrC,CAKM,SAAUC,EAAaH,GACzB,MAAM9B,EAAU8B,EAAM7B,QAAQ,MAAO,IAErC,GAAuB,IAAnBD,EAAQQ,OAAc,MAAO,GACjC,GAAuB,IAAnBR,EAAQQ,OACR,OAAOE,SAASV,GAAW,EAAI,IAAIA,IAAYA,EAEnD,GAAuB,IAAnBA,EAAQQ,OAAc,CACtB,MAAMU,EAAQR,SAASV,GACvB,OAAIkB,EAAQ,GAAW,KACT,IAAVA,EAAoB,KACjBlB,CACX,CAIA,MAAO,GAFOA,EAAQgC,MAAM,EAAG,MAClBhC,EAAQgC,MAAM,EAAG,IAElC,CAKM,SAAUE,EAAUJ,GACtB,OAAOA,EAAM7B,QAAQ,MAAO,IAAI+B,MAAM,EAAG,EAC7C,CAKM,SAAUG,EAAaC,EAAgBC,GAQzC,OAPkB,IAAIC,KAAKC,aAAa,QAAS,CAC7CC,MAAO,WACPH,SAAUA,EACVI,sBAAuB,IAIVC,OAAON,EAAS,IACrC,CClCA,MAAMO,EACG,kNADHA,EAIE,kSAJFA,EAOG,4MAPHA,EAUG,qZAMHC,EAA6C,CACjDC,KAAM,OACNC,WAAY,KACZC,KAAM,OACNC,MAAO,QACPC,SAAU,cAsBCC,EAMX,WAAAC,CAAYC,GAHJC,KAAAC,UAAmC,KACnCD,KAAAE,QAAiC,KA+cjCF,KAAAG,aAAgBC,IACR,WAAVA,EAAEC,MACJL,KAAKM,QACLC,SAASC,oBAAoB,UAAWR,KAAKG,gBA/c/CH,KAAKD,QAAUA,EACfC,KAAKS,MAAQ,CACX/D,WAAY,GACZiB,OAAQ,GACRW,IAAK,GACLoC,IAAK,GACLC,OAAQ,CAAA,EACRC,cAAc,EACdC,WAAW,EACXC,WAAW,EACXC,SAAU,GACVC,cAAc,EACdC,iBAAkB,KAEtB,CAKA,IAAAC,GACElB,KAAKmB,eACLnB,KAAKoB,SACLpB,KAAKqB,uBAGLC,sBAAsB,WACR,QAAZC,EAAAvB,KAAKE,mBAAOqB,GAAAA,EAAEC,UAAUC,IAAI,oBAEhC,CAKA,KAAAnB,SACc,QAAZiB,EAAAvB,KAAKE,mBAAOqB,GAAAA,EAAEC,UAAUE,OAAO,mBAE/BC,WAAW,eACK,QAAdJ,EAAAvB,KAAKC,qBAASsB,GAAAA,EAAEG,SAChB1B,KAAKC,UAAY,KACjBD,KAAKE,QAAU,aACf0B,KAAA5B,KAAKD,SAAQ8B,iCACZ,IACL,CAKQ,YAAAV,GACN,GAAIZ,SAASuB,eAAe,2BAA4B,OAExD,MAAM3C,EAAQoB,SAASwB,cAAc,SACrC5C,EAAM6C,GAAK,0BACX7C,EAAM8C,YAAcjC,KAAKkC,YACzB3B,SAAS4B,KAAKC,YAAYjD,EAC5B,CAKQ,MAAAiC,GACNpB,KAAKC,UAAYM,SAASwB,cAAc,OACxC/B,KAAKC,UAAUoC,UAAY,mBAC3BrC,KAAKC,UAAUqC,UAAYtC,KAAKuC,eAChChC,SAASiC,KAAKJ,YAAYpC,KAAKC,WAE/BD,KAAKE,QAAUF,KAAKC,UAAUwC,cAAc,mBAC9C,CAKQ,YAAAF,GACN,MAAMG,EAAkB5D,EAAakB,KAAKD,QAAQhB,OAAQiB,KAAKD,QAAQf,UAEvE,MAAO,+WAO0D0D,4BACnD1C,KAAKD,QAAQ4C,YAAc,uEAAuE3C,KAAKD,QAAQ4C,oBAAsB,kJAIvIrD,goFAiEgBoD,6LAOhBpD,6IAOd,CAKQ,iBAAAsD,SACN,MAAMC,EAA8B,QAAdtB,EAAAvB,KAAKC,iBAAS,IAAAsB,OAAA,EAAAA,EAAEkB,cAAc,2BACpD,IAAKI,EAAe,OAEpB,MAAMH,EAAkB5D,EAAakB,KAAKD,QAAQhB,OAAQiB,KAAKD,QAAQf,UAEvE6D,EAAcP,UAAY,qGAGlBhD,qJAGiDoD,+HAMzD,MAAMI,EAAWD,EAAcJ,cAAc,yBAC7CK,SAAAA,EAAUC,iBAAiB,QAAS,IAAM/C,KAAKM,QACjD,CAKQ,aAAA0C,SACN,MAAMH,EAA8B,QAAdtB,EAAAvB,KAAKC,iBAAS,IAAAsB,OAAA,EAAAA,EAAEkB,cAAc,2BACpD,IAAKI,EAAe,OAEpB7C,KAAKS,MAAMK,WAAY,EACvBd,KAAKS,MAAMM,SAAW,GACtBf,KAAKS,MAAMO,cAAe,EAE1B,MAAMiC,EAAcjD,KAAKD,QAAQmD,cAC7B,OAAOlD,KAAKD,QAAQmD,cAAcvE,OAAM,KACxC,WAEJkE,EAAcP,UAAY,gRAK2CW,uhDAiCrEjD,KAAKmD,0BACLnD,KAAKoD,eACP,CAKQ,uBAAAD,iBACN,MAAME,EAA0B,QAAd9B,EAAAvB,KAAKC,iBAAS,IAAAsB,OAAA,EAAAA,EAAE+B,iBAAiB,sBAEnDD,SAAAA,EAAWE,QAAQ,CAACC,EAAOC,KACzBD,EAAMT,iBAAiB,QAAU3C,GAAMJ,KAAK0D,eAAetD,EAAGqD,IAC9DD,EAAMT,iBAAiB,UAAY3C,GAAMJ,KAAK2D,iBAAiBvD,EAAGqD,IAClED,EAAMT,iBAAiB,QAAU3C,GAAMJ,KAAK4D,eAAexD,MAG7D,MAAMyD,EAA0B,QAAdC,EAAA9D,KAAKC,iBAAS,IAAA6D,OAAA,EAAAA,EAAErB,cAAc,uBAChDoB,SAAAA,EAAWd,iBAAiB,QAAS,IAAM/C,KAAK+D,mBAEhD,MAAMC,EAA0B,QAAdpC,EAAA5B,KAAKC,iBAAS,IAAA2B,OAAA,EAAAA,EAAEa,cAAc,uBAChDuB,SAAAA,EAAWjB,iBAAiB,QAAS,IAAM/C,KAAKiE,mBAEhD,MAAMC,EAAwB,QAAdC,EAAAnE,KAAKC,iBAAS,IAAAkE,OAAA,EAAAA,EAAE1B,cAAc,yBAC9CyB,SAAAA,EAASnB,iBAAiB,QAAS,IAAM/C,KAAKoE,oBAEV,QAApCC,EAAChB,aAAS,EAATA,EAAY,UAAuB,IAAAgB,GAAAA,EAAEC,OACxC,CAEQ,cAAAZ,CAAetD,EAAUqD,SAC/B,MAAMD,EAAQpD,EAAEmE,OACV9F,EAAQ+E,EAAM/E,MAAM7B,QAAQ,MAAO,IAGzC,GAFA4G,EAAM/E,MAAQA,EAEVA,GAASgF,EAAQ,EAAG,CACtB,MAAMe,EAA0B,QAAdjD,EAAAvB,KAAKC,iBAAS,IAAAsB,OAAA,EAAAA,EAAEkB,cAAc,gBAAgBgB,EAAQ,OACxEe,SAAAA,EAAWF,OACb,CAEAtE,KAAKyE,iBACLzE,KAAK0E,WAAW,MAClB,CAEQ,gBAAAf,CAAiBvD,EAAkBqD,SACzC,MAAMD,EAAQpD,EAAEmE,OAEhB,GAAc,cAAVnE,EAAEC,MAAwBmD,EAAM/E,OAASgF,EAAQ,EAAG,CACtD,MAAMkB,EAA0B,QAAdpD,EAAAvB,KAAKC,iBAAS,IAAAsB,OAAA,EAAAA,EAAEkB,cAAc,gBAAgBgB,EAAQ,OACxEkB,SAAAA,EAAWL,OACb,CACF,CAEQ,cAAAV,CAAexD,WACrBA,EAAEwE,iBACF,MAAMC,EAA4B,QAAftD,EAAAnB,EAAE0E,qBAAa,IAAAvD,OAAA,EAAAA,EAAEwD,QAAQ,QAAQnI,QAAQ,MAAO,IAAI+B,MAAM,EAAG,GAEhF,GAAIkG,EAAY,CACd,MAAMG,EAAuB,QAAdlB,EAAA9D,KAAKC,iBAAS,IAAA6D,OAAA,EAAAA,EAAER,iBAAiB,sBAChDuB,EAAWI,MAAM,IAAI1B,QAAQ,CAACnG,EAAOF,KAC/B8H,EAAO9H,KACT8H,EAAO9H,GAAGuB,MAAQrB,KAGtB4C,KAAKyE,gBACP,CACF,CAEQ,cAAAA,SACN,MAAMO,EAAuB,QAAdzD,EAAAvB,KAAKC,iBAAS,IAAAsB,OAAA,EAAAA,EAAE+B,iBAAiB,sBAChD,IAAI5C,EAAM,GACVsE,SAAAA,EAAQzB,QAAQC,GAAS9C,GAAO8C,EAAM/E,OACtCuB,KAAKS,MAAMC,IAAMA,CACnB,CAEQ,aAAA0C,aACN,MAAM8B,EAAwB,QAAd3D,EAAAvB,KAAKC,iBAAS,IAAAsB,OAAA,EAAAA,EAAEkB,cAAc,wBACxC0C,EAA+B,QAAdrB,EAAA9D,KAAKC,iBAAS,IAAA6D,OAAA,EAAAA,EAAErB,cAAc,sBAC/CuB,EAA0B,QAAdpC,EAAA5B,KAAKC,iBAAS,IAAA2B,OAAA,EAAAA,EAAEa,cAAc,uBAEhDzC,KAAKS,MAAMQ,iBAAmBmE,OAAOC,YAAY,KAC/CrF,KAAKS,MAAMM,WAEPmE,IACFA,EAAQjD,YAAcqD,OAAOtF,KAAKS,MAAMM,WAGtCf,KAAKS,MAAMM,UAAY,IACrBf,KAAKS,MAAMQ,kBACbsE,cAAcvF,KAAKS,MAAMQ,kBAE3BjB,KAAKS,MAAMO,cAAe,EACtBmE,IAAiBA,EAA+BhG,MAAMqG,QAAU,QAChExB,IAAWA,EAAUyB,UAAW,KAErC,IACL,CAEQ,qBAAM1B,GACZ,GAA8B,IAA1B/D,KAAKS,MAAMC,IAAIvD,OAAnB,CAKA6C,KAAK0F,kBAAiB,GAEtB,UACQ1F,KAAK2F,YAEP3F,KAAKS,MAAMQ,kBACbsE,cAAcvF,KAAKS,MAAMQ,kBAG3B,MAAM2E,QAAe5F,KAAK6F,iBAE1B7F,KAAKS,MAAMI,WAAY,EACvBb,KAAK4C,oBACL5C,KAAKD,QAAQ+F,UAAUF,EACzB,CAAE,MAAOpI,GACPwC,KAAK0F,kBAAiB,GACtB,MAAMK,EAAevI,EACrBwC,KAAKgG,UAAU,MAAOD,EAAaE,SAAW,iCAChD,CApBA,MAFEjG,KAAKgG,UAAU,MAAO,yCAuB1B,CAEQ,gBAAAN,CAAiB9E,SACvB,MAAMiD,EAA0B,QAAdtC,EAAAvB,KAAKC,iBAAS,IAAAsB,OAAA,EAAAA,EAAEkB,cAAc,uBAE5CoB,IACFA,EAAU4B,SAAW7E,EACrBiD,EAAUvB,UAAY1B,EAClB,+DACA,+BAER,CAEQ,eAAM+E,GAGZ,SAFM,IAAIO,QAAQC,GAAWxE,WAAWwE,EAAS,OAEnB,IAA1BnG,KAAKS,MAAMC,IAAIvD,OACjB,KAAM,CAAEd,KAAM,cAAe4J,QAAS,cAAeG,aAAa,EAEtE,CAEQ,eAAAnC,eACN,MAAMkB,EAA+B,QAAd5D,EAAAvB,KAAKC,iBAAS,IAAAsB,OAAA,EAAAA,EAAEkB,cAAc,sBAC/CuB,EAA0B,QAAdF,EAAA9D,KAAKC,iBAAS,IAAA6D,OAAA,EAAAA,EAAErB,cAAc,uBAEhDzC,KAAKS,MAAMM,SAAW,GACtBf,KAAKS,MAAMO,cAAe,EAEtBmE,IAAgBA,EAAehG,MAAMqG,QAAU,SAC/CxB,IAAWA,EAAUyB,UAAW,GAEpC,MAAMT,EAAuB,QAAdpD,EAAA5B,KAAKC,iBAAS,IAAA2B,OAAA,EAAAA,EAAE0B,iBAAiB,sBAChD0B,SAAAA,EAAQzB,QAAQC,GAASA,EAAM/E,MAAQ,IACvCuB,KAAKS,MAAMC,IAAM,GAEjBV,KAAKoD,gBAC4B,QAAjCe,EAACa,aAAM,EAANA,EAAS,UAAuB,IAAAb,GAAAA,EAAEG,OACrC,CAEQ,gBAAAF,SAQN,GAPIpE,KAAKS,MAAMQ,kBACbsE,cAAcvF,KAAKS,MAAMQ,kBAG3BjB,KAAKS,MAAMK,WAAY,EACvBd,KAAKS,MAAMC,IAAM,GAEbV,KAAKC,UAAW,CAClBD,KAAKC,UAAUqC,UAAYtC,KAAKuC,eAChCvC,KAAKE,QAAUF,KAAKC,UAAUwC,cAAc,oBAChC,QAAZlB,EAAAvB,KAAKE,mBAAOqB,GAAAA,EAAEC,UAAUC,IAAI,mBAC5BzB,KAAKqB,uBAEL,MAAMgF,EAAYrG,KAAKC,UAAUwC,cAAc,wBACzC6D,EAActG,KAAKC,UAAUwC,cAAc,mBAC3C8D,EAAWvG,KAAKC,UAAUwC,cAAc,gBAE1C4D,IAAWA,EAAU5H,MAAQD,EAAiBwB,KAAKS,MAAM/D,aACzD4J,IAAaA,EAAY7H,MAAQuB,KAAKS,MAAM9C,QAC5C4I,IAAUA,EAAS9H,MAAQuB,KAAKS,MAAMnC,IAC5C,CACF,CAKQ,oBAAA+C,mBACN,MAAMyB,EAAyB,QAAdvB,EAAAvB,KAAKC,iBAAS,IAAAsB,OAAA,EAAAA,EAAEkB,cAAc,yBAC/CK,SAAAA,EAAUC,iBAAiB,QAAS,IAAM/C,KAAKM,SAEnC,QAAZwD,EAAA9D,KAAKE,mBAAO4D,GAAAA,EAAEf,iBAAiB,QAAU3C,IACnCA,EAAEmE,SAAWvE,KAAKE,SACpBF,KAAKM,UAITC,SAASwC,iBAAiB,UAAW/C,KAAKG,cAE1C,MAAMkG,EAA0B,QAAdzE,EAAA5B,KAAKC,iBAAS,IAAA2B,OAAA,EAAAA,EAAEa,cAAc,wBAChD4D,SAAAA,EAAWtD,iBAAiB,QAAU3C,GAAMJ,KAAKwG,gBAAgBpG,IACjEiG,SAAAA,EAAWtD,iBAAiB,OAAQ,IAAM/C,KAAKyG,cAAc,eAE7D,MAAMH,EAA4B,QAAdnC,EAAAnE,KAAKC,iBAAS,IAAAkE,OAAA,EAAAA,EAAE1B,cAAc,mBAClD6D,SAAAA,EAAavD,iBAAiB,QAAU3C,GAAMJ,KAAK0G,kBAAkBtG,IACrEkG,SAAAA,EAAavD,iBAAiB,OAAQ,IAAM/C,KAAKyG,cAAc,WAE/D,MAAMF,EAAyB,QAAdlC,EAAArE,KAAKC,iBAAS,IAAAoE,OAAA,EAAAA,EAAE5B,cAAc,gBAC/C8D,SAAAA,EAAUxD,iBAAiB,QAAU3C,GAAMJ,KAAK2G,eAAevG,IAC/DmG,SAAAA,EAAUxD,iBAAiB,OAAQ,IAAM/C,KAAKyG,cAAc,QAE5D,MAAMG,EAAqB,QAAdC,EAAA7G,KAAKC,iBAAS,IAAA4G,OAAA,EAAAA,EAAEpE,cAAc,yBAC3CmE,SAAAA,EAAM7D,iBAAiB,SAAW3C,GAAMJ,KAAK8G,aAAa1G,GAC5D,CASQ,eAAAoG,CAAgBpG,SACtB,MAAMoD,EAAQpD,EAAEmE,OACVwC,EAAYvI,EAAiBgF,EAAM/E,OACzC+E,EAAM/E,MAAQsI,EACd/G,KAAKS,MAAM/D,WAAaqK,EAAUnK,QAAQ,MAAO,IAEjD,MAAMoK,EAAwB,QAAdzF,EAAAvB,KAAKC,iBAAS,IAAAsB,OAAA,EAAAA,EAAEkB,cAAc,uBACxC5F,EAAQJ,EAAgBuD,KAAKS,MAAM/D,YACrCsK,IACFA,EAAQ/E,YAAcpF,GAAQ0C,EAAmB1C,EAAMR,OAAc,GACrE2K,EAAQ7H,MAAM8H,QAAUpK,EAAQ,IAAM,KAGxCmD,KAAK0E,WAAW,aAClB,CAEQ,iBAAAgC,CAAkBtG,GACxB,MAAMoD,EAAQpD,EAAEmE,OACVwC,EAAYnI,EAAa4E,EAAM/E,OACrC+E,EAAM/E,MAAQsI,EACd/G,KAAKS,MAAM9C,OAASoJ,EACpB/G,KAAK0E,WAAW,SAClB,CAEQ,cAAAiC,CAAevG,GACrB,MAAMoD,EAAQpD,EAAEmE,OACVwC,EAAYlI,EAAU2E,EAAM/E,OAClC+E,EAAM/E,MAAQsI,EACd/G,KAAKS,MAAMnC,IAAMyI,EACjB/G,KAAK0E,WAAW,MAClB,CAEQ,aAAA+B,CAAcS,GACpB,IAAItB,EAEJ,OAAQsB,GACN,IAAK,aACHtB,EAAStI,EAAmB0C,KAAKS,MAAM/D,YACvC,MACF,IAAK,SACHkJ,EAASlI,EAAesC,KAAKS,MAAM9C,QACnC,MACF,IAAK,MACHiI,EAASvH,EAAY2B,KAAKS,MAAMnC,IAAK0B,KAAKS,MAAM/D,YAChD,MACF,QACE,OAAO,EAGX,OAAKkJ,EAAOrI,OAKZyC,KAAK0E,WAAWwC,IACT,IALLlH,KAAKgG,UAAUkB,EAAOtB,EAAOpI,OAAS,YAC/B,EAKX,CAEQ,SAAAwI,CAAUkB,EAAejB,WAC/B,MAAMkB,EAAwB,QAAd5F,EAAAvB,KAAKC,qBAASsB,OAAA,EAAAA,EAAEkB,cAAc,YAAsB,eAAVyE,EAAyB,OAASA,WACtFE,EAAwB,QAAdtD,EAAA9D,KAAKC,qBAAS6D,OAAA,EAAAA,EAAErB,cAAc,YAAsB,eAAVyE,EAAyB,cAAgBA,KAE/FC,IACFA,EAAQ7E,UAAY,GAAGhD,KAAe2G,IACtCkB,EAAQhI,MAAMqG,QAAU,QAE1B4B,SAAAA,EAAS5F,UAAUC,IAAI,gBACzB,CAEQ,UAAAiD,CAAWwC,WACjB,MAAMC,EAAwB,QAAd5F,EAAAvB,KAAKC,qBAASsB,OAAA,EAAAA,EAAEkB,cAAc,YAAsB,eAAVyE,EAAyB,OAASA,WACtFE,EAAwB,QAAdtD,EAAA9D,KAAKC,qBAAS6D,OAAA,EAAAA,EAAErB,cAAc,YAAsB,eAAVyE,EAAyB,cAAgBA,KAE/FC,IACFA,EAAQhI,MAAMqG,QAAU,QAE1B4B,SAAAA,EAAS5F,UAAUE,OAAO,gBAC5B,CAEQ,kBAAMoF,CAAa1G,GACzBA,EAAEwE,iBAEF,MAAMyC,EAAcrH,KAAKyG,cAAc,cACjCa,EAAgBtH,KAAKyG,cAAc,UACnCc,EAAavH,KAAKyG,cAAc,OAEtC,GAAKY,GAAgBC,GAAkBC,EAAvC,CAIAvH,KAAKwH,eAAc,GAEnB,UACQ,IAAItB,QAAQC,GAAWxE,WAAWwE,EAAS,MACjDnG,KAAKwH,eAAc,GACnBxH,KAAKgD,eACP,CAAE,MAAOxF,GACPwC,KAAKwH,eAAc,GACnB,MAAMzB,EAAevI,EACrBwC,KAAKD,QAAQ0H,QAAQ1B,GACrB/F,KAAKgG,UAAU,aAAcD,EAAaE,SAAW,oCACvD,CAbA,CAcF,CAEQ,aAAAuB,CAAc5G,SACpBZ,KAAKS,MAAMG,aAAeA,EAC1B,MAAM8G,EAA0B,QAAdnG,EAAAvB,KAAKC,iBAAS,IAAAsB,OAAA,EAAAA,EAAEkB,cAAc,mBAE5CiF,IACFA,EAAUjC,SAAW7E,EACrB8G,EAAUpF,UAAY1B,EAClB,gEACA,iBAAiB9B,EAAakB,KAAKD,QAAQhB,OAAQiB,KAAKD,QAAQf,mBAExE,CAEQ,oBAAM6G,GAGZ,aAFM,IAAIK,QAAQC,GAAWxE,WAAWwE,EAAS,MAE1C,CACLnE,GAAI,OAAOhE,KAAKD,QAChB4J,OAAQ,UACR5I,OAAQiB,KAAKD,QAAQhB,OACrBC,SAAUgB,KAAKD,QAAQf,SACvB4I,WAAW,IAAI5J,MAAO6J,cAE1B,CAKQ,SAAA3F,GACN,MAAO,6wXA2IT,EChxBF,MAAM4F,EAAN,WAAAhI,GACYE,KAAA+H,OAA+B,KAC/B/H,KAAAgI,aAAoC,KACpChI,KAAAiI,aAAc,CAyJ1B,CAnJI,IAAAC,CAAKH,GACIA,EAAOI,QAKZnI,KAAK+H,OAAS,CACVK,MAAO,OACPC,OAAQ,WACLN,GAEP/H,KAAKiI,aAAc,EAGE,SAAjBF,EAAOK,MACPpI,KAAKsI,iBACmB,UAAjBP,EAAOK,OACd7H,SAASgI,gBAAgB/G,UAAUC,IAAI,iBAIvCsG,EAAOS,cACPxI,KAAKyI,kBAAkBV,EAAOS,cAGlCE,QAAQC,IAAI,uCAvBRD,QAAQlL,MAAM,gCAwBtB,CAMA,QAAAoL,CAAS7I,GACL,OAAKC,KAAKiI,aAULlI,EAAQhB,QAAUgB,EAAQhB,QAAU,GACrC2J,QAAQlL,MAAM,iCACduC,EAAQ0H,QAAQ,CACZpL,KAAM,iBACN4J,QAAS,wCACTG,aAAa,KAKhBrG,EAAQf,UAWbgB,KAAK6I,aAGL7I,KAAKgI,aAAe,IAAInI,EAAa,IAC9BE,EACH8B,QAAS,WACL7B,KAAKgI,aAAe,KACL,QAAfzG,EAAAxB,EAAQ8B,eAAO,IAAAN,GAAAA,EAAAuH,KAAA/I,WAIvBC,KAAKgI,aAAa9G,SArBdwH,QAAQlL,MAAM,uCACduC,EAAQ0H,QAAQ,CACZpL,KAAM,mBACN4J,QAAS,4BACTG,aAAa,MAxBjBsC,QAAQlL,MAAM,8DACduC,EAAQ0H,QAAQ,CACZpL,KAAM,kBACN4J,QAAS,0DACTG,aAAa,IAsCzB,CAKA,UAAAyC,GACQ7I,KAAKgI,eACLhI,KAAKgI,aAAa1H,QAClBN,KAAKgI,aAAe,KAE5B,CAMA,QAAAe,CAASX,GACL7H,SAASgI,gBAAgB/G,UAAUE,OAAO,iBAE5B,UAAV0G,EACA7H,SAASgI,gBAAgB/G,UAAUC,IAAI,iBACtB,SAAV2G,GACPpI,KAAKsI,iBAGLtI,KAAK+H,SACL/H,KAAK+H,OAAOK,MAAQA,EAE5B,CAKQ,cAAAE,GACgBlD,OAAO4D,WAAW,gCAAgCC,SAElE1I,SAASgI,gBAAgB/G,UAAUC,IAAI,iBAG3C2D,OAAO4D,WAAW,gCAAgCjG,iBAAiB,SAAW3C,UAC/C,kBAAvBmB,EAAAvB,KAAK+H,6BAAQK,QACb7H,SAASgI,gBAAgB/G,UAAU0H,OAAO,iBAAkB9I,EAAE6I,UAG1E,CAKQ,iBAAAR,CAAkBU,GACtB,MAAMC,EAAO7I,SAASgI,gBACtB,IAAK,MAAOlI,EAAK5B,KAAU4K,OAAOC,QAAQH,GAClC1K,GACA2K,EAAKjK,MAAMoK,YAAYlJ,EAAK5B,EAGxC,CAKA,WAAI+K,GACA,MAAO,OACX,CAKA,iBAAIC,GACA,OAAOzJ,KAAKiI,WAChB,EAIJ,MAAMyB,EAAU,IAAI5B,QAME,oBAAX1C,SACNA,OAA8CsE,QAAUA,uJFnIvD,SAA4B1K,GAU9B,MATwC,CACpC2K,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,MACLC,IAAK,KAEMjL,EAASkL,gBAAkBlL,CAC9C"}
1
+ {"version":3,"file":"voxepay-checkout.min.js","sources":["../src/utils/card-validator.ts","../src/utils/formatter.ts","../src/components/modal.ts","../src/voxepay.ts"],"sourcesContent":[null,null,null,null],"names":["CARD_BRANDS","name","code","pattern","lengths","cvvLength","detectCardBrand","cardNumber","cleaned","replace","brand","test","luhnCheck","sum","isEven","i","length","digit","parseInt","validateCardNumber","valid","error","includes","validateExpiry","expiry","match","month","year","now","Date","currentYear","getFullYear","currentMonth","getMonth","validateCVV","cvv","expectedLength","formatCardNumber","value","join","slice","formatExpiry","formatCVV","formatAmount","amount","currency","Intl","NumberFormat","style","minimumFractionDigits","format","ICONS","CARD_BRAND_DISPLAY","visa","mastercard","amex","verve","discover","VoxePayModal","constructor","options","this","container","overlay","handleEscape","e","key","close","document","removeEventListener","methods","paymentMethods","state","otp","errors","isProcessing","isSuccess","isOtpStep","otpTimer","canResendOtp","otpTimerInterval","paymentMethod","transferTimer","transferTimerInterval","bankTransferDetails","open","injectStyles","render","attachEventListeners","requestAnimationFrame","_a","classList","add","stopTransferTimer","remove","setTimeout","_c","onClose","getElementById","createElement","id","textContent","getStyles","head","appendChild","className","innerHTML","getModalHTML","body","querySelector","getPaymentMethods","formattedAmount","showTabs","isCard","description","getCardFormHTML","getBankTransferHTML","details","accountNumber","bankName","accountName","reference","formatCountdown","expiresIn","seconds","m","Math","floor","s","String","padStart","renderSuccessView","formContainer","closeBtn","addEventListener","renderOTPView","maskedPhone","customerEmail","attachOTPEventListeners","startOTPTimer","otpInputs","querySelectorAll","forEach","input","index","handleOTPInput","handleOTPKeydown","handleOTPPaste","verifyBtn","_b","handleOTPSubmit","resendBtn","handleResendOTP","backBtn","_d","handleBackToCard","_e","focus","target","nextInput","updateOTPState","clearError","prevInput","preventDefault","pastedData","clipboardData","getData","inputs","split","timerEl","timerContainer","window","setInterval","clearInterval","display","disabled","setOTPProcessing","verifyOTP","result","processPayment","onSuccess","paymentError","showError","message","Promise","resolve","recoverable","cardInput","expiryInput","cvvInput","tabs","tab","method","dataset","switchPaymentMethod","handleCardInput","validateField","handleExpiryInput","_f","handleCVVInput","form","_g","handleSubmit","attachBankTransferListeners","startTransferTimer","loadBankTransferDetails","copyBtn","accountNum","copy","copyToClipboard","confirmBtn","handleTransferConfirm","onBankTransferRequested","toString","toUpperCase","onError","text","navigator","clipboard","writeText","textarea","position","opacity","select","execCommand","removeChild","status","timestamp","toISOString","countdownEl","formatted","brandEl","field","errorEl","inputEl","isCardValid","isExpiryValid","isCVVValid","setProcessing","submitBtn","VoxePaySDK","config","currentModal","initialized","init","apiKey","theme","locale","applyAutoTheme","documentElement","customStyles","applyCustomStyles","console","log","checkout","closeModal","call","setTheme","matchMedia","matches","toggle","styles","root","Object","entries","setProperty","version","isInitialized","VoxePay","NGN","USD","EUR","GBP","GHS","KES","ZAR"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voxepay/checkout",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Modern payment checkout modal for VoxePay - beautiful, fast, and secure",
5
5
  "author": "VoxePay",
6
6
  "license": "MIT",
@@ -40,4 +40,4 @@
40
40
  "typescript": "^5.0.0"
41
41
  },
42
42
  "dependencies": {}
43
- }
43
+ }