@paynext/sdk 0.0.138 → 0.0.140

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.
package/dist/index.es.js CHANGED
@@ -1,50 +1,56 @@
1
- var C = Object.defineProperty;
2
- var f = (n, t, e) => t in n ? C(n, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[t] = e;
3
- var d = (n, t, e) => f(n, typeof t != "symbol" ? t + "" : t, e);
4
- var o = (n, t, e) => new Promise((P, u) => {
5
- var w = (i) => {
1
+ var f = Object.defineProperty;
2
+ var h = (e, n, t) => n in e ? f(e, n, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[n] = t;
3
+ var u = (e, n, t) => h(e, typeof n != "symbol" ? n + "" : n, t);
4
+ var o = (e, n, t) => new Promise((i, N) => {
5
+ var w = (r) => {
6
6
  try {
7
- c(e.next(i));
7
+ d(t.next(r));
8
8
  } catch (l) {
9
- u(l);
9
+ N(l);
10
10
  }
11
- }, h = (i) => {
11
+ }, C = (r) => {
12
12
  try {
13
- c(e.throw(i));
13
+ d(t.throw(r));
14
14
  } catch (l) {
15
- u(l);
15
+ N(l);
16
16
  }
17
- }, c = (i) => i.done ? P(i.value) : Promise.resolve(i.value).then(w, h);
18
- c((e = e.apply(n, t)).next());
17
+ }, d = (r) => r.done ? i(r.value) : Promise.resolve(r.value).then(w, C);
18
+ d((t = t.apply(e, n)).next());
19
19
  });
20
- const s = "https://paynext-sdk.cbvcode.workers.dev/index.cdn.js", y = "1.0.0";
21
- let r = null, a = null;
22
- function N() {
20
+ const c = "https://paynext-sdk.cbvcode.workers.dev/index.cdn.js", P = "1.0.0";
21
+ let a = null, s = null;
22
+ function y() {
23
23
  return o(this, null, function* () {
24
- return a || r || (r = new Promise((n, t) => {
24
+ return s || a || (a = new Promise((e, n) => {
25
25
  if (typeof window == "undefined") {
26
- t(new Error("PayNext SDK can only be loaded in browser environment"));
26
+ n(new Error("PayNext SDK can only be loaded in browser environment"));
27
27
  return;
28
28
  }
29
- if (window.PayNextSDK) {
30
- a = window.PayNextSDK, n(a);
29
+ if (window.PayNextCDNModule) {
30
+ s = window.PayNextCDNModule, e(s);
31
31
  return;
32
32
  }
33
- console.log("[PayNext CDN] Fetching SDK from:", s), import(
34
- /* @vite-ignore */
35
- s
36
- ).then((e) => {
37
- console.log("[PayNext CDN] SDK fetched successfully, caching..."), a = e, window.PayNextSDK = e, n(e);
38
- }).catch((e) => {
39
- console.error("[PayNext CDN] Failed to fetch SDK:", e), r = null, t(new Error(`Failed to load PayNext SDK from CDN: ${e.message}`));
40
- });
41
- }), r);
33
+ console.log("[PayNext CDN] Fetching SDK from:", c);
34
+ const t = document.createElement("script");
35
+ t.crossOrigin = "anonymous", t.onload = () => {
36
+ console.log("[PayNext CDN] Script loaded, checking exports..."), setTimeout(() => {
37
+ const i = window.PayNextCDNModule;
38
+ if (!i) {
39
+ console.error("[PayNext CDN] Module not found in window.PayNextCDNModule"), a = null, n(new Error("SDK module not found after loading"));
40
+ return;
41
+ }
42
+ console.log("[PayNext CDN] SDK fetched successfully, caching..."), s = i, e(i);
43
+ }, 100);
44
+ }, t.onerror = (i) => {
45
+ console.error("[PayNext CDN] Failed to load script:", i), a = null, document.head.removeChild(t), n(new Error("Failed to load PayNext SDK from CDN"));
46
+ }, t.src = c, document.head.appendChild(t);
47
+ }), a);
42
48
  });
43
49
  }
44
50
  class D {
45
51
  constructor() {
46
- d(this, "cdnInstance", null);
47
- d(this, "initPromise", null);
52
+ u(this, "cdnInstance", null);
53
+ u(this, "initPromise", null);
48
54
  this.initPromise = this.initialize();
49
55
  }
50
56
  /**
@@ -54,12 +60,12 @@ class D {
54
60
  return o(this, null, function* () {
55
61
  try {
56
62
  console.log("[PayNext CDN] Loading SDK from CDN...");
57
- const t = yield N();
58
- if (console.log("[PayNext CDN] SDK loaded, exports:", Object.keys(t)), !t.PayNextCheckout)
63
+ const n = yield y();
64
+ if (console.log("[PayNext CDN] SDK loaded, exports:", Object.keys(n)), !n.PayNextCheckout)
59
65
  throw new Error("PayNextCheckout not found in CDN module");
60
- this.cdnInstance = new t.PayNextCheckout(), console.log("[PayNext CDN] Instance created successfully");
61
- } catch (t) {
62
- throw console.error("[PayNext CDN] Failed to initialize:", t), t;
66
+ this.cdnInstance = new n.PayNextCheckout(), console.log("[PayNext CDN] Instance created successfully");
67
+ } catch (n) {
68
+ throw console.error("[PayNext CDN] Failed to initialize:", n), n;
63
69
  }
64
70
  });
65
71
  }
@@ -80,9 +86,9 @@ class D {
80
86
  * @param containerId - DOM element ID
81
87
  * @param config - Checkout configuration
82
88
  */
83
- mount(t, e) {
89
+ mount(n, t) {
84
90
  return o(this, null, function* () {
85
- return console.log("[PayNext CDN] mount() called, waiting for SDK..."), yield this.waitForReady(), console.log("[PayNext CDN] SDK ready, calling mount on CDN instance..."), this.cdnInstance.mount(t, e);
91
+ return console.log("[PayNext CDN] mount() called, waiting for SDK..."), yield this.waitForReady(), console.log("[PayNext CDN] SDK ready, calling mount on CDN instance..."), this.cdnInstance.mount(n, t);
86
92
  });
87
93
  }
88
94
  /**
@@ -99,49 +105,49 @@ class D {
99
105
  *
100
106
  * @param config - New configuration
101
107
  */
102
- updateConfig(t) {
108
+ updateConfig(n) {
103
109
  return o(this, null, function* () {
104
110
  if (yield this.waitForReady(), this.cdnInstance.updateConfig)
105
- return this.cdnInstance.updateConfig(t);
111
+ return this.cdnInstance.updateConfig(n);
106
112
  });
107
113
  }
108
114
  /**
109
115
  * Get SDK version
110
116
  */
111
117
  static getVersion() {
112
- return y;
118
+ return P;
113
119
  }
114
120
  /**
115
121
  * Get CDN URL
116
122
  */
117
123
  static getCDNUrl() {
118
- return s;
124
+ return c;
119
125
  }
120
126
  /**
121
127
  * Check if SDK is loaded
122
128
  */
123
129
  static isLoaded() {
124
- return a !== null;
130
+ return s !== null;
125
131
  }
126
132
  /**
127
133
  * Preload SDK (optional optimization)
128
134
  */
129
135
  static preload() {
130
136
  return o(this, null, function* () {
131
- yield N();
137
+ yield y();
132
138
  });
133
139
  }
134
140
  }
135
- const S = {
136
- version: y,
137
- cdnUrl: s,
141
+ const g = {
142
+ version: P,
143
+ cdnUrl: c,
138
144
  preload: D.preload,
139
145
  isLoaded: D.isLoaded
140
146
  };
141
- var x = /* @__PURE__ */ ((n) => (n.PAYPAL = "PAYPAL", n.APPLE_PAY = "APPLEPAY", n.GOOGLE_PAY = "GPAY", n.CARD = "CARD", n.VENMO = "VENMO", n))(x || {});
147
+ var x = /* @__PURE__ */ ((e) => (e.PAYPAL = "PAYPAL", e.APPLE_PAY = "APPLEPAY", e.GOOGLE_PAY = "GPAY", e.CARD = "CARD", e.VENMO = "VENMO", e))(x || {});
142
148
  export {
143
149
  D as PayNextCheckout,
144
- S as PayNextSDK,
150
+ g as PayNextSDK,
145
151
  x as PaymentMethod,
146
152
  D as default
147
153
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/app/cdn/sdk.ts","../src/pkg/checkout-api/constants/enums.ts"],"sourcesContent":["/**\n * PayNext SDK - CDN Loader\n * \n * This file provides a smart wrapper that automatically loads the SDK from CDN.\n * When users install via npm, they get the latest version from CDN automatically.\n * \n * Benefits:\n * - Always up-to-date (loads from CDN)\n * - Smaller npm package size\n * - Automatic CSS injection\n * - Browser caching benefits\n */\n\n// CDN configuration\nconst CDN_URL = 'https://paynext-sdk.cbvcode.workers.dev/index.cdn.js'\nconst CDN_VERSION = '1.0.0'\n\n// Cache for loaded SDK\nlet sdkPromise: Promise<any> | null = null\nlet sdkModule: any = null\n\n/**\n * Dynamically load SDK from CDN\n */\nasync function loadSDKFromCDN(): Promise<any> {\n // Return cached module if already loaded\n if (sdkModule) {\n return sdkModule\n }\n\n // Return existing promise if loading in progress\n if (sdkPromise) {\n return sdkPromise\n }\n\n // Create new loading promise\n sdkPromise = new Promise((resolve, reject) => {\n // Check if we're in browser environment\n if (typeof window === 'undefined') {\n reject(new Error('PayNext SDK can only be loaded in browser environment'))\n return\n }\n\n // Check if SDK already loaded globally\n if ((window as any).PayNextSDK) {\n sdkModule = (window as any).PayNextSDK\n resolve(sdkModule)\n return\n }\n\n // Dynamic import from CDN\n console.log('[PayNext CDN] Fetching SDK from:', CDN_URL)\n import(/* @vite-ignore */ CDN_URL)\n .then((module) => {\n console.log('[PayNext CDN] SDK fetched successfully, caching...')\n sdkModule = module\n // Cache in window for future use\n ;(window as any).PayNextSDK = module\n resolve(module)\n })\n .catch((error) => {\n console.error('[PayNext CDN] Failed to fetch SDK:', error)\n sdkPromise = null // Reset promise to allow retry\n reject(new Error(`Failed to load PayNext SDK from CDN: ${error.message}`))\n })\n })\n\n return sdkPromise\n}\n\n/**\n * PayNextCheckout Proxy Class\n * \n * This class acts as a proxy that loads the actual implementation from CDN.\n * Users can use it immediately, and the CDN version will be loaded on demand.\n */\nexport class PayNextCheckout {\n private cdnInstance: any = null\n private initPromise: Promise<void> | null = null\n\n constructor() {\n // Start loading SDK immediately\n this.initPromise = this.initialize()\n }\n\n /**\n * Initialize SDK from CDN\n */\n private async initialize(): Promise<void> {\n try {\n console.log('[PayNext CDN] Loading SDK from CDN...')\n const sdk = await loadSDKFromCDN()\n console.log('[PayNext CDN] SDK loaded, exports:', Object.keys(sdk))\n \n if (!sdk.PayNextCheckout) {\n throw new Error('PayNextCheckout not found in CDN module')\n }\n \n this.cdnInstance = new sdk.PayNextCheckout()\n console.log('[PayNext CDN] Instance created successfully')\n } catch (error) {\n console.error('[PayNext CDN] Failed to initialize:', error)\n throw error\n }\n }\n\n /**\n * Wait for SDK to be ready\n */\n private async waitForReady(): Promise<void> {\n if (!this.initPromise) {\n throw new Error('SDK initialization not started')\n }\n await this.initPromise\n if (!this.cdnInstance) {\n throw new Error('SDK instance not created')\n }\n }\n\n /**\n * Mount checkout to DOM element\n * \n * @param containerId - DOM element ID\n * @param config - Checkout configuration\n */\n async mount(containerId: string, config: any): Promise<void> {\n console.log('[PayNext CDN] mount() called, waiting for SDK...')\n await this.waitForReady()\n console.log('[PayNext CDN] SDK ready, calling mount on CDN instance...')\n return this.cdnInstance.mount(containerId, config)\n }\n\n /**\n * Unmount checkout from DOM\n */\n async unmount(): Promise<void> {\n await this.waitForReady()\n if (this.cdnInstance.unmount) {\n return this.cdnInstance.unmount()\n }\n }\n\n /**\n * Update checkout configuration\n * \n * @param config - New configuration\n */\n async updateConfig(config: any): Promise<void> {\n await this.waitForReady()\n if (this.cdnInstance.updateConfig) {\n return this.cdnInstance.updateConfig(config)\n }\n }\n\n /**\n * Get SDK version\n */\n static getVersion(): string {\n return CDN_VERSION\n }\n\n /**\n * Get CDN URL\n */\n static getCDNUrl(): string {\n return CDN_URL\n }\n\n /**\n * Check if SDK is loaded\n */\n static isLoaded(): boolean {\n return sdkModule !== null\n }\n\n /**\n * Preload SDK (optional optimization)\n */\n static async preload(): Promise<void> {\n await loadSDKFromCDN()\n }\n}\n\n/**\n * Export utilities\n */\nexport const PayNextSDK = {\n version: CDN_VERSION,\n cdnUrl: CDN_URL,\n preload: PayNextCheckout.preload,\n isLoaded: PayNextCheckout.isLoaded,\n}\n\n// Export default\nexport default PayNextCheckout\n\n","export enum PaymentMethod {\n PAYPAL = 'PAYPAL',\n APPLE_PAY = 'APPLEPAY',\n GOOGLE_PAY = 'GPAY',\n CARD = 'CARD',\n VENMO = 'VENMO',\n}\n\nexport enum PaymentStatus {\n PENDING = 'PENDING',\n FAILED = 'FAILED',\n AUTHORIZED = 'AUTHORIZED',\n SETTLING = 'SETTLING',\n SETTLED = 'SETTLED',\n DECLINED = 'DECLINED',\n CANCELLED = 'CANCELLED',\n}\n\nexport enum DeclineCode {\n INSUFFICIENT_FUNDS = 'insufficient_funds',\n AUTHENTICATION_REQUIRED = 'authentication_required',\n CARD_ISSUER_DECLINE = 'card_issuer_decline',\n GENERIC_DECLINE = 'generic_decline',\n WITHDRAWAL_LIMIT_EXCEEDED = 'withdrawal_limit_exceeded',\n DO_NOT_HONOR = 'do_not_honor',\n EXPIRED_CARD = 'expired_card',\n SUSPECTED_FRAUD = 'suspected_fraud',\n INCORRECT_CVC = 'incorrect_cvc',\n INVALID_CARD_NUMBER = 'invalid_card_number',\n ISSUER_UNAVAILABLE = 'issuer_unavailable',\n CARD_LOST_OR_STOLEN = 'card_lost_or_stolen',\n CARD_DECLINED = 'card_declined',\n}\n"],"names":["CDN_URL","CDN_VERSION","sdkPromise","sdkModule","loadSDKFromCDN","__async","resolve","reject","module","error","PayNextCheckout","__publicField","sdk","containerId","config","PayNextSDK","PaymentMethod"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../src/app/cdn/sdk.ts","../src/pkg/checkout-api/constants/enums.ts"],"sourcesContent":["/**\n * PayNext SDK - CDN Loader\n * \n * This file provides a smart wrapper that automatically loads the SDK from CDN.\n * When users install via npm, they get the latest version from CDN automatically.\n * \n * Benefits:\n * - Always up-to-date (loads from CDN)\n * - Smaller npm package size\n * - Automatic CSS injection\n * - Browser caching benefits\n */\n\n// CDN configuration\nconst CDN_URL = 'https://paynext-sdk.cbvcode.workers.dev/index.cdn.js'\nconst CDN_VERSION = '1.0.0'\n\n// Cache for loaded SDK\nlet sdkPromise: Promise<any> | null = null\nlet sdkModule: any = null\n\n/**\n * Dynamically load SDK from CDN using script tag\n */\nasync function loadSDKFromCDN(): Promise<any> {\n // Return cached module if already loaded\n if (sdkModule) {\n return sdkModule\n }\n\n // Return existing promise if loading in progress\n if (sdkPromise) {\n return sdkPromise\n }\n\n // Create new loading promise\n sdkPromise = new Promise((resolve, reject) => {\n // Check if we're in browser environment\n if (typeof window === 'undefined') {\n reject(new Error('PayNext SDK can only be loaded in browser environment'))\n return\n }\n\n // Check if SDK already loaded globally\n if ((window as any).PayNextCDNModule) {\n sdkModule = (window as any).PayNextCDNModule\n resolve(sdkModule)\n return\n }\n\n console.log('[PayNext CDN] Fetching SDK from:', CDN_URL)\n\n // Create script tag for CDN loading\n const script = document.createElement('script')\n script.crossOrigin = 'anonymous'\n \n // Success handler\n script.onload = () => {\n console.log('[PayNext CDN] Script loaded, checking exports...')\n \n // Wait a bit for module to initialize\n setTimeout(() => {\n const module = (window as any).PayNextCDNModule\n \n if (!module) {\n console.error('[PayNext CDN] Module not found in window.PayNextCDNModule')\n sdkPromise = null\n reject(new Error('SDK module not found after loading'))\n return\n }\n \n console.log('[PayNext CDN] SDK fetched successfully, caching...')\n sdkModule = module\n resolve(module)\n }, 100)\n }\n \n // Error handler\n script.onerror = (error) => {\n console.error('[PayNext CDN] Failed to load script:', error)\n sdkPromise = null\n document.head.removeChild(script)\n reject(new Error('Failed to load PayNext SDK from CDN'))\n }\n \n // Set source and append to head\n script.src = CDN_URL\n document.head.appendChild(script)\n })\n\n return sdkPromise\n}\n\n/**\n * PayNextCheckout Proxy Class\n * \n * This class acts as a proxy that loads the actual implementation from CDN.\n * Users can use it immediately, and the CDN version will be loaded on demand.\n */\nexport class PayNextCheckout {\n private cdnInstance: any = null\n private initPromise: Promise<void> | null = null\n\n constructor() {\n // Start loading SDK immediately\n this.initPromise = this.initialize()\n }\n\n /**\n * Initialize SDK from CDN\n */\n private async initialize(): Promise<void> {\n try {\n console.log('[PayNext CDN] Loading SDK from CDN...')\n const sdk = await loadSDKFromCDN()\n console.log('[PayNext CDN] SDK loaded, exports:', Object.keys(sdk))\n \n if (!sdk.PayNextCheckout) {\n throw new Error('PayNextCheckout not found in CDN module')\n }\n \n this.cdnInstance = new sdk.PayNextCheckout()\n console.log('[PayNext CDN] Instance created successfully')\n } catch (error) {\n console.error('[PayNext CDN] Failed to initialize:', error)\n throw error\n }\n }\n\n /**\n * Wait for SDK to be ready\n */\n private async waitForReady(): Promise<void> {\n if (!this.initPromise) {\n throw new Error('SDK initialization not started')\n }\n await this.initPromise\n if (!this.cdnInstance) {\n throw new Error('SDK instance not created')\n }\n }\n\n /**\n * Mount checkout to DOM element\n * \n * @param containerId - DOM element ID\n * @param config - Checkout configuration\n */\n async mount(containerId: string, config: any): Promise<void> {\n console.log('[PayNext CDN] mount() called, waiting for SDK...')\n await this.waitForReady()\n console.log('[PayNext CDN] SDK ready, calling mount on CDN instance...')\n return this.cdnInstance.mount(containerId, config)\n }\n\n /**\n * Unmount checkout from DOM\n */\n async unmount(): Promise<void> {\n await this.waitForReady()\n if (this.cdnInstance.unmount) {\n return this.cdnInstance.unmount()\n }\n }\n\n /**\n * Update checkout configuration\n * \n * @param config - New configuration\n */\n async updateConfig(config: any): Promise<void> {\n await this.waitForReady()\n if (this.cdnInstance.updateConfig) {\n return this.cdnInstance.updateConfig(config)\n }\n }\n\n /**\n * Get SDK version\n */\n static getVersion(): string {\n return CDN_VERSION\n }\n\n /**\n * Get CDN URL\n */\n static getCDNUrl(): string {\n return CDN_URL\n }\n\n /**\n * Check if SDK is loaded\n */\n static isLoaded(): boolean {\n return sdkModule !== null\n }\n\n /**\n * Preload SDK (optional optimization)\n */\n static async preload(): Promise<void> {\n await loadSDKFromCDN()\n }\n}\n\n/**\n * Export utilities\n */\nexport const PayNextSDK = {\n version: CDN_VERSION,\n cdnUrl: CDN_URL,\n preload: PayNextCheckout.preload,\n isLoaded: PayNextCheckout.isLoaded,\n}\n\n// Export default\nexport default PayNextCheckout\n\n","export enum PaymentMethod {\n PAYPAL = 'PAYPAL',\n APPLE_PAY = 'APPLEPAY',\n GOOGLE_PAY = 'GPAY',\n CARD = 'CARD',\n VENMO = 'VENMO',\n}\n\nexport enum PaymentStatus {\n PENDING = 'PENDING',\n FAILED = 'FAILED',\n AUTHORIZED = 'AUTHORIZED',\n SETTLING = 'SETTLING',\n SETTLED = 'SETTLED',\n DECLINED = 'DECLINED',\n CANCELLED = 'CANCELLED',\n}\n\nexport enum DeclineCode {\n INSUFFICIENT_FUNDS = 'insufficient_funds',\n AUTHENTICATION_REQUIRED = 'authentication_required',\n CARD_ISSUER_DECLINE = 'card_issuer_decline',\n GENERIC_DECLINE = 'generic_decline',\n WITHDRAWAL_LIMIT_EXCEEDED = 'withdrawal_limit_exceeded',\n DO_NOT_HONOR = 'do_not_honor',\n EXPIRED_CARD = 'expired_card',\n SUSPECTED_FRAUD = 'suspected_fraud',\n INCORRECT_CVC = 'incorrect_cvc',\n INVALID_CARD_NUMBER = 'invalid_card_number',\n ISSUER_UNAVAILABLE = 'issuer_unavailable',\n CARD_LOST_OR_STOLEN = 'card_lost_or_stolen',\n CARD_DECLINED = 'card_declined',\n}\n"],"names":["CDN_URL","CDN_VERSION","sdkPromise","sdkModule","loadSDKFromCDN","__async","resolve","reject","script","module","error","PayNextCheckout","__publicField","sdk","containerId","config","PayNextSDK","PaymentMethod"],"mappings":"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"}
package/dist/index.umd.js CHANGED
@@ -1,2 +1,2 @@
1
- (function(t,e){typeof exports=="object"&&typeof module!="undefined"?e(exports):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis!="undefined"?globalThis:t||self,e(t["PayNext SDK"]={}))})(this,function(t){"use strict";var P=Object.defineProperty;var f=(t,e,i)=>e in t?P(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var y=(t,e,i)=>f(t,typeof e!="symbol"?e+"":e,i);var c=(t,e,i)=>new Promise((d,s)=>{var N=a=>{try{u(i.next(a))}catch(n){s(n)}},l=a=>{try{u(i.throw(a))}catch(n){s(n)}},u=a=>a.done?d(a.value):Promise.resolve(a.value).then(N,l);u((i=i.apply(t,e)).next())});const e="https://paynext-sdk.cbvcode.workers.dev/index.cdn.js",i="1.0.0";let d=null,s=null;function N(){return c(this,null,function*(){return s||d||(d=new Promise((n,o)=>{if(typeof window=="undefined"){o(new Error("PayNext SDK can only be loaded in browser environment"));return}if(window.PayNextSDK){s=window.PayNextSDK,n(s);return}console.log("[PayNext CDN] Fetching SDK from:",e),import(e).then(r=>{console.log("[PayNext CDN] SDK fetched successfully, caching..."),s=r,window.PayNextSDK=r,n(r)}).catch(r=>{console.error("[PayNext CDN] Failed to fetch SDK:",r),d=null,o(new Error(`Failed to load PayNext SDK from CDN: ${r.message}`))})}),d)})}class l{constructor(){y(this,"cdnInstance",null);y(this,"initPromise",null);this.initPromise=this.initialize()}initialize(){return c(this,null,function*(){try{console.log("[PayNext CDN] Loading SDK from CDN...");const o=yield N();if(console.log("[PayNext CDN] SDK loaded, exports:",Object.keys(o)),!o.PayNextCheckout)throw new Error("PayNextCheckout not found in CDN module");this.cdnInstance=new o.PayNextCheckout,console.log("[PayNext CDN] Instance created successfully")}catch(o){throw console.error("[PayNext CDN] Failed to initialize:",o),o}})}waitForReady(){return c(this,null,function*(){if(!this.initPromise)throw new Error("SDK initialization not started");if(yield this.initPromise,!this.cdnInstance)throw new Error("SDK instance not created")})}mount(o,r){return c(this,null,function*(){return console.log("[PayNext CDN] mount() called, waiting for SDK..."),yield this.waitForReady(),console.log("[PayNext CDN] SDK ready, calling mount on CDN instance..."),this.cdnInstance.mount(o,r)})}unmount(){return c(this,null,function*(){if(yield this.waitForReady(),this.cdnInstance.unmount)return this.cdnInstance.unmount()})}updateConfig(o){return c(this,null,function*(){if(yield this.waitForReady(),this.cdnInstance.updateConfig)return this.cdnInstance.updateConfig(o)})}static getVersion(){return i}static getCDNUrl(){return e}static isLoaded(){return s!==null}static preload(){return c(this,null,function*(){yield N()})}}const u={version:i,cdnUrl:e,preload:l.preload,isLoaded:l.isLoaded};var a=(n=>(n.PAYPAL="PAYPAL",n.APPLE_PAY="APPLEPAY",n.GOOGLE_PAY="GPAY",n.CARD="CARD",n.VENMO="VENMO",n))(a||{});t.PayNextCheckout=l,t.PayNextSDK=u,t.PaymentMethod=a,t.default=l,Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(n,e){typeof exports=="object"&&typeof module!="undefined"?e(exports):typeof define=="function"&&define.amd?define(["exports"],e):(n=typeof globalThis!="undefined"?globalThis:n||self,e(n["PayNext SDK"]={}))})(this,function(n){"use strict";var f=Object.defineProperty;var D=(n,e,i)=>e in n?f(n,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):n[e]=i;var P=(n,e,i)=>D(n,typeof e!="symbol"?e+"":e,i);var c=(n,e,i)=>new Promise((s,r)=>{var y=a=>{try{u(i.next(a))}catch(t){r(t)}},l=a=>{try{u(i.throw(a))}catch(t){r(t)}},u=a=>a.done?s(a.value):Promise.resolve(a.value).then(y,l);u((i=i.apply(n,e)).next())});const e="https://paynext-sdk.cbvcode.workers.dev/index.cdn.js",i="1.0.0";let s=null,r=null;function y(){return c(this,null,function*(){return r||s||(s=new Promise((t,o)=>{if(typeof window=="undefined"){o(new Error("PayNext SDK can only be loaded in browser environment"));return}if(window.PayNextCDNModule){r=window.PayNextCDNModule,t(r);return}console.log("[PayNext CDN] Fetching SDK from:",e);const d=document.createElement("script");d.crossOrigin="anonymous",d.onload=()=>{console.log("[PayNext CDN] Script loaded, checking exports..."),setTimeout(()=>{const N=window.PayNextCDNModule;if(!N){console.error("[PayNext CDN] Module not found in window.PayNextCDNModule"),s=null,o(new Error("SDK module not found after loading"));return}console.log("[PayNext CDN] SDK fetched successfully, caching..."),r=N,t(N)},100)},d.onerror=N=>{console.error("[PayNext CDN] Failed to load script:",N),s=null,document.head.removeChild(d),o(new Error("Failed to load PayNext SDK from CDN"))},d.src=e,document.head.appendChild(d)}),s)})}class l{constructor(){P(this,"cdnInstance",null);P(this,"initPromise",null);this.initPromise=this.initialize()}initialize(){return c(this,null,function*(){try{console.log("[PayNext CDN] Loading SDK from CDN...");const o=yield y();if(console.log("[PayNext CDN] SDK loaded, exports:",Object.keys(o)),!o.PayNextCheckout)throw new Error("PayNextCheckout not found in CDN module");this.cdnInstance=new o.PayNextCheckout,console.log("[PayNext CDN] Instance created successfully")}catch(o){throw console.error("[PayNext CDN] Failed to initialize:",o),o}})}waitForReady(){return c(this,null,function*(){if(!this.initPromise)throw new Error("SDK initialization not started");if(yield this.initPromise,!this.cdnInstance)throw new Error("SDK instance not created")})}mount(o,d){return c(this,null,function*(){return console.log("[PayNext CDN] mount() called, waiting for SDK..."),yield this.waitForReady(),console.log("[PayNext CDN] SDK ready, calling mount on CDN instance..."),this.cdnInstance.mount(o,d)})}unmount(){return c(this,null,function*(){if(yield this.waitForReady(),this.cdnInstance.unmount)return this.cdnInstance.unmount()})}updateConfig(o){return c(this,null,function*(){if(yield this.waitForReady(),this.cdnInstance.updateConfig)return this.cdnInstance.updateConfig(o)})}static getVersion(){return i}static getCDNUrl(){return e}static isLoaded(){return r!==null}static preload(){return c(this,null,function*(){yield y()})}}const u={version:i,cdnUrl:e,preload:l.preload,isLoaded:l.isLoaded};var a=(t=>(t.PAYPAL="PAYPAL",t.APPLE_PAY="APPLEPAY",t.GOOGLE_PAY="GPAY",t.CARD="CARD",t.VENMO="VENMO",t))(a||{});n.PayNextCheckout=l,n.PayNextSDK=u,n.PaymentMethod=a,n.default=l,Object.defineProperties(n,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
2
2
  //# sourceMappingURL=index.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.js","sources":["../src/app/cdn/sdk.ts","../src/pkg/checkout-api/constants/enums.ts"],"sourcesContent":["/**\n * PayNext SDK - CDN Loader\n * \n * This file provides a smart wrapper that automatically loads the SDK from CDN.\n * When users install via npm, they get the latest version from CDN automatically.\n * \n * Benefits:\n * - Always up-to-date (loads from CDN)\n * - Smaller npm package size\n * - Automatic CSS injection\n * - Browser caching benefits\n */\n\n// CDN configuration\nconst CDN_URL = 'https://paynext-sdk.cbvcode.workers.dev/index.cdn.js'\nconst CDN_VERSION = '1.0.0'\n\n// Cache for loaded SDK\nlet sdkPromise: Promise<any> | null = null\nlet sdkModule: any = null\n\n/**\n * Dynamically load SDK from CDN\n */\nasync function loadSDKFromCDN(): Promise<any> {\n // Return cached module if already loaded\n if (sdkModule) {\n return sdkModule\n }\n\n // Return existing promise if loading in progress\n if (sdkPromise) {\n return sdkPromise\n }\n\n // Create new loading promise\n sdkPromise = new Promise((resolve, reject) => {\n // Check if we're in browser environment\n if (typeof window === 'undefined') {\n reject(new Error('PayNext SDK can only be loaded in browser environment'))\n return\n }\n\n // Check if SDK already loaded globally\n if ((window as any).PayNextSDK) {\n sdkModule = (window as any).PayNextSDK\n resolve(sdkModule)\n return\n }\n\n // Dynamic import from CDN\n console.log('[PayNext CDN] Fetching SDK from:', CDN_URL)\n import(/* @vite-ignore */ CDN_URL)\n .then((module) => {\n console.log('[PayNext CDN] SDK fetched successfully, caching...')\n sdkModule = module\n // Cache in window for future use\n ;(window as any).PayNextSDK = module\n resolve(module)\n })\n .catch((error) => {\n console.error('[PayNext CDN] Failed to fetch SDK:', error)\n sdkPromise = null // Reset promise to allow retry\n reject(new Error(`Failed to load PayNext SDK from CDN: ${error.message}`))\n })\n })\n\n return sdkPromise\n}\n\n/**\n * PayNextCheckout Proxy Class\n * \n * This class acts as a proxy that loads the actual implementation from CDN.\n * Users can use it immediately, and the CDN version will be loaded on demand.\n */\nexport class PayNextCheckout {\n private cdnInstance: any = null\n private initPromise: Promise<void> | null = null\n\n constructor() {\n // Start loading SDK immediately\n this.initPromise = this.initialize()\n }\n\n /**\n * Initialize SDK from CDN\n */\n private async initialize(): Promise<void> {\n try {\n console.log('[PayNext CDN] Loading SDK from CDN...')\n const sdk = await loadSDKFromCDN()\n console.log('[PayNext CDN] SDK loaded, exports:', Object.keys(sdk))\n \n if (!sdk.PayNextCheckout) {\n throw new Error('PayNextCheckout not found in CDN module')\n }\n \n this.cdnInstance = new sdk.PayNextCheckout()\n console.log('[PayNext CDN] Instance created successfully')\n } catch (error) {\n console.error('[PayNext CDN] Failed to initialize:', error)\n throw error\n }\n }\n\n /**\n * Wait for SDK to be ready\n */\n private async waitForReady(): Promise<void> {\n if (!this.initPromise) {\n throw new Error('SDK initialization not started')\n }\n await this.initPromise\n if (!this.cdnInstance) {\n throw new Error('SDK instance not created')\n }\n }\n\n /**\n * Mount checkout to DOM element\n * \n * @param containerId - DOM element ID\n * @param config - Checkout configuration\n */\n async mount(containerId: string, config: any): Promise<void> {\n console.log('[PayNext CDN] mount() called, waiting for SDK...')\n await this.waitForReady()\n console.log('[PayNext CDN] SDK ready, calling mount on CDN instance...')\n return this.cdnInstance.mount(containerId, config)\n }\n\n /**\n * Unmount checkout from DOM\n */\n async unmount(): Promise<void> {\n await this.waitForReady()\n if (this.cdnInstance.unmount) {\n return this.cdnInstance.unmount()\n }\n }\n\n /**\n * Update checkout configuration\n * \n * @param config - New configuration\n */\n async updateConfig(config: any): Promise<void> {\n await this.waitForReady()\n if (this.cdnInstance.updateConfig) {\n return this.cdnInstance.updateConfig(config)\n }\n }\n\n /**\n * Get SDK version\n */\n static getVersion(): string {\n return CDN_VERSION\n }\n\n /**\n * Get CDN URL\n */\n static getCDNUrl(): string {\n return CDN_URL\n }\n\n /**\n * Check if SDK is loaded\n */\n static isLoaded(): boolean {\n return sdkModule !== null\n }\n\n /**\n * Preload SDK (optional optimization)\n */\n static async preload(): Promise<void> {\n await loadSDKFromCDN()\n }\n}\n\n/**\n * Export utilities\n */\nexport const PayNextSDK = {\n version: CDN_VERSION,\n cdnUrl: CDN_URL,\n preload: PayNextCheckout.preload,\n isLoaded: PayNextCheckout.isLoaded,\n}\n\n// Export default\nexport default PayNextCheckout\n\n","export enum PaymentMethod {\n PAYPAL = 'PAYPAL',\n APPLE_PAY = 'APPLEPAY',\n GOOGLE_PAY = 'GPAY',\n CARD = 'CARD',\n VENMO = 'VENMO',\n}\n\nexport enum PaymentStatus {\n PENDING = 'PENDING',\n FAILED = 'FAILED',\n AUTHORIZED = 'AUTHORIZED',\n SETTLING = 'SETTLING',\n SETTLED = 'SETTLED',\n DECLINED = 'DECLINED',\n CANCELLED = 'CANCELLED',\n}\n\nexport enum DeclineCode {\n INSUFFICIENT_FUNDS = 'insufficient_funds',\n AUTHENTICATION_REQUIRED = 'authentication_required',\n CARD_ISSUER_DECLINE = 'card_issuer_decline',\n GENERIC_DECLINE = 'generic_decline',\n WITHDRAWAL_LIMIT_EXCEEDED = 'withdrawal_limit_exceeded',\n DO_NOT_HONOR = 'do_not_honor',\n EXPIRED_CARD = 'expired_card',\n SUSPECTED_FRAUD = 'suspected_fraud',\n INCORRECT_CVC = 'incorrect_cvc',\n INVALID_CARD_NUMBER = 'invalid_card_number',\n ISSUER_UNAVAILABLE = 'issuer_unavailable',\n CARD_LOST_OR_STOLEN = 'card_lost_or_stolen',\n CARD_DECLINED = 'card_declined',\n}\n"],"names":["CDN_URL","CDN_VERSION","sdkPromise","sdkModule","loadSDKFromCDN","__async","resolve","reject","module","error","PayNextCheckout","__publicField","sdk","containerId","config","PayNextSDK","PaymentMethod"],"mappings":"ymBAcA,MAAMA,EAAU,uDACVC,EAAc,QAGpB,IAAIC,EAAkC,KAClCC,EAAiB,KAKrB,SAAeC,GAA+B,QAAAC,EAAA,sBAE5C,OAAIF,GAKAD,IAKJA,EAAa,IAAI,QAAQ,CAACI,EAASC,IAAW,CAE5C,GAAI,OAAO,QAAW,YAAa,CACjCA,EAAO,IAAI,MAAM,uDAAuD,CAAC,EACzE,MACF,CAGA,GAAK,OAAe,WAAY,CAC9BJ,EAAa,OAAe,WAC5BG,EAAQH,CAAS,EACjB,MACF,CAGA,QAAQ,IAAI,mCAAoCH,CAAO,EACvD,OAA0BA,GACvB,KAAMQ,GAAW,CAChB,QAAQ,IAAI,oDAAoD,EAChEL,EAAYK,EAEV,OAAe,WAAaA,EAC9BF,EAAQE,CAAM,CAChB,CAAC,EACA,MAAOC,GAAU,CAChB,QAAQ,MAAM,qCAAsCA,CAAK,EACzDP,EAAa,KACbK,EAAO,IAAI,MAAM,wCAAwCE,EAAM,OAAO,EAAE,CAAC,CAC3E,CAAC,CACL,CAAC,EAEMP,EACT,GAQO,MAAMQ,CAAgB,CAI3B,aAAc,CAHNC,EAAA,mBAAmB,MACnBA,EAAA,mBAAoC,MAI1C,KAAK,YAAc,KAAK,WAAA,CAC1B,CAKc,YAA4B,QAAAN,EAAA,sBACxC,GAAI,CACF,QAAQ,IAAI,uCAAuC,EACnD,MAAMO,EAAM,MAAMR,EAAA,EAGlB,GAFA,QAAQ,IAAI,qCAAsC,OAAO,KAAKQ,CAAG,CAAC,EAE9D,CAACA,EAAI,gBACP,MAAM,IAAI,MAAM,yCAAyC,EAG3D,KAAK,YAAc,IAAIA,EAAI,gBAC3B,QAAQ,IAAI,6CAA6C,CAC3D,OAASH,EAAO,CACd,cAAQ,MAAM,sCAAuCA,CAAK,EACpDA,CACR,CACF,GAKc,cAA8B,QAAAJ,EAAA,sBAC1C,GAAI,CAAC,KAAK,YACR,MAAM,IAAI,MAAM,gCAAgC,EAGlD,GADA,MAAM,KAAK,YACP,CAAC,KAAK,YACR,MAAM,IAAI,MAAM,0BAA0B,CAE9C,GAQM,MAAMQ,EAAqBC,EAA4B,QAAAT,EAAA,sBAC3D,eAAQ,IAAI,kDAAkD,EAC9D,MAAM,KAAK,aAAA,EACX,QAAQ,IAAI,2DAA2D,EAChE,KAAK,YAAY,MAAMQ,EAAaC,CAAM,CACnD,GAKM,SAAyB,QAAAT,EAAA,sBAE7B,GADA,MAAM,KAAK,aAAA,EACP,KAAK,YAAY,QACnB,OAAO,KAAK,YAAY,QAAA,CAE5B,GAOM,aAAaS,EAA4B,QAAAT,EAAA,sBAE7C,GADA,MAAM,KAAK,aAAA,EACP,KAAK,YAAY,aACnB,OAAO,KAAK,YAAY,aAAaS,CAAM,CAE/C,GAKA,OAAO,YAAqB,CAC1B,OAAOb,CACT,CAKA,OAAO,WAAoB,CACzB,OAAOD,CACT,CAKA,OAAO,UAAoB,CACzB,OAAOG,IAAc,IACvB,CAKA,OAAa,SAAyB,QAAAE,EAAA,sBACpC,MAAMD,EAAA,CACR,GACF,CAKO,MAAMW,EAAa,CACxB,QAASd,EACT,OAAQD,EACR,QAASU,EAAgB,QACzB,SAAUA,EAAgB,QAC5B,EC/LO,IAAKM,GAAAA,IACVA,EAAA,OAAS,SACTA,EAAA,UAAY,WACZA,EAAA,WAAa,OACbA,EAAA,KAAO,OACPA,EAAA,MAAQ,QALEA,IAAAA,GAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"index.umd.js","sources":["../src/app/cdn/sdk.ts","../src/pkg/checkout-api/constants/enums.ts"],"sourcesContent":["/**\n * PayNext SDK - CDN Loader\n * \n * This file provides a smart wrapper that automatically loads the SDK from CDN.\n * When users install via npm, they get the latest version from CDN automatically.\n * \n * Benefits:\n * - Always up-to-date (loads from CDN)\n * - Smaller npm package size\n * - Automatic CSS injection\n * - Browser caching benefits\n */\n\n// CDN configuration\nconst CDN_URL = 'https://paynext-sdk.cbvcode.workers.dev/index.cdn.js'\nconst CDN_VERSION = '1.0.0'\n\n// Cache for loaded SDK\nlet sdkPromise: Promise<any> | null = null\nlet sdkModule: any = null\n\n/**\n * Dynamically load SDK from CDN using script tag\n */\nasync function loadSDKFromCDN(): Promise<any> {\n // Return cached module if already loaded\n if (sdkModule) {\n return sdkModule\n }\n\n // Return existing promise if loading in progress\n if (sdkPromise) {\n return sdkPromise\n }\n\n // Create new loading promise\n sdkPromise = new Promise((resolve, reject) => {\n // Check if we're in browser environment\n if (typeof window === 'undefined') {\n reject(new Error('PayNext SDK can only be loaded in browser environment'))\n return\n }\n\n // Check if SDK already loaded globally\n if ((window as any).PayNextCDNModule) {\n sdkModule = (window as any).PayNextCDNModule\n resolve(sdkModule)\n return\n }\n\n console.log('[PayNext CDN] Fetching SDK from:', CDN_URL)\n\n // Create script tag for CDN loading\n const script = document.createElement('script')\n script.crossOrigin = 'anonymous'\n \n // Success handler\n script.onload = () => {\n console.log('[PayNext CDN] Script loaded, checking exports...')\n \n // Wait a bit for module to initialize\n setTimeout(() => {\n const module = (window as any).PayNextCDNModule\n \n if (!module) {\n console.error('[PayNext CDN] Module not found in window.PayNextCDNModule')\n sdkPromise = null\n reject(new Error('SDK module not found after loading'))\n return\n }\n \n console.log('[PayNext CDN] SDK fetched successfully, caching...')\n sdkModule = module\n resolve(module)\n }, 100)\n }\n \n // Error handler\n script.onerror = (error) => {\n console.error('[PayNext CDN] Failed to load script:', error)\n sdkPromise = null\n document.head.removeChild(script)\n reject(new Error('Failed to load PayNext SDK from CDN'))\n }\n \n // Set source and append to head\n script.src = CDN_URL\n document.head.appendChild(script)\n })\n\n return sdkPromise\n}\n\n/**\n * PayNextCheckout Proxy Class\n * \n * This class acts as a proxy that loads the actual implementation from CDN.\n * Users can use it immediately, and the CDN version will be loaded on demand.\n */\nexport class PayNextCheckout {\n private cdnInstance: any = null\n private initPromise: Promise<void> | null = null\n\n constructor() {\n // Start loading SDK immediately\n this.initPromise = this.initialize()\n }\n\n /**\n * Initialize SDK from CDN\n */\n private async initialize(): Promise<void> {\n try {\n console.log('[PayNext CDN] Loading SDK from CDN...')\n const sdk = await loadSDKFromCDN()\n console.log('[PayNext CDN] SDK loaded, exports:', Object.keys(sdk))\n \n if (!sdk.PayNextCheckout) {\n throw new Error('PayNextCheckout not found in CDN module')\n }\n \n this.cdnInstance = new sdk.PayNextCheckout()\n console.log('[PayNext CDN] Instance created successfully')\n } catch (error) {\n console.error('[PayNext CDN] Failed to initialize:', error)\n throw error\n }\n }\n\n /**\n * Wait for SDK to be ready\n */\n private async waitForReady(): Promise<void> {\n if (!this.initPromise) {\n throw new Error('SDK initialization not started')\n }\n await this.initPromise\n if (!this.cdnInstance) {\n throw new Error('SDK instance not created')\n }\n }\n\n /**\n * Mount checkout to DOM element\n * \n * @param containerId - DOM element ID\n * @param config - Checkout configuration\n */\n async mount(containerId: string, config: any): Promise<void> {\n console.log('[PayNext CDN] mount() called, waiting for SDK...')\n await this.waitForReady()\n console.log('[PayNext CDN] SDK ready, calling mount on CDN instance...')\n return this.cdnInstance.mount(containerId, config)\n }\n\n /**\n * Unmount checkout from DOM\n */\n async unmount(): Promise<void> {\n await this.waitForReady()\n if (this.cdnInstance.unmount) {\n return this.cdnInstance.unmount()\n }\n }\n\n /**\n * Update checkout configuration\n * \n * @param config - New configuration\n */\n async updateConfig(config: any): Promise<void> {\n await this.waitForReady()\n if (this.cdnInstance.updateConfig) {\n return this.cdnInstance.updateConfig(config)\n }\n }\n\n /**\n * Get SDK version\n */\n static getVersion(): string {\n return CDN_VERSION\n }\n\n /**\n * Get CDN URL\n */\n static getCDNUrl(): string {\n return CDN_URL\n }\n\n /**\n * Check if SDK is loaded\n */\n static isLoaded(): boolean {\n return sdkModule !== null\n }\n\n /**\n * Preload SDK (optional optimization)\n */\n static async preload(): Promise<void> {\n await loadSDKFromCDN()\n }\n}\n\n/**\n * Export utilities\n */\nexport const PayNextSDK = {\n version: CDN_VERSION,\n cdnUrl: CDN_URL,\n preload: PayNextCheckout.preload,\n isLoaded: PayNextCheckout.isLoaded,\n}\n\n// Export default\nexport default PayNextCheckout\n\n","export enum PaymentMethod {\n PAYPAL = 'PAYPAL',\n APPLE_PAY = 'APPLEPAY',\n GOOGLE_PAY = 'GPAY',\n CARD = 'CARD',\n VENMO = 'VENMO',\n}\n\nexport enum PaymentStatus {\n PENDING = 'PENDING',\n FAILED = 'FAILED',\n AUTHORIZED = 'AUTHORIZED',\n SETTLING = 'SETTLING',\n SETTLED = 'SETTLED',\n DECLINED = 'DECLINED',\n CANCELLED = 'CANCELLED',\n}\n\nexport enum DeclineCode {\n INSUFFICIENT_FUNDS = 'insufficient_funds',\n AUTHENTICATION_REQUIRED = 'authentication_required',\n CARD_ISSUER_DECLINE = 'card_issuer_decline',\n GENERIC_DECLINE = 'generic_decline',\n WITHDRAWAL_LIMIT_EXCEEDED = 'withdrawal_limit_exceeded',\n DO_NOT_HONOR = 'do_not_honor',\n EXPIRED_CARD = 'expired_card',\n SUSPECTED_FRAUD = 'suspected_fraud',\n INCORRECT_CVC = 'incorrect_cvc',\n INVALID_CARD_NUMBER = 'invalid_card_number',\n ISSUER_UNAVAILABLE = 'issuer_unavailable',\n CARD_LOST_OR_STOLEN = 'card_lost_or_stolen',\n CARD_DECLINED = 'card_declined',\n}\n"],"names":["CDN_URL","CDN_VERSION","sdkPromise","sdkModule","loadSDKFromCDN","__async","resolve","reject","script","module","error","PayNextCheckout","__publicField","sdk","containerId","config","PayNextSDK","PaymentMethod"],"mappings":"ymBAcA,MAAMA,EAAU,uDACVC,EAAc,QAGpB,IAAIC,EAAkC,KAClCC,EAAiB,KAKrB,SAAeC,GAA+B,QAAAC,EAAA,sBAE5C,OAAIF,GAKAD,IAKJA,EAAa,IAAI,QAAQ,CAACI,EAASC,IAAW,CAE5C,GAAI,OAAO,QAAW,YAAa,CACjCA,EAAO,IAAI,MAAM,uDAAuD,CAAC,EACzE,MACF,CAGA,GAAK,OAAe,iBAAkB,CACpCJ,EAAa,OAAe,iBAC5BG,EAAQH,CAAS,EACjB,MACF,CAEA,QAAQ,IAAI,mCAAoCH,CAAO,EAGvD,MAAMQ,EAAS,SAAS,cAAc,QAAQ,EAC9CA,EAAO,YAAc,YAGrBA,EAAO,OAAS,IAAM,CACpB,QAAQ,IAAI,kDAAkD,EAG9D,WAAW,IAAM,CACf,MAAMC,EAAU,OAAe,iBAE/B,GAAI,CAACA,EAAQ,CACX,QAAQ,MAAM,2DAA2D,EACzEP,EAAa,KACbK,EAAO,IAAI,MAAM,oCAAoC,CAAC,EACtD,MACF,CAEA,QAAQ,IAAI,oDAAoD,EAChEJ,EAAYM,EACZH,EAAQG,CAAM,CAChB,EAAG,GAAG,CACR,EAGAD,EAAO,QAAWE,GAAU,CAC1B,QAAQ,MAAM,uCAAwCA,CAAK,EAC3DR,EAAa,KACb,SAAS,KAAK,YAAYM,CAAM,EAChCD,EAAO,IAAI,MAAM,qCAAqC,CAAC,CACzD,EAGAC,EAAO,IAAMR,EACb,SAAS,KAAK,YAAYQ,CAAM,CAClC,CAAC,EAEMN,EACT,GAQO,MAAMS,CAAgB,CAI3B,aAAc,CAHNC,EAAA,mBAAmB,MACnBA,EAAA,mBAAoC,MAI1C,KAAK,YAAc,KAAK,WAAA,CAC1B,CAKc,YAA4B,QAAAP,EAAA,sBACxC,GAAI,CACF,QAAQ,IAAI,uCAAuC,EACnD,MAAMQ,EAAM,MAAMT,EAAA,EAGlB,GAFA,QAAQ,IAAI,qCAAsC,OAAO,KAAKS,CAAG,CAAC,EAE9D,CAACA,EAAI,gBACP,MAAM,IAAI,MAAM,yCAAyC,EAG3D,KAAK,YAAc,IAAIA,EAAI,gBAC3B,QAAQ,IAAI,6CAA6C,CAC3D,OAASH,EAAO,CACd,cAAQ,MAAM,sCAAuCA,CAAK,EACpDA,CACR,CACF,GAKc,cAA8B,QAAAL,EAAA,sBAC1C,GAAI,CAAC,KAAK,YACR,MAAM,IAAI,MAAM,gCAAgC,EAGlD,GADA,MAAM,KAAK,YACP,CAAC,KAAK,YACR,MAAM,IAAI,MAAM,0BAA0B,CAE9C,GAQM,MAAMS,EAAqBC,EAA4B,QAAAV,EAAA,sBAC3D,eAAQ,IAAI,kDAAkD,EAC9D,MAAM,KAAK,aAAA,EACX,QAAQ,IAAI,2DAA2D,EAChE,KAAK,YAAY,MAAMS,EAAaC,CAAM,CACnD,GAKM,SAAyB,QAAAV,EAAA,sBAE7B,GADA,MAAM,KAAK,aAAA,EACP,KAAK,YAAY,QACnB,OAAO,KAAK,YAAY,QAAA,CAE5B,GAOM,aAAaU,EAA4B,QAAAV,EAAA,sBAE7C,GADA,MAAM,KAAK,aAAA,EACP,KAAK,YAAY,aACnB,OAAO,KAAK,YAAY,aAAaU,CAAM,CAE/C,GAKA,OAAO,YAAqB,CAC1B,OAAOd,CACT,CAKA,OAAO,WAAoB,CACzB,OAAOD,CACT,CAKA,OAAO,UAAoB,CACzB,OAAOG,IAAc,IACvB,CAKA,OAAa,SAAyB,QAAAE,EAAA,sBACpC,MAAMD,EAAA,CACR,GACF,CAKO,MAAMY,EAAa,CACxB,QAASf,EACT,OAAQD,EACR,QAASW,EAAgB,QACzB,SAAUA,EAAgB,QAC5B,ECtNO,IAAKM,GAAAA,IACVA,EAAA,OAAS,SACTA,EAAA,UAAY,WACZA,EAAA,WAAa,OACbA,EAAA,KAAO,OACPA,EAAA,MAAQ,QALEA,IAAAA,GAAA,CAAA,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paynext/sdk",
3
- "version": "0.0.138",
3
+ "version": "0.0.140",
4
4
  "description": "PayNext SDK - Payment processing with automatic CDN loading",
5
5
  "type": "module",
6
6
  "main": "dist/index.es.js",