@odus/checkout 0.1.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -7
- package/dist/checkout.d.ts +54 -1
- package/dist/checkout.es.js +445 -413
- package/dist/index.css +1 -1
- package/dist/package.json +5 -2
- package/package.json +5 -2
- package/dist/checkout.es.js.map +0 -1
- package/dist/checkout.umd.js +0 -19
- package/dist/checkout.umd.js.map +0 -1
package/dist/checkout.es.js
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
const
|
|
2
|
-
const [e, ...t] = n?.split(" ") || [], [
|
|
3
|
-
return { firstName: e, lastName:
|
|
1
|
+
const L = (n) => n === "test" ? "https://sandbox-api.odus.com" : n === "live" ? "https://api.odus.com" : "http://localhost:3000", D = ({ name: n }) => {
|
|
2
|
+
const [e, ...t] = n?.split(" ") || [], [a] = t.reverse();
|
|
3
|
+
return { firstName: e, lastName: a };
|
|
4
4
|
};
|
|
5
|
-
class
|
|
5
|
+
class $ {
|
|
6
6
|
apiKey;
|
|
7
7
|
baseUrl;
|
|
8
8
|
browserInfo;
|
|
9
|
-
constructor(e, t,
|
|
10
|
-
this.apiKey = e, this.baseUrl =
|
|
9
|
+
constructor(e, t, a) {
|
|
10
|
+
this.apiKey = e, this.baseUrl = L(t), this.browserInfo = a || { userAgent: navigator.userAgent };
|
|
11
11
|
}
|
|
12
12
|
async fetchApi({
|
|
13
13
|
endpoint: e,
|
|
14
14
|
method: t = "POST",
|
|
15
|
-
body:
|
|
16
|
-
customHeaders:
|
|
15
|
+
body: a,
|
|
16
|
+
customHeaders: i = {}
|
|
17
17
|
}) {
|
|
18
18
|
const s = {
|
|
19
19
|
Authorization: `Bearer ${this.apiKey}`,
|
|
20
20
|
"Content-Type": "application/json",
|
|
21
|
-
...
|
|
21
|
+
...i
|
|
22
22
|
};
|
|
23
23
|
try {
|
|
24
24
|
const r = await fetch(`${this.baseUrl}${e}`, {
|
|
25
25
|
method: t,
|
|
26
26
|
headers: s,
|
|
27
|
-
body:
|
|
27
|
+
body: a ? JSON.stringify(a) : void 0
|
|
28
28
|
});
|
|
29
29
|
if (!r.ok) {
|
|
30
30
|
let o;
|
|
@@ -54,25 +54,25 @@ class V {
|
|
|
54
54
|
async authorizePayment({
|
|
55
55
|
paymentId: e,
|
|
56
56
|
checkoutKey: t,
|
|
57
|
-
formData:
|
|
58
|
-
token:
|
|
57
|
+
formData: a,
|
|
58
|
+
token: i,
|
|
59
59
|
returnUrl: s
|
|
60
60
|
}) {
|
|
61
61
|
let r = {};
|
|
62
|
-
if (
|
|
63
|
-
const o =
|
|
62
|
+
if (i && a) {
|
|
63
|
+
const o = a.cardExpiry.replace(/\s+/g, "").split("/"), l = o[0], c = o[1], { firstName: h, lastName: m } = D({ name: a.name });
|
|
64
64
|
r = {
|
|
65
65
|
paymentMethodData: {
|
|
66
66
|
type: "card",
|
|
67
67
|
card: {
|
|
68
|
-
token:
|
|
68
|
+
token: i,
|
|
69
69
|
expMonth: l,
|
|
70
70
|
expYear: `20${c}`,
|
|
71
|
-
cardholderName:
|
|
71
|
+
cardholderName: a.name
|
|
72
72
|
}
|
|
73
73
|
},
|
|
74
74
|
customerData: {
|
|
75
|
-
email:
|
|
75
|
+
email: a.email,
|
|
76
76
|
firstName: h,
|
|
77
77
|
lastName: m
|
|
78
78
|
},
|
|
@@ -100,23 +100,23 @@ class V {
|
|
|
100
100
|
});
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
|
-
const
|
|
103
|
+
const V = async ({
|
|
104
104
|
id: n,
|
|
105
105
|
apiKey: e,
|
|
106
106
|
environment: t
|
|
107
107
|
}) => {
|
|
108
|
-
const
|
|
108
|
+
const a = L(t), i = await fetch(`${a}/checkout-profiles/${n}`, {
|
|
109
109
|
method: "GET",
|
|
110
110
|
headers: {
|
|
111
111
|
"Content-Type": "application/json",
|
|
112
112
|
Authorization: `Bearer ${e}`
|
|
113
113
|
}
|
|
114
114
|
});
|
|
115
|
-
if (!
|
|
116
|
-
throw new Error(`HTTP error! Status: ${
|
|
117
|
-
return await
|
|
115
|
+
if (!i.ok)
|
|
116
|
+
throw new Error(`HTTP error! Status: ${i.status}`);
|
|
117
|
+
return await i.json();
|
|
118
118
|
};
|
|
119
|
-
class
|
|
119
|
+
class R {
|
|
120
120
|
events = /* @__PURE__ */ new Map();
|
|
121
121
|
/**
|
|
122
122
|
* Subscribe to an event
|
|
@@ -126,8 +126,8 @@ class $ {
|
|
|
126
126
|
*/
|
|
127
127
|
subscribe(e, t) {
|
|
128
128
|
return this.events.has(e) || this.events.set(e, /* @__PURE__ */ new Set()), this.events.get(e)?.add(t), () => {
|
|
129
|
-
const
|
|
130
|
-
|
|
129
|
+
const a = this.events.get(e);
|
|
130
|
+
a && (a.delete(t), a.size === 0 && this.events.delete(e));
|
|
131
131
|
};
|
|
132
132
|
}
|
|
133
133
|
/**
|
|
@@ -136,8 +136,8 @@ class $ {
|
|
|
136
136
|
* @param data - The data to pass to subscribers
|
|
137
137
|
*/
|
|
138
138
|
publish(e, t) {
|
|
139
|
-
const
|
|
140
|
-
|
|
139
|
+
const a = this.events.get(e);
|
|
140
|
+
a && a.forEach((i) => i(t));
|
|
141
141
|
}
|
|
142
142
|
/**
|
|
143
143
|
* Clear all event subscriptions
|
|
@@ -154,13 +154,13 @@ class $ {
|
|
|
154
154
|
return this.events.get(e)?.size || 0;
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
|
-
const
|
|
158
|
-
class
|
|
157
|
+
const B = new R();
|
|
158
|
+
class O {
|
|
159
159
|
state;
|
|
160
160
|
initialState;
|
|
161
161
|
eventBus;
|
|
162
162
|
stateChangedEvent = "state-changed";
|
|
163
|
-
constructor(e, t =
|
|
163
|
+
constructor(e, t = B) {
|
|
164
164
|
this.initialState = { ...e }, this.state = { ...e }, this.eventBus = t;
|
|
165
165
|
}
|
|
166
166
|
/**
|
|
@@ -201,41 +201,41 @@ class B {
|
|
|
201
201
|
}
|
|
202
202
|
}
|
|
203
203
|
function x(n) {
|
|
204
|
-
return new
|
|
204
|
+
return new O(n);
|
|
205
205
|
}
|
|
206
|
-
function
|
|
206
|
+
function H({
|
|
207
207
|
apiKey: n,
|
|
208
208
|
profileId: e,
|
|
209
209
|
environment: t
|
|
210
210
|
}) {
|
|
211
|
-
const
|
|
211
|
+
const a = x({
|
|
212
212
|
checkoutProfile: void 0,
|
|
213
213
|
isLoading: !0,
|
|
214
214
|
error: null
|
|
215
|
-
}),
|
|
215
|
+
}), i = async () => {
|
|
216
216
|
try {
|
|
217
|
-
|
|
218
|
-
const s = await
|
|
217
|
+
a.setState({ isLoading: !0 });
|
|
218
|
+
const s = await V({
|
|
219
219
|
apiKey: n,
|
|
220
220
|
id: e,
|
|
221
221
|
environment: t
|
|
222
222
|
});
|
|
223
|
-
s &&
|
|
223
|
+
s && a.setState({
|
|
224
224
|
checkoutProfile: s,
|
|
225
225
|
isLoading: !1,
|
|
226
226
|
error: null
|
|
227
227
|
});
|
|
228
228
|
} catch (s) {
|
|
229
|
-
|
|
229
|
+
a.setState({
|
|
230
230
|
error: "Failed to load checkout profile",
|
|
231
231
|
isLoading: !1
|
|
232
232
|
}), console.error(s);
|
|
233
233
|
}
|
|
234
234
|
};
|
|
235
|
-
return
|
|
236
|
-
getState:
|
|
237
|
-
subscribe:
|
|
238
|
-
reload:
|
|
235
|
+
return i(), {
|
|
236
|
+
getState: a.getState.bind(a),
|
|
237
|
+
subscribe: a.subscribe.bind(a),
|
|
238
|
+
reload: i
|
|
239
239
|
};
|
|
240
240
|
}
|
|
241
241
|
const T = {
|
|
@@ -244,7 +244,7 @@ const T = {
|
|
|
244
244
|
const t = n.replace(/\D/g, "").slice(0, 4);
|
|
245
245
|
return t.length > 2 ? `${t.slice(0, 2)} / ${t.slice(2)}` : t;
|
|
246
246
|
}
|
|
247
|
-
},
|
|
247
|
+
}, P = {
|
|
248
248
|
"gmail.com": [
|
|
249
249
|
"gmal.com",
|
|
250
250
|
"gmil.com",
|
|
@@ -316,7 +316,7 @@ const T = {
|
|
|
316
316
|
"comcast.net": ["comcast.com", "comcat.net", "comcst.net", "comcastnet", "comcast.nt", "comcas.net"],
|
|
317
317
|
"verizon.net": ["verizon.com", "verizon.nt", "verizonnet", "verizn.net", "verizon.ne", "verzon.net"],
|
|
318
318
|
"att.net": ["att.com", "at.net", "att.nt", "attnet", "att.ne", "attt.net"]
|
|
319
|
-
},
|
|
319
|
+
}, K = (n) => {
|
|
320
320
|
if (!n || n.includes("."))
|
|
321
321
|
return null;
|
|
322
322
|
const e = ["com", "net", "org", "edu", "gov", "io", "co"];
|
|
@@ -324,60 +324,60 @@ const T = {
|
|
|
324
324
|
if (n === "companycok" && t === "co")
|
|
325
325
|
return "company.co";
|
|
326
326
|
if (n.endsWith(t) && !n.includes(".")) {
|
|
327
|
-
const
|
|
328
|
-
return `${n.substring(0,
|
|
327
|
+
const a = n.length - t.length;
|
|
328
|
+
return `${n.substring(0, a)}.${t}`;
|
|
329
329
|
}
|
|
330
330
|
}
|
|
331
331
|
return null;
|
|
332
332
|
}, j = (n, e) => {
|
|
333
333
|
if (n.length === 0) return e.length;
|
|
334
334
|
if (e.length === 0) return n.length;
|
|
335
|
-
const t = e.length + 1,
|
|
335
|
+
const t = e.length + 1, a = n.length + 1, i = Array.from(
|
|
336
336
|
{ length: t },
|
|
337
|
-
(s, r) => Array.from({ length:
|
|
337
|
+
(s, r) => Array.from({ length: a }, (o, l) => r === 0 ? l : l === 0 ? r : 0)
|
|
338
338
|
);
|
|
339
339
|
for (let s = 1; s < t; s++)
|
|
340
|
-
for (let r = 1; r <
|
|
340
|
+
for (let r = 1; r < a; r++) {
|
|
341
341
|
const o = n[r - 1] === e[s - 1] ? 0 : 1;
|
|
342
|
-
|
|
343
|
-
|
|
342
|
+
i[s][r] = Math.min(
|
|
343
|
+
i[s - 1][r] + 1,
|
|
344
344
|
// deletion
|
|
345
|
-
|
|
345
|
+
i[s][r - 1] + 1,
|
|
346
346
|
// insertion
|
|
347
|
-
|
|
347
|
+
i[s - 1][r - 1] + o
|
|
348
348
|
// substitution
|
|
349
349
|
);
|
|
350
350
|
}
|
|
351
|
-
return
|
|
352
|
-
},
|
|
353
|
-
let t = null,
|
|
354
|
-
const
|
|
355
|
-
for (const s of Object.keys(
|
|
356
|
-
const r = j(
|
|
357
|
-
r <= 2 && r <
|
|
351
|
+
return i[e.length][n.length];
|
|
352
|
+
}, U = (n) => {
|
|
353
|
+
let t = null, a = 3;
|
|
354
|
+
const i = n.toLowerCase();
|
|
355
|
+
for (const s of Object.keys(P)) {
|
|
356
|
+
const r = j(i, s);
|
|
357
|
+
r <= 2 && r < a && (a = r, t = s);
|
|
358
358
|
}
|
|
359
359
|
return t;
|
|
360
|
-
},
|
|
361
|
-
const { t: n } =
|
|
360
|
+
}, q = () => {
|
|
361
|
+
const { t: n } = M();
|
|
362
362
|
return {
|
|
363
363
|
validateEmail: (t) => {
|
|
364
|
-
const
|
|
364
|
+
const a = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
365
365
|
if (!t)
|
|
366
366
|
return {
|
|
367
367
|
isValid: !1,
|
|
368
368
|
message: n("validation.emailInvalid"),
|
|
369
369
|
suggestion: null
|
|
370
370
|
};
|
|
371
|
-
const
|
|
372
|
-
if (
|
|
371
|
+
const i = t.indexOf("@");
|
|
372
|
+
if (i === -1)
|
|
373
373
|
return {
|
|
374
374
|
isValid: !1,
|
|
375
375
|
message: n("validation.emailInvalid"),
|
|
376
376
|
suggestion: null
|
|
377
377
|
};
|
|
378
|
-
const s = t.substring(0,
|
|
378
|
+
const s = t.substring(0, i), r = t.substring(i + 1);
|
|
379
379
|
if (!r.includes(".")) {
|
|
380
|
-
const l =
|
|
380
|
+
const l = K(r);
|
|
381
381
|
if (l)
|
|
382
382
|
return {
|
|
383
383
|
isValid: !1,
|
|
@@ -386,7 +386,7 @@ const T = {
|
|
|
386
386
|
}),
|
|
387
387
|
suggestion: `${s}@${l}`
|
|
388
388
|
};
|
|
389
|
-
for (const c of Object.keys(
|
|
389
|
+
for (const c of Object.keys(P))
|
|
390
390
|
if (c.replace(/\./g, "") === r)
|
|
391
391
|
return {
|
|
392
392
|
isValid: !1,
|
|
@@ -396,13 +396,13 @@ const T = {
|
|
|
396
396
|
suggestion: `${s}@${c}`
|
|
397
397
|
};
|
|
398
398
|
}
|
|
399
|
-
if (!
|
|
399
|
+
if (!a.test(t))
|
|
400
400
|
return {
|
|
401
401
|
isValid: !1,
|
|
402
402
|
message: n("validation.emailInvalid"),
|
|
403
403
|
suggestion: null
|
|
404
404
|
};
|
|
405
|
-
const o =
|
|
405
|
+
const o = U(r);
|
|
406
406
|
if (o && o !== r) {
|
|
407
407
|
const l = `${s}@${o}`;
|
|
408
408
|
return {
|
|
@@ -418,30 +418,30 @@ const T = {
|
|
|
418
418
|
};
|
|
419
419
|
}
|
|
420
420
|
};
|
|
421
|
-
},
|
|
422
|
-
const { t: n } =
|
|
421
|
+
}, _ = () => {
|
|
422
|
+
const { t: n } = M(), { validateEmail: e } = q();
|
|
423
423
|
return {
|
|
424
424
|
email: (t) => {
|
|
425
|
-
const
|
|
426
|
-
return
|
|
425
|
+
const a = e(t);
|
|
426
|
+
return a.isValid ? void 0 : a.message;
|
|
427
427
|
},
|
|
428
428
|
name: (t) => {
|
|
429
429
|
if (!t.trim())
|
|
430
430
|
return n("validation.nameRequired");
|
|
431
431
|
},
|
|
432
432
|
cardExpiry: (t) => {
|
|
433
|
-
const
|
|
434
|
-
if (!
|
|
433
|
+
const a = t.replace(/\s/g, ""), [i, s] = a.split("/").map((m) => m.trim());
|
|
434
|
+
if (!i || !s || i.length !== 2 || s.length !== 2)
|
|
435
435
|
return n("validation.cardExpiryFormat");
|
|
436
|
-
const r = /* @__PURE__ */ new Date(), o = r.getFullYear() % 100, l = r.getMonth() + 1, c = parseInt(
|
|
436
|
+
const r = /* @__PURE__ */ new Date(), o = r.getFullYear() % 100, l = r.getMonth() + 1, c = parseInt(i, 10), h = parseInt(s, 10);
|
|
437
437
|
if (c < 1 || c > 12)
|
|
438
438
|
return n("validation.cardExpiryFormat");
|
|
439
439
|
if (h < o || h === o && c < l)
|
|
440
440
|
return n("validation.cardExpiryInvalid");
|
|
441
441
|
}
|
|
442
442
|
};
|
|
443
|
-
},
|
|
444
|
-
const n =
|
|
443
|
+
}, G = () => {
|
|
444
|
+
const n = _(), e = x({
|
|
445
445
|
formData: {
|
|
446
446
|
name: "",
|
|
447
447
|
email: "",
|
|
@@ -457,14 +457,14 @@ const T = {
|
|
|
457
457
|
}), t = (l, c) => {
|
|
458
458
|
const h = n[l];
|
|
459
459
|
return h?.(c);
|
|
460
|
-
},
|
|
460
|
+
}, a = (l) => {
|
|
461
461
|
const c = {};
|
|
462
462
|
return Object.keys(l).forEach((h) => {
|
|
463
463
|
const m = t(h, l[h]);
|
|
464
464
|
m && (c[h] = m);
|
|
465
465
|
}), c;
|
|
466
|
-
},
|
|
467
|
-
const c =
|
|
466
|
+
}, i = (l) => {
|
|
467
|
+
const c = a(l);
|
|
468
468
|
return Object.keys(c).length === 0;
|
|
469
469
|
}, s = (l, c) => {
|
|
470
470
|
const h = e.getState();
|
|
@@ -481,7 +481,7 @@ const T = {
|
|
|
481
481
|
e.setState({
|
|
482
482
|
formData: u,
|
|
483
483
|
errors: p,
|
|
484
|
-
isValid:
|
|
484
|
+
isValid: i(u)
|
|
485
485
|
});
|
|
486
486
|
}, r = (l, c) => {
|
|
487
487
|
const h = e.getState(), m = {
|
|
@@ -499,7 +499,7 @@ const T = {
|
|
|
499
499
|
};
|
|
500
500
|
e.setState({
|
|
501
501
|
formData: h,
|
|
502
|
-
isValid:
|
|
502
|
+
isValid: i(h)
|
|
503
503
|
});
|
|
504
504
|
};
|
|
505
505
|
return {
|
|
@@ -510,13 +510,13 @@ const T = {
|
|
|
510
510
|
setFormData: o,
|
|
511
511
|
reset: e.resetState.bind(e)
|
|
512
512
|
};
|
|
513
|
-
},
|
|
513
|
+
}, Y = async ({
|
|
514
514
|
props: n,
|
|
515
515
|
apiKey: e,
|
|
516
516
|
environment: t
|
|
517
517
|
}) => {
|
|
518
|
-
const
|
|
519
|
-
`${
|
|
518
|
+
const a = L(t), i = await fetch(
|
|
519
|
+
`${a}/tokenization/generate-iframe-configuration`,
|
|
520
520
|
{
|
|
521
521
|
method: "POST",
|
|
522
522
|
headers: {
|
|
@@ -526,17 +526,17 @@ const T = {
|
|
|
526
526
|
body: JSON.stringify(n)
|
|
527
527
|
}
|
|
528
528
|
);
|
|
529
|
-
if (!
|
|
530
|
-
throw new Error(`HTTP error! Status: ${
|
|
531
|
-
return await
|
|
529
|
+
if (!i.ok)
|
|
530
|
+
throw new Error(`HTTP error! Status: ${i.status}`);
|
|
531
|
+
return await i.json();
|
|
532
532
|
};
|
|
533
533
|
function Z({
|
|
534
534
|
apiKey: n,
|
|
535
535
|
// scriptLoaded,
|
|
536
536
|
checkoutProfile: e,
|
|
537
537
|
inputStyles: t,
|
|
538
|
-
setFormData:
|
|
539
|
-
environment:
|
|
538
|
+
setFormData: a,
|
|
539
|
+
environment: i
|
|
540
540
|
}) {
|
|
541
541
|
const s = x({
|
|
542
542
|
iframeConfig: void 0,
|
|
@@ -550,12 +550,12 @@ function Z({
|
|
|
550
550
|
let r = null;
|
|
551
551
|
const o = async () => {
|
|
552
552
|
try {
|
|
553
|
-
const m = await
|
|
553
|
+
const m = await Y({
|
|
554
554
|
props: {
|
|
555
555
|
allowedOrigins: [globalThis.location.origin]
|
|
556
556
|
},
|
|
557
557
|
apiKey: n,
|
|
558
|
-
environment:
|
|
558
|
+
environment: i
|
|
559
559
|
});
|
|
560
560
|
m && (s.setState({
|
|
561
561
|
iframeConfig: {
|
|
@@ -601,7 +601,7 @@ function Z({
|
|
|
601
601
|
s.setState({ loadingIframe: !1 });
|
|
602
602
|
}), r.on("autoCompleteValues", function(u) {
|
|
603
603
|
const { nameOnCard: p, cardExp: f } = u;
|
|
604
|
-
|
|
604
|
+
a({
|
|
605
605
|
name: p,
|
|
606
606
|
cardExpiry: f
|
|
607
607
|
});
|
|
@@ -642,70 +642,90 @@ function Z({
|
|
|
642
642
|
cleanup: c
|
|
643
643
|
};
|
|
644
644
|
}
|
|
645
|
-
const
|
|
646
|
-
email:
|
|
647
|
-
cardholderNameLabel:
|
|
648
|
-
cardInformation:
|
|
649
|
-
cardholderNamePlaceholder:
|
|
650
|
-
cardExpiry:
|
|
651
|
-
loading:
|
|
652
|
-
buttonTexts:
|
|
645
|
+
const J = "E-Mail", W = "Name des/der Karteninhaber/in", X = "Kartendaten", Q = "Vollständiger Name", ee = "MM / JJ", te = "Das Fenster nicht schließen", ae = { pay: "ZAHLEN", submit: "ABSENDEN", getPlan: "MEINEN PLAN ERHALTEN", donate: "spenden", book: "jetzt buchen", order: "jetzt bestellen" }, ie = { emailSuggestion: "Meinten Sie {{email}}?", emailInvalid: "Ihre E-Mail-Adresse ist nicht korrekt", cardExpiryInvalid: "Das Ablaufdatum Ihrer Karte liegt in der Vergangenheit", cardExpiryFormat: "Das Ablaufdatum Ihrer Karte ist unvollständig", cardSecurityFormat: "Der Sicherheitscode Ihrer Karte ist unvollständig", nameRequired: "Gib deinen Namen genau so ein, wie er auf deiner Karte steht", cardNumberInvalid: "Die Kartennummer ist unvollständig" }, se = {
|
|
646
|
+
email: J,
|
|
647
|
+
cardholderNameLabel: W,
|
|
648
|
+
cardInformation: X,
|
|
649
|
+
cardholderNamePlaceholder: Q,
|
|
650
|
+
cardExpiry: ee,
|
|
651
|
+
loading: te,
|
|
652
|
+
buttonTexts: ae,
|
|
653
653
|
validation: ie
|
|
654
|
-
},
|
|
655
|
-
email:
|
|
656
|
-
cardholderNameLabel:
|
|
657
|
-
cardInformation:
|
|
658
|
-
cardholderNamePlaceholder:
|
|
659
|
-
cardExpiry:
|
|
660
|
-
loading:
|
|
661
|
-
buttonTexts:
|
|
662
|
-
validation:
|
|
663
|
-
},
|
|
664
|
-
email:
|
|
665
|
-
cardholderNameLabel:
|
|
666
|
-
cardInformation:
|
|
667
|
-
cardholderNamePlaceholder:
|
|
668
|
-
cardExpiry:
|
|
669
|
-
loading:
|
|
670
|
-
buttonTexts:
|
|
671
|
-
validation:
|
|
672
|
-
},
|
|
673
|
-
email:
|
|
674
|
-
cardholderNameLabel:
|
|
675
|
-
cardInformation:
|
|
676
|
-
cardholderNamePlaceholder:
|
|
654
|
+
}, re = "Email", ne = "Cardholder name", oe = "Card information", le = "Full name on card", ce = "MM / YY", de = "Do not close the window", he = { pay: "PAY", submit: "SUBMIT", getPlan: "GET MY PLAN", donate: "DONATE", book: "BOOK NOW", order: "ORDER NOW" }, me = { emailSuggestion: "Did you mean {{email}}?", emailInvalid: "Your email is not correct", cardExpiryInvalid: "Your card's expiration date is in the past", cardExpiryFormat: "Your card’s expiration date is incomplete", cardSecurityFormat: "Your card’s security code is incomplete", nameRequired: "Please enter the name as it appears on your card", cardNumberInvalid: "Your card number is invalid" }, ue = {
|
|
655
|
+
email: re,
|
|
656
|
+
cardholderNameLabel: ne,
|
|
657
|
+
cardInformation: oe,
|
|
658
|
+
cardholderNamePlaceholder: le,
|
|
659
|
+
cardExpiry: ce,
|
|
660
|
+
loading: de,
|
|
661
|
+
buttonTexts: he,
|
|
662
|
+
validation: me
|
|
663
|
+
}, pe = "Correo electrónico", fe = "Nombre del titular de la tarjeta", ge = "Información de la tarjeta", ye = "Nombre completo en la tarjeta", ve = "MM / AA", Ee = "Por favor, no cierre esta ventana", be = { pay: "PAGAR", submit: "ENVIAR", getPlan: "OBTENER MI PLAN", donate: "DONAR", book: "RESERVAR AHORA", order: "ORDENAR AHORA" }, Ce = { emailSuggestion: "¿Quisiste decir {{email}}?", emailInvalid: "Su correo electrónico no es válido", cardExpiryInvalid: "La fecha de vencimiento de la tarjeta ya pasó", cardExpiryFormat: "La fecha de vencimiento de su tarjeta está incompleta", cardSecurityFormat: "El código de seguridad de su tarjeta está incompleto", nameRequired: "Por favor, ingrese el nombre tal como aparece en su tarjeta", cardNumberInvalid: "Su número de tarjeta no es válido" }, Se = {
|
|
664
|
+
email: pe,
|
|
665
|
+
cardholderNameLabel: fe,
|
|
666
|
+
cardInformation: ge,
|
|
667
|
+
cardholderNamePlaceholder: ye,
|
|
668
|
+
cardExpiry: ve,
|
|
669
|
+
loading: Ee,
|
|
670
|
+
buttonTexts: be,
|
|
671
|
+
validation: Ce
|
|
672
|
+
}, xe = "E-mail", Fe = "Nom du titulaire de la carte", we = "Informations de la carte", Le = "Nom complet figurant sur la carte", Me = "MM / AA", ke = "Veuillez ne pas fermer cette fenêtre", Te = { pay: "PAYER", submit: "ENVOYER", getPlan: "OBTENIR MON PLAN", donate: "FAIRE UN DON", book: "RÉSERVER MAINTENANT", order: "COMMANDER MAINTENANT" }, Ie = { emailSuggestion: "Vouliez-vous dire {{email}}?", emailInvalid: "Votre adresse e-mail n’est pas valide", cardExpiryInvalid: "La date d'expiration de votre carte est dans le passé", cardExpiryFormat: "La date d’expiration de votre carte est incomplète", cardSecurityFormat: "Le code de sécurité de votre carte est incomplet", nameRequired: "Veuillez saisir le nom tel qu’il figure sur votre carte", cardNumberInvalid: "Votre numéro de carte est invalide" }, Ne = {
|
|
673
|
+
email: xe,
|
|
674
|
+
cardholderNameLabel: Fe,
|
|
675
|
+
cardInformation: we,
|
|
676
|
+
cardholderNamePlaceholder: Le,
|
|
677
677
|
cardExpiry: Me,
|
|
678
|
-
loading:
|
|
679
|
-
buttonTexts:
|
|
680
|
-
validation:
|
|
681
|
-
}, ze = "
|
|
678
|
+
loading: ke,
|
|
679
|
+
buttonTexts: Te,
|
|
680
|
+
validation: Ie
|
|
681
|
+
}, ze = "Email", Pe = "Nome del titolare della carta", Ae = "Informazioni sulla carta", De = "Nome completo sulla carta", $e = "MM / AA", Ve = "Non chiudere la finestra", Re = { pay: "PAGA", submit: "INVIA", getPlan: "OTTIENI IL MIO PIANO", donate: "DONARE", book: "PRENOTA ORA", order: "ORDINA ORA" }, Be = { emailSuggestion: "Intendevi {{email}}?", emailInvalid: "La tua email non è corretta", cardExpiryInvalid: "La data di scadenza della tua carta è nel passato", cardExpiryFormat: "La data di scadenza della tua carta è incompleta", cardSecurityFormat: "Il codice di sicurezza della tua carta è incompleto", nameRequired: "Inserisci il nome come appare sulla tua carta", cardNumberInvalid: "Il numero della tua carta non è valido" }, Oe = {
|
|
682
682
|
email: ze,
|
|
683
|
-
cardholderNameLabel:
|
|
684
|
-
cardInformation:
|
|
683
|
+
cardholderNameLabel: Pe,
|
|
684
|
+
cardInformation: Ae,
|
|
685
685
|
cardholderNamePlaceholder: De,
|
|
686
|
-
cardExpiry:
|
|
687
|
-
loading:
|
|
688
|
-
buttonTexts:
|
|
689
|
-
validation:
|
|
690
|
-
},
|
|
691
|
-
email:
|
|
692
|
-
cardholderNameLabel:
|
|
686
|
+
cardExpiry: $e,
|
|
687
|
+
loading: Ve,
|
|
688
|
+
buttonTexts: Re,
|
|
689
|
+
validation: Be
|
|
690
|
+
}, He = "Adres e-mail", Ke = "Imię i nazwisko posiadacza karty", je = "Informacje o karcie", Ue = "Imię i nazwisko na karcie", qe = "MM / RR", _e = "Proszę nie zamykać tego okna", Ge = { pay: "ZAPŁAĆ", submit: "WYŚLIJ", getPlan: "POBIERZ MÓJ PLAN", donate: "PRZEKAŻ DAROWIZNĘ", book: "ZAREZERWUJ TERAZ", order: "ZAMÓW TERAZ" }, Ye = { emailSuggestion: "Czy chodziło Ci o {{email}}?", emailInvalid: "Państwa adres e-mail jest nieprawidłowy", cardExpiryInvalid: "Data ważności Państwa karty jest w przeszłości", cardExpiryFormat: "Data ważności Państwa karty jest niekompletna", cardSecurityFormat: "Kod zabezpieczający Państwa karty jest niekompletny", nameRequired: "Proszę wpisać imię i nazwisko tak, jak widnieje na karcie", cardNumberInvalid: "Numer Państwa karty jest nieprawidłowy" }, Ze = {
|
|
691
|
+
email: He,
|
|
692
|
+
cardholderNameLabel: Ke,
|
|
693
693
|
cardInformation: je,
|
|
694
|
-
cardholderNamePlaceholder:
|
|
695
|
-
cardExpiry:
|
|
696
|
-
loading:
|
|
697
|
-
buttonTexts:
|
|
698
|
-
validation:
|
|
694
|
+
cardholderNamePlaceholder: Ue,
|
|
695
|
+
cardExpiry: qe,
|
|
696
|
+
loading: _e,
|
|
697
|
+
buttonTexts: Ge,
|
|
698
|
+
validation: Ye
|
|
699
|
+
}, Je = "E-mail", We = "Nome do titular do cartão", Xe = "Informações do cartão", Qe = "Nome completo no cartão", et = "MM / AA", tt = "Por favor, não feche esta janela", at = { pay: "PAGAR", submit: "ENVIAR", getPlan: "OBTER MEU PLANO", donate: "DOAR", book: "RESERVAR AGORA", order: "FAZER PEDIDO" }, it = { emailSuggestion: "Você quis dizer {{email}}?", emailInvalid: "O seu endereço de e-mail não é válido", cardExpiryInvalid: "A data de validade do seu cartão está no passado", cardExpiryFormat: "A data de validade do seu cartão está incompleta", cardSecurityFormat: "O código de segurança do seu cartão está incompleto", nameRequired: "Por favor, insira o nome conforme aparece no cartão", cardNumberInvalid: "O número do seu cartão é inválido" }, st = {
|
|
700
|
+
email: Je,
|
|
701
|
+
cardholderNameLabel: We,
|
|
702
|
+
cardInformation: Xe,
|
|
703
|
+
cardholderNamePlaceholder: Qe,
|
|
704
|
+
cardExpiry: et,
|
|
705
|
+
loading: tt,
|
|
706
|
+
buttonTexts: at,
|
|
707
|
+
validation: it
|
|
708
|
+
}, rt = "E-posta", nt = "Kart sahibinin adı", ot = "Kart bilgileri", lt = "Kart üzerindeki tam ad", ct = "AA / YY", dt = "Lütfen pencereyi kapatmayın", ht = { pay: "ÖDE", submit: "GÖNDER", getPlan: "PLANIMI AL", donate: "BAĞIŞ YAP", book: "ŞİMDİ REZERVASYON YAP", order: "ŞİMDİ SİPARİŞ VER" }, mt = { emailSuggestion: "{{email}} demek mi istediniz?", emailInvalid: "E-posta adresiniz geçerli değil", cardExpiryInvalid: "Kartınızın son kullanma tarihi geçmiş", cardExpiryFormat: "Kartınızın son kullanma tarihi eksik", cardSecurityFormat: "Kartınızın güvenlik kodu eksik", nameRequired: "Lütfen kart üzerindeki ismi girin", cardNumberInvalid: "Kart numaranız geçersiz" }, ut = {
|
|
709
|
+
email: rt,
|
|
710
|
+
cardholderNameLabel: nt,
|
|
711
|
+
cardInformation: ot,
|
|
712
|
+
cardholderNamePlaceholder: lt,
|
|
713
|
+
cardExpiry: ct,
|
|
714
|
+
loading: dt,
|
|
715
|
+
buttonTexts: ht,
|
|
716
|
+
validation: mt
|
|
699
717
|
}, I = {
|
|
700
|
-
en:
|
|
701
|
-
de:
|
|
702
|
-
es:
|
|
703
|
-
fr:
|
|
704
|
-
pl:
|
|
705
|
-
pt:
|
|
718
|
+
en: ue,
|
|
719
|
+
de: se,
|
|
720
|
+
es: Se,
|
|
721
|
+
fr: Ne,
|
|
722
|
+
pl: Ze,
|
|
723
|
+
pt: st,
|
|
724
|
+
tr: ut,
|
|
725
|
+
it: Oe
|
|
706
726
|
// Add other locales here
|
|
707
727
|
};
|
|
708
|
-
class
|
|
728
|
+
class pt {
|
|
709
729
|
locale;
|
|
710
730
|
loadedLocales = /* @__PURE__ */ new Set();
|
|
711
731
|
constructor(e = "en") {
|
|
@@ -718,85 +738,94 @@ class Ye {
|
|
|
718
738
|
return this.locale;
|
|
719
739
|
}
|
|
720
740
|
translate(e, t) {
|
|
721
|
-
const
|
|
722
|
-
return !t ||
|
|
741
|
+
const a = this.getNestedTranslation(e);
|
|
742
|
+
return !t || a === e ? a : this.interpolate(a, t);
|
|
723
743
|
}
|
|
724
744
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
725
745
|
getNestedTranslation(e) {
|
|
726
|
-
const t = this.locale in I ? I[this.locale] : {},
|
|
727
|
-
return
|
|
746
|
+
const t = this.locale in I ? I[this.locale] : {}, a = this.findNestedValue(t, e);
|
|
747
|
+
return a === void 0 ? e : a;
|
|
728
748
|
}
|
|
729
749
|
findNestedValue(e, t) {
|
|
730
|
-
const
|
|
731
|
-
let
|
|
732
|
-
for (const s of
|
|
733
|
-
if (
|
|
750
|
+
const a = t.split(".");
|
|
751
|
+
let i = e;
|
|
752
|
+
for (const s of a) {
|
|
753
|
+
if (i == null || !Object.prototype.hasOwnProperty.call(i, s))
|
|
734
754
|
return;
|
|
735
|
-
|
|
755
|
+
i = i[s];
|
|
736
756
|
}
|
|
737
|
-
return typeof
|
|
757
|
+
return typeof i == "string" ? i : void 0;
|
|
738
758
|
}
|
|
739
759
|
interpolate(e, t) {
|
|
740
|
-
return e.replace(/{{(\w+)}}/g, (
|
|
741
|
-
const s = t[
|
|
742
|
-
return s === void 0 ?
|
|
760
|
+
return e.replace(/{{(\w+)}}/g, (a, i) => {
|
|
761
|
+
const s = t[i];
|
|
762
|
+
return s === void 0 ? a : String(s);
|
|
743
763
|
});
|
|
744
764
|
}
|
|
745
765
|
}
|
|
746
|
-
const
|
|
747
|
-
|
|
748
|
-
|
|
766
|
+
const N = [
|
|
767
|
+
"en",
|
|
768
|
+
"de",
|
|
769
|
+
"es",
|
|
770
|
+
"fr",
|
|
771
|
+
"pl",
|
|
772
|
+
"pt",
|
|
773
|
+
"it",
|
|
774
|
+
"tr"
|
|
775
|
+
], ft = "en";
|
|
776
|
+
function gt(n) {
|
|
777
|
+
const e = new pt(), a = (() => {
|
|
749
778
|
const o = navigator?.language?.split("-")[0]?.toLowerCase();
|
|
750
|
-
return
|
|
779
|
+
return N.includes(o) ? o : ft;
|
|
751
780
|
})();
|
|
752
|
-
e.setLocale(
|
|
753
|
-
const
|
|
754
|
-
locale:
|
|
781
|
+
e.setLocale(a);
|
|
782
|
+
const i = x({
|
|
783
|
+
locale: a,
|
|
755
784
|
translationService: e
|
|
756
785
|
});
|
|
757
786
|
return {
|
|
758
|
-
store:
|
|
759
|
-
translate: (o, l) =>
|
|
787
|
+
store: i,
|
|
788
|
+
translate: (o, l) => i.getState().translationService.translate(o, l),
|
|
760
789
|
setLocale: (o) => {
|
|
761
|
-
|
|
790
|
+
N.includes(o) && (i.getState().translationService.setLocale(o), i.setState({ locale: o }));
|
|
762
791
|
},
|
|
763
|
-
getLocale: () =>
|
|
764
|
-
subscribe:
|
|
792
|
+
getLocale: () => i.getValue("locale"),
|
|
793
|
+
subscribe: i.subscribe.bind(i)
|
|
765
794
|
};
|
|
766
795
|
}
|
|
767
|
-
const
|
|
768
|
-
const { translate: n, getLocale: e, setLocale: t, subscribe:
|
|
796
|
+
const yt = gt(), M = () => {
|
|
797
|
+
const { translate: n, getLocale: e, setLocale: t, subscribe: a } = yt;
|
|
769
798
|
return {
|
|
770
799
|
t: n,
|
|
771
800
|
translate: n,
|
|
772
801
|
locale: e(),
|
|
773
802
|
setLocale: t,
|
|
774
|
-
subscribe:
|
|
803
|
+
subscribe: a
|
|
775
804
|
};
|
|
776
|
-
},
|
|
805
|
+
}, vt = ({ fontFamily: n }) => {
|
|
777
806
|
if (!n)
|
|
778
807
|
return { cleanup: () => {
|
|
779
808
|
} };
|
|
780
|
-
const e = n.replace(/\s+/g, "+"), t = `https://fonts.googleapis.com/css2?family=${e}:wght@400;700&display=swap`,
|
|
809
|
+
const e = n.replace(/\s+/g, "+"), t = `https://fonts.googleapis.com/css2?family=${e}:wght@400;700&display=swap`, a = [...document.head.querySelectorAll("link")].filter(
|
|
781
810
|
(o) => o.href.includes("fonts.googleapis.com/css2") && o.rel === "stylesheet"
|
|
782
|
-
),
|
|
783
|
-
|
|
784
|
-
const s =
|
|
811
|
+
), i = document.createElement("link");
|
|
812
|
+
i.rel = "stylesheet", i.href = t;
|
|
813
|
+
const s = a.find(
|
|
785
814
|
(o) => o.href.includes(`family=${e}`)
|
|
786
815
|
);
|
|
787
816
|
if (s)
|
|
788
817
|
s.href = t;
|
|
789
|
-
else if (
|
|
790
|
-
const o =
|
|
818
|
+
else if (a.length > 0) {
|
|
819
|
+
const o = a.at(
|
|
791
820
|
-1
|
|
792
821
|
);
|
|
793
|
-
o?.nextSibling ? document.head.insertBefore(
|
|
822
|
+
o?.nextSibling ? document.head.insertBefore(i, o.nextSibling) : document.head.appendChild(i);
|
|
794
823
|
} else
|
|
795
|
-
document.head.appendChild(
|
|
824
|
+
document.head.appendChild(i);
|
|
796
825
|
return { cleanup: () => {
|
|
797
|
-
document.head.contains(
|
|
826
|
+
document.head.contains(i) && document.head.removeChild(i);
|
|
798
827
|
} };
|
|
799
|
-
},
|
|
828
|
+
}, Et = ({
|
|
800
829
|
scriptSrc: n,
|
|
801
830
|
async: e = !1
|
|
802
831
|
}) => {
|
|
@@ -814,24 +843,24 @@ const Xe = We(), L = () => {
|
|
|
814
843
|
},
|
|
815
844
|
isLoaded: Promise.resolve(!0)
|
|
816
845
|
};
|
|
817
|
-
const
|
|
818
|
-
|
|
819
|
-
const
|
|
820
|
-
|
|
846
|
+
const a = document.createElement("script");
|
|
847
|
+
a.src = n, a.async = e;
|
|
848
|
+
const i = new Promise((r, o) => {
|
|
849
|
+
a.onload = () => r(!0), a.onerror = () => {
|
|
821
850
|
console.error(`Failed to load script: ${n}`), o(new Error(`Failed to load script: ${n}`));
|
|
822
851
|
};
|
|
823
852
|
});
|
|
824
|
-
return document.head.appendChild(
|
|
853
|
+
return document.head.appendChild(a), {
|
|
825
854
|
cleanup: () => {
|
|
826
|
-
document.head.contains(
|
|
855
|
+
document.head.contains(a) && document.head.removeChild(a);
|
|
827
856
|
},
|
|
828
|
-
isLoaded:
|
|
857
|
+
isLoaded: i
|
|
829
858
|
};
|
|
830
859
|
}, S = (n) => Object.entries(n).map(([e, t]) => {
|
|
831
|
-
const
|
|
832
|
-
return `${
|
|
860
|
+
const a = e.replace(/([A-Z])/g, "-$1").toLowerCase(), i = typeof t == "number" ? `${t}px` : t;
|
|
861
|
+
return `${a}: ${i}`;
|
|
833
862
|
}).join("; ");
|
|
834
|
-
function
|
|
863
|
+
function bt(n) {
|
|
835
864
|
if (!n)
|
|
836
865
|
return {
|
|
837
866
|
formContainerStyle: {},
|
|
@@ -855,31 +884,31 @@ function tt(n) {
|
|
|
855
884
|
lineHeight: 30,
|
|
856
885
|
boxSizing: "border-box",
|
|
857
886
|
padding: "0px 12px",
|
|
858
|
-
height:
|
|
887
|
+
height: 36,
|
|
859
888
|
width: "100%",
|
|
860
889
|
fontFamily: `${n.styles.fontFamily}, sans-serif`
|
|
861
890
|
}, t = {
|
|
862
891
|
color: "#717173",
|
|
863
892
|
opacity: "0.3",
|
|
864
893
|
fontFamily: `${n.styles.fontFamily}, sans-serif`
|
|
865
|
-
}, i = {
|
|
866
|
-
color: "#dc2727"
|
|
867
894
|
}, a = {
|
|
895
|
+
color: "#dc2727"
|
|
896
|
+
}, i = {
|
|
868
897
|
outline: 0
|
|
869
898
|
}, s = {
|
|
870
899
|
fontFamily: `${n.styles.fontFamily}, sans-serif`
|
|
871
900
|
}, r = {
|
|
872
901
|
base: S(e),
|
|
873
|
-
error: S(
|
|
874
|
-
focus: S(
|
|
902
|
+
error: S(a),
|
|
903
|
+
focus: S(i),
|
|
875
904
|
placeholder: S(t)
|
|
876
905
|
};
|
|
877
906
|
return {
|
|
878
907
|
formContainerStyle: s,
|
|
879
908
|
baseStyles: e,
|
|
880
909
|
placeholderStyles: t,
|
|
881
|
-
errorStyles:
|
|
882
|
-
focusStyles:
|
|
910
|
+
errorStyles: a,
|
|
911
|
+
focusStyles: i,
|
|
883
912
|
inputStyles: r
|
|
884
913
|
};
|
|
885
914
|
}
|
|
@@ -893,9 +922,9 @@ class d {
|
|
|
893
922
|
* @param classNames Optional CSS class names to add
|
|
894
923
|
* @param attributes Optional attributes to set on the element
|
|
895
924
|
*/
|
|
896
|
-
constructor(e, t = [],
|
|
897
|
-
this.element = document.createElement(e), t.length > 0 && this.addClass(...t), Object.entries(
|
|
898
|
-
this.setAttribute(
|
|
925
|
+
constructor(e, t = [], a = {}) {
|
|
926
|
+
this.element = document.createElement(e), t.length > 0 && this.addClass(...t), Object.entries(a).forEach(([i, s]) => {
|
|
927
|
+
this.setAttribute(i, s);
|
|
899
928
|
});
|
|
900
929
|
}
|
|
901
930
|
/**
|
|
@@ -950,14 +979,14 @@ class d {
|
|
|
950
979
|
/**
|
|
951
980
|
* Add an event listener to the element
|
|
952
981
|
*/
|
|
953
|
-
addEventListener(e, t,
|
|
954
|
-
return this.element.addEventListener(e, t,
|
|
982
|
+
addEventListener(e, t, a) {
|
|
983
|
+
return this.element.addEventListener(e, t, a), this.eventListeners.push({ type: e, listener: t }), this;
|
|
955
984
|
}
|
|
956
985
|
/**
|
|
957
986
|
* Remove an event listener from the element
|
|
958
987
|
*/
|
|
959
|
-
removeEventListener(e, t,
|
|
960
|
-
return this.element.removeEventListener(e, t,
|
|
988
|
+
removeEventListener(e, t, a) {
|
|
989
|
+
return this.element.removeEventListener(e, t, a), this;
|
|
961
990
|
}
|
|
962
991
|
/**
|
|
963
992
|
* Hide this component
|
|
@@ -996,27 +1025,27 @@ class y {
|
|
|
996
1025
|
/**
|
|
997
1026
|
* Create a button element
|
|
998
1027
|
*/
|
|
999
|
-
static createButton(e, t = [],
|
|
1000
|
-
const
|
|
1001
|
-
return
|
|
1028
|
+
static createButton(e, t = [], a = {}) {
|
|
1029
|
+
const i = new d("button", t, a);
|
|
1030
|
+
return i.setText(e), i;
|
|
1002
1031
|
}
|
|
1003
1032
|
/**
|
|
1004
1033
|
* Create an input element
|
|
1005
1034
|
*/
|
|
1006
|
-
static createInput(e, t = [],
|
|
1007
|
-
const
|
|
1008
|
-
return new d("input", t,
|
|
1035
|
+
static createInput(e, t = [], a = {}) {
|
|
1036
|
+
const i = { type: e, ...a };
|
|
1037
|
+
return new d("input", t, i);
|
|
1009
1038
|
}
|
|
1010
1039
|
/**
|
|
1011
1040
|
* Create a text input
|
|
1012
1041
|
*/
|
|
1013
|
-
static createTextInput(e = "", t = [],
|
|
1014
|
-
const
|
|
1042
|
+
static createTextInput(e = "", t = [], a = {}) {
|
|
1043
|
+
const i = {
|
|
1015
1044
|
type: "text",
|
|
1016
1045
|
placeholder: e,
|
|
1017
|
-
...
|
|
1046
|
+
...a
|
|
1018
1047
|
};
|
|
1019
|
-
return new d("input", t,
|
|
1048
|
+
return new d("input", t, i);
|
|
1020
1049
|
}
|
|
1021
1050
|
/**
|
|
1022
1051
|
* Create a form element
|
|
@@ -1027,39 +1056,39 @@ class y {
|
|
|
1027
1056
|
/**
|
|
1028
1057
|
* Create a label element
|
|
1029
1058
|
*/
|
|
1030
|
-
static createLabel(e, t = "",
|
|
1031
|
-
const s = t ? { for: t, ...
|
|
1059
|
+
static createLabel(e, t = "", a = [], i = {}) {
|
|
1060
|
+
const s = t ? { for: t, ...i } : i, r = new d("label", a, s);
|
|
1032
1061
|
return r.setText(e), r;
|
|
1033
1062
|
}
|
|
1034
1063
|
/**
|
|
1035
1064
|
* Create a select element
|
|
1036
1065
|
*/
|
|
1037
|
-
static createSelect(e, t = [],
|
|
1038
|
-
const
|
|
1066
|
+
static createSelect(e, t = [], a = {}) {
|
|
1067
|
+
const i = new d("select", t, a);
|
|
1039
1068
|
return e.forEach((s) => {
|
|
1040
1069
|
const r = document.createElement("option");
|
|
1041
|
-
r.value = s.value, r.textContent = s.text, s.selected && (r.selected = !0),
|
|
1042
|
-
}),
|
|
1070
|
+
r.value = s.value, r.textContent = s.text, s.selected && (r.selected = !0), i.getElement().appendChild(r);
|
|
1071
|
+
}), i;
|
|
1043
1072
|
}
|
|
1044
1073
|
/**
|
|
1045
1074
|
* Create an image element
|
|
1046
1075
|
*/
|
|
1047
|
-
static createImage(e, t = "",
|
|
1048
|
-
const s = { src: e, alt: t, ...
|
|
1049
|
-
return new d("img",
|
|
1076
|
+
static createImage(e, t = "", a = [], i = {}) {
|
|
1077
|
+
const s = { src: e, alt: t, ...i };
|
|
1078
|
+
return new d("img", a, s);
|
|
1050
1079
|
}
|
|
1051
1080
|
}
|
|
1052
|
-
class
|
|
1081
|
+
class Ct extends d {
|
|
1053
1082
|
messageComponent;
|
|
1054
1083
|
constructor(e) {
|
|
1055
1084
|
super("div", []);
|
|
1056
1085
|
const t = y.createDiv(["error-alert"], {
|
|
1057
1086
|
role: "alert",
|
|
1058
1087
|
"aria-live": "polite"
|
|
1059
|
-
}),
|
|
1088
|
+
}), a = y.createDiv(["error-alert-content"]), i = y.createDiv([
|
|
1060
1089
|
"error-alert-icon-container"
|
|
1061
1090
|
]);
|
|
1062
|
-
|
|
1091
|
+
i.getElement().innerHTML = this.createAlertCircleSVG();
|
|
1063
1092
|
const s = y.createDiv([
|
|
1064
1093
|
"error-alert-text-container"
|
|
1065
1094
|
]), r = new d("h4", [
|
|
@@ -1067,7 +1096,7 @@ class it extends d {
|
|
|
1067
1096
|
]);
|
|
1068
1097
|
r.setText("Checkout Error"), this.messageComponent = new d("p", [
|
|
1069
1098
|
"error-alert-message"
|
|
1070
|
-
]), this.messageComponent.setText(e.message || "Bad request"), s.appendChild(r), s.appendChild(this.messageComponent),
|
|
1099
|
+
]), this.messageComponent.setText(e.message || "Bad request"), s.appendChild(r), s.appendChild(this.messageComponent), a.appendChild(i), a.appendChild(s), t.appendChild(a), this.appendChild(t);
|
|
1071
1100
|
}
|
|
1072
1101
|
createAlertCircleSVG() {
|
|
1073
1102
|
return `
|
|
@@ -1092,12 +1121,12 @@ class it extends d {
|
|
|
1092
1121
|
return this.messageComponent.setText(e), this;
|
|
1093
1122
|
}
|
|
1094
1123
|
}
|
|
1095
|
-
class
|
|
1124
|
+
class z extends d {
|
|
1096
1125
|
titleElement;
|
|
1097
|
-
constructor(e) {
|
|
1126
|
+
constructor(e = {}) {
|
|
1098
1127
|
super("div", ["blur-bg"]);
|
|
1099
1128
|
const t = y.createDiv(["loader"]);
|
|
1100
|
-
this.titleElement = new d("h3", ["title"]), this.titleElement.setText(e.text), this.appendChild(t), this.appendChild(this.titleElement);
|
|
1129
|
+
this.titleElement = new d("h3", ["title"]), this.titleElement.setText(e.text || ""), this.appendChild(t), this.appendChild(this.titleElement);
|
|
1101
1130
|
}
|
|
1102
1131
|
setText(e) {
|
|
1103
1132
|
return this.titleElement.setText(e), this;
|
|
@@ -1114,7 +1143,7 @@ class v extends d {
|
|
|
1114
1143
|
return t && (t.textContent = e), this;
|
|
1115
1144
|
}
|
|
1116
1145
|
}
|
|
1117
|
-
class
|
|
1146
|
+
class St extends d {
|
|
1118
1147
|
constructor(e) {
|
|
1119
1148
|
super("label", ["input-label"], {
|
|
1120
1149
|
for: e.id
|
|
@@ -1128,7 +1157,7 @@ class k extends d {
|
|
|
1128
1157
|
helperText = null;
|
|
1129
1158
|
constructor(e) {
|
|
1130
1159
|
if (super("div", ["input-wrapper"]), e.label && e.styles) {
|
|
1131
|
-
const
|
|
1160
|
+
const a = new St({
|
|
1132
1161
|
styles: {
|
|
1133
1162
|
color: e.styles.color,
|
|
1134
1163
|
fontSize: e.styles.fontSize
|
|
@@ -1136,7 +1165,7 @@ class k extends d {
|
|
|
1136
1165
|
label: e.label,
|
|
1137
1166
|
id: e.name
|
|
1138
1167
|
});
|
|
1139
|
-
this.appendChild(
|
|
1168
|
+
this.appendChild(a);
|
|
1140
1169
|
}
|
|
1141
1170
|
const t = {
|
|
1142
1171
|
id: e.name,
|
|
@@ -1148,8 +1177,8 @@ class k extends d {
|
|
|
1148
1177
|
[],
|
|
1149
1178
|
t
|
|
1150
1179
|
), e.styles) {
|
|
1151
|
-
const
|
|
1152
|
-
|
|
1180
|
+
const a = this.inputElement.getElement();
|
|
1181
|
+
a.style.fontFamily = `"${e.styles.fontFamily}", sans-serif`, a.style.color = e.styles.color, a.style.fontSize = `${e.styles.fontSize}px`, a.style.borderRadius = e.styles.borderRadius;
|
|
1153
1182
|
}
|
|
1154
1183
|
e.onChange && this.inputElement.getElement().addEventListener("input", e.onChange), this.getElement().appendChild(this.inputElement.getElement()), e.error && (this.helperText = new v({ text: e.errorMsg }), this.appendChild(this.helperText));
|
|
1155
1184
|
}
|
|
@@ -1160,20 +1189,20 @@ class k extends d {
|
|
|
1160
1189
|
return this.inputElement.getElement().value = e, this;
|
|
1161
1190
|
}
|
|
1162
1191
|
setError(e, t) {
|
|
1163
|
-
const
|
|
1164
|
-
return e ? (
|
|
1192
|
+
const a = this.inputElement.getElement();
|
|
1193
|
+
return e ? (a.classList.add("form-input-error"), !this.helperText && t ? (this.helperText = new v({ text: t }), this.appendChild(this.helperText)) : this.helperText && t && this.helperText.setText(t)) : (a.classList.remove("form-input-error"), this.helperText && (this.helperText.getElement().remove(), this.helperText = null)), this;
|
|
1165
1194
|
}
|
|
1166
|
-
addEventListener(e, t,
|
|
1167
|
-
return this.inputElement.getElement().addEventListener(e, t,
|
|
1195
|
+
addEventListener(e, t, a) {
|
|
1196
|
+
return this.inputElement.getElement().addEventListener(e, t, a), this;
|
|
1168
1197
|
}
|
|
1169
1198
|
}
|
|
1170
|
-
class
|
|
1199
|
+
class xt {
|
|
1171
1200
|
input;
|
|
1172
1201
|
constructor(e) {
|
|
1173
1202
|
const {
|
|
1174
1203
|
value: t,
|
|
1175
|
-
onChange:
|
|
1176
|
-
onBlur:
|
|
1204
|
+
onChange: a,
|
|
1205
|
+
onBlur: i,
|
|
1177
1206
|
error: s,
|
|
1178
1207
|
errorMsg: r,
|
|
1179
1208
|
checkoutProfile: o,
|
|
@@ -1193,10 +1222,10 @@ class rt {
|
|
|
1193
1222
|
placeholder: l("cardholderNamePlaceholder"),
|
|
1194
1223
|
value: t,
|
|
1195
1224
|
onChange: (c) => {
|
|
1196
|
-
this.trim(),
|
|
1225
|
+
this.trim(), a(c);
|
|
1197
1226
|
}
|
|
1198
1227
|
}), this.input.addEventListener("blur", (c) => {
|
|
1199
|
-
|
|
1228
|
+
i(c);
|
|
1200
1229
|
});
|
|
1201
1230
|
}
|
|
1202
1231
|
getValue() {
|
|
@@ -1219,13 +1248,13 @@ class rt {
|
|
|
1219
1248
|
return this.input.appendTo(e), this;
|
|
1220
1249
|
}
|
|
1221
1250
|
}
|
|
1222
|
-
class
|
|
1251
|
+
class Ft extends d {
|
|
1223
1252
|
constructor(e) {
|
|
1224
1253
|
super("div", []);
|
|
1225
1254
|
const t = document.createElement("div");
|
|
1226
1255
|
t.className = e.isLoading ? "loading" : "", t.style.borderRadius = `0px 0px ${e.styles.borderRadius}px 0px`;
|
|
1227
|
-
const
|
|
1228
|
-
|
|
1256
|
+
const a = document.createElement("div");
|
|
1257
|
+
a.id = "card-cvv-element", a.className = `card-element ${e.isFocused ? "card-element-focus" : ""}`, a.style.zIndex = e.isFocused ? "2" : "0", t.appendChild(a), this.getElement().appendChild(t);
|
|
1229
1258
|
}
|
|
1230
1259
|
setFocused(e) {
|
|
1231
1260
|
const t = this.getElement().querySelector("#card-cvv-element");
|
|
@@ -1236,34 +1265,34 @@ class nt extends d {
|
|
|
1236
1265
|
return t && (e ? t.classList.add("loading") : t.classList.remove("loading")), this;
|
|
1237
1266
|
}
|
|
1238
1267
|
}
|
|
1239
|
-
const ot = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='iso-8859-1'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20height='30px'%20width='30px'%20version='1.1'%20id='Capa_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%20512%20512'%20xml:space='preserve'%3e%3cpath%20style='fill:%23306FC5;'%20d='M512,402.281c0,16.716-13.55,30.267-30.265,30.267H30.265C13.55,432.549,0,418.997,0,402.281V109.717%20c0-16.715,13.55-30.266,30.265-30.266h451.47c16.716,0,30.265,13.551,30.265,30.266V402.281L512,402.281z'/%3e%3cpath%20style='opacity:0.15;fill:%23202121;enable-background:new%20;'%20d='M21.517,402.281V109.717%20c0-16.715,13.552-30.266,30.267-30.266h-21.52C13.55,79.451,0,93.001,0,109.717v292.565c0,16.716,13.55,30.267,30.265,30.267h21.52%20C35.07,432.549,21.517,418.997,21.517,402.281z'/%3e%3cg%3e%3cpolygon%20style='fill:%23FFFFFF;'%20points='74.59,220.748%2089.888,220.748%2082.241,201.278%20'/%3e%3cpolygon%20style='fill:%23FFFFFF;'%20points='155.946,286.107%20155.946,295.148%20181.675,295.148%20181.675,304.885%20155.946,304.885%20155.946,315.318%20184.455,315.318%20197.666,300.712%20185.151,286.107%20'/%3e%3cpolygon%20style='fill:%23FFFFFF;'%20points='356.898,201.278%20348.553,220.748%20364.548,220.748%20'/%3e%3cpolygon%20style='fill:%23FFFFFF;'%20points='230.348,320.875%20230.348,281.241%20212.268,300.712%20'/%3e%3cpath%20style='fill:%23FFFFFF;'%20d='M264.42,292.368c-0.696-4.172-3.48-6.261-7.654-6.261h-14.599v12.516h15.299%20C261.637,298.624,264.42,296.539,264.42,292.368z'/%3e%3cpath%20style='fill:%23FFFFFF;'%20d='M313.09,297.236c1.391-0.697,2.089-2.785,2.089-4.867c0.696-2.779-0.698-4.172-2.089-4.868%20c-1.387-0.696-3.476-0.696-5.559-0.696h-13.91v11.127h13.909C309.613,297.932,311.702,297.932,313.09,297.236z'/%3e%3cpath%20style='fill:%23FFFFFF;'%20d='M413.217,183.198v8.344l-4.169-8.344H376.37v8.344l-4.174-8.344h-44.502%20c-7.648,0-13.909,1.392-19.469,4.173v-4.173h-31.289v0.696v3.477c-3.476-2.78-7.648-4.173-13.211-4.173h-111.95l-7.652,17.384%20l-7.647-17.384h-25.031h-10.431v8.344l-3.477-8.344h-0.696H66.942l-13.909,32.68L37.042,251.34l-0.294,0.697h0.294h35.463h0.444%20l0.252-0.697l4.174-10.428h9.039l4.172,11.125h40.326v-0.697v-7.647l3.479,8.343h20.163l3.475-8.343v7.647v0.697h15.993h79.965%20h0.696v-18.08h1.394c1.389,0,1.389,0,1.389,2.087v15.297h50.065v-4.172c4.172,2.089,10.426,4.172,18.771,4.172h20.863l4.172-11.123%20h9.732l4.172,11.123h40.328v-6.952v-3.476l6.261,10.428h1.387h0.698h30.595v-68.143h-31.291l0,0H413.217z%20M177.501,241.609h-6.955%20h-4.171v-4.169v-34.076l-0.696,1.595v-0.019l-16.176,36.669h-0.512h-3.719h-6.017l-16.687-38.245v38.245h-23.64l-4.867-10.43%20H70.417l-4.868,10.43H53.326l20.57-48.675h17.382l19.469,46.587v-46.587h4.171h14.251l0.328,0.697h0.024l8.773,19.094l6.3,14.306%20l0.223-0.721l13.906-33.375H177.5v48.674H177.501L177.501,241.609z%20M225.481,203.364h-27.119v9.039h26.423v9.734h-26.423v9.738%20h27.119v10.427h-38.939v-49.367h38.939V203.364L225.481,203.364z%20M275.076,221.294c0.018,0.016,0.041,0.027,0.063,0.042%20c0.263,0.278,0.488,0.557,0.68,0.824c1.332,1.746,2.409,4.343,2.463,8.151c0.004,0.066,0.007,0.131,0.011,0.197%20c0,0.038,0.007,0.071,0.007,0.11c0,0.022-0.002,0.039-0.002,0.06c0.016,0.383,0.026,0.774,0.026,1.197v9.735h-10.428v-5.565%20c0-2.781,0-6.954-2.089-9.735c-0.657-0.657-1.322-1.09-2.046-1.398c-1.042-0.675-3.017-0.686-6.295-0.686h-12.52v17.384h-11.818%20v-48.675h26.425c6.254,0,10.428,0,13.906,2.086c3.407,2.046,5.465,5.439,5.543,10.812c-0.161,7.4-4.911,11.46-8.326,12.829%20C270.676,218.662,272.996,219.129,275.076,221.294z%20M298.491,241.609h-11.822v-48.675h11.822V241.609z%20M434.083,241.609h-15.3%20l-22.25-36.855v30.595l-0.073-0.072v6.362h-11.747v-0.029h-11.822l-4.172-10.43H344.38l-4.172,11.123h-13.211%20c-5.559,0-12.517-1.389-16.687-5.561c-4.172-4.172-6.256-9.735-6.256-18.773c0-6.953,1.389-13.911,6.256-19.472%20c3.474-4.175,9.735-5.562,17.382-5.562h11.128v10.429h-11.128c-4.172,0-6.254,0.693-9.041,2.783%20c-2.082,2.085-3.474,6.256-3.474,11.123c0,5.564,0.696,9.04,3.474,11.821c2.091,2.089,4.87,2.785,8.346,2.785h4.867l15.991-38.243%20h6.957h10.428l19.472,46.587v-2.376v-15.705v-1.389v-27.116h17.382l20.161,34.07v-34.07h11.826v47.977h0.002L434.083,241.609%20L434.083,241.609z'/%3e%3cpath%20style='fill:%23FFFFFF;'%20d='M265.161,213.207c0.203-0.217,0.387-0.463,0.543-0.745c0.63-0.997,1.352-2.793,0.963-5.244%20c-0.016-0.225-0.057-0.433-0.105-0.634c-0.013-0.056-0.011-0.105-0.026-0.161l-0.007,0.001c-0.346-1.191-1.229-1.923-2.11-2.367%20c-1.394-0.693-3.48-0.693-5.565-0.693h-13.909v11.127h13.909c2.085,0,4.172,0,5.565-0.697c0.209-0.106,0.395-0.25,0.574-0.413%20l0.002,0.009C264.996,213.389,265.067,213.315,265.161,213.207z'/%3e%3cpath%20style='fill:%23FFFFFF;'%20d='M475.105,311.144c0-4.867-1.389-9.736-3.474-13.212v-31.289h-0.032v-2.089c0,0-29.145,0-33.483,0%20c-4.336,0-9.598,4.171-9.598,4.171v-4.171h-31.984c-4.87,0-11.124,1.392-13.909,4.171v-4.171h-57.016v2.089v2.081%20c-4.169-3.474-11.824-4.171-15.298-4.171h-37.549v2.089v2.081c-3.476-3.474-11.824-4.171-15.998-4.171H215.05l-9.737,10.431%20l-9.04-10.431h-2.911h-4.737h-54.93v2.089v5.493v62.651h61.19l10.054-10.057l8.715,10.057h0.698h35.258h1.598h0.696h0.692v-6.953%20v-9.039h3.479c4.863,0,11.124,0,15.991-2.089v17.382v1.394h31.291v-1.394V317.4h1.387c2.089,0,2.089,0,2.089,2.086v14.6v1.394%20h94.563c6.263,0,12.517-1.394,15.993-4.175v2.781v1.394h29.902c6.254,0,12.517-0.695,16.689-3.478%20c6.402-3.841,10.437-10.64,11.037-18.749c0.028-0.24,0.063-0.48,0.085-0.721l-0.041-0.039%20C475.087,312.043,475.105,311.598,475.105,311.144z%20M256.076,306.973h-13.91v2.081v4.174v4.173v7.649h-22.855l-13.302-15.299%20l-0.046,0.051l-0.65-0.748l-15.297,15.996h-44.501v-48.673h45.197l12.348,13.525l2.596,2.832l0.352-0.365l14.604-15.991h36.852%20c7.152,0,15.161,1.765,18.196,9.042c0.365,1.441,0.577,3.043,0.577,4.863C276.237,304.189,266.502,306.973,256.076,306.973z%20M325.609,306.276c1.389,2.081,2.085,4.867,2.085,9.041v9.732h-11.819v-6.256c0-2.786,0-7.65-2.089-9.739%20c-1.387-2.081-4.172-2.081-8.341-2.081H292.93v18.077h-11.82v-49.369h26.421c5.559,0,10.426,0,13.909,2.084%20c3.474,2.088,6.254,5.565,6.254,11.128c0,7.647-4.865,11.819-8.343,13.212C322.829,303.49,324.914,304.885,325.609,306.276z%20M373.589,286.107h-27.122v9.04h26.424v9.737h-26.424v9.736h27.122v10.429H334.65V275.68h38.939V286.107z%20M402.791,325.05h-22.252%20v-10.429h22.252c2.082,0,3.476,0,4.87-1.392c0.696-0.697,1.387-2.085,1.387-3.477c0-1.394-0.691-2.778-1.387-3.475%20c-0.698-0.695-2.091-1.391-4.176-1.391c-11.126-0.696-24.337,0-24.337-15.296c0-6.954,4.172-14.604,16.689-14.604h22.945v11.819%20h-21.554c-2.085,0-3.478,0-4.87,0.696c-1.387,0.697-1.387,2.089-1.387,3.478c0,2.087,1.387,2.783,2.778,3.473%20c1.394,0.697,2.783,0.697,4.172,0.697h6.259c6.259,0,10.43,1.391,13.211,4.173c2.087,2.087,3.478,5.564,3.478,10.43%20C420.869,320.179,414.611,325.05,402.791,325.05z%20M462.59,320.179c-2.778,2.785-7.648,4.871-14.604,4.871H425.74v-10.429h22.245%20c2.087,0,3.481,0,4.87-1.392c0.693-0.697,1.391-2.085,1.391-3.477c0-1.394-0.698-2.778-1.391-3.475%20c-0.696-0.695-2.085-1.391-4.172-1.391c-11.122-0.696-24.337,0-24.337-15.295c0-6.609,3.781-12.579,13.106-14.352%20c1.115-0.154,2.293-0.253,3.583-0.253h22.948v11.819h-15.3h-5.561h-0.696c-2.087,0-3.476,0-4.865,0.696%20c-0.7,0.697-1.396,2.089-1.396,3.478c0,2.087,0.696,2.783,2.785,3.473c1.389,0.697,2.78,0.697,4.172,0.697h0.691h5.565%20c3.039,0,5.337,0.375,7.44,1.114c1.926,0.697,8.302,3.549,9.728,10.994c0.124,0.78,0.215,1.594,0.215,2.495%20C466.761,313.925,465.37,317.401,462.59,320.179z'/%3e%3c/g%3e%3c/svg%3e", lt = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='iso-8859-1'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20height='30px'%20width='30px'%20version='1.1'%20id='Capa_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%20512%20512'%20xml:space='preserve'%3e%3cpath%20style='fill:%2334495E;'%20d='M512,402.282c0,16.716-13.55,30.267-30.265,30.267H30.265C13.55,432.549,0,418.996,0,402.282V109.717%20c0-16.716,13.55-30.266,30.265-30.266h451.469c16.716,0,30.265,13.551,30.265,30.266L512,402.282L512,402.282z'/%3e%3cpath%20style='opacity:0.15;fill:%23202121;enable-background:new%20;'%20d='M21.517,402.282V109.717%20c0-16.716,13.552-30.266,30.267-30.266h-21.52C13.55,79.451,0,93.003,0,109.717v292.565c0,16.716,13.55,30.267,30.265,30.267h21.52%20C35.07,432.549,21.517,418.996,21.517,402.282z'/%3e%3cpath%20style='fill:%23F26E21;'%20d='M309.389,255.801c0.041-9.636-3.572-19.286-10.843-26.558c-7.287-7.287-16.961-10.897-26.617-10.839%20c-0.046,0-0.091-0.003-0.139-0.003c-20.968,0-37.6,16.628-37.6,37.602c0,20.767,16.837,37.599,37.6,37.599%20c20.974,0,37.604-16.631,37.604-37.599C309.394,255.934,309.389,255.869,309.389,255.801z'/%3e%3cg%3e%3cpath%20style='fill:%23E7E8E3;'%20d='M227.198,271.909c-5.62,5.626-10.807,7.824-16.394,7.943c-13.611-0.122-23.618-10.202-23.618-24.573%20c0-7.234,2.739-13.163,7.078-18.228l0,0c4.069-3.863,9.311-6.359,15.339-6.359c6.507,0,11.571,2.169,17.352,7.954v-16.631%20c-5.78-2.891-10.846-4.338-17.352-4.338c-9.192,0.657-17.859,4.371-24.507,10.203l0,0c-1.916,1.724-3.752,3.627-5.309,5.805%20c-4.856,6.294-7.791,14.001-7.791,22.32c0,20.967,16.637,36.875,37.606,36.875c0.102,0,0.203-0.009,0.302-0.01%20c0.141,0.002,0.28,0.01,0.42,0.01c5.784,0,10.85-1.443,17.357-4.336L227.198,271.909c-0.244,0.244,0.242,0.471,0,0.702V271.909z'/%3e%3cpolygon%20style='fill:%23E7E8E3;'%20points='356.863,228.033%20356.863,228.033%20340.487,268.295%20321.685,220.566%20306.502,220.566%20336.148,293.601%20344.102,293.601%20375.196,220.566%20360.013,220.566%20'/%3e%3cpolygon%20style='fill:%23E7E8E3;'%20points='380.983,252.384%20380.983,291.435%20420.033,291.435%20420.753,291.435%20420.753,279.861%20408.461,279.861%20395.445,279.861%20395.445,266.848%20395.445,260.342%20420.033,260.342%20420.033,248.045%20395.445,248.045%20395.445,232.861%20420.753,232.861%20420.753,220.566%20380.983,220.566%20'/%3e%3cpath%20style='fill:%23E7E8E3;'%20d='M54.135,220.566H33.884v70.869h20.25c10.845,0,18.798-2.895,25.306-7.957%20c7.953-6.508,13.017-16.629,13.017-27.474C92.458,235.028,77.27,220.566,54.135,220.566z%20M70.765,274.08%20c-4.339,3.614-10.124,5.781-18.802,5.781h-4.339V232.86h3.615c8.678,0,14.463,1.446,18.803,5.783%20c5.061,4.336,7.955,10.848,7.955,17.358C78.72,262.509,75.828,269.737,70.765,274.08z'/%3e%3crect%20x='98.97'%20y='220.56'%20style='fill:%23E7E8E3;'%20width='13.739'%20height='70.867'/%3e%3cpath%20style='fill:%23E7E8E3;'%20d='M147.415,248.045c-8.676-2.892-10.848-5.063-10.848-8.677c0-4.339,4.339-7.954,10.124-7.954%20c4.339,0,7.954,1.447,11.57,5.786l7.233-9.4c-5.787-5.064-13.015-7.953-20.97-7.953c-12.296,0-22.42,8.678-22.42,20.244%20c0,10.126,4.343,14.464,17.357,19.526c5.785,2.166,7.955,2.892,9.404,4.338c2.887,1.444,4.336,4.339,4.336,7.228%20c0,5.786-4.336,10.126-10.848,10.126c-6.514,0-12.294-3.615-15.187-9.401l-8.678,8.678c6.511,9.4,14.465,13.738,24.589,13.738%20c14.461,0,24.58-9.4,24.58-23.141C167.659,258.893,163.324,253.831,147.415,248.045z'/%3e%3cpath%20style='fill:%23E7E8E3;'%20d='M459.804,261.783c10.843-2.166,16.63-9.4,16.63-20.244c0-13.014-9.402-20.973-25.308-20.973h-20.972%20v70.869h13.739V263.23h2.172l19.519,28.205h16.634L459.804,261.783z%20M448.23,253.105h-4.336v-21.691h4.336%20c8.678,0,13.742,3.614,13.742,10.85C461.972,249.492,456.909,253.105,448.23,253.105z'/%3e%3c/g%3e%3c/svg%3e", ct = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='iso-8859-1'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20height='800px'%20width='800px'%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%20291.791%20291.791'%20xml:space='preserve'%3e%3cg%3e%3cpath%20style='fill:%23E2574C;'%20d='M182.298,145.895c0,50.366-40.801,91.176-91.149,91.176S0,196.252,0,145.895%20s40.811-91.176,91.149-91.176S182.298,95.538,182.298,145.895z'/%3e%3cpath%20style='fill:%23F4B459;'%20d='M200.616,54.719c-20.442,0-39.261,6.811-54.469,18.181l0.073,0.009%20c2.991,2.89,6.291,4.924,8.835,8.251l-18.965,0.301c-2.972,3-5.68,6.264-8.233,9.656H161.3c2.544,3.054,4.896,5.708,7.03,9.081%20h-46.536c-1.705,2.936-3.282,5.954-4.659,9.09h56.493c1.477,3.127,2.799,5.489,3.921,8.799h-63.76%20c-1.012,3.146-1.878,6.364-2.535,9.646h68.966c0.675,3.155,1.194,6.072,1.55,9.045h-71.884c-0.301,3-0.456,6.045-0.456,9.118%20h72.859c0,3.228-0.228,6.218-0.556,9.118h-71.847c0.31,3.091,0.766,6.127,1.368,9.118h68.856c-0.711,2.954-1.532,5.926-2.562,9.008%20h-63.969c0.966,3.118,2.143,6.145,3.428,9.099h56.621c-1.568,3.319-3.346,5.972-5.306,9.081h-46.691%20c1.842,3.191,3.875,6.236,6.081,9.154l33.589,0.501c-2.863,3.437-6.537,5.507-9.884,8.516c0.182,0.146-5.352-0.018-16.248-0.191%20c16.576,17.105,39.744,27.772,65.446,27.772c50.357,0,91.176-40.82,91.176-91.176S250.981,54.719,200.616,54.719z'/%3e%3c/g%3e%3c/svg%3e", dt = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%20-140%20780%20780'%20enable-background='new%200%200%20780%20500'%20version='1.1'%20xml:space='preserve'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M40,0h700c22.092,0,40,17.909,40,40v420c0,22.092-17.908,40-40,40H40c-22.091,0-40-17.908-40-40V40%20C0,17.909,17.909,0,40,0z'%20fill='%230E4595'/%3e%3cpath%20d='m293.2%20348.73l33.361-195.76h53.36l-33.385%20195.76h-53.336zm246.11-191.54c-10.57-3.966-27.137-8.222-47.822-8.222-52.725%200-89.865%2026.55-90.18%2064.603-0.299%2028.13%2026.514%2043.822%2046.752%2053.186%2020.771%209.595%2027.752%2015.714%2027.654%2024.283-0.131%2013.121-16.586%2019.116-31.922%2019.116-21.357%200-32.703-2.967-50.227-10.276l-6.876-3.11-7.489%2043.823c12.463%205.464%2035.51%2010.198%2059.438%2010.443%2056.09%200%2092.5-26.246%2092.916-66.882%200.199-22.269-14.016-39.216-44.801-53.188-18.65-9.055-30.072-15.099-29.951-24.268%200-8.137%209.668-16.839%2030.557-16.839%2017.449-0.27%2030.09%203.535%2039.938%207.5l4.781%202.26%207.232-42.429m137.31-4.223h-41.232c-12.773%200-22.332%203.487-27.941%2016.234l-79.244%20179.4h56.031s9.16-24.123%2011.232-29.418c6.125%200%2060.555%200.084%2068.338%200.084%201.596%206.853%206.49%2029.334%206.49%2029.334h49.514l-43.188-195.64zm-65.418%20126.41c4.412-11.279%2021.26-54.723%2021.26-54.723-0.316%200.522%204.379-11.334%207.074-18.684l3.605%2016.879s10.219%2046.729%2012.354%2056.528h-44.293zm-363.3-126.41l-52.24%20133.5-5.567-27.13c-9.725-31.273-40.025-65.155-73.898-82.118l47.766%20171.2%2056.456-0.064%2084.004-195.39h-56.521'%20fill='%23ffffff'/%3e%3cpath%20d='m146.92%20152.96h-86.041l-0.681%204.073c66.938%2016.204%20111.23%2055.363%20129.62%20102.41l-18.71-89.96c-3.23-12.395-12.597-16.094-24.186-16.527'%20fill='%23F2AE14'/%3e%3c/svg%3e", E = [
|
|
1268
|
+
const wt = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='iso-8859-1'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20height='30px'%20width='30px'%20version='1.1'%20id='Capa_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%20512%20512'%20xml:space='preserve'%3e%3cpath%20style='fill:%23306FC5;'%20d='M512,402.281c0,16.716-13.55,30.267-30.265,30.267H30.265C13.55,432.549,0,418.997,0,402.281V109.717%20c0-16.715,13.55-30.266,30.265-30.266h451.47c16.716,0,30.265,13.551,30.265,30.266V402.281L512,402.281z'/%3e%3cpath%20style='opacity:0.15;fill:%23202121;enable-background:new%20;'%20d='M21.517,402.281V109.717%20c0-16.715,13.552-30.266,30.267-30.266h-21.52C13.55,79.451,0,93.001,0,109.717v292.565c0,16.716,13.55,30.267,30.265,30.267h21.52%20C35.07,432.549,21.517,418.997,21.517,402.281z'/%3e%3cg%3e%3cpolygon%20style='fill:%23FFFFFF;'%20points='74.59,220.748%2089.888,220.748%2082.241,201.278%20'/%3e%3cpolygon%20style='fill:%23FFFFFF;'%20points='155.946,286.107%20155.946,295.148%20181.675,295.148%20181.675,304.885%20155.946,304.885%20155.946,315.318%20184.455,315.318%20197.666,300.712%20185.151,286.107%20'/%3e%3cpolygon%20style='fill:%23FFFFFF;'%20points='356.898,201.278%20348.553,220.748%20364.548,220.748%20'/%3e%3cpolygon%20style='fill:%23FFFFFF;'%20points='230.348,320.875%20230.348,281.241%20212.268,300.712%20'/%3e%3cpath%20style='fill:%23FFFFFF;'%20d='M264.42,292.368c-0.696-4.172-3.48-6.261-7.654-6.261h-14.599v12.516h15.299%20C261.637,298.624,264.42,296.539,264.42,292.368z'/%3e%3cpath%20style='fill:%23FFFFFF;'%20d='M313.09,297.236c1.391-0.697,2.089-2.785,2.089-4.867c0.696-2.779-0.698-4.172-2.089-4.868%20c-1.387-0.696-3.476-0.696-5.559-0.696h-13.91v11.127h13.909C309.613,297.932,311.702,297.932,313.09,297.236z'/%3e%3cpath%20style='fill:%23FFFFFF;'%20d='M413.217,183.198v8.344l-4.169-8.344H376.37v8.344l-4.174-8.344h-44.502%20c-7.648,0-13.909,1.392-19.469,4.173v-4.173h-31.289v0.696v3.477c-3.476-2.78-7.648-4.173-13.211-4.173h-111.95l-7.652,17.384%20l-7.647-17.384h-25.031h-10.431v8.344l-3.477-8.344h-0.696H66.942l-13.909,32.68L37.042,251.34l-0.294,0.697h0.294h35.463h0.444%20l0.252-0.697l4.174-10.428h9.039l4.172,11.125h40.326v-0.697v-7.647l3.479,8.343h20.163l3.475-8.343v7.647v0.697h15.993h79.965%20h0.696v-18.08h1.394c1.389,0,1.389,0,1.389,2.087v15.297h50.065v-4.172c4.172,2.089,10.426,4.172,18.771,4.172h20.863l4.172-11.123%20h9.732l4.172,11.123h40.328v-6.952v-3.476l6.261,10.428h1.387h0.698h30.595v-68.143h-31.291l0,0H413.217z%20M177.501,241.609h-6.955%20h-4.171v-4.169v-34.076l-0.696,1.595v-0.019l-16.176,36.669h-0.512h-3.719h-6.017l-16.687-38.245v38.245h-23.64l-4.867-10.43%20H70.417l-4.868,10.43H53.326l20.57-48.675h17.382l19.469,46.587v-46.587h4.171h14.251l0.328,0.697h0.024l8.773,19.094l6.3,14.306%20l0.223-0.721l13.906-33.375H177.5v48.674H177.501L177.501,241.609z%20M225.481,203.364h-27.119v9.039h26.423v9.734h-26.423v9.738%20h27.119v10.427h-38.939v-49.367h38.939V203.364L225.481,203.364z%20M275.076,221.294c0.018,0.016,0.041,0.027,0.063,0.042%20c0.263,0.278,0.488,0.557,0.68,0.824c1.332,1.746,2.409,4.343,2.463,8.151c0.004,0.066,0.007,0.131,0.011,0.197%20c0,0.038,0.007,0.071,0.007,0.11c0,0.022-0.002,0.039-0.002,0.06c0.016,0.383,0.026,0.774,0.026,1.197v9.735h-10.428v-5.565%20c0-2.781,0-6.954-2.089-9.735c-0.657-0.657-1.322-1.09-2.046-1.398c-1.042-0.675-3.017-0.686-6.295-0.686h-12.52v17.384h-11.818%20v-48.675h26.425c6.254,0,10.428,0,13.906,2.086c3.407,2.046,5.465,5.439,5.543,10.812c-0.161,7.4-4.911,11.46-8.326,12.829%20C270.676,218.662,272.996,219.129,275.076,221.294z%20M298.491,241.609h-11.822v-48.675h11.822V241.609z%20M434.083,241.609h-15.3%20l-22.25-36.855v30.595l-0.073-0.072v6.362h-11.747v-0.029h-11.822l-4.172-10.43H344.38l-4.172,11.123h-13.211%20c-5.559,0-12.517-1.389-16.687-5.561c-4.172-4.172-6.256-9.735-6.256-18.773c0-6.953,1.389-13.911,6.256-19.472%20c3.474-4.175,9.735-5.562,17.382-5.562h11.128v10.429h-11.128c-4.172,0-6.254,0.693-9.041,2.783%20c-2.082,2.085-3.474,6.256-3.474,11.123c0,5.564,0.696,9.04,3.474,11.821c2.091,2.089,4.87,2.785,8.346,2.785h4.867l15.991-38.243%20h6.957h10.428l19.472,46.587v-2.376v-15.705v-1.389v-27.116h17.382l20.161,34.07v-34.07h11.826v47.977h0.002L434.083,241.609%20L434.083,241.609z'/%3e%3cpath%20style='fill:%23FFFFFF;'%20d='M265.161,213.207c0.203-0.217,0.387-0.463,0.543-0.745c0.63-0.997,1.352-2.793,0.963-5.244%20c-0.016-0.225-0.057-0.433-0.105-0.634c-0.013-0.056-0.011-0.105-0.026-0.161l-0.007,0.001c-0.346-1.191-1.229-1.923-2.11-2.367%20c-1.394-0.693-3.48-0.693-5.565-0.693h-13.909v11.127h13.909c2.085,0,4.172,0,5.565-0.697c0.209-0.106,0.395-0.25,0.574-0.413%20l0.002,0.009C264.996,213.389,265.067,213.315,265.161,213.207z'/%3e%3cpath%20style='fill:%23FFFFFF;'%20d='M475.105,311.144c0-4.867-1.389-9.736-3.474-13.212v-31.289h-0.032v-2.089c0,0-29.145,0-33.483,0%20c-4.336,0-9.598,4.171-9.598,4.171v-4.171h-31.984c-4.87,0-11.124,1.392-13.909,4.171v-4.171h-57.016v2.089v2.081%20c-4.169-3.474-11.824-4.171-15.298-4.171h-37.549v2.089v2.081c-3.476-3.474-11.824-4.171-15.998-4.171H215.05l-9.737,10.431%20l-9.04-10.431h-2.911h-4.737h-54.93v2.089v5.493v62.651h61.19l10.054-10.057l8.715,10.057h0.698h35.258h1.598h0.696h0.692v-6.953%20v-9.039h3.479c4.863,0,11.124,0,15.991-2.089v17.382v1.394h31.291v-1.394V317.4h1.387c2.089,0,2.089,0,2.089,2.086v14.6v1.394%20h94.563c6.263,0,12.517-1.394,15.993-4.175v2.781v1.394h29.902c6.254,0,12.517-0.695,16.689-3.478%20c6.402-3.841,10.437-10.64,11.037-18.749c0.028-0.24,0.063-0.48,0.085-0.721l-0.041-0.039%20C475.087,312.043,475.105,311.598,475.105,311.144z%20M256.076,306.973h-13.91v2.081v4.174v4.173v7.649h-22.855l-13.302-15.299%20l-0.046,0.051l-0.65-0.748l-15.297,15.996h-44.501v-48.673h45.197l12.348,13.525l2.596,2.832l0.352-0.365l14.604-15.991h36.852%20c7.152,0,15.161,1.765,18.196,9.042c0.365,1.441,0.577,3.043,0.577,4.863C276.237,304.189,266.502,306.973,256.076,306.973z%20M325.609,306.276c1.389,2.081,2.085,4.867,2.085,9.041v9.732h-11.819v-6.256c0-2.786,0-7.65-2.089-9.739%20c-1.387-2.081-4.172-2.081-8.341-2.081H292.93v18.077h-11.82v-49.369h26.421c5.559,0,10.426,0,13.909,2.084%20c3.474,2.088,6.254,5.565,6.254,11.128c0,7.647-4.865,11.819-8.343,13.212C322.829,303.49,324.914,304.885,325.609,306.276z%20M373.589,286.107h-27.122v9.04h26.424v9.737h-26.424v9.736h27.122v10.429H334.65V275.68h38.939V286.107z%20M402.791,325.05h-22.252%20v-10.429h22.252c2.082,0,3.476,0,4.87-1.392c0.696-0.697,1.387-2.085,1.387-3.477c0-1.394-0.691-2.778-1.387-3.475%20c-0.698-0.695-2.091-1.391-4.176-1.391c-11.126-0.696-24.337,0-24.337-15.296c0-6.954,4.172-14.604,16.689-14.604h22.945v11.819%20h-21.554c-2.085,0-3.478,0-4.87,0.696c-1.387,0.697-1.387,2.089-1.387,3.478c0,2.087,1.387,2.783,2.778,3.473%20c1.394,0.697,2.783,0.697,4.172,0.697h6.259c6.259,0,10.43,1.391,13.211,4.173c2.087,2.087,3.478,5.564,3.478,10.43%20C420.869,320.179,414.611,325.05,402.791,325.05z%20M462.59,320.179c-2.778,2.785-7.648,4.871-14.604,4.871H425.74v-10.429h22.245%20c2.087,0,3.481,0,4.87-1.392c0.693-0.697,1.391-2.085,1.391-3.477c0-1.394-0.698-2.778-1.391-3.475%20c-0.696-0.695-2.085-1.391-4.172-1.391c-11.122-0.696-24.337,0-24.337-15.295c0-6.609,3.781-12.579,13.106-14.352%20c1.115-0.154,2.293-0.253,3.583-0.253h22.948v11.819h-15.3h-5.561h-0.696c-2.087,0-3.476,0-4.865,0.696%20c-0.7,0.697-1.396,2.089-1.396,3.478c0,2.087,0.696,2.783,2.785,3.473c1.389,0.697,2.78,0.697,4.172,0.697h0.691h5.565%20c3.039,0,5.337,0.375,7.44,1.114c1.926,0.697,8.302,3.549,9.728,10.994c0.124,0.78,0.215,1.594,0.215,2.495%20C466.761,313.925,465.37,317.401,462.59,320.179z'/%3e%3c/g%3e%3c/svg%3e", Lt = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='iso-8859-1'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20height='30px'%20width='30px'%20version='1.1'%20id='Capa_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%20512%20512'%20xml:space='preserve'%3e%3cpath%20style='fill:%2334495E;'%20d='M512,402.282c0,16.716-13.55,30.267-30.265,30.267H30.265C13.55,432.549,0,418.996,0,402.282V109.717%20c0-16.716,13.55-30.266,30.265-30.266h451.469c16.716,0,30.265,13.551,30.265,30.266L512,402.282L512,402.282z'/%3e%3cpath%20style='opacity:0.15;fill:%23202121;enable-background:new%20;'%20d='M21.517,402.282V109.717%20c0-16.716,13.552-30.266,30.267-30.266h-21.52C13.55,79.451,0,93.003,0,109.717v292.565c0,16.716,13.55,30.267,30.265,30.267h21.52%20C35.07,432.549,21.517,418.996,21.517,402.282z'/%3e%3cpath%20style='fill:%23F26E21;'%20d='M309.389,255.801c0.041-9.636-3.572-19.286-10.843-26.558c-7.287-7.287-16.961-10.897-26.617-10.839%20c-0.046,0-0.091-0.003-0.139-0.003c-20.968,0-37.6,16.628-37.6,37.602c0,20.767,16.837,37.599,37.6,37.599%20c20.974,0,37.604-16.631,37.604-37.599C309.394,255.934,309.389,255.869,309.389,255.801z'/%3e%3cg%3e%3cpath%20style='fill:%23E7E8E3;'%20d='M227.198,271.909c-5.62,5.626-10.807,7.824-16.394,7.943c-13.611-0.122-23.618-10.202-23.618-24.573%20c0-7.234,2.739-13.163,7.078-18.228l0,0c4.069-3.863,9.311-6.359,15.339-6.359c6.507,0,11.571,2.169,17.352,7.954v-16.631%20c-5.78-2.891-10.846-4.338-17.352-4.338c-9.192,0.657-17.859,4.371-24.507,10.203l0,0c-1.916,1.724-3.752,3.627-5.309,5.805%20c-4.856,6.294-7.791,14.001-7.791,22.32c0,20.967,16.637,36.875,37.606,36.875c0.102,0,0.203-0.009,0.302-0.01%20c0.141,0.002,0.28,0.01,0.42,0.01c5.784,0,10.85-1.443,17.357-4.336L227.198,271.909c-0.244,0.244,0.242,0.471,0,0.702V271.909z'/%3e%3cpolygon%20style='fill:%23E7E8E3;'%20points='356.863,228.033%20356.863,228.033%20340.487,268.295%20321.685,220.566%20306.502,220.566%20336.148,293.601%20344.102,293.601%20375.196,220.566%20360.013,220.566%20'/%3e%3cpolygon%20style='fill:%23E7E8E3;'%20points='380.983,252.384%20380.983,291.435%20420.033,291.435%20420.753,291.435%20420.753,279.861%20408.461,279.861%20395.445,279.861%20395.445,266.848%20395.445,260.342%20420.033,260.342%20420.033,248.045%20395.445,248.045%20395.445,232.861%20420.753,232.861%20420.753,220.566%20380.983,220.566%20'/%3e%3cpath%20style='fill:%23E7E8E3;'%20d='M54.135,220.566H33.884v70.869h20.25c10.845,0,18.798-2.895,25.306-7.957%20c7.953-6.508,13.017-16.629,13.017-27.474C92.458,235.028,77.27,220.566,54.135,220.566z%20M70.765,274.08%20c-4.339,3.614-10.124,5.781-18.802,5.781h-4.339V232.86h3.615c8.678,0,14.463,1.446,18.803,5.783%20c5.061,4.336,7.955,10.848,7.955,17.358C78.72,262.509,75.828,269.737,70.765,274.08z'/%3e%3crect%20x='98.97'%20y='220.56'%20style='fill:%23E7E8E3;'%20width='13.739'%20height='70.867'/%3e%3cpath%20style='fill:%23E7E8E3;'%20d='M147.415,248.045c-8.676-2.892-10.848-5.063-10.848-8.677c0-4.339,4.339-7.954,10.124-7.954%20c4.339,0,7.954,1.447,11.57,5.786l7.233-9.4c-5.787-5.064-13.015-7.953-20.97-7.953c-12.296,0-22.42,8.678-22.42,20.244%20c0,10.126,4.343,14.464,17.357,19.526c5.785,2.166,7.955,2.892,9.404,4.338c2.887,1.444,4.336,4.339,4.336,7.228%20c0,5.786-4.336,10.126-10.848,10.126c-6.514,0-12.294-3.615-15.187-9.401l-8.678,8.678c6.511,9.4,14.465,13.738,24.589,13.738%20c14.461,0,24.58-9.4,24.58-23.141C167.659,258.893,163.324,253.831,147.415,248.045z'/%3e%3cpath%20style='fill:%23E7E8E3;'%20d='M459.804,261.783c10.843-2.166,16.63-9.4,16.63-20.244c0-13.014-9.402-20.973-25.308-20.973h-20.972%20v70.869h13.739V263.23h2.172l19.519,28.205h16.634L459.804,261.783z%20M448.23,253.105h-4.336v-21.691h4.336%20c8.678,0,13.742,3.614,13.742,10.85C461.972,249.492,456.909,253.105,448.23,253.105z'/%3e%3c/g%3e%3c/svg%3e", Mt = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='iso-8859-1'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20height='800px'%20width='800px'%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%20291.791%20291.791'%20xml:space='preserve'%3e%3cg%3e%3cpath%20style='fill:%23E2574C;'%20d='M182.298,145.895c0,50.366-40.801,91.176-91.149,91.176S0,196.252,0,145.895%20s40.811-91.176,91.149-91.176S182.298,95.538,182.298,145.895z'/%3e%3cpath%20style='fill:%23F4B459;'%20d='M200.616,54.719c-20.442,0-39.261,6.811-54.469,18.181l0.073,0.009%20c2.991,2.89,6.291,4.924,8.835,8.251l-18.965,0.301c-2.972,3-5.68,6.264-8.233,9.656H161.3c2.544,3.054,4.896,5.708,7.03,9.081%20h-46.536c-1.705,2.936-3.282,5.954-4.659,9.09h56.493c1.477,3.127,2.799,5.489,3.921,8.799h-63.76%20c-1.012,3.146-1.878,6.364-2.535,9.646h68.966c0.675,3.155,1.194,6.072,1.55,9.045h-71.884c-0.301,3-0.456,6.045-0.456,9.118%20h72.859c0,3.228-0.228,6.218-0.556,9.118h-71.847c0.31,3.091,0.766,6.127,1.368,9.118h68.856c-0.711,2.954-1.532,5.926-2.562,9.008%20h-63.969c0.966,3.118,2.143,6.145,3.428,9.099h56.621c-1.568,3.319-3.346,5.972-5.306,9.081h-46.691%20c1.842,3.191,3.875,6.236,6.081,9.154l33.589,0.501c-2.863,3.437-6.537,5.507-9.884,8.516c0.182,0.146-5.352-0.018-16.248-0.191%20c16.576,17.105,39.744,27.772,65.446,27.772c50.357,0,91.176-40.82,91.176-91.176S250.981,54.719,200.616,54.719z'/%3e%3c/g%3e%3c/svg%3e", kt = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%20-140%20780%20780'%20enable-background='new%200%200%20780%20500'%20version='1.1'%20xml:space='preserve'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M40,0h700c22.092,0,40,17.909,40,40v420c0,22.092-17.908,40-40,40H40c-22.091,0-40-17.908-40-40V40%20C0,17.909,17.909,0,40,0z'%20fill='%230E4595'/%3e%3cpath%20d='m293.2%20348.73l33.361-195.76h53.36l-33.385%20195.76h-53.336zm246.11-191.54c-10.57-3.966-27.137-8.222-47.822-8.222-52.725%200-89.865%2026.55-90.18%2064.603-0.299%2028.13%2026.514%2043.822%2046.752%2053.186%2020.771%209.595%2027.752%2015.714%2027.654%2024.283-0.131%2013.121-16.586%2019.116-31.922%2019.116-21.357%200-32.703-2.967-50.227-10.276l-6.876-3.11-7.489%2043.823c12.463%205.464%2035.51%2010.198%2059.438%2010.443%2056.09%200%2092.5-26.246%2092.916-66.882%200.199-22.269-14.016-39.216-44.801-53.188-18.65-9.055-30.072-15.099-29.951-24.268%200-8.137%209.668-16.839%2030.557-16.839%2017.449-0.27%2030.09%203.535%2039.938%207.5l4.781%202.26%207.232-42.429m137.31-4.223h-41.232c-12.773%200-22.332%203.487-27.941%2016.234l-79.244%20179.4h56.031s9.16-24.123%2011.232-29.418c6.125%200%2060.555%200.084%2068.338%200.084%201.596%206.853%206.49%2029.334%206.49%2029.334h49.514l-43.188-195.64zm-65.418%20126.41c4.412-11.279%2021.26-54.723%2021.26-54.723-0.316%200.522%204.379-11.334%207.074-18.684l3.605%2016.879s10.219%2046.729%2012.354%2056.528h-44.293zm-363.3-126.41l-52.24%20133.5-5.567-27.13c-9.725-31.273-40.025-65.155-73.898-82.118l47.766%20171.2%2056.456-0.064%2084.004-195.39h-56.521'%20fill='%23ffffff'/%3e%3cpath%20d='m146.92%20152.96h-86.041l-0.681%204.073c66.938%2016.204%20111.23%2055.363%20129.62%20102.41l-18.71-89.96c-3.23-12.395-12.597-16.094-24.186-16.527'%20fill='%23F2AE14'/%3e%3c/svg%3e", E = [
|
|
1240
1269
|
{
|
|
1241
1270
|
type: "visa",
|
|
1242
|
-
imgSrc:
|
|
1271
|
+
imgSrc: kt
|
|
1243
1272
|
},
|
|
1244
1273
|
{
|
|
1245
1274
|
type: "masterCard",
|
|
1246
|
-
imgSrc:
|
|
1275
|
+
imgSrc: Mt
|
|
1247
1276
|
},
|
|
1248
1277
|
{
|
|
1249
1278
|
type: "americanExpress",
|
|
1250
|
-
imgSrc:
|
|
1279
|
+
imgSrc: wt
|
|
1251
1280
|
},
|
|
1252
1281
|
{
|
|
1253
1282
|
type: "discover",
|
|
1254
|
-
imgSrc:
|
|
1283
|
+
imgSrc: Lt
|
|
1255
1284
|
}
|
|
1256
1285
|
];
|
|
1257
|
-
class
|
|
1286
|
+
class Tt extends d {
|
|
1258
1287
|
cardType;
|
|
1259
1288
|
constructor(e) {
|
|
1260
1289
|
super("div", []), this.cardType = e.cardType;
|
|
1261
1290
|
const t = document.createElement("label");
|
|
1262
1291
|
t.setAttribute("for", "cardNumber"), t.textContent = e.label, t.style.color = e.styles.color, t.style.fontSize = `${e.styles.fontSize}px`, t.style.display = "block", t.style.marginBottom = "6px", this.getElement().appendChild(t);
|
|
1263
|
-
const i = document.createElement("div");
|
|
1264
|
-
i.className = e.isLoading ? "loading" : "", i.style.borderRadius = `${e.styles.borderRadius}px ${e.styles.borderRadius}px 0px 0px`;
|
|
1265
1292
|
const a = document.createElement("div");
|
|
1266
|
-
a.
|
|
1293
|
+
a.className = e.isLoading ? "loading" : "", a.style.borderRadius = `${e.styles.borderRadius}px ${e.styles.borderRadius}px 0px 0px`;
|
|
1294
|
+
const i = document.createElement("div");
|
|
1295
|
+
i.id = "card-element", i.className = `card-element ${e.isFocused ? "card-element-focus" : ""}`, i.style.zIndex = e.isFocused ? "2" : "0";
|
|
1267
1296
|
const s = document.createElement("div");
|
|
1268
1297
|
if (s.className = "cards-position", e.cardType === "unknown")
|
|
1269
1298
|
E.forEach((r) => {
|
|
@@ -1273,13 +1302,13 @@ class ht extends d {
|
|
|
1273
1302
|
const r = E.find((o) => o.type === e.cardType);
|
|
1274
1303
|
r && s.appendChild(this.createCardIcon(r));
|
|
1275
1304
|
}
|
|
1276
|
-
|
|
1305
|
+
i.appendChild(s), a.appendChild(i), this.getElement().appendChild(a);
|
|
1277
1306
|
}
|
|
1278
1307
|
createCardIcon(e) {
|
|
1279
1308
|
const t = document.createElement("div");
|
|
1280
1309
|
t.className = "card-icon";
|
|
1281
|
-
const
|
|
1282
|
-
return
|
|
1310
|
+
const a = document.createElement("img");
|
|
1311
|
+
return a.src = e.imgSrc, t.appendChild(a), t;
|
|
1283
1312
|
}
|
|
1284
1313
|
setFocused(e) {
|
|
1285
1314
|
const t = this.getElement().querySelector(
|
|
@@ -1298,22 +1327,22 @@ class ht extends d {
|
|
|
1298
1327
|
if (this.cardType === t)
|
|
1299
1328
|
return this;
|
|
1300
1329
|
this.cardType = t;
|
|
1301
|
-
const
|
|
1302
|
-
if (
|
|
1303
|
-
if (
|
|
1304
|
-
E.forEach((
|
|
1305
|
-
|
|
1330
|
+
const a = this.getElement().querySelector(".cards-position");
|
|
1331
|
+
if (a)
|
|
1332
|
+
if (a.innerHTML = "", this.cardType === "unknown")
|
|
1333
|
+
E.forEach((i) => {
|
|
1334
|
+
a.appendChild(this.createCardIcon(i));
|
|
1306
1335
|
});
|
|
1307
1336
|
else {
|
|
1308
|
-
const
|
|
1309
|
-
|
|
1310
|
-
|
|
1337
|
+
const i = E.find((s) => s.type === this.cardType);
|
|
1338
|
+
i ? a.appendChild(this.createCardIcon(i)) : E.forEach((s) => {
|
|
1339
|
+
a.appendChild(this.createCardIcon(s));
|
|
1311
1340
|
});
|
|
1312
1341
|
}
|
|
1313
1342
|
return this;
|
|
1314
1343
|
}
|
|
1315
1344
|
}
|
|
1316
|
-
class
|
|
1345
|
+
class It extends d {
|
|
1317
1346
|
cardNumber;
|
|
1318
1347
|
cardExpiry;
|
|
1319
1348
|
cardCvv;
|
|
@@ -1322,8 +1351,8 @@ class mt extends d {
|
|
|
1322
1351
|
super("div", []);
|
|
1323
1352
|
const {
|
|
1324
1353
|
checkoutProfile: t,
|
|
1325
|
-
isLoading:
|
|
1326
|
-
isFocused:
|
|
1354
|
+
isLoading: a,
|
|
1355
|
+
isFocused: i,
|
|
1327
1356
|
isCvvFocused: s,
|
|
1328
1357
|
isCcValid: r,
|
|
1329
1358
|
isCvvValid: o,
|
|
@@ -1335,15 +1364,15 @@ class mt extends d {
|
|
|
1335
1364
|
onBlur: p,
|
|
1336
1365
|
translationFunc: f
|
|
1337
1366
|
} = e, b = document.createElement("div");
|
|
1338
|
-
b.className = "card-grid", this.cardNumber = new
|
|
1367
|
+
b.className = "card-grid", this.cardNumber = new Tt({
|
|
1339
1368
|
styles: {
|
|
1340
1369
|
color: t.styles.textColor,
|
|
1341
1370
|
fontSize: t.styles.fontSize,
|
|
1342
1371
|
borderRadius: t.styles.borderRadius
|
|
1343
1372
|
},
|
|
1344
1373
|
label: f("cardInformation"),
|
|
1345
|
-
isLoading:
|
|
1346
|
-
isFocused:
|
|
1374
|
+
isLoading: a,
|
|
1375
|
+
isFocused: i,
|
|
1347
1376
|
cardType: l
|
|
1348
1377
|
}), b.appendChild(this.cardNumber.getElement());
|
|
1349
1378
|
const C = document.createElement("div");
|
|
@@ -1372,16 +1401,16 @@ class mt extends d {
|
|
|
1372
1401
|
"Tab"
|
|
1373
1402
|
].includes(w.key) && !/^\d$/.test(w.key) && w.preventDefault();
|
|
1374
1403
|
});
|
|
1375
|
-
const
|
|
1376
|
-
|
|
1404
|
+
const A = this.cardExpiry.getElement();
|
|
1405
|
+
A.style.height = "100%";
|
|
1377
1406
|
const F = document.createElement("div");
|
|
1378
|
-
if (F.className = "input-wrapper", this.cardCvv = new
|
|
1407
|
+
if (F.className = "input-wrapper", this.cardCvv = new Ft({
|
|
1379
1408
|
styles: {
|
|
1380
1409
|
borderRadius: typeof t.styles.borderRadius == "number" ? t.styles.borderRadius : 0
|
|
1381
1410
|
},
|
|
1382
|
-
isLoading:
|
|
1411
|
+
isLoading: a,
|
|
1383
1412
|
isFocused: s
|
|
1384
|
-
}), F.appendChild(this.cardCvv.getElement()), C.appendChild(this.cardExpiry.getElement()), C.appendChild(F), b.appendChild(C), this.getElement().appendChild(b),
|
|
1413
|
+
}), F.appendChild(this.cardCvv.getElement()), C.appendChild(this.cardExpiry.getElement()), C.appendChild(F), b.appendChild(C), this.getElement().appendChild(b), i && !r) {
|
|
1385
1414
|
const g = new v({
|
|
1386
1415
|
text: f("validation.cardNumberInvalid")
|
|
1387
1416
|
});
|
|
@@ -1397,8 +1426,8 @@ class mt extends d {
|
|
|
1397
1426
|
updateCardType(e) {
|
|
1398
1427
|
return this.cardNumber.updateCardType(e), this;
|
|
1399
1428
|
}
|
|
1400
|
-
updateCardExpiry(e, t,
|
|
1401
|
-
return this.cardExpiry.setValue(e), t &&
|
|
1429
|
+
updateCardExpiry(e, t, a) {
|
|
1430
|
+
return this.cardExpiry.setValue(e), t && a ? this.cardExpiry.setError(!0, t) : this.cardExpiry.setError(!1), this;
|
|
1402
1431
|
}
|
|
1403
1432
|
getCardExpiryValue() {
|
|
1404
1433
|
return this.cardExpiry.getValue();
|
|
@@ -1407,31 +1436,31 @@ class mt extends d {
|
|
|
1407
1436
|
const e = this.getCardExpiryValue().trim();
|
|
1408
1437
|
return this.cardExpiry.setValue(e), this;
|
|
1409
1438
|
}
|
|
1410
|
-
updateCardNumberValidation(e, t,
|
|
1439
|
+
updateCardNumberValidation(e, t, a) {
|
|
1411
1440
|
if (this.cardNumber.setFocused(e), e && !t) {
|
|
1412
1441
|
if (!this.validationMessages.has("cardNumber")) {
|
|
1413
|
-
const
|
|
1414
|
-
text:
|
|
1442
|
+
const i = new v({
|
|
1443
|
+
text: a("validation.cardNumberInvalid")
|
|
1415
1444
|
});
|
|
1416
|
-
this.validationMessages.set("cardNumber",
|
|
1445
|
+
this.validationMessages.set("cardNumber", i), this.appendChild(i);
|
|
1417
1446
|
}
|
|
1418
1447
|
} else {
|
|
1419
|
-
const
|
|
1420
|
-
|
|
1448
|
+
const i = this.validationMessages.get("cardNumber");
|
|
1449
|
+
i && (i.getElement().remove(), this.validationMessages.delete("cardNumber"));
|
|
1421
1450
|
}
|
|
1422
1451
|
return this;
|
|
1423
1452
|
}
|
|
1424
|
-
updateCardCvvValidation(e, t,
|
|
1453
|
+
updateCardCvvValidation(e, t, a) {
|
|
1425
1454
|
if (this.cardCvv.setFocused(e), e && !t) {
|
|
1426
1455
|
if (!this.validationMessages.has("cardCvv")) {
|
|
1427
|
-
const
|
|
1428
|
-
text:
|
|
1456
|
+
const i = new v({
|
|
1457
|
+
text: a("validation.cardSecurityFormat")
|
|
1429
1458
|
});
|
|
1430
|
-
this.validationMessages.set("cardCvv",
|
|
1459
|
+
this.validationMessages.set("cardCvv", i), this.appendChild(i);
|
|
1431
1460
|
}
|
|
1432
1461
|
} else {
|
|
1433
|
-
const
|
|
1434
|
-
|
|
1462
|
+
const i = this.validationMessages.get("cardCvv");
|
|
1463
|
+
i && (i.getElement().remove(), this.validationMessages.delete("cardCvv"));
|
|
1435
1464
|
}
|
|
1436
1465
|
return this;
|
|
1437
1466
|
}
|
|
@@ -1439,13 +1468,13 @@ class mt extends d {
|
|
|
1439
1468
|
return this.cardNumber.setLoading(e), this.cardCvv.setLoading(e), this;
|
|
1440
1469
|
}
|
|
1441
1470
|
}
|
|
1442
|
-
class
|
|
1471
|
+
class Nt {
|
|
1443
1472
|
input;
|
|
1444
1473
|
constructor(e) {
|
|
1445
1474
|
const {
|
|
1446
1475
|
value: t,
|
|
1447
|
-
onChange:
|
|
1448
|
-
onBlur:
|
|
1476
|
+
onChange: a,
|
|
1477
|
+
onBlur: i,
|
|
1449
1478
|
error: s,
|
|
1450
1479
|
errorMsg: r,
|
|
1451
1480
|
checkoutProfile: o,
|
|
@@ -1467,9 +1496,9 @@ class ut {
|
|
|
1467
1496
|
value: t,
|
|
1468
1497
|
// Wrap the original onChange to apply trim before calling it
|
|
1469
1498
|
onChange: (c) => {
|
|
1470
|
-
this.trim(),
|
|
1499
|
+
this.trim(), a(c);
|
|
1471
1500
|
}
|
|
1472
|
-
}), this.input.addEventListener("blur",
|
|
1501
|
+
}), this.input.addEventListener("blur", i);
|
|
1473
1502
|
}
|
|
1474
1503
|
getValue() {
|
|
1475
1504
|
return this.input.getValue();
|
|
@@ -1491,19 +1520,19 @@ class ut {
|
|
|
1491
1520
|
return this.input.appendTo(e), this;
|
|
1492
1521
|
}
|
|
1493
1522
|
}
|
|
1494
|
-
const
|
|
1495
|
-
class
|
|
1523
|
+
const zt = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='101px'%20height='32'%20viewBox='0%200%20101%2032'%20preserveAspectRatio='xMinYMin%20meet'%3e%3cpath%20fill='%23003087'%20d='M%2012.237%202.8%20L%204.437%202.8%20C%203.937%202.8%203.437%203.2%203.337%203.7%20L%200.237%2023.7%20C%200.137%2024.1%200.437%2024.4%200.837%2024.4%20L%204.537%2024.4%20C%205.037%2024.4%205.537%2024%205.637%2023.5%20L%206.437%2018.1%20C%206.537%2017.6%206.937%2017.2%207.537%2017.2%20L%2010.037%2017.2%20C%2015.137%2017.2%2018.137%2014.7%2018.937%209.8%20C%2019.237%207.7%2018.937%206%2017.937%204.8%20C%2016.837%203.5%2014.837%202.8%2012.237%202.8%20Z%20M%2013.137%2010.1%20C%2012.737%2012.9%2010.537%2012.9%208.537%2012.9%20L%207.337%2012.9%20L%208.137%207.7%20C%208.137%207.4%208.437%207.2%208.737%207.2%20L%209.237%207.2%20C%2010.637%207.2%2011.937%207.2%2012.637%208%20C%2013.137%208.4%2013.337%209.1%2013.137%2010.1%20Z'/%3e%3cpath%20fill='%23003087'%20d='M%2035.437%2010%20L%2031.737%2010%20C%2031.437%2010%2031.137%2010.2%2031.137%2010.5%20L%2030.937%2011.5%20L%2030.637%2011.1%20C%2029.837%209.9%2028.037%209.5%2026.237%209.5%20C%2022.137%209.5%2018.637%2012.6%2017.937%2017%20C%2017.537%2019.2%2018.037%2021.3%2019.337%2022.7%20C%2020.437%2024%2022.137%2024.6%2024.037%2024.6%20C%2027.337%2024.6%2029.237%2022.5%2029.237%2022.5%20L%2029.037%2023.5%20C%2028.937%2023.9%2029.237%2024.3%2029.637%2024.3%20L%2033.037%2024.3%20C%2033.537%2024.3%2034.037%2023.9%2034.137%2023.4%20L%2036.137%2010.6%20C%2036.237%2010.4%2035.837%2010%2035.437%2010%20Z%20M%2030.337%2017.2%20C%2029.937%2019.3%2028.337%2020.8%2026.137%2020.8%20C%2025.037%2020.8%2024.237%2020.5%2023.637%2019.8%20C%2023.037%2019.1%2022.837%2018.2%2023.037%2017.2%20C%2023.337%2015.1%2025.137%2013.6%2027.237%2013.6%20C%2028.337%2013.6%2029.137%2014%2029.737%2014.6%20C%2030.237%2015.3%2030.437%2016.2%2030.337%2017.2%20Z'/%3e%3cpath%20fill='%23003087'%20d='M%2055.337%2010%20L%2051.637%2010%20C%2051.237%2010%2050.937%2010.2%2050.737%2010.5%20L%2045.537%2018.1%20L%2043.337%2010.8%20C%2043.237%2010.3%2042.737%2010%2042.337%2010%20L%2038.637%2010%20C%2038.237%2010%2037.837%2010.4%2038.037%2010.9%20L%2042.137%2023%20L%2038.237%2028.4%20C%2037.937%2028.8%2038.237%2029.4%2038.737%2029.4%20L%2042.437%2029.4%20C%2042.837%2029.4%2043.137%2029.2%2043.337%2028.9%20L%2055.837%2010.9%20C%2056.137%2010.6%2055.837%2010%2055.337%2010%20Z'/%3e%3cpath%20fill='%23009cde'%20d='M%2067.737%202.8%20L%2059.937%202.8%20C%2059.437%202.8%2058.937%203.2%2058.837%203.7%20L%2055.737%2023.6%20C%2055.637%2024%2055.937%2024.3%2056.337%2024.3%20L%2060.337%2024.3%20C%2060.737%2024.3%2061.037%2024%2061.037%2023.7%20L%2061.937%2018%20C%2062.037%2017.5%2062.437%2017.1%2063.037%2017.1%20L%2065.537%2017.1%20C%2070.637%2017.1%2073.637%2014.6%2074.437%209.7%20C%2074.737%207.6%2074.437%205.9%2073.437%204.7%20C%2072.237%203.5%2070.337%202.8%2067.737%202.8%20Z%20M%2068.637%2010.1%20C%2068.237%2012.9%2066.037%2012.9%2064.037%2012.9%20L%2062.837%2012.9%20L%2063.637%207.7%20C%2063.637%207.4%2063.937%207.2%2064.237%207.2%20L%2064.737%207.2%20C%2066.137%207.2%2067.437%207.2%2068.137%208%20C%2068.637%208.4%2068.737%209.1%2068.637%2010.1%20Z'/%3e%3cpath%20fill='%23009cde'%20d='M%2090.937%2010%20L%2087.237%2010%20C%2086.937%2010%2086.637%2010.2%2086.637%2010.5%20L%2086.437%2011.5%20L%2086.137%2011.1%20C%2085.337%209.9%2083.537%209.5%2081.737%209.5%20C%2077.637%209.5%2074.137%2012.6%2073.437%2017%20C%2073.037%2019.2%2073.537%2021.3%2074.837%2022.7%20C%2075.937%2024%2077.637%2024.6%2079.537%2024.6%20C%2082.837%2024.6%2084.737%2022.5%2084.737%2022.5%20L%2084.537%2023.5%20C%2084.437%2023.9%2084.737%2024.3%2085.137%2024.3%20L%2088.537%2024.3%20C%2089.037%2024.3%2089.537%2023.9%2089.637%2023.4%20L%2091.637%2010.6%20C%2091.637%2010.4%2091.337%2010%2090.937%2010%20Z%20M%2085.737%2017.2%20C%2085.337%2019.3%2083.737%2020.8%2081.537%2020.8%20C%2080.437%2020.8%2079.637%2020.5%2079.037%2019.8%20C%2078.437%2019.1%2078.237%2018.2%2078.437%2017.2%20C%2078.737%2015.1%2080.537%2013.6%2082.637%2013.6%20C%2083.737%2013.6%2084.537%2014%2085.137%2014.6%20C%2085.737%2015.3%2085.937%2016.2%2085.737%2017.2%20Z'/%3e%3cpath%20fill='%23009cde'%20d='M%2095.337%203.3%20L%2092.137%2023.6%20C%2092.037%2024%2092.337%2024.3%2092.737%2024.3%20L%2095.937%2024.3%20C%2096.437%2024.3%2096.937%2023.9%2097.037%2023.4%20L%20100.237%203.5%20C%20100.337%203.1%20100.037%202.8%2099.637%202.8%20L%2096.037%202.8%20C%2095.637%202.8%2095.437%203%2095.337%203.3%20Z'/%3e%3c/svg%3e";
|
|
1524
|
+
class Pt extends d {
|
|
1496
1525
|
formData;
|
|
1497
1526
|
onSubmit;
|
|
1498
1527
|
isSubmitting = !1;
|
|
1499
1528
|
constructor(e) {
|
|
1500
1529
|
super("div", ["paypal"]);
|
|
1501
|
-
const { formData: t, onSubmit:
|
|
1502
|
-
this.formData = t, this.onSubmit =
|
|
1503
|
-
const
|
|
1504
|
-
|
|
1530
|
+
const { formData: t, onSubmit: a } = e;
|
|
1531
|
+
this.formData = t, this.onSubmit = a, this.getElement().style.cursor = a ? "pointer" : "default", this.getElement().style.opacity = "1";
|
|
1532
|
+
const i = document.createElement("div");
|
|
1533
|
+
i.className = "paypal-icon-container";
|
|
1505
1534
|
const s = document.createElement("img");
|
|
1506
|
-
s.src =
|
|
1535
|
+
s.src = zt, s.style.width = "69px", s.style.height = "22px", s.style.maxWidth = "100%", s.style.display = "block", s.style.height = "auto", i.appendChild(s), this.getElement().appendChild(i), a && this.getElement().addEventListener("click", () => this.handleSubmit());
|
|
1507
1536
|
}
|
|
1508
1537
|
async handleSubmit() {
|
|
1509
1538
|
if (!(!this.onSubmit || this.isSubmitting)) {
|
|
@@ -1524,10 +1553,10 @@ class ft extends d {
|
|
|
1524
1553
|
return this.isSubmitting = e, this.getElement().style.opacity = e ? "0.7" : "1", this;
|
|
1525
1554
|
}
|
|
1526
1555
|
}
|
|
1527
|
-
class
|
|
1556
|
+
class At extends d {
|
|
1528
1557
|
paymentMethods;
|
|
1529
1558
|
constructor(e) {
|
|
1530
|
-
const { checkoutProfile: t, formData:
|
|
1559
|
+
const { checkoutProfile: t, formData: a, onPaypalSubmit: i } = e;
|
|
1531
1560
|
if (!t?.additionalPaymentMethods) {
|
|
1532
1561
|
super("div", ["payment-methods"]), this.paymentMethods = /* @__PURE__ */ new Map(), this.getElement().style.display = "none";
|
|
1533
1562
|
return;
|
|
@@ -1543,11 +1572,11 @@ class gt extends d {
|
|
|
1543
1572
|
for (const [r] of s)
|
|
1544
1573
|
switch (r) {
|
|
1545
1574
|
case "paypal": {
|
|
1546
|
-
if (
|
|
1547
|
-
const o = new
|
|
1575
|
+
if (i) {
|
|
1576
|
+
const o = new Pt({
|
|
1548
1577
|
checkoutProfile: t,
|
|
1549
|
-
formData:
|
|
1550
|
-
onSubmit:
|
|
1578
|
+
formData: a,
|
|
1579
|
+
onSubmit: i
|
|
1551
1580
|
});
|
|
1552
1581
|
this.paymentMethods.set("paypal", o), o.appendTo(this.getElement());
|
|
1553
1582
|
}
|
|
@@ -1563,8 +1592,8 @@ class gt extends d {
|
|
|
1563
1592
|
return this.paymentMethods.size > 0 && this.getElement().style.display !== "none";
|
|
1564
1593
|
}
|
|
1565
1594
|
}
|
|
1566
|
-
const
|
|
1567
|
-
class
|
|
1595
|
+
const Dt = 17;
|
|
1596
|
+
class $t extends d {
|
|
1568
1597
|
styles;
|
|
1569
1598
|
isHovered = !1;
|
|
1570
1599
|
constructor(e) {
|
|
@@ -1575,7 +1604,7 @@ class vt extends d {
|
|
|
1575
1604
|
}
|
|
1576
1605
|
applyStyles() {
|
|
1577
1606
|
const e = this.getElement();
|
|
1578
|
-
e.style.backgroundColor = this.isHovered ? `color-mix(in srgb, ${this.styles.backgroundColor} 80%, transparent)` : this.styles.backgroundColor, e.disabled ? e.style.color = "#cccccc" : e.style.color = this.styles.color, e.style.borderRadius = this.styles.borderRadius ===
|
|
1607
|
+
e.style.backgroundColor = this.isHovered ? `color-mix(in srgb, ${this.styles.backgroundColor} 80%, transparent)` : this.styles.backgroundColor, e.disabled ? e.style.color = "#cccccc" : e.style.color = this.styles.color, e.style.borderRadius = this.styles.borderRadius === Dt ? "100vmax" : `${this.styles.borderRadius}px`, e.style.fontSize = `${this.styles.fontSize}px`, e.style.fontFamily = `${this.styles.fontFamily}, sans-serif`;
|
|
1579
1608
|
}
|
|
1580
1609
|
handleMouseEnter() {
|
|
1581
1610
|
this.isHovered = !0, this.applyStyles();
|
|
@@ -1587,20 +1616,20 @@ class vt extends d {
|
|
|
1587
1616
|
return this.getElement().disabled = e, e ? (this.addClass("disabled"), this.removeClass("valid")) : (this.removeClass("disabled"), this.addClass("valid")), this.applyStyles(), this;
|
|
1588
1617
|
}
|
|
1589
1618
|
}
|
|
1590
|
-
class
|
|
1619
|
+
class Vt {
|
|
1591
1620
|
button;
|
|
1592
1621
|
constructor(e) {
|
|
1593
|
-
const { disabled: t, checkoutProfile:
|
|
1594
|
-
this.button = new
|
|
1595
|
-
text:
|
|
1596
|
-
`buttonTexts.${
|
|
1622
|
+
const { disabled: t, checkoutProfile: a, translationFunc: i } = e;
|
|
1623
|
+
this.button = new $t({
|
|
1624
|
+
text: i(
|
|
1625
|
+
`buttonTexts.${a?.layout.actionButton.translationKey}`
|
|
1597
1626
|
),
|
|
1598
1627
|
styles: {
|
|
1599
|
-
backgroundColor:
|
|
1600
|
-
color:
|
|
1601
|
-
fontFamily:
|
|
1602
|
-
borderRadius:
|
|
1603
|
-
fontSize:
|
|
1628
|
+
backgroundColor: a.styles.buttonColor,
|
|
1629
|
+
color: a.styles.buttonTextColor,
|
|
1630
|
+
fontFamily: a.styles.fontFamily,
|
|
1631
|
+
borderRadius: a.styles.borderRadius,
|
|
1632
|
+
fontSize: a.styles.buttonFontSize
|
|
1604
1633
|
},
|
|
1605
1634
|
disabled: t
|
|
1606
1635
|
});
|
|
@@ -1611,15 +1640,15 @@ class Et {
|
|
|
1611
1640
|
setDisabled(e) {
|
|
1612
1641
|
return this.button.setDisabled(e), this;
|
|
1613
1642
|
}
|
|
1614
|
-
addEventListener(e, t,
|
|
1615
|
-
return this.button.addEventListener(e, t,
|
|
1643
|
+
addEventListener(e, t, a) {
|
|
1644
|
+
return this.button.addEventListener(e, t, a), this;
|
|
1616
1645
|
}
|
|
1617
1646
|
appendTo(e) {
|
|
1618
1647
|
return this.button.appendTo(e), this;
|
|
1619
1648
|
}
|
|
1620
1649
|
}
|
|
1621
|
-
const
|
|
1622
|
-
class
|
|
1650
|
+
const Rt = "https://test-htp.tokenex.com/Iframe/Iframe-v3.min.js", Bt = "https://htp.tokenex.com/iframe/iframe-v3.min.js";
|
|
1651
|
+
class Ot extends d {
|
|
1623
1652
|
options;
|
|
1624
1653
|
isSubmitting = !1;
|
|
1625
1654
|
scriptCleanup;
|
|
@@ -1633,16 +1662,16 @@ class St extends d {
|
|
|
1633
1662
|
spinner;
|
|
1634
1663
|
alert;
|
|
1635
1664
|
// factories
|
|
1636
|
-
formManager =
|
|
1665
|
+
formManager = G();
|
|
1637
1666
|
checkoutProfile;
|
|
1638
|
-
translation =
|
|
1667
|
+
translation = M();
|
|
1639
1668
|
iframeHook;
|
|
1640
1669
|
constructor(e) {
|
|
1641
|
-
super("form", ["form-container"]), this.options = e, this.checkoutProfile =
|
|
1670
|
+
super("form", ["form-container"]), this.options = e, this.checkoutProfile = H({
|
|
1642
1671
|
apiKey: e.apiKey,
|
|
1643
1672
|
profileId: e.profileId,
|
|
1644
1673
|
environment: e.environment
|
|
1645
|
-
}), e.locale && this.translation.setLocale(e.locale), this.getElement().
|
|
1674
|
+
}), e.locale && this.translation.setLocale(e.locale), this.getElement().addEventListener("submit", this.handleSubmit), this.getElement().addEventListener("keydown", this.handleKeyDown), this.formManager.subscribe(this.handleFormStateChange), this.checkoutProfile.subscribe(this.handleProfileStateChange), this.initializeForm(), this.appendTo(e.container);
|
|
1646
1675
|
}
|
|
1647
1676
|
_getFormStateData() {
|
|
1648
1677
|
const e = this.formManager.getFormState();
|
|
@@ -1661,10 +1690,10 @@ class St extends d {
|
|
|
1661
1690
|
};
|
|
1662
1691
|
handleProfileStateChange = (e) => {
|
|
1663
1692
|
if (!e.isLoading)
|
|
1664
|
-
if (this.
|
|
1693
|
+
if (this.setLoadingState(!1), e.checkoutProfile)
|
|
1665
1694
|
try {
|
|
1666
1695
|
if (e.checkoutProfile.styles?.fontFamily) {
|
|
1667
|
-
const { cleanup: t } =
|
|
1696
|
+
const { cleanup: t } = vt({
|
|
1668
1697
|
fontFamily: e.checkoutProfile.styles.fontFamily
|
|
1669
1698
|
});
|
|
1670
1699
|
this.fontCleanup = t;
|
|
@@ -1687,15 +1716,15 @@ class St extends d {
|
|
|
1687
1716
|
setTimeout(() => this.initializeTokenExIframe(), 500);
|
|
1688
1717
|
return;
|
|
1689
1718
|
}
|
|
1690
|
-
const { inputStyles: t, formContainerStyle:
|
|
1719
|
+
const { inputStyles: t, formContainerStyle: a } = bt(
|
|
1691
1720
|
e.checkoutProfile
|
|
1692
1721
|
);
|
|
1693
|
-
this.applyFormContainerStyles(
|
|
1722
|
+
this.applyFormContainerStyles(a), this.iframeHook = Z({
|
|
1694
1723
|
apiKey: this.options.apiKey,
|
|
1695
1724
|
checkoutProfile: e.checkoutProfile,
|
|
1696
1725
|
inputStyles: t,
|
|
1697
|
-
setFormData: (
|
|
1698
|
-
this.formManager.setFormData(
|
|
1726
|
+
setFormData: (i) => {
|
|
1727
|
+
this.formManager.setFormData(i);
|
|
1699
1728
|
},
|
|
1700
1729
|
environment: this.options.environment
|
|
1701
1730
|
}), this.iframeHook?.subscribe(this.handleIframeStateChange), this.renderFormComponents();
|
|
@@ -1718,8 +1747,8 @@ class St extends d {
|
|
|
1718
1747
|
createCardSection = (e) => {
|
|
1719
1748
|
if (this.iframeHook && !this.cardSection)
|
|
1720
1749
|
try {
|
|
1721
|
-
const { formData: t, errors:
|
|
1722
|
-
this.cardSection = new
|
|
1750
|
+
const { formData: t, errors: a, touched: i } = this._getFormStateData(), s = this.iframeHook.getState();
|
|
1751
|
+
this.cardSection = new It({
|
|
1723
1752
|
checkoutProfile: e,
|
|
1724
1753
|
isLoading: s.loadingIframe,
|
|
1725
1754
|
isFocused: s.isFocused,
|
|
@@ -1728,24 +1757,24 @@ class St extends d {
|
|
|
1728
1757
|
isCvvValid: s.isCvvValid,
|
|
1729
1758
|
cardType: s.possibleCardType,
|
|
1730
1759
|
cardExpiry: t.cardExpiry,
|
|
1731
|
-
cardExpiryError:
|
|
1732
|
-
cardExpiryTouched: !!
|
|
1760
|
+
cardExpiryError: a.cardExpiry,
|
|
1761
|
+
cardExpiryTouched: !!i.cardExpiry,
|
|
1733
1762
|
onChange: this.handleChange,
|
|
1734
1763
|
onBlur: this.handleBlur,
|
|
1735
1764
|
translationFunc: this.translation.t
|
|
1736
|
-
}), this.element.appendChild(this.cardSection.getElement()), this.updateFormUI(), this.cardSection && this.emailField && this.cardholderSection && this.submitButton
|
|
1765
|
+
}), this.element.appendChild(this.cardSection.getElement()), this.updateFormUI(), this.cardSection && this.emailField && this.cardholderSection && this.submitButton;
|
|
1737
1766
|
} catch {
|
|
1738
1767
|
this.setErrorMessage("Card section temporarily unavailabl");
|
|
1739
1768
|
}
|
|
1740
1769
|
};
|
|
1741
1770
|
initializeForm() {
|
|
1742
|
-
this.
|
|
1743
|
-
const e = this.options.environment === "test" ?
|
|
1771
|
+
this.setLoadingState(!0), this.options.errorMsg && this.setErrorMessage(this.options.errorMsg);
|
|
1772
|
+
const e = this.options.environment === "test" ? Rt : Bt, { cleanup: t, isLoaded: a } = Et({
|
|
1744
1773
|
scriptSrc: e
|
|
1745
1774
|
});
|
|
1746
|
-
this.scriptCleanup = t,
|
|
1775
|
+
this.scriptCleanup = t, a.then(() => {
|
|
1747
1776
|
}).catch(() => {
|
|
1748
|
-
this.setErrorMessage(
|
|
1777
|
+
this.setLoadingState(!1), this.setErrorMessage(
|
|
1749
1778
|
"Failed to load payment system. Please try again later."
|
|
1750
1779
|
);
|
|
1751
1780
|
});
|
|
@@ -1758,71 +1787,63 @@ class St extends d {
|
|
|
1758
1787
|
this.setErrorMessage("Failed to load checkout configuration");
|
|
1759
1788
|
return;
|
|
1760
1789
|
}
|
|
1761
|
-
this.createPaymentMethods(e.checkoutProfile), this.createEmailField(e.checkoutProfile), this.createCardSection(e.checkoutProfile), this.createCardholderSection(e.checkoutProfile), this.createSubmitButton(e.checkoutProfile)
|
|
1790
|
+
this.createPaymentMethods(e.checkoutProfile), this.createEmailField(e.checkoutProfile), this.createCardSection(e.checkoutProfile), this.createCardholderSection(e.checkoutProfile), this.createSubmitButton(e.checkoutProfile);
|
|
1762
1791
|
} catch {
|
|
1763
1792
|
this.setErrorMessage("Failed to render checkout form components");
|
|
1764
1793
|
}
|
|
1765
1794
|
}
|
|
1766
|
-
/**
|
|
1767
|
-
* Animate the form's visibility by transitioning opacity
|
|
1768
|
-
*/
|
|
1769
|
-
animateFormVisibility() {
|
|
1770
|
-
setTimeout(() => {
|
|
1771
|
-
this.getElement().style.opacity = "1";
|
|
1772
|
-
}, 100);
|
|
1773
|
-
}
|
|
1774
1795
|
createPaymentMethods(e) {
|
|
1775
1796
|
if (!e?.additionalPaymentMethods || Object.entries(
|
|
1776
1797
|
e.additionalPaymentMethods
|
|
1777
|
-
).filter(([,
|
|
1798
|
+
).filter(([, i]) => i.enabled).length === 0)
|
|
1778
1799
|
return;
|
|
1779
|
-
const { formData:
|
|
1780
|
-
this.paymentMethods = new
|
|
1800
|
+
const { formData: a } = this._getFormStateData();
|
|
1801
|
+
this.paymentMethods = new At({
|
|
1781
1802
|
checkoutProfile: e,
|
|
1782
|
-
formData:
|
|
1803
|
+
formData: a,
|
|
1783
1804
|
onPaypalSubmit: async () => {
|
|
1784
1805
|
await this.handlePaypalSubmit();
|
|
1785
1806
|
}
|
|
1786
1807
|
}), this.appendChild(this.paymentMethods);
|
|
1787
1808
|
}
|
|
1788
1809
|
createEmailField(e) {
|
|
1789
|
-
const { formData: t, errors:
|
|
1790
|
-
this.emailField = new
|
|
1810
|
+
const { formData: t, errors: a, touched: i } = this._getFormStateData();
|
|
1811
|
+
this.emailField = new Nt({
|
|
1791
1812
|
value: t.email,
|
|
1792
1813
|
onChange: this.handleChange,
|
|
1793
1814
|
onBlur: this.handleBlur,
|
|
1794
|
-
error: !!(
|
|
1795
|
-
errorMsg:
|
|
1815
|
+
error: !!(a.email && i.email),
|
|
1816
|
+
errorMsg: a.email,
|
|
1796
1817
|
checkoutProfile: e,
|
|
1797
1818
|
translationFunc: this.translation.t
|
|
1798
1819
|
}), this.element.appendChild(this.emailField.getElement());
|
|
1799
1820
|
}
|
|
1800
1821
|
createCardholderSection(e) {
|
|
1801
|
-
const { formData: t, errors:
|
|
1802
|
-
this.cardholderSection = new
|
|
1822
|
+
const { formData: t, errors: a, touched: i } = this._getFormStateData();
|
|
1823
|
+
this.cardholderSection = new xt({
|
|
1803
1824
|
value: t.name,
|
|
1804
1825
|
onChange: this.handleChange,
|
|
1805
1826
|
onBlur: this.handleBlur,
|
|
1806
|
-
error: !!(
|
|
1807
|
-
errorMsg:
|
|
1827
|
+
error: !!(a.name && i.name),
|
|
1828
|
+
errorMsg: a.name,
|
|
1808
1829
|
checkoutProfile: e,
|
|
1809
1830
|
translationFunc: this.translation.t
|
|
1810
1831
|
}), this.element.appendChild(this.cardholderSection.getElement());
|
|
1811
1832
|
}
|
|
1812
1833
|
createSubmitButton(e) {
|
|
1813
|
-
this.submitButton = new
|
|
1834
|
+
this.submitButton = new Vt({
|
|
1814
1835
|
disabled: this.isFormDisabled(),
|
|
1815
1836
|
checkoutProfile: e,
|
|
1816
1837
|
translationFunc: this.translation.t
|
|
1817
1838
|
}), this.element.appendChild(this.submitButton.getElement());
|
|
1818
1839
|
}
|
|
1819
1840
|
handleChange = (e) => {
|
|
1820
|
-
const t = e.target, { name:
|
|
1821
|
-
this.formManager.handleChange(
|
|
1841
|
+
const t = e.target, { name: a, value: i } = t;
|
|
1842
|
+
this.formManager.handleChange(a, i);
|
|
1822
1843
|
};
|
|
1823
1844
|
handleBlur = (e) => {
|
|
1824
|
-
const t = e.target, { name:
|
|
1825
|
-
this.formManager.handleBlur(
|
|
1845
|
+
const t = e.target, { name: a, value: i } = t;
|
|
1846
|
+
this.formManager.handleBlur(a, i);
|
|
1826
1847
|
};
|
|
1827
1848
|
updateFormUI() {
|
|
1828
1849
|
const e = this.formManager.getFormState();
|
|
@@ -1845,15 +1866,22 @@ class St extends d {
|
|
|
1845
1866
|
isCvvValid: !1
|
|
1846
1867
|
};
|
|
1847
1868
|
this.iframeHook && (t = this.iframeHook.getState());
|
|
1848
|
-
const
|
|
1869
|
+
const a = Object.keys(e.errors).length > 0, i = (
|
|
1849
1870
|
// Only require card validation if CardSection exists
|
|
1850
1871
|
(!this.cardSection || t.isCcValid && t.isCvvValid) && !!e.formData.email && !!e.formData.name && // Only require card expiry if CardSection exists
|
|
1851
1872
|
(!this.cardSection || !!e.formData.cardExpiry)
|
|
1852
1873
|
);
|
|
1853
|
-
return
|
|
1874
|
+
return a || !i || this.isSubmitting;
|
|
1875
|
+
}
|
|
1876
|
+
setLoadingState(e) {
|
|
1877
|
+
if (this.options.onLoadingStateChange) {
|
|
1878
|
+
this.options.onLoadingStateChange(e);
|
|
1879
|
+
return;
|
|
1880
|
+
}
|
|
1881
|
+
e ? (this.hideSpinner(), this.spinner = new z(), this.appendChild(this.spinner)) : this.hideSpinner();
|
|
1854
1882
|
}
|
|
1855
1883
|
showSpinner(e) {
|
|
1856
|
-
this.hideSpinner(), this.spinner = new
|
|
1884
|
+
this.hideSpinner(), this.spinner = new z({ text: e }), this.appendChild(this.spinner);
|
|
1857
1885
|
}
|
|
1858
1886
|
hideSpinner() {
|
|
1859
1887
|
this.spinner && (this.spinner.getElement().remove(), this.spinner = void 0);
|
|
@@ -1901,7 +1929,7 @@ class St extends d {
|
|
|
1901
1929
|
* Update the form error message
|
|
1902
1930
|
*/
|
|
1903
1931
|
setErrorMessage(e) {
|
|
1904
|
-
return this.alert && (this.alert.getElement().remove(), this.alert = void 0), this.alert = new
|
|
1932
|
+
return this.alert && (this.alert.getElement().remove(), this.alert = void 0), this.alert = new Ct({ message: e }), this.element.insertBefore(this.alert.getElement(), this.element.firstChild), this;
|
|
1905
1933
|
}
|
|
1906
1934
|
/**
|
|
1907
1935
|
* Clean up resources when the form is destroyed
|
|
@@ -1913,7 +1941,7 @@ class St extends d {
|
|
|
1913
1941
|
e.key === "Enter" && !this.isFormDisabled() && (e.target instanceof HTMLTextAreaElement || (e.preventDefault(), this.handleSubmit(e)));
|
|
1914
1942
|
};
|
|
1915
1943
|
}
|
|
1916
|
-
class
|
|
1944
|
+
class Ht {
|
|
1917
1945
|
container = null;
|
|
1918
1946
|
options;
|
|
1919
1947
|
onSubmit;
|
|
@@ -1928,21 +1956,22 @@ class xt {
|
|
|
1928
1956
|
this.container && this.form && (this.form && e.errorMsg && !this.options.disableErrorMessages ? this.form.setErrorMessage(e.errorMsg) : this.renderForm(e.errorMsg));
|
|
1929
1957
|
}
|
|
1930
1958
|
renderForm(e) {
|
|
1931
|
-
this.container && (this.form && (this.form.destroy(), this.form = null), this.form = new
|
|
1959
|
+
this.container && (this.form && (this.form.destroy(), this.form = null), this.form = new Ot({
|
|
1932
1960
|
apiKey: this.options.apiKey,
|
|
1933
1961
|
onSubmit: this.onSubmit,
|
|
1934
1962
|
locale: this.options.locale,
|
|
1935
1963
|
errorMsg: this.options.disableErrorMessages ? void 0 : e,
|
|
1936
1964
|
profileId: this.options.profileId,
|
|
1937
1965
|
container: this.container,
|
|
1938
|
-
environment: this.options.environment
|
|
1966
|
+
environment: this.options.environment,
|
|
1967
|
+
onLoadingStateChange: this.options.onLoadingStateChange
|
|
1939
1968
|
}));
|
|
1940
1969
|
}
|
|
1941
1970
|
unmount() {
|
|
1942
1971
|
this.form && (this.form.destroy(), this.form = null);
|
|
1943
1972
|
}
|
|
1944
1973
|
}
|
|
1945
|
-
class
|
|
1974
|
+
class Kt {
|
|
1946
1975
|
state;
|
|
1947
1976
|
listeners = /* @__PURE__ */ new Set();
|
|
1948
1977
|
constructor(e) {
|
|
@@ -1964,25 +1993,26 @@ class Ft {
|
|
|
1964
1993
|
this.listeners.forEach((t) => t(e));
|
|
1965
1994
|
}
|
|
1966
1995
|
}
|
|
1967
|
-
class
|
|
1996
|
+
class jt {
|
|
1968
1997
|
config;
|
|
1969
1998
|
apiService;
|
|
1970
1999
|
formManager;
|
|
1971
2000
|
stateManager;
|
|
1972
2001
|
constructor(e) {
|
|
1973
|
-
this.config = this.validateConfig(e), this.apiService = new
|
|
2002
|
+
this.config = this.validateConfig(e), this.apiService = new $(
|
|
1974
2003
|
this.config.apiKey,
|
|
1975
2004
|
this.config.environment
|
|
1976
|
-
), this.stateManager = new
|
|
2005
|
+
), this.stateManager = new Kt({
|
|
1977
2006
|
mounted: !1,
|
|
1978
2007
|
form: null
|
|
1979
|
-
}), this.formManager = new
|
|
2008
|
+
}), this.formManager = new Ht(
|
|
1980
2009
|
{
|
|
1981
2010
|
locale: this.config.locale,
|
|
1982
2011
|
apiKey: this.config.apiKey,
|
|
1983
2012
|
profileId: this.config.profileId,
|
|
1984
2013
|
disableErrorMessages: this.config.disableErrorMessages,
|
|
1985
|
-
environment: this.config.environment
|
|
2014
|
+
environment: this.config.environment,
|
|
2015
|
+
onLoadingStateChange: this.config.callbacks.onLoadingStateChange
|
|
1986
2016
|
},
|
|
1987
2017
|
this.handleSubmit.bind(this)
|
|
1988
2018
|
);
|
|
@@ -2005,7 +2035,8 @@ class wt {
|
|
|
2005
2035
|
callbacks: {
|
|
2006
2036
|
onPaymentSucceeded: e.callbacks?.onPaymentSucceeded || void 0,
|
|
2007
2037
|
onPaymentFailed: e.callbacks?.onPaymentFailed || void 0,
|
|
2008
|
-
onActionRequired: e.callbacks?.onActionRequired || void 0
|
|
2038
|
+
onActionRequired: e.callbacks?.onActionRequired || void 0,
|
|
2039
|
+
onLoadingStateChange: e.callbacks?.onLoadingStateChange || void 0
|
|
2009
2040
|
}
|
|
2010
2041
|
};
|
|
2011
2042
|
}
|
|
@@ -2013,11 +2044,11 @@ class wt {
|
|
|
2013
2044
|
const t = document.querySelector(e);
|
|
2014
2045
|
if (!t)
|
|
2015
2046
|
throw new Error(`Container ${e} not found`);
|
|
2016
|
-
const
|
|
2017
|
-
return t.appendChild(
|
|
2018
|
-
form:
|
|
2047
|
+
const a = document.createElement("div");
|
|
2048
|
+
return t.appendChild(a), this.stateManager.updateState({
|
|
2049
|
+
form: a,
|
|
2019
2050
|
mounted: !0
|
|
2020
|
-
}), this.formManager.mount(
|
|
2051
|
+
}), this.formManager.mount(a), this;
|
|
2021
2052
|
}
|
|
2022
2053
|
unmount() {
|
|
2023
2054
|
const { mounted: e } = this.stateManager.getState();
|
|
@@ -2035,16 +2066,16 @@ class wt {
|
|
|
2035
2066
|
formData: t
|
|
2036
2067
|
}) {
|
|
2037
2068
|
try {
|
|
2038
|
-
const
|
|
2069
|
+
const a = await this.apiService.authorizePayment({
|
|
2039
2070
|
checkoutKey: this.config.checkoutKey,
|
|
2040
2071
|
formData: t || null,
|
|
2041
2072
|
token: e?.token || null,
|
|
2042
2073
|
paymentId: this.config.paymentId,
|
|
2043
2074
|
returnUrl: this.config.returnUrl
|
|
2044
2075
|
});
|
|
2045
|
-
this.handlePaymentResponse(
|
|
2046
|
-
} catch (
|
|
2047
|
-
this.handleAuthorizationError(
|
|
2076
|
+
this.handlePaymentResponse(a);
|
|
2077
|
+
} catch (a) {
|
|
2078
|
+
this.handleAuthorizationError(a);
|
|
2048
2079
|
}
|
|
2049
2080
|
}
|
|
2050
2081
|
handlePaymentResponse(e) {
|
|
@@ -2061,14 +2092,15 @@ class wt {
|
|
|
2061
2092
|
t && this.formManager.update({ errorMsg: e.details?.message });
|
|
2062
2093
|
}
|
|
2063
2094
|
}
|
|
2064
|
-
typeof globalThis < "u" && (globalThis.OdusCheckout =
|
|
2095
|
+
typeof globalThis < "u" && (globalThis.OdusCheckout = jt);
|
|
2065
2096
|
export {
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
Ze as
|
|
2097
|
+
jt as OdusCheckout,
|
|
2098
|
+
se as deLocale,
|
|
2099
|
+
ue as enLocale,
|
|
2100
|
+
Se as esLocale,
|
|
2101
|
+
Ne as frLocale,
|
|
2102
|
+
Oe as itLocale,
|
|
2103
|
+
Ze as plLocale,
|
|
2104
|
+
st as ptLocale,
|
|
2105
|
+
ut as trLocale
|
|
2073
2106
|
};
|
|
2074
|
-
//# sourceMappingURL=checkout.es.js.map
|