@one-payments/web-components 1.1.26 → 1.1.28

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.
@@ -0,0 +1,1601 @@
1
+ var OnePayments=function(e){"use strict";
2
+ /*!
3
+ * @one-payments/web-components v1.1.28
4
+ * Browser CDN Bundle (IIFE)
5
+ *
6
+ * This bundle is designed for direct browser usage via <script> tag.
7
+ * For React/Vue/Angular apps, use the ESM package instead.
8
+ *
9
+ * (c) 2025 One Payments
10
+ * Released under the MIT License
11
+ */var t;const r=globalThis,n=r.ShadowRoot&&(void 0===r.ShadyCSS||r.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,i=Symbol(),o=new WeakMap;let s=class{constructor(e,t,r){if(this._$cssResult$=!0,r!==i)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(n&&void 0===e){const r=void 0!==t&&1===t.length;r&&(e=o.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),r&&o.set(t,e))}return e}toString(){return this.cssText}};const a=n?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const r of e.cssRules)t+=r.cssText;return(e=>new s("string"==typeof e?e:e+"",void 0,i))(t)})(e):e,{is:l,defineProperty:d,getOwnPropertyDescriptor:c,getOwnPropertyNames:h,getOwnPropertySymbols:u,getPrototypeOf:p}=Object,m=globalThis,f=m.trustedTypes,g=f?f.emptyScript:"",y=m.reactiveElementPolyfillSupport,v=(e,t)=>e,b={toAttribute(e,t){switch(t){case Boolean:e=e?g:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let r=e;switch(t){case Boolean:r=null!==e;break;case Number:r=null===e?null:Number(e);break;case Object:case Array:try{r=JSON.parse(e)}catch(n){r=null}}return r}},w=(e,t)=>!l(e,t),x={attribute:!0,type:String,converter:b,reflect:!1,useDefault:!1,hasChanged:w};Symbol.metadata??(Symbol.metadata=Symbol("metadata")),m.litPropertyMetadata??(m.litPropertyMetadata=new WeakMap);let k=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??(this.l=[])).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=x){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){const r=Symbol(),n=this.getPropertyDescriptor(e,r,t);void 0!==n&&d(this.prototype,e,n)}}static getPropertyDescriptor(e,t,r){const{get:n,set:i}=c(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get:n,set(t){const o=null==n?void 0:n.call(this);null==i||i.call(this,t),this.requestUpdate(e,o,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??x}static _$Ei(){if(this.hasOwnProperty(v("elementProperties")))return;const e=p(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(v("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(v("properties"))){const e=this.properties,t=[...h(e),...u(e)];for(const r of t)this.createProperty(r,e[r])}const e=this[Symbol.metadata];if(null!==e){const t=litPropertyMetadata.get(e);if(void 0!==t)for(const[e,r]of t)this.elementProperties.set(e,r)}this._$Eh=new Map;for(const[t,r]of this.elementProperties){const e=this._$Eu(t,r);void 0!==e&&this._$Eh.set(e,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const r=new Set(e.flat(1/0).reverse());for(const e of r)t.unshift(a(e))}else void 0!==e&&t.push(a(e));return t}static _$Eu(e,t){const r=t.attribute;return!1===r?void 0:"string"==typeof r?r:"string"==typeof e?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){var e;this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),null==(e=this.constructor.l)||e.forEach(e=>e(this))}addController(e){var t;(this._$EO??(this._$EO=new Set)).add(e),void 0!==this.renderRoot&&this.isConnected&&(null==(t=e.hostConnected)||t.call(e))}removeController(e){var t;null==(t=this._$EO)||t.delete(e)}_$E_(){const e=new Map,t=this.constructor.elementProperties;for(const r of t.keys())this.hasOwnProperty(r)&&(e.set(r,this[r]),delete this[r]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((e,t)=>{if(n)e.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(const n of t){const t=document.createElement("style"),i=r.litNonce;void 0!==i&&t.setAttribute("nonce",i),t.textContent=n.cssText,e.appendChild(t)}})(e,this.constructor.elementStyles),e}connectedCallback(){var e;this.renderRoot??(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null==(e=this._$EO)||e.forEach(e=>{var t;return null==(t=e.hostConnected)?void 0:t.call(e)})}enableUpdating(e){}disconnectedCallback(){var e;null==(e=this._$EO)||e.forEach(e=>{var t;return null==(t=e.hostDisconnected)?void 0:t.call(e)})}attributeChangedCallback(e,t,r){this._$AK(e,r)}_$ET(e,t){var r;const n=this.constructor.elementProperties.get(e),i=this.constructor._$Eu(e,n);if(void 0!==i&&!0===n.reflect){const o=(void 0!==(null==(r=n.converter)?void 0:r.toAttribute)?n.converter:b).toAttribute(t,n.type);this._$Em=e,null==o?this.removeAttribute(i):this.setAttribute(i,o),this._$Em=null}}_$AK(e,t){var r,n;const i=this.constructor,o=i._$Eh.get(e);if(void 0!==o&&this._$Em!==o){const e=i.getPropertyOptions(o),s="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==(null==(r=e.converter)?void 0:r.fromAttribute)?e.converter:b;this._$Em=o;const a=s.fromAttribute(t,e.type);this[o]=a??(null==(n=this._$Ej)?void 0:n.get(o))??a,this._$Em=null}}requestUpdate(e,t,r){var n;if(void 0!==e){const i=this.constructor,o=this[e];if(r??(r=i.getPropertyOptions(e)),!((r.hasChanged??w)(o,t)||r.useDefault&&r.reflect&&o===(null==(n=this._$Ej)?void 0:n.get(e))&&!this.hasAttribute(i._$Eu(e,r))))return;this.C(e,t,r)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,t,{useDefault:r,reflect:n,wrapped:i},o){r&&!(this._$Ej??(this._$Ej=new Map)).has(e)&&(this._$Ej.set(e,o??t??this[e]),!0!==i||void 0!==o)||(this._$AL.has(e)||(this.hasUpdated||r||(t=void 0),this._$AL.set(e,t)),!0===n&&this._$Em!==e&&(this._$Eq??(this._$Eq=new Set)).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var e;if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??(this.renderRoot=this.createRenderRoot()),this._$Ep){for(const[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}const e=this.constructor.elementProperties;if(e.size>0)for(const[t,r]of e){const{wrapped:e}=r,n=this[t];!0!==e||this._$AL.has(t)||void 0===n||this.C(t,void 0,r,n)}}let t=!1;const r=this._$AL;try{t=this.shouldUpdate(r),t?(this.willUpdate(r),null==(e=this._$EO)||e.forEach(e=>{var t;return null==(t=e.hostUpdate)?void 0:t.call(e)}),this.update(r)):this._$EM()}catch(n){throw t=!1,this._$EM(),n}t&&this._$AE(r)}willUpdate(e){}_$AE(e){var t;null==(t=this._$EO)||t.forEach(e=>{var t;return null==(t=e.hostUpdated)?void 0:t.call(e)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&(this._$Eq=this._$Eq.forEach(e=>this._$ET(e,this[e]))),this._$EM()}updated(e){}firstUpdated(e){}};k.elementStyles=[],k.shadowRootOptions={mode:"open"},k[v("elementProperties")]=new Map,k[v("finalized")]=new Map,null==y||y({ReactiveElement:k}),(m.reactiveElementVersions??(m.reactiveElementVersions=[])).push("2.1.1");const S=globalThis,E=S.trustedTypes,P=E?E.createPolicy("lit-html",{createHTML:e=>e}):void 0,C="$lit$",A=`lit$${Math.random().toFixed(9).slice(2)}$`,I="?"+A,M=`<${I}>`,T=document,F=()=>T.createComment(""),L=e=>null===e||"object"!=typeof e&&"function"!=typeof e,D=Array.isArray,N="[ \t\n\f\r]",R=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,B=/-->/g,U=/>/g,q=RegExp(`>|${N}(?:([^\\s"'>=/]+)(${N}*=${N}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),z=/'/g,j=/"/g,O=/^(?:script|style|textarea|title)$/i,H=(K=1,(e,...t)=>({_$litType$:K,strings:e,values:t})),Z=Symbol.for("lit-noChange"),V=Symbol.for("lit-nothing"),Y=new WeakMap,W=T.createTreeWalker(T,129);var K;function Q(e,t){if(!D(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==P?P.createHTML(t):t}class ${constructor({strings:e,_$litType$:t},r){let n;this.parts=[];let i=0,o=0;const s=e.length-1,a=this.parts,[l,d]=((e,t)=>{const r=e.length-1,n=[];let i,o=2===t?"<svg>":3===t?"<math>":"",s=R;for(let a=0;a<r;a++){const t=e[a];let r,l,d=-1,c=0;for(;c<t.length&&(s.lastIndex=c,l=s.exec(t),null!==l);)c=s.lastIndex,s===R?"!--"===l[1]?s=B:void 0!==l[1]?s=U:void 0!==l[2]?(O.test(l[2])&&(i=RegExp("</"+l[2],"g")),s=q):void 0!==l[3]&&(s=q):s===q?">"===l[0]?(s=i??R,d=-1):void 0===l[1]?d=-2:(d=s.lastIndex-l[2].length,r=l[1],s=void 0===l[3]?q:'"'===l[3]?j:z):s===j||s===z?s=q:s===B||s===U?s=R:(s=q,i=void 0);const h=s===q&&e[a+1].startsWith("/>")?" ":"";o+=s===R?t+M:d>=0?(n.push(r),t.slice(0,d)+C+t.slice(d)+A+h):t+A+(-2===d?a:h)}return[Q(e,o+(e[r]||"<?>")+(2===t?"</svg>":3===t?"</math>":"")),n]})(e,t);if(this.el=$.createElement(l,r),W.currentNode=this.el.content,2===t||3===t){const e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;null!==(n=W.nextNode())&&a.length<s;){if(1===n.nodeType){if(n.hasAttributes())for(const e of n.getAttributeNames())if(e.endsWith(C)){const t=d[o++],r=n.getAttribute(e).split(A),s=/([.?@])?(.*)/.exec(t);a.push({type:1,index:i,name:s[2],strings:r,ctor:"."===s[1]?ee:"?"===s[1]?te:"@"===s[1]?re:_}),n.removeAttribute(e)}else e.startsWith(A)&&(a.push({type:6,index:i}),n.removeAttribute(e));if(O.test(n.tagName)){const e=n.textContent.split(A),t=e.length-1;if(t>0){n.textContent=E?E.emptyScript:"";for(let r=0;r<t;r++)n.append(e[r],F()),W.nextNode(),a.push({type:2,index:++i});n.append(e[t],F())}}}else if(8===n.nodeType)if(n.data===I)a.push({type:2,index:i});else{let e=-1;for(;-1!==(e=n.data.indexOf(A,e+1));)a.push({type:7,index:i}),e+=A.length-1}i++}}static createElement(e,t){const r=T.createElement("template");return r.innerHTML=e,r}}function X(e,t,r=e,n){var i,o;if(t===Z)return t;let s=void 0!==n?null==(i=r._$Co)?void 0:i[n]:r._$Cl;const a=L(t)?void 0:t._$litDirective$;return(null==s?void 0:s.constructor)!==a&&(null==(o=null==s?void 0:s._$AO)||o.call(s,!1),void 0===a?s=void 0:(s=new a(e),s._$AT(e,r,n)),void 0!==n?(r._$Co??(r._$Co=[]))[n]=s:r._$Cl=s),void 0!==s&&(t=X(e,s._$AS(e,t.values),s,n)),t}class J{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:t},parts:r}=this._$AD,n=((null==e?void 0:e.creationScope)??T).importNode(t,!0);W.currentNode=n;let i=W.nextNode(),o=0,s=0,a=r[0];for(;void 0!==a;){if(o===a.index){let t;2===a.type?t=new G(i,i.nextSibling,this,e):1===a.type?t=new a.ctor(i,a.name,a.strings,this,e):6===a.type&&(t=new ne(i,this,e)),this._$AV.push(t),a=r[++s]}o!==(null==a?void 0:a.index)&&(i=W.nextNode(),o++)}return W.currentNode=T,n}p(e){let t=0;for(const r of this._$AV)void 0!==r&&(void 0!==r.strings?(r._$AI(e,r,t),t+=r.strings.length-2):r._$AI(e[t])),t++}}class G{get _$AU(){var e;return(null==(e=this._$AM)?void 0:e._$AU)??this._$Cv}constructor(e,t,r,n){this.type=2,this._$AH=V,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=r,this.options=n,this._$Cv=(null==n?void 0:n.isConnected)??!0}get parentNode(){let e=this._$AA.parentNode;const t=this._$AM;return void 0!==t&&11===(null==e?void 0:e.nodeType)&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=X(this,e,t),L(e)?e===V||null==e||""===e?(this._$AH!==V&&this._$AR(),this._$AH=V):e!==this._$AH&&e!==Z&&this._(e):void 0!==e._$litType$?this.$(e):void 0!==e.nodeType?this.T(e):(e=>D(e)||"function"==typeof(null==e?void 0:e[Symbol.iterator]))(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==V&&L(this._$AH)?this._$AA.nextSibling.data=e:this.T(T.createTextNode(e)),this._$AH=e}$(e){var t;const{values:r,_$litType$:n}=e,i="number"==typeof n?this._$AC(e):(void 0===n.el&&(n.el=$.createElement(Q(n.h,n.h[0]),this.options)),n);if((null==(t=this._$AH)?void 0:t._$AD)===i)this._$AH.p(r);else{const e=new J(i,this),t=e.u(this.options);e.p(r),this.T(t),this._$AH=e}}_$AC(e){let t=Y.get(e.strings);return void 0===t&&Y.set(e.strings,t=new $(e)),t}k(e){D(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let r,n=0;for(const i of e)n===t.length?t.push(r=new G(this.O(F()),this.O(F()),this,this.options)):r=t[n],r._$AI(i),n++;n<t.length&&(this._$AR(r&&r._$AB.nextSibling,n),t.length=n)}_$AR(e=this._$AA.nextSibling,t){var r;for(null==(r=this._$AP)||r.call(this,!1,!0,t);e!==this._$AB;){const t=e.nextSibling;e.remove(),e=t}}setConnected(e){var t;void 0===this._$AM&&(this._$Cv=e,null==(t=this._$AP)||t.call(this,e))}}class _{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,r,n,i){this.type=1,this._$AH=V,this._$AN=void 0,this.element=e,this.name=t,this._$AM=n,this.options=i,r.length>2||""!==r[0]||""!==r[1]?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=V}_$AI(e,t=this,r,n){const i=this.strings;let o=!1;if(void 0===i)e=X(this,e,t,0),o=!L(e)||e!==this._$AH&&e!==Z,o&&(this._$AH=e);else{const n=e;let s,a;for(e=i[0],s=0;s<i.length-1;s++)a=X(this,n[r+s],t,s),a===Z&&(a=this._$AH[s]),o||(o=!L(a)||a!==this._$AH[s]),a===V?e=V:e!==V&&(e+=(a??"")+i[s+1]),this._$AH[s]=a}o&&!n&&this.j(e)}j(e){e===V?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class ee extends _{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===V?void 0:e}}class te extends _{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==V)}}class re extends _{constructor(e,t,r,n,i){super(e,t,r,n,i),this.type=5}_$AI(e,t=this){if((e=X(this,e,t,0)??V)===Z)return;const r=this._$AH,n=e===V&&r!==V||e.capture!==r.capture||e.once!==r.once||e.passive!==r.passive,i=e!==V&&(r===V||n);n&&this.element.removeEventListener(this.name,this,r),i&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){var t;"function"==typeof this._$AH?this._$AH.call((null==(t=this.options)?void 0:t.host)??this.element,e):this._$AH.handleEvent(e)}}class ne{constructor(e,t,r){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(e){X(this,e)}}const ie=S.litHtmlPolyfillSupport;null==ie||ie($,G),(S.litHtmlVersions??(S.litHtmlVersions=[])).push("3.3.1");const oe=globalThis;class se extends k{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var e;const t=super.createRenderRoot();return(e=this.renderOptions).renderBefore??(e.renderBefore=t.firstChild),t}update(e){const t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=((e,t,r)=>{const n=(null==r?void 0:r.renderBefore)??t;let i=n._$litPart$;if(void 0===i){const e=(null==r?void 0:r.renderBefore)??null;n._$litPart$=i=new G(t.insertBefore(F(),e),e,void 0,r??{})}return i._$AI(e),i})(t,this.renderRoot,this.renderOptions)}connectedCallback(){var e;super.connectedCallback(),null==(e=this._$Do)||e.setConnected(!0)}disconnectedCallback(){var e;super.disconnectedCallback(),null==(e=this._$Do)||e.setConnected(!1)}render(){return Z}}se._$litElement$=!0,se.finalized=!0,null==(t=oe.litElementHydrateSupport)||t.call(oe,{LitElement:se});const ae=oe.litElementPolyfillSupport;null==ae||ae({LitElement:se}),(oe.litElementVersions??(oe.litElementVersions=[])).push("4.2.1");const le={attribute:!0,type:String,converter:b,reflect:!1,hasChanged:w},de=(e=le,t,r)=>{const{kind:n,metadata:i}=r;let o=globalThis.litPropertyMetadata.get(i);if(void 0===o&&globalThis.litPropertyMetadata.set(i,o=new Map),"setter"===n&&((e=Object.create(e)).wrapped=!0),o.set(r.name,e),"accessor"===n){const{name:n}=r;return{set(r){const i=t.get.call(this);t.set.call(this,r),this.requestUpdate(n,i,e)},init(t){return void 0!==t&&this.C(n,void 0,e,t),t}}}if("setter"===n){const{name:n}=r;return function(r){const i=this[n];t.call(this,r),this.requestUpdate(n,i,e)}}throw Error("Unsupported decorator location: "+n)};function ce(e){return(t,r)=>"object"==typeof r?de(e,t,r):((e,t,r)=>{const n=t.hasOwnProperty(r);return t.constructor.createProperty(r,e),n?Object.getOwnPropertyDescriptor(t,r):void 0})(e,t,r)}function he(e){return ce({...e,state:!0,attribute:!1})}const ue="card",pe="paynow",me="idle",fe="initializing",ge="ready",ye="processing",ve="requires_action",be="succeeded",we="failed";class xe{constructor(e,t,r,n,i={},o){this.isPolling=!1,this.attempts=0,this.startTime=0,this.pollTimeoutId=null,this.adapters=e,this.baseUrl=t,this.token=r,this.onStatusUpdate=n,this.onPollStart=o,this.config={interval:i.interval??3e3,maxAttempts:i.maxAttempts??60,timeout:i.timeout??18e4,ignore3DS:i.ignore3DS??!1,ignoreQR:i.ignoreQR??!1}}start(){this.isPolling||(this.isPolling=!0,this.attempts=0,this.startTime=this.adapters.timer.now(),this.scheduleNextPoll())}stop(){this.isPolling=!1,null!==this.pollTimeoutId&&(clearTimeout(this.pollTimeoutId),this.pollTimeoutId=null)}get active(){return this.isPolling}get attemptCount(){return this.attempts}scheduleNextPoll(){if(!this.isPolling)return;if(this.attempts>=this.config.maxAttempts)return this.stop(),void this.onStatusUpdate({status:"failed",paymentIntentId:"",error:{code:"POLLING_MAX_ATTEMPTS",message:`Maximum polling attempts (${this.config.maxAttempts}) exceeded`}});if(this.adapters.timer.now()-this.startTime>=this.config.timeout)return this.stop(),void this.onStatusUpdate({status:"failed",paymentIntentId:"",error:{code:"POLLING_TIMEOUT",message:`Polling timeout (${this.config.timeout}ms) exceeded`}});this.pollTimeoutId=setTimeout(()=>{this.poll()},this.config.interval)}async poll(){if(this.isPolling){this.attempts++,this.onPollStart&&this.onPollStart();try{const t=await this.adapters.http.get(`${this.baseUrl}/payment-intent/get-payment-data`,{"x-token":this.token}),r={status:(e=t.result.status,"paid"===e?"succeeded":e),paymentIntentId:t.result.paymentIntentId||"",...void 0!==t.result.amount&&{amount:t.result.amount},...void 0!==t.result.currency&&{currency:t.result.currency},...void 0!==t.result.metadata&&{metadata:t.result.metadata},...void 0!==t.result.nextActionUrl&&{nextActionUrl:t.result.nextActionUrl},...void 0!==t.result.qrCode&&{qrCode:t.result.qrCode}};if(t.result.nextActionUrl&&!this.config.ignore3DS)return this.stop(),void this.onStatusUpdate(r);if(t.result.qrCode&&!this.config.ignoreQR)return this.stop(),void this.onStatusUpdate(r);if("succeeded"===t.result.status||"failed"===t.result.status||"paid"===t.result.status)return this.stop(),void this.onStatusUpdate(r);this.scheduleNextPoll()}catch(t){const e={status:"processing",paymentIntentId:"",error:{code:"POLLING_ERROR",message:t instanceof Error?t.message:"Unknown polling error"}};this.onStatusUpdate(e),this.scheduleNextPoll()}var e}}}class ke{constructor(e,t){this.state={status:me},this.subscribers=new Set,this.eventListeners={},this.paymentToken=null,this.paymentIntentId=null,this.pollingService=null,this.ignore3DSInPolling=!1,this.ignoreQRInPolling=!1,this.config=e,this.adapters=t}getApiBaseUrl(){return this.config.apiBaseUrl??function(e){switch(e){case"prod":return"https://public.one.ooo";case"demo":return"https://public.demo.one.ooo";default:return"https://public.dev.one.ooo"}}(this.config.environment)}getState(){return this.state}subscribe(e){return this.subscribers.add(e),e(this.state),()=>{this.subscribers.delete(e)}}on(e,t){this.eventListeners[e]||(this.eventListeners[e]=[]);const r=this.eventListeners[e];return r.push(t),()=>{const e=r.indexOf(t);e>-1&&r.splice(e,1)}}async initialize(e){this.setState({status:fe}),this.emit({type:"initialize",payload:e});try{const t={amount:e.amount,currency:e.currency,notes:e.notes,orderId:e.orderId},r=JSON.stringify(t),n=await this.adapters.crypto.hmacSHA256(this.config.secretKey,r),i=await this.adapters.http.post(`${this.getApiBaseUrl()}/payment-intent/create`,t,{"x-api-key":this.config.apiKey,"x-signature":n}),o=new URL(i.result.redirectUrl).searchParams.get("token");if(!o)throw new Error("No token found in redirectUrl");this.paymentToken=o,this.paymentIntentId=i.result.paymentIntentId;const s=await this.adapters.http.get(`${this.getApiBaseUrl()}/payment-intent/get-payment-data`,{"x-token":this.paymentToken}),a=await this.adapters.http.get(`${this.getApiBaseUrl()}/payment-intent/available-methods`,{"x-token":this.paymentToken}),l={id:this.paymentIntentId,amount:s.result.customerAmount||e.amount,currency:s.result.currency||e.currency,status:ge,...e.metadata&&{metadata:e.metadata}},d=a.result.paymentMethods.map((e,t)=>{let r=null;const n=e.type.toLowerCase(),i=e.capabilities||[];return n.includes("card")?r="card":(n.includes("paynow")||n.includes("bank transfer")||i.includes("payments_pay_now"))&&(r="paynow"),null===r?null:{id:r,enabled:!0,priority:t}}).filter(e=>null!==e);return this.setState({status:ge,paymentIntent:l,availableMethods:d}),this.emit({type:"initialized",payload:{paymentIntent:l,paymentData:s.result}}),l}catch(t){const e={code:"INITIALIZATION_FAILED",message:t instanceof Error?t.message:"Unknown error",timestamp:this.adapters.timer.now()};throw this.setState({status:we,error:e}),this.emit({type:"payment_failed",payload:{error:e}}),t}}async submitPayment(e,t){var r,n,i,o,s;const a=this.state;if("ready"!==a.status)throw new Error("Cannot submit payment: SDK not in ready state");if(!this.paymentToken)throw new Error("Cannot submit payment: No payment token available");this.ignore3DSInPolling=!1,this.ignoreQRInPolling=!1,this.setState({status:ye,paymentIntent:a.paymentIntent,selectedMethod:e,availableMethods:a.availableMethods}),this.emit({type:"payment_processing",payload:{paymentIntent:a.paymentIntent,methodId:e}});try{const r={firstName:String(t.firstName),lastName:String(t.lastName),email:String(t.email),paymentMethod:"card"===e?{type:"card",card:{number:String(t.cardNumber),expiryMonth:String(t.expiryMonth),expiryYear:String(t.expiryYear),cvc:String(t.cvv)}}:{type:"qr"}};return await this.adapters.http.patch(`${this.getApiBaseUrl()}/payment-intent/confirm`,r,{"x-token":this.paymentToken}),this.startPolling(),{id:this.paymentIntentId||"",amount:a.paymentIntent.amount,currency:a.paymentIntent.currency,status:ye}}catch(l){let e="Unknown error",t="PAYMENT_FAILED";if(l instanceof Error)try{if(function(e){return e instanceof Error&&("response"in e&&"object"==typeof e.response&&null!==e.response||"data"in e&&"object"==typeof e.data&&null!==e.data)}(l)){const a=null==(r=l.response)?void 0:r.data,d=l.data;a?(e=a.message||(null==(n=a.error)?void 0:n.message)||l.message,t=a.code||(null==(i=a.error)?void 0:i.code)||t):d?(e=d.message||(null==(o=d.error)?void 0:o.message)||l.message,t=d.code||(null==(s=d.error)?void 0:s.code)||t):e=l.message}else e=l.message}catch{e=l.message}const d={code:t,message:e,timestamp:this.adapters.timer.now()};throw this.setState({status:we,error:d,paymentIntent:a.paymentIntent}),this.emit({type:"payment_failed",payload:{error:d,paymentIntent:a.paymentIntent}}),l}}resumePolling(){this.paymentToken&&(this.ignore3DSInPolling=!0,this.ignoreQRInPolling=!0,this.startPolling())}destroy(){this.stopPolling(),this.subscribers.clear(),Object.keys(this.eventListeners).forEach(e=>{delete this.eventListeners[e]})}startPolling(){this.paymentToken&&(this.stopPolling(),this.pollingService=new xe(this.adapters,this.getApiBaseUrl(),this.paymentToken,this.handlePollingUpdate.bind(this),{interval:4e3,maxAttempts:100,timeout:4e5,ignore3DS:this.ignore3DSInPolling,ignoreQR:this.ignoreQRInPolling},this.handlePollStart.bind(this)),this.pollingService.start())}stopPolling(){this.pollingService&&(this.pollingService.stop(),this.pollingService=null)}handlePollStart(){this.emit({type:"poll_started",payload:{}})}handlePollingUpdate(e){if(e.error)return void console.error("Polling error:",e.error);const t=this.state;if("processing"!==t.status&&"requires_action"!==t.status)return void this.stopPolling();if(e.qrCode&&!this.ignoreQRInPolling)return void this.emit({type:"qr_code_received",payload:{qrCode:e.qrCode,methodId:t.selectedMethod}});if(e.nextActionUrl&&!this.ignore3DSInPolling){if("paynow"===t.selectedMethod&&!this.ignoreQRInPolling)return void this.emit({type:"qr_code_received",payload:{qrCode:e.nextActionUrl,methodId:t.selectedMethod}});const r={id:e.paymentIntentId,amount:e.amount??t.paymentIntent.amount,currency:e.currency??t.paymentIntent.currency,status:ve,...e.metadata&&{metadata:e.metadata}};return this.setState({status:ve,paymentIntent:r,actionUrl:e.nextActionUrl,selectedMethod:t.selectedMethod,availableMethods:t.availableMethods}),void this.emit({type:"payment_requires_action",payload:{paymentIntent:r,actionUrl:e.nextActionUrl,methodId:t.selectedMethod}})}const r={id:e.paymentIntentId,amount:e.amount??t.paymentIntent.amount,currency:e.currency??t.paymentIntent.currency,status:e.status,...e.metadata&&{metadata:e.metadata}};if("succeeded"===e.status)this.stopPolling(),this.setState({status:be,paymentIntent:r,selectedMethod:t.selectedMethod}),this.emit({type:"payment_succeeded",payload:{paymentIntent:r,methodId:t.selectedMethod}});else if("failed"===e.status){this.stopPolling();const t={code:"PAYMENT_FAILED",message:e.error&&"object"==typeof e.error&&null!==e.error&&"message"in e.error?String(e.error.message):"Payment failed",timestamp:this.adapters.timer.now()};this.setState({status:we,error:t,paymentIntent:r}),this.emit({type:"payment_failed",payload:{error:t,paymentIntent:r}})}}setState(e){const t=this.state.status;this.state=e,this.subscribers.forEach(e=>{e(this.state)}),t!==e.status&&this.emit({type:"state_changed",payload:{previousStatus:t,currentStatus:e.status}})}emit(e){const t=this.eventListeners[e.type];void 0!==t&&t.forEach(t=>{t(e)})}}var Se="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},Ee=function(e,t,r,n,i,o,s,a,l,d){var c=this;c.numeralDecimalMark=e||".",c.numeralIntegerScale=t>0?t:0,c.numeralDecimalScale=r>=0?r:2,c.numeralThousandsGroupStyle=n||Ee.groupStyle.thousand,c.numeralPositiveOnly=!!i,c.stripLeadingZeroes=!1!==o,c.prefix=s||""===s?s:"",c.signBeforePrefix=!!a,c.tailPrefix=!!l,c.delimiter=d||""===d?d:",",c.delimiterRE=d?new RegExp("\\"+d,"g"):""};Ee.groupStyle={thousand:"thousand",lakh:"lakh",wan:"wan",none:"none"},Ee.prototype={getRawValue:function(e){return e.replace(this.delimiterRE,"").replace(this.numeralDecimalMark,".")},format:function(e){var t,r,n,i,o=this,s="";switch(e=e.replace(/[A-Za-z]/g,"").replace(o.numeralDecimalMark,"M").replace(/[^\dM-]/g,"").replace(/^\-/,"N").replace(/\-/g,"").replace("N",o.numeralPositiveOnly?"":"-").replace("M",o.numeralDecimalMark),o.stripLeadingZeroes&&(e=e.replace(/^(-)?0+(?=\d)/,"$1")),r="-"===e.slice(0,1)?"-":"",n=void 0!==o.prefix?o.signBeforePrefix?r+o.prefix:o.prefix+r:r,i=e,e.indexOf(o.numeralDecimalMark)>=0&&(i=(t=e.split(o.numeralDecimalMark))[0],s=o.numeralDecimalMark+t[1].slice(0,o.numeralDecimalScale)),"-"===r&&(i=i.slice(1)),o.numeralIntegerScale>0&&(i=i.slice(0,o.numeralIntegerScale)),o.numeralThousandsGroupStyle){case Ee.groupStyle.lakh:i=i.replace(/(\d)(?=(\d\d)+\d$)/g,"$1"+o.delimiter);break;case Ee.groupStyle.wan:i=i.replace(/(\d)(?=(\d{4})+$)/g,"$1"+o.delimiter);break;case Ee.groupStyle.thousand:i=i.replace(/(\d)(?=(\d{3})+$)/g,"$1"+o.delimiter)}return o.tailPrefix?r+i.toString()+(o.numeralDecimalScale>0?s.toString():"")+o.prefix:n+i.toString()+(o.numeralDecimalScale>0?s.toString():"")}};var Pe=Ee,Ce=function(e,t,r){var n=this;n.date=[],n.blocks=[],n.datePattern=e,n.dateMin=t.split("-").reverse().map(function(e){return parseInt(e,10)}),2===n.dateMin.length&&n.dateMin.unshift(0),n.dateMax=r.split("-").reverse().map(function(e){return parseInt(e,10)}),2===n.dateMax.length&&n.dateMax.unshift(0),n.initBlocks()};Ce.prototype={initBlocks:function(){var e=this;e.datePattern.forEach(function(t){"Y"===t?e.blocks.push(4):e.blocks.push(2)})},getISOFormatDate:function(){var e=this,t=e.date;return t[2]?t[2]+"-"+e.addLeadingZero(t[1])+"-"+e.addLeadingZero(t[0]):""},getBlocks:function(){return this.blocks},getValidatedDate:function(e){var t=this,r="";return e=e.replace(/[^\d]/g,""),t.blocks.forEach(function(n,i){if(e.length>0){var o=e.slice(0,n),s=o.slice(0,1),a=e.slice(n);switch(t.datePattern[i]){case"d":"00"===o?o="01":parseInt(s,10)>3?o="0"+s:parseInt(o,10)>31&&(o="31");break;case"m":"00"===o?o="01":parseInt(s,10)>1?o="0"+s:parseInt(o,10)>12&&(o="12")}r+=o,e=a}}),this.getFixedDateString(r)},getFixedDateString:function(e){var t,r,n,i=this,o=i.datePattern,s=[],a=0,l=0,d=0,c=0,h=0,u=0,p=!1;return 4===e.length&&"y"!==o[0].toLowerCase()&&"y"!==o[1].toLowerCase()&&(h=2-(c="d"===o[0]?0:2),t=parseInt(e.slice(c,c+2),10),r=parseInt(e.slice(h,h+2),10),s=this.getFixedDate(t,r,0)),8===e.length&&(o.forEach(function(e,t){switch(e){case"d":a=t;break;case"m":l=t;break;default:d=t}}),u=2*d,c=a<=d?2*a:2*a+2,h=l<=d?2*l:2*l+2,t=parseInt(e.slice(c,c+2),10),r=parseInt(e.slice(h,h+2),10),n=parseInt(e.slice(u,u+4),10),p=4===e.slice(u,u+4).length,s=this.getFixedDate(t,r,n)),4!==e.length||"y"!==o[0]&&"y"!==o[1]||(u=2-(h="m"===o[0]?0:2),r=parseInt(e.slice(h,h+2),10),n=parseInt(e.slice(u,u+2),10),p=2===e.slice(u,u+2).length,s=[0,r,n]),6!==e.length||"Y"!==o[0]&&"Y"!==o[1]||(u=2-.5*(h="m"===o[0]?0:4),r=parseInt(e.slice(h,h+2),10),n=parseInt(e.slice(u,u+4),10),p=4===e.slice(u,u+4).length,s=[0,r,n]),s=i.getRangeFixedDate(s),i.date=s,0===s.length?e:o.reduce(function(e,t){switch(t){case"d":return e+(0===s[0]?"":i.addLeadingZero(s[0]));case"m":return e+(0===s[1]?"":i.addLeadingZero(s[1]));case"y":return e+(p?i.addLeadingZeroForYear(s[2],!1):"");case"Y":return e+(p?i.addLeadingZeroForYear(s[2],!0):"")}},"")},getRangeFixedDate:function(e){var t=this,r=t.datePattern,n=t.dateMin||[],i=t.dateMax||[];return!e.length||n.length<3&&i.length<3||r.find(function(e){return"y"===e.toLowerCase()})&&0===e[2]?e:i.length&&(i[2]<e[2]||i[2]===e[2]&&(i[1]<e[1]||i[1]===e[1]&&i[0]<e[0]))?i:n.length&&(n[2]>e[2]||n[2]===e[2]&&(n[1]>e[1]||n[1]===e[1]&&n[0]>e[0]))?n:e},getFixedDate:function(e,t,r){return e=Math.min(e,31),t=Math.min(t,12),r=parseInt(r||0,10),(t<7&&t%2==0||t>8&&t%2==1)&&(e=Math.min(e,2===t?this.isLeapYear(r)?29:28:30)),[e,t,r]},isLeapYear:function(e){return e%4==0&&e%100!=0||e%400==0},addLeadingZero:function(e){return(e<10?"0":"")+e},addLeadingZeroForYear:function(e,t){return t?(e<10?"000":e<100?"00":e<1e3?"0":"")+e:(e<10?"0":"")+e}};var Ae=Ce,Ie=function(e,t){var r=this;r.time=[],r.blocks=[],r.timePattern=e,r.timeFormat=t,r.initBlocks()};Ie.prototype={initBlocks:function(){var e=this;e.timePattern.forEach(function(){e.blocks.push(2)})},getISOFormatTime:function(){var e=this,t=e.time;return t[2]?e.addLeadingZero(t[0])+":"+e.addLeadingZero(t[1])+":"+e.addLeadingZero(t[2]):""},getBlocks:function(){return this.blocks},getTimeFormatOptions:function(){return"12"===String(this.timeFormat)?{maxHourFirstDigit:1,maxHours:12,maxMinutesFirstDigit:5,maxMinutes:60}:{maxHourFirstDigit:2,maxHours:23,maxMinutesFirstDigit:5,maxMinutes:60}},getValidatedTime:function(e){var t=this,r="";e=e.replace(/[^\d]/g,"");var n=t.getTimeFormatOptions();return t.blocks.forEach(function(i,o){if(e.length>0){var s=e.slice(0,i),a=s.slice(0,1),l=e.slice(i);switch(t.timePattern[o]){case"h":parseInt(a,10)>n.maxHourFirstDigit?s="0"+a:parseInt(s,10)>n.maxHours&&(s=n.maxHours+"");break;case"m":case"s":parseInt(a,10)>n.maxMinutesFirstDigit?s="0"+a:parseInt(s,10)>n.maxMinutes&&(s=n.maxMinutes+"")}r+=s,e=l}}),this.getFixedTimeString(r)},getFixedTimeString:function(e){var t,r,n,i=this,o=i.timePattern,s=[],a=0,l=0,d=0,c=0,h=0,u=0;return 6===e.length&&(o.forEach(function(e,t){switch(e){case"s":a=2*t;break;case"m":l=2*t;break;case"h":d=2*t}}),u=d,h=l,c=a,t=parseInt(e.slice(c,c+2),10),r=parseInt(e.slice(h,h+2),10),n=parseInt(e.slice(u,u+2),10),s=this.getFixedTime(n,r,t)),4===e.length&&i.timePattern.indexOf("s")<0&&(o.forEach(function(e,t){switch(e){case"m":l=2*t;break;case"h":d=2*t}}),u=d,h=l,t=0,r=parseInt(e.slice(h,h+2),10),n=parseInt(e.slice(u,u+2),10),s=this.getFixedTime(n,r,t)),i.time=s,0===s.length?e:o.reduce(function(e,t){switch(t){case"s":return e+i.addLeadingZero(s[2]);case"m":return e+i.addLeadingZero(s[1]);case"h":return e+i.addLeadingZero(s[0])}},"")},getFixedTime:function(e,t,r){return r=Math.min(parseInt(r||0,10),60),t=Math.min(t,60),[e=Math.min(e,60),t,r]},addLeadingZero:function(e){return(e<10?"0":"")+e}};var Me=Ie,Te=function(e,t){var r=this;r.delimiter=t||""===t?t:" ",r.delimiterRE=t?new RegExp("\\"+t,"g"):"",r.formatter=e};Te.prototype={setFormatter:function(e){this.formatter=e},format:function(e){var t=this;t.formatter.clear();for(var r,n="",i=!1,o=0,s=(e=(e=(e=e.replace(/[^\d+]/g,"")).replace(/^\+/,"B").replace(/\+/g,"").replace("B","+")).replace(t.delimiterRE,"")).length;o<s;o++)r=t.formatter.inputDigit(e.charAt(o)),/[\s()-]/g.test(r)?(n=r,i=!0):i||(n=r);return n=(n=n.replace(/[()]/g,"")).replace(/[\s-]/g,t.delimiter)}};var Fe=Te,Le={blocks:{uatp:[4,5,6],amex:[4,6,5],diners:[4,6,4],discover:[4,4,4,4],mastercard:[4,4,4,4],dankort:[4,4,4,4],instapayment:[4,4,4,4],jcb15:[4,6,5],jcb:[4,4,4,4],maestro:[4,4,4,4],visa:[4,4,4,4],mir:[4,4,4,4],unionPay:[4,4,4,4],general:[4,4,4,4]},re:{uatp:/^(?!1800)1\d{0,14}/,amex:/^3[47]\d{0,13}/,discover:/^(?:6011|65\d{0,2}|64[4-9]\d?)\d{0,12}/,diners:/^3(?:0([0-5]|9)|[689]\d?)\d{0,11}/,mastercard:/^(5[1-5]\d{0,2}|22[2-9]\d{0,1}|2[3-7]\d{0,2})\d{0,12}/,dankort:/^(5019|4175|4571)\d{0,12}/,instapayment:/^63[7-9]\d{0,13}/,jcb15:/^(?:2131|1800)\d{0,11}/,jcb:/^(?:35\d{0,2})\d{0,12}/,maestro:/^(?:5[0678]\d{0,2}|6304|67\d{0,2})\d{0,12}/,mir:/^220[0-4]\d{0,12}/,visa:/^4\d{0,15}/,unionPay:/^(62|81)\d{0,14}/},getStrictBlocks:function(e){var t=e.reduce(function(e,t){return e+t},0);return e.concat(19-t)},getInfo:function(e,t){var r=Le.blocks,n=Le.re;for(var i in t=!!t,n)if(n[i].test(e)){var o=r[i];return{type:i,blocks:t?this.getStrictBlocks(o):o}}return{type:"unknown",blocks:t?this.getStrictBlocks(r.general):r.general}}},De=Le,Ne={noop:function(){},strip:function(e,t){return e.replace(t,"")},getPostDelimiter:function(e,t,r){if(0===r.length)return e.slice(-t.length)===t?t:"";var n="";return r.forEach(function(t){e.slice(-t.length)===t&&(n=t)}),n},getDelimiterREByDelimiter:function(e){return new RegExp(e.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1"),"g")},getNextCursorPosition:function(e,t,r,n,i){return t.length===e?r.length:e+this.getPositionOffset(e,t,r,n,i)},getPositionOffset:function(e,t,r,n,i){var o,s,a;return o=this.stripDelimiters(t.slice(0,e),n,i),s=this.stripDelimiters(r.slice(0,e),n,i),0!==(a=o.length-s.length)?a/Math.abs(a):0},stripDelimiters:function(e,t,r){var n=this;if(0===r.length){var i=t?n.getDelimiterREByDelimiter(t):"";return e.replace(i,"")}return r.forEach(function(t){t.split("").forEach(function(t){e=e.replace(n.getDelimiterREByDelimiter(t),"")})}),e},headStr:function(e,t){return e.slice(0,t)},getMaxLength:function(e){return e.reduce(function(e,t){return e+t},0)},getPrefixStrippedValue:function(e,t,r,n,i,o,s,a,l){if(0===r)return e;if(e===t&&""!==e)return"";if(l&&"-"==e.slice(0,1)){var d="-"==n.slice(0,1)?n.slice(1):n;return"-"+this.getPrefixStrippedValue(e.slice(1),t,r,d,i,o,s,a,l)}if(n.slice(0,r)!==t&&!a)return s&&!n&&e?e:"";if(n.slice(-r)!==t&&a)return s&&!n&&e?e:"";var c=this.stripDelimiters(n,i,o);return e.slice(0,r)===t||a?e.slice(-r)!==t&&a?c.slice(0,-r-1):a?e.slice(0,-r):e.slice(r):c.slice(r)},getFirstDiffIndex:function(e,t){for(var r=0;e.charAt(r)===t.charAt(r);)if(""===e.charAt(r++))return-1;return r},getFormattedValue:function(e,t,r,n,i,o){var s="",a=i.length>0,l="";return 0===r?e:(t.forEach(function(t,d){if(e.length>0){var c=e.slice(0,t),h=e.slice(t);l=a?i[o?d-1:d]||l:n,o?(d>0&&(s+=l),s+=c):(s+=c,c.length===t&&d<r-1&&(s+=l)),e=h}}),s)},fixPrefixCursor:function(e,t,r,n){if(e){var i=e.value,o=r||n[0]||" ";if(e.setSelectionRange&&t&&!(t.length+o.length<=i.length)){var s=2*i.length;setTimeout(function(){e.setSelectionRange(s,s)},1)}}},checkFullSelection:function(e){try{return(window.getSelection()||document.getSelection()||{}).toString().length===e.length}catch(t){}return!1},setSelection:function(e,t,r){if(e===this.getActiveElement(r)&&!(e&&e.value.length<=t))if(e.createTextRange){var n=e.createTextRange();n.move("character",t),n.select()}else try{e.setSelectionRange(t,t)}catch(i){console.warn("The input element type does not support selection")}},getActiveElement:function(e){var t=e.activeElement;return t&&t.shadowRoot?this.getActiveElement(t.shadowRoot):t},isAndroid:function(){return navigator&&/android/i.test(navigator.userAgent)},isAndroidBackspaceKeydown:function(e,t){return!!(this.isAndroid()&&e&&t)&&t===e.slice(0,-1)}},Re={assign:function(e,t){return t=t||{},(e=e||{}).creditCard=!!t.creditCard,e.creditCardStrictMode=!!t.creditCardStrictMode,e.creditCardType="",e.onCreditCardTypeChanged=t.onCreditCardTypeChanged||function(){},e.phone=!!t.phone,e.phoneRegionCode=t.phoneRegionCode||"AU",e.phoneFormatter={},e.time=!!t.time,e.timePattern=t.timePattern||["h","m","s"],e.timeFormat=t.timeFormat||"24",e.timeFormatter={},e.date=!!t.date,e.datePattern=t.datePattern||["d","m","Y"],e.dateMin=t.dateMin||"",e.dateMax=t.dateMax||"",e.dateFormatter={},e.numeral=!!t.numeral,e.numeralIntegerScale=t.numeralIntegerScale>0?t.numeralIntegerScale:0,e.numeralDecimalScale=t.numeralDecimalScale>=0?t.numeralDecimalScale:2,e.numeralDecimalMark=t.numeralDecimalMark||".",e.numeralThousandsGroupStyle=t.numeralThousandsGroupStyle||"thousand",e.numeralPositiveOnly=!!t.numeralPositiveOnly,e.stripLeadingZeroes=!1!==t.stripLeadingZeroes,e.signBeforePrefix=!!t.signBeforePrefix,e.tailPrefix=!!t.tailPrefix,e.swapHiddenInput=!!t.swapHiddenInput,e.numericOnly=e.creditCard||e.date||!!t.numericOnly,e.uppercase=!!t.uppercase,e.lowercase=!!t.lowercase,e.prefix=e.creditCard||e.date?"":t.prefix||"",e.noImmediatePrefix=!!t.noImmediatePrefix,e.prefixLength=e.prefix.length,e.rawValueTrimPrefix=!!t.rawValueTrimPrefix,e.copyDelimiter=!!t.copyDelimiter,e.initValue=void 0!==t.initValue&&null!==t.initValue?t.initValue.toString():"",e.delimiter=t.delimiter||""===t.delimiter?t.delimiter:t.date?"/":t.time?":":t.numeral?",":(t.phone," "),e.delimiterLength=e.delimiter.length,e.delimiterLazyShow=!!t.delimiterLazyShow,e.delimiters=t.delimiters||[],e.blocks=t.blocks||[],e.blocksLength=e.blocks.length,e.root="object"==typeof Se&&Se?Se:window,e.document=t.document||e.root.document,e.maxLength=0,e.backspace=!1,e.result="",e.onValueChanged=t.onValueChanged||function(){},e}},Be=function(e,t){var r=this,n=!1;if("string"==typeof e?(r.element=document.querySelector(e),n=document.querySelectorAll(e).length>1):void 0!==e.length&&e.length>0?(r.element=e[0],n=e.length>1):r.element=e,!r.element)throw new Error("[cleave.js] Please check the element");if(n)try{console.warn("[cleave.js] Multiple input fields matched, cleave.js will only take the first one.")}catch(i){}t.initValue=r.element.value,r.properties=Be.DefaultProperties.assign({},t),r.init()};Be.prototype={init:function(){var e=this,t=e.properties;t.numeral||t.phone||t.creditCard||t.time||t.date||0!==t.blocksLength||t.prefix?(t.maxLength=Be.Util.getMaxLength(t.blocks),e.isAndroid=Be.Util.isAndroid(),e.lastInputValue="",e.isBackward="",e.onChangeListener=e.onChange.bind(e),e.onKeyDownListener=e.onKeyDown.bind(e),e.onFocusListener=e.onFocus.bind(e),e.onCutListener=e.onCut.bind(e),e.onCopyListener=e.onCopy.bind(e),e.initSwapHiddenInput(),e.element.addEventListener("input",e.onChangeListener),e.element.addEventListener("keydown",e.onKeyDownListener),e.element.addEventListener("focus",e.onFocusListener),e.element.addEventListener("cut",e.onCutListener),e.element.addEventListener("copy",e.onCopyListener),e.initPhoneFormatter(),e.initDateFormatter(),e.initTimeFormatter(),e.initNumeralFormatter(),(t.initValue||t.prefix&&!t.noImmediatePrefix)&&e.onInput(t.initValue)):e.onInput(t.initValue)},initSwapHiddenInput:function(){var e=this;if(e.properties.swapHiddenInput){var t=e.element.cloneNode(!0);e.element.parentNode.insertBefore(t,e.element),e.elementSwapHidden=e.element,e.elementSwapHidden.type="hidden",e.element=t,e.element.id=""}},initNumeralFormatter:function(){var e=this.properties;e.numeral&&(e.numeralFormatter=new Be.NumeralFormatter(e.numeralDecimalMark,e.numeralIntegerScale,e.numeralDecimalScale,e.numeralThousandsGroupStyle,e.numeralPositiveOnly,e.stripLeadingZeroes,e.prefix,e.signBeforePrefix,e.tailPrefix,e.delimiter))},initTimeFormatter:function(){var e=this.properties;e.time&&(e.timeFormatter=new Be.TimeFormatter(e.timePattern,e.timeFormat),e.blocks=e.timeFormatter.getBlocks(),e.blocksLength=e.blocks.length,e.maxLength=Be.Util.getMaxLength(e.blocks))},initDateFormatter:function(){var e=this.properties;e.date&&(e.dateFormatter=new Be.DateFormatter(e.datePattern,e.dateMin,e.dateMax),e.blocks=e.dateFormatter.getBlocks(),e.blocksLength=e.blocks.length,e.maxLength=Be.Util.getMaxLength(e.blocks))},initPhoneFormatter:function(){var e=this.properties;if(e.phone)try{e.phoneFormatter=new Be.PhoneFormatter(new e.root.Cleave.AsYouTypeFormatter(e.phoneRegionCode),e.delimiter)}catch(t){throw new Error("[cleave.js] Please include phone-type-formatter.{country}.js lib")}},onKeyDown:function(e){var t=this,r=e.which||e.keyCode;t.lastInputValue=t.element.value,t.isBackward=8===r},onChange:function(e){var t=this,r=t.properties,n=Be.Util;t.isBackward=t.isBackward||"deleteContentBackward"===e.inputType;var i=n.getPostDelimiter(t.lastInputValue,r.delimiter,r.delimiters);t.isBackward&&i?r.postDelimiterBackspace=i:r.postDelimiterBackspace=!1,this.onInput(this.element.value)},onFocus:function(){var e=this,t=e.properties;e.lastInputValue=e.element.value,t.prefix&&t.noImmediatePrefix&&!e.element.value&&this.onInput(t.prefix),Be.Util.fixPrefixCursor(e.element,t.prefix,t.delimiter,t.delimiters)},onCut:function(e){Be.Util.checkFullSelection(this.element.value)&&(this.copyClipboardData(e),this.onInput(""))},onCopy:function(e){Be.Util.checkFullSelection(this.element.value)&&this.copyClipboardData(e)},copyClipboardData:function(e){var t=this.properties,r=Be.Util,n=this.element.value,i="";i=t.copyDelimiter?n:r.stripDelimiters(n,t.delimiter,t.delimiters);try{e.clipboardData?e.clipboardData.setData("Text",i):window.clipboardData.setData("Text",i),e.preventDefault()}catch(o){}},onInput:function(e){var t=this,r=t.properties,n=Be.Util,i=n.getPostDelimiter(e,r.delimiter,r.delimiters);return r.numeral||!r.postDelimiterBackspace||i||(e=n.headStr(e,e.length-r.postDelimiterBackspace.length)),r.phone?(!r.prefix||r.noImmediatePrefix&&!e.length?r.result=r.phoneFormatter.format(e):r.result=r.prefix+r.phoneFormatter.format(e).slice(r.prefix.length),void t.updateValueState()):r.numeral?(r.prefix&&r.noImmediatePrefix&&0===e.length?r.result="":r.result=r.numeralFormatter.format(e),void t.updateValueState()):(r.date&&(e=r.dateFormatter.getValidatedDate(e)),r.time&&(e=r.timeFormatter.getValidatedTime(e)),e=n.stripDelimiters(e,r.delimiter,r.delimiters),e=n.getPrefixStrippedValue(e,r.prefix,r.prefixLength,r.result,r.delimiter,r.delimiters,r.noImmediatePrefix,r.tailPrefix,r.signBeforePrefix),e=r.numericOnly?n.strip(e,/[^\d]/g):e,e=r.uppercase?e.toUpperCase():e,e=r.lowercase?e.toLowerCase():e,r.prefix&&(r.tailPrefix?e+=r.prefix:e=r.prefix+e,0===r.blocksLength)?(r.result=e,void t.updateValueState()):(r.creditCard&&t.updateCreditCardPropsByValue(e),e=n.headStr(e,r.maxLength),r.result=n.getFormattedValue(e,r.blocks,r.blocksLength,r.delimiter,r.delimiters,r.delimiterLazyShow),void t.updateValueState()))},updateCreditCardPropsByValue:function(e){var t,r=this.properties,n=Be.Util;n.headStr(r.result,4)!==n.headStr(e,4)&&(t=Be.CreditCardDetector.getInfo(e,r.creditCardStrictMode),r.blocks=t.blocks,r.blocksLength=r.blocks.length,r.maxLength=n.getMaxLength(r.blocks),r.creditCardType!==t.type&&(r.creditCardType=t.type,r.onCreditCardTypeChanged.call(this,r.creditCardType)))},updateValueState:function(){var e=this,t=Be.Util,r=e.properties;if(e.element){var n=e.element.selectionEnd,i=e.element.value,o=r.result;n=t.getNextCursorPosition(n,i,o,r.delimiter,r.delimiters),e.isAndroid?window.setTimeout(function(){e.element.value=o,t.setSelection(e.element,n,r.document,!1),e.callOnValueChanged()},1):(e.element.value=o,r.swapHiddenInput&&(e.elementSwapHidden.value=e.getRawValue()),t.setSelection(e.element,n,r.document,!1),e.callOnValueChanged())}},callOnValueChanged:function(){var e=this,t=e.properties;t.onValueChanged.call(e,{target:{name:e.element.name,value:t.result,rawValue:e.getRawValue()}})},setPhoneRegionCode:function(e){var t=this;t.properties.phoneRegionCode=e,t.initPhoneFormatter(),t.onChange()},setRawValue:function(e){var t=this,r=t.properties;e=null!=e?e.toString():"",r.numeral&&(e=e.replace(".",r.numeralDecimalMark)),r.postDelimiterBackspace=!1,t.element.value=e,t.onInput(e)},getRawValue:function(){var e=this.properties,t=Be.Util,r=this.element.value;return e.rawValueTrimPrefix&&(r=t.getPrefixStrippedValue(r,e.prefix,e.prefixLength,e.result,e.delimiter,e.delimiters,e.noImmediatePrefix,e.tailPrefix,e.signBeforePrefix)),r=e.numeral?e.numeralFormatter.getRawValue(r):t.stripDelimiters(r,e.delimiter,e.delimiters)},getISOFormatDate:function(){var e=this.properties;return e.date?e.dateFormatter.getISOFormatDate():""},getISOFormatTime:function(){var e=this.properties;return e.time?e.timeFormatter.getISOFormatTime():""},getFormattedValue:function(){return this.element.value},destroy:function(){var e=this;e.element.removeEventListener("input",e.onChangeListener),e.element.removeEventListener("keydown",e.onKeyDownListener),e.element.removeEventListener("focus",e.onFocusListener),e.element.removeEventListener("cut",e.onCutListener),e.element.removeEventListener("copy",e.onCopyListener)},toString:function(){return"[Cleave Object]"}},Be.NumeralFormatter=Pe,Be.DateFormatter=Ae,Be.TimeFormatter=Me,Be.PhoneFormatter=Fe,Be.CreditCardDetector=De,Be.Util=Ne,Be.DefaultProperties=Re,("object"==typeof Se&&Se?Se:window).Cleave=Be;var Ue=Be,qe={},ze={},je={};let Oe;const He=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];je.getSymbolSize=function(e){if(!e)throw new Error('"version" cannot be null or undefined');if(e<1||e>40)throw new Error('"version" should be in range from 1 to 40');return 4*e+17},je.getSymbolTotalCodewords=function(e){return He[e]},je.getBCHDigit=function(e){let t=0;for(;0!==e;)t++,e>>>=1;return t},je.setToSJISFunction=function(e){if("function"!=typeof e)throw new Error('"toSJISFunc" is not a valid function.');Oe=e},je.isKanjiModeEnabled=function(){return void 0!==Oe},je.toSJIS=function(e){return Oe(e)};var Ze,Ve={};function Ye(){this.buffer=[],this.length=0}(Ze=Ve).L={bit:1},Ze.M={bit:0},Ze.Q={bit:3},Ze.H={bit:2},Ze.isValid=function(e){return e&&void 0!==e.bit&&e.bit>=0&&e.bit<4},Ze.from=function(e,t){if(Ze.isValid(e))return e;try{return function(e){if("string"!=typeof e)throw new Error("Param is not a string");switch(e.toLowerCase()){case"l":case"low":return Ze.L;case"m":case"medium":return Ze.M;case"q":case"quartile":return Ze.Q;case"h":case"high":return Ze.H;default:throw new Error("Unknown EC Level: "+e)}}(e)}catch(r){return t}},Ye.prototype={get:function(e){const t=Math.floor(e/8);return 1==(this.buffer[t]>>>7-e%8&1)},put:function(e,t){for(let r=0;r<t;r++)this.putBit(1==(e>>>t-r-1&1))},getLengthInBits:function(){return this.length},putBit:function(e){const t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}};var We=Ye;function Ke(e){if(!e||e<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}Ke.prototype.set=function(e,t,r,n){const i=e*this.size+t;this.data[i]=r,n&&(this.reservedBit[i]=!0)},Ke.prototype.get=function(e,t){return this.data[e*this.size+t]},Ke.prototype.xor=function(e,t,r){this.data[e*this.size+t]^=r},Ke.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]};var Qe=Ke,$e={};!function(e){const t=je.getSymbolSize;e.getRowColCoords=function(e){if(1===e)return[];const r=Math.floor(e/7)+2,n=t(e),i=145===n?26:2*Math.ceil((n-13)/(2*r-2)),o=[n-7];for(let t=1;t<r-1;t++)o[t]=o[t-1]-i;return o.push(6),o.reverse()},e.getPositions=function(t){const r=[],n=e.getRowColCoords(t),i=n.length;for(let e=0;e<i;e++)for(let t=0;t<i;t++)0===e&&0===t||0===e&&t===i-1||e===i-1&&0===t||r.push([n[e],n[t]]);return r}}($e);var Xe={};const Je=je.getSymbolSize;Xe.getPositions=function(e){const t=Je(e);return[[0,0],[t-7,0],[0,t-7]]};var Ge={};!function(e){e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};const t=3,r=3,n=40,i=10;function o(t,r,n){switch(t){case e.Patterns.PATTERN000:return(r+n)%2==0;case e.Patterns.PATTERN001:return r%2==0;case e.Patterns.PATTERN010:return n%3==0;case e.Patterns.PATTERN011:return(r+n)%3==0;case e.Patterns.PATTERN100:return(Math.floor(r/2)+Math.floor(n/3))%2==0;case e.Patterns.PATTERN101:return r*n%2+r*n%3==0;case e.Patterns.PATTERN110:return(r*n%2+r*n%3)%2==0;case e.Patterns.PATTERN111:return(r*n%3+(r+n)%2)%2==0;default:throw new Error("bad maskPattern:"+t)}}e.isValid=function(e){return null!=e&&""!==e&&!isNaN(e)&&e>=0&&e<=7},e.from=function(t){return e.isValid(t)?parseInt(t,10):void 0},e.getPenaltyN1=function(e){const r=e.size;let n=0,i=0,o=0,s=null,a=null;for(let l=0;l<r;l++){i=o=0,s=a=null;for(let d=0;d<r;d++){let r=e.get(l,d);r===s?i++:(i>=5&&(n+=t+(i-5)),s=r,i=1),r=e.get(d,l),r===a?o++:(o>=5&&(n+=t+(o-5)),a=r,o=1)}i>=5&&(n+=t+(i-5)),o>=5&&(n+=t+(o-5))}return n},e.getPenaltyN2=function(e){const t=e.size;let n=0;for(let r=0;r<t-1;r++)for(let i=0;i<t-1;i++){const t=e.get(r,i)+e.get(r,i+1)+e.get(r+1,i)+e.get(r+1,i+1);4!==t&&0!==t||n++}return n*r},e.getPenaltyN3=function(e){const t=e.size;let r=0,i=0,o=0;for(let n=0;n<t;n++){i=o=0;for(let s=0;s<t;s++)i=i<<1&2047|e.get(n,s),s>=10&&(1488===i||93===i)&&r++,o=o<<1&2047|e.get(s,n),s>=10&&(1488===o||93===o)&&r++}return r*n},e.getPenaltyN4=function(e){let t=0;const r=e.data.length;for(let n=0;n<r;n++)t+=e.data[n];return Math.abs(Math.ceil(100*t/r/5)-10)*i},e.applyMask=function(e,t){const r=t.size;for(let n=0;n<r;n++)for(let i=0;i<r;i++)t.isReserved(i,n)||t.xor(i,n,o(e,i,n))},e.getBestMask=function(t,r){const n=Object.keys(e.Patterns).length;let i=0,o=1/0;for(let s=0;s<n;s++){r(s),e.applyMask(s,t);const n=e.getPenaltyN1(t)+e.getPenaltyN2(t)+e.getPenaltyN3(t)+e.getPenaltyN4(t);e.applyMask(s,t),n<o&&(o=n,i=s)}return i}}(Ge);var _e={};const et=Ve,tt=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],rt=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];_e.getBlocksCount=function(e,t){switch(t){case et.L:return tt[4*(e-1)+0];case et.M:return tt[4*(e-1)+1];case et.Q:return tt[4*(e-1)+2];case et.H:return tt[4*(e-1)+3];default:return}},_e.getTotalCodewordsCount=function(e,t){switch(t){case et.L:return rt[4*(e-1)+0];case et.M:return rt[4*(e-1)+1];case et.Q:return rt[4*(e-1)+2];case et.H:return rt[4*(e-1)+3];default:return}};var nt={},it={};const ot=new Uint8Array(512),st=new Uint8Array(256);!function(){let e=1;for(let t=0;t<255;t++)ot[t]=e,st[e]=t,e<<=1,256&e&&(e^=285);for(let t=255;t<512;t++)ot[t]=ot[t-255]}(),it.log=function(e){if(e<1)throw new Error("log("+e+")");return st[e]},it.exp=function(e){return ot[e]},it.mul=function(e,t){return 0===e||0===t?0:ot[st[e]+st[t]]},function(e){const t=it;e.mul=function(e,r){const n=new Uint8Array(e.length+r.length-1);for(let i=0;i<e.length;i++)for(let o=0;o<r.length;o++)n[i+o]^=t.mul(e[i],r[o]);return n},e.mod=function(e,r){let n=new Uint8Array(e);for(;n.length-r.length>=0;){const e=n[0];for(let o=0;o<r.length;o++)n[o]^=t.mul(r[o],e);let i=0;for(;i<n.length&&0===n[i];)i++;n=n.slice(i)}return n},e.generateECPolynomial=function(r){let n=new Uint8Array([1]);for(let i=0;i<r;i++)n=e.mul(n,new Uint8Array([1,t.exp(i)]));return n}}(nt);const at=nt;function lt(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}lt.prototype.initialize=function(e){this.degree=e,this.genPoly=at.generateECPolynomial(this.degree)},lt.prototype.encode=function(e){if(!this.genPoly)throw new Error("Encoder not initialized");const t=new Uint8Array(e.length+this.degree);t.set(e);const r=at.mod(t,this.genPoly),n=this.degree-r.length;if(n>0){const e=new Uint8Array(this.degree);return e.set(r,n),e}return r};var dt=lt,ct={},ht={},ut={isValid:function(e){return!isNaN(e)&&e>=1&&e<=40}},pt={};const mt="[0-9]+";let ft="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";ft=ft.replace(/u/g,"\\u");const gt="(?:(?![A-Z0-9 $%*+\\-./:]|"+ft+")(?:.|[\r\n]))+";pt.KANJI=new RegExp(ft,"g"),pt.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),pt.BYTE=new RegExp(gt,"g"),pt.NUMERIC=new RegExp(mt,"g"),pt.ALPHANUMERIC=new RegExp("[A-Z $%*+\\-./:]+","g");const yt=new RegExp("^"+ft+"$"),vt=new RegExp("^"+mt+"$"),bt=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");pt.testKanji=function(e){return yt.test(e)},pt.testNumeric=function(e){return vt.test(e)},pt.testAlphanumeric=function(e){return bt.test(e)},function(e){const t=ut,r=pt;e.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},e.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},e.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(e,r){if(!e.ccBits)throw new Error("Invalid mode: "+e);if(!t.isValid(r))throw new Error("Invalid version: "+r);return r>=1&&r<10?e.ccBits[0]:r<27?e.ccBits[1]:e.ccBits[2]},e.getBestModeForData=function(t){return r.testNumeric(t)?e.NUMERIC:r.testAlphanumeric(t)?e.ALPHANUMERIC:r.testKanji(t)?e.KANJI:e.BYTE},e.toString=function(e){if(e&&e.id)return e.id;throw new Error("Invalid mode")},e.isValid=function(e){return e&&e.bit&&e.ccBits},e.from=function(t,r){if(e.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"numeric":return e.NUMERIC;case"alphanumeric":return e.ALPHANUMERIC;case"kanji":return e.KANJI;case"byte":return e.BYTE;default:throw new Error("Unknown mode: "+t)}}(t)}catch(n){return r}}}(ht),function(e){const t=je,r=_e,n=Ve,i=ht,o=ut,s=t.getBCHDigit(7973);function a(e,t){return i.getCharCountIndicator(e,t)+4}function l(e,t){let r=0;return e.forEach(function(e){const n=a(e.mode,t);r+=n+e.getBitsLength()}),r}e.from=function(e,t){return o.isValid(e)?parseInt(e,10):t},e.getCapacity=function(e,n,s){if(!o.isValid(e))throw new Error("Invalid QR Code version");void 0===s&&(s=i.BYTE);const l=8*(t.getSymbolTotalCodewords(e)-r.getTotalCodewordsCount(e,n));if(s===i.MIXED)return l;const d=l-a(s,e);switch(s){case i.NUMERIC:return Math.floor(d/10*3);case i.ALPHANUMERIC:return Math.floor(d/11*2);case i.KANJI:return Math.floor(d/13);case i.BYTE:default:return Math.floor(d/8)}},e.getBestVersionForData=function(t,r){let o;const s=n.from(r,n.M);if(Array.isArray(t)){if(t.length>1)return function(t,r){for(let n=1;n<=40;n++)if(l(t,n)<=e.getCapacity(n,r,i.MIXED))return n}(t,s);if(0===t.length)return 1;o=t[0]}else o=t;return function(t,r,n){for(let i=1;i<=40;i++)if(r<=e.getCapacity(i,n,t))return i}(o.mode,o.getLength(),s)},e.getEncodedBits=function(e){if(!o.isValid(e)||e<7)throw new Error("Invalid QR Code version");let r=e<<12;for(;t.getBCHDigit(r)-s>=0;)r^=7973<<t.getBCHDigit(r)-s;return e<<12|r}}(ct);var wt={};const xt=je,kt=xt.getBCHDigit(1335);wt.getEncodedBits=function(e,t){const r=e.bit<<3|t;let n=r<<10;for(;xt.getBCHDigit(n)-kt>=0;)n^=1335<<xt.getBCHDigit(n)-kt;return 21522^(r<<10|n)};var St={};const Et=ht;function Pt(e){this.mode=Et.NUMERIC,this.data=e.toString()}Pt.getBitsLength=function(e){return 10*Math.floor(e/3)+(e%3?e%3*3+1:0)},Pt.prototype.getLength=function(){return this.data.length},Pt.prototype.getBitsLength=function(){return Pt.getBitsLength(this.data.length)},Pt.prototype.write=function(e){let t,r,n;for(t=0;t+3<=this.data.length;t+=3)r=this.data.substr(t,3),n=parseInt(r,10),e.put(n,10);const i=this.data.length-t;i>0&&(r=this.data.substr(t),n=parseInt(r,10),e.put(n,3*i+1))};var Ct=Pt;const At=ht,It=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function Mt(e){this.mode=At.ALPHANUMERIC,this.data=e}Mt.getBitsLength=function(e){return 11*Math.floor(e/2)+e%2*6},Mt.prototype.getLength=function(){return this.data.length},Mt.prototype.getBitsLength=function(){return Mt.getBitsLength(this.data.length)},Mt.prototype.write=function(e){let t;for(t=0;t+2<=this.data.length;t+=2){let r=45*It.indexOf(this.data[t]);r+=It.indexOf(this.data[t+1]),e.put(r,11)}this.data.length%2&&e.put(It.indexOf(this.data[t]),6)};var Tt=Mt;const Ft=ht;function Lt(e){this.mode=Ft.BYTE,this.data="string"==typeof e?(new TextEncoder).encode(e):new Uint8Array(e)}Lt.getBitsLength=function(e){return 8*e},Lt.prototype.getLength=function(){return this.data.length},Lt.prototype.getBitsLength=function(){return Lt.getBitsLength(this.data.length)},Lt.prototype.write=function(e){for(let t=0,r=this.data.length;t<r;t++)e.put(this.data[t],8)};var Dt=Lt;const Nt=ht,Rt=je;function Bt(e){this.mode=Nt.KANJI,this.data=e}Bt.getBitsLength=function(e){return 13*e},Bt.prototype.getLength=function(){return this.data.length},Bt.prototype.getBitsLength=function(){return Bt.getBitsLength(this.data.length)},Bt.prototype.write=function(e){let t;for(t=0;t<this.data.length;t++){let r=Rt.toSJIS(this.data[t]);if(r>=33088&&r<=40956)r-=33088;else{if(!(r>=57408&&r<=60351))throw new Error("Invalid SJIS character: "+this.data[t]+"\nMake sure your charset is UTF-8");r-=49472}r=192*(r>>>8&255)+(255&r),e.put(r,13)}};var Ut,qt=Bt,zt={exports:{}};Ut={single_source_shortest_paths:function(e,t,r){var n={},i={};i[t]=0;var o,s,a,l,d,c,h,u=Ut.PriorityQueue.make();for(u.push(t,0);!u.empty();)for(a in s=(o=u.pop()).value,l=o.cost,d=e[s]||{})d.hasOwnProperty(a)&&(c=l+d[a],h=i[a],(void 0===i[a]||h>c)&&(i[a]=c,u.push(a,c),n[a]=s));if(void 0!==r&&void 0===i[r]){var p=["Could not find a path from ",t," to ",r,"."].join("");throw new Error(p)}return n},extract_shortest_path_from_predecessor_list:function(e,t){for(var r=[],n=t;n;)r.push(n),e[n],n=e[n];return r.reverse(),r},find_path:function(e,t,r){var n=Ut.single_source_shortest_paths(e,t,r);return Ut.extract_shortest_path_from_predecessor_list(n,r)},PriorityQueue:{make:function(e){var t,r=Ut.PriorityQueue,n={};for(t in e=e||{},r)r.hasOwnProperty(t)&&(n[t]=r[t]);return n.queue=[],n.sorter=e.sorter||r.default_sorter,n},default_sorter:function(e,t){return e.cost-t.cost},push:function(e,t){var r={value:e,cost:t};this.queue.push(r),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return 0===this.queue.length}}},zt.exports=Ut;var jt=zt.exports;!function(e){const t=ht,r=Ct,n=Tt,i=Dt,o=qt,s=pt,a=je,l=jt;function d(e){return unescape(encodeURIComponent(e)).length}function c(e,t,r){const n=[];let i;for(;null!==(i=e.exec(r));)n.push({data:i[0],index:i.index,mode:t,length:i[0].length});return n}function h(e){const r=c(s.NUMERIC,t.NUMERIC,e),n=c(s.ALPHANUMERIC,t.ALPHANUMERIC,e);let i,o;a.isKanjiModeEnabled()?(i=c(s.BYTE,t.BYTE,e),o=c(s.KANJI,t.KANJI,e)):(i=c(s.BYTE_KANJI,t.BYTE,e),o=[]);return r.concat(n,i,o).sort(function(e,t){return e.index-t.index}).map(function(e){return{data:e.data,mode:e.mode,length:e.length}})}function u(e,s){switch(s){case t.NUMERIC:return r.getBitsLength(e);case t.ALPHANUMERIC:return n.getBitsLength(e);case t.KANJI:return o.getBitsLength(e);case t.BYTE:return i.getBitsLength(e)}}function p(e,s){let l;const d=t.getBestModeForData(e);if(l=t.from(s,d),l!==t.BYTE&&l.bit<d.bit)throw new Error('"'+e+'" cannot be encoded with mode '+t.toString(l)+".\n Suggested mode is: "+t.toString(d));switch(l!==t.KANJI||a.isKanjiModeEnabled()||(l=t.BYTE),l){case t.NUMERIC:return new r(e);case t.ALPHANUMERIC:return new n(e);case t.KANJI:return new o(e);case t.BYTE:return new i(e)}}e.fromArray=function(e){return e.reduce(function(e,t){return"string"==typeof t?e.push(p(t,null)):t.data&&e.push(p(t.data,t.mode)),e},[])},e.fromString=function(r,n){const i=function(e){const r=[];for(let n=0;n<e.length;n++){const i=e[n];switch(i.mode){case t.NUMERIC:r.push([i,{data:i.data,mode:t.ALPHANUMERIC,length:i.length},{data:i.data,mode:t.BYTE,length:i.length}]);break;case t.ALPHANUMERIC:r.push([i,{data:i.data,mode:t.BYTE,length:i.length}]);break;case t.KANJI:r.push([i,{data:i.data,mode:t.BYTE,length:d(i.data)}]);break;case t.BYTE:r.push([{data:i.data,mode:t.BYTE,length:d(i.data)}])}}return r}(h(r,a.isKanjiModeEnabled())),o=function(e,r){const n={},i={start:{}};let o=["start"];for(let s=0;s<e.length;s++){const a=e[s],l=[];for(let e=0;e<a.length;e++){const d=a[e],c=""+s+e;l.push(c),n[c]={node:d,lastCount:0},i[c]={};for(let e=0;e<o.length;e++){const s=o[e];n[s]&&n[s].node.mode===d.mode?(i[s][c]=u(n[s].lastCount+d.length,d.mode)-u(n[s].lastCount,d.mode),n[s].lastCount+=d.length):(n[s]&&(n[s].lastCount=d.length),i[s][c]=u(d.length,d.mode)+4+t.getCharCountIndicator(d.mode,r))}}o=l}for(let t=0;t<o.length;t++)i[o[t]].end=0;return{map:i,table:n}}(i,n),s=l.find_path(o.map,"start","end"),c=[];for(let e=1;e<s.length-1;e++)c.push(o.table[s[e]].node);return e.fromArray(function(e){return e.reduce(function(e,t){const r=e.length-1>=0?e[e.length-1]:null;return r&&r.mode===t.mode?(e[e.length-1].data+=t.data,e):(e.push(t),e)},[])}(c))},e.rawSplit=function(t){return e.fromArray(h(t,a.isKanjiModeEnabled()))}}(St);const Ot=je,Ht=Ve,Zt=We,Vt=Qe,Yt=$e,Wt=Xe,Kt=Ge,Qt=_e,$t=dt,Xt=ct,Jt=wt,Gt=ht,_t=St;function er(e,t,r){const n=e.size,i=Jt.getEncodedBits(t,r);let o,s;for(o=0;o<15;o++)s=1==(i>>o&1),o<6?e.set(o,8,s,!0):o<8?e.set(o+1,8,s,!0):e.set(n-15+o,8,s,!0),o<8?e.set(8,n-o-1,s,!0):o<9?e.set(8,15-o-1+1,s,!0):e.set(8,15-o-1,s,!0);e.set(n-8,8,1,!0)}function tr(e,t,r){const n=new Zt;r.forEach(function(t){n.put(t.mode.bit,4),n.put(t.getLength(),Gt.getCharCountIndicator(t.mode,e)),t.write(n)});const i=8*(Ot.getSymbolTotalCodewords(e)-Qt.getTotalCodewordsCount(e,t));for(n.getLengthInBits()+4<=i&&n.put(0,4);n.getLengthInBits()%8!=0;)n.putBit(0);const o=(i-n.getLengthInBits())/8;for(let s=0;s<o;s++)n.put(s%2?17:236,8);return function(e,t,r){const n=Ot.getSymbolTotalCodewords(t),i=Qt.getTotalCodewordsCount(t,r),o=n-i,s=Qt.getBlocksCount(t,r),a=n%s,l=s-a,d=Math.floor(n/s),c=Math.floor(o/s),h=c+1,u=d-c,p=new $t(u);let m=0;const f=new Array(s),g=new Array(s);let y=0;const v=new Uint8Array(e.buffer);for(let S=0;S<s;S++){const e=S<l?c:h;f[S]=v.slice(m,m+e),g[S]=p.encode(f[S]),m+=e,y=Math.max(y,e)}const b=new Uint8Array(n);let w,x,k=0;for(w=0;w<y;w++)for(x=0;x<s;x++)w<f[x].length&&(b[k++]=f[x][w]);for(w=0;w<u;w++)for(x=0;x<s;x++)b[k++]=g[x][w];return b}(n,e,t)}function rr(e,t,r,n){let i;if(Array.isArray(e))i=_t.fromArray(e);else{if("string"!=typeof e)throw new Error("Invalid data");{let n=t;if(!n){const t=_t.rawSplit(e);n=Xt.getBestVersionForData(t,r)}i=_t.fromString(e,n||40)}}const o=Xt.getBestVersionForData(i,r);if(!o)throw new Error("The amount of data is too big to be stored in a QR Code");if(t){if(t<o)throw new Error("\nThe chosen QR Code version cannot contain this amount of data.\nMinimum version required to store current data is: "+o+".\n")}else t=o;const s=tr(t,r,i),a=Ot.getSymbolSize(t),l=new Vt(a);return function(e,t){const r=e.size,n=Wt.getPositions(t);for(let i=0;i<n.length;i++){const t=n[i][0],o=n[i][1];for(let n=-1;n<=7;n++)if(!(t+n<=-1||r<=t+n))for(let i=-1;i<=7;i++)o+i<=-1||r<=o+i||(n>=0&&n<=6&&(0===i||6===i)||i>=0&&i<=6&&(0===n||6===n)||n>=2&&n<=4&&i>=2&&i<=4?e.set(t+n,o+i,!0,!0):e.set(t+n,o+i,!1,!0))}}(l,t),function(e){const t=e.size;for(let r=8;r<t-8;r++){const t=r%2==0;e.set(r,6,t,!0),e.set(6,r,t,!0)}}(l),function(e,t){const r=Yt.getPositions(t);for(let n=0;n<r.length;n++){const t=r[n][0],i=r[n][1];for(let r=-2;r<=2;r++)for(let n=-2;n<=2;n++)-2===r||2===r||-2===n||2===n||0===r&&0===n?e.set(t+r,i+n,!0,!0):e.set(t+r,i+n,!1,!0)}}(l,t),er(l,r,0),t>=7&&function(e,t){const r=e.size,n=Xt.getEncodedBits(t);let i,o,s;for(let a=0;a<18;a++)i=Math.floor(a/3),o=a%3+r-8-3,s=1==(n>>a&1),e.set(i,o,s,!0),e.set(o,i,s,!0)}(l,t),function(e,t){const r=e.size;let n=-1,i=r-1,o=7,s=0;for(let a=r-1;a>0;a-=2)for(6===a&&a--;;){for(let r=0;r<2;r++)if(!e.isReserved(i,a-r)){let n=!1;s<t.length&&(n=1==(t[s]>>>o&1)),e.set(i,a-r,n),o--,-1===o&&(s++,o=7)}if(i+=n,i<0||r<=i){i-=n,n=-n;break}}}(l,s),isNaN(n)&&(n=Kt.getBestMask(l,er.bind(null,l,r))),Kt.applyMask(n,l),er(l,r,n),{modules:l,version:t,errorCorrectionLevel:r,maskPattern:n,segments:i}}ze.create=function(e,t){if(void 0===e||""===e)throw new Error("No input text");let r,n,i=Ht.M;return void 0!==t&&(i=Ht.from(t.errorCorrectionLevel,Ht.M),r=Xt.from(t.version),n=Kt.from(t.maskPattern),t.toSJISFunc&&Ot.setToSJISFunction(t.toSJISFunc)),rr(e,r,i,n)};var nr={},ir={};!function(e){function t(e){if("number"==typeof e&&(e=e.toString()),"string"!=typeof e)throw new Error("Color should be defined as hex string");let t=e.slice().replace("#","").split("");if(t.length<3||5===t.length||t.length>8)throw new Error("Invalid hex color: "+e);3!==t.length&&4!==t.length||(t=Array.prototype.concat.apply([],t.map(function(e){return[e,e]}))),6===t.length&&t.push("F","F");const r=parseInt(t.join(""),16);return{r:r>>24&255,g:r>>16&255,b:r>>8&255,a:255&r,hex:"#"+t.slice(0,6).join("")}}e.getOptions=function(e){e||(e={}),e.color||(e.color={});const r=void 0===e.margin||null===e.margin||e.margin<0?4:e.margin,n=e.width&&e.width>=21?e.width:void 0,i=e.scale||4;return{width:n,scale:n?4:i,margin:r,color:{dark:t(e.color.dark||"#000000ff"),light:t(e.color.light||"#ffffffff")},type:e.type,rendererOpts:e.rendererOpts||{}}},e.getScale=function(e,t){return t.width&&t.width>=e+2*t.margin?t.width/(e+2*t.margin):t.scale},e.getImageWidth=function(t,r){const n=e.getScale(t,r);return Math.floor((t+2*r.margin)*n)},e.qrToImageData=function(t,r,n){const i=r.modules.size,o=r.modules.data,s=e.getScale(i,n),a=Math.floor((i+2*n.margin)*s),l=n.margin*s,d=[n.color.light,n.color.dark];for(let e=0;e<a;e++)for(let r=0;r<a;r++){let c=4*(e*a+r),h=n.color.light;if(e>=l&&r>=l&&e<a-l&&r<a-l){h=d[o[Math.floor((e-l)/s)*i+Math.floor((r-l)/s)]?1:0]}t[c++]=h.r,t[c++]=h.g,t[c++]=h.b,t[c]=h.a}}}(ir),function(e){const t=ir;e.render=function(e,r,n){let i=n,o=r;void 0!==i||r&&r.getContext||(i=r,r=void 0),r||(o=function(){try{return document.createElement("canvas")}catch(e){throw new Error("You need to specify a canvas element")}}()),i=t.getOptions(i);const s=t.getImageWidth(e.modules.size,i),a=o.getContext("2d"),l=a.createImageData(s,s);return t.qrToImageData(l.data,e,i),function(e,t,r){e.clearRect(0,0,t.width,t.height),t.style||(t.style={}),t.height=r,t.width=r,t.style.height=r+"px",t.style.width=r+"px"}(a,o,s),a.putImageData(l,0,0),o},e.renderToDataURL=function(t,r,n){let i=n;void 0!==i||r&&r.getContext||(i=r,r=void 0),i||(i={});const o=e.render(t,r,i),s=i.type||"image/png",a=i.rendererOpts||{};return o.toDataURL(s,a.quality)}}(nr);var or={};const sr=ir;function ar(e,t){const r=e.a/255,n=t+'="'+e.hex+'"';return r<1?n+" "+t+'-opacity="'+r.toFixed(2).slice(1)+'"':n}function lr(e,t,r){let n=e+t;return void 0!==r&&(n+=" "+r),n}or.render=function(e,t,r){const n=sr.getOptions(t),i=e.modules.size,o=e.modules.data,s=i+2*n.margin,a=n.color.light.a?"<path "+ar(n.color.light,"fill")+' d="M0 0h'+s+"v"+s+'H0z"/>':"",l="<path "+ar(n.color.dark,"stroke")+' d="'+function(e,t,r){let n="",i=0,o=!1,s=0;for(let a=0;a<e.length;a++){const l=Math.floor(a%t),d=Math.floor(a/t);l||o||(o=!0),e[a]?(s++,a>0&&l>0&&e[a-1]||(n+=o?lr("M",l+r,.5+d+r):lr("m",i,0),i=0,o=!1),l+1<t&&e[a+1]||(n+=lr("h",s),s=0)):i++}return n}(o,i,n.margin)+'"/>',d='viewBox="0 0 '+s+" "+s+'"',c='<svg xmlns="http://www.w3.org/2000/svg" '+(n.width?'width="'+n.width+'" height="'+n.width+'" ':"")+d+' shape-rendering="crispEdges">'+a+l+"</svg>\n";return"function"==typeof r&&r(null,c),c};const dr=function(){return"function"==typeof Promise&&Promise.prototype&&Promise.prototype.then},cr=ze,hr=nr,ur=or;function pr(e,t,r,n,i){const o=[].slice.call(arguments,1),s=o.length,a="function"==typeof o[s-1];if(!a&&!dr())throw new Error("Callback required as last argument");if(!a){if(s<1)throw new Error("Too few arguments provided");return 1===s?(r=t,t=n=void 0):2!==s||t.getContext||(n=r,r=t,t=void 0),new Promise(function(i,o){try{const o=cr.create(r,n);i(e(o,t,n))}catch(s){o(s)}})}if(s<2)throw new Error("Too few arguments provided");2===s?(i=r,r=t,t=n=void 0):3===s&&(t.getContext&&void 0===i?(i=n,n=void 0):(i=n,n=r,r=t,t=void 0));try{const o=cr.create(r,n);i(null,e(o,t,n))}catch(l){i(l)}}qe.create=cr.create,qe.toCanvas=pr.bind(null,hr.render),qe.toDataURL=pr.bind(null,hr.renderToDataURL),qe.toString=pr.bind(null,function(e,t,r){return ur.render(e,r)});var mr=Object.defineProperty,fr=Object.getOwnPropertyDescriptor,gr=(e,t,r,n)=>{for(var i,o=n>1?void 0:n?fr(t,r):t,s=e.length-1;s>=0;s--)(i=e[s])&&(o=(n?i(t,r,o):i(o))||o);return n&&o&&mr(t,r,o),o};let yr=class extends se{constructor(){super(...arguments),this.currentState={status:"idle"},this.selectedMethod=null,this.cardFormData={cardNumber:"",expiry:"",cvv:"",cardholderName:""},this.formErrors={},this.paymentData=null,this.feesExpanded=!1,this.isInitializing=!0,this.cardBrand="unknown",this.paymentLocked=!1,this.show3DSModal=!1,this.showQRModal=!1,this.nextActionUrl=null,this.qrCode=null,this.qrCodeDataUrl=null,this.qrAutoResumeTimer=null,this.qrPollingInProgress=!1,this.sdk=null,this.isInitialized=!1,this.cardNumberCleave=null,this.expiryCleave=null,this.leaveEventsCounter=0,this.previousState=null,this.handle3DSPostMessage=e=>{"ON_AWX_3DS_START_PAGE_LEAVE"===e.data&&(this.leaveEventsCounter++,this.leaveEventsCounter>1&&this.handle3DSComplete())}}connectedCallback(){super.connectedCallback(),window.addEventListener("message",this.handle3DSPostMessage),this.addEventListener("force-close-3ds-modal",()=>{this.show3DSModal&&(this.show3DSModal=!1,this.nextActionUrl=null,this.leaveEventsCounter=0)})}firstUpdated(){this.initializeSDK()}disconnectedCallback(){var e;super.disconnectedCallback(),null==(e=this.sdk)||e.destroy(),this.isInitialized=!1,this.destroyCleave(),window.removeEventListener("message",this.handle3DSPostMessage),null!==this.qrAutoResumeTimer&&clearTimeout(this.qrAutoResumeTimer)}setupCleave(){setTimeout(()=>{var e,t;const r=null==(e=this.shadowRoot)?void 0:e.querySelector("#cardNumber"),n=null==(t=this.shadowRoot)?void 0:t.querySelector("#expiry");r&&!this.cardNumberCleave&&(this.cardNumberCleave=new Ue(r,{creditCard:!0,delimiter:" ",onCreditCardTypeChanged:e=>{this.cardBrand={visa:"visa",mastercard:"mastercard",amex:"amex",discover:"discover"}[e]||"unknown"}})),n&&!this.expiryCleave&&(this.expiryCleave=new Ue(n,{date:!0,datePattern:["m","y"],delimiter:"/"}))},50)}destroyCleave(){this.cardNumberCleave&&(this.cardNumberCleave.destroy(),this.cardNumberCleave=null),this.expiryCleave&&(this.expiryCleave.destroy(),this.expiryCleave=null)}getFilteredPaymentMethods(){const e=("ready"===this.currentState.status||"processing"===this.currentState.status||"requires_action"===this.currentState.status)&&this.currentState.availableMethods||[];return 0===e.length?[]:e.filter(e=>{var t;return!(null==(t=this.excludePaymentMethods)?void 0:t.includes(e.id))}).map(e=>{if(e.id===pe){if("SGD"!==this.getTransactionData().currency)return{id:e.id,enabled:!1,disabledReason:"PayNow is only available for SGD currency"}}return{id:e.id,enabled:!0}})}initializeSDK(){var e;this.config&&this.adapters&&this.amount&&this.currency&&this.orderId?this.firstName&&"string"==typeof this.firstName&&""!==this.firstName.trim()?this.lastName&&"string"==typeof this.lastName&&""!==this.lastName.trim()?this.email&&"string"==typeof this.email&&""!==this.email.trim()?this.isInitialized||(this.isInitialized=!0,null==(e=this.sdk)||e.destroy(),this.sdk=new ke(this.config,this.adapters),this.sdk.subscribe(e=>{var t;"requires_action"===(null==(t=this.previousState)?void 0:t.status)&&"requires_action"!==e.status&&this.show3DSModal&&(this.show3DSModal=!1,this.nextActionUrl=null,this.leaveEventsCounter=0,this.sdk&&this.sdk.resumePolling()),this.previousState=e,this.currentState=e,this.dispatchEvent(new CustomEvent("state-change",{detail:{state:e},bubbles:!0,composed:!0}))}),this.sdk.on("payment_succeeded",e=>{this.dispatchEvent(new CustomEvent("payment-success",{detail:{paymentIntentId:e.payload.paymentIntent.id},bubbles:!0,composed:!0}))}),this.sdk.on("payment_failed",e=>{this.dispatchEvent(new CustomEvent("payment-error",{detail:{error:e.payload.error.message},bubbles:!0,composed:!0}))}),this.sdk.on("initialized",e=>{this.paymentData=e.payload.paymentData,this.isInitializing=!1}),this.sdk.on("payment_requires_action",e=>{this.nextActionUrl=e.payload.actionUrl,this.show3DSModal=!0,this.paymentLocked=!0,this.leaveEventsCounter=0}),this.sdk.on("poll_started",()=>{const e="undefined"!=typeof window&&"ReactNativeWebView"in window;this.show3DSModal&&e&&(this.show3DSModal=!1,this.nextActionUrl=null,this.leaveEventsCounter=0,this.sdk&&this.sdk.resumePolling())}),this.sdk.on("qr_code_received",async e=>{if(this.qrCode=e.payload.qrCode,!this.qrCode)return;const t=this.qrCode.startsWith("http://")||this.qrCode.startsWith("https://"),r=this.qrCode.startsWith("data:image");if(t||r)this.qrCodeDataUrl=this.qrCode;else try{const e=await qe.toDataURL(this.qrCode,{width:300,margin:2,color:{dark:"#000000",light:"#FFFFFF"}});this.qrCodeDataUrl=e}catch(n){this.qrCodeDataUrl=null}this.showQRModal=!0,this.paymentLocked=!0,this.qrAutoResumeTimer=window.setTimeout(()=>{this.handleQRScanned()},1e4)}),this.sdk.initialize({amount:this.amount,currency:this.currency,orderId:this.orderId})):console.error("OnePayment: email is required and must be a non-empty string. Customer information is required for all payment methods."):console.error("OnePayment: lastName is required and must be a non-empty string. Customer information is required for all payment methods."):console.error("OnePayment: firstName is required and must be a non-empty string. Customer information is required for all payment methods."):console.error("OnePayment: Missing required props. Ensure config, adapters, amount, currency, and orderId are provided.")}handleMethodSelect(e){this.paymentLocked||(this.selectedMethod=e)}handleQRScanned(){null!==this.qrAutoResumeTimer&&(clearTimeout(this.qrAutoResumeTimer),this.qrAutoResumeTimer=null),this.qrPollingInProgress=!0,this.sdk&&this.sdk.resumePolling()}handle3DSComplete(){this.show3DSModal=!1,this.nextActionUrl=null,this.leaveEventsCounter=0,this.sdk&&this.sdk.resumePolling()}handleInputChange(e,t){if(this.cardFormData={...this.cardFormData,[e]:t},this.formErrors[e]){const t={...this.formErrors};delete t[e],this.formErrors=t}}luhnCheck(e){const t=e.replace(/\s/g,"");if(!/^\d+$/.test(t))return!1;let r=0,n=!1;for(let i=t.length-1;i>=0;i--){const e=t.charAt(i);if(!e)continue;let o=parseInt(e,10);n&&(o*=2,o>9&&(o-=9)),r+=o,n=!n}return r%10==0}validateExpiry(e){const t=e.trim();if(!/^\d{1,2}\/\d{2}$/.test(t))return{valid:!1,error:"Invalid format (MM/YY)"};const r=t.split("/"),n=r[0],i=r[1];if(!n||!i)return{valid:!1,error:"Invalid format (MM/YY)"};const o=parseInt(n,10);if(o<1||o>12)return{valid:!1,error:"Invalid month (01-12)"};const s=new Date,a=s.getFullYear(),l=s.getMonth()+1;let d;if(2!==i.length)return{valid:!1,error:"Invalid year format"};{const e=parseInt(i,10),t=a%100,r=100*Math.floor(a/100);if(e<t){d=t-e>80?r+100+e:r+e}else d=r+e}return d<a||d===a&&o<l?{valid:!1,error:"Card has expired"}:{valid:!0}}validateCardForm(){const e={};if(this.cardFormData.cardNumber.trim()?this.luhnCheck(this.cardFormData.cardNumber)||(e.cardNumber="Invalid card number"):e.cardNumber="Please enter card number",this.cardFormData.expiry.trim()){const t=this.validateExpiry(this.cardFormData.expiry);t.valid||(e.expiry=t.error)}else e.expiry="Please enter expiry date";return this.cardFormData.cvv.trim()||(e.cvv="Please enter CVV"),this.cardFormData.cardholderName.trim()||(e.cardholderName="Please enter cardholder name"),this.formErrors=e,0===Object.keys(e).length}handleCardPayment(){if(!this.sdk||"ready"!==this.currentState.status)return;if(!this.validateCardForm())return;this.paymentLocked=!0;const e=this.cardFormData.expiry.split("/"),t=(e[0]||"").trim(),r=`20${(e[1]||"").trim().substring(0,2)}`;this.sdk.submitPayment(ue,{cardNumber:this.cardFormData.cardNumber.replace(/\s/g,""),expiryMonth:t,expiryYear:r,cvv:this.cardFormData.cvv,firstName:this.firstName,lastName:this.lastName,email:this.email})}handlePayNowPayment(){this.sdk&&"ready"===this.currentState.status&&(this.paymentLocked=!0,this.sdk.submitPayment(pe,{firstName:this.firstName,lastName:this.lastName,email:this.email}))}getTransactionData(){var e;const t=this.paymentData;if(!t)return{currency:this.currency,charge:this.amount,fees:0,feeBreakdown:{transactionFee:0,merchantFee:0,merchantFeeLabel:""},netAmount:this.amount};const r=null==(e=t.fees)?void 0:e.find(e=>"merchant"===e.owner),n="number"==typeof t.totalFee?t.totalFee:Number(t.totalFee)||0,i="number"==typeof t.totalSystemFee?t.totalSystemFee:Number(t.totalSystemFee)||0,o=null!=t.initialAmount?"number"==typeof t.initialAmount?t.initialAmount:Number(t.initialAmount)||0:this.amount,s=null!=t.customerAmount?"number"==typeof t.customerAmount?t.customerAmount:Number(t.customerAmount)||0:o,a=n-i;return{currency:t.currency||this.currency,charge:o,fees:n,feeBreakdown:{transactionFee:a,merchantFee:a,merchantFeeLabel:(r?"percentage"===r.type?`${r.value}%`:`${r.value} ${r.currency}`:"")||"0%"},netAmount:s}}renderTransactionDetailsSkeleton(){return H`
12
+ <div class="skeleton-transaction">
13
+ <div class="skeleton skeleton-title"></div>
14
+ <div class="skeleton-row">
15
+ <div class="skeleton skeleton-label"></div>
16
+ <div class="skeleton skeleton-value"></div>
17
+ </div>
18
+ <div class="skeleton-row">
19
+ <div class="skeleton skeleton-label"></div>
20
+ <div class="skeleton skeleton-value"></div>
21
+ </div>
22
+ <div class="skeleton-row">
23
+ <div class="skeleton skeleton-label"></div>
24
+ <div class="skeleton skeleton-value"></div>
25
+ </div>
26
+ <div class="skeleton-divider"></div>
27
+ <div class="skeleton-net-row">
28
+ <div class="skeleton skeleton-net-label"></div>
29
+ <div class="skeleton skeleton-net-value"></div>
30
+ </div>
31
+ </div>
32
+ `}renderPaymentMethodsSkeleton(){return H`
33
+ <div>
34
+ <div class="skeleton-method">
35
+ <div class="skeleton skeleton-radio"></div>
36
+ <div class="skeleton skeleton-icon"></div>
37
+ <div class="skeleton skeleton-method-name"></div>
38
+ </div>
39
+ <div class="skeleton-method">
40
+ <div class="skeleton skeleton-radio"></div>
41
+ <div class="skeleton skeleton-icon"></div>
42
+ <div class="skeleton skeleton-method-name"></div>
43
+ </div>
44
+ </div>
45
+ `}renderSkeletons(){const e=[this.width?`--one-payment-width: ${this.width}`:"",this.maxWidth?`--one-payment-max-width: ${this.maxWidth}`:""].filter(Boolean).join("; ");return H`
46
+ <div class="payment-element" style="${e}">
47
+ ${this.renderTransactionDetailsSkeleton()}
48
+ <div class="header">Select a payment method</div>
49
+ ${this.renderPaymentMethodsSkeleton()}
50
+ </div>
51
+ `}renderTransactionDetails(){const e=this.getTransactionData(),t=e=>e.toFixed(2);return H`
52
+ <div class="transaction-details">
53
+ <h2 class="transaction-title">Transaction details</h2>
54
+
55
+ <div class="details-grid">
56
+ <div class="details-row">
57
+ <span class="details-label">Currency:</span>
58
+ <span class="details-value">${e.currency}</span>
59
+ </div>
60
+
61
+ <div class="details-row">
62
+ <span class="details-label">Charge:</span>
63
+ <span class="details-value">${t(e.charge)}</span>
64
+ </div>
65
+
66
+ <div class="details-row">
67
+ <button
68
+ class="fees-toggle"
69
+ @click=${()=>this.feesExpanded=!this.feesExpanded}
70
+ type="button"
71
+ aria-label=${this.feesExpanded?"Collapse fees":"Expand fees"}
72
+ >
73
+ <span class="details-label"> Fees ${this.feesExpanded?"∧":"∨"} </span>
74
+ </button>
75
+ <span class="details-value">${t(e.fees)}</span>
76
+ </div>
77
+
78
+ <div
79
+ class="fee-breakdown"
80
+ style=${`\n max-height: ${this.feesExpanded?"200px":"0"};\n opacity: ${this.feesExpanded?1:0};\n margin-top: ${this.feesExpanded?"0.625rem":"0"};\n `}
81
+ >
82
+ ${e.feeBreakdown?H`
83
+ <div class="fee-breakdown-inner">
84
+ <div class="breakdown-row">
85
+ <span class="breakdown-label">Transaction fee:</span>
86
+ <span class="breakdown-value">
87
+ ${t(e.feeBreakdown.transactionFee)}
88
+ </span>
89
+ </div>
90
+ <div class="breakdown-row">
91
+ <span class="breakdown-label">
92
+ Merchant
93
+ fee${e.feeBreakdown.merchantFeeLabel?` (${e.feeBreakdown.merchantFeeLabel})`:""}:
94
+ </span>
95
+ <span class="breakdown-value">
96
+ ${t(e.feeBreakdown.merchantFee)}
97
+ </span>
98
+ </div>
99
+ </div>
100
+ `:""}
101
+ </div>
102
+ </div>
103
+
104
+ <div class="transaction-divider"></div>
105
+
106
+ <div class="net-amount-row">
107
+ <span class="net-label">Net amount:</span>
108
+ <span class="net-value">${t(e.netAmount)}</span>
109
+ </div>
110
+ </div>
111
+ `}renderCardForm(){setTimeout(()=>this.setupCleave(),0);const e="amex"===this.cardBrand?4:3,t="amex"===this.cardBrand?"1234":"123";return H`
112
+ <div class="card-form">
113
+ <h4 class="form-title">Card Information</h4>
114
+ <div class="form-fields">
115
+ <!-- Card Number -->
116
+ <div class="form-group">
117
+ <label class="form-label">Card Number</label>
118
+ <input
119
+ id="cardNumber"
120
+ type="text"
121
+ class="input ${this.formErrors.cardNumber?"input-error":""}"
122
+ placeholder="1234 1234 1234 1234"
123
+ .value=${this.cardFormData.cardNumber}
124
+ @input=${e=>this.handleInputChange("cardNumber",e.target.value)}
125
+ />
126
+ ${this.formErrors.cardNumber?H`<div class="error-message">${this.formErrors.cardNumber}</div>`:""}
127
+ </div>
128
+
129
+ <!-- Single Expiry Field -->
130
+ <div class="form-group">
131
+ <label class="form-label">Expiry Date</label>
132
+ <input
133
+ id="expiry"
134
+ type="text"
135
+ class="input ${this.formErrors.expiry?"input-error":""}"
136
+ placeholder="MM/YY"
137
+ .value=${this.cardFormData.expiry}
138
+ @input=${e=>{const t=e.target;setTimeout(()=>{this.handleInputChange("expiry",t.value)},0)}}
139
+ />
140
+ ${this.formErrors.expiry?H`<div class="error-message">${this.formErrors.expiry}</div>`:""}
141
+ </div>
142
+
143
+ <!-- CVV -->
144
+ <div class="form-group">
145
+ <label class="form-label">CVV</label>
146
+ <input
147
+ type="text"
148
+ class="input ${this.formErrors.cvv?"input-error":""}"
149
+ placeholder="${t}"
150
+ maxlength="${e}"
151
+ .value=${this.cardFormData.cvv}
152
+ @input=${e=>{const t=e.target.value.replace(/\D/g,"");e.target.value=t,this.handleInputChange("cvv",t)}}
153
+ />
154
+ ${this.formErrors.cvv?H`<div class="error-message">${this.formErrors.cvv}</div>`:""}
155
+ </div>
156
+
157
+ <!-- Cardholder Name -->
158
+ <div class="form-group">
159
+ <label class="form-label">Name on card</label>
160
+ <input
161
+ type="text"
162
+ class="input ${this.formErrors.cardholderName?"input-error":""}"
163
+ placeholder="JOHN DOE"
164
+ .value=${this.cardFormData.cardholderName}
165
+ @input=${e=>{const t=e.target.value.replace(/[^A-Za-z\s]/g,"").toUpperCase();e.target.value=t,this.handleInputChange("cardholderName",t)}}
166
+ />
167
+ ${this.formErrors.cardholderName?H`<div class="error-message">${this.formErrors.cardholderName}</div>`:""}
168
+ </div>
169
+ </div>
170
+
171
+ <div class="submit-section">
172
+ <button
173
+ class="pay-button ${"processing"===this.currentState.status||"requires_action"===this.currentState.status?"loading":""}"
174
+ @click=${this.handleCardPayment}
175
+ ?disabled=${"processing"===this.currentState.status||"requires_action"===this.currentState.status}
176
+ >
177
+ ${"processing"===this.currentState.status||"requires_action"===this.currentState.status?"Processing...":`Pay ${this.currency} ${this.amount.toFixed(2)}`}
178
+ </button>
179
+ </div>
180
+ </div>
181
+ `}renderPayNowContent(){return this.showQRModal&&this.qrCodeDataUrl?H`
182
+ <div class="paynow-container">
183
+ <!-- Render generated QR code image -->
184
+ <div class="qr-code-wrapper">
185
+ <img src="${this.qrCodeDataUrl}" alt="QR Code" class="qr-canvas" />
186
+ </div>
187
+
188
+ <button
189
+ class="scanned-button ${this.qrPollingInProgress?"loading":""}"
190
+ @click=${()=>{this.handleQRScanned()}}
191
+ ?disabled=${this.qrPollingInProgress}
192
+ >
193
+ ${this.qrPollingInProgress?"Verifying...":"I Have Scanned the QR Code"}
194
+ </button>
195
+ </div>
196
+ `:H`
197
+ <div class="paynow-container">
198
+ <div class="paynow-instructions">
199
+ <h3 class="instructions-title">How to Pay by QR:</h3>
200
+
201
+ <div class="instruction-steps">
202
+ <div class="instruction-step">
203
+ <div class="step-number">1</div>
204
+ <p class="step-text"><strong>"Pay"</strong> will take you to payment details.</p>
205
+ </div>
206
+
207
+ <div class="instruction-step">
208
+ <div class="step-number">2</div>
209
+ <p class="step-text">Scan the QR code with your bank app.</p>
210
+ </div>
211
+ </div>
212
+
213
+ <div class="submit-section">
214
+ <button
215
+ class="pay-button ${"processing"===this.currentState.status||"requires_action"===this.currentState.status?"loading":""}"
216
+ @click=${this.handlePayNowPayment}
217
+ ?disabled=${"processing"===this.currentState.status||"requires_action"===this.currentState.status}
218
+ >
219
+ ${"processing"===this.currentState.status||"requires_action"===this.currentState.status?"Processing...":`Pay ${this.currency} ${this.amount.toFixed(2)}`}
220
+ </button>
221
+ </div>
222
+ </div>
223
+ </div>
224
+ `}render3DSModal(){return this.show3DSModal&&this.nextActionUrl?H`
225
+ <div class="modal-overlay">
226
+ <div class="modal-content iframe-modal">
227
+ <iframe
228
+ class="modal-iframe"
229
+ src="${this.nextActionUrl}"
230
+ title="3D Secure Authentication"
231
+ allow="payment"
232
+ ></iframe>
233
+ </div>
234
+ </div>
235
+ `:null}renderStatusBlock(){if("succeeded"===this.currentState.status)return H`
236
+ <div class="result-card success">
237
+ <div class="result-icon-wrapper">
238
+ <div class="result-icon">✓</div>
239
+ </div>
240
+ <h2 class="result-title">Payment Successful</h2>
241
+ <p class="result-message">
242
+ Your payment of ${this.currency} ${this.amount.toFixed(2)} has been processed
243
+ successfully.
244
+ </p>
245
+ </div>
246
+ `;if("failed"===this.currentState.status){const e=this.currentState.error?this.currentState.error.message:"An error occurred while processing your payment";return H`
247
+ <div class="result-card error">
248
+ <div class="result-icon-wrapper">
249
+ <div class="result-icon">✕</div>
250
+ </div>
251
+ <h2 class="result-title">Payment Failed</h2>
252
+ <p class="result-message">${e}</p>
253
+ <button class="retry-button" @click=${()=>window.location.reload()}>Try Again</button>
254
+ </div>
255
+ `}return null}render(){if(("idle"===this.currentState.status||"initializing"===this.currentState.status)&&this.isInitializing&&!this.paymentData)return this.renderSkeletons();const e="succeeded"===this.currentState.status||"failed"===this.currentState.status,t=!e,r=this.getFilteredPaymentMethods();if(r.length>0){const e=r.some(e=>e.id===this.selectedMethod&&e.enabled);if(!this.selectedMethod||!e){const e=r.find(e=>e.enabled);e&&this.selectedMethod!==e.id&&(this.selectedMethod=e.id)}}const n=[this.width?`--one-payment-width: ${this.width}`:"",this.maxWidth?`--one-payment-max-width: ${this.maxWidth}`:""].filter(Boolean).join("; ");return H`
256
+ <div class="payment-element" style="${n}">
257
+ ${this.renderTransactionDetails()}
258
+ ${t?H`
259
+ <div class="header">Select a payment method</div>
260
+ <div class="payment-methods-list">
261
+ ${r.map(e=>{const t=this.selectedMethod===e.id,r=!e.enabled||this.paymentLocked&&!t;return H`
262
+ <div
263
+ class="payment-method-item"
264
+ ${e.disabledReason?H`data-tooltip="${e.disabledReason}"`:""}
265
+ >
266
+ <div
267
+ class="method-header ${t?"selected":""} ${r?"disabled":""}"
268
+ @click=${()=>e.enabled&&this.handleMethodSelect(e.id)}
269
+ >
270
+ <input
271
+ type="radio"
272
+ class="radio"
273
+ name="payment-method"
274
+ .checked=${t}
275
+ ?disabled=${r}
276
+ @click=${e=>e.stopPropagation()}
277
+ />
278
+ <span class="method-name">${n=e.id,n===ue?"Card":"PayNow"}</span>
279
+ ${(e=>e===ue?H`
280
+ <div class="method-icon-right">
281
+ <svg
282
+ width="24"
283
+ height="24"
284
+ viewBox="0 0 24 24"
285
+ xmlns="http://www.w3.org/2000/svg"
286
+ >
287
+ <path
288
+ fill="none"
289
+ d="M22 10H2M11 14H6M2 8.2L2 15.8C2 16.9201 2 17.4802 2.21799 17.908C2.40973 18.2843 2.71569 18.5903 3.09202 18.782C3.51984 19 4.07989 19 5.2 19L18.8 19C19.9201 19 20.4802 19 20.908 18.782C21.2843 18.5903 21.5903 18.2843 21.782 17.908C22 17.4802 22 16.9201 22 15.8V8.2C22 7.0799 22 6.51984 21.782 6.09202C21.5903 5.7157 21.2843 5.40974 20.908 5.21799C20.4802 5 19.9201 5 18.8 5L5.2 5C4.0799 5 3.51984 5 3.09202 5.21799C2.7157 5.40973 2.40973 5.71569 2.21799 6.09202C2 6.51984 2 7.07989 2 8.2Z"
290
+ stroke="currentColor"
291
+ stroke-width="2"
292
+ stroke-linecap="round"
293
+ stroke-linejoin="round"
294
+ />
295
+ </svg>
296
+ </div>
297
+ `:e===pe?H`
298
+ <div class="method-icon-right">
299
+ <img src="${"data:image/png;base64,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"}" alt="PayNow" />
300
+ </div>
301
+ `:null)(e.id)}
302
+ </div>
303
+ ${t?H`<div class="method-content">
304
+ ${e.id===ue?this.renderCardForm():this.renderPayNowContent()}
305
+ </div>`:""}
306
+ </div>
307
+ `;var n})}
308
+ </div>
309
+ `:""}
310
+ ${e?this.renderStatusBlock():""}
311
+ </div>
312
+
313
+ ${this.render3DSModal()}
314
+ `}};async function vr(e){var t;try{const r=await e.json();return r.message||(null==(t=r.error)?void 0:t.message)||r.error||e.statusText}catch{return e.statusText}}yr.styles=((e,...t)=>{const r=1===e.length?e[0]:t.reduce((t,r,n)=>t+(e=>{if(!0===e._$cssResult$)return e.cssText;if("number"==typeof e)return e;throw Error("Value passed to 'css' function must be a 'css' function result: "+e+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(r)+e[n+1],e[0]);return new s(r,e,i)})`
315
+ :host {
316
+ display: block;
317
+ font-family:
318
+ -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
319
+ box-sizing: border-box;
320
+ }
321
+
322
+ * {
323
+ box-sizing: border-box;
324
+ }
325
+
326
+ /* Payment Element Container */
327
+ .payment-element {
328
+ width: var(--one-payment-width, 100%);
329
+ max-width: var(--one-payment-max-width, none);
330
+ min-width: 320px;
331
+ }
332
+
333
+ .header {
334
+ text-align: left;
335
+ padding: 1rem 0;
336
+ color: #6b7280;
337
+ font-size: 0.875rem;
338
+ font-weight: 400;
339
+ border-bottom: 1px solid #e5e7eb;
340
+ margin-bottom: 1rem;
341
+ }
342
+
343
+ .payment-methods-list {
344
+ display: flex;
345
+ flex-direction: column;
346
+ gap: 1rem;
347
+ margin-top: 1rem;
348
+ width: 100%;
349
+ }
350
+
351
+ .payment-method-item {
352
+ border: 1px solid #e5e7eb;
353
+ border-radius: 0.5rem;
354
+ overflow: visible;
355
+ background: #ffffff;
356
+ width: 100%;
357
+ }
358
+
359
+ .method-header {
360
+ display: flex;
361
+ align-items: center;
362
+ padding: 1rem 1.25rem;
363
+ background: #ffffff;
364
+ cursor: pointer;
365
+ transition: background-color 150ms ease;
366
+ user-select: none;
367
+ width: 100%;
368
+ border-radius: 0.5rem 0.5rem 0 0;
369
+ }
370
+
371
+ .method-header:hover {
372
+ background-color: #f9fafb;
373
+ }
374
+
375
+ .method-header.selected {
376
+ background-color: #f3f4f6;
377
+ }
378
+
379
+ .radio {
380
+ width: 1.25rem;
381
+ height: 1.25rem;
382
+ min-width: 1.25rem;
383
+ margin: 0;
384
+ margin-right: 10px;
385
+ flex-shrink: 0;
386
+ cursor: pointer;
387
+ accent-color: #ffbe32;
388
+ -webkit-appearance: none;
389
+ -moz-appearance: none;
390
+ appearance: none;
391
+ border: 2px solid #d1d5db;
392
+ border-radius: 50%;
393
+ background-color: #ffffff;
394
+ position: relative;
395
+ transition: border-color 150ms ease;
396
+ }
397
+
398
+ .radio:checked {
399
+ border-color: #ffbe32;
400
+ background-color: #ffffff;
401
+ }
402
+
403
+ .radio:checked::after {
404
+ content: '';
405
+ position: absolute;
406
+ top: 50%;
407
+ left: 50%;
408
+ transform: translate(-50%, -50%);
409
+ width: 0.625rem;
410
+ height: 0.625rem;
411
+ border-radius: 50%;
412
+ background-color: #ffbe32;
413
+ }
414
+
415
+ .radio:hover:not(:disabled) {
416
+ border-color: #9ca3af;
417
+ }
418
+
419
+ .method-icon {
420
+ width: 2rem;
421
+ height: 2rem;
422
+ min-width: 2rem;
423
+ display: flex;
424
+ align-items: center;
425
+ justify-content: center;
426
+ font-size: 1.25rem;
427
+ flex-shrink: 0;
428
+ color: #6b7280;
429
+ margin-right: 0.625rem;
430
+ }
431
+
432
+ .method-icon-right {
433
+ width: 1.5rem;
434
+ height: 1.5rem;
435
+ min-width: 1.5rem;
436
+ display: flex;
437
+ align-items: center;
438
+ justify-content: center;
439
+ flex-shrink: 0;
440
+ color: #6b7280;
441
+ }
442
+
443
+ .method-icon-right svg {
444
+ width: 100%;
445
+ height: 100%;
446
+ }
447
+
448
+ .method-icon-right img {
449
+ width: 100%;
450
+ height: 100%;
451
+ object-fit: contain;
452
+ }
453
+
454
+ .method-name {
455
+ font-size: 1rem;
456
+ font-weight: 500;
457
+ color: #111827;
458
+ flex-shrink: 0;
459
+ text-align: left;
460
+ margin-right: 10px;
461
+ }
462
+
463
+ /* Accordion Content */
464
+ .method-content {
465
+ padding: 1.5rem;
466
+ background-color: #ffffff;
467
+ border-top: 1px solid #e5e7eb;
468
+ width: 100%;
469
+ overflow: visible;
470
+ }
471
+
472
+ /* Card Form */
473
+ .card-form {
474
+ width: 100%;
475
+ max-width: 100%;
476
+ }
477
+
478
+ .form-title {
479
+ font-size: 1rem;
480
+ font-weight: 500;
481
+ color: #111827;
482
+ margin: 0 0 1rem 0;
483
+ text-align: left;
484
+ }
485
+
486
+ .form-fields {
487
+ display: flex;
488
+ flex-direction: column;
489
+ gap: 1rem;
490
+ width: 100%;
491
+ }
492
+
493
+ .form-group {
494
+ width: 100%;
495
+ }
496
+
497
+ .form-label {
498
+ display: block;
499
+ margin-bottom: 0.5rem;
500
+ font-size: 0.875rem;
501
+ font-weight: 500;
502
+ color: #374151;
503
+ text-align: left;
504
+ }
505
+
506
+ .input {
507
+ width: 100%;
508
+ padding: 0.75rem;
509
+ border: 1px solid #d1d5db;
510
+ border-radius: 0.375rem;
511
+ font-size: 0.9375rem;
512
+ line-height: 1.25rem;
513
+ background: white;
514
+ color: black;
515
+ transition: all 150ms ease;
516
+ -webkit-appearance: none;
517
+ -moz-appearance: none;
518
+ appearance: none;
519
+ }
520
+
521
+ .input:focus {
522
+ outline: none;
523
+ border-color: #7c3aed;
524
+ box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.1);
525
+ }
526
+
527
+ .input::placeholder {
528
+ color: #9ca3af;
529
+ }
530
+
531
+ .input:hover:not(:focus) {
532
+ border-color: #9ca3af;
533
+ }
534
+
535
+ .input.input-error {
536
+ border-color: #dc2626;
537
+ }
538
+
539
+ .input.input-error:focus {
540
+ border-color: #dc2626;
541
+ box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1);
542
+ }
543
+
544
+ .expiry-row {
545
+ display: grid;
546
+ grid-template-columns: 1fr 1fr;
547
+ gap: 1rem;
548
+ width: 100%;
549
+ }
550
+
551
+ .error-message {
552
+ margin-top: 0.25rem;
553
+ color: #dc2626;
554
+ font-size: 0.75rem;
555
+ line-height: 1.25;
556
+ }
557
+
558
+ /* Submit Section */
559
+ .submit-section {
560
+ margin-top: 1.5rem;
561
+ width: 100%;
562
+ }
563
+
564
+ /* Pay Button - Modern Design */
565
+ .pay-button {
566
+ display: inline-block;
567
+ width: 100%;
568
+ height: 52px;
569
+ padding: 10px 24px;
570
+ font-size: 18px;
571
+ font-weight: 650;
572
+ color: #ffbe32;
573
+ line-height: normal;
574
+ border: 0;
575
+ border-radius: 40px;
576
+ text-decoration: none;
577
+ transition:
578
+ background-color 0.2s ease,
579
+ border-color 0.2s ease,
580
+ color 0.2s ease,
581
+ opacity 0.2s ease;
582
+ overflow: hidden;
583
+ user-select: none;
584
+ position: relative;
585
+ cursor: pointer;
586
+ background-color: #2a2327;
587
+ white-space: nowrap;
588
+ letter-spacing: 0;
589
+ -webkit-appearance: none;
590
+ -moz-appearance: none;
591
+ appearance: none;
592
+ }
593
+
594
+ .pay-button:disabled {
595
+ cursor: not-allowed;
596
+ color: rgba(255, 190, 50, 0.8);
597
+ background-color: rgba(42, 35, 39, 0.8);
598
+ }
599
+
600
+ .pay-button:not(:disabled):hover,
601
+ .pay-button:not(:disabled):focus-visible {
602
+ background-color: #000;
603
+ }
604
+
605
+ .pay-button:not(:disabled):active {
606
+ transform: translateY(1px);
607
+ }
608
+
609
+ /* Button Loading Spinner */
610
+ .pay-button.loading,
611
+ .paynow-container .scanned-button.loading {
612
+ position: relative;
613
+ color: transparent !important;
614
+ pointer-events: none;
615
+ }
616
+
617
+ .pay-button.loading::after,
618
+ .paynow-container .scanned-button.loading::after {
619
+ content: '';
620
+ position: absolute;
621
+ width: 20px;
622
+ height: 20px;
623
+ top: 50%;
624
+ left: 50%;
625
+ margin-left: -10px;
626
+ margin-top: -10px;
627
+ border: 2px solid transparent;
628
+ border-top-color: #ffbe32;
629
+ border-radius: 50%;
630
+ animation: button-spinner 0.8s linear infinite;
631
+ }
632
+
633
+ @keyframes button-spinner {
634
+ 0% {
635
+ transform: rotate(0deg);
636
+ }
637
+ 100% {
638
+ transform: rotate(360deg);
639
+ }
640
+ }
641
+
642
+ /* Loading State */
643
+ .processing-state {
644
+ text-align: center;
645
+ padding: 2rem 0;
646
+ }
647
+
648
+ .loader {
649
+ width: 40px;
650
+ height: 40px;
651
+ border: 3px solid #f3f4f6;
652
+ border-top: 3px solid #3b82f6;
653
+ border-radius: 50%;
654
+ animation: spin 1s linear infinite;
655
+ margin: 0 auto 1rem;
656
+ }
657
+
658
+ @keyframes spin {
659
+ 0% {
660
+ transform: rotate(0deg);
661
+ }
662
+ 100% {
663
+ transform: rotate(360deg);
664
+ }
665
+ }
666
+
667
+ .processing-text {
668
+ color: #6b7280;
669
+ margin: 0;
670
+ }
671
+
672
+ /* PayNow */
673
+ .paynow-container {
674
+ padding: 0;
675
+ display: flex;
676
+ flex-direction: column;
677
+ gap: 1rem;
678
+ }
679
+
680
+ .paynow-container .scanned-button {
681
+ display: inline-block;
682
+ width: 100%;
683
+ height: 52px;
684
+ padding: 10px 24px;
685
+ font-size: 18px;
686
+ font-weight: 650;
687
+ color: #ffbe32;
688
+ line-height: normal;
689
+ border: 0;
690
+ border-radius: 40px;
691
+ text-decoration: none;
692
+ transition:
693
+ background-color 0.2s ease,
694
+ transform 0.05s ease;
695
+ overflow: hidden;
696
+ user-select: none;
697
+ position: relative;
698
+ cursor: pointer;
699
+ background-color: #2a2327;
700
+ white-space: nowrap;
701
+ letter-spacing: 0;
702
+ }
703
+
704
+ .paynow-container .scanned-button:disabled {
705
+ cursor: not-allowed;
706
+ color: rgba(255, 190, 50, 0.8);
707
+ background-color: rgba(42, 35, 39, 0.8);
708
+ }
709
+
710
+ .paynow-container .scanned-button:not(:disabled):hover,
711
+ .paynow-container .scanned-button:not(:disabled):focus-visible {
712
+ background-color: #000;
713
+ }
714
+
715
+ .paynow-container .scanned-button:not(:disabled):active {
716
+ transform: translateY(1px);
717
+ }
718
+
719
+ /* PayNow Instructions */
720
+ .paynow-instructions {
721
+ padding: 0;
722
+ width: 100%;
723
+ }
724
+
725
+ .instructions-title {
726
+ font-size: 1rem;
727
+ font-weight: 600;
728
+ color: #111827;
729
+ margin: 0 0 1.5rem 0;
730
+ text-align: left;
731
+ }
732
+
733
+ .instruction-steps {
734
+ display: flex;
735
+ flex-direction: column;
736
+ gap: 1rem;
737
+ margin-bottom: 1.5rem;
738
+ }
739
+
740
+ .instruction-step {
741
+ display: flex;
742
+ align-items: flex-start;
743
+ gap: 0.75rem;
744
+ padding: 0.5rem 0;
745
+ }
746
+
747
+ .step-number {
748
+ display: flex;
749
+ align-items: center;
750
+ justify-content: center;
751
+ width: 1.75rem;
752
+ height: 1.75rem;
753
+ min-width: 1.75rem;
754
+ border-radius: 50%;
755
+ background-color: #ffbe32;
756
+ color: #ffffff;
757
+ font-size: 0.875rem;
758
+ font-weight: 600;
759
+ flex-shrink: 0;
760
+ }
761
+
762
+ .step-text {
763
+ flex: 1;
764
+ margin: 0;
765
+ padding-top: 0.125rem;
766
+ color: #374151;
767
+ font-size: 0.9375rem;
768
+ line-height: 1.5;
769
+ }
770
+
771
+ .qr-code-section {
772
+ text-align: center;
773
+ padding: 1rem 0;
774
+ }
775
+
776
+ .qr-instruction {
777
+ color: #6b7280;
778
+ font-size: 14px;
779
+ margin-bottom: 1.5rem;
780
+ line-height: 1.5;
781
+ }
782
+
783
+ .qr-code-wrapper {
784
+ display: flex;
785
+ justify-content: center;
786
+ margin-bottom: 1.5rem;
787
+ }
788
+
789
+ .qr-canvas {
790
+ border: 4px solid #f3f4f6;
791
+ border-radius: 12px;
792
+ padding: 16px;
793
+ background: white;
794
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.07);
795
+ width: 200px;
796
+ height: 200px;
797
+ display: flex;
798
+ align-items: center;
799
+ justify-content: center;
800
+ color: #9ca3af;
801
+ }
802
+
803
+ .scanned-button {
804
+ padding: 12px 24px;
805
+ background: #10b981;
806
+ color: white;
807
+ border: none;
808
+ border-radius: 8px;
809
+ font-size: 16px;
810
+ font-weight: 600;
811
+ cursor: pointer;
812
+ transition: all 0.2s ease;
813
+ }
814
+
815
+ .scanned-button:hover:not(:disabled) {
816
+ background: #059669;
817
+ transform: translateY(-2px);
818
+ box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4);
819
+ }
820
+
821
+ .scanned-button:active {
822
+ transform: translateY(0);
823
+ }
824
+
825
+ .scanned-button:disabled {
826
+ opacity: 0.6;
827
+ cursor: not-allowed;
828
+ transform: none;
829
+ box-shadow: none;
830
+ }
831
+
832
+ /* Result Status Block - Replaces payment methods when succeeded/failed */
833
+ .result-card {
834
+ background: white;
835
+ border-radius: 12px;
836
+ padding: 40px;
837
+ width: 100%;
838
+ text-align: center;
839
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.07);
840
+ border: 2px solid transparent;
841
+ transition: all 0.3s ease;
842
+ margin-top: 0;
843
+ }
844
+
845
+ .result-card.success {
846
+ border-color: #10b981;
847
+ background: linear-gradient(135deg, #f0fdf4 0%, #ffffff 100%);
848
+ }
849
+
850
+ .result-card.error {
851
+ border-color: #ef4444;
852
+ background: linear-gradient(135deg, #fef2f2 0%, #ffffff 100%);
853
+ }
854
+
855
+ .result-icon-wrapper {
856
+ width: 80px;
857
+ height: 80px;
858
+ border-radius: 50%;
859
+ display: flex;
860
+ align-items: center;
861
+ justify-content: center;
862
+ margin: 0 auto 24px;
863
+ animation: scaleIn 0.5s ease-out;
864
+ }
865
+
866
+ .result-card.success .result-icon-wrapper {
867
+ background: #10b981;
868
+ }
869
+
870
+ .result-card.error .result-icon-wrapper {
871
+ background: #ef4444;
872
+ }
873
+
874
+ @keyframes scaleIn {
875
+ from {
876
+ transform: scale(0);
877
+ opacity: 0;
878
+ }
879
+ to {
880
+ transform: scale(1);
881
+ opacity: 1;
882
+ }
883
+ }
884
+
885
+ .result-icon {
886
+ font-size: 40px;
887
+ color: white;
888
+ font-weight: bold;
889
+ }
890
+
891
+ .result-title {
892
+ margin: 0 0 12px 0;
893
+ font-size: 28px;
894
+ font-weight: 700;
895
+ color: #111827;
896
+ }
897
+
898
+ .result-message {
899
+ margin: 0 0 32px 0;
900
+ font-size: 16px;
901
+ color: #6b7280;
902
+ line-height: 1.5;
903
+ }
904
+
905
+ .retry-button {
906
+ display: inline-block;
907
+ min-width: 162px;
908
+ height: 52px;
909
+ padding: 10px 24px;
910
+ font-size: 18px;
911
+ font-weight: 650;
912
+ color: #ffbe32;
913
+ line-height: normal;
914
+ border: 0;
915
+ border-radius: 40px;
916
+ text-decoration: none;
917
+ transition:
918
+ background-color 0.2s ease,
919
+ transform 0.05s ease;
920
+ overflow: hidden;
921
+ user-select: none;
922
+ position: relative;
923
+ cursor: pointer;
924
+ background-color: #2a2327;
925
+ white-space: nowrap;
926
+ letter-spacing: 0;
927
+ }
928
+
929
+ .retry-button:hover {
930
+ background: #000;
931
+ }
932
+
933
+ .retry-button:active {
934
+ transform: translateY(1px);
935
+ }
936
+
937
+ /* Mobile responsiveness */
938
+ @media (max-width: 640px) {
939
+ .header {
940
+ padding: 0.75rem 0;
941
+ font-size: 0.8125rem;
942
+ }
943
+
944
+ .payment-methods-list {
945
+ gap: 0.75rem;
946
+ }
947
+
948
+ .method-header {
949
+ padding: 0.875rem 1rem;
950
+ }
951
+
952
+ .radio {
953
+ width: 1.125rem;
954
+ height: 1.125rem;
955
+ min-width: 1.125rem;
956
+ }
957
+
958
+ .method-icon {
959
+ width: 1.75rem;
960
+ height: 1.75rem;
961
+ min-width: 1.75rem;
962
+ margin-right: 0.625rem;
963
+ font-size: 1.125rem;
964
+ }
965
+
966
+ .method-name {
967
+ font-size: 0.9375rem;
968
+ }
969
+
970
+ .method-content {
971
+ padding: 1.25rem 1rem;
972
+ }
973
+
974
+ .form-title {
975
+ font-size: 0.9375rem;
976
+ margin-bottom: 0.875rem;
977
+ }
978
+
979
+ .form-fields {
980
+ gap: 0.875rem;
981
+ }
982
+
983
+ .input {
984
+ padding: 0.625rem 0.75rem;
985
+ font-size: 16px;
986
+ }
987
+
988
+ .expiry-row {
989
+ gap: 0.75rem;
990
+ }
991
+
992
+ .form-label {
993
+ font-size: 0.8125rem;
994
+ margin-bottom: 0.375rem;
995
+ }
996
+
997
+ .submit-section {
998
+ margin-top: 1.25rem;
999
+ }
1000
+
1001
+ .pay-button {
1002
+ padding: 0.75rem;
1003
+ font-size: 1rem;
1004
+ border-radius: 0.375rem;
1005
+ }
1006
+
1007
+ .result-card {
1008
+ padding: 24px;
1009
+ }
1010
+
1011
+ .paynow-instructions {
1012
+ padding: 0;
1013
+ }
1014
+
1015
+ .instructions-title {
1016
+ font-size: 0.9375rem;
1017
+ margin-bottom: 1.25rem;
1018
+ }
1019
+
1020
+ .instruction-steps {
1021
+ gap: 0.875rem;
1022
+ margin-bottom: 1.25rem;
1023
+ }
1024
+
1025
+ .instruction-step {
1026
+ gap: 0.625rem;
1027
+ padding: 0.375rem 0;
1028
+ }
1029
+
1030
+ .step-number {
1031
+ width: 1.5rem;
1032
+ height: 1.5rem;
1033
+ min-width: 1.5rem;
1034
+ font-size: 0.8125rem;
1035
+ }
1036
+
1037
+ .step-text {
1038
+ font-size: 0.875rem;
1039
+ }
1040
+ }
1041
+
1042
+ /* Transaction Details */
1043
+ .transaction-details {
1044
+ padding: 1.25rem;
1045
+ background: #f9fafb;
1046
+ border: 1px solid #e5e7eb;
1047
+ border-radius: 0.5rem;
1048
+ margin-bottom: 1rem;
1049
+ }
1050
+
1051
+ .transaction-title {
1052
+ font-size: 1.125rem;
1053
+ font-weight: 600;
1054
+ color: #111827;
1055
+ margin: 0 0 1rem 0;
1056
+ line-height: 1.2;
1057
+ }
1058
+
1059
+ .details-grid {
1060
+ display: flex;
1061
+ flex-direction: column;
1062
+ gap: 0.75rem;
1063
+ }
1064
+
1065
+ .details-row {
1066
+ display: flex;
1067
+ justify-content: space-between;
1068
+ align-items: center;
1069
+ }
1070
+
1071
+ .details-label {
1072
+ font-size: 0.875rem;
1073
+ font-weight: 500;
1074
+ color: #6b7280;
1075
+ }
1076
+
1077
+ .details-value {
1078
+ font-size: 0.875rem;
1079
+ font-weight: 600;
1080
+ color: #111827;
1081
+ text-align: right;
1082
+ }
1083
+
1084
+ .fees-toggle {
1085
+ background: none;
1086
+ border: none;
1087
+ padding: 0;
1088
+ cursor: pointer;
1089
+ display: flex;
1090
+ align-items: center;
1091
+ font-family: inherit;
1092
+ }
1093
+
1094
+ .fees-toggle:hover {
1095
+ opacity: 0.8;
1096
+ }
1097
+
1098
+ .fee-breakdown {
1099
+ width: 100%;
1100
+ display: flex;
1101
+ position: relative;
1102
+ padding-left: 1.75rem;
1103
+ overflow: hidden;
1104
+ transition:
1105
+ max-height 0.3s ease-out,
1106
+ opacity 0.3s ease-out,
1107
+ margin-top 0.3s ease-out;
1108
+ }
1109
+
1110
+ .fee-breakdown::before {
1111
+ content: '';
1112
+ position: absolute;
1113
+ left: 0.9375rem;
1114
+ top: 0.625rem;
1115
+ bottom: 0.625rem;
1116
+ border-left: 2px solid #d1d5db;
1117
+ }
1118
+
1119
+ .fee-breakdown-inner {
1120
+ width: 100%;
1121
+ display: flex;
1122
+ flex-direction: column;
1123
+ gap: 0.625rem;
1124
+ padding-left: 1rem;
1125
+ padding-top: 0.625rem;
1126
+ }
1127
+
1128
+ .breakdown-row {
1129
+ width: 100%;
1130
+ position: relative;
1131
+ padding: 0.5rem 0;
1132
+ display: flex;
1133
+ justify-content: space-between;
1134
+ align-items: center;
1135
+ }
1136
+
1137
+ .breakdown-row:first-child::before {
1138
+ content: '';
1139
+ position: absolute;
1140
+ left: -2.0625rem;
1141
+ top: 50%;
1142
+ transform: translateY(-50%);
1143
+ width: 10px;
1144
+ height: 10px;
1145
+ border-radius: 50%;
1146
+ background: #d1d5db;
1147
+ }
1148
+
1149
+ .breakdown-row:first-child::after {
1150
+ content: '';
1151
+ position: absolute;
1152
+ left: -1.5rem;
1153
+ top: 50%;
1154
+ transform: translateY(-50%);
1155
+ width: 1rem;
1156
+ height: 2px;
1157
+ background: #d1d5db;
1158
+ }
1159
+
1160
+ .breakdown-row:nth-child(2) {
1161
+ padding-left: 0.5rem;
1162
+ padding-bottom: 0;
1163
+ }
1164
+
1165
+ .breakdown-row:nth-child(2)::before {
1166
+ content: '';
1167
+ position: absolute;
1168
+ left: -1.8275rem;
1169
+ top: 60%;
1170
+ transform: translateY(-60%);
1171
+ width: 1.5rem;
1172
+ height: 2px;
1173
+ background: #d1d5db;
1174
+ }
1175
+
1176
+ .breakdown-row:nth-child(2)::after {
1177
+ content: '';
1178
+ position: absolute;
1179
+ left: -0.3rem;
1180
+ top: calc(60% - 0.25rem);
1181
+ border-top: 4px solid transparent;
1182
+ border-bottom: 4px solid transparent;
1183
+ border-left: 6px solid #d1d5db;
1184
+ }
1185
+
1186
+ .breakdown-label {
1187
+ font-size: 0.875rem;
1188
+ font-weight: 400;
1189
+ color: #6b7280;
1190
+ }
1191
+
1192
+ .breakdown-value {
1193
+ font-size: 0.875rem;
1194
+ font-weight: 500;
1195
+ color: #111827;
1196
+ text-align: right;
1197
+ }
1198
+
1199
+ .transaction-divider {
1200
+ height: 1px;
1201
+ background: #d1d5db;
1202
+ margin: 1rem 0;
1203
+ }
1204
+
1205
+ .net-amount-row {
1206
+ display: flex;
1207
+ justify-content: space-between;
1208
+ align-items: center;
1209
+ }
1210
+
1211
+ .net-label {
1212
+ font-size: 1rem;
1213
+ font-weight: 600;
1214
+ color: #111827;
1215
+ }
1216
+
1217
+ .net-value {
1218
+ font-size: 1.25rem;
1219
+ font-weight: 700;
1220
+ color: #111827;
1221
+ text-align: right;
1222
+ }
1223
+
1224
+ /* Skeleton Loading */
1225
+ .skeleton {
1226
+ background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
1227
+ background-size: 200% 100%;
1228
+ animation: shimmer 1.5s infinite;
1229
+ border-radius: 0.25rem;
1230
+ }
1231
+
1232
+ @keyframes shimmer {
1233
+ 0% {
1234
+ background-position: 200% 0;
1235
+ }
1236
+ 100% {
1237
+ background-position: -200% 0;
1238
+ }
1239
+ }
1240
+
1241
+ .skeleton-transaction {
1242
+ padding: 1.25rem;
1243
+ background: #f9fafb;
1244
+ border: 1px solid #e5e7eb;
1245
+ border-radius: 0.5rem;
1246
+ margin-bottom: 1rem;
1247
+ }
1248
+
1249
+ .skeleton-title {
1250
+ height: 1.5rem;
1251
+ width: 60%;
1252
+ margin-bottom: 1rem;
1253
+ }
1254
+
1255
+ .skeleton-row {
1256
+ display: flex;
1257
+ justify-content: space-between;
1258
+ margin-bottom: 0.75rem;
1259
+ }
1260
+
1261
+ .skeleton-label {
1262
+ height: 1rem;
1263
+ width: 30%;
1264
+ }
1265
+
1266
+ .skeleton-value {
1267
+ height: 1rem;
1268
+ width: 25%;
1269
+ }
1270
+
1271
+ .skeleton-divider {
1272
+ height: 1px;
1273
+ background: #d1d5db;
1274
+ margin: 1rem 0;
1275
+ }
1276
+
1277
+ .skeleton-net-row {
1278
+ display: flex;
1279
+ justify-content: space-between;
1280
+ align-items: center;
1281
+ }
1282
+
1283
+ .skeleton-net-label {
1284
+ height: 1.25rem;
1285
+ width: 35%;
1286
+ }
1287
+
1288
+ .skeleton-net-value {
1289
+ height: 1.5rem;
1290
+ width: 30%;
1291
+ }
1292
+
1293
+ .skeleton-method {
1294
+ border: 1px solid #e5e7eb;
1295
+ border-radius: 0.5rem;
1296
+ padding: 1rem 1.25rem;
1297
+ background: #ffffff;
1298
+ margin-bottom: 1rem;
1299
+ display: flex;
1300
+ align-items: center;
1301
+ gap: 0.75rem;
1302
+ }
1303
+
1304
+ .skeleton-radio {
1305
+ width: 1.25rem;
1306
+ height: 1.25rem;
1307
+ border-radius: 50%;
1308
+ flex-shrink: 0;
1309
+ }
1310
+
1311
+ .skeleton-icon {
1312
+ width: 2rem;
1313
+ height: 2rem;
1314
+ border-radius: 0.25rem;
1315
+ flex-shrink: 0;
1316
+ }
1317
+
1318
+ .skeleton-method-name {
1319
+ height: 1.25rem;
1320
+ width: 40%;
1321
+ }
1322
+
1323
+ /* 3DS Modal */
1324
+ .modal-overlay {
1325
+ position: fixed;
1326
+ top: 0;
1327
+ left: 0;
1328
+ right: 0;
1329
+ bottom: 0;
1330
+ background: rgba(0, 0, 0, 0.7);
1331
+ display: flex;
1332
+ align-items: center;
1333
+ justify-content: center;
1334
+ z-index: 10000;
1335
+ padding: 1rem;
1336
+ }
1337
+
1338
+ .modal-content {
1339
+ position: relative;
1340
+ width: 100%;
1341
+ max-width: 500px;
1342
+ max-height: 90vh;
1343
+ background: white;
1344
+ border-radius: 8px;
1345
+ overflow-y: auto;
1346
+ box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
1347
+ }
1348
+
1349
+ .modal-content.iframe-modal {
1350
+ height: 600px;
1351
+ overflow: hidden;
1352
+ }
1353
+
1354
+ .modal-iframe {
1355
+ width: 100%;
1356
+ height: 100%;
1357
+ border: none;
1358
+ }
1359
+
1360
+ .modal-content .qr-code-section {
1361
+ padding: 2rem;
1362
+ min-height: 500px;
1363
+ display: flex;
1364
+ flex-direction: column;
1365
+ align-items: center;
1366
+ justify-content: flex-start;
1367
+ gap: 1.5rem;
1368
+ }
1369
+
1370
+ .modal-content .qr-code-section .submit-section {
1371
+ width: 100%;
1372
+ max-width: 300px;
1373
+ margin-top: auto;
1374
+ padding-top: 2rem;
1375
+ }
1376
+
1377
+ .modal-content .qr-code-section .scanned-button {
1378
+ width: 100%;
1379
+ padding: 16px 24px;
1380
+ background: #10b981;
1381
+ color: white;
1382
+ border: none;
1383
+ border-radius: 8px;
1384
+ font-size: 18px;
1385
+ font-weight: 700;
1386
+ cursor: pointer;
1387
+ box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
1388
+ text-transform: uppercase;
1389
+ letter-spacing: 0.5px;
1390
+ }
1391
+
1392
+ /* QR Modal with iframe */
1393
+ .qr-modal-content {
1394
+ display: flex;
1395
+ flex-direction: column;
1396
+ height: 650px;
1397
+ max-height: 85vh;
1398
+ padding: 0;
1399
+ overflow: hidden;
1400
+ background: linear-gradient(to bottom, #ffffff 0%, #f9fafb 100%);
1401
+ }
1402
+
1403
+ .qr-iframe-container {
1404
+ flex: 1;
1405
+ width: 100%;
1406
+ overflow: hidden;
1407
+ background: white;
1408
+ position: relative;
1409
+ }
1410
+
1411
+ .qr-iframe {
1412
+ width: 100%;
1413
+ height: 100%;
1414
+ border: none;
1415
+ background: white;
1416
+ }
1417
+
1418
+ .qr-button-container {
1419
+ padding: 2rem 2.5rem;
1420
+ background: linear-gradient(to top, #ffffff 0%, #fafbfc 100%);
1421
+ border-top: 1px solid rgba(0, 0, 0, 0.08);
1422
+ display: flex;
1423
+ flex-direction: column;
1424
+ gap: 1rem;
1425
+ justify-content: center;
1426
+ align-items: center;
1427
+ min-height: 140px;
1428
+ box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.03);
1429
+ }
1430
+
1431
+ .qr-button-container::before {
1432
+ content: '';
1433
+ position: absolute;
1434
+ top: -1px;
1435
+ left: 0;
1436
+ right: 0;
1437
+ height: 1px;
1438
+ background: linear-gradient(
1439
+ 90deg,
1440
+ transparent 0%,
1441
+ rgba(16, 185, 129, 0.3) 50%,
1442
+ transparent 100%
1443
+ );
1444
+ }
1445
+
1446
+ .qr-button-hint {
1447
+ color: #6b7280;
1448
+ font-size: 14px;
1449
+ font-weight: 500;
1450
+ text-align: center;
1451
+ margin: 0;
1452
+ padding: 0 1rem;
1453
+ line-height: 1.5;
1454
+ }
1455
+
1456
+ .qr-button-container .scanned-button {
1457
+ width: 100%;
1458
+ max-width: 420px;
1459
+ padding: 20px 40px;
1460
+ background: linear-gradient(135deg, #10b981 0%, #059669 100%);
1461
+ color: white;
1462
+ border: none;
1463
+ border-radius: 16px;
1464
+ font-size: 17px;
1465
+ font-weight: 700;
1466
+ cursor: pointer;
1467
+ box-shadow:
1468
+ 0 8px 24px rgba(16, 185, 129, 0.35),
1469
+ 0 2px 8px rgba(0, 0, 0, 0.08),
1470
+ inset 0 1px 0 rgba(255, 255, 255, 0.2);
1471
+ text-transform: none;
1472
+ letter-spacing: 0.3px;
1473
+ transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
1474
+ position: relative;
1475
+ overflow: hidden;
1476
+ }
1477
+
1478
+ .qr-button-container .scanned-button::before {
1479
+ content: '';
1480
+ position: absolute;
1481
+ top: 0;
1482
+ left: -100%;
1483
+ width: 100%;
1484
+ height: 100%;
1485
+ background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
1486
+ transition: left 0.5s;
1487
+ }
1488
+
1489
+ .qr-button-container .scanned-button:hover::before {
1490
+ left: 100%;
1491
+ }
1492
+
1493
+ .qr-button-container .scanned-button:hover {
1494
+ background: linear-gradient(135deg, #059669 0%, #047857 100%);
1495
+ transform: translateY(-3px);
1496
+ box-shadow:
1497
+ 0 12px 32px rgba(16, 185, 129, 0.45),
1498
+ 0 4px 12px rgba(0, 0, 0, 0.12),
1499
+ inset 0 1px 0 rgba(255, 255, 255, 0.25);
1500
+ }
1501
+
1502
+ .qr-button-container .scanned-button:active {
1503
+ transform: translateY(-1px);
1504
+ box-shadow:
1505
+ 0 6px 20px rgba(16, 185, 129, 0.4),
1506
+ 0 2px 6px rgba(0, 0, 0, 0.1),
1507
+ inset 0 1px 0 rgba(255, 255, 255, 0.2);
1508
+ }
1509
+
1510
+ /* Add icon to button */
1511
+ .qr-button-container .scanned-button::after {
1512
+ content: '✓';
1513
+ margin-left: 12px;
1514
+ font-size: 20px;
1515
+ display: inline-block;
1516
+ transition: transform 0.25s ease;
1517
+ }
1518
+
1519
+ .qr-button-container .scanned-button:hover::after {
1520
+ transform: scale(1.2);
1521
+ }
1522
+
1523
+ /* Inline QR Code (not in modal) */
1524
+ .qr-iframe-container-inline {
1525
+ width: 100%;
1526
+ height: 450px;
1527
+ border-radius: 8px;
1528
+ overflow: hidden;
1529
+ background: white;
1530
+ border: 1px solid #e5e7eb;
1531
+ }
1532
+
1533
+ .qr-iframe-inline {
1534
+ width: 100%;
1535
+ height: 100%;
1536
+ border: none;
1537
+ background: white;
1538
+ }
1539
+
1540
+ .radio:disabled {
1541
+ opacity: 0.5;
1542
+ cursor: not-allowed;
1543
+ }
1544
+
1545
+ .method-header.disabled {
1546
+ opacity: 0.5;
1547
+ cursor: not-allowed;
1548
+ }
1549
+
1550
+ .method-header.disabled:hover {
1551
+ background-color: #ffffff;
1552
+ }
1553
+
1554
+ /* Tooltip for disabled payment methods */
1555
+ .payment-method-item {
1556
+ position: relative;
1557
+ }
1558
+
1559
+ .payment-method-item[data-tooltip]:hover::after {
1560
+ content: attr(data-tooltip);
1561
+ position: absolute;
1562
+ top: 100%;
1563
+ left: 50%;
1564
+ transform: translateX(-50%);
1565
+ margin-top: 0.5rem;
1566
+ padding: 0.5rem 0.75rem;
1567
+ background: #1f2937;
1568
+ color: white;
1569
+ font-size: 0.875rem;
1570
+ line-height: 1.25rem;
1571
+ border-radius: 0.375rem;
1572
+ white-space: nowrap;
1573
+ z-index: 1000;
1574
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
1575
+ animation: tooltipFadeIn 0.2s ease;
1576
+ }
1577
+
1578
+ .payment-method-item[data-tooltip]:hover::before {
1579
+ content: '';
1580
+ position: absolute;
1581
+ top: 100%;
1582
+ left: 50%;
1583
+ transform: translateX(-50%);
1584
+ margin-top: 0.25rem;
1585
+ border: 5px solid transparent;
1586
+ border-bottom-color: #1f2937;
1587
+ z-index: 1001;
1588
+ }
1589
+
1590
+ @keyframes tooltipFadeIn {
1591
+ from {
1592
+ opacity: 0;
1593
+ transform: translateX(-50%) translateY(-5px);
1594
+ }
1595
+ to {
1596
+ opacity: 1;
1597
+ transform: translateX(-50%) translateY(0);
1598
+ }
1599
+ }
1600
+ `,gr([ce({type:Object})],yr.prototype,"config",2),gr([ce({type:Object})],yr.prototype,"adapters",2),gr([ce({type:Number})],yr.prototype,"amount",2),gr([ce({type:String})],yr.prototype,"currency",2),gr([ce({type:String})],yr.prototype,"orderId",2),gr([ce({type:String})],yr.prototype,"firstName",2),gr([ce({type:String})],yr.prototype,"lastName",2),gr([ce({type:String})],yr.prototype,"email",2),gr([ce({type:Array})],yr.prototype,"excludePaymentMethods",2),gr([ce({type:String})],yr.prototype,"width",2),gr([ce({type:String})],yr.prototype,"maxWidth",2),gr([he()],yr.prototype,"currentState",2),gr([he()],yr.prototype,"selectedMethod",2),gr([he()],yr.prototype,"cardFormData",2),gr([he()],yr.prototype,"formErrors",2),gr([he()],yr.prototype,"paymentData",2),gr([he()],yr.prototype,"feesExpanded",2),gr([he()],yr.prototype,"isInitializing",2),gr([he()],yr.prototype,"cardBrand",2),gr([he()],yr.prototype,"paymentLocked",2),gr([he()],yr.prototype,"show3DSModal",2),gr([he()],yr.prototype,"showQRModal",2),gr([he()],yr.prototype,"nextActionUrl",2),gr([he()],yr.prototype,"qrCode",2),gr([he()],yr.prototype,"qrCodeDataUrl",2),gr([he()],yr.prototype,"qrAutoResumeTimer",2),gr([he()],yr.prototype,"qrPollingInProgress",2),yr=gr([(e=>(t,r)=>{void 0!==r?r.addInitializer(()=>{customElements.define(e,t)}):customElements.define(e,t)})("one-payment")],yr);class br{async get(e,t){const r=await fetch(e,{method:"GET",headers:{"Content-Type":"application/json",...t}});if(!r.ok){const e=await vr(r);throw new Error(e)}return await r.json()}async post(e,t,r){const n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",...r},body:JSON.stringify(t)});if(!n.ok){const e=await vr(n);throw new Error(e)}return await n.json()}async put(e,t,r){const n=await fetch(e,{method:"PUT",headers:{"Content-Type":"application/json",...r},body:JSON.stringify(t)});if(!n.ok){const e=await vr(n);throw new Error(e)}return await n.json()}async patch(e,t,r){const n=await fetch(e,{method:"PATCH",headers:{"Content-Type":"application/json",...r},body:JSON.stringify(t)});if(!n.ok){const e=await vr(n);throw new Error(e)}return await n.json()}async delete(e,t){const r=await fetch(e,{method:"DELETE",headers:{"Content-Type":"application/json",...t}});if(!r.ok){const e=await vr(r);throw new Error(e)}return await r.json()}}class wr{constructor(e="one-payments:"){this.prefix=e}async get(e){return localStorage.getItem(this.prefix+e)}async set(e,t){localStorage.setItem(this.prefix+e,t)}async remove(e){localStorage.removeItem(this.prefix+e)}async clear(){Object.keys(localStorage).forEach(e=>{e.startsWith(this.prefix)&&localStorage.removeItem(e)})}}class xr{async sha256(e){const t="string"==typeof e?(new TextEncoder).encode(e):e,r=await crypto.subtle.digest("SHA-256",t);return this.bufferToHex(r)}async hmacSHA256(e,t){const r=new TextEncoder,n=r.encode(e),i=r.encode(t),o=await crypto.subtle.importKey("raw",n,{name:"HMAC",hash:"SHA-256"},!1,["sign"]),s=await crypto.subtle.sign("HMAC",o,i);return this.bufferToHex(s)}uuid(){return crypto.randomUUID()}randomBytes(e){return crypto.getRandomValues(new Uint8Array(e))}bufferToHex(e){return Array.from(new Uint8Array(e)).map(e=>e.toString(16).padStart(2,"0")).join("")}}class kr{now(){return Date.now()}async delay(e){return new Promise(t=>{setTimeout(t,e)})}}function Sr(){return{http:new br,storage:new wr,crypto:new xr,timer:new kr}}const Er="one-payment",Pr="1.1.28";!function(){if("undefined"==typeof customElements)return console.error("[OnePayments] customElements API is not available in this environment. This bundle is designed for browser environments only."),!1;if(customElements.get(Er))return console.info(`[OnePayments] <${Er}> is already registered. Skipping re-registration.`),!0;try{return customElements.define(Er,yr),console.info(`[OnePayments] Registered <${Er}> custom element (v${Pr})`),!0}catch(e){return console.error(`[OnePayments] Failed to register <${Er}>:`,e),!1}}();const Cr={createWebAdapters:Sr,TAG_NAME:Er,VERSION:Pr,isRegistered:()=>"undefined"!=typeof customElements&&void 0!==customElements.get(Er),whenDefined:()=>"undefined"==typeof customElements?Promise.reject(new Error("customElements API is not available")):customElements.whenDefined(Er)};return"undefined"!=typeof window&&(window.OnePayments?console.warn("[OnePayments] window.OnePayments already exists. The bundle may have been loaded multiple times. Using existing reference."):window.OnePayments=Cr),e.OnePayments=Cr,e.TAG_NAME=Er,e.VERSION=Pr,e.createWebAdapters=Sr,e.default=Cr,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}}),e}({});
1601
+ //# sourceMappingURL=one-payment.browser.iife.js.map