@spot-flow/checkout-inline-js 0.0.7 → 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,471 +1,134 @@
1
- import './index.css';var D = Object.defineProperty;
2
- var J = (r, e, t) => e in r ? D(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t;
3
- var o = (r, e, t) => J(r, typeof e != "symbol" ? e + "" : e, t);
4
- const K = `<div id="checkout-modal">
1
+ import './index.css';var P = Object.defineProperty;
2
+ var j = (r, t, e) => t in r ? P(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e;
3
+ var a = (r, t, e) => j(r, typeof t != "symbol" ? t + "" : t, e);
4
+ const X = `<div id="checkout-modal">
5
5
  <div role="dialog" class="relative z-10" aria-labelledby="modal-title" aria-modal="true">
6
6
  <div class="fixed inset-0 bg-[#fafaff] bg-opacity-100 transition-opacity" aria-hidden="true"></div>
7
-
7
+
8
8
  <div id="toast-container"></div>
9
-
9
+
10
10
  <div class="fixed inset-0 z-10 w-screen overflow-y-auto">
11
11
  <div class="relative flex min-h-full items-end justify-center text-center sm:items-center p-0">
12
- <div
12
+ <button type="button"
13
+ class="hidden top-0 right-0 text-lg fixed hover:bg-primary hover:text-white h-6 w-6 md:flex justify-center items-end rounded-full close-btn">x</button>
14
+ <div id="main-layout-container-screen"
13
15
  class="relative transform overflow-hidden rounded-lg bg-white text-left shadow-xl transition-all sm:my-8 w-full sm:w-4/5 md:w-[90%] lg:w-[900px] min-h-screen sm:min-h-[70%] flex">
14
-
15
- <aside class="px-2 py-4 md:flex justify-center w-[250px] bg-[#f4f4ff] overflow-auto hidden">
16
- <div class="w-full py-8">
17
- <div class="container-center">
18
- <img src="" alt="Nba Logo" id="merchantLogo" class="hidden md:flex" />
19
- </div>
20
- <h5 class="text-xl font-semibold text-common pt-10 pb-4 text-center">PAYMENT OPTIONS</h5>
21
- <div class="payment-options">
22
-
23
- <!-- Tab options -->
24
- </div>
25
- </div>
26
- </aside>
27
- <div class="main" id="main">
28
- <div class="container-center w-full bg-primary-lighter">
29
- <img src="" alt="Nba Logo" id="merchantLogoMob" class="md:hidden" />
30
- </div>
31
- <div id="mob-tab-co">
32
-
33
- </div>
34
- <button
35
- class="hidden top-0 right-0 text-lg fixed hover:bg-primary hover:text-white h-6 w-6 md:flex justify-center items-end rounded-full close-btn">x</button>
36
-
37
- <div class="box-container relative max-sm:py-4 max-sm:px-4">
38
- <!-- header -->
39
- <div class="header-container">
40
- <div class="container-between border-b border-b-white pb-[9.6px]">
41
- <p class="text-xs" id="merchant-email"></p>
42
- <p class="text-xs">League Pass</p>
43
- </div>
44
- <div class="container-between pt-[9.6px] pb-[6.4px]">
45
- <div class="align-center">
46
- <p class="text-sm mr-1">USD 1 = NGN 1,483.98</p>
47
- <div class="group relative flex flex-col items-center cursor-pointer">
48
- <svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
49
- <path
50
- d="M5 8C4.72386 8 4.5 7.77614 4.5 7.5L4.5 4C4.5 3.72386 4.72386 3.5 5 3.5C5.27614 3.5 5.5 3.72386 5.5 4L5.5 7.5C5.5 7.77614 5.27614 8 5 8Z"
51
- fill="#CCCCE8" />
52
- <path
53
- d="M5.625 2.625C5.625 2.27982 5.34518 2 5 2C4.65482 2 4.375 2.27982 4.375 2.625C4.375 2.97018 4.65482 3.25 5 3.25C5.34518 3.25 5.625 2.97018 5.625 2.625Z"
54
- fill="#CCCCE8" />
55
- <path fill-rule="evenodd" clip-rule="evenodd"
56
- d="M10 5C10 7.76142 7.76142 10 5 10C2.23858 10 1.95703e-07 7.76142 4.37114e-07 5C6.78525e-07 2.23858 2.23858 -6.78525e-07 5 -4.37114e-07C7.76142 -1.95703e-07 10 2.23858 10 5ZM5 9C7.20914 9 9 7.20914 9 5C9 2.79086 7.20914 1 5 1C2.79086 0.999999 1 2.79086 1 5C1 7.20914 2.79086 9 5 9Z"
57
- fill="#CCCCE8" />
58
- </svg>
59
-
60
- <div class="tooltip">
61
- <div class="tooltip-textbox">
62
- <p class="tooltip-title">
63
- What is this?
64
- </p>
65
- <p class="tooltip-text">
66
- This rate reflects the current exchange rate for
67
- converting United States Dollars (USD) to Nigerian Naira
68
- (NGN). Please note that exchange rates are subject to
69
- change and may vary slightly at the time of the
70
- transaction.
71
- </p>
72
- </div>
73
- </div>
74
- </div>
75
- </div>
76
- <div>
77
- <p class="text-sm"> Pay
78
- <span> USD 14.99</span>
79
- </p>
80
- </div>
81
-
82
- </div>
83
-
84
- <div class="flex justify-end">
85
- <div class="header-chip">
86
- NGN 22,244.86
87
- </div>
88
- </div>
89
- </div>
90
- <!-- body -->
91
- <div class="box-container-method">
92
- <div class="content active" data-content="0">
93
- </div>
94
- <div class="content" data-content="1"></div>
95
- <div class="content" data-content="2"></div>
96
- </div>
97
-
98
- <div id="mob-container" class="md:hidden">
99
-
100
-
101
- </div>
102
- <!-- footer -->
103
- <div class="container-between gap-2 mt-20 mb-8 md:hidden" id="mob-action-btns">
104
- <button class="button-outline px-3 w-auto" id="change-method">
105
- <span class="text-[10px] mr-1">x</span> Change Payment Method
106
- </button>
107
- <button class="button-outline px-6 w-auto close-btn">
108
- <span class="text-[10px] mr-1">x</span> Cancel Payment
109
- </button>
110
- </div>
111
- <div class="container-center pt-2 pb-8 gap-1">
112
- <svg width="10" height="12" viewBox="0 0 10 12" fill="none" xmlns="http://www.w3.org/2000/svg">
113
- <path
114
- d="M4.884 0.68L1.384 2.235C1.024 2.395 0.789001 2.755 0.789001 3.15V5.5C0.789001 8.275 2.709 10.87 5.289 11.5C7.869 10.87 9.789 8.275 9.789 5.5V3.15C9.789 2.755 9.554 2.395 9.194 2.235L5.694 0.68C5.439 0.565 5.139 0.565 4.884 0.68ZM5.289 5.995H8.789C8.524 8.055 7.149 9.89 5.289 10.465V6H1.789V3.15L5.289 1.595V5.995Z"
115
- fill="#6D6A73" />
116
- </svg>
117
-
118
- <p class="text-[10px] text-grey-100">
119
- PCI DSS Certified
120
- </p>
121
- </div>
122
- </div>
123
- </div>
124
- </div>
125
-
126
- </div>
127
- </div>
128
- </div>
129
- </div>
130
- `, M = "data:image/png;base64,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", x = `<form id="checkoutcard">
131
- <div class="box-container">
132
- <h5 class="content-heading">Enter your card details to pay</h5>
133
- <div class="mt-8">
134
- <div class="relative mx-4 md:mx-6 mb-4">
135
- <span
136
- class="absolute text-xs left-0 top-1 text-grey-100 pt-1 pb-1 px-3 tracking-[0.5px]"
137
- >CARD NUMBER</span
138
- >
139
- <div>
140
- <input
141
- class="details-input-container"
142
- type="tel"
143
- id="card-number"
144
- name="number"
145
- placeholder="0000 0000 0000 0000"
146
- required
147
- />
148
- </div>
149
- <div class="absolute right-3 top-1/2 -translate-y-2/4 max-sm:hidden">
150
- <div id="card-types" class="align-center gap-2">
151
- </div>
152
- </div>
153
- </div>
154
-
155
- <div class="grid grid-cols-2 gap-4 my-4 mx-4 md:mx-6">
156
- <div class="relative w-full">
157
- <span
158
- class="absolute text-xs left-0 top-1 text-grey-100 pt-1 pb-1 px-3 tracking-[0.5px]"
159
- >CARD EXPIRY</span
160
- >
161
- <div>
162
- <input
163
- class="details-input-container"
164
- type="tel"
165
- id="card-expiry"
166
- name="expiry"
167
- placeholder="MM / YY"
168
- required
169
- />
170
- </div>
171
- </div>
172
-
173
- <div class="relative w-full">
174
- <span
175
- class="absolute text-xs left-0 top-1 text-grey-100 pt-1 pb-1 px-3 tracking-[0.5px]"
176
- >CVV</span
177
- >
178
- <div>
179
- <input
180
- class="details-input-container"
181
- type="tel"
182
- id="card-cvv"
183
- name="cvv"
184
- placeholder="123"
185
- required
186
- />
187
- </div>
188
- </div>
189
- </div>
190
16
 
191
- <div class="mx-4 md:mx-6 my-8">
192
- <button type="submit" disabled="true" class="details-form-button">
193
- <svg class="spinner hidden" id="spinner" viewBox="0 0 24 24">
194
- <path
195
- d="M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z"
196
- ></path>
197
- </svg>
198
- <span id="details-form-button-text"> Pay USD 14.99 </span>
199
- </button>
200
- </div>
201
- </div>
202
- </div>
203
- </form>
204
- `, O = `<div id="checkoutcardpin">
205
- <div class="box-container md:w-4/5 mx-auto py-8 md:py-16">
206
- <div class="container-center h-[20vh] hidden" id="loader">
207
- <img src="" alt="loader gif" />
208
- </div>
209
- <div id="pin-content">
210
- <h5 class="pin-text">
211
- Please enter your 4-digit card pin to authorize this payment
212
- </h5>
213
17
 
214
- <div class="mt-8">
215
- <div class="pin-container">
216
- <input type="tel" class="pin-input" maxlength="1" id="pin1" />
217
- <input type="tel" class="pin-input" maxlength="1" id="pin2" />
218
- <input type="tel" class="pin-input" maxlength="1" id="pin3" />
219
- <input type="tel" class="pin-input" maxlength="1" id="pin4" />
220
18
  </div>
221
19
 
222
- <div class="container-center mt-8">
223
- <button class="pin-cancel close-btn">Cancel</button>
224
- </div>
225
20
  </div>
226
21
  </div>
227
22
  </div>
228
23
  </div>
229
- `, Z = `<div id="checkoutcardotp">
230
- <div class="box-containe w-11/12 md:w-4/5 mx-auto py-8 md:py-16">
231
- <div class="container-center h-[20vh] hidden" id="loader">
232
- <img src="" alt="loader gif" />
233
- </div>
234
- <div id="otp-content">
235
- <h5 class="otp-text">Kindly enter the OTP sent to 234249***3875</h5>
236
-
237
- <div class="mt-8">
238
- <div class="relative w-full grid grid-cols-1 md:grid-cols-3 gap-7 md:gap-5">
239
- <div class="col-span-2">
240
- <input
241
- class="otp-input"
242
- type="tel"
243
- id="card-otp"
244
- name="otp"
245
- required
246
- />
247
- </div>
248
-
249
- <div class="max-sm:text-center max-sm:w-4/5 max-sm:mx-auto">
250
- <button class="otp-button" disabled="true">Authorize</button>
251
- </div>
252
- </div>
253
-
254
- <div class="py-5">
255
- <p class="otp-subtext">
256
- A token should be sent to you  within 6 minutes
257
- </p>
258
- </div>
259
-
260
- <div class="container-center">
261
- <button class="pin-cancel">Cancel</button>
262
- </div>
263
- </div>
264
- </div>
265
- </div>
266
- </div>
267
- `, I = `<div id="paymentWarning">
268
- <div class="box-container">
269
- <div class="text-center mt-7">
270
- <svg
271
- class="mx-auto"
272
- width="48"
273
- height="46"
274
- viewBox="0 0 48 46"
275
- fill="none"
276
- xmlns="http://www.w3.org/2000/svg"
277
- >
278
- <path
279
- d="M47.4936 39.5624L27.5213 2.47251C26.1057 -0.157178 22.3346 -0.157178 20.9178 2.47251L0.946695 39.5624C0.639327 40.1332 0.485227 40.7741 0.499436 41.4223C0.513645 42.0705 0.695678 42.7039 1.02777 43.2608C1.35986 43.8177 1.83065 44.2789 2.39421 44.5995C2.95776 44.9201 3.59481 45.0892 4.24318 45.0901H44.1912C44.8401 45.0902 45.4779 44.9219 46.0422 44.6017C46.6066 44.2815 47.0782 43.8204 47.411 43.2633C47.7438 42.7063 47.9263 42.0724 47.9408 41.4237C47.9553 40.775 47.8012 40.1337 47.4936 39.5624V39.5624ZM24.2201 39.3479C23.7566 39.3479 23.3034 39.2104 22.918 38.9529C22.5326 38.6954 22.2322 38.3293 22.0548 37.9011C21.8774 37.4728 21.831 37.0016 21.9214 36.5469C22.0119 36.0923 22.2351 35.6746 22.5629 35.3469C22.8906 35.0191 23.3082 34.7959 23.7629 34.7054C24.2175 34.615 24.6888 34.6614 25.117 34.8388C25.5453 35.0162 25.9114 35.3166 26.1689 35.702C26.4264 36.0875 26.5639 36.5406 26.5639 37.0042C26.5639 37.3119 26.5033 37.6167 26.3855 37.9011C26.2677 38.1854 26.095 38.4438 25.8774 38.6614C25.6598 38.8791 25.4014 39.0517 25.117 39.1695C24.8327 39.2873 24.5279 39.3479 24.2201 39.3479ZM26.7654 15.7756L26.0928 30.0725C26.0928 30.5698 25.8952 31.0467 25.5436 31.3983C25.192 31.75 24.7151 31.9475 24.2178 31.9475C23.7205 31.9475 23.2436 31.75 22.892 31.3983C22.5403 31.0467 22.3428 30.5698 22.3428 30.0725L21.6701 15.7815C21.655 15.44 21.7088 15.099 21.8283 14.7787C21.9478 14.4584 22.1306 14.1655 22.3657 13.9174C22.6008 13.6692 22.8835 13.471 23.1968 13.3344C23.5102 13.1979 23.8478 13.1258 24.1897 13.1225H24.2143C24.5584 13.1223 24.899 13.1919 25.2156 13.327C25.5321 13.462 25.818 13.6598 26.0559 13.9085C26.2939 14.1571 26.4791 14.4513 26.6002 14.7734C26.7213 15.0955 26.776 15.4389 26.7608 15.7827L26.7654 15.7756Z"
280
- fill="#FF9B00"
281
- />
282
- </svg>
283
-
284
- <p id="payment-warning-text" class="warning-text"></p>
285
- </div>
286
-
287
- <div class="warning-list box-container">
288
- </div>
289
- </div>
290
- </div>
291
- `, H = `<div id="paymentSuccess">
292
- <div class="box-container">
293
- <div class="text-center mt-7"></div>
294
- <svg class="mx-auto" width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
295
- <circle cx="50" cy="50" r="50" fill="#D6F1E4" />
296
- <circle opacity="0.52" cx="49.5" cy="49.5" r="37.5" fill="#99DDBC" />
297
- <ellipse cx="48.4502" cy="48.45" rx="23.25" ry="23.25" fill="white" />
298
- <path
299
- d="M50.0003 75.8333C35.7395 75.8177 24.1827 64.2609 24.167 50V49.4833C24.451 35.2867 36.1397 23.9806 50.3379 24.1689C64.5361 24.3573 75.9207 35.9696 75.8279 50.1688C75.7352 64.368 64.1998 75.8305 50.0003 75.8333ZM39.9658 50.7568C38.9584 49.7533 37.3288 49.7549 36.3233 50.7603C35.3165 51.7671 35.3165 53.3995 36.3233 54.4064L42.0453 60.1283C43.5853 61.6683 46.0821 61.6683 47.622 60.1283L63.6791 44.0713C64.686 43.0644 64.6888 41.4328 63.6855 40.4223C62.6772 39.4068 61.0356 39.4039 60.0237 40.4158L45.4287 55.0108C45.0999 55.3396 44.5669 55.3401 44.2374 55.0119L39.9658 50.7568Z"
300
- fill="#54C68F" />
301
- </svg>
302
-
303
- <h5 class="success-text">
304
- Your payment has been received
305
- </h5>
306
- </div>
307
-
308
- <div class="mt-12 mx-auto w-3/5">
309
- <button class="success-button close-btn">
310
- Close
311
- </button>
312
- </div>
313
-
314
- </div>
315
- </div>
316
- </div>`, N = `<div class="box-container">
317
- <div class="container-center h-[40vh] hidden" id="loader">
318
- <img src="" alt="loader gif" />
319
- </div>
320
- </div>
321
24
  `;
322
- class p extends Error {
323
- constructor(e, t) {
324
- super(e), this.status = t, this.name = "FetchError";
25
+ class d extends Error {
26
+ constructor(t, e) {
27
+ super(t), this.status = e, this.name = "FetchError";
325
28
  }
326
29
  }
327
- class g extends Error {
328
- constructor(e) {
329
- super(e), this.name = "AuthorizationError";
30
+ class u extends Error {
31
+ constructor(t) {
32
+ super(t), this.name = "AuthorizationError";
330
33
  }
331
34
  }
332
- const y = (r) => {
35
+ const B = (r) => {
333
36
  if (!r)
334
- throw new g("Missing authorization token");
335
- const e = new Headers();
336
- return e.append("Content-Type", "application/json"), e.append("Authorization", `Bearer ${r}`), e;
337
- }, L = "http://dev-api.spotflow.one/api/v1", q = async (r, e) => {
37
+ throw new u("Missing authorization token");
38
+ const t = new Headers();
39
+ return t.append("Content-Type", "application/json"), t.append("Authorization", `Bearer ${r}`), t;
40
+ }, w = "https://dev-api.spotflow.one/api/v1", $ = async (r, t) => {
338
41
  try {
339
- const t = y(r), n = await fetch(`${L}/payments`, {
42
+ const e = B(r), A = await fetch(`${w}/payments`, {
340
43
  method: "POST",
341
- headers: t,
342
- body: JSON.stringify(e)
44
+ headers: e,
45
+ body: JSON.stringify(t)
343
46
  });
344
- if (!n.ok) {
345
- const s = await n.json();
346
- throw s.message ? new p(s.message, n.status) : new p("Network response was not ok", n.status);
47
+ if (!A.ok) {
48
+ const s = await A.json();
49
+ throw s.message ? new d(s.message, A.status) : new d("Network response was not ok", A.status);
347
50
  }
348
- return await n.json();
349
- } catch (t) {
350
- throw t instanceof p ? console.error(`FetchError: ${t.message} (status: ${t.status})`) : t instanceof g ? console.error(`AuthorizationError: ${t.message}`) : console.error(`Unexpected error: ${t}`), t;
51
+ return await A.json();
52
+ } catch (e) {
53
+ throw e instanceof d ? console.error(`FetchError: ${e.message} (status: ${e.status})`) : e instanceof u ? console.error(`AuthorizationError: ${e.message}`) : console.error(`Unexpected error: ${e}`), e;
351
54
  }
352
- }, P = async (r, e) => {
55
+ }, _ = async (r, t) => {
353
56
  try {
354
- const t = y(r), n = await fetch(`${L}/payments/authorize`, {
57
+ const e = B(r), A = await fetch(`${w}/payments/authorize`, {
355
58
  method: "POST",
356
- headers: t,
357
- body: JSON.stringify(e)
59
+ headers: e,
60
+ body: JSON.stringify(t)
358
61
  });
359
- if (!n.ok) {
360
- const s = await n.json();
361
- throw s.message ? new p(s.message, n.status) : new p("Network response was not ok", n.status);
62
+ if (!A.ok) {
63
+ const s = await A.json();
64
+ throw s.message ? new d(s.message, A.status) : new d("Network response was not ok", A.status);
362
65
  }
363
- return await n.json();
364
- } catch (t) {
365
- throw t instanceof p ? console.error(`FetchError: ${t.message} (status: ${t.status})`) : t instanceof g ? console.error(`AuthorizationError: ${t.message}`) : console.error(`Unexpected error: ${t}`), t;
66
+ return await A.json();
67
+ } catch (e) {
68
+ throw e instanceof d ? console.error(`FetchError: ${e.message} (status: ${e.status})`) : e instanceof u ? console.error(`AuthorizationError: ${e.message}`) : console.error(`Unexpected error: ${e}`), e;
366
69
  }
367
- }, Y = async (r, e) => {
70
+ }, t1 = async (r, t) => {
368
71
  try {
369
- const t = y(r), n = await fetch(`${L}/payments/validate`, {
72
+ const e = B(r), A = await fetch(`${w}/payments/validate`, {
370
73
  method: "POST",
371
- headers: t,
372
- body: JSON.stringify(e)
74
+ headers: e,
75
+ body: JSON.stringify(t)
373
76
  });
374
- if (!n.ok) {
375
- const s = await n.json();
376
- throw s.message ? new p(s.message, n.status) : new p("Network response was not ok", n.status);
77
+ if (!A.ok) {
78
+ const s = await A.json();
79
+ throw s.message ? new d(s.message, A.status) : new d("Network response was not ok", A.status);
377
80
  }
378
- return await n.json();
379
- } catch (t) {
380
- throw t instanceof p ? console.error(`FetchError: ${t.message} (status: ${t.status})`) : t instanceof g ? console.error(`AuthorizationError: ${t.message}`) : console.error(`Unexpected error: ${t}`), t;
81
+ return await A.json();
82
+ } catch (e) {
83
+ throw e instanceof d ? console.error(`FetchError: ${e.message} (status: ${e.status})`) : e instanceof u ? console.error(`AuthorizationError: ${e.message}`) : console.error(`Unexpected error: ${e}`), e;
381
84
  }
382
- }, z = async (r, e) => {
85
+ }, e1 = async (r, t) => {
383
86
  try {
384
- const t = y(r), n = await fetch(`${L}/payments`, {
87
+ const e = B(r), A = await fetch(`${w}/payments`, {
385
88
  method: "POST",
386
- headers: t,
387
- body: JSON.stringify(e)
89
+ headers: e,
90
+ body: JSON.stringify(t)
91
+ });
92
+ if (!A.ok) {
93
+ const s = await A.json();
94
+ throw s.message ? new d(s.message, A.status) : new d("Network response was not ok", A.status);
95
+ }
96
+ return await A.json();
97
+ } catch (e) {
98
+ throw e instanceof d ? console.error(`FetchError: ${e.message} (status: ${e.status})`) : e instanceof u ? console.error(`AuthorizationError: ${e.message}`) : console.error(`Unexpected error: ${e}`), e;
99
+ }
100
+ }, N = async (r, t, e) => {
101
+ try {
102
+ const A = B(r), n = await fetch(`${w}/payments/verify?reference=${t}`, {
103
+ method: "GET",
104
+ headers: A,
105
+ signal: e
388
106
  });
389
107
  if (!n.ok) {
390
- const s = await n.json();
391
- throw s.message ? new p(s.message, n.status) : new p("Network response was not ok", n.status);
108
+ const i = await n.json();
109
+ throw i.message ? new d(i.message, n.status) : new d("Network response was not ok", n.status);
392
110
  }
393
111
  return await n.json();
394
- } catch (t) {
395
- throw t instanceof p ? console.error(`FetchError: ${t.message} (status: ${t.status})`) : t instanceof g ? console.error(`AuthorizationError: ${t.message}`) : console.error(`Unexpected error: ${t}`), t;
112
+ } catch (A) {
113
+ throw A instanceof d ? console.error(`FetchError: ${A.message} (status: ${A.status})`) : A instanceof u ? console.error(`AuthorizationError: ${A.message}`) : console.error(`Unexpected error: ${A}`), A;
396
114
  }
397
- }, k = async (r, e, t) => {
115
+ };
116
+ async function A1(r, t) {
398
117
  try {
399
- const n = y(r), A = await fetch(`${L}/payments/verify?reference=${e}`, {
400
- method: "GET",
401
- headers: n,
402
- signal: t
118
+ const e = B(r), A = await fetch(`${w}/checkout-configurations?planId=${t || ""}`, {
119
+ headers: e,
120
+ method: "GET"
403
121
  });
404
122
  if (!A.ok) {
405
- const i = await A.json();
406
- throw i.message ? new p(i.message, A.status) : new p("Network response was not ok", A.status);
123
+ const n = await A.json();
124
+ throw n.message ? new d(n.message, A.status) : new d("Network response was not ok", A.status);
407
125
  }
408
- return await A.json();
409
- } catch (n) {
410
- throw n instanceof p ? console.error(`FetchError: ${n.message} (status: ${n.status})`) : n instanceof g ? console.error(`AuthorizationError: ${n.message}`) : console.error(`Unexpected error: ${n}`), n;
126
+ return A.json();
127
+ } catch (e) {
128
+ throw e instanceof d ? console.error(`FetchError: ${e.message} (status: ${e.status})`) : e instanceof u ? console.error(`AuthorizationError: ${e.message}`) : console.error(`Unexpected error: ${e}`), e;
411
129
  }
412
- }, T = () => {
413
- const r = Date.now().toString(36), e = "xxxx-xxxx-xxx-xxxx".replace(/[x]/g, () => Math.floor(Math.random() * 16).toString(16));
414
- return `SPF-${r}-${e}`.toUpperCase();
415
- }, S = (r = "") => r.replace(/\D+/g, ""), V = (r) => {
416
- if (!r)
417
- return r;
418
- const e = S(r);
419
- return `${e.slice(0, 4)} ${e.slice(
420
- 4,
421
- 8
422
- )} ${e.slice(8, 12)} ${e.slice(12, 16)}`.trim();
423
- }, W = (r) => S(r).slice(0, 3), j = (r) => {
424
- const e = S(r);
425
- return e.length >= 3 ? `${e.slice(0, 2)} / ${e.slice(2, 4)}` : e;
426
- }, X = (r) => {
427
- if (!r)
428
- return r;
429
- const e = S(r);
430
- return `${e.slice(0, 4)}${e.slice(
431
- 4,
432
- 8
433
- )}${e.slice(8, 12)}${e.slice(12, 16)}`.trim();
434
- }, B = (r) => {
435
- const e = Math.floor(r / 60), t = r % 60;
436
- return `${String(e).padStart(2, "0")}:${String(t).padStart(2, "0")}`;
437
- }, $ = (r) => {
438
- r = r.replace(/\D/g, "");
439
- const e = {
440
- Visa: /^4/,
441
- MasterCard: /^5[1-5]|^2(2[2-9]|[3-6]|7[01])/,
442
- "American Express": /^3[47]/,
443
- Discover: /^6(?:011|5|4[4-9]|22)/,
444
- UnionPay: /^62/,
445
- Verve: /^506099|^5061[0-8]|^50619|^6500[02]|^5078[6-9]|^65003[1-3]/
446
- };
447
- for (const [t, n] of Object.entries(e))
448
- if (n.test(r))
449
- return t;
450
- return "Unknown";
451
- }, _ = (r, e) => {
452
- const t = document.createElement("div");
453
- t.classList.add("toast", e);
454
- const n = document.createElement("span");
455
- n.textContent = r, t.appendChild(n);
456
- const A = document.createElement("span");
457
- return A.textContent = "×", A.classList.add("close-btn"), A.onclick = () => F(t), t.appendChild(A), t;
458
- }, h = (r, e, t = 3e3) => {
459
- const n = document.getElementById("toast-container");
460
- if (n) {
461
- const A = _(r, e);
462
- n.appendChild(A), A.offsetHeight, A.classList.add("show"), setTimeout(() => F(A), t);
463
- }
464
- }, F = (r) => {
465
- r.classList.remove("show"), r.addEventListener("transitionend", () => {
466
- r.parentElement && r.parentElement.removeChild(r);
467
- });
468
- }, G = "data:image/gif;base64,R0lGODlhQABAANUAAAQCBISGhMTGxERCROTm5KSmpCQiJGRiZNTW1LS2tPT29BQSFJSWlFRSVDQyNHR2dMzOzOzu7KyurGxqbNze3Ly+vFxaXAwKDIyOjCwqLPz+/BweHKSipDw6PMzKzExKTOzq7KyqrCQmJGRmZNza3Ly6vPz6/BQWFJyanFRWVDQ2NHx+fNTS1PTy9LSytGxubOTi5MTCxFxeXAwODJSSlP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQIBgAAACwAAAAAQABAAAAG/sCacEgsGo/IpHLJbDqf0Kh0Sq1ar9isdsvteikPiHfcAGxa424AAFilua0NG/behtipulbTYcf0WRBsDiaAWCNsKIZXBDMAJ2iLVRhsLpJHFA0BCkomBymRezAInE0PbBshGpIgHgIeFE4QcmwdYnotCAK7HqFMLStsbCMgaQoUvB4whVEwKcIzGMxaJgSuHjGkVjEOwgdcyLssEVkKKCcAFlwkryDTWREJvlgm7pf3+Pn6+/yLFAkAAwZkUYcAhYMIEc4TEuGCsIfC/owhgIFGxYsWK5Yi0hAiRIleKGIYSRLjRiL/BAq8lQYECRgvY5KgsLCfzZs4c+oE1MJF+80qCiD8pGLiXDouGFIcqPCuCjdvXBg0SNHgAQIrzqBJ42LChQyqKTAUi6IgmLARBNK0QAHWQoGTS2YJswWIwoqpKUbEMoVK1SINAiZM5eCEhCa4RTxZGFpEwYQHTRu7wJB2CyUAlpqU2LBB0SUQjk6QKyIA5JAIDjZkGLsIEQDPRAQBYDmkAOcHkmQ7QFyCTQIjJgZwvgpIwwA2FY4k8H3EA+cGq/TcAZBHOfMjEzhnfqOAFh3rAH4fgWFgQwfEXNa0SbI8fBIMG07QqFPmDPvrR1qo2DCiDokwSrQnHhIsBPDdPgLuBN6ACg5BwQUz7NUgR6xNaOGFNwUBACH5BAgGAAAALAAAAABAAEAAhQQCBISChMTCxERCRKSipOTi5GRmZCQiJFRSVLSytPTy9JSWlNTS1BQSFHR2dIyKjExKTKyqrOzq7DQyNFxaXLy6vPz6/Nza3AwKDMzOzHRydJyenBweHHx+fDw6PISGhMTGxERGRKSmpOTm5GxqbFRWVLS2tPT29JyanNTW1BQWFHx6fIyOjExOTKyurOzu7FxeXLy+vPz+/Nze3AwODDw+PP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+QJtwSCwaj8ikcslsOp/QqHRKbVpO1axU4XIptODmKBIZhc/JcRlNnTkySolozZYiAJwvUm2uRz8AAB1pZH1+TwocgQV7ESKGh04RgSWNLpCRTDI1gQJHfJlQGYETFkagoU8GgShGL44vqU8jNAAqekQSsbJPLIEJvEkzCB9YSRYGJbhhMgoSpk0OgRwRMsE2CgUFM7tMGYqBNXCpFiPaBSPQTQodgYEGEpEWEuczCtZRBSXuNCzqYRZeaJsxQgI+KgImuDPAhh66Eca0nEChAgAFNi8IKvgH5oWJZWBknDh4raTJkyhTqjw5w4TLly8ZhHoxoqZNmyCFvMDgrqf+O0+HJJAZSjSCC442dvr0CdSPHBdFhx490hImzHGRaN68mXOl169gw4o9qSBB1yonUkQESNEiGwIaVoAgWSXhQjYiNJDQwOJCFn38/LGxEMOBXg0buj050W4hJjQK8mqYbAJpkm/uxMkasWCvhg6Mok2LYPmQjAwdJrtwcoHYWiPIKJw1wvhDaSEnKmyIh8YXAGBNBHiYIMKkhFoqFAsB0XSIghA1BihPtQpAqyKjAGAdkmCChw/Xsk94baNCIBNGZMDw4CEFLxkDAsU4YuL8kQzDSdA9NAlAJfr2HdEBexWkcgI4oRlRHwDofVLDBAiQxwYggiSxYINHoMDeBqEv3JGHhQEecUILHjgQygVvKHGhEikskGBKK44FIIMyUoUBDTPUeMQLvOno448yBgEAIfkECAYAAAAsAAAAAEAAQACFBAIEhIaExMbEREJE5ObkpKakZGJkHB4c1NbUtLa09Pb0lJaUDA4MVFJUdHZ0zM7M7O7srK6sNDI03N7cvL68XFpcjI6MbGpsJCYk/P78nJ6cFBYUDAoMzMrM7OrsrKqsZGZkJCIk3NrcvLq8/Pr8nJqcFBIUVFZUfH581NLU9PL0tLK05OLkxMLEXF5clJKU////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABv5AmHBILBqPyKRyyWw6n9CodEptqlTVrNRTcXm04Obj1HiEz8lH42RGTyeONjLVKLunDcABixzb71EBAAAoaWtygE4qB4MsfWSIiU0fgyePf5JOGQODLUdqbJlQD4MSJEZ+kaJLIIMlRhNrE6tPBAwAG3xECCK0UBaDK75JsQEKSiQGJ7rDRQ6DBx8ZzVMPjIMDqtRMKiiDgyBf21AsJ98MFqfjTy0S3wbrUAolGwAV8VEQCcz4/f7/AAMKBDQhgcGDB1OIUgGhoUOHx4xA4PCt4jdPiSAI6LCxI0eO6ohMtGgRIyAVAlK2UClgZYeQRAoiRKgNjQIVHhjqhHBloP7Pn0CDCuW2gp8WBRMiniFBz56bBBZKpJgGpt07NyMsaC3gqEq5c+nckOiwQKuFfVIUePsGgoAkBSNeaH0hAOYSa98GdKBF4IMFuSXcNnmmpwBVWiRElNBqcomIBsaQGahgFImCFwvsFiEhYAUEN8AACGvSgczoZh5ubfhcpMPeIgqUuaicqRWAV0UQHDigsAiFOrh9kQIgQekQCrspGCHh4MSJWbQ2DVJupMXuEUcQrEFxOBMlAJaOIN/QmIiFOgJWKbjW1QjyA9SNcDlxwTggQYSSvMeO5MOaCKLksYd+B5CXhAIgNGCBKCLEocQIu5VXhAgFCIaPdQYOBcN7EhD+xEIIGLQ3FE8almjiOkEAACH5BAgGAAAALAAAAABAAEAAhQQCBISChMTCxERCROTi5KSipCQiJGRmZNTS1PTy9LSytBQSFJSWlHR2dMzKzFRSVOzq7Nza3Pz6/Ly6vAwKDIyOjKyqrDQyNBweHJyenHx+fFxaXISGhMTGxOTm5HRydNTW1PT29LS2tBQWFJyanHx6fMzOzFRWVOzu7Nze3Pz+/Ly+vAwODKyurDw6PP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+wJdwSCwaj8ikcslsOp/QqHRKbaIg1aw0xaKktOCmCAAQhc/JcRlNTTVMygnZzJY+AJhEel6Xcsgae2t9UAkYZARIanSETxZkJ4p8jU8qLmQCR4uUUCZkFxJGm5xPB2QkRp4AcKROHiwAI3pFApmtTxVkCrdJKQ8cIUoSByezvEYNZBgWKsdTJodkLqzOhRpkZAdY1VAEJ9gsFaHcTwIX2AfkUCEkIwAb6lEoIsbx9vf4+fr7hCki/wABIuAUoqDBg+OKoKCArSE2W31CEJhIsSKBZgoZOmwIsY5EixVTYCziL2BAaoQkHFw5kp/LlzBjykySQEE9MBI8BEMjod3tOzYdLLQQGcYcOjYOLCidsI2KN3Di2EgA0UKphQ47111D56FRCBNWWyBIyAQatmmtUKwIi8JJMjzMeKnwJxSlkgi/sh4ZtuFmkhAFLJA1EgJEB79ZcgHY1QTEhw8rqkGANaJtEQR2X4Qo8aEBYkqmAKAqEuGCiwhGOjwucEzVBb1COrhw0cGIBA6PE7VSMYBMZCMOTNc2kuIxg8GEHgGIdEQ2bSQZHmf2GE13auFIIDzWgJzNHwCBkDgfrukxI0J38iSRfYE8YQ0fMnCK8EbJeCUEWjRV1wH7zBf3/eeBCwN09d8LCVh24IIM8hIEACH5BAgGAAAALAAAAABAAEAAhQQCBISGhMTGxERCROTm5KSmpCQiJGRmZNTW1LS2tPT29BQSFJSWlFRSVDQyNHR2dMzOzOzu7KyurNze3Ly+vFxaXAwKDIyOjCwqLGxubPz+/BweHJyenDw6PMzKzExKTOzq7KyqrCQmJGxqbNza3Ly6vPz6/BQWFJyanFRWVDQ2NHx+fNTS1PTy9LSytOTi5MTCxFxeXAwODJSSlP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+QJpwSCwaj8ikcslsOp/QqHRKbUZA1ax0IrNMtOBmAgBIhM/JcRlNnTwgyhLZnIywWmxjA7DBI9V0RyYuBQJ5RQFkK2lzSSwhIQiHRC0bZC9/jUctEgUJJpNEIWQpmWtHApCYoUMaHWQwR4BHIJAUGqxEEGQOoEWzRSYlBRIRuUUHZChGuwBwRROQz8dDBDIAJ35EMLFFCoQSCtRFF2QuTgQhEiRsEw0B4kkmBynaSyYCHrhoD2QbIfvGTYFgiUyHaQKjtFhBhswBLAmlvEjRUMYFXxGhwHDQ8EBGKQpQnABQ4eOUCAnsmVzJsqXLlzBXTkhAs2ZNFjGFRLDQsGf+w24wd/r0CRTmTJs2EeZcyrSp06dQhbRwoVKLiQgYw5gQSZINgnwEAmbZ2LGdgHwQqkKZWPEiGxMEPMA4SyIeFAUMOxIIZYLE2Xwvsi4h2PAgtRZfz6Z10o8PwIQgPJxdxYTEO7uCHozArMREghKCi2h4UZcNig0bSjghceGCUmogRGzAUBWBpGAMLjBQy+oB6gJGJqRo8KUIiwszVAtEgPpDaAgNUrzWUKA1xGMaGqD2cMTD8Nc0XrR+fMwFao9HWEQHT8PFjAvscinosMEA5SIe1iNp8R5FaDYzoHZBEtBJl4QArXHHygEbOMCZLvohsdUF57DyQgA4ERghEiAcwGBMSxB8F5UQBbK3FAgVxHBdVC3wNuKLMB4TBAAh+QQIBgAAACwAAAAAQABAAIUEAgSEhoTExsREQkSkpqTk5uRkYmQkIiTU1tRUUlS0trSUlpT09vR0cnQUEhSMjozMzsxMSkysrqzs7uw0MjTc3txcWly8vrx8enwMCgxsamykoqT8/vwcHhw8OjyMiozMysxERkSsqqzs6uxkZmTc2txUVlS8urycmpz8+vx0dnQUFhSUkpTU0tRMTky0srT08vTk4uRcXlzEwsR8fnwMDgw8Pjz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG/sCbcEgsGo/IpHLJbDqf0Kh0Sm1ORtWstFLLVLTgpgIAUITPyXEZTa2oIMoT2ZysEApsYwLQgaXnSQwaCQ95RQFkNH9rSCIJCRKGRDAdZDFIanRGIyYmGgySRCJkJpiARw8JJgKhRBw2ZDNHmUcIqjQprUQQZBS5RbRFKSomFiW6RSRkKEa8AHBFF4/MyEQFNQArfkUzskUMBiYy29VDD2QvTiAmCeloFQkBoEkp4eRLDA8Lv2cqZB0iOJSrAqESGRvQBkqBQYMMGRJYFEqJYcJhjQf8JD6ZQcGhAY1SGKBYAcACyCkTFNw7ybKly5cwY7KsoKCmTZstZAqZkMGh/k+H3mLy/PkzaEyaN28m1Mm0qdOnUKMOgfFipRYODASiSTGyJJsRMQrA0KqFo0c2E2JUCDuPCkWLGNmkmFAght0RGZ0waOiQBB5Jc9dWEJtXSUGHCKulKFB3cGEk/viIeByKgd0YE5yUiNf2SIoANDorSSEABNkjHK5QpkLAgwejSgqIEIFA44QQFCJYrfBFmAQREkQj++A6UpECDTT8JVJh9lJkCDxQkHFaCIIGDWoLOzE7czUOGlw/t64h+5ERBCRcqC7phHRFtbBrNyJg9iVdDBJ4sLG8yHUN830zmwKrhbEBBR4skMR15iHRAgG06aKCBy4IN8R/ARbBwQsiKbDSSgELZOiffEpMAIFVGiFQnohOMchiUxOooIJ3Ut0Ag4U15qhjNUEAACH5BAgGAAAALAAAAABAAEAAhQQCBISGhMTGxERCROTm5KSmpCQiJGRiZNTW1LS2tPT29BQSFFRSVDQyNHR2dJSSlMzOzOzu7KyurGxqbNze3Ly+vFxaXAwKDCwqLPz+/BweHDw6PJyanIyOjMzKzExKTOzq7KyqrCQmJGRmZNza3Ly6vPz6/BQWFFRWVDQ2NHx+fJSWlNTS1PTy9LSytGxubOTi5MTCxFxeXAwODP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+QJpwSCwaj8ikcslsOp/QqHRKbUZA1ayUMrtQtOBmAgBIhM/JcRlNpTggyhLZnIQ4vuwiA6BppedJLRoADHlFAWQqf2tIKmQBhkSCZDBIanRGMGQaCpFEIWQoloBHKGQhnkQZG2QxR5dHMWQbGalEEGQNJkawRSYNZHC2RCNkHEa4AMJEHGQjw0UEMwAnfkUxrkURJwAzWNBEHWQuTi5kHWwUDAGdSSYHKNZMLSgju2gOmyG14FQQg7OW9YvSwhEZACO+DYwCwxSZGR3uLYQSAxiZAxOlKODAzULGKRESyPtIsqTJkyhTlqSQoKVLlyxUColw4aDNg9lS0rx5M2f3SpYvXwqUSbSo0aNIkwppUaJd0gwFMGh4odTDAA1YHSCFMQKrBgwcnMpU0MGAVwcKibJI4ZVBTKQBsG5wIfEojAMPRhoxseKBWCUmSFCo288FCgZDk4AQIIDAxBYyGBz4SwOGY18eBHigbGvF4QpGCHTokFYIAcZ4wFGwwMABPyIUHnRIPSQDC8Z6PWVQwQAFgiMUOjwgcaSF5rfDBPRGdwTGaNpESMQQUNqQiQkMLFQXQmJ0peKaPbyOJKF3gSTOO3xvznh9pA4MRnAWEnu2u8zEUxEo4N5Id/uBUDDfQPVBd1Rw6im11AMPRKCgEAoM+OCEFEYSBAAh+QQIBgAAACwAAAAAQABAAIUEAgSEgoTEwsREQkTk4uSkoqRkZmQkIiTU0tRUUlT08vS0srSUlpQUEhR0dnSMiozMysxMSkzs6uysqqw0MjTc2txcWlz8+vy8urwMCgx0cnScnpwcHhx8fnw8OjyEhoTExsRERkTk5uSkpqRsamzU1tRUVlT09vS0trScmpwUFhR8enyMjozMzsxMTkzs7uysrqzc3txcXlz8/vy8vrwMDgw8Pjz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG/sCbcEgsGo/IpHLJbDqf0Kh0Sm2+JNWsNFbLxLTgJgoAQIXPyXEZTY05WkoM2ZxsOb7sYgLAUaTnSQocAAl5RR9kHX9rSB1kH4ZEgmQESGp0RgRkHCeRRBNkJpaARyZkE55EMzZkAkeXRwJkNjOpRC1kFBdGsEUXFGRwtkQGZClGuADCRClkBsNFIjUAKn5FAq5FLyoANVjQRCxkC04LZCxsMQkfnUkXBibWTAomBrvuJSDySw6bE7XgLhBYMGHCsiUtBs066OkFjQkjYCx48USBIzIADHwzdKJFwQkwELSDQsAUmRos7p25UALGRxAjpwgA5owNhI8YRIQ5kYKb/gU2IEDGAHjmBYp9YC6IiAmuqdOnUKNKnbokBoqrWLEioHrkRQaMYDFm4zrEa9iwY8kKsZo1K0O1cOPKnUu3bhYF+uyqWhDCgyK9N1rI8EDBAyS7IjoQ9hBihEq5PG0QtvGBYt0KLhaTKAGYQWEXNIjaJeCgAFNfIwo8VnLhiuimNDRo2NrkBAEClp0qcKBhxWkJG4fMuE1g9bAJJDSAMPKiYO4hCmKICD5MBAkHD17fEFFQZ5EZIm6fjjSDgQYSeKJB9O5LOnVPLc4XQMIdBvsiEsQPuxDg+nMi3E1wHxEXxECACMaxgYFsmBjB3QgDSnLbf3lsQEIHCQpRX4TCJ932HhsSoFBJEgFyOMQJL2To1IMmzrUhYNDBAANSel0wHow45uhUEAAh+QQIBgAAACwAAAAAQABAAIUEAgSEhoTExsREQkSkpqTk5uRkYmQcHhzU1tS0trSUlpT09vQMDgxUUlR0dnTMzsysrqzs7uw0MjTc3ty8vrycnpxcWlyMjoxsamwkJiT8/vwUFhQMCgzMysysqqzs6uxkZmQkIiTc2ty8urycmpz8+vwUEhRUVlR8fnzU0tS0srT08vTk4uTEwsSkoqRcXlyUkpT///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG/sCYcEgsGo/IpHLJbDqf0Kh0Sm1GPtWsdMLgTLTgZgIASITPyXEZTZ04HsoR2Zx8OL7sYgNwWKXnSSsHAA15RQFkKH9rSChkAYZEgmQsSGp0RixkBwuRRB5kJ5aARydkHp5EGgNkLUeXRy1kAyWpRA9kErVFsEUlEmRwtkQgZCRGuADCRCRkIMNFBQwAG35FLa5FERsADFjQRBdkKk4qZBdsEw0BnUklBifWTCsnILtICxAXBU4Omx4awMUoIQDDiQYunDwYNGtZqgkoDtbD02SFIzIAQHwzFIGERAse2kFhYYoMgwv3wpRQ8aLBwQsbp7QARsYAGwUuGzgQEWYB+AluFthcOGGAQkowERLI6/lgqcCnUKNKnUq16hAWFLJq1YrAqpEIGQ6IHUu2g1ciYMmS3XDA7NmrI+LKHdFiRIq3ePPq3cu3L5UFHUT61TACHgy/QhA4ONhAgd8PQ12+UHH07QIPFlyeIOEU7wQQOVFU8uviIAYBlfUWuAAh9ZASIxK41vvgwgWKfhfAuEBCsJAVEfKOsH23yAoBAnxThXzBRUBtHQQE96rBwwUYo7W16DDdKgLb5I5EQN6daokKMGCUlySgQ8ypHWwLSBKhhXSvKngrH3Kcu9f6/NAnQAvr9bXCdgXyNd59iAkBWGANvrZfhBRWCE0QACH5BAgGAAAALAAAAABAAEAAhQQCBISChMTCxERCROTi5KSipCQiJGRmZNTS1PTy9LSytBQSFJSWlHR2dMzKzFRSVOzq7Nza3Pz6/Ly6vAwKDIyOjKyqrDQyNBweHJyenHx+fFxaXISGhMTGxOTm5HRydNTW1PT29LS2tBQWFJyanHx6fMzOzFRWVOzu7Nze3Pz+/Ly+vAwODKyurDw6PP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+wJdwSCwaj8ikcslsOp/QqHRKbaIg1aw0xaKktOCmCAAQhc/JcRlNTTVMygnZnDQ1vuziA4BJpOdJCRgAD3lFHGQaf2tIGmQchkSCZARIanRGBGQYIZFEFmQnloBHJ2QWnkQqLmQCR5dHAmQuKqlEJmQXEkawRRIXZHC2RAdkJEa4AMJEJGQHw0UeLAAjfkUCrkUoIwAsWNBEFWQKTgpkFWwpDxydSRIHJ9ZMCScHu4EcD3hMDZsWteAkWBgEoIETEwQBuFiWysQAMnwYLkngCOKBb4Y8FIOoQd4TAqbIsKhw70yICgsgntg3RQAwZ2w2AriwIkwIEtw2sDE1gkH+yTAoRHgEk0ABCnBIkypdyrSp0yceOkidOjWCLRQesmrVOlRIAhdgw4a9sNATBAto06pt8VMIigEuyMqNC1YimrNq87I9EpUqVaupsG7d2vWp4cOIEytGHAJE28VDVHQo8aEAZCMpKnzYbPmy2wKbD5RY8RixBBGhP1g46pmAhs0fGFTyLETBZg0mSi+GkEFEOyQqHHTQDTkCWg+0iYRoYWFvkRC/EZtAC1g5AQLRn6JAKwKgdeyIVaxAi/F79qYE0HZAEoJAivNLT6OF/6K9B/pJQaC1O6Q9eMMdNOedEf7hh1QCJrCGhAQp/JecEAU+2N91BiomgXsDPqhChhIGdujhUkEAACH5BAgGAAAALAAAAABAAEAAhQQCBISGhMTGxERCROTm5KSmpCQiJGRmZNTW1PT29LS2tBQSFJSWlFRSVDQyNHR2dMzOzOzu7Nze3Ly+vFxaXAwKDIyOjLSytCwqLGxubPz+/BweHJyenDw6PMzKzExKTOzq7KyqrCQmJGxqbNza3Pz6/Ly6vBQWFJyanFRWVDQ2NHx+fNTS1PTy9OTi5MTCxFxeXAwODJSSlP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+wJlwSCwaj8ikcslsOp/QqHRKbUZA1axUEqtItOCmAgBQhM/JcRlNlTwgShPZnIQ8vuxiA7BppedJLRsADXlFAWQrf2tIK2QBhkSCZC5IanRGLmQbCZFEIWQploBHKWQhnkQaHWQvR5dHL2QdGqlEEGQOJUawRSUOZHC2RAdkKEa4AMJEKGQHw0UEMQAnfkUvrkURJwAxWNBEFmQXThdkFmwuBwydSSUHKdZMLSkHu4EBDXhMARsbHRdqgSsRYhCAB05YqPC3oQECaBAGkOGzbJ4FAwwffDMEotjEFfKeqGOIAUW7MyUsTAu1b4qHARnZeATgYEKYEgUcbBjBhgLYNQb3zkQwcTJMiwsRwCldyrSp06dQn4CAQLVq1ZaGJFjdulEShRQNwIoN69ATCbJjxVIIKaQFDLRwUzyMhCAu2rVHCFBlAYGFB74ssOZx8bdvYb9doypezLixY8cJJAR9XEQDCxQWMFEe4qKAhc8mNg85+tmCDA+THZcQIOOzDBNsHRPA/DkEAdFDXnzmQCL15ggXUCspIaE37mgCBCQ9LmS1B+HMZ5AQ8OJ29BbJWfjejECAh+XMQSQnEX2GBg/ei+J2kbxS+enQoydwEbu8/fv48+vfTzkIACH5BAgGAAAALAAAAABAAEAAhQQCBISGhMTGxERCROTm5KSmpGRmZCQiJNTW1FRSVLS2tPT29BQSFJSWlHR2dMzOzExKTOzu7KyurDQyNNze3FxaXLy+vAwKDIyOjHRydPz+/BweHKSipHx+fDw6PIyKjMzKzERGROzq7KyqrGxqbNza3FRWVLy6vPz6/BQWFJyanHx6fNTS1ExOTPTy9LSytOTi5FxeXMTCxAwODDw+PP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+wJpwSCwaj8ikcslsOp/QqHRKbUZE1ayUMrtQtOCmAgBQhM/JcRlNpTgeyhPZnHw4vuxiArBxpedJLhsACXlFAWQdf2tIHWQBhkSCZDBIanRGMGQbC5FEI2QmloBHJmQjnkQaNGQyR5dHMmQ0GqlED2QTKEawRSgTZHC2RAZkKka4AMJEKmQGw0UEMwApfkUyrkURKQAzWNBEGGQvTi9kGGwwDhydSSgGJtZMLiYGu4EBCXhMDR4TCRbuQdMwYhAAB04QtPDgjwQCaA8GkOGzjMkCFTQYeggQwZOIYhM7yHtCoMMEhiEKCAyzAAODiSb2TXkQw99GNiABTLAQRoP+BAgeFKGpQK3BSjAuZLQ74+JFR3BQo0qdSrWqVScREGjdupWALRYKwooVK3PIAgcZ0qpVS6IsGgET40688FQSWhIZ8OpN6/aMLLlx6R4RwbWw11QPxirue7Wx48eQIztGAeOoFhQELGfRUELCCAFsQBR4QUGzFBEnRqgGEXpEgREnvlFZIEB1AQkIaqHRgMCzagFLn6Bgodr1A9NgFjxwPUICC+RGIrxwLcFC3VQRZNh26oTFbQUwdENDQUGB6opKXAhAAB3FFfFhUCAQMBIpDBjBJRMhDyOz/iMR3Hfdf0JQRgEB8BFYAwH95UfgAvfJpmANGtxHQYIEuiDghEQTiHAghgS6Bx2HJJZo4okopohiEAAh+QQIBgAAACwAAAAAQABAAIUEAgSEhoTExsREQkTk5uSsqqxkYmQcHhzU1tT09vSUlpS8vrwMDgxUUlR0dnTMzszs7uy0srTc3txcWlyMjoxsamw0MjT8/vykoqQUFhQMCgzMyszs6uysrqxkZmQkIiTc2tz8+vycmpzEwsQUEhRUVlR8fnzU0tT08vS0trTk4uRcXlyUkpT///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG/sCWcEgsGo/IpHLJbDqf0Kh0Sm1CONWsVMLQSLTgZgoASIXPyXEZTZU4Hkq1OflwfNnFBuCASpPnRygHAA14RQFkJn5rSCZkAYZEgmQqSHJIKmQHCZFEBWQlln9IJWQFnUQXA2QjR5dGI2QDIahED2QWtEWvRCEWZHC1RB5kIka3AMFEImQewkUEDAAZfUUjrUUQGQAMWM9EFGQRThFkFGwEFB26SAkGJZxNKCUe7IEBDXdMGA0lFQIXvrUIUWAQAAdOJHjo18CEPlQPVmlSxiRBgQkl+omA0IkDMTIATFSDwoFCxhIrItgDk4CFNFAPpSBwwFABm48ALCwIc2GB14EGLNhMmKZgpRYUD+KdQRGBo8CnUKNKnUq1qhEUErJq1eqt04MUYMOGjSmkJQUWZ9OipUCgUyyQcMlocErELIW7eO+yqBRJQNy4cwNJUAGCsGEQXSN9FSuWrNXHkCNLniw1BASjWRI8GMmTgwABINiwaGBgAWYpSAVsAM1GwUkHCDKD+KxaRUA0ISKsYEghsZMQKmhvAKEUDwrXGScUKL4k9eoTnDtJMHHSg+MjEj5v8F0rhIAK/TD8Lny6VoIObCmrX8++vfv38OPLn0+/vv37+PPrNxIEACH5BAgGAAAALAAAAABAAEAAhQQCBISChMTCxERCROTi5KSipCQiJGRmZNTS1PTy9LSytJSSlHR2dBQSFDQyNFRSVMzKzOzq7KyqrGxubNza3Pz6/Ly6vJyanAwKDIyOjCwqLHx+fBweHDw6PFxaXISGhMTGxExKTOTm5KSmpCQmJGxqbNTW1PT29LS2tJSWlHx6fBQWFDQ2NFRWVMzOzOzu7KyurHRydNze3Pz+/Ly+vJyenAwODP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+wJtwSCwaj8ikcslsOp/QqHRKbb4i1axUZsPItOAmCgBAhc/JcRlNJXwQSrU56WJ82cUDh3VKk+dHCRwAD3hFCxwcGUkKf0kbZB+GRCcdKyQESHJIBGQcfZNDCoklmo5HLWQSoUQzD4kQR41rRgJkHTOsRAiJIRVGm0UVDmQuukUMiQVGCMVGF2QHx0URGhwOL7UgRi8rADZY00QXiRZOs4toETUWoEgVMSXuSwktB79JCR8Pd0wKEzECuMglroKEQQAYOCGwIQbAFJmOuRhABgAHY04qoGAAcIKEBKFElKgIYAPIKC8KdFRBA9+ZExkaVGzRbwqFDB1XoTlQ0QH+jTAzQKiIsQyNBwArUrgMcwLBPDAJFGQTR7Wq1atYs2p1kkCE169fp4ZCgKKsWbM1h1SAIaGt27fhDIEgSRcABrFDTrB9+3YEXja26la8Gwis4b94XJxdnHar48eQI0uOPOMEwTNREWeZkYAAAc1Vjq64sLTKCRGeP7PhScaBgCwVIqSWkeAy0ww2ZkaEwlmGZxkvbLMRwZrMhqdKKqQmIKL0JBcdKl508oKADBHIWc04SEZhk9jB2VQAAUF4EX38HItoa2JykrUSYGR3f0NGW4z0hVloC9p9hBEw0GBefiC0tVt+ebWFgnP5ITCCBO0hSIRGEmwjIREvuHDShRwJdujhhyCGmFUQACH5BAgGAAAALAAAAABAAEAAhQQCBISGhMTGxERCRKSmpOTm5GRiZCQiJJSWlNTW1FRSVLS2tPT29BQSFHR2dIyOjMzOzExKTKyurOzu7DQyNJyenNze3FxaXLy+vAwKDGxqbPz+/BweHHx+fDw6PIyKjMzKzERGRKyqrOzq7GRmZJyanNza3FRWVLy6vPz6/BQWFHx6fJSSlNTS1ExOTLSytPTy9KSipOTi5FxeXMTCxAwODDw+PP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+wJtwSCwaj8ikcslsOp/QqHRKbU5G1azUUstYtODmAgBYhM/JcRlNLbBMSrU5CXF82cUVxcVIk+dHMBwACnhFFR4eJX5rSB1kAYZEDAoeNgVIckgyZBx9kkMoHhQdmX9IJ2QioEQbJIkQR5pGNGQ2G6xEJqMzuEWzRCkUZLG5RAGJEkYtxEYlZCTGRRMhHhEwtAJGEyoANVjSRAQUHtpNL2QPbBMvIClKKQEdn0wwJyTvSTABCndMNA8eVDCRT9oGEYMAOHBSoETAByIwGYMwgAwADsWapBDA4iEKenhGkLAIoAO2KDBePOjIAkLBMAweNLB4wt8UGTE8shlJhgLdhjAbWjgEFOYCABUIXoJhQHDdgpPhokqdSrWq1atNGEzYypUrSEMtFogdO9bmkBQgBKRdq5aGAKh4apGcm2GCkY0CBLjdq/YtKLlzLdY9wgDGCBgTDBtOnAsC2cdmsUqeTLmy5ct4UtrFjMSoihJKOd/gCYACDdGTHtSgKQP1EJEk57kWAsGGRYyzbxxMuBArAxZJlTDgF3kqBAUnXuQWAsOAghlwXWNAvmj5BgfIi3NOcEJBB1+5H3Q3l3vEhRMaQosWoUCBsuUMSJz4sFyIBQIS6+vfz7+///9ZBAEAIfkECAYAAAAsAAAAAEAAQACFBAIEhIaExMbEREJE5ObkpKakZGJkHB4c1NbUtLa09Pb0DA4MlJKUVFJUdHZ0zM7M7O7srK6s3N7cvL68XFpcbGpsNDI0/P78FBYUnJqcDAoMjI6MzMrM7OrsrKqsZGZkJCIk3NrcvLq8/Pr8FBIUlJaUVFZUfH581NLU9PL0tLK05OLkxMLEXF5c////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABv5Al3BILBqPyKRyyWw6n9CodEptQjrVrFSy0Ei04GYCAEiEz8lxGU0lFL5psjn5cMDZxE3jo0iK5EkpBwANeEURDSYeSSqASCdkAYZEIxUNFFhHanNGK2QHfZNDAiYNG0ibSCZki6JDFyelCJqORSxkAyOuRBIUDQ4XRqlFIxZkD7tFJaUTRijHRhlkH8lFKS0NBqFELCxGEBgAC5nVQyqlyE2NAKdoKQIIukkjJQzbSykmH/JIKQENd5Y88OAhwYpg5UZ4GATAgRMIKggWmACh2oMBZAAcSNdkxIMIBD08uMemw4eMAE6kkKJAQMgIIfiFUbCBREYTAaV0SCCRY/GYk2QsNANzQUKECBzYUACAoYRMMCNWPNUCIUHFclizat3KtatXJyMUiB07diqbBwnSqlWbU8iFFXDjyl1BEo0AlHgBaLhKCa4EAnP/1j1zK2/GvUfCkiVrFg3atWvbfp1MubLly5jZpFDBN7ORpRgyNMYMFIAFb56J0Fxwc0VqIiZRnhiM+WLGja+HjCjA0OHXFBT2KfEHcPK6dpc7kBsCTtzyyRAIdhYiDQA1ywQIEjBSDFrl7B62Gymc67t2VazMh0ci4RPtrODFH4EEQNLk+EkUDCp0/zwdO5Thl9sQAg7oQgpHrWSgEGEt6OCDXQUBACH5BAgGAAAALAAAAABAAEAAhQQCBISChMTCxERCROTi5KSipGRmZBweHNTS1PTy9JSWlLSytAwODFRSVHR2dMzKzOzq7DQyNNza3Pz6/Ly6vFxaXIyOjCQmJJyenBQWFHx+fAwKDISGhMTGxOTm5KyqrHRydCQiJNTW1PT29JyanLS2tBQSFFRWVHx6fMzOzOzu7Nze3Pz+/Ly+vFxeXP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+wJdwSCwaj8ikcslsOp/QqHRKbapU1ayUcLkQtOBm63Bohc/J8YGCpkIW3zSZnUw5Vm0jBqSZyDMCSQkHAA15RRQgICVyB4FIKAAAHIdEIwGKWEdjgEgrGwAHI5VEKYoYSAJkj0YNkh+kRBMWihJHFAedRgKSA36xQx6KFr9EamZFExGSKcBFBYodRghkCEYkkgbORQkOICijRQ8PRioZAAwQ20UtitZNC5IWbSMSBCxKEwUYxUsqFQbCIRnBoQGeJgQ6dHigbt0LFh9CSHLgJMEDhR1EJNiWYoCkUM2cTCBwUeGKfm08GPgIQMPGKPUWCnhwr80sEx9PHKSSIAXexp1hVkqKgEzLBAgXbaGpACCDApRGIUDNoqKEJodYs2rdyrWr169EEJQYS5YsULAvOrBcC2DDVbS82H50i7ZU2btn6+rdy7ev378vEix4C/gF0wwkpvIVCiACq78jLDDIGQcwBMYtBf7t+PFASMATPhACQNFrAoCKhSQomDdrPADz9ooQYSTBuXR6V5wweC2b3hS7Pw9Rxqwu8AbCh8T1hRZBgxPJh5x4hTbF8+hCCEgSBfY4diEaJFH6ah16khGEDH11jlyJndZZvRceUv47XwgVXDScH/gl//8AahUEACH5BAgGAAAALAAAAABAAEAAhQQCBISGhMTGxERCROTm5KSmpCQiJNTW1LS2tGRmZPT29BQSFJSWlMzOzFRSVOzu7KyurNze3Ly+vAwKDIyOjDQyNHR2dPz+/BweHJyenFxaXMzKzOzq7KyqrNza3Ly6vPz6/BQWFJyanNTS1FRWVPTy9LSytOTi5MTCxAwODJSSlDw6PHx+fP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+wJZwSCwaj8ikcslsOp/QqHRKbZYe1ayUsBoQtOCmYLUShM9JQaWMpj5QHOWYnWxYIm2jiSJSpFcVZkgKGAAOeUUCFBSCRxtrjUYsAAABiEQgGSoqWEdzkUQnlBh+l0MeiyZIanRGJJQdppgdiyeeZKBCKJQrF7JEBCoUBSBGY4FGIBWUDb9FH4sjRh5kB0YZlAnORQrCfUYNzUUlIQApcdtEDYt4TSaUFG0gHA++SSAfCMVNDxoJpYMCOGjH5MGJEwRKpBNyoYMBShacgDh4kMC+Xw0GUAKAQVyTCwYjEDjx4GIeAgk2AmChMMq8ExEO1pNHYcFGEgSnKBgps03+SkoVJIS5UGJkpzMaAIRgYBLMBQX2zpQwcXSh1atYs2rdyrXrkBEIwooVm9NrCwEq0wKYUNXrLrUb2ZpVN7Zu2bl48+rdy7dvi6lt/SYNIaIp358AKqDwK0QBhRQ3bTHmgHglwL4NVmzsyLhFw0IAIqK5sEGAYSQl/J0eUkLg3SweOnT44g4eVgUQOkAwjCLXg3Lnrm6QfbcBMyMisll90KHAh6hDEFBCkGwZAI+/LkiQja6IdADUjbztte2E7FxCvod3BcsZCAS6WxpRjyTCBI6XER1oLg0JfSSTVPKLAB2YsFoL/x1RQiGHyFJCA4ERkeARdnjg1YR+YdiXfSkMvMbXA911JuKIWgUBACH5BAgGAAAALAAAAABAAEAAhQQCBISGhMTGxERCROTm5KSmpGRiZBweHNTW1LS2tPT29AwODJSSlFRSVHR2dMzOzOzu7KyurNze3Ly+vFxaXGxqbDQyNPz+/BQWFJyanAwKDIyOjMzKzOzq7KyqrGRmZCQiJNza3Ly6vPz6/BQSFJSWlFRWVHx+fNTS1PTy9LSytOTi5MTCxFxeXP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+QJdwSCwaj8ikcslsOp/QqHRKbaZS1ay0Q2l1tODmw9R4hM/JR8NkRk9TD4gStW4jHw6J2yjwqEZpdUkpBwANe0UIHh4oaWR2RicAAAGIRCMJBREKd4JHKxoAB5yWQyuLAnePSCaTHqVEFxOLX0ZqbEcskwOAsEMQHgUTvURjZUYjFpOQvi4Pi3pFEmvRRBmTH81FChEeEcRDCCFGKSQAC7XaQyGLBE4qkxvqRSMCHOBKEBQGpEgKAQ2qzYtywQOISQ4GSnkwYJIoZgqVdPjgEMAJLBGZjNiwwKEJgRmVGHBoYULIJxQAYCiB76SSFCrkuJxJs6bNmzhpokjAs2feT5A0BVQcCkCDTJu6iDo0mvOBz6dAc0qdSrWqVXUwj15NiSFDS6kUJ1lgcVUBR48rrk6seKIfVYYOD0DMOaJAIQAJ0YwowcDtSwofvg5JATBqFRWrmsADIE9hihYN+BlhkaoIBAzn0qkrQcZkkQfLjFwDkG2eBAoNHFwwkmBSAmTKAMxFdOHEGgRHWgN4PXmXYDcC1jQ2IsI1K1fNRlRoQEEzEd28jUiYNMpXhDUFkkBPIomSrw0NPvh9btxfoUOwCBRIq738HQfjZm6/6mL+VQkaFhiWCsE5/f8AzhMEACH5BAgGAAAALAAAAABAAEAAhQQCBISGhMTGxERCROTm5CQiJKSmpGRmZNTW1LS2tPT29BQSFDQyNHR2dFRSVJSSlMzOzOzu7KyurGxubNze3Ly+vAwKDCwqLPz+/BweHDw6PFxaXIyOjMzKzExKTOzq7CQmJKyqrGxqbNza3Ly6vPz6/BQWFDQ2NHx+fFRWVJyanNTS1PTy9LSytHRydOTi5MTCxAwODP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+QJlwSCwaj8ikcslsOp/QqHRKbSpY1aw00mhEtOAmwuVChM/J8cSMnipe2LRrrVwFXm3jSNApyctJLCcZB3lFLwICeEgIE4BIHBkZD4ZEGB18CoxzbEYvBRkacZVCH4kjm3RHIpItpEUIiaNEjY9FHRkmDhivRCx8ELywnEYlAxkFK71FewIfnmSLRAaSLstFJXx9RhQURhEMGRfP10SIAl9NJJIq5UUYIyN+ViIN80gsAQ7e7lMYIRkAAGjQTwqEAQIBZIBQ8MmHAwkBoJjVMEkJDjESpuBXkQlEgQwqdHyyAYAJFZpGOmHRIp3KlzBjypxJ8+WKBDhz5uQoU0D+xJ8ALLiMCQNoRKE1IehcyrOm06dQo0pFUuLFvTAsh4KBJyGEgDYlT16t8oFEiLMd2nwEwABGFgUCzhqQgEDYGQUYNUp7UmLF2RAGIIxFQ2CtxJRNIrQALKGC1koQNCRc6GTF3AQv7C77F3DgSgEIBhNRcGADxUAbDogekm9fGw4CXTWRIJBDww8ZTTwW4LYICxMAYpBz97FdEQgCGRZRIbCQO+RsEQ8hITBBMQbJy2FACECkkQTVj1QQqEEzqRACUyABD8D6kRQCQyxT0HkvEfbuuVlQKN1QAIEoJIFfEigIFEAvDih02hAD4hOQA72M0IBy64WXBAQNoPJSg1MScSgVBRbE0FRUEQw31YkodhQEACH5BAgGAAAALAAAAABAAEAAhQQCBISGhMTGxERCRKSmpOTm5GRiZCQiJFRSVJSWlNTW1LS2tPT29BQSFHR2dIyOjExKTKyurOzu7DQyNFxaXNze3AwKDMzOzGxqbKSipLy+vPz+/BweHHx+fDw6PIyKjERGRKyqrOzq7GRmZFRWVJyanNza3Pz6/BQWFHx6fJSSlExOTLSytPTy9FxeXOTi5AwODNTS1MTCxDw+PP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+QJpwSCwaj8ikcslsOp/QqHRKbTIY1ay0pVJJtOBm5fGohM/JscqMnp4kJ+W4rDSpCm2j6FWIIysqH2xHJxAeDnlFEi8vX0gvH3RIJRMeGYlEGwWMfkZqg0UFMx4rWJhDLS8Vjp5koEQpHh4ap6GbpkWQa0cxlSMbtUQnjAXARXOvNCcusgrBRXsvLUYFgSJGER4TH89FJxWbxkR8Ri2GIKzdQi0VL7hLMtoE6kUbEnBODB0BnUcMAQiS0XOyIQQHAAAQDYxyYQBCABwuLHwiYsRDAB2mTWRy4gGMhyQEbjxi4OEEWiOdUACAIkG/lEtasEgHs6bNmzhz6kwZY4H+z58/RaYUcLEoAAs0a8owehHpzgtAowrdSbWq1atYhzC48A6MzKRZNmgwgEBFm5UoSrykosABAgQkErQpiXCCjCwiHpCA64LF2iwMPIJ8IYVBCApwSZTQmKiAxYcdusoZARdBB8LPLsx4GNFJhr0YBPzFVPBgQicFHkQYLYTBCAqMY1IYwZpGC4BTpTxAyMJJBIQPJor4iCKpgLtFWqAAAOPawMcljFxAKLFICYQjBk4HMEHyAoQLjJyYQF3dBocAUBb5DiC8EQ0IZ4irFQIhCSTs3RshgTDEMwamYWZEfn8gxIFkbQSAUAdJEIhEBwgFEAwCEMW2HnhJAAgAAsEhmOBAdfhhmMQFDphgk4NZoYhVBRbAkFtOEjiX1Yw0phQEACH5BAgGAAAALAAAAABAAEAAhQQCBISGhMTGxERCROTm5KSmpGRiZBweHPT29LS2tNTW1AwODJSSlFRSVHR2dOzu7KyurFxaXMzOzGxqbDQyNPz+/Ly+vNze3BQWFJyanAwKDIyOjOzq7KyqrGRmZCQiJPz6/BQSFJSWlFRWVHx+fPTy9LSytFxeXNTS1MTCxOTi5P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+wJVwSCwaj8ikcslsOp/QqHRKbYIQ1ay0BIGUtOAmodMhhM/JcRnNLqrNyUsB3oa+k4hJY1OP3pEdDQ0QfXZkdEUcIyMTWIVOf0YbIw0Cj0+RRAqUJBWXkIdGFQ4NERefTg9kD0YWDSMZqE8ciEIIBg0nX7JVEq8mvFkIDCIgSggBDafBUhUdBwAADsxREgPRAAcS1E4cHtgAJLvcSiAbC9gjy+RLBtgUFuxOEQAYxfJOJSas+P3+/wAD9itBoKBBg/wKoUjAsGHDdURAQCBDsWIHDoUEgNsIQEPCIQgmWqRY4CObFBzBeTxC8OBBk20kOJwJUaDNmzhz6kSib1zwGH0ws4DIgAFABDYj6mUwBiYFBWwG2HyLRiFFFhVJoy3YwPQMgnPpVEhBQAKch1povIEj4aiJBGjRBmz7ZA2bNicOoh0o0PUTiAJwpzW50CBA2yMgDETwqaREBA99jZRIVlPLhmjAmkCIxocZB3QYYAqwWqRE0QUYg02NVURCtLlEMkTzEMw1AAqHhSSIlsAIiKcAYF+qcA1APCO7AfRuFTdynw7RRiBJvtxI1g6fEMAVe4Q6kgt6c7cJEI1EEu9IygIIcKlBNsZE0B/RDqDBpQsOhCPnrUSCg8rUyKeTgDldoMECAN70QGo7NeggO0EAACH5BAgGAAAALAAAAABAAEAAhQQCBISChMTCxERCROTi5KSipGRmZCQiJPTy9NTS1LSytHR2dBQSFJSWlFRSVDQyNMzKzOzq7GxubPz6/Ly6vFxaXAwKDIyOjKyqrCwqLNze3Hx+fBweHJyenDw6PISGhMTGxExKTOTm5KSmpGxqbCQmJPT29NTW1LS2tHx6fBQWFJyanFRWVDQ2NMzOzOzu7HRydPz+/Ly+vFxeXAwODP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+wJpwSCwaj8ikcslsOp/QqHRKbU4m1azUBAGZtODmCwR5hc/JMciMbhMR5IiSoJC7oy/BOjnZSDp3eF1sRygwMBSBUGMQdkYvhxtYik5jAoRFBRIwLpRPCAJlRxowEg2TnkxqmEITF6UEqU5cAl9FIKUYsk8vCEYmKTALvrtVCaUyxVkTHRioRyYNBrHKUjEKHhwcH9VRJw7aHA8J3U4RC+EHF8TlShMrGeEk1O1LMOEDEPVOEhwZIzH2OUFAgZ3AgwgTKly4L4KLhxAhavCUAIXFixcnGkFQgYUDjyA/OjihCASAkyhTWmBVA8EMkSFBkgwkIKVNACuPiHiYwEX+Agg9E2hU5AKj0aEMkypdyrRpEgQKDIKBynLZChUAKrRhAUDFimdVBDxAaaCNAZQPBGQhwPUkjQtgtZi4QAMlC3pPTGxIaUCEoghnUW6w1cQFB5QeOqVy4QElB8VMFpzkgCHgrhgYDgNY4ESDgw9Si0wwUCE0Eo4G4r754AApmAsnFThRcPJCtwh1VbAEobbIC6w0HO0KvMKIi5OQh6w4WbbYcQAPCA+hcBKFkQljASSnFGPAyWRGUFQ/UhOAB8ueMJxkgUQ8AOtH2uryZEIzXiLu4RvRYAEAB+l3fHDSBknkl8ReAHBDiQP+mSaEgacd5oAnpGxXBIRIuLCAa+UTYNiUh0zxRwOHS70gnFMoplhOEAAh+QQIBgAAACwAAAAAQABAAIUEAgSEhoTExsREQkSkpqTk5uRkZmQkIiSUlpTU1tRUUlS0trT09vQUEhR0dnSMjozMzsxMSkysrqzs7uw0MjScnpzc3txcWly8vrwMCgz8/vwcHhx8fnw8OjyMiozMysxERkSsqqzs6uxsamycmpzc2txUVlS8urz8+vwUFhR8enyUkpTU0tRMTky0srT08vSkoqTk4uRcXlzEwsQMDgw8Pjz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG/kCbcEgsGo/IpHLJbDqf0Kh0Sm1qUNWsFBWLYbVgJiNmYYTPyXHBjG4TxzE2UjSbuKVwuRGFeLjuUXlJAg8PH4BQgkcvKw8VX4hNikYuhSWRT5NEMYUhGphOmkIaMIUioE4oFnFGLA8rJ6iZekJ8r7SyURavh2gvAgmQYSgLJ8JGDDAOMU4QISELMZ+yKBgtHRQIThMuzwQYdqAlIxQdHS2XqRASzyEQuGcTHuYdNSTwSwwC7RIlx1ooCIDA1sFBgSwiFniD0CYAQRkMwWiwIEFCrzMcOkSQMO0Ml39ZXtTJRbKkyZMoU6o8YmGBy5cvWWCCALOmhSMTMgDYybPn/gxEAnoKBZAhHJGcQ30CTcqzKMuaMCMiognV5c2VWLNq3coV6wsXL9p8NTqMRAoAF9qYAJCCBEgpMyjwNNDGAE8KP6vEWLuTxoO3VBg8oMHTBLNAHHoaOAhIhF2eHPAdgbCBZw2pkSDU4LkBsxIHOzeEAOxGQ4jKABw4KaEggGQbKAxcCNvkxQUDpF8EUHD1zIOdf5pI2PnApAjCKcgKEZCXyIuzNE6RfEzCCISdnm2Q2Ek313UAFHCd2Llgj1wA2QFpGLATw5EF5I9g2FmjY6QQO00ggQ+g/BG+IYDCAGqHGcGff0ZYENprYASwEwdJHJhEYgAEgIkCAGxA23vxKiExIAAKYFKCA+kNIWESEDiQjkondmVghy4WYUEGNPQW41HS3ajjji4GAQAh+QQIBgAAACwAAAAAQABAAIUEAgSEhoTExsREQkTk5uSsqqxkYmQcHhzU1tT09vS8uryUlpQMDgxUUlR0dnTMzszs7uy0srQ0MjTc3txcWlyMjoxsamwkJiT8/vzEwsSkoqQUFhQMCgzMyszs6uysrqxkZmQkIiTc2tz8+vy8vrycmpwUEhRUVlR8fnzU0tT08vS0trTk4uRcXlyUkpT///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG/sCXcEgsGo/IpHLJbDqf0Kh0Sq1ar9isdsvtereQlOrbHUUKAjI3VSgg1NpEezWCZwXtiR3raZMwe1YYCm0QgVYibQ+HVSMfBR8JjFQEbW9bBBUfdVsjAh2ASQkfFQROGg0nFgKhe54WJw0aThMgqQ0oenYTKLEnILpNchS+JYZfKiW+FAWSUR4Vvi0RnFpmLbcuHlYIDrcLXAu+DpdXgwYnLlzRBgqtWQkdztYdY5P3+Pn6+/yBEysAAwZMAScFiYMIEbI4AoEDgIcQI2Yg0+GAxYsYLxwj0jCiRwATvwjASPJACHtF/gkUuEgNAgUZFMicmWFhv5s4c+rceU9F/gSUWXxuzDKixAYAFLicALChRDUrGSRANMAFBEQJIamwWPqQQYWnWBJUYADxhE0oCVBEBGHqiwerEFHMY/LgAMQBHfY8GADxQEsmDh4eaHYIQwG7ABw4EdEgwFwjIwxQAKpEBQUQYIuoCNAgWJYKDyM4+fCwwj0PZDcMFSIg6xAVRxlsYwS3hJEHD/8OKfEQBCPcACQ8fqHg4QrIUgHoVoOBLwASR1YYP0Li4YDMXgo8PIFEOoDjR7gWsJMA8dki3sEbmSB4OJcAD1EkSZ9ELYAAcBoAOECZCH0k5QHQABwiOLAcetMl8YADIvTzH08Ifgfhehww4NmEQkAwG4YcBHaYUxAAIfkECAYAAAAsAAAAAEAAQACFBAIEhIKExMLEREJE5OLkpKKkJCIkZGZk1NLU9PL0FBIUlJaUtLK0dHZ0zMrMVFJU7Ors3Nrc/Pr8vLq8DAoMjI6MNDI0HB4cnJ6cfH58XFpchIaExMbE5ObkrKqsdHJ01NbU9Pb0FBYUnJqctLa0fHp8zM7MVFZU7O7s3N7c/P78vL68DA4MPDo8////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABv5Al3BILBqPyKRyyWw6n9CodEqtWq/YrHbL7Xq3iVTo25WYOBEyl8DhENTakIPjUMGzkTbkjkW1EXxXKgh0CYFWEG1ph1QSbQ5jjFN+Dm9bKQ8bkVoSERF2SRITGHtNDQAAFx6gfGYBHx8MTiYXqAAtJnwdC7AfGZZNCRm2AAelXgkesAcfJJtPBCe2LBUSXBIrDb0YKFYCFrYHXAW9G4tXISMiABrjHw0crFkoJIZbISDPkvv8/f7/AOGkIEGwYEFAavK0WbiwwxEUFIhJBCCAjIkWFlpo3LjRHhGIE4lV/HJRY8aTGQd0MzLQoMFcCRnKdBiwps2bOHPuS8DAY+wWnis5qWPHRZqIEdawfAvH5YAtCyOpRJtWjUuICixsnQD2JMSwcDS9QHBqK4M+JbRs4eJz0dYFmExOpVp1SIWHWgAaOImQ6SwRCQc0+FSSQMOBpEgSbHiQgksFVLKaMEBVYR+ErCKCDuEQdQiKdSyOBSI7wogJVHCHjEAl7tBpABbOTkBFwogEcABSq1ExANWKIyRoHxGAqoU8Mh5QnUASHEDtI9IAeLgTAi9XIs2fs4x4we+WDagyJMme5OsGOA9SDcYuPHGtB3AiNNBdhHwSEw3O+bOvs377/kSkQAELjQFYBAqiGajggjUFAQAh+QQIBgAAACwAAAAAQABAAIUEAgSEhoTExsREQkTk5uSkpqQkIiRkZmTU1tS0trT09vQUEhSUlpRUUlQ0MjR0dnTMzszs7uysrqzc3ty8vrxcWlwMCgyMjowsKixsbmz8/vwcHhycnpw8OjzMysxMSkzs6uysqqwkJiRsamzc2ty8urz8+vwUFhScmpxUVlQ0NjR8fnzU0tT08vS0srTk4uTEwsRcXlwMDgyUkpT///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG/kCacEgsGo/IpHLJbDqf0Kh0Sq1ar9isdsvteluQCNYUMXmJgpDLXNW8XqDzEBEKsayRt1hOMyUKEgpUJi8TBBp8Qi91AlQgLwQtiUIaFHVxUQqFmJM0ESEFFGxOGgRvgp1CEHUTUC16qUMKEiESo0smBBMvt6kkdQROmi97WhMNAahIJgIevUkaIBGIScwuxUsPAAAbIdSdJiQoFxcwThAb2wAdEJ0gIeQzKMFOLSvqAAecXS0l5BczBCh78iKFOhkXnlkx4YHBPxeSqsBwoO4AlwT/CrzIogDFCQAVLspjobBKhAQRtSggMTCWy5cwY8qcSXPIhAQ4c+a8w2cC/oSfQIHuGxLBAr6jAMydQZCiQdOnThvESEnUKFJ1Sr0wjQq16dQjN3XqbMfnBQQWZ9OiHVqzrdu3cOPKbAGRi4IS2MZ4BMllxAYMBb5ZmViRy4MNiD80qlLwYEK7KDAg3jBiY6Z7Fel5AXEYsYELVJegU8euE4sGk1XwZKKNm7dYJlyoQBzACQlkLYuYOFAhdJIWFQ6UFNJixohWWy5sc+FEwrYLMEHIAHAiLw0BWYe0+CiDbaID21AYgbCNLBEU2yzGIg/AQe4S2xIYMUERgPlEGgZso3AkQfwjFGzTgWByhLBNCkj4B4B8RxgEQAiTKJAOAJYZoSCDRkxg1Aa5PXERwDYrJHFhEpjVxkcD3Pg2xIhItJBOA4mQ8MB9Fv6XBAQPkNAWi3LVuGCPYFkgA3JAFhGBd0UmqaRbQQAAIfkECAYAAAAsAAAAAEAAQACFBAIEhIaExMbEREJEpKak5ObkZGJkJCIk1NbUVFJUtLa0lJaU9Pb0dHJ0FBIUjI6MzM7MTEpMrK6s7O7sNDI03N7cXFpcvL68fHp8DAoMbGpspKKk/P78HB4cPDo8jIqMzMrMREZErKqs7OrsZGZk3NrcVFZUvLq8nJqc/Pr8dHZ0FBYUlJKU1NLUTE5MtLK09PL05OLkXF5cxMLEfH58DA4MPD48////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABv7Am3BILBqPyKRyyWw6n9CodEqtWq/YrHbL7XoLhIp3/EiQGOOuJGESpbkpTcIyem8FpsTDruXQ8gh8WRUWCSocglgLeReJVzAyCQZojlUveRCVRxUJAZRIKQssn1kpCAIwTioAAB0iiIkpMQoiIplNEB2sADa3dhMXtQQvE08wNLsAJHVjDBC1IhItKVIxJrs1D9RbphLQqFYzFLsGXCDQCsVYDCgrABZcAtEVsFoTCqncBaSa/f7/AAMKtFNBgcGDB1vYiYGgoUOH6opMyJCsIoAZaSo00NCgo8eOKvIRmWgxGcYxGjtyXMkx5CaEMH2NKfCwJrOBOHPq3MlTE/6MFyKzMJgRFEuKdu+40PAQQUK9cONYldsSgIIHDzJkVrvGKts2LSkIhLDqAUMBKQyQ7SJxdsyED1cp2EDBT0muXb0EIdBw1YOLEqpYufrKh4MCFx4oLHBSolNdIikMWCiaBIYFEoSNMNigIgaXB6xeOJHAao+mETUArIg4RMBJIjDc1biZiAQrFEYgsNJ6AwUrEpV0A6BQ9wQrBUZSROU9hsMAVo2MKDh+5AIrG0/TiGBlAsl0AMiPcHVjh4EuAJ6PfA9vpILgx1RZ0UiyPonaAHYStKI8pD4S8wAkYEcJKjDXH3VJQKACYAL511MRDj44RAUZ1CCGhBLRhuGGHAPiFAQAOw==", E = [
130
+ }
131
+ const E = [
469
132
  {
470
133
  label: "Pay with Card",
471
134
  icon: `<svg width="23" height="19" viewBox="0 0 23 19" fill="none" xmlns="http://www.w3.org/2000/svg">
@@ -487,7 +150,7 @@ const y = (r) => {
487
150
  <path class="group-hover:fill-white" d="M5.24738 6.19386C5.43819 6.39741 5.78802 6.39741 5.97883 6.19386L8.14137 3.83845C8.39579 3.54766 8.17318 3.11147 7.75975 3.11147H6.71028V0.436187C6.71028 0.174475 6.48766 0 6.23325 0H5.05657C4.77035 0 4.57954 0.203554 4.57954 0.436187V3.11147H3.53007C3.11664 3.11147 2.89402 3.54766 3.14844 3.83845L5.24738 6.19386Z" fill="#9E9BA1"/>
488
151
  </svg>
489
152
  `,
490
- key: "transfer"
153
+ key: "bank_transfer"
491
154
  },
492
155
  {
493
156
  label: "Pay with USSD",
@@ -497,7 +160,7 @@ const y = (r) => {
497
160
  `,
498
161
  key: "ussd"
499
162
  }
500
- ], t1 = [
163
+ ], n1 = [
501
164
  {
502
165
  name: "First City Monument Bank",
503
166
  code: "*329#"
@@ -506,7 +169,7 @@ const y = (r) => {
506
169
  name: "First Bank",
507
170
  code: "*268#"
508
171
  }
509
- ], u = [
172
+ ], m = [
510
173
  {
511
174
  name: "MasterCard",
512
175
  icon: `<svg width="24" height="14" viewBox="0 0 24 14" fill="none" xmlns="http://www.w3.org/2000/svg">
@@ -577,132 +240,395 @@ const y = (r) => {
577
240
  </svg>
578
241
  `
579
242
  }
580
- ];
581
- class f {
582
- constructor(e, t, n, A, s, i) {
583
- o(this, "cardDetailsValues");
584
- o(this, "cardPin");
585
- o(this, "cardOtp");
586
- o(this, "contents");
587
- o(this, "container");
588
- o(this, "closeModal");
589
- o(this, "email");
590
- o(this, "token");
591
- o(this, "amount");
592
- o(this, "_currentStep");
593
- o(this, "activeRef");
594
- o(this, "creditCardTypes");
595
- o(this, "switchTab");
596
- this.container = e, this.closeModal = t, this.token = n, this.email = A, this.amount = s, this._currentStep = 1, this.cardDetailsValues = {
243
+ ], R = `<div id="checkoutcardpin">
244
+ <div class="box-container md:w-4/5 mx-auto py-8 md:py-16">
245
+ <div class="container-center h-[20vh] hidden" id="loader">
246
+ <img src="" alt="loader gif" />
247
+ </div>
248
+ <div id="pin-content">
249
+ <h5 class="pin-text">
250
+ Please enter your 4-digit card pin to authorize this payment
251
+ </h5>
252
+
253
+ <div class="mt-8">
254
+ <div class="pin-container">
255
+ <input type="tel" class="pin-input" maxlength="1" id="pin1" />
256
+ <input type="tel" class="pin-input" maxlength="1" id="pin2" />
257
+ <input type="tel" class="pin-input" maxlength="1" id="pin3" />
258
+ <input type="tel" class="pin-input" maxlength="1" id="pin4" />
259
+ </div>
260
+
261
+ <div class="container-center mt-8">
262
+ <button class="pin-cancel close-btn">Cancel</button>
263
+ </div>
264
+ </div>
265
+ </div>
266
+ </div>
267
+ </div>
268
+ `, k = `<div id="checkoutcardotp">
269
+ <div class="box-containe w-11/12 md:w-4/5 mx-auto py-8 md:py-16">
270
+ <div class="container-center h-[20vh] hidden" id="loader">
271
+ <img src="" alt="loader gif" />
272
+ </div>
273
+ <div id="otp-content">
274
+ <h5 class="otp-text">Kindly enter the OTP sent to 234249***3875</h5>
275
+
276
+ <div class="mt-8">
277
+ <div class="relative w-full grid grid-cols-1 md:grid-cols-3 gap-7 md:gap-5">
278
+ <div class="col-span-2">
279
+ <input
280
+ class="otp-input"
281
+ type="tel"
282
+ id="card-otp"
283
+ name="otp"
284
+ required
285
+ />
286
+ </div>
287
+
288
+ <div class="max-sm:text-center max-sm:w-4/5 max-sm:mx-auto">
289
+ <button class="otp-button" disabled="true">Authorize</button>
290
+ </div>
291
+ </div>
292
+
293
+ <div class="py-5">
294
+ <p class="otp-subtext">
295
+ A token should be sent to you  within 6 minutes
296
+ </p>
297
+ </div>
298
+
299
+ <div class="container-center">
300
+ <button class="pin-cancel">Cancel</button>
301
+ </div>
302
+ </div>
303
+ </div>
304
+ </div>
305
+ </div>
306
+ `, f = `<div id="paymentWarning">
307
+ <div class="box-container">
308
+ <div class="text-center mt-7">
309
+ <svg
310
+ class="mx-auto"
311
+ width="48"
312
+ height="46"
313
+ viewBox="0 0 48 46"
314
+ fill="none"
315
+ xmlns="http://www.w3.org/2000/svg"
316
+ >
317
+ <path
318
+ d="M47.4936 39.5624L27.5213 2.47251C26.1057 -0.157178 22.3346 -0.157178 20.9178 2.47251L0.946695 39.5624C0.639327 40.1332 0.485227 40.7741 0.499436 41.4223C0.513645 42.0705 0.695678 42.7039 1.02777 43.2608C1.35986 43.8177 1.83065 44.2789 2.39421 44.5995C2.95776 44.9201 3.59481 45.0892 4.24318 45.0901H44.1912C44.8401 45.0902 45.4779 44.9219 46.0422 44.6017C46.6066 44.2815 47.0782 43.8204 47.411 43.2633C47.7438 42.7063 47.9263 42.0724 47.9408 41.4237C47.9553 40.775 47.8012 40.1337 47.4936 39.5624V39.5624ZM24.2201 39.3479C23.7566 39.3479 23.3034 39.2104 22.918 38.9529C22.5326 38.6954 22.2322 38.3293 22.0548 37.9011C21.8774 37.4728 21.831 37.0016 21.9214 36.5469C22.0119 36.0923 22.2351 35.6746 22.5629 35.3469C22.8906 35.0191 23.3082 34.7959 23.7629 34.7054C24.2175 34.615 24.6888 34.6614 25.117 34.8388C25.5453 35.0162 25.9114 35.3166 26.1689 35.702C26.4264 36.0875 26.5639 36.5406 26.5639 37.0042C26.5639 37.3119 26.5033 37.6167 26.3855 37.9011C26.2677 38.1854 26.095 38.4438 25.8774 38.6614C25.6598 38.8791 25.4014 39.0517 25.117 39.1695C24.8327 39.2873 24.5279 39.3479 24.2201 39.3479ZM26.7654 15.7756L26.0928 30.0725C26.0928 30.5698 25.8952 31.0467 25.5436 31.3983C25.192 31.75 24.7151 31.9475 24.2178 31.9475C23.7205 31.9475 23.2436 31.75 22.892 31.3983C22.5403 31.0467 22.3428 30.5698 22.3428 30.0725L21.6701 15.7815C21.655 15.44 21.7088 15.099 21.8283 14.7787C21.9478 14.4584 22.1306 14.1655 22.3657 13.9174C22.6008 13.6692 22.8835 13.471 23.1968 13.3344C23.5102 13.1979 23.8478 13.1258 24.1897 13.1225H24.2143C24.5584 13.1223 24.899 13.1919 25.2156 13.327C25.5321 13.462 25.818 13.6598 26.0559 13.9085C26.2939 14.1571 26.4791 14.4513 26.6002 14.7734C26.7213 15.0955 26.776 15.4389 26.7608 15.7827L26.7654 15.7756Z"
319
+ fill="#FF9B00"
320
+ />
321
+ </svg>
322
+
323
+ <p id="payment-warning-text" class="warning-text"></p>
324
+ </div>
325
+
326
+ <div class="warning-list box-container">
327
+ </div>
328
+ </div>
329
+ </div>
330
+ `, v = `<div id="paymentSuccess">
331
+ <div class="box-container">
332
+ <div class="text-center mt-7"></div>
333
+ <svg class="mx-auto" width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
334
+ <circle cx="50" cy="50" r="50" fill="#D6F1E4" />
335
+ <circle opacity="0.52" cx="49.5" cy="49.5" r="37.5" fill="#99DDBC" />
336
+ <ellipse cx="48.4502" cy="48.45" rx="23.25" ry="23.25" fill="white" />
337
+ <path
338
+ d="M50.0003 75.8333C35.7395 75.8177 24.1827 64.2609 24.167 50V49.4833C24.451 35.2867 36.1397 23.9806 50.3379 24.1689C64.5361 24.3573 75.9207 35.9696 75.8279 50.1688C75.7352 64.368 64.1998 75.8305 50.0003 75.8333ZM39.9658 50.7568C38.9584 49.7533 37.3288 49.7549 36.3233 50.7603C35.3165 51.7671 35.3165 53.3995 36.3233 54.4064L42.0453 60.1283C43.5853 61.6683 46.0821 61.6683 47.622 60.1283L63.6791 44.0713C64.686 43.0644 64.6888 41.4328 63.6855 40.4223C62.6772 39.4068 61.0356 39.4039 60.0237 40.4158L45.4287 55.0108C45.0999 55.3396 44.5669 55.3401 44.2374 55.0119L39.9658 50.7568Z"
339
+ fill="#54C68F" />
340
+ </svg>
341
+
342
+ <h5 class="success-text">
343
+ Your payment has been received
344
+ </h5>
345
+ </div>
346
+
347
+ <div class="mt-12 mx-auto w-3/5">
348
+ <button class="success-button close-btn">
349
+ Close
350
+ </button>
351
+ </div>
352
+
353
+ </div>
354
+ </div>
355
+ </div>`, F = `<div class="box-container">
356
+ <div class="container-center h-[40vh] hidden" id="loader">
357
+ <img src="" alt="loader gif" />
358
+ </div>
359
+ </div>
360
+ `, G = () => {
361
+ const r = Date.now().toString(36), t = "xxxx-xxxx-xxx-xxxx".replace(/[x]/g, () => Math.floor(Math.random() * 16).toString(16));
362
+ return `SPF-${r}-${t}`.toUpperCase();
363
+ }, M = (r = "") => r.replace(/\D+/g, ""), V = (r) => {
364
+ if (!r)
365
+ return r;
366
+ const t = M(r);
367
+ return `${t.slice(0, 4)} ${t.slice(
368
+ 4,
369
+ 8
370
+ )} ${t.slice(8, 12)} ${t.slice(12, 16)}`.trim();
371
+ }, J = (r) => M(r).slice(0, 3), O = (r) => {
372
+ const t = M(r);
373
+ return t.length >= 3 ? `${t.slice(0, 2)} / ${t.slice(2, 4)}` : t;
374
+ }, s1 = (r) => {
375
+ if (!r)
376
+ return r;
377
+ const t = M(r);
378
+ return `${t.slice(0, 4)}${t.slice(
379
+ 4,
380
+ 8
381
+ )}${t.slice(8, 12)}${t.slice(12, 16)}`.trim();
382
+ }, S = (r) => {
383
+ const t = Math.floor(r / 60), e = r % 60;
384
+ return `${String(t).padStart(2, "0")}:${String(e).padStart(2, "0")}`;
385
+ }, Z = (r) => {
386
+ r = r.replace(/\D/g, "");
387
+ const t = {
388
+ Visa: /^4/,
389
+ MasterCard: /^5[1-5]|^2(2[2-9]|[3-6]|7[01])/,
390
+ "American Express": /^3[47]/,
391
+ Discover: /^6(?:011|5|4[4-9]|22)/,
392
+ UnionPay: /^62/,
393
+ Verve: /^506099|^5061[0-8]|^50619|^6500[02]|^5078[6-9]|^65003[1-3]/
394
+ };
395
+ for (const [e, A] of Object.entries(t))
396
+ if (A.test(r))
397
+ return e;
398
+ return "Unknown";
399
+ }, i1 = (r, t) => {
400
+ const e = document.createElement("div");
401
+ e.classList.add("toast", t);
402
+ const A = document.createElement("span");
403
+ A.textContent = r, e.appendChild(A);
404
+ const n = document.createElement("span");
405
+ return n.textContent = "×", n.classList.add("close-btn"), n.onclick = () => Y(e), e.appendChild(n), e;
406
+ }, h = (r, t, e = 3e3) => {
407
+ const A = document.getElementById("toast-container");
408
+ if (A) {
409
+ const n = i1(r, t);
410
+ A.appendChild(n), n.offsetHeight, n.classList.add("show"), setTimeout(() => Y(n), e);
411
+ }
412
+ }, Y = (r) => {
413
+ r.classList.remove("show"), r.addEventListener("transitionend", () => {
414
+ r.parentElement && r.parentElement.removeChild(r);
415
+ });
416
+ }, b = "data:image/gif;base64,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", H = (r, t) => {
417
+ const e = new Intl.NumberFormat("ng-NG", {
418
+ style: "decimal",
419
+ maximumFractionDigits: t || 0,
420
+ minimumFractionDigits: t || 0
421
+ });
422
+ return isNaN(parseFloat(e.format(r))) ? "-" : e.format(r);
423
+ };
424
+ class D {
425
+ constructor(t) {
426
+ a(this, "container");
427
+ a(this, "cardDetailsValues");
428
+ a(this, "creditCardTypes");
429
+ this.container = t, this.creditCardTypes = [...m], this.cardDetailsValues = {
430
+ number: "",
431
+ expiry: "",
432
+ cvv: ""
433
+ };
434
+ }
435
+ /**
436
+ *
437
+ * @param func
438
+ *
439
+ pan: unFormatCreditCardNumber(this.cardDetailsValues.number),
440
+ cvv: this.cardDetailsValues.cvv,
441
+ expiryMonth: this.cardDetailsValues?.expiry.split("/")[0].trim(),
442
+ expiryYear: this.cardDetailsValues?.expiry.split("/")[1].trim(),
443
+ */
444
+ attachListener(t) {
445
+ const e = document.querySelector('input[name="number"]'), A = document.querySelector('input[name="expiry"]'), n = document.querySelector('input[name="cvv"]'), s = document.querySelector(".details-form-button"), i = document.querySelector("#checkoutcard");
446
+ console.log({ button: s, cardNumberInput: e, formCard: i, cardExpiryInput: A }), e && e.addEventListener("input", (o) => this.handleInputChange(o, s)), A && A.addEventListener("input", (o) => this.handleInputChange(o, s)), n && n.addEventListener("input", (o) => this.handleInputChange(o, s)), i && i.addEventListener("submit", (o) => {
447
+ var c, C;
448
+ console.log("Submitted form here"), t && t(o)({
449
+ pan: s1(this.cardDetailsValues.number),
450
+ cvv: this.cardDetailsValues.cvv,
451
+ expiryMonth: (c = this.cardDetailsValues) == null ? void 0 : c.expiry.split("/")[0].trim(),
452
+ expiryYear: (C = this.cardDetailsValues) == null ? void 0 : C.expiry.split("/")[1].trim()
453
+ });
454
+ });
455
+ }
456
+ handleInputChange(t, e) {
457
+ const A = t.target, { name: n, value: s } = A;
458
+ let i = s;
459
+ n === "number" ? (i = V(s), this.filterCreditCardType(s)) : n === "expiry" ? i = O(s) : n === "cvv" && (i = J(s)), this.cardDetailsValues = {
460
+ ...this.cardDetailsValues,
461
+ [n]: i
462
+ }, A.value = i, this.cardDetailsValues.number && this.cardDetailsValues.expiry && this.cardDetailsValues.cvv && e && e.removeAttribute("disabled");
463
+ }
464
+ displayCardTypes() {
465
+ requestAnimationFrame(() => {
466
+ const t = this.container.querySelector("#card-types");
467
+ this.creditCardTypes.length === 1 && this.creditCardTypes[0].name === "Unknown" ? m.forEach((e) => {
468
+ const A = document.createElement("div");
469
+ A.classList.add("card-type"), A.innerHTML = e.icon, t.appendChild(A);
470
+ }) : (t.innerHTML = "", this.creditCardTypes.forEach((e) => {
471
+ const A = document.createElement("div");
472
+ A.classList.add("card-type"), A.innerHTML = e.icon, t.appendChild(A);
473
+ }));
474
+ });
475
+ }
476
+ filterCreditCardType(t) {
477
+ t ? (this.creditCardTypes = m.filter((e) => e.name === Z(t)), this.creditCardTypes.length >= 1 ? this.displayCardTypes() : (this.creditCardTypes = [...m], this.displayCardTypes())) : (this.creditCardTypes = [...m], this.displayCardTypes());
478
+ }
479
+ renderContent() {
480
+ this.container.innerHTML = this.render();
481
+ }
482
+ render() {
483
+ return `
484
+ <form id="checkoutcard">
485
+ <div class="box-container">
486
+ <h5 class="content-heading">Enter your card details to pay</h5>
487
+ <div class="mt-8">
488
+ <div class="relative mx-4 md:mx-6 mb-4">
489
+ <span class="absolute text-xs left-0 top-1 text-grey-100 pt-1 pb-1 px-3 tracking-[0.5px]">CARD NUMBER</span>
490
+ <div>
491
+ <input class="details-input-container" type="tel" id="card-number" name="number"
492
+ placeholder="0000 0000 0000 0000" required />
493
+ </div>
494
+ <div class="absolute right-3 top-1/2 -translate-y-2/4 max-sm:hidden">
495
+ <div id="card-types" class="align-center gap-2">
496
+ </div>
497
+ </div>
498
+ </div>
499
+
500
+ <div class="grid grid-cols-2 gap-4 my-4 mx-4 md:mx-6">
501
+ <div class="relative w-full">
502
+ <span class="absolute text-xs left-0 top-1 text-grey-100 pt-1 pb-1 px-3 tracking-[0.5px]">CARD EXPIRY</span>
503
+ <div>
504
+ <input class="details-input-container" type="tel" id="card-expiry" name="expiry" placeholder="MM / YY"
505
+ required />
506
+ </div>
507
+ </div>
508
+
509
+ <div class="relative w-full">
510
+ <span class="absolute text-xs left-0 top-1 text-grey-100 pt-1 pb-1 px-3 tracking-[0.5px]">CVV</span>
511
+ <div>
512
+ <input class="details-input-container" type="tel" id="card-cvv" name="cvv" placeholder="123" required />
513
+ </div>
514
+ </div>
515
+ </div>
516
+
517
+ <div class="mx-4 md:mx-6 my-8">
518
+ <button type="submit" disabled="true" class="details-form-button">
519
+ <svg class="spinner hidden" id="spinner" viewBox="0 0 24 24">
520
+ <path
521
+ d="M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z">
522
+ </path>
523
+ </svg>
524
+ <span id="details-form-button-text"> Pay USD 0 </span>
525
+ </button>
526
+ </div>
527
+ </div>
528
+ </div>
529
+ </form>
530
+
531
+ `;
532
+ }
533
+ }
534
+ async function r1(r, t) {
535
+ const e = Uint8Array.from(atob(t), (c) => c.charCodeAt(0));
536
+ console.log({ keyData: e });
537
+ const A = crypto.getRandomValues(new Uint8Array(12));
538
+ console.log({ iv: A });
539
+ const n = new TextEncoder().encode(r), s = await crypto.subtle.importKey("raw", e, { name: "AES-GCM" }, !1, ["encrypt"]);
540
+ console.log({ cryptoKey: s });
541
+ const i = await crypto.subtle.encrypt({ name: "AES-GCM", iv: A }, s, n), o = new Uint8Array(A.length + i.byteLength);
542
+ return o.set(A), o.set(new Uint8Array(i), A.length), console.log({ result: o }), btoa(String.fromCharCode.apply(null, o));
543
+ }
544
+ class K {
545
+ constructor(t, e, A, n, s, i, o) {
546
+ a(this, "cardDetailsValues");
547
+ a(this, "cardPin");
548
+ a(this, "cardOtp");
549
+ a(this, "contents");
550
+ a(this, "cardDetailForm");
551
+ a(this, "container");
552
+ a(this, "closeModal");
553
+ a(this, "email");
554
+ a(this, "token");
555
+ a(this, "amount");
556
+ a(this, "encryption");
557
+ a(this, "currency");
558
+ a(this, "_currentStep");
559
+ a(this, "activeRef");
560
+ a(this, "creditCardTypes");
561
+ a(this, "switchTab");
562
+ this.container = t, this.encryption = n, this.closeModal = e, this.token = A, this.email = s, this.amount = i, this._currentStep = 1, this.cardDetailsValues = {
597
563
  number: "",
598
564
  expiry: "",
599
565
  cvv: ""
600
- }, this.cardPin = "", this.cardOtp = "", this.activeRef = "", this.contents = document.querySelectorAll(".content"), this.creditCardTypes = [...u], this.switchTab = i, this.renderCardContent(), this.currentStep === 1 && this.displayCardTypes(), this.attachInputListeners();
566
+ }, this.cardPin = "", this.cardOtp = "", this.activeRef = "", this.contents = document.querySelectorAll(".content"), this.creditCardTypes = [...m], this.switchTab = o, this.renderCardContent(), this.currentStep === 1 && this.displayCardTypes(), this.attachInputListeners();
601
567
  }
602
568
  displayCardTypes() {
603
569
  requestAnimationFrame(() => {
604
- const e = this.container.querySelector(
605
- "#card-types"
606
- );
607
- this.creditCardTypes.length === 1 && this.creditCardTypes[0].name === "Unknown" ? u.forEach((t) => {
608
- const n = document.createElement("div");
609
- n.classList.add("card-type"), n.innerHTML = t.icon, e.appendChild(n);
610
- }) : (e.innerHTML = "", this.creditCardTypes.forEach((t) => {
611
- const n = document.createElement("div");
612
- n.classList.add("card-type"), n.innerHTML = t.icon, e.appendChild(n);
570
+ const t = this.container.querySelector("#card-types");
571
+ this.creditCardTypes.length === 1 && this.creditCardTypes[0].name === "Unknown" ? m.forEach((e) => {
572
+ const A = document.createElement("div");
573
+ A.classList.add("card-type"), A.innerHTML = e.icon, t.appendChild(A);
574
+ }) : (t.innerHTML = "", this.creditCardTypes.forEach((e) => {
575
+ const A = document.createElement("div");
576
+ A.classList.add("card-type"), A.innerHTML = e.icon, t.appendChild(A);
613
577
  }));
614
578
  });
615
579
  }
616
580
  get currentStep() {
617
581
  return this._currentStep;
618
582
  }
619
- set currentStep(e) {
620
- this._currentStep = e, this.renderCardContent(), e === 1 && (this.displayCardTypes(), this.creditCardTypes = [...u]);
583
+ set currentStep(t) {
584
+ this._currentStep = t, this.renderCardContent(), t === 1 && (this.displayCardTypes(), this.creditCardTypes = [...m]);
621
585
  }
622
586
  attachInputListeners() {
623
- const e = this.container.querySelector(
624
- 'input[name="number"]'
625
- ), t = this.container.querySelector(
626
- 'input[name="expiry"]'
627
- ), n = this.container.querySelector(
628
- 'input[name="cvv"]'
629
- ), A = this.container.querySelector(
630
- ".details-form-button"
631
- ), s = document.querySelector("#checkoutcard"), i = Array.from(
632
- this.container.querySelectorAll(".pin-input")
633
- ), c = this.container.querySelector(
634
- ".otp-input"
635
- ), a = this.container.querySelector(
636
- ".otp-button"
637
- ), l = this.container.querySelector(
638
- ".success-button"
639
- ), C = this.container.querySelector(
640
- "#go-to-card"
641
- ), m = document.querySelector(
642
- "#go-to-transfer"
643
- );
644
- e && e.addEventListener(
645
- "input",
646
- (d) => this.handleInputChange(d, A)
647
- ), t && t.addEventListener(
648
- "input",
649
- (d) => this.handleInputChange(d, A)
650
- ), n && n.addEventListener(
651
- "input",
652
- (d) => this.handleInputChange(d, A)
653
- ), s && s.addEventListener("submit", (d) => this.handleSubmit(d)), i.forEach((d, Q) => {
654
- d.addEventListener(
655
- "input",
656
- (w) => this.handlePinInputChange(w, Q, i)
657
- ), d.addEventListener(
658
- "paste",
659
- (w) => this.handlePinPaste(w, i)
660
- );
661
- }), c && c.addEventListener(
662
- "input",
663
- (d) => this.handleOtpInput(d, a)
664
- ), a && a.addEventListener("click", (d) => this.submitOtp(d)), l && l.addEventListener("click", () => this.closeModal()), C && C.addEventListener("click", () => {
587
+ const t = Array.from(this.container.querySelectorAll(".pin-input")), e = this.container.querySelector(".otp-input"), A = this.container.querySelector(".otp-button"), n = this.container.querySelector(".success-button"), s = this.container.querySelector("#go-to-card"), i = document.querySelector("#go-to-transfer");
588
+ t.forEach((o, c) => {
589
+ o.addEventListener("input", (C) => this.handlePinInputChange(C, c, t)), o.addEventListener("paste", (C) => this.handlePinPaste(C, t));
590
+ }), e && e.addEventListener("input", (o) => this.handleOtpInput(o, A)), A && A.addEventListener("click", (o) => this.submitOtp(o)), n && n.addEventListener("click", () => this.closeModal()), s && s.addEventListener("click", () => {
665
591
  this.currentStep = 1;
666
- }), m && m.addEventListener("click", () => {
592
+ }), i && i.addEventListener("click", () => {
667
593
  this.switchTab(1);
668
594
  });
669
595
  }
670
- handleInputChange(e, t) {
671
- const n = e.target, { name: A, value: s } = n;
596
+ handleInputChange(t, e) {
597
+ const A = t.target, { name: n, value: s } = A;
672
598
  let i = s;
673
- A === "number" ? (i = V(s), this.filterCreditCardType(s)) : A === "expiry" ? i = j(s) : A === "cvv" && (i = W(s)), this.cardDetailsValues = {
599
+ n === "number" ? (i = V(s), this.filterCreditCardType(s)) : n === "expiry" ? i = O(s) : n === "cvv" && (i = J(s)), this.cardDetailsValues = {
674
600
  ...this.cardDetailsValues,
675
- [A]: i
676
- }, n.value = i, this.cardDetailsValues.number && this.cardDetailsValues.expiry && this.cardDetailsValues.cvv && t && t.removeAttribute("disabled");
601
+ [n]: i
602
+ }, A.value = i, this.cardDetailsValues.number && this.cardDetailsValues.expiry && this.cardDetailsValues.cvv && e && e.removeAttribute("disabled");
677
603
  }
678
604
  handlePinRequest() {
679
605
  if (this.cardPin.length === 4) {
680
- const e = {
606
+ const t = {
681
607
  authorization: {
682
608
  pin: this.cardPin
683
609
  },
684
610
  reference: this.activeRef
685
611
  };
686
612
  setTimeout(() => {
687
- this.currentStep = 6, this.showLoader(), P(this.token, e).then((n) => {
688
- n.status === "failed" ? (this.currentStep = 4, n.providerMessage ? (h(n.providerMessage, "error"), this.setPaymentError(n.providerMessage)) : (h("Payment failed", "error"), this.setPaymentError("Payment failed"))) : (h("Payment Authorized!", "success"), this.currentStep = 3);
689
- }).catch((n) => {
690
- h(n.message, "error"), this.currentStep = 4, this.setPaymentError("Payment failed");
613
+ this.currentStep = 6, this.showLoader(), _(this.token, t).then((A) => {
614
+ A.status === "failed" ? (this.currentStep = 4, A.providerMessage ? (h(A.providerMessage, "error"), this.setPaymentError(A.providerMessage)) : (h("Payment failed", "error"), this.setPaymentError("Payment failed"))) : (h("Payment Authorized!", "success"), this.currentStep = 3);
615
+ }).catch((A) => {
616
+ h(A.message, "error"), this.currentStep = 4, this.setPaymentError("Payment failed");
691
617
  });
692
618
  }, 500);
693
619
  }
694
620
  }
695
- handlePinInputChange(e, t, n) {
696
- this.cardPin = "", e.target.value ? t < n.length - 1 && n[t + 1].focus() : t > 0 && n[t - 1].focus(), this.cardPin = n.map((i) => i.value).join(""), this.handlePinRequest();
621
+ handlePinInputChange(t, e, A) {
622
+ this.cardPin = "", t.target.value ? e < A.length - 1 && A[e + 1].focus() : e > 0 && A[e - 1].focus(), this.cardPin = A.map((i) => i.value).join(""), this.handlePinRequest();
697
623
  }
698
624
  showLoader() {
699
- var t;
700
- const e = this.container.querySelector("#loader");
701
- e && (e.classList.remove("hidden"), (t = e.querySelector("img")) == null || t.setAttribute("src", G));
625
+ var e;
626
+ const t = this.container.querySelector("#loader");
627
+ t && (t.classList.remove("hidden"), (e = t.querySelector("img")) == null || e.setAttribute("src", b));
702
628
  }
703
- setPaymentError(e) {
704
- const t = this.container.querySelector("#payment-warning-text"), n = this.container.querySelector(".warning-list");
705
- t && (t.textContent = e), n && [
629
+ setPaymentError(t) {
630
+ const e = this.container.querySelector("#payment-warning-text"), A = this.container.querySelector(".warning-list");
631
+ e && (e.textContent = t), A && [
706
632
  {
707
633
  text: "Try again with your card",
708
634
  action: "go-to-card"
@@ -712,127 +638,139 @@ class f {
712
638
  action: "go-to-transfer"
713
639
  }
714
640
  ].forEach(({ action: s, text: i }) => {
715
- const c = document.createElement("button");
716
- c.textContent = i, c.setAttribute("id", s), c.classList.add("warning-button");
717
- const a = document.createElement("div");
718
- a.appendChild(c), n.appendChild(a);
641
+ const o = document.createElement("button");
642
+ o.textContent = i, o.setAttribute("id", s), o.classList.add("warning-button");
643
+ const c = document.createElement("div");
644
+ c.appendChild(o), A.appendChild(c);
719
645
  }), this.attachInputListeners();
720
646
  }
721
- handlePinPaste(e, t) {
647
+ handlePinPaste(t, e) {
722
648
  var s;
723
- e.preventDefault(), this.cardPin = "";
724
- const A = (((s = e.clipboardData) == null ? void 0 : s.getData("text").trim()) || "").split("");
725
- t.forEach((i, c) => {
726
- i.value = A[c] || "";
649
+ t.preventDefault(), this.cardPin = "";
650
+ const n = (((s = t.clipboardData) == null ? void 0 : s.getData("text").trim()) || "").split("");
651
+ e.forEach((i, o) => {
652
+ i.value = n[o] || "";
727
653
  });
728
- for (let i = 0; i < t.length; i++)
729
- if (!t[i].value) {
730
- t[i].focus();
654
+ for (let i = 0; i < e.length; i++)
655
+ if (!e[i].value) {
656
+ e[i].focus();
731
657
  break;
732
658
  }
733
- this.cardPin = t.map((i) => i.value).join(""), this.handlePinRequest();
659
+ this.cardPin = e.map((i) => i.value).join(""), this.handlePinRequest();
734
660
  }
735
- handleOtpInput(e, t) {
736
- const n = e.target, { value: A } = n;
737
- this.cardOtp = "", this.cardOtp = A, this.cardOtp.length > 3 && t && t.removeAttribute("disabled");
661
+ handleOtpInput(t, e) {
662
+ const A = t.target, { value: n } = A;
663
+ this.cardOtp = "", this.cardOtp = n, this.cardOtp.length > 3 && e && e.removeAttribute("disabled");
738
664
  }
739
- submitOtp(e) {
740
- e.preventDefault();
741
- const t = {
665
+ submitOtp(t) {
666
+ t.preventDefault();
667
+ const e = {
742
668
  authorization: {
743
- otp: this.cardPin
669
+ otp: this.cardOtp
744
670
  },
745
671
  reference: this.activeRef
746
672
  };
747
- this.currentStep = 6, this.showLoader(), Y(this.token, t).then((A) => {
748
- A.status === "failed" ? (this.currentStep = 4, A.providerMessage ? (h(A.providerMessage, "error"), this.setPaymentError(A.providerMessage)) : (h("Payment failed", "error"), this.setPaymentError("Payment failed"))) : A.status === "successful" && (this.currentStep = 5);
749
- }).catch((A) => {
750
- h(A.message, "error"), this.currentStep = 4, this.setPaymentError("Payment failed");
673
+ this.currentStep = 6, this.showLoader(), t1(this.token, e).then((n) => {
674
+ n.status === "failed" ? (this.currentStep = 4, n.providerMessage ? (h(n.providerMessage, "error"), this.setPaymentError(n.providerMessage)) : (h("Payment failed", "error"), this.setPaymentError("Payment failed"))) : n.status === "successful" && (this.currentStep = 5);
675
+ }).catch((n) => {
676
+ h(n.message, "error"), this.currentStep = 4, this.setPaymentError("Payment failed");
751
677
  });
752
678
  }
753
- async handleSubmit(e) {
754
- var i, c;
755
- e.preventDefault();
756
- const t = this.container.querySelector(".spinner"), n = this.container.querySelector(
757
- "#details-form-button-text"
758
- ), A = {
679
+ async handleSubmit(t, e) {
680
+ t.preventDefault();
681
+ const A = this.container.querySelector(".spinner"), n = this.container.querySelector("#details-form-button-text"), s = await r1(JSON.stringify(e), this.encryption), i = {
759
682
  amount: this.amount,
760
683
  channel: "card",
761
684
  currency: "USD",
762
685
  customer: {
763
686
  email: this.email
764
687
  },
765
- reference: T(),
766
- card: {
767
- pan: X(this.cardDetailsValues.number),
768
- cvv: this.cardDetailsValues.cvv,
769
- expiryMonth: (i = this.cardDetailsValues) == null ? void 0 : i.expiry.split("/")[0].trim(),
770
- expiryYear: (c = this.cardDetailsValues) == null ? void 0 : c.expiry.split("/")[1].trim()
771
- }
688
+ reference: G(),
689
+ // card: {
690
+ // ..._values,
691
+ // },
692
+ encryptedCard: s
772
693
  };
773
- t && n && (t.classList.remove("hidden"), n.classList.add("hidden")), q(this.token, A).then((a) => {
774
- a.status === "failed" ? (this.currentStep = 4, a.providerMessage ? (h(a.providerMessage, "error"), this.setPaymentError(a.providerMessage)) : (h("Payment failed", "error"), this.setPaymentError("Payment failed"))) : a.status === "pending_authorization" ? (h("Payment Created!", "success"), this.activeRef = a.reference, this.currentStep = 2) : a.status === "pending_validation" && a.authorization.mode === "3DS" && a.authorization.redirectUrl && (this.activeRef = a.reference, this.redirectTo3DS(a.authorization.redirectUrl));
775
- }).catch((a) => {
776
- h(a.message, "error"), this.currentStep = 4, this.setPaymentError("Payment failed");
694
+ console.log({ payload: i }), A && n && (A.classList.remove("hidden"), n.classList.add("hidden")), $(this.token, i).then((c) => {
695
+ c.status === "failed" ? (this.currentStep = 4, c.providerMessage ? (h(c.providerMessage, "error"), this.setPaymentError(c.providerMessage)) : (h("Payment failed", "error"), this.setPaymentError("Payment failed"))) : c.status === "pending_authorization" ? (h("Payment Created!", "success"), this.activeRef = c.reference, this.currentStep = 2) : c.status === "pending_validation" && c.authorization.mode === "3DS" && c.authorization.redirectUrl && (this.activeRef = c.reference, this.redirectTo3DS(c.authorization.redirectUrl));
696
+ }).catch((c) => {
697
+ h(c.message, "error"), this.currentStep = 4, this.setPaymentError("Payment failed");
777
698
  }).finally(() => {
778
- t && n && (t.classList.add("hidden"), n.classList.remove("hidden"));
699
+ A && n && (A.classList.add("hidden"), n.classList.remove("hidden"));
779
700
  });
780
701
  }
781
- redirectTo3DS(e) {
782
- const t = window.open(e, "_blank");
783
- if (t) {
702
+ redirectTo3DS(t) {
703
+ const e = window.open(t, "_blank");
704
+ if (e) {
784
705
  this.currentStep = 6, this.showLoader();
785
- const n = setInterval(() => {
786
- t.closed && (clearInterval(n), this.verifyPayment(
706
+ const A = setInterval(() => {
707
+ e.closed && (clearInterval(A), this.verifyPayment(
787
708
  () => {
788
709
  this.currentStep = 5;
789
710
  },
790
- (A) => {
791
- h(A.message, "error"), this.currentStep = 4;
711
+ (n) => {
712
+ h(n.message, "error"), this.currentStep = 4;
792
713
  }
793
714
  ));
794
715
  }, 2e3);
795
716
  } else
796
- alert(
797
- "Please enable popups for this site to complete the authentication."
798
- );
717
+ alert("Please enable popups for this site to complete the authentication.");
799
718
  }
800
- async verifyPayment(e, t) {
719
+ async verifyPayment(t, e) {
801
720
  try {
802
- const n = await k(this.token, this.activeRef);
803
- n.status === "failed" ? this.currentStep = 4 : e(n);
804
- } catch (n) {
805
- console.error(n), t(new Error("failed"));
721
+ const A = await N(this.token, this.activeRef);
722
+ A.status === "failed" ? this.currentStep = 4 : A.status === "successful" ? t(A) : console.log("wating");
723
+ } catch (A) {
724
+ console.error(A), e(new Error("failed"));
806
725
  }
807
726
  }
808
727
  getCardStepContent() {
809
728
  switch (this.currentStep) {
810
729
  case 1:
811
- return x;
730
+ return this.cardDetailForm = new D(this.contents[0]), this.cardDetailForm.render();
812
731
  case 2:
813
- return O;
732
+ return R;
814
733
  case 3:
815
- return Z;
734
+ return k;
816
735
  case 4:
817
- return I;
736
+ return f;
818
737
  case 5:
819
- return H;
738
+ return v;
820
739
  case 6:
821
- return N;
740
+ return F;
822
741
  default:
823
- return x;
742
+ return this.cardDetailForm = new D(this.contents[0]), this.cardDetailForm.render();
824
743
  }
825
744
  }
826
- filterCreditCardType(e) {
827
- e ? (this.creditCardTypes = u.filter(
828
- (t) => t.name === $(e)
829
- ), this.creditCardTypes.length >= 1 ? this.displayCardTypes() : (this.creditCardTypes = [...u], this.displayCardTypes())) : (this.creditCardTypes = [...u], this.displayCardTypes());
745
+ filterCreditCardType(t) {
746
+ t ? (this.creditCardTypes = m.filter((e) => e.name === Z(t)), this.creditCardTypes.length >= 1 ? this.displayCardTypes() : (this.creditCardTypes = [...m], this.displayCardTypes())) : (this.creditCardTypes = [...m], this.displayCardTypes());
830
747
  }
831
748
  renderCardContent() {
832
- this.contents[0] && (this.contents[0].innerHTML = this.getCardStepContent(), this.attachInputListeners());
749
+ switch (this.contents[0] && (this.contents[0].innerHTML = this.getCardStepContent(), this.attachInputListeners(), this.displayButtonText()), this.currentStep) {
750
+ case 1:
751
+ this.cardDetailForm.attachListener((t) => (e) => this.handleSubmit.bind(this)(t, e));
752
+ break;
753
+ case 2:
754
+ return R;
755
+ case 3:
756
+ return k;
757
+ case 4:
758
+ return f;
759
+ case 5:
760
+ return v;
761
+ case 6:
762
+ return F;
763
+ default:
764
+ this.cardDetailForm.attachListener((t) => (e) => this.handleSubmit.bind(this)(t, e));
765
+ break;
766
+ }
767
+ }
768
+ displayButtonText(t) {
769
+ const e = this.container.querySelector("#details-form-button-text");
770
+ e && (t ? e.textContent = t : e.textContent = `Pay ${this.currency || "USD"} ${H(this.amount || 0)}`);
833
771
  }
834
772
  }
835
- const R = `<div>
773
+ const U = `<div>
836
774
  <div class="box-container">
837
775
  <div class="container-center h-[40vh] hidden" id="loader">
838
776
  <img src="" alt="loader gif" />
@@ -1013,7 +951,7 @@ const R = `<div>
1013
951
  </div>
1014
952
  </div>
1015
953
  </div>
1016
- `, e1 = `<div id="paymentWarning">
954
+ `, a1 = `<div id="paymentWarning">
1017
955
  <div class="box-container">
1018
956
  <div class="text-center mt-7">
1019
957
  <svg class="mx-auto" width="48" height="46" viewBox="0 0 48 46" fill="none"
@@ -1039,7 +977,7 @@ const R = `<div>
1039
977
  </div>
1040
978
  </div>
1041
979
  </div>
1042
- </div>`, n1 = `<div id="trasferConfirmationOne">
980
+ </div>`, o1 = `<div id="trasferConfirmationOne">
1043
981
  <div class="box-container">
1044
982
  <div class="text-center mt-7 w-4/5 md:w-3/5 mx-auto">
1045
983
  <h5 class="text-center text-grey-400 w-4/5 mx-auto mt-4 mb-7 flex">
@@ -1058,7 +996,7 @@ const R = `<div>
1058
996
  </div>
1059
997
  </div>
1060
998
  </div>
1061
- </div>`, A1 = `<div id="trasferConfirmationOne">
999
+ </div>`, c1 = `<div id="trasferConfirmationOne">
1062
1000
  <div class="box-container">
1063
1001
  <div class="text-center mt-7 w-4/5 md:w-3/5 mx-auto">
1064
1002
  <h5 class="text-center text-grey-400 w-4/5 mx-auto mt-4 mb-7 flex">
@@ -1086,7 +1024,7 @@ const R = `<div>
1086
1024
  </div>
1087
1025
  </div>
1088
1026
  </div>
1089
- `, s1 = `<div id="trasferConfirmationProgress">
1027
+ `, C1 = `<div id="trasferConfirmationProgress">
1090
1028
  <div class="box-container">
1091
1029
  <div class="text-center mt-7 w-11/12 md:w-4/5 mx-auto">
1092
1030
  <h5
@@ -1136,165 +1074,165 @@ const R = `<div>
1136
1074
  </div>
1137
1075
  </div>
1138
1076
  `;
1139
- class i1 {
1140
- constructor(e, t, n, A, s) {
1141
- o(this, "container");
1142
- o(this, "contents");
1143
- o(this, "closeModal");
1144
- o(this, "email");
1145
- o(this, "token");
1146
- o(this, "amount");
1147
- o(this, "_currentStep");
1148
- o(this, "activeRef");
1149
- o(this, "paymentResponse");
1150
- o(this, "initialTime");
1151
- o(this, "timeLeft");
1152
- o(this, "timerId");
1153
- o(this, "abortController", null);
1154
- this.container = e, this.contents = document.querySelectorAll(".content"), this.closeModal = t, this.token = n, this.email = A, this.amount = s, this._currentStep = 1, this.renderTransferContent(), this.paymentResponse = null, this.activeRef = "", this.initialTime = 600, this.timeLeft = this.initialTime, this.timerId = null, this.attachInputListeners(), this.currentStep === 1 && (this.abortController = new AbortController(), this.createTransfer());
1077
+ class l1 {
1078
+ constructor(t, e, A, n, s) {
1079
+ a(this, "container");
1080
+ a(this, "contents");
1081
+ a(this, "closeModal");
1082
+ a(this, "email");
1083
+ a(this, "token");
1084
+ a(this, "amount");
1085
+ a(this, "_currentStep");
1086
+ a(this, "activeRef");
1087
+ a(this, "paymentResponse");
1088
+ a(this, "initialTime");
1089
+ a(this, "timeLeft");
1090
+ a(this, "timerId");
1091
+ a(this, "abortController", null);
1092
+ this.container = t, this.contents = document.querySelectorAll(".content"), this.closeModal = e, this.token = A, this.email = n, this.amount = s, this._currentStep = 1, this.renderTransferContent(), this.paymentResponse = null, this.activeRef = "", this.initialTime = 600, this.timeLeft = this.initialTime, this.timerId = null, this.attachInputListeners(), this.currentStep === 1 && (this.abortController = new AbortController(), this.createTransfer());
1155
1093
  }
1156
1094
  get currentStep() {
1157
1095
  return this._currentStep;
1158
1096
  }
1159
- set currentStep(e) {
1160
- this._currentStep = e, this.renderTransferContent(), e === 1 && this.createTransfer(), e === 5 && this.startTimer("check");
1097
+ set currentStep(t) {
1098
+ this._currentStep = t, this.renderTransferContent(), t === 1 && this.createTransfer(), t === 5 && this.startTimer("check");
1161
1099
  }
1162
1100
  attachInputListeners() {
1163
- const e = this.container.querySelector("#transfer-acn"), t = this.container.querySelector("#copy-acn"), n = this.container.querySelector("#acn-tooltip"), A = this.container.querySelector("#transfer-amount"), s = this.container.querySelector("#copy-amount"), i = this.container.querySelector("#amount-tooltip"), c = this.container.querySelector("#transfer-try-again"), a = this.container.querySelector("#transfer-sent"), l = this.container.querySelector(".transfer-button"), C = this.container.querySelector("#show-acn"), m = this.container.querySelector("#ctd-timer"), d = this.container.querySelector(
1101
+ const t = this.container.querySelector("#transfer-acn"), e = this.container.querySelector("#copy-acn"), A = this.container.querySelector("#acn-tooltip"), n = this.container.querySelector("#transfer-amount"), s = this.container.querySelector("#copy-amount"), i = this.container.querySelector("#amount-tooltip"), o = this.container.querySelector("#transfer-try-again"), c = this.container.querySelector("#transfer-sent"), C = this.container.querySelector(".transfer-button"), l = this.container.querySelector("#show-acn"), p = this.container.querySelector("#ctd-timer"), g = this.container.querySelector(
1164
1102
  ".success-button"
1165
- ), Q = this.container.querySelector("#confirm-one"), w = this.container.querySelector(".transfer-close");
1166
- if (t && e && t.addEventListener("click", () => {
1167
- n && this.copyToClipboard(e.innerHTML, n);
1168
- }), s && A && s.addEventListener("click", () => {
1169
- i && this.copyToClipboard(A.innerHTML.split(" ")[1], i);
1170
- }), l && l.addEventListener("click", () => {
1103
+ ), Q = this.container.querySelector("#confirm-one"), y = this.container.querySelector(".transfer-close");
1104
+ if (e && t && e.addEventListener("click", () => {
1105
+ A && this.copyToClipboard(t.innerHTML, A);
1106
+ }), s && n && s.addEventListener("click", () => {
1107
+ i && this.copyToClipboard(n.innerHTML.split(" ")[1], i);
1108
+ }), C && C.addEventListener("click", () => {
1171
1109
  this.abortController && (this.abortController.abort(), this.currentStep = 5);
1172
- }), c && c.addEventListener("click", () => {
1110
+ }), o && o.addEventListener("click", () => {
1173
1111
  this.currentStep = 1;
1174
- }), a && a.addEventListener("click", () => {
1112
+ }), c && c.addEventListener("click", () => {
1175
1113
  this.abortController && (this.abortController.abort(), this.currentStep = 5);
1176
- }), C && C.addEventListener("click", () => {
1114
+ }), l && l.addEventListener("click", () => {
1177
1115
  this.stopProgressBar(), this.currentStep = 1;
1178
1116
  }), this.currentStep === 5) {
1179
- this.initialTime = 300, this.timeLeft = this.initialTime, m && (m.innerHTML = B(this.initialTime));
1180
- const U = 3e4;
1117
+ this.initialTime = 300, this.timeLeft = this.initialTime, p && (p.innerHTML = S(this.initialTime));
1118
+ const L = 3e4;
1181
1119
  this.abortController = new AbortController(), setTimeout(() => {
1182
1120
  this.verifyTransfer(
1183
1121
  this.token,
1184
- U,
1122
+ L,
1185
1123
  () => {
1186
1124
  this.currentStep = 6;
1187
1125
  },
1188
- (v) => {
1189
- console.error("Polling failed:", v), h(v.message, "error");
1126
+ (T) => {
1127
+ console.error("Polling failed:", T), h(T.message, "error");
1190
1128
  }
1191
1129
  );
1192
1130
  }, 5e3), this.startTimer("check");
1193
1131
  }
1194
1132
  Q && Q.addEventListener("click", () => {
1195
1133
  this.currentStep = 4;
1196
- }), d && d.addEventListener("click", () => this.closeModal()), w && w.addEventListener("click", () => this.closeModal());
1134
+ }), g && g.addEventListener("click", () => this.closeModal()), y && y.addEventListener("click", () => this.closeModal());
1197
1135
  }
1198
1136
  async createTransfer() {
1199
1137
  requestAnimationFrame(() => {
1200
1138
  var s;
1201
- const e = this.container.querySelector("#loader"), t = this.container.querySelector("#details-content");
1202
- e && t && (e.classList.remove("hidden"), (s = e.querySelector("img")) == null || s.setAttribute("src", G), t.classList.add("hidden"));
1203
- const n = {
1139
+ const t = this.container.querySelector("#loader"), e = this.container.querySelector("#details-content");
1140
+ t && e && (t.classList.remove("hidden"), (s = t.querySelector("img")) == null || s.setAttribute("src", b), e.classList.add("hidden"));
1141
+ const A = {
1204
1142
  amount: this.amount,
1205
1143
  channel: "bank_transfer",
1206
1144
  currency: "USD",
1207
1145
  customer: {
1208
1146
  email: this.email
1209
1147
  },
1210
- reference: T()
1148
+ reference: G()
1211
1149
  };
1212
- z(this.token, n).then((i) => {
1150
+ e1(this.token, A).then((i) => {
1213
1151
  if (i.status === "failed")
1214
1152
  i.providerMessage ? h(i.providerMessage, "error") : h("Payment failed", "error"), this.currentStep = 2;
1215
1153
  else {
1216
- e && t && (e.classList.add("hidden"), t.classList.remove("hidden")), this.activeRef = i.reference, this.paymentResponse = i, this.updateTransferDetailsContent();
1217
- const c = 3e4;
1154
+ t && e && (t.classList.add("hidden"), e.classList.remove("hidden")), this.activeRef = i.reference, this.paymentResponse = i, this.updateTransferDetailsContent();
1155
+ const o = 3e4;
1218
1156
  setTimeout(() => {
1219
1157
  this.verifyTransfer(
1220
1158
  this.token,
1221
- c,
1159
+ o,
1222
1160
  () => {
1223
1161
  this.currentStep = 6;
1224
1162
  },
1225
- (a) => {
1226
- console.error("Polling failed:", a), h(a.message, "error");
1163
+ (c) => {
1164
+ console.error("Polling failed:", c), h(c.message, "error");
1227
1165
  }
1228
1166
  );
1229
- }, c);
1167
+ }, o);
1230
1168
  }
1231
1169
  }).catch((i) => {
1232
1170
  h(i.message, "error");
1233
1171
  });
1234
1172
  });
1235
1173
  }
1236
- async verifyTransfer(e, t, n, A) {
1237
- let s = 0, i = t, c = !0, a;
1238
- this.abortController && (a = this.abortController.signal);
1239
- const l = async () => {
1174
+ async verifyTransfer(t, e, A, n) {
1175
+ let s = 0, i = e, o = !0, c;
1176
+ this.abortController && (c = this.abortController.signal);
1177
+ const C = async () => {
1240
1178
  if (this.timeLeft <= 0) {
1241
- c = !1, A(new Error("Max polling time reached")), this.currentStep = 2;
1179
+ o = !1, n(new Error("Max polling time reached")), this.currentStep = 2;
1242
1180
  return;
1243
1181
  }
1244
1182
  s += 1;
1245
1183
  try {
1246
- const C = await k(
1247
- e,
1184
+ const l = await N(
1185
+ t,
1248
1186
  this.activeRef,
1249
- a
1187
+ c
1250
1188
  );
1251
- C.status === "failed" ? c && (i = t * (s + 1), setTimeout(l, i)) : (c = !1, n(C));
1189
+ l.status === "failed" ? o && (i = e * (s + 1), setTimeout(C, i)) : (o = !1, A(l));
1252
1190
  } catch {
1253
- c && (i = t * (s + 1), setTimeout(l, i));
1191
+ o && (i = e * (s + 1), setTimeout(C, i));
1254
1192
  }
1255
1193
  };
1256
- l();
1194
+ C();
1257
1195
  }
1258
1196
  getTransferStepContent() {
1259
1197
  switch (this.currentStep) {
1260
1198
  case 1:
1261
- return R;
1199
+ return U;
1262
1200
  case 2:
1263
- return e1;
1201
+ return a1;
1264
1202
  case 3:
1265
- return n1;
1203
+ return o1;
1266
1204
  case 4:
1267
- return A1;
1205
+ return c1;
1268
1206
  case 5:
1269
- return s1;
1207
+ return C1;
1270
1208
  case 6:
1271
- return H;
1209
+ return v;
1272
1210
  default:
1273
- return R;
1211
+ return U;
1274
1212
  }
1275
1213
  }
1276
1214
  updateTransferDetailsContent() {
1277
1215
  var s;
1278
- const e = this.container.querySelectorAll(".transfer-curr-amount"), t = this.container.querySelector("#transfer-bank"), n = this.container.querySelector("#transfer-acn"), A = this.container.querySelector("#time-left");
1279
- this.paymentResponse && (e.length && e.forEach(
1216
+ const t = this.container.querySelectorAll(".transfer-curr-amount"), e = this.container.querySelector("#transfer-bank"), A = this.container.querySelector("#transfer-acn"), n = this.container.querySelector("#time-left");
1217
+ this.paymentResponse && (t.length && t.forEach(
1280
1218
  (i) => {
1281
- var c, a;
1282
- return i.innerHTML = `${(c = this.paymentResponse) == null ? void 0 : c.currency} ${(a = this.paymentResponse) == null ? void 0 : a.amount}`;
1219
+ var o, c;
1220
+ return i.innerHTML = `${(o = this.paymentResponse) == null ? void 0 : o.currency} ${(c = this.paymentResponse) == null ? void 0 : c.amount}`;
1283
1221
  }
1284
- ), t && this.paymentResponse.bankDetails && (t.innerHTML = (s = this.paymentResponse.bankDetails) == null ? void 0 : s.bankName), n && this.paymentResponse.bankDetails && (n.innerHTML = this.paymentResponse.bankDetails.accountNumber), A && (A.innerHTML = B(this.initialTime)), this.startTimer("poll"));
1222
+ ), e && this.paymentResponse.bankDetails && (e.innerHTML = (s = this.paymentResponse.bankDetails) == null ? void 0 : s.bankName), A && this.paymentResponse.bankDetails && (A.innerHTML = this.paymentResponse.bankDetails.accountNumber), n && (n.innerHTML = S(this.initialTime)), this.startTimer("poll"));
1285
1223
  }
1286
1224
  renderTransferContent() {
1287
1225
  this.contents[1] && (this.contents[1].innerHTML = this.getTransferStepContent(), this.attachInputListeners());
1288
1226
  }
1289
- startTimer(e) {
1290
- const t = this.container.querySelector("#ctd-timer");
1227
+ startTimer(t) {
1228
+ const e = this.container.querySelector("#ctd-timer");
1291
1229
  this.stopTimer(), this.timerId = window.setInterval(() => {
1292
- this.timeLeft > 0 ? (this.timeLeft -= 1, e === "poll" ? this.updateProgressTimerContent() : t && (t.innerHTML = B(this.timeLeft), this.startTimer("check"))) : (this.stopTimer(), e === "check" && (this.currentStep = 3));
1230
+ this.timeLeft > 0 ? (this.timeLeft -= 1, t === "poll" ? this.updateProgressTimerContent() : e && (e.innerHTML = S(this.timeLeft), this.startTimer("check"))) : (this.stopTimer(), t === "check" && (this.currentStep = 3));
1293
1231
  }, 1e3);
1294
1232
  }
1295
1233
  updateProgressTimerContent() {
1296
- const t = 2 * Math.PI * 40, A = (this.initialTime - this.timeLeft) / this.initialTime * 100 / 100 * t, s = this.container.querySelector(".circle-progress"), i = this.container.querySelector("#time-left");
1297
- s && (s.setAttribute("stroke-dasharray", `${t}`), s.setAttribute("stroke-dashoffset", `${A}`)), i && (i.innerHTML = B(this.timeLeft));
1234
+ const e = 2 * Math.PI * 40, n = (this.initialTime - this.timeLeft) / this.initialTime * 100 / 100 * e, s = this.container.querySelector(".circle-progress"), i = this.container.querySelector("#time-left");
1235
+ s && (s.setAttribute("stroke-dasharray", `${e}`), s.setAttribute("stroke-dashoffset", `${n}`)), i && (i.innerHTML = S(this.timeLeft));
1298
1236
  }
1299
1237
  stopTimer() {
1300
1238
  this.timerId !== null && (clearInterval(this.timerId), this.timerId = null);
@@ -1306,16 +1244,16 @@ class i1 {
1306
1244
  // }
1307
1245
  // }
1308
1246
  stopProgressBar() {
1309
- const e = this.container.querySelector(
1247
+ const t = this.container.querySelector(
1310
1248
  ".progress-bar"
1311
1249
  );
1312
- e && (e.style.animationPlayState = "paused");
1250
+ t && (t.style.animationPlayState = "paused");
1313
1251
  }
1314
- copyToClipboard(e, t) {
1315
- navigator.clipboard.writeText(e).then(() => {
1316
- t.innerHTML = "Copied!";
1252
+ copyToClipboard(t, e) {
1253
+ navigator.clipboard.writeText(t).then(() => {
1254
+ e.innerHTML = "Copied!";
1317
1255
  }).catch(() => {
1318
- t.innerHTML = "Failed to copy";
1256
+ e.innerHTML = "Failed to copy";
1319
1257
  });
1320
1258
  }
1321
1259
  destroyTimer() {
@@ -1325,207 +1263,306 @@ class i1 {
1325
1263
  this.abortController && this.abortController.abort();
1326
1264
  }
1327
1265
  }
1328
- const b = `<div id="ussdBanks">
1329
- <div class="box-container">
1330
- <div class="text-center my-6">
1331
- <svg
1332
- class="mx-auto w-8 h-8 mb-3"
1333
- width="18"
1334
- height="18"
1335
- viewBox="0 0 18 18"
1336
- fill="none"
1337
- xmlns="http://www.w3.org/2000/svg"
1338
- >
1339
- <path
1340
- d="M17 10.994H12.7L13.43 7.00603H17C17.2652 7.00603 17.5196 6.90099 17.7071 6.71402C17.8946 6.52705 18 6.27346 18 6.00905C18 5.74463 17.8946 5.49104 17.7071 5.30407C17.5196 5.1171 17.2652 5.01206 17 5.01206H13.79L14.48 1.21355C14.5073 1.08026 14.5069 0.942815 14.4789 0.809676C14.4509 0.676537 14.3958 0.550522 14.3171 0.439385C14.2385 0.328249 14.1378 0.234342 14.0213 0.163445C13.9049 0.0925489 13.7751 0.046162 13.64 0.02714C13.5057 -0.0047662 13.3662 -0.00858576 13.2303 0.0159217C13.0944 0.0404292 12.965 0.0927325 12.8504 0.169536C12.7358 0.24634 12.6384 0.345978 12.5643 0.462174C12.4902 0.578369 12.4411 0.708602 12.42 0.844667L11.67 5.01206H7.79L8.48 1.21355C8.50727 1.08026 8.50688 0.942815 8.47887 0.809676C8.45086 0.676537 8.39582 0.550522 8.31714 0.439385C8.23845 0.328249 8.13778 0.234342 8.02133 0.163445C7.90488 0.0925489 7.77511 0.046162 7.64 0.02714C7.50566 -0.0047662 7.36615 -0.00858576 7.23026 0.0159217C7.09437 0.0404292 6.96504 0.0927325 6.85042 0.169536C6.73581 0.24634 6.63839 0.345978 6.56431 0.462174C6.49024 0.578369 6.4411 0.708602 6.42 0.844667L5.67 5.01206H1C0.734784 5.01206 0.48043 5.1171 0.292893 5.30407C0.105357 5.49104 0 5.74463 0 6.00905C0 6.27346 0.105357 6.52705 0.292893 6.71402C0.48043 6.90099 0.734784 7.00603 1 7.00603H5.3L4.57 10.994H1C0.734784 10.994 0.48043 11.099 0.292893 11.286C0.105357 11.4729 0 11.7265 0 11.991C0 12.2554 0.105357 12.509 0.292893 12.6959C0.48043 12.8829 0.734784 12.9879 1 12.9879H4.21L3.52 16.7864C3.49273 16.9197 3.49312 17.0572 3.52113 17.1903C3.54914 17.3235 3.60418 17.4495 3.68286 17.5606C3.76155 17.6718 3.86222 17.7657 3.97867 17.8366C4.09512 17.9075 4.22489 17.9538 4.36 17.9729C4.49434 18.0048 4.63385 18.0086 4.76974 17.9841C4.90563 17.9596 5.03496 17.9073 5.14958 17.8305C5.26419 17.7537 5.36161 17.654 5.43569 17.5378C5.50976 17.4216 5.5589 17.2914 5.58 17.1553L6.33 12.9879H10.21L9.52 16.7864C9.49273 16.9197 9.49312 17.0572 9.52113 17.1903C9.54914 17.3235 9.60418 17.4495 9.68286 17.5606C9.76155 17.6718 9.86222 17.7657 9.97867 17.8366C10.0951 17.9075 10.2249 17.9538 10.36 17.9729C10.4943 18.0048 10.6338 18.0086 10.7697 17.9841C10.9056 17.9596 11.035 17.9073 11.1496 17.8305C11.2642 17.7537 11.3616 17.654 11.4357 17.5378C11.5098 17.4216 11.5589 17.2914 11.58 17.1553L12.33 12.9879H17C17.2652 12.9879 17.5196 12.8829 17.7071 12.6959C17.8946 12.509 18 12.2554 18 11.991C18 11.7265 17.8946 11.4729 17.7071 11.286C17.5196 11.099 17.2652 10.994 17 10.994ZM6.7 10.994L7.43 7.00603H11.3L10.57 10.994H6.7Z"
1341
- fill="#01008E"
1342
- />
1343
- </svg>
1266
+ function z() {
1267
+ return function(r, t) {
1268
+ let e = r[t];
1269
+ console.log({ key: t }, "Property"), Object.defineProperty(r, t, {
1270
+ configurable: !0,
1271
+ enumerable: !0,
1272
+ get: () => e,
1273
+ set: (s) => {
1274
+ console.log({ values: s }), e = s;
1275
+ }
1276
+ });
1277
+ };
1278
+ }
1279
+ class q {
1280
+ constructor(t) {
1281
+ a(this, "container");
1282
+ this.container = t;
1283
+ }
1284
+ attachListerner(t) {
1285
+ const e = document.getElementById("bank-search-input"), A = document.querySelectorAll(".select-option-tag"), n = document.getElementById("bank-code-span");
1286
+ e && e.addEventListener("change", (s) => {
1287
+ s.stopPropagation(), n && (n.innerHTML = e.value), t && t({ code: e.value, name: "" });
1288
+ }), A && (Array.from(A).forEach((i) => {
1289
+ i.addEventListener("click", function(o) {
1290
+ o.stopPropagation(), n && (n.innerHTML = i.value), console.log(`${i.value} clicked`, { spanTag: n });
1291
+ });
1292
+ }), console.log("option add listerner", { options: A }));
1293
+ }
1294
+ renderContent() {
1295
+ this.container.innerHTML = this.render();
1296
+ }
1297
+ render() {
1298
+ return console.log("render card detail form"), `
1299
+ <div id="ussdBanks">
1300
+ <div class="box-container">
1301
+ <div class="text-center my-6">
1302
+ <svg class="mx-auto w-8 h-8 mb-3" width="18" height="18" viewBox="0 0 18 18" fill="none"
1303
+ xmlns="http://www.w3.org/2000/svg">
1304
+ <path
1305
+ d="M17 10.994H12.7L13.43 7.00603H17C17.2652 7.00603 17.5196 6.90099 17.7071 6.71402C17.8946 6.52705 18 6.27346 18 6.00905C18 5.74463 17.8946 5.49104 17.7071 5.30407C17.5196 5.1171 17.2652 5.01206 17 5.01206H13.79L14.48 1.21355C14.5073 1.08026 14.5069 0.942815 14.4789 0.809676C14.4509 0.676537 14.3958 0.550522 14.3171 0.439385C14.2385 0.328249 14.1378 0.234342 14.0213 0.163445C13.9049 0.0925489 13.7751 0.046162 13.64 0.02714C13.5057 -0.0047662 13.3662 -0.00858576 13.2303 0.0159217C13.0944 0.0404292 12.965 0.0927325 12.8504 0.169536C12.7358 0.24634 12.6384 0.345978 12.5643 0.462174C12.4902 0.578369 12.4411 0.708602 12.42 0.844667L11.67 5.01206H7.79L8.48 1.21355C8.50727 1.08026 8.50688 0.942815 8.47887 0.809676C8.45086 0.676537 8.39582 0.550522 8.31714 0.439385C8.23845 0.328249 8.13778 0.234342 8.02133 0.163445C7.90488 0.0925489 7.77511 0.046162 7.64 0.02714C7.50566 -0.0047662 7.36615 -0.00858576 7.23026 0.0159217C7.09437 0.0404292 6.96504 0.0927325 6.85042 0.169536C6.73581 0.24634 6.63839 0.345978 6.56431 0.462174C6.49024 0.578369 6.4411 0.708602 6.42 0.844667L5.67 5.01206H1C0.734784 5.01206 0.48043 5.1171 0.292893 5.30407C0.105357 5.49104 0 5.74463 0 6.00905C0 6.27346 0.105357 6.52705 0.292893 6.71402C0.48043 6.90099 0.734784 7.00603 1 7.00603H5.3L4.57 10.994H1C0.734784 10.994 0.48043 11.099 0.292893 11.286C0.105357 11.4729 0 11.7265 0 11.991C0 12.2554 0.105357 12.509 0.292893 12.6959C0.48043 12.8829 0.734784 12.9879 1 12.9879H4.21L3.52 16.7864C3.49273 16.9197 3.49312 17.0572 3.52113 17.1903C3.54914 17.3235 3.60418 17.4495 3.68286 17.5606C3.76155 17.6718 3.86222 17.7657 3.97867 17.8366C4.09512 17.9075 4.22489 17.9538 4.36 17.9729C4.49434 18.0048 4.63385 18.0086 4.76974 17.9841C4.90563 17.9596 5.03496 17.9073 5.14958 17.8305C5.26419 17.7537 5.36161 17.654 5.43569 17.5378C5.50976 17.4216 5.5589 17.2914 5.58 17.1553L6.33 12.9879H10.21L9.52 16.7864C9.49273 16.9197 9.49312 17.0572 9.52113 17.1903C9.54914 17.3235 9.60418 17.4495 9.68286 17.5606C9.76155 17.6718 9.86222 17.7657 9.97867 17.8366C10.0951 17.9075 10.2249 17.9538 10.36 17.9729C10.4943 18.0048 10.6338 18.0086 10.7697 17.9841C10.9056 17.9596 11.035 17.9073 11.1496 17.8305C11.2642 17.7537 11.3616 17.654 11.4357 17.5378C11.5098 17.4216 11.5589 17.2914 11.58 17.1553L12.33 12.9879H17C17.2652 12.9879 17.5196 12.8829 17.7071 12.6959C17.8946 12.509 18 12.2554 18 11.991C18 11.7265 17.8946 11.4729 17.7071 11.286C17.5196 11.099 17.2652 10.994 17 10.994ZM6.7 10.994L7.43 7.00603H11.3L10.57 10.994H6.7Z"
1306
+ fill="#01008E" />
1307
+ </svg>
1344
1308
 
1345
- <h5 class="content-heading">Choose your bank to start the payment</h5>
1346
- </div>
1309
+ <h5 class="content-heading">Choose your bank to start the payment</h5>
1310
+ </div>
1347
1311
 
1348
- <div class="my-12">
1349
- <div class="relative md:mx-[18px] mb-4 mx-0">
1350
- <div class="relative">
1351
- <input
1352
- type="text"
1353
- id="bank-search-input"
1354
- class=""
1355
- placeholder="Search..."
1356
- autocomplete="off"
1357
- />
1358
- <div class="bank-options" id="bank-options"></div>
1312
+ <!-- <div class="my-12">
1313
+ <div class="relative md:mx-[18px] mb-4 mx-0">
1314
+ <div class="relative">
1315
+ <div id="bank-select-container">
1316
+
1317
+ <input type="text" id="bank-search-input" class="" placeholder="Search..." autocomplete="off" />
1318
+ <span id="bank-code-span">3244</span>
1319
+ </div>
1320
+ <div class="bank-options" id="bank-options"></div>
1321
+ </div>
1322
+ </div>
1323
+ </div> -->
1324
+
1325
+
1326
+ <div class="my-12">
1327
+ <div class="relative md:mx-[18px] mb-4 mx-0">
1328
+ <div class="relative bank-select-relative">
1329
+ <div id="bank-select-container">
1330
+ <select type="text" id="bank-search-input" class="" placeholder="Search..." autocomplete="off">
1331
+ <option class="select-option-tag" value="-#"></option>
1332
+ <option class="select-option-tag" value="*233#">FCMB</option>
1333
+ <option class="select-option-tag" value="*334#">First Bank</option>
1334
+ <option class="select-option-tag" value="*3*#239#">Zenith</option>
1335
+ <option class="select-option-tag" value="*377#">GTBank</option>
1336
+ </select>
1337
+ <span id="bank-code-span">3244</span>
1338
+ </div>
1339
+ <!-- <div class="bank-options" id="bank-options"></div> -->
1340
+ </div>
1341
+ </div>
1342
+ </div>
1359
1343
  </div>
1360
1344
  </div>
1361
- </div>
1362
- </div>
1363
- </div>
1364
- `, r1 = `<div id="viewCode">
1365
- <div class="box-container">
1366
- <div class="text-center pb-5 mt-4 mb-6">
1367
- <svg
1368
- class="mx-auto w-8 h-8 mb-3"
1369
- width="18"
1370
- height="18"
1371
- viewBox="0 0 18 18"
1372
- fill="none"
1373
- xmlns="http://www.w3.org/2000/svg"
1374
- >
1375
- <path
1376
- d="M17 10.994H12.7L13.43 7.00603H17C17.2652 7.00603 17.5196 6.90099 17.7071 6.71402C17.8946 6.52705 18 6.27346 18 6.00905C18 5.74463 17.8946 5.49104 17.7071 5.30407C17.5196 5.1171 17.2652 5.01206 17 5.01206H13.79L14.48 1.21355C14.5073 1.08026 14.5069 0.942815 14.4789 0.809676C14.4509 0.676537 14.3958 0.550522 14.3171 0.439385C14.2385 0.328249 14.1378 0.234342 14.0213 0.163445C13.9049 0.0925489 13.7751 0.046162 13.64 0.02714C13.5057 -0.0047662 13.3662 -0.00858576 13.2303 0.0159217C13.0944 0.0404292 12.965 0.0927325 12.8504 0.169536C12.7358 0.24634 12.6384 0.345978 12.5643 0.462174C12.4902 0.578369 12.4411 0.708602 12.42 0.844667L11.67 5.01206H7.79L8.48 1.21355C8.50727 1.08026 8.50688 0.942815 8.47887 0.809676C8.45086 0.676537 8.39582 0.550522 8.31714 0.439385C8.23845 0.328249 8.13778 0.234342 8.02133 0.163445C7.90488 0.0925489 7.77511 0.046162 7.64 0.02714C7.50566 -0.0047662 7.36615 -0.00858576 7.23026 0.0159217C7.09437 0.0404292 6.96504 0.0927325 6.85042 0.169536C6.73581 0.24634 6.63839 0.345978 6.56431 0.462174C6.49024 0.578369 6.4411 0.708602 6.42 0.844667L5.67 5.01206H1C0.734784 5.01206 0.48043 5.1171 0.292893 5.30407C0.105357 5.49104 0 5.74463 0 6.00905C0 6.27346 0.105357 6.52705 0.292893 6.71402C0.48043 6.90099 0.734784 7.00603 1 7.00603H5.3L4.57 10.994H1C0.734784 10.994 0.48043 11.099 0.292893 11.286C0.105357 11.4729 0 11.7265 0 11.991C0 12.2554 0.105357 12.509 0.292893 12.6959C0.48043 12.8829 0.734784 12.9879 1 12.9879H4.21L3.52 16.7864C3.49273 16.9197 3.49312 17.0572 3.52113 17.1903C3.54914 17.3235 3.60418 17.4495 3.68286 17.5606C3.76155 17.6718 3.86222 17.7657 3.97867 17.8366C4.09512 17.9075 4.22489 17.9538 4.36 17.9729C4.49434 18.0048 4.63385 18.0086 4.76974 17.9841C4.90563 17.9596 5.03496 17.9073 5.14958 17.8305C5.26419 17.7537 5.36161 17.654 5.43569 17.5378C5.50976 17.4216 5.5589 17.2914 5.58 17.1553L6.33 12.9879H10.21L9.52 16.7864C9.49273 16.9197 9.49312 17.0572 9.52113 17.1903C9.54914 17.3235 9.60418 17.4495 9.68286 17.5606C9.76155 17.6718 9.86222 17.7657 9.97867 17.8366C10.0951 17.9075 10.2249 17.9538 10.36 17.9729C10.4943 18.0048 10.6338 18.0086 10.7697 17.9841C10.9056 17.9596 11.035 17.9073 11.1496 17.8305C11.2642 17.7537 11.3616 17.654 11.4357 17.5378C11.5098 17.4216 11.5589 17.2914 11.58 17.1553L12.33 12.9879H17C17.2652 12.9879 17.5196 12.8829 17.7071 12.6959C17.8946 12.509 18 12.2554 18 11.991C18 11.7265 17.8946 11.4729 17.7071 11.286C17.5196 11.099 17.2652 10.994 17 10.994ZM6.7 10.994L7.43 7.00603H11.3L10.57 10.994H6.7Z"
1377
- fill="#01008E"
1378
- />
1379
- </svg>
1380
1345
 
1381
- <div class="w-4/5 mx-auto">
1382
- <h5 class="content-heading">
1383
- Dial the code below to complete this transaction with FCMB’s 329
1384
- </h5>
1346
+ `;
1347
+ }
1348
+ }
1349
+ class d1 {
1350
+ constructor(t) {
1351
+ a(this, "container");
1352
+ this.container = t;
1353
+ }
1354
+ render() {
1355
+ return `
1356
+ <div id="viewCode">
1357
+ <div class="box-container">
1358
+ <div class="text-center pb-5 mt-4 mb-6">
1359
+ <svg
1360
+ class="mx-auto w-8 h-8 mb-3"
1361
+ width="18"
1362
+ height="18"
1363
+ viewBox="0 0 18 18"
1364
+ fill="none"
1365
+ xmlns="http://www.w3.org/2000/svg"
1366
+ >
1367
+ <path
1368
+ d="M17 10.994H12.7L13.43 7.00603H17C17.2652 7.00603 17.5196 6.90099 17.7071 6.71402C17.8946 6.52705 18 6.27346 18 6.00905C18 5.74463 17.8946 5.49104 17.7071 5.30407C17.5196 5.1171 17.2652 5.01206 17 5.01206H13.79L14.48 1.21355C14.5073 1.08026 14.5069 0.942815 14.4789 0.809676C14.4509 0.676537 14.3958 0.550522 14.3171 0.439385C14.2385 0.328249 14.1378 0.234342 14.0213 0.163445C13.9049 0.0925489 13.7751 0.046162 13.64 0.02714C13.5057 -0.0047662 13.3662 -0.00858576 13.2303 0.0159217C13.0944 0.0404292 12.965 0.0927325 12.8504 0.169536C12.7358 0.24634 12.6384 0.345978 12.5643 0.462174C12.4902 0.578369 12.4411 0.708602 12.42 0.844667L11.67 5.01206H7.79L8.48 1.21355C8.50727 1.08026 8.50688 0.942815 8.47887 0.809676C8.45086 0.676537 8.39582 0.550522 8.31714 0.439385C8.23845 0.328249 8.13778 0.234342 8.02133 0.163445C7.90488 0.0925489 7.77511 0.046162 7.64 0.02714C7.50566 -0.0047662 7.36615 -0.00858576 7.23026 0.0159217C7.09437 0.0404292 6.96504 0.0927325 6.85042 0.169536C6.73581 0.24634 6.63839 0.345978 6.56431 0.462174C6.49024 0.578369 6.4411 0.708602 6.42 0.844667L5.67 5.01206H1C0.734784 5.01206 0.48043 5.1171 0.292893 5.30407C0.105357 5.49104 0 5.74463 0 6.00905C0 6.27346 0.105357 6.52705 0.292893 6.71402C0.48043 6.90099 0.734784 7.00603 1 7.00603H5.3L4.57 10.994H1C0.734784 10.994 0.48043 11.099 0.292893 11.286C0.105357 11.4729 0 11.7265 0 11.991C0 12.2554 0.105357 12.509 0.292893 12.6959C0.48043 12.8829 0.734784 12.9879 1 12.9879H4.21L3.52 16.7864C3.49273 16.9197 3.49312 17.0572 3.52113 17.1903C3.54914 17.3235 3.60418 17.4495 3.68286 17.5606C3.76155 17.6718 3.86222 17.7657 3.97867 17.8366C4.09512 17.9075 4.22489 17.9538 4.36 17.9729C4.49434 18.0048 4.63385 18.0086 4.76974 17.9841C4.90563 17.9596 5.03496 17.9073 5.14958 17.8305C5.26419 17.7537 5.36161 17.654 5.43569 17.5378C5.50976 17.4216 5.5589 17.2914 5.58 17.1553L6.33 12.9879H10.21L9.52 16.7864C9.49273 16.9197 9.49312 17.0572 9.52113 17.1903C9.54914 17.3235 9.60418 17.4495 9.68286 17.5606C9.76155 17.6718 9.86222 17.7657 9.97867 17.8366C10.0951 17.9075 10.2249 17.9538 10.36 17.9729C10.4943 18.0048 10.6338 18.0086 10.7697 17.9841C10.9056 17.9596 11.035 17.9073 11.1496 17.8305C11.2642 17.7537 11.3616 17.654 11.4357 17.5378C11.5098 17.4216 11.5589 17.2914 11.58 17.1553L12.33 12.9879H17C17.2652 12.9879 17.5196 12.8829 17.7071 12.6959C17.8946 12.509 18 12.2554 18 11.991C18 11.7265 17.8946 11.4729 17.7071 11.286C17.5196 11.099 17.2652 10.994 17 10.994ZM6.7 10.994L7.43 7.00603H11.3L10.57 10.994H6.7Z"
1369
+ fill="#01008E"
1370
+ />
1371
+ </svg>
1385
1372
 
1386
- <p class="text-primary-dark my-4">How to pay with FCMB USSD</p>
1387
- </div>
1388
- </div>
1373
+ <div class="w-4/5 mx-auto">
1374
+ <h5 class="content-heading">
1375
+ Dial the code below to complete this transaction with FCMB’s 329
1376
+ </h5>
1389
1377
 
1390
- <div>
1391
- <button class="copy-code-button">
1392
- <span> *329*33*4*343788#</span>
1378
+ <p class="text-primary-dark my-4">How to pay with FCMB USSD</p>
1379
+ </div>
1380
+ </div>
1393
1381
 
1394
- <svg
1395
- width="14"
1396
- height="14"
1397
- viewBox="0 0 14 14"
1398
- fill="none"
1399
- xmlns="http://www.w3.org/2000/svg"
1400
- >
1401
- <path
1402
- d="M8.33337 4.33337H1.66671C0.931374 4.33337 0.333374 4.93137 0.333374 5.66671V12.3334C0.333374 13.0687 0.931374 13.6667 1.66671 13.6667H8.33337C9.06871 13.6667 9.66671 13.0687 9.66671 12.3334V5.66671C9.66671 4.93137 9.06871 4.33337 8.33337 4.33337Z"
1403
- fill="#F4F4FF"
1404
- />
1405
- <path
1406
- d="M12.3334 0.333374H5.66671C5.31309 0.333374 4.97395 0.47385 4.7239 0.723898C4.47385 0.973947 4.33337 1.31309 4.33337 1.66671V3.00004H9.66671C10.0203 3.00004 10.3595 3.14052 10.6095 3.39056C10.8596 3.64061 11 3.97975 11 4.33337V9.66671H12.3334C12.687 9.66671 13.0261 9.52623 13.2762 9.27618C13.5262 9.02613 13.6667 8.687 13.6667 8.33337V1.66671C13.6667 1.31309 13.5262 0.973947 13.2762 0.723898C13.0261 0.47385 12.687 0.333374 12.3334 0.333374Z"
1407
- fill="#F4F4FF"
1408
- />
1409
- </svg>
1410
- </button>
1382
+ <div>
1383
+ <button class="copy-code-button">
1384
+ <span> *329*33*4*343788#</span>
1411
1385
 
1412
- <div class="container-center">
1413
- <button class="text-grey-400 text-sm text-center hover:underline">
1414
- Click to copy
1415
- </button>
1386
+ <svg
1387
+ width="14"
1388
+ height="14"
1389
+ viewBox="0 0 14 14"
1390
+ fill="none"
1391
+ xmlns="http://www.w3.org/2000/svg"
1392
+ >
1393
+ <path
1394
+ d="M8.33337 4.33337H1.66671C0.931374 4.33337 0.333374 4.93137 0.333374 5.66671V12.3334C0.333374 13.0687 0.931374 13.6667 1.66671 13.6667H8.33337C9.06871 13.6667 9.66671 13.0687 9.66671 12.3334V5.66671C9.66671 4.93137 9.06871 4.33337 8.33337 4.33337Z"
1395
+ fill="#F4F4FF"
1396
+ />
1397
+ <path
1398
+ d="M12.3334 0.333374H5.66671C5.31309 0.333374 4.97395 0.47385 4.7239 0.723898C4.47385 0.973947 4.33337 1.31309 4.33337 1.66671V3.00004H9.66671C10.0203 3.00004 10.3595 3.14052 10.6095 3.39056C10.8596 3.64061 11 3.97975 11 4.33337V9.66671H12.3334C12.687 9.66671 13.0261 9.52623 13.2762 9.27618C13.5262 9.02613 13.6667 8.687 13.6667 8.33337V1.66671C13.6667 1.31309 13.5262 0.973947 13.2762 0.723898C13.0261 0.47385 12.687 0.333374 12.3334 0.333374Z"
1399
+ fill="#F4F4FF"
1400
+ />
1401
+ </svg>
1402
+ </button>
1403
+
1404
+ <div class="container-center">
1405
+ <button class="text-grey-400 text-sm text-center hover:underline">
1406
+ Click to copy
1407
+ </button>
1408
+ </div>
1409
+ </div>
1410
+
1411
+ <div class="pt-16 mb-2">
1412
+ <button class="ussd-button text-grey-700">I have completed the payment</button>
1413
+ </div>
1414
+ <div class="container-center">
1415
+ <button class="text-grey-400 text-center hover:underline">Cancel</button>
1416
+ </div>
1417
+ </div>
1416
1418
  </div>
1417
- </div>
1418
1419
 
1419
- <div class="pt-16 mb-2">
1420
- <button class="ussd-button text-grey-700">I have completed the payment</button>
1421
- </div>
1422
- <div class="container-center">
1423
- <button class="text-grey-400 text-center hover:underline">Cancel</button>
1424
- </div>
1425
- </div>
1426
- </div>
1427
- `;
1428
- class a1 {
1429
- constructor() {
1420
+
1421
+ `;
1422
+ }
1423
+ }
1424
+ var h1 = Object.defineProperty, W = (r, t, e, A) => {
1425
+ for (var n = void 0, s = r.length - 1, i; s >= 0; s--)
1426
+ (i = r[s]) && (n = i(t, e, n) || n);
1427
+ return n && h1(t, e, n), n;
1428
+ };
1429
+ class x {
1430
+ // private container: HTMLElement;
1431
+ constructor(t) {
1430
1432
  // private container: HTMLElement;
1431
- o(this, "contents");
1432
- o(this, "banks");
1433
- o(this, "_currentStep");
1434
- this.contents = document.querySelectorAll(".content"), this.banks = t1, this._currentStep = 1, this.renderUssdContent();
1433
+ a(this, "contents");
1434
+ a(this, "banks");
1435
+ a(this, "selectedCode");
1436
+ a(this, "bankDetail");
1437
+ a(this, "viewUssdCode");
1438
+ a(this, "_currentStep");
1439
+ const e = [
1440
+ { code: "*334#", name: "First City Bank" },
1441
+ { code: "*334#", name: "First Bank" }
1442
+ ];
1443
+ this.contents = document.querySelectorAll(".content"), this.banks = n1, this._currentStep = 1, this.renderUssdContent(), this.banks = e;
1435
1444
  }
1436
1445
  get currentStep() {
1437
1446
  return this._currentStep;
1438
1447
  }
1439
- set currentStep(e) {
1440
- this._currentStep = e, this.renderUssdContent();
1448
+ set currentStep(t) {
1449
+ this._currentStep = t, this.renderUssdContent();
1441
1450
  }
1442
1451
  getUssdStepContent() {
1443
1452
  switch (this.currentStep) {
1444
1453
  case 1:
1445
- return b;
1454
+ return this.bankDetail = new q(this.contents[2]), this.bankDetail.render();
1446
1455
  case 2:
1447
- return r1;
1456
+ return this.viewUssdCode = new d1(this.contents[2]), this.viewUssdCode.render();
1448
1457
  case 3:
1449
- return I;
1458
+ return f;
1450
1459
  case 4:
1451
- return H;
1460
+ return v;
1452
1461
  default:
1453
- return b;
1462
+ return this.bankDetail = new q(this.contents[2]), this.bankDetail.render();
1454
1463
  }
1455
1464
  }
1465
+ onCodeSelect(t) {
1466
+ console.log({ val: t }), this.selectedCode = t || "", setTimeout(() => {
1467
+ this.currentStep = 2;
1468
+ }, 1e3), console.log({ selectedCode: this == null ? void 0 : this.selectedCode });
1469
+ }
1456
1470
  renderUssdContent() {
1457
- this.contents[2] && (this.contents[2].innerHTML = this.getUssdStepContent());
1471
+ switch (this.contents[2] && (this.contents[2].innerHTML = this.getUssdStepContent()), this.currentStep) {
1472
+ case 1:
1473
+ this.bankDetail.attachListerner(this.onCodeSelect.bind(this));
1474
+ break;
1475
+ default:
1476
+ this.bankDetail.attachListerner(this.onCodeSelect.bind(this));
1477
+ break;
1478
+ }
1479
+ }
1480
+ handleSelectChange(t) {
1481
+ console.log({ _e: t }, "knksnbskjb EVENT"), setTimeout(() => {
1482
+ this.currentStep = 2;
1483
+ }, 400), this.currentStep = 2;
1458
1484
  }
1459
- renderSearchOptions(e, t, n) {
1460
- n.innerHTML = "", e.forEach((A) => {
1485
+ renderSearchOptions(t, e, A) {
1486
+ A.innerHTML = "", t.forEach((n) => {
1461
1487
  const s = document.createElement("div");
1462
- s.classList.add("bank-option"), s.textContent = A.name, s.addEventListener("click", () => {
1463
- t.value = A.name, n.style.display = "none";
1464
- }), n.appendChild(s);
1465
- }), n.style.display = e.length ? "block" : "none";
1466
- }
1467
- searchBanksOnInput(e, t) {
1468
- const n = e.value.toLowerCase(), A = this.banks.filter(
1469
- (s) => s.name.toLowerCase().includes(n)
1470
- );
1471
- this.renderSearchOptions(A, e, t);
1488
+ s.classList.add("bank-option"), s.textContent = n.name, s.addEventListener("click", () => {
1489
+ e.value = n.name, A.style.display = "none";
1490
+ }), A.appendChild(s);
1491
+ }), A.style.display = t.length ? "block" : "none";
1492
+ }
1493
+ searchBanksOnInput(t, e) {
1494
+ const A = t.value.toLowerCase(), n = this.banks.filter((s) => s.name.toLowerCase().includes(A));
1495
+ this.renderSearchOptions(n, t, e);
1472
1496
  }
1473
- openSearchOnFocus(e, t) {
1474
- this.renderSearchOptions(this.banks, e, t);
1497
+ openSearchOnFocus(t, e) {
1498
+ this.renderSearchOptions(this.banks, t, e);
1475
1499
  }
1476
- closeSearchOptionsOutsideFocus(e, t, n) {
1477
- !t.contains(e.target) && !n.contains(e.target) && (n.style.display = "none");
1500
+ closeSearchOptionsOutsideFocus(t, e, A) {
1501
+ !e.contains(t.target) && !A.contains(t.target) && (A.style.display = "none");
1478
1502
  }
1479
1503
  }
1480
- class c1 {
1481
- constructor(e, t, n) {
1482
- o(this, "modalContainer");
1483
- o(this, "currentPaymentMethod");
1484
- o(this, "currentStep");
1485
- o(this, "container");
1486
- o(this, "card");
1487
- o(this, "transfer");
1488
- o(this, "ussd");
1489
- o(this, "merchantKey");
1490
- o(this, "email");
1491
- o(this, "amount");
1492
- o(this, "isMobile", !1);
1493
- if (this.modalContainer = document.createElement("div"), this.modalContainer.innerHTML = K, document.body.appendChild(this.modalContainer), this.isMobile = window.matchMedia("(max-width: 767px)").matches, this.currentPaymentMethod = this.isMobile ? 3 : 0, this.currentStep = 1, this.container = document.querySelectorAll(".content")[0], this.merchantKey = e, this.email = t, this.amount = n, this.attachInputListeners(), this.switchTab = this.switchTab.bind(this), e === "" || t === "")
1494
- throw this.closeModal(), new Error("Merchant key or email is required");
1504
+ W([
1505
+ z()
1506
+ ], x.prototype, "banks");
1507
+ W([
1508
+ z()
1509
+ ], x.prototype, "selectedCode");
1510
+ const I = "data:image/svg+xml,%3csvg%20width='196'%20height='56'%20viewBox='0%200%20196%2056'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M156.567%2013.9786H162.726C162.843%2014.3804%20162.98%2014.7947%20163.084%2015.2185C164.888%2022.4978%20166.667%2029.7833%20168.505%2037.0532C168.781%2038.1455%20169.215%2039.2316%20169.76%2040.2204C170.439%2041.4572%20171.336%2041.5262%20172.363%2040.5625C172.69%2040.2581%20172.975%2039.8971%20173.225%2039.5298C174.544%2037.6025%20175.356%2035.4617%20175.574%2033.164C175.682%2032.0559%20175.495%2030.8882%20175.254%2029.7865C174.113%2024.5758%20172.908%2019.3776%20171.71%2014.1042C172.753%2013.7338%20173.777%2013.9661%20174.772%2013.9252C175.755%2013.8844%20176.744%2013.9158%20177.816%2013.9158C177.939%2014.2894%20178.072%2014.619%20178.152%2014.9611C179.388%2020.2785%20180.577%2025.6085%20181.864%2030.9165C182.46%2033.3712%20183.214%2035.7882%20183.969%2038.1989C184.219%2039.0056%20184.615%2039.7935%20185.085%2040.4966C185.674%2041.3787%20186.483%2041.4666%20187.297%2040.7697C187.786%2040.3522%20188.201%2039.8155%20188.534%2039.263C189.672%2037.3922%20190.296%2035.3173%20190.829%2033.2205C191.637%2030.0533%20192.265%2026.8641%20192.192%2023.5713C192.109%2019.7951%20190.721%2016.6781%20187.586%2014.4149C187.424%2014.2988%20187.278%2014.1544%20186.993%2013.9096C187.751%2013.4638%20188.429%2013.0589%20189.117%2012.6602C189.862%2012.2271%20190.645%2011.8441%20191.352%2011.3576C191.986%2010.9181%20192.474%2011.0656%20193.019%2011.4768C194.991%2012.971%20195.891%2014.9831%20195.986%2017.3969C196.094%2020.0745%20195.54%2022.6673%20194.953%2025.2507C194.091%2029.0363%20192.934%2032.7277%20191.228%2036.2339C190.385%2037.9666%20189.355%2039.5675%20188.096%2041.0491C185.373%2044.254%20180.057%2043.4222%20178.418%2039.7213C177.793%2038.3119%20177.286%2036.8491%20176.668%2035.2546C176.459%2035.6093%20176.275%2035.8918%20176.123%2036.1868C175.181%2038.0043%20174.126%2039.7276%20172.737%2041.2751C170.154%2044.1504%20164.983%2043.3343%20163.424%2039.9881C162.91%2038.8801%20162.441%2037.7438%20162.064%2036.5855C160.383%2031.4627%20159.252%2026.2018%20158.114%2020.944C157.622%2018.6776%20157.109%2016.4176%20156.57%2013.9817L156.567%2013.9786Z'%20fill='%2301008E'/%3e%3cpath%20d='M33.0448%2042.6249V56H26.8378C26.8378%2055.4821%2026.8378%2055.005%2026.8378%2054.5247C26.8378%2043.0173%2026.8378%2031.5098%2026.8378%2020.0023C26.8378%2019.5534%2026.8505%2019.1014%2026.8061%2018.6557C26.692%2017.5006%2026.3306%2017.1459%2025.1228%2016.9042C24.771%2016.8351%2024.4254%2016.7441%2024.0704%2016.5777C27.1517%2015.9782%2030.084%2015.0051%2032.9941%2013.5392V20.6427L33.1843%2020.6992C33.2953%2020.4763%2033.4316%2020.266%2033.5172%2020.0337C34.0815%2018.4799%2034.8676%2017.0611%2036.0437%2015.8746C39.553%2012.337%2045.0119%2012.6822%2048.0266%2016.6405C49.3422%2018.3701%2050.1125%2020.3507%2050.4612%2022.4633C51.2442%2027.2251%2050.6704%2031.8205%2048.3658%2036.1084C47.735%2037.2824%2046.9107%2038.3935%2045.9882%2039.3635C43.8801%2041.5859%2041.2078%2042.6186%2038.1296%2042.6217C36.4875%2042.6217%2034.8486%2042.6217%2033.0448%2042.6217V42.6249ZM33.0448%2041.8244C35.9772%2042.0693%2038.5417%2041.6173%2040.6625%2039.6962C42.2%2038.3025%2043.0496%2036.4976%2043.6044%2034.5452C44.53%2031.2901%2044.7044%2027.9565%2044.5205%2024.6103C44.4317%2022.9938%2044.1084%2021.3929%2043.4078%2019.8768C41.7372%2016.2701%2037.2262%2016.0661%2035.0769%2019.1203C34.3858%2020.1028%2033.831%2021.261%2033.5457%2022.4162C33.197%2023.8256%2033.0829%2025.3166%2033.0639%2026.7731C33.0068%2031.2995%2033.0417%2035.829%2033.0417%2040.3554C33.0417%2040.798%2033.0417%2041.2437%2033.0417%2041.8244H33.0448Z'%20fill='%2301008E'/%3e%3cpath%20d='M0.00951021%2038.472C1.08099%2035.9796%202.12078%2033.5658%203.23981%2030.9604C3.59169%2031.5223%203.82628%2031.8895%204.05135%2032.2599C5.89633%2035.2828%208.2517%2037.7939%2011.4344%2039.4733C13.3999%2040.5092%2015.4826%2041.0522%2017.7207%2040.9643C19.5086%2040.8952%2020.5294%2039.7527%2020.3455%2038.0011C20.2568%2037.1599%2019.9714%2036.372%2019.3121%2035.8415C18.3928%2035.1007%2017.4608%2034.3128%2016.4051%2033.8137C13.9927%2032.6711%2011.4788%2031.7451%209.05689%2030.6245C7.45918%2029.8869%205.8678%2029.0802%204.41591%2028.0945C2.28879%2026.6475%200.951021%2024.6479%200.821048%2021.9861C0.675225%2018.9538%201.95593%2016.7189%204.59026%2015.2122C6.26089%2014.2548%208.09953%2013.7997%209.98572%2013.5831C14.1702%2013.1028%2018.0948%2013.9346%2021.7277%2016.0597C21.8989%2016.1602%2022.051%2016.2983%2022.311%2016.4898C21.2553%2018.5678%2020.206%2020.6269%2019.0902%2022.8242C18.7002%2022.4444%2018.3864%2022.1525%2018.0916%2021.8448C16.2022%2019.8893%2014.1797%2018.1063%2011.7293%2016.8539C10.0143%2015.9781%208.20097%2015.4947%206.2704%2015.5386C4.20985%2015.5826%203.09082%2017.0673%203.48391%2019.0888C3.70264%2020.2032%204.27009%2021.0978%205.17039%2021.7004C6.35599%2022.4946%207.60183%2023.2385%208.90156%2023.8224C10.886%2024.7107%2012.9466%2025.4358%2014.9691%2026.2457C16.8109%2026.9833%2018.5703%2027.8717%2020.0951%2029.1492C22.536%2031.1958%2023.4902%2033.7823%2022.8689%2036.9088C22.4948%2038.7859%2021.3821%2040.145%2019.7971%2041.1621C18.3864%2042.0661%2016.8141%2042.5463%2015.172%2042.7755C11.7863%2043.2495%208.43556%2043.1459%205.19258%2041.9248C3.24298%2041.1903%201.52797%2040.0948%200%2038.4751L0.00951021%2038.472Z'%20fill='%2301008E'/%3e%3cpath%20d='M79.125%2028.3614C79.144%2029.4381%2079.0837%2030.5147%2078.9252%2031.582C78.1676%2036.7079%2075.0229%2041.6675%2069.6274%2042.7504C64.3397%2043.8114%2059.1313%2041.8903%2056.5287%2036.4411C55.6728%2034.6487%2055.2353%2032.7434%2055.0705%2030.791C54.8169%2027.8152%2054.8866%2024.8363%2055.7837%2021.9548C57.0993%2017.7266%2059.7083%2014.71%2064.2415%2013.7683C67.8585%2013.015%2071.7165%2013.7118%2074.5474%2016.1477C77.8981%2019.0292%2078.9189%2023.5619%2079.1059%2027.787C79.1154%2027.9816%2079.1218%2028.1731%2079.125%2028.3677V28.3614ZM59.8668%2023.5148C59.9112%2026.9018%2060.8653%2030.3923%2061.9527%2033.3335C62.8213%2035.6846%2063.9562%2037.9133%2065.7124%2039.7402C66.4352%2040.4904%2067.3196%2041.1558%2068.2484%2041.633C71.241%2043.1585%2073.0131%2039.5487%2073.5108%2037.1976C74.5696%2032.1847%2073.7517%2027.2282%2071.8972%2022.5072C71.1776%2020.674%2070.2583%2018.9476%2069.0156%2017.4032C68.2136%2016.4082%2067.3196%2015.5104%2066.1499%2014.936C64.4761%2014.1199%2062.8466%2014.4903%2061.8227%2016.0347C60.3581%2018.2539%2059.8287%2020.853%2059.8636%2023.518L59.8668%2023.5148Z'%20fill='%2301008E'/%3e%3cpath%20d='M153.72%2028.3614C153.739%2029.4381%20153.679%2030.5147%20153.52%2031.582C152.763%2036.7079%20149.618%2041.6675%20144.222%2042.7504C138.935%2043.8114%20133.726%2041.8903%20131.124%2036.4411C130.268%2034.6487%20129.83%2032.7434%20129.665%2030.791C129.412%2027.8152%20129.482%2024.8363%20130.379%2021.9548C131.694%2017.7266%20134.303%2014.71%20138.836%2013.7683C142.453%2013.015%20146.311%2013.7118%20149.142%2016.1477C152.493%2019.0292%20153.514%2023.5619%20153.701%2027.787C153.71%2027.9816%20153.717%2028.1731%20153.72%2028.3677V28.3614ZM134.465%2023.5148C134.509%2026.9018%20135.463%2030.3923%20136.551%2033.3335C137.419%2035.6846%20138.554%2037.9133%20140.311%2039.7402C141.033%2040.4904%20141.918%2041.1558%20142.847%2041.633C145.839%2043.1585%20147.611%2039.5487%20148.109%2037.1976C149.168%2032.1847%20148.35%2027.2282%20146.495%2022.5072C145.776%2020.674%20144.856%2018.9476%20143.614%2017.4032C142.812%2016.4082%20141.918%2015.5104%20140.748%2014.936C139.074%2014.1199%20137.445%2014.4903%20136.421%2016.0347C134.956%2018.2539%20134.427%2020.853%20134.462%2023.518L134.465%2023.5148Z'%20fill='%2301008E'/%3e%3cpath%20d='M115.689%201.6142C114.487%204.04062%20113.305%206.42624%20112.125%208.81186C112.056%208.78989%20111.986%208.76791%20111.916%208.7428C111.824%207.99573%20111.821%207.22354%20111.618%206.50785C111.285%205.34016%20110.87%204.19129%20110.391%203.07696C110.192%202.60925%20109.795%202.18863%20109.396%201.85276C108.153%200.804345%20106.502%201.05546%20105.728%202.47114C105.303%203.24646%20104.986%204.11596%20104.812%204.98231C104.226%207.87958%20104.438%2010.8177%20104.438%2013.9158C105.57%2013.9158%20106.629%2013.875%20107.684%2013.9284C108.664%2013.9755%20109.681%2013.693%20110.629%2014.2642C109.656%2014.7382%20108.613%2014.5154%20107.602%2014.5562C106.584%2014.597%20105.567%2014.5656%20104.438%2014.5656V42.6029C102.343%2042.6531%20100.358%2042.6248%2098.288%2042.6248C98.2627%2042.1069%2098.2247%2041.7114%2098.2247%2041.3159C98.2215%2032.6304%2098.1929%2023.948%2098.2373%2015.2624C98.2532%2011.9571%2098.9886%208.78989%20100.7%205.90831C103.157%201.75859%20106.892%20-0.131068%20111.704%200.00704625C113.476%200.0572698%20114.703%200.565783%20115.689%201.61106V1.6142Z'%20fill='%2301008E'/%3e%3cpath%20d='M115.888%203.21818C118.966%202.52133%20121.937%201.51058%20124.872%200.0446777V42.5463H118.786C118.757%2042.0535%20118.706%2041.545%20118.706%2041.0365C118.703%2029.6609%20118.706%2018.2852%20118.697%206.90961C118.697%206.30065%20118.659%205.68855%20118.58%205.08273C118.431%203.95897%20118.158%203.68588%20117.083%203.4536C116.687%203.36885%20116.288%203.29665%20115.888%203.21818Z'%20fill='%2301008E'/%3e%3cpath%20d='M90.9272%205.21149V13.8531C92.3981%2013.8939%2093.8405%2013.9315%2095.286%2013.9724C95.305%2014.0571%2095.3209%2014.1419%2095.3399%2014.2266C95.1719%2014.3365%2095.0039%2014.5311%2094.8327%2014.5374C93.9704%2014.5719%2093.105%2014.5531%2092.2396%2014.5656C91.8402%2014.5719%2091.4376%2014.6064%2090.962%2014.6315C90.9367%2015.1087%2090.9018%2015.5042%2090.9018%2015.8997C90.8986%2022.548%2090.8923%2029.1932%2090.9113%2035.8416C90.9113%2036.5259%2091.0033%2037.229%2091.1776%2037.8913C91.501%2039.1249%2092.3125%2039.7245%2093.6027%2039.737C94.3762%2039.7433%2095.1529%2039.6648%2096.0468%2039.6177C95.7964%2039.8343%2095.6157%2040.0384%2095.3938%2040.1733C94.2336%2040.8702%2093.0226%2041.4948%2091.9004%2042.2451C88.9681%2044.2069%2085.0087%2042.2733%2084.6885%2038.3402C84.6504%2037.8536%2084.6568%2037.3608%2084.6568%2036.8743C84.6568%2029.9403%2084.6568%2023.0094%2084.6568%2016.0755C84.6568%2015.6329%2084.6568%2015.1903%2084.6568%2014.5719H81.3884C84.6568%2011.3701%2087.7951%208.29396%2090.9367%205.21149H90.9272Z'%20fill='%2301008E'/%3e%3c/svg%3e";
1511
+ class p1 {
1512
+ constructor(t, e, A, n, s, i, o) {
1513
+ a(this, "modalContainer");
1514
+ a(this, "currentPaymentMethod");
1515
+ a(this, "mainLayout");
1516
+ a(this, "currentStep");
1517
+ a(this, "merchantPlanDetail", {});
1518
+ // container: HTMLDivElement;
1519
+ a(this, "mainScreen");
1520
+ a(this, "card");
1521
+ a(this, "transfer");
1522
+ a(this, "ussd");
1523
+ a(this, "encryption");
1524
+ a(this, "merchantKey");
1525
+ a(this, "planId");
1526
+ a(this, "email");
1527
+ a(this, "amount", 0);
1528
+ a(this, "isMobile", !1);
1529
+ this.modalContainer = e, this.encryption = n, this.planId = o || "", this.mainLayout = t, this.isMobile = window.matchMedia("(max-width: 767px)").matches, this.currentPaymentMethod = this.isMobile ? 3 : 0, this.currentStep = 1, this.merchantKey = A, this.email = s, this.amount = i || 0;
1530
+ }
1531
+ mountScreen(t) {
1532
+ var o, c, C, l, p, g, Q, y, L;
1533
+ this.mainLayout.innerHTML = this.render(), this.merchantPlanDetail = t, this.amount = ((c = (o = this.merchantPlanDetail) == null ? void 0 : o.plan) == null ? void 0 : c.amount) || 0;
1534
+ const e = document.getElementById("plan-name"), A = document.getElementById("payment-rate-display"), n = document.getElementById("container-payment-text"), s = document.getElementById("header-chip-amount"), i = document.getElementById("merchant-email");
1535
+ i && (i.innerHTML = this.email), e && (e.textContent = ((C = t == null ? void 0 : t.plan) == null ? void 0 : C.title) || "N/A"), A && (A.innerHTML = `1 ${((l = t == null ? void 0 : t.rate) == null ? void 0 : l.to) || "-"} = ${((p = t.rate) == null ? void 0 : p.rate) || 1} ${((g = t == null ? void 0 : t.rate) == null ? void 0 : g.from) || "-"}`), n && (n.innerHTML = `${((Q = t == null ? void 0 : t.plan) == null ? void 0 : Q.currency) || "NGN"} ${H(((y = t == null ? void 0 : t.plan) == null ? void 0 : y.amount) || 0, 2)}`), s && (s.innerHTML = `NGN ${H((this.amount || 0) * (((L = t == null ? void 0 : t.rate) == null ? void 0 : L.rate) || 1), 2)}`), this.setupComponent(), this.attachInputListeners(), this.switchTab = this.switchTab.bind(this);
1495
1536
  }
1496
1537
  attachInputListeners() {
1497
- const e = document.body.querySelector(
1498
- "#change-method"
1499
- ), t = document.body.querySelectorAll(
1500
- ".close-btn"
1501
- ), n = document.querySelector("#mob-container"), A = document.querySelector("#mob-tab-co"), s = document.querySelector("#mob-tab-c");
1502
- e && (this.cleanup(), e.addEventListener("click", () => {
1503
- this.currentPaymentMethod = 3, this.attachInputListeners(), n && (n.innerHTML = this.mobileContainerContent()), this.setup(), A && s && s.parentNode && A.removeChild(s);
1504
- })), t.length > 0 && t.forEach((i) => {
1505
- i.addEventListener("click", () => {
1538
+ const t = document.body.querySelector("#change-method"), e = document.querySelector("#mob-container"), A = document.querySelector("#mob-tab-co"), n = document.querySelector("#mob-tab-c");
1539
+ t && (this.cleanup(), t.addEventListener("click", () => {
1540
+ this.currentPaymentMethod = 3, this.attachInputListeners(), e && (e.innerHTML = this.mobileContainerContent()), this.setupComponent(), A && n && n.parentNode && A.removeChild(n);
1541
+ })), this.closeBTN();
1542
+ }
1543
+ closeBTN() {
1544
+ const t = document.body.querySelectorAll(".close-btn"), e = Array.from(t);
1545
+ console.log({ close: t }), e.length > 0 && e.forEach((A) => {
1546
+ A.addEventListener("click", () => {
1506
1547
  this.cleanup(), this.closeModal();
1507
1548
  });
1508
1549
  });
1509
1550
  }
1510
1551
  displayTabLayout() {
1511
- const e = document.querySelectorAll(".tab-button"), t = document.querySelectorAll(".mob-tab-button"), n = document.querySelector(".box-container-method"), A = document.querySelector("#mob-container"), s = document.querySelector("#inner-mob-container"), i = document.querySelector("#mob-tab-co");
1512
- this.isMobile ? t && n && A && s && t.forEach((c) => {
1513
- c.addEventListener("click", (a) => {
1514
- if (a.currentTarget instanceof HTMLElement && a.currentTarget.dataset.tab) {
1515
- const l = parseInt(a.currentTarget.dataset.tab);
1516
- this.updatePaymentMethodView(
1517
- this.merchantKey,
1518
- this.email,
1519
- this.amount
1520
- ), this.setCurrentPaymentMethod(l), A.removeChild(s), this.cleanup(), E.forEach((C, m) => {
1521
- this.currentPaymentMethod === m && i && (i.innerHTML = `
1552
+ const t = document.querySelectorAll(".tab-button"), e = document.querySelectorAll(".mob-tab-button"), A = document.querySelector(".box-container-method"), n = document.querySelector("#mob-container"), s = document.querySelector("#inner-mob-container"), i = document.querySelector("#mob-tab-co");
1553
+ this.isMobile ? e && A && n && s && e.forEach((o) => {
1554
+ o.addEventListener("click", (c) => {
1555
+ if (c.currentTarget instanceof HTMLElement && c.currentTarget.dataset.tab) {
1556
+ const C = parseInt(c.currentTarget.dataset.tab);
1557
+ this.updatePaymentMethodView(this.merchantKey, this.email, this.amount), this.setCurrentPaymentMethod(C), n.removeChild(s), this.cleanup(), E.forEach((l, p) => {
1558
+ this.currentPaymentMethod === p && i && (i.innerHTML = `
1522
1559
  <div id="mob-tab-c" class="w-full pt-2 px-5 md:hidden">
1523
1560
  <div>
1524
- <button class="pt-3 px-2 grow align-center text-grey-600 tex-sm font-semibold" data-tab="${m}">
1561
+ <button class="pt-3 px-2 grow align-center text-grey-600 tex-sm font-semibold" data-tab="${p}">
1525
1562
  <div class="min-w-8 mr-2 align-center">
1526
- ${C.icon}
1563
+ ${l.icon}
1527
1564
  </div>
1528
- <span>${C.label}</span>
1565
+ <span>${l.label}</span>
1529
1566
  </button>
1530
1567
  </div>
1531
1568
  </div>
@@ -1533,43 +1570,39 @@ class c1 {
1533
1570
  }), this.renderPaymentMethodContent(), this.attachInputListeners();
1534
1571
  }
1535
1572
  });
1536
- }) : e && n && e.forEach((c) => {
1537
- c.addEventListener("click", (a) => {
1538
- if (a.currentTarget instanceof HTMLElement && a.currentTarget.dataset.tab) {
1539
- const l = parseInt(a.currentTarget.dataset.tab);
1540
- this.switchTab(l);
1573
+ }) : t && A && t.forEach((o) => {
1574
+ o.addEventListener("click", (c) => {
1575
+ if (c.currentTarget instanceof HTMLElement && c.currentTarget.dataset.tab) {
1576
+ const C = parseInt(c.currentTarget.dataset.tab);
1577
+ this.switchTab(C);
1541
1578
  }
1542
1579
  });
1543
1580
  }), this.updatePaymentMethodView(this.merchantKey, this.email, this.amount), this.renderPaymentMethodContent(), this.attachInputListeners(), this.setCurrentPaymentMethod(this.currentPaymentMethod);
1544
1581
  }
1545
- updatePaymentMethodView(e, t, n) {
1582
+ updatePaymentMethodView(t, e, A) {
1546
1583
  switch (this.currentPaymentMethod) {
1547
1584
  case 0:
1548
- return this.card = new f(
1585
+ return this.card = new K(
1549
1586
  this.modalContainer,
1550
1587
  () => this.closeModal(),
1551
- e,
1552
1588
  t,
1553
- n,
1589
+ this.encryption,
1590
+ e,
1591
+ A,
1554
1592
  () => this.switchTab(1)
1555
1593
  );
1556
1594
  case 1:
1557
- return this.transfer = new i1(
1558
- this.modalContainer,
1559
- () => this.closeModal(),
1560
- e,
1561
- t,
1562
- n
1563
- );
1595
+ return this.transfer = new l1(this.modalContainer, () => this.closeModal(), t, e, A);
1564
1596
  case 2:
1565
- return this.ussd = new a1();
1597
+ return this.ussd = new x(this.modalContainer);
1566
1598
  default:
1567
- return this.card = new f(
1599
+ return this.card = new K(
1568
1600
  this.modalContainer,
1569
1601
  () => this.closeModal(),
1570
- e,
1571
1602
  t,
1572
- n,
1603
+ this.encryption,
1604
+ e,
1605
+ A,
1573
1606
  () => this.switchTab(1)
1574
1607
  );
1575
1608
  }
@@ -1590,53 +1623,99 @@ class c1 {
1590
1623
  }
1591
1624
  })();
1592
1625
  }
1593
- setCurrentPaymentMethod(e) {
1594
- this.currentPaymentMethod = e;
1595
- const t = document.querySelectorAll(".tab-button");
1596
- let n = document.querySelectorAll(".content");
1597
- const A = document.getElementById("mob-action-btns");
1598
- t.forEach((s) => s.classList.remove("active")), n.forEach((s) => s.classList.remove("active")), t[e] && t[e].classList.add("active"), n[e] && n[e].classList.add("active"), e !== 3 && A && (A.classList.remove("hidden"), A.classList.add("md:hidden"));
1626
+ setCurrentPaymentMethod(t) {
1627
+ this.currentPaymentMethod = t;
1628
+ const e = document.querySelectorAll(".tab-button");
1629
+ let A = document.querySelectorAll(".content");
1630
+ const n = document.getElementById("mob-action-btns");
1631
+ e.forEach((s) => s.classList.remove("active")), A.forEach((s) => s.classList.remove("active")), e[t] && e[t].classList.add("active"), A[t] && A[t].classList.add("active"), t !== 3 && n && (n.classList.remove("hidden"), n.classList.add("md:hidden"));
1599
1632
  }
1600
- switchTab(e) {
1601
- this.setCurrentPaymentMethod(e), this.updatePaymentMethodView(this.merchantKey, this.email, this.amount), this.cleanup(), this.renderPaymentMethodContent(), this.attachInputListeners();
1633
+ switchTab(t) {
1634
+ this.setCurrentPaymentMethod(t), this.updatePaymentMethodView(this.merchantKey, this.email, this.amount), this.cleanup(), this.renderPaymentMethodContent(), this.attachInputListeners();
1602
1635
  }
1603
- setup() {
1604
- const e = document.getElementById("merchantLogo"), t = document.getElementById("merchantLogoMob"), n = document.getElementById("mob-action-btns"), A = document.getElementById("merchant-email"), s = document.querySelector("#mob-container");
1605
- if (A && (A.innerHTML = this.email), this.isMobile) {
1606
- t && t.setAttribute("src", M), s && (s.innerHTML = this.mobileContainerContent());
1636
+ setupComponent() {
1637
+ const t = document.getElementById("merchantLogo"), e = document.getElementById("merchantLogoMob"), A = document.getElementById("mob-action-btns"), n = document.getElementById("merchant-email"), s = document.querySelector("#mob-container");
1638
+ if (n && (n.innerHTML = this.email), this.isMobile) {
1639
+ e && e.setAttribute("src", I), s && (s.innerHTML = this.mobileContainerContent());
1640
+ let i = document.querySelector(".mob-options");
1641
+ i && this.viewMobileOptions(i);
1642
+ const o = document.querySelectorAll(".mob-tab-button");
1643
+ E.forEach((c, C) => {
1644
+ const l = o[C];
1645
+ l && (l.dataset.tab = C.toString(), l.addEventListener("click", () => {
1646
+ this.setCurrentPaymentMethod(C);
1647
+ }));
1648
+ }), A && this.currentPaymentMethod === 3 && (A.classList.add("hidden"), A.classList.remove("md:hidden"));
1649
+ } else {
1650
+ t && t.setAttribute("src", I);
1651
+ let i = document.querySelector(".payment-options");
1652
+ i && (i.innerHTML = `<div>
1653
+ ${E.filter((c) => {
1654
+ var C;
1655
+ return (((C = this.merchantPlanDetail) == null ? void 0 : C.paymentMethods) || []).includes(c.key);
1656
+ }).map(
1657
+ (c, C) => `
1658
+ <div class="tab">
1659
+ <button class="tab-button group" data-tab="${C}">
1660
+ <div class="min-w-8 md:container-center lg:block">
1661
+ ${c.icon}
1662
+ </div>
1663
+ <span>${c.label}</span>
1664
+ </button>
1665
+ </div>
1666
+ `
1667
+ ).join("")}
1668
+ </div>`);
1669
+ const o = document.querySelectorAll(".tab-button");
1670
+ E.forEach((c, C) => {
1671
+ const l = o[C];
1672
+ if (l) {
1673
+ const p = l.querySelector(".tab-button-icon"), g = l.querySelector(".tab-button-label");
1674
+ p && (p.innerHTML = c.icon), g && (g.textContent = c.label), l.dataset.tab = C.toString(), l.addEventListener("click", () => {
1675
+ this.setCurrentPaymentMethod(C);
1676
+ });
1677
+ }
1678
+ });
1679
+ }
1680
+ this.displayTabLayout();
1681
+ }
1682
+ _setup() {
1683
+ const t = document.getElementById("merchantLogo"), e = document.getElementById("merchantLogoMob"), A = document.getElementById("mob-action-btns"), n = document.getElementById("merchant-email"), s = document.querySelector("#mob-container");
1684
+ if (n && (n.innerHTML = this.email), this.isMobile) {
1685
+ e && e.setAttribute("src", I), s && (s.innerHTML = this.mobileContainerContent());
1607
1686
  let i = document.querySelector(".mob-options");
1608
1687
  i && this.viewMobileOptions(i);
1609
- const c = document.querySelectorAll(".mob-tab-button");
1610
- E.forEach((a, l) => {
1611
- const C = c[l];
1612
- C && (C.dataset.tab = l.toString(), C.addEventListener("click", () => {
1613
- this.setCurrentPaymentMethod(l);
1688
+ const o = document.querySelectorAll(".mob-tab-button");
1689
+ E.forEach((c, C) => {
1690
+ const l = o[C];
1691
+ l && (l.dataset.tab = C.toString(), l.addEventListener("click", () => {
1692
+ this.setCurrentPaymentMethod(C);
1614
1693
  }));
1615
- }), n && this.currentPaymentMethod === 3 && (n.classList.add("hidden"), n.classList.remove("md:hidden"));
1694
+ }), A && this.currentPaymentMethod === 3 && (A.classList.add("hidden"), A.classList.remove("md:hidden"));
1616
1695
  } else {
1617
- e && e.setAttribute("src", M);
1696
+ t && t.setAttribute("src", I);
1618
1697
  let i = document.querySelector(".payment-options");
1619
1698
  i && (i.innerHTML = `<div>
1620
1699
  ${E.map(
1621
- (a, l) => `
1700
+ (c, C) => `
1622
1701
  <div class="tab">
1623
- <button class="tab-button group" data-tab="${l}">
1702
+ <button class="tab-button group" data-tab="${C}">
1624
1703
  <div class="min-w-8 md:container-center lg:block">
1625
- ${a.icon}
1704
+ ${c.icon}
1626
1705
  </div>
1627
- <span>${a.label}</span>
1706
+ <span>${c.label}</span>
1628
1707
  </button>
1629
1708
  </div>
1630
1709
  `
1631
1710
  ).join("")}
1632
1711
  </div>`);
1633
- const c = document.querySelectorAll(".tab-button");
1634
- E.forEach((a, l) => {
1635
- const C = c[l];
1636
- if (C) {
1637
- const m = C.querySelector(".tab-button-icon"), d = C.querySelector(".tab-button-label");
1638
- m && (m.innerHTML = a.icon), d && (d.textContent = a.label), C.dataset.tab = l.toString(), C.addEventListener("click", () => {
1639
- this.setCurrentPaymentMethod(l);
1712
+ const o = document.querySelectorAll(".tab-button");
1713
+ E.forEach((c, C) => {
1714
+ const l = o[C];
1715
+ if (l) {
1716
+ const p = l.querySelector(".tab-button-icon"), g = l.querySelector(".tab-button-label");
1717
+ p && (p.innerHTML = c.icon), g && (g.textContent = c.label), l.dataset.tab = C.toString(), l.addEventListener("click", () => {
1718
+ this.setCurrentPaymentMethod(C);
1640
1719
  });
1641
1720
  }
1642
1721
  });
@@ -1664,16 +1743,19 @@ class c1 {
1664
1743
  </div>
1665
1744
  </div>`;
1666
1745
  }
1667
- viewMobileOptions(e) {
1668
- e.innerHTML = `
1669
- ${E.map(
1670
- (t, n) => `
1746
+ viewMobileOptions(t) {
1747
+ t.innerHTML = `
1748
+ ${E.filter((e) => {
1749
+ var A;
1750
+ return (((A = this.merchantPlanDetail) == null ? void 0 : A.paymentMethods) || []).includes(e.key);
1751
+ }).map(
1752
+ (e, A) => `
1671
1753
  <div class="tab">
1672
- <button class="mob-tab-button py-3 px-2 grow align-center text-grey-600 tex-sm font-semibold" data-tab="${n}">
1754
+ <button class="mob-tab-button py-3 px-2 grow align-center text-grey-600 tex-sm font-semibold" data-tab="${A}">
1673
1755
  <div class="min-w-8 mr-3 align-center">
1674
- ${t.icon}
1756
+ ${e.icon}
1675
1757
  </div>
1676
- <span>${t.label}</span>
1758
+ <span>${e.label}</span>
1677
1759
  </button>
1678
1760
  </div>
1679
1761
  `
@@ -1682,10 +1764,237 @@ class c1 {
1682
1764
  cleanup() {
1683
1765
  this.transfer && this.transfer.destroyTimer();
1684
1766
  }
1767
+ closeModal(t) {
1768
+ this.modalContainer && this.modalContainer.parentNode && document.body.removeChild(this.modalContainer), t && t();
1769
+ }
1770
+ setupParent(t) {
1771
+ t && t();
1772
+ }
1773
+ render() {
1774
+ return `
1775
+ <aside class="px-2 py-4 md:flex justify-center w-[250px] bg-[#f4f4ff] overflow-auto hidden">
1776
+ <div class="w-full py-8">
1777
+ <div class="container-center">
1778
+ <img src="" alt="Nba Logo" id="merchantLogo" class="hidden md:flex" />
1779
+ </div>
1780
+ <h5 class="text-xl font-semibold text-common pt-10 pb-4 text-center">PAYMENT OPTIONS</h5>
1781
+ <div class="payment-options">
1782
+
1783
+ <!-- Tab options -->
1784
+ </div>
1785
+ </div>
1786
+ </aside>
1787
+ <div class="main" id="main">
1788
+ <div class="container-center w-full bg-primary-lighter">
1789
+ <img src="" alt="Nba Logo" id="merchantLogoMob" class="md:hidden" />
1790
+ </div>
1791
+ <div id="mob-tab-co">
1792
+
1793
+ </div>
1794
+ <button type="button"
1795
+ class="hidden top-0 right-0 text-lg fixed hover:bg-primary hover:text-white h-6 w-6 md:flex justify-center items-end rounded-full close-btn">x</button>
1796
+
1797
+ <div class="box-container relative max-sm:py-4 max-sm:px-4">
1798
+ <!-- header -->
1799
+ <div class="header-container">
1800
+ <div class="container-between border-b border-b-white pb-[9.6px]">
1801
+ <p class="text-xs" id="merchant-email"></p>
1802
+ <p class="text-xs" id="plan-name">-</p>
1803
+ </div>
1804
+ <div class="container-between pt-[9.6px] pb-[6.4px]">
1805
+ <div class="align-center">
1806
+ <p class="text-sm mr-1" id="payment-rate-display">USD 1 = NGN 1</p>
1807
+ <div class="group relative flex flex-col items-center cursor-pointer">
1808
+ <svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
1809
+ <path
1810
+ d="M5 8C4.72386 8 4.5 7.77614 4.5 7.5L4.5 4C4.5 3.72386 4.72386 3.5 5 3.5C5.27614 3.5 5.5 3.72386 5.5 4L5.5 7.5C5.5 7.77614 5.27614 8 5 8Z"
1811
+ fill="#CCCCE8" />
1812
+ <path
1813
+ d="M5.625 2.625C5.625 2.27982 5.34518 2 5 2C4.65482 2 4.375 2.27982 4.375 2.625C4.375 2.97018 4.65482 3.25 5 3.25C5.34518 3.25 5.625 2.97018 5.625 2.625Z"
1814
+ fill="#CCCCE8" />
1815
+ <path fill-rule="evenodd" clip-rule="evenodd"
1816
+ d="M10 5C10 7.76142 7.76142 10 5 10C2.23858 10 1.95703e-07 7.76142 4.37114e-07 5C6.78525e-07 2.23858 2.23858 -6.78525e-07 5 -4.37114e-07C7.76142 -1.95703e-07 10 2.23858 10 5ZM5 9C7.20914 9 9 7.20914 9 5C9 2.79086 7.20914 1 5 1C2.79086 0.999999 1 2.79086 1 5C1 7.20914 2.79086 9 5 9Z"
1817
+ fill="#CCCCE8" />
1818
+ </svg>
1819
+
1820
+ <div class="tooltip">
1821
+ <div class="tooltip-textbox">
1822
+ <p class="tooltip-title">
1823
+ What is this?
1824
+ </p>
1825
+ <p class="tooltip-text">
1826
+ This rate reflects the current exchange rate for
1827
+ converting United States Dollars (USD) to Nigerian Naira
1828
+ (NGN). Please note that exchange rates are subject to
1829
+ change and may vary slightly at the time of the
1830
+ transaction.
1831
+ </p>
1832
+ </div>
1833
+ </div>
1834
+ </div>
1835
+ </div>
1836
+ <div>
1837
+ <p class="text-sm"> Pay
1838
+ <span id="container-payment-text"> USD 0</span>
1839
+ </p>
1840
+ </div>
1841
+
1842
+ </div>
1843
+
1844
+ <div class="flex justify-end">
1845
+ <div id="header-chip-amount" class="header-chip">
1846
+ NGN 1
1847
+ </div>
1848
+ </div>
1849
+ </div>
1850
+ <!-- body -->
1851
+ <div class="box-container-method">
1852
+ <div class="content active" data-content="0">
1853
+ </div>
1854
+ <div class="content" data-content="1"></div>
1855
+ <div class="content" data-content="2"></div>
1856
+ </div>
1857
+
1858
+ <div id="mob-container" class="md:hidden">
1859
+
1860
+
1861
+ </div>
1862
+ <!-- footer -->
1863
+ <div class="container-between gap-2 mt-20 mb-8 md:hidden" id="mob-action-btns">
1864
+ <button type="button" class="button-outline px-3 w-auto" id="change-method">
1865
+ <span class="text-[10px] mr-1">x</span> Change Payment Method
1866
+ </button>
1867
+ <button type="button" class="button-outline px-6 w-auto close-btn">
1868
+ <span class="text-[10px] mr-1">x</span> Cancel Payment
1869
+ </button>
1870
+ </div>
1871
+ <div class="container-center pt-2 pb-8 gap-1">
1872
+ <svg width="10" height="12" viewBox="0 0 10 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1873
+ <path
1874
+ d="M4.884 0.68L1.384 2.235C1.024 2.395 0.789001 2.755 0.789001 3.15V5.5C0.789001 8.275 2.709 10.87 5.289 11.5C7.869 10.87 9.789 8.275 9.789 5.5V3.15C9.789 2.755 9.554 2.395 9.194 2.235L5.694 0.68C5.439 0.565 5.139 0.565 4.884 0.68ZM5.289 5.995H8.789C8.524 8.055 7.149 9.89 5.289 10.465V6H1.789V3.15L5.289 1.595V5.995Z"
1875
+ fill="#6D6A73" />
1876
+ </svg>
1877
+
1878
+ <p class="text-[10px] text-grey-100">
1879
+ PCI DSS Certified
1880
+ </p>
1881
+ </div>
1882
+ </div>
1883
+ </div>
1884
+ `;
1885
+ }
1886
+ }
1887
+ class g1 {
1888
+ constructor(t) {
1889
+ a(this, "container");
1890
+ this.container = t;
1891
+ }
1892
+ renderContent(t) {
1893
+ this.container.innerHTML = this.render();
1894
+ const e = document.getElementById("error-message-div");
1895
+ e && (e.classList.remove("hidden"), e.innerHTML = t || "Failed");
1896
+ }
1897
+ render() {
1898
+ return `
1899
+ <div class="box-container">
1900
+ <button type="button"
1901
+ class="hidden top-0 right-0 text-lg fixed hover:bg-primary hover:text-white h-6 w-6 md:flex justify-center items-end rounded-full close-btn">x</button>
1902
+ <div class="container-center h-[40vh] hidden mx-auto" id="shared-error-container">
1903
+ <img src="" alt="error gif" class=" h-[50px] w-16" />
1904
+ <div id="error-message-div" class="hidden"></div>
1905
+ </div>
1906
+ </div>
1907
+ `;
1908
+ }
1909
+ }
1910
+ class m1 {
1911
+ constructor(t) {
1912
+ a(this, "container");
1913
+ this.container = t;
1914
+ }
1915
+ renderContent() {
1916
+ return this.container;
1917
+ }
1918
+ mountLoader() {
1919
+ this.container.innerHTML = this.render();
1920
+ }
1921
+ updateMessage(t) {
1922
+ const e = document.getElementById("loader-message");
1923
+ e && (e.textContent = t, e.classList.remove("hidden"));
1924
+ }
1925
+ render() {
1926
+ return `
1927
+ <div class="box-container">
1928
+ <div class="container-center h-[40vh] hidden" id="loader">
1929
+ <img src="" alt="loader gif" />
1930
+ <div id="loader-message" class="hidden"></div>
1931
+ </div>
1932
+ </div>
1933
+ `;
1934
+ }
1935
+ }
1936
+ const E1 = "data:image/png;base64,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";
1937
+ class B1 {
1938
+ constructor(t, e, A, n, s) {
1939
+ a(this, "modalContainer");
1940
+ a(this, "currentPaymentMethod");
1941
+ a(this, "currentStep");
1942
+ a(this, "mainLayout");
1943
+ a(this, "encryption");
1944
+ a(this, "container");
1945
+ a(this, "mainScreen");
1946
+ a(this, "mainError");
1947
+ a(this, "mainLoader");
1948
+ a(this, "merchantPlanDetail", {});
1949
+ a(this, "merchantKey");
1950
+ a(this, "planId");
1951
+ a(this, "email");
1952
+ a(this, "amount");
1953
+ a(this, "isMobile", !1);
1954
+ var c;
1955
+ if (this.encryption = e, this.modalContainer = document.createElement("div"), this.modalContainer.innerHTML = X, this.merchantKey = t, this.email = A, this.amount = n || 0, !t || !A)
1956
+ throw this.closeModal(), new Error("Merchant key or email is required");
1957
+ document.body.appendChild(this.modalContainer), this.planId = s || "", this.isMobile = window.matchMedia("(max-width: 767px)").matches, this.currentPaymentMethod = this.isMobile ? 3 : 0, this.currentStep = 1;
1958
+ const i = document.getElementById("main-layout-container-screen");
1959
+ if (!i) throw new Error("SDK Layout not available");
1960
+ this.mainLayout = i, this.mainScreen = new p1(
1961
+ this.mainLayout,
1962
+ this.modalContainer,
1963
+ t,
1964
+ this.encryption,
1965
+ A,
1966
+ n
1967
+ ), this.mainLoader = new m1(this.mainLayout), this.mainError = new g1(this.mainLayout), this.mainLoader.mountLoader();
1968
+ const o = this.mainLayout.querySelector("#loader");
1969
+ o && (o.classList.remove("hidden"), o.parentElement.classList.add("mx-auto"), (c = o.querySelector("img")) == null || c.setAttribute("src", b)), this.container = document.querySelectorAll(".content")[0];
1970
+ }
1971
+ closeBTN() {
1972
+ const t = document.body.querySelectorAll(".close-btn"), e = Array.from(t);
1973
+ e.length > 0 && e.forEach((A) => {
1974
+ A.addEventListener("click", () => {
1975
+ this.closeModal();
1976
+ });
1977
+ });
1978
+ }
1979
+ setup() {
1980
+ this.getPlanDetails();
1981
+ }
1982
+ getPlanDetails() {
1983
+ A1(this.merchantKey, this.planId).then((t) => {
1984
+ this.merchantPlanDetail = t, this.mainScreen.mountScreen(this.merchantPlanDetail);
1985
+ }).catch((t) => {
1986
+ var A;
1987
+ this.mainError.renderContent((t == null ? void 0 : t.message) || "Failed to called payment");
1988
+ const e = this.mainLayout.querySelector("#shared-error-container");
1989
+ e && (e.classList.remove("hidden"), e.parentElement.classList.add("mx-auto"), (A = e.querySelector("img")) == null || A.setAttribute("src", E1)), console.error({ err: t }), this.closeBTN();
1990
+ }).finally(() => {
1991
+ console.log("plan detail merchant informatio reached");
1992
+ });
1993
+ }
1685
1994
  closeModal() {
1686
- this.modalContainer && this.modalContainer.parentNode && document.body.removeChild(this.modalContainer);
1995
+ this.modalContainer && this.modalContainer.parentNode && document.body.removeChild(this.modalContainer), this.mainScreen.closeModal();
1687
1996
  }
1688
1997
  }
1689
1998
  export {
1690
- c1 as CheckoutForm
1999
+ B1 as CheckoutForm
1691
2000
  };