@spot-flow/checkout-inline-js 0.0.6 → 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,486 +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
- `, x = "data:image/png;base64,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", f = `<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
16
 
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
17
 
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
-
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
- `, k = `<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
- <button class="warning-button" fullWidth>
290
- Try again with your card
291
- </button>
292
- </div>
293
- <div>
294
- <button class="warning-button" fullWidth>
295
- Try again with transfer
296
- </button>
297
- </div>
298
- <div>
299
- <button class="warning-button mb-0" fullWidth>
300
- I already sent the money
301
- </button>
302
- </div>
303
- </div>
304
- </div>
305
- </div>
306
- `, v = `<div id="paymentSuccess">
307
- <div class="box-container">
308
- <div class="text-center mt-7"></div>
309
- <svg class="mx-auto" width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
310
- <circle cx="50" cy="50" r="50" fill="#D6F1E4" />
311
- <circle opacity="0.52" cx="49.5" cy="49.5" r="37.5" fill="#99DDBC" />
312
- <ellipse cx="48.4502" cy="48.45" rx="23.25" ry="23.25" fill="white" />
313
- <path
314
- 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"
315
- fill="#54C68F" />
316
- </svg>
317
-
318
- <h5 class="success-text">
319
- Your payment has been received
320
- </h5>
321
- </div>
322
-
323
- <div class="mt-12 mx-auto w-3/5">
324
- <button class="success-button close-btn">
325
- Close
326
- </button>
327
- </div>
328
-
329
- </div>
330
- </div>
331
- </div>`, N = `<div class="box-container">
332
- <div class="container-center h-[40vh] hidden" id="loader">
333
- <img src="" alt="loader gif" />
334
- </div>
335
- </div>
336
24
  `;
337
- class u extends Error {
338
- constructor(e, t) {
339
- 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";
340
28
  }
341
29
  }
342
- class m extends Error {
343
- constructor(e) {
344
- super(e), this.name = "AuthorizationError";
30
+ class u extends Error {
31
+ constructor(t) {
32
+ super(t), this.name = "AuthorizationError";
345
33
  }
346
34
  }
347
- const L = (r) => {
35
+ const B = (r) => {
348
36
  if (!r)
349
- throw new m("Missing authorization token");
350
- const e = new Headers();
351
- return e.append("Content-Type", "application/json"), e.append("Authorization", `Bearer ${r}`), e;
352
- }, Q = "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) => {
353
41
  try {
354
- const t = L(r), n = await fetch(`${Q}/payments`, {
42
+ const e = B(r), A = await fetch(`${w}/payments`, {
355
43
  method: "POST",
356
- headers: t,
357
- body: JSON.stringify(e)
44
+ headers: e,
45
+ body: JSON.stringify(t)
358
46
  });
359
- if (!n.ok) {
360
- const s = await n.json();
361
- throw s.message ? new u(s.message, n.status) : new u("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);
362
50
  }
363
- return await n.json();
364
- } catch (t) {
365
- throw t instanceof u ? console.error(`FetchError: ${t.message} (status: ${t.status})`) : t instanceof m ? 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;
366
54
  }
367
- }, Y = async (r, e) => {
55
+ }, _ = async (r, t) => {
368
56
  try {
369
- const t = L(r), n = await fetch(`${Q}/payments/authorize`, {
57
+ const e = B(r), A = await fetch(`${w}/payments/authorize`, {
370
58
  method: "POST",
371
- headers: t,
372
- body: JSON.stringify(e)
59
+ headers: e,
60
+ body: JSON.stringify(t)
373
61
  });
374
- if (!n.ok) {
375
- const s = await n.json();
376
- throw s.message ? new u(s.message, n.status) : new u("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);
377
65
  }
378
- return await n.json();
379
- } catch (t) {
380
- throw t instanceof u ? console.error(`FetchError: ${t.message} (status: ${t.status})`) : t instanceof m ? 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;
381
69
  }
382
- }, z = async (r, e) => {
70
+ }, t1 = async (r, t) => {
383
71
  try {
384
- const t = L(r), n = await fetch(`${Q}/payments/validate`, {
72
+ const e = B(r), A = await fetch(`${w}/payments/validate`, {
385
73
  method: "POST",
386
- headers: t,
387
- body: JSON.stringify(e)
74
+ headers: e,
75
+ body: JSON.stringify(t)
388
76
  });
389
- if (!n.ok) {
390
- const s = await n.json();
391
- throw s.message ? new u(s.message, n.status) : new u("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);
392
80
  }
393
- return await n.json();
394
- } catch (t) {
395
- throw t instanceof u ? console.error(`FetchError: ${t.message} (status: ${t.status})`) : t instanceof m ? 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;
396
84
  }
397
- }, V = async (r, e) => {
85
+ }, e1 = async (r, t) => {
398
86
  try {
399
- const t = L(r), n = await fetch(`${Q}/payments`, {
87
+ const e = B(r), A = await fetch(`${w}/payments`, {
400
88
  method: "POST",
401
- headers: t,
402
- 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
403
106
  });
404
107
  if (!n.ok) {
405
- const s = await n.json();
406
- throw s.message ? new u(s.message, n.status) : new u("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);
407
110
  }
408
111
  return await n.json();
409
- } catch (t) {
410
- throw t instanceof u ? console.error(`FetchError: ${t.message} (status: ${t.status})`) : t instanceof m ? 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;
411
114
  }
412
- }, F = async (r, e, t) => {
115
+ };
116
+ async function A1(r, t) {
413
117
  try {
414
- const n = L(r), A = await fetch(`${Q}/payments/verify?reference=${e}`, {
415
- method: "GET",
416
- headers: n,
417
- signal: t
118
+ const e = B(r), A = await fetch(`${w}/checkout-configurations?planId=${t || ""}`, {
119
+ headers: e,
120
+ method: "GET"
418
121
  });
419
122
  if (!A.ok) {
420
- const i = await A.json();
421
- throw i.message ? new u(i.message, A.status) : new u("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);
422
125
  }
423
- return await A.json();
424
- } catch (n) {
425
- throw n instanceof u ? console.error(`FetchError: ${n.message} (status: ${n.status})`) : n instanceof m ? 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;
426
129
  }
427
- }, T = () => {
428
- const r = Date.now().toString(36), e = "xxxx-xxxx-xxx-xxxx".replace(/[x]/g, () => Math.floor(Math.random() * 16).toString(16));
429
- return `SPF-${r}-${e}`.toUpperCase();
430
- }, S = (r = "") => r.replace(/\D+/g, ""), P = (r) => {
431
- if (!r)
432
- return r;
433
- const e = S(r);
434
- return `${e.slice(0, 4)} ${e.slice(
435
- 4,
436
- 8
437
- )} ${e.slice(8, 12)} ${e.slice(12, 16)}`.trim();
438
- }, W = (r) => S(r).slice(0, 3), j = (r) => {
439
- const e = S(r);
440
- return e.length >= 3 ? `${e.slice(0, 2)} / ${e.slice(2, 4)}` : e;
441
- }, X = (r) => {
442
- if (!r)
443
- return r;
444
- const e = S(r);
445
- return `${e.slice(0, 4)}${e.slice(
446
- 4,
447
- 8
448
- )}${e.slice(8, 12)}${e.slice(12, 16)}`.trim();
449
- }, B = (r) => {
450
- const e = Math.floor(r / 60), t = r % 60;
451
- return `${String(e).padStart(2, "0")}:${String(t).padStart(2, "0")}`;
452
- }, $ = (r) => {
453
- r = r.replace(/\D/g, "");
454
- const e = {
455
- Visa: /^4/,
456
- MasterCard: /^5[1-5]|^2(2[2-9]|[3-6]|7[01])/,
457
- "American Express": /^3[47]/,
458
- Discover: /^6(?:011|5|4[4-9]|22)/,
459
- UnionPay: /^62/,
460
- Verve: /^506099|^5061[0-8]|^50619|^6500[02]|^5078[6-9]|^65003[1-3]/
461
- };
462
- for (const [t, n] of Object.entries(e))
463
- if (n.test(r))
464
- return t;
465
- return "Unknown";
466
- }, _ = (r, e) => {
467
- const t = document.createElement("div");
468
- t.classList.add("toast", e);
469
- const n = document.createElement("span");
470
- n.textContent = r, t.appendChild(n);
471
- const A = document.createElement("span");
472
- return A.textContent = "×", A.classList.add("close-btn"), A.onclick = () => G(t), t.appendChild(A), t;
473
- }, h = (r, e, t = 3e3) => {
474
- const n = document.getElementById("toast-container");
475
- if (n) {
476
- const A = _(r, e);
477
- n.appendChild(A), A.offsetHeight, A.classList.add("show"), setTimeout(() => G(A), t);
478
- }
479
- }, G = (r) => {
480
- r.classList.remove("show"), r.addEventListener("transitionend", () => {
481
- r.parentElement && r.parentElement.removeChild(r);
482
- });
483
- }, H = "data:image/gif;base64,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", E = [
130
+ }
131
+ const E = [
484
132
  {
485
133
  label: "Pay with Card",
486
134
  icon: `<svg width="23" height="19" viewBox="0 0 23 19" fill="none" xmlns="http://www.w3.org/2000/svg">
@@ -502,7 +150,7 @@ const L = (r) => {
502
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"/>
503
151
  </svg>
504
152
  `,
505
- key: "transfer"
153
+ key: "bank_transfer"
506
154
  },
507
155
  {
508
156
  label: "Pay with USSD",
@@ -512,7 +160,7 @@ const L = (r) => {
512
160
  `,
513
161
  key: "ussd"
514
162
  }
515
- ], t1 = [
163
+ ], n1 = [
516
164
  {
517
165
  name: "First City Monument Bank",
518
166
  code: "*329#"
@@ -521,7 +169,7 @@ const L = (r) => {
521
169
  name: "First Bank",
522
170
  code: "*268#"
523
171
  }
524
- ], y = [
172
+ ], m = [
525
173
  {
526
174
  name: "MasterCard",
527
175
  icon: `<svg width="24" height="14" viewBox="0 0 24 14" fill="none" xmlns="http://www.w3.org/2000/svg">
@@ -592,245 +240,537 @@ const L = (r) => {
592
240
  </svg>
593
241
  `
594
242
  }
595
- ];
596
- class R {
597
- constructor(e, t, n, A, s) {
598
- o(this, "cardDetailsValues");
599
- o(this, "cardPin");
600
- o(this, "cardOtp");
601
- o(this, "contents");
602
- o(this, "container");
603
- o(this, "closeModal");
604
- o(this, "email");
605
- o(this, "token");
606
- o(this, "amount");
607
- o(this, "_currentStep");
608
- o(this, "activeRef");
609
- o(this, "creditCardTypes");
610
- 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 = {
611
563
  number: "",
612
564
  expiry: "",
613
565
  cvv: ""
614
- }, this.cardPin = "", this.cardOtp = "", this.activeRef = "", this.contents = document.querySelectorAll(".content"), this.creditCardTypes = [...y], 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();
615
567
  }
616
568
  displayCardTypes() {
617
569
  requestAnimationFrame(() => {
618
- const e = this.container.querySelector(
619
- "#card-types"
620
- );
621
- this.creditCardTypes.length === 1 && this.creditCardTypes[0].name === "Unknown" ? y.forEach((t) => {
622
- const n = document.createElement("div");
623
- n.classList.add("card-type"), n.innerHTML = t.icon, e.appendChild(n);
624
- }) : (e.innerHTML = "", this.creditCardTypes.forEach((t) => {
625
- const n = document.createElement("div");
626
- 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);
627
577
  }));
628
578
  });
629
579
  }
630
580
  get currentStep() {
631
581
  return this._currentStep;
632
582
  }
633
- set currentStep(e) {
634
- this._currentStep = e, this.renderCardContent(), e === 1 && this.displayCardTypes();
583
+ set currentStep(t) {
584
+ this._currentStep = t, this.renderCardContent(), t === 1 && (this.displayCardTypes(), this.creditCardTypes = [...m]);
635
585
  }
636
586
  attachInputListeners() {
637
- const e = this.container.querySelector(
638
- 'input[name="number"]'
639
- ), t = this.container.querySelector(
640
- 'input[name="expiry"]'
641
- ), n = this.container.querySelector(
642
- 'input[name="cvv"]'
643
- ), A = this.container.querySelector(
644
- ".details-form-button"
645
- ), s = document.querySelector("#checkoutcard"), i = Array.from(
646
- this.container.querySelectorAll(".pin-input")
647
- ), c = this.container.querySelector(
648
- ".otp-input"
649
- ), a = this.container.querySelector(
650
- ".otp-button"
651
- ), C = this.container.querySelector(
652
- ".success-button"
653
- );
654
- e && e.addEventListener(
655
- "input",
656
- (l) => this.handleInputChange(l, A)
657
- ), t && t.addEventListener(
658
- "input",
659
- (l) => this.handleInputChange(l, A)
660
- ), n && n.addEventListener(
661
- "input",
662
- (l) => this.handleInputChange(l, A)
663
- ), s && s.addEventListener("submit", (l) => this.handleSubmit(l)), i.forEach((l, d) => {
664
- l.addEventListener(
665
- "input",
666
- (p) => this.handlePinInputChange(p, d, i)
667
- ), l.addEventListener(
668
- "paste",
669
- (p) => this.handlePinPaste(p, i)
670
- );
671
- }), c && c.addEventListener(
672
- "input",
673
- (l) => this.handleOtpInput(l, a)
674
- ), a && a.addEventListener("click", (l) => this.submitOtp(l)), C && C.addEventListener("click", () => this.closeModal());
675
- }
676
- handleInputChange(e, t) {
677
- const n = e.target, { name: A, value: s } = n;
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", () => {
591
+ this.currentStep = 1;
592
+ }), i && i.addEventListener("click", () => {
593
+ this.switchTab(1);
594
+ });
595
+ }
596
+ handleInputChange(t, e) {
597
+ const A = t.target, { name: n, value: s } = A;
678
598
  let i = s;
679
- A === "number" ? (i = P(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 = {
680
600
  ...this.cardDetailsValues,
681
- [A]: i
682
- }, 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");
683
603
  }
684
604
  handlePinRequest() {
685
- const e = this.container.querySelector("#loader"), t = this.container.querySelector("#pin-content");
686
605
  if (this.cardPin.length === 4) {
687
- const n = {
606
+ const t = {
688
607
  authorization: {
689
608
  pin: this.cardPin
690
609
  },
691
610
  reference: this.activeRef
692
611
  };
693
612
  setTimeout(() => {
694
- var s;
695
- e && t && (e.classList.remove("hidden"), (s = e.querySelector("img")) == null || s.setAttribute("src", H), t.classList.add("hidden")), Y(this.token, n).then((i) => {
696
- i.status === "failed" ? i.providerMessage ? h(i.providerMessage, "error") : h("Payment failed", "error") : (h("Payment Authorized!", "success"), this.currentStep = 3);
697
- }).catch((i) => {
698
- h(i.message, "error");
699
- }).finally(() => {
700
- e && t && (e.classList.add("hidden"), t.classList.remove("hidden"));
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");
701
617
  });
702
618
  }, 500);
703
619
  }
704
620
  }
705
- handlePinInputChange(e, t, n) {
706
- 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();
707
623
  }
708
624
  showLoader() {
709
- var t;
710
- const e = this.container.querySelector("#loader");
711
- e && (e.classList.remove("hidden"), (t = e.querySelector("img")) == null || t.setAttribute("src", H));
712
- }
713
- handlePinPaste(e, t) {
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));
628
+ }
629
+ setPaymentError(t) {
630
+ const e = this.container.querySelector("#payment-warning-text"), A = this.container.querySelector(".warning-list");
631
+ e && (e.textContent = t), A && [
632
+ {
633
+ text: "Try again with your card",
634
+ action: "go-to-card"
635
+ },
636
+ {
637
+ text: "Try again with transfer",
638
+ action: "go-to-transfer"
639
+ }
640
+ ].forEach(({ action: s, text: i }) => {
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);
645
+ }), this.attachInputListeners();
646
+ }
647
+ handlePinPaste(t, e) {
714
648
  var s;
715
- e.preventDefault(), this.cardPin = "";
716
- const A = (((s = e.clipboardData) == null ? void 0 : s.getData("text").trim()) || "").split("");
717
- t.forEach((i, c) => {
718
- 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] || "";
719
653
  });
720
- for (let i = 0; i < t.length; i++)
721
- if (!t[i].value) {
722
- t[i].focus();
654
+ for (let i = 0; i < e.length; i++)
655
+ if (!e[i].value) {
656
+ e[i].focus();
723
657
  break;
724
658
  }
725
- this.cardPin = t.map((i) => i.value).join(""), this.handlePinRequest();
659
+ this.cardPin = e.map((i) => i.value).join(""), this.handlePinRequest();
726
660
  }
727
- handleOtpInput(e, t) {
728
- const n = e.target, { value: A } = n;
729
- 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");
730
664
  }
731
- submitOtp(e) {
732
- var i;
733
- e.preventDefault();
734
- const t = this.container.querySelector("#loader"), n = this.container.querySelector("#otp-content"), A = {
665
+ submitOtp(t) {
666
+ t.preventDefault();
667
+ const e = {
735
668
  authorization: {
736
- otp: this.cardPin
669
+ otp: this.cardOtp
737
670
  },
738
671
  reference: this.activeRef
739
672
  };
740
- t && n && (t.classList.remove("hidden"), (i = t.querySelector("img")) == null || i.setAttribute("src", H), n.classList.add("hidden")), z(this.token, A).then((c) => {
741
- c.status === "failed" ? c.providerMessage ? h(c.providerMessage, "error") : h("Payment failed", "error") : c.status === "successful" && (this.currentStep = 5);
742
- }).catch((c) => {
743
- h(c.message, "error");
744
- }).finally(() => {
745
- t && n && (t.classList.add("hidden"), n.classList.remove("hidden"));
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");
746
677
  });
747
678
  }
748
- async handleSubmit(e) {
749
- var i, c;
750
- e.preventDefault();
751
- const t = this.container.querySelector(".spinner"), n = this.container.querySelector(
752
- "#details-form-button-text"
753
- ), 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 = {
754
682
  amount: this.amount,
755
683
  channel: "card",
756
684
  currency: "USD",
757
685
  customer: {
758
686
  email: this.email
759
687
  },
760
- reference: T(),
761
- card: {
762
- pan: X(this.cardDetailsValues.number),
763
- cvv: this.cardDetailsValues.cvv,
764
- expiryMonth: (i = this.cardDetailsValues) == null ? void 0 : i.expiry.split("/")[0].trim(),
765
- expiryYear: (c = this.cardDetailsValues) == null ? void 0 : c.expiry.split("/")[1].trim()
766
- }
688
+ reference: G(),
689
+ // card: {
690
+ // ..._values,
691
+ // },
692
+ encryptedCard: s
767
693
  };
768
- t && n && (t.classList.remove("hidden"), n.classList.add("hidden")), q(this.token, A).then((a) => {
769
- a.status === "failed" ? a.providerMessage ? h(a.providerMessage, "error") : h("Payment failed", "error") : 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));
770
- }).catch((a) => {
771
- h(a.message, "error");
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");
772
698
  }).finally(() => {
773
- t && n && (t.classList.add("hidden"), n.classList.remove("hidden"));
699
+ A && n && (A.classList.add("hidden"), n.classList.remove("hidden"));
774
700
  });
775
701
  }
776
- redirectTo3DS(e) {
777
- const t = window.open(e, "_blank");
778
- if (t) {
702
+ redirectTo3DS(t) {
703
+ const e = window.open(t, "_blank");
704
+ if (e) {
779
705
  this.currentStep = 6, this.showLoader();
780
- const n = setInterval(() => {
781
- t.closed && (clearInterval(n), this.verifyPayment(
706
+ const A = setInterval(() => {
707
+ e.closed && (clearInterval(A), this.verifyPayment(
782
708
  () => {
783
709
  this.currentStep = 5;
784
710
  },
785
- (A) => {
786
- h(A.message, "error"), this.currentStep = 4;
711
+ (n) => {
712
+ h(n.message, "error"), this.currentStep = 4;
787
713
  }
788
714
  ));
789
715
  }, 2e3);
790
716
  } else
791
- alert(
792
- "Please enable popups for this site to complete the authentication."
793
- );
717
+ alert("Please enable popups for this site to complete the authentication.");
794
718
  }
795
- async verifyPayment(e, t) {
719
+ async verifyPayment(t, e) {
796
720
  try {
797
- const n = await F(
798
- this.token,
799
- this.activeRef
800
- );
801
- n.status === "failed" ? this.currentStep = 4 : e(n);
802
- } catch (n) {
803
- 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"));
804
725
  }
805
726
  }
806
727
  getCardStepContent() {
807
728
  switch (this.currentStep) {
808
729
  case 1:
809
- return f;
730
+ return this.cardDetailForm = new D(this.contents[0]), this.cardDetailForm.render();
810
731
  case 2:
811
- return O;
732
+ return R;
812
733
  case 3:
813
- return Z;
814
- case 4:
815
734
  return k;
735
+ case 4:
736
+ return f;
816
737
  case 5:
817
738
  return v;
818
739
  case 6:
819
- return N;
740
+ return F;
820
741
  default:
821
- return f;
742
+ return this.cardDetailForm = new D(this.contents[0]), this.cardDetailForm.render();
822
743
  }
823
744
  }
824
- filterCreditCardType(e) {
825
- e ? (this.creditCardTypes = y.filter(
826
- (t) => t.name === $(e)
827
- ), this.creditCardTypes.length >= 1 ? this.displayCardTypes() : (this.creditCardTypes = [...y], this.displayCardTypes())) : (this.creditCardTypes = [...y], 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());
828
747
  }
829
748
  renderCardContent() {
830
- 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)}`);
831
771
  }
832
772
  }
833
- const b = `<div>
773
+ const U = `<div>
834
774
  <div class="box-container">
835
775
  <div class="container-center h-[40vh] hidden" id="loader">
836
776
  <img src="" alt="loader gif" />
@@ -1011,7 +951,7 @@ const b = `<div>
1011
951
  </div>
1012
952
  </div>
1013
953
  </div>
1014
- `, e1 = `<div id="paymentWarning">
954
+ `, a1 = `<div id="paymentWarning">
1015
955
  <div class="box-container">
1016
956
  <div class="text-center mt-7">
1017
957
  <svg class="mx-auto" width="48" height="46" viewBox="0 0 48 46" fill="none"
@@ -1037,7 +977,7 @@ const b = `<div>
1037
977
  </div>
1038
978
  </div>
1039
979
  </div>
1040
- </div>`, n1 = `<div id="trasferConfirmationOne">
980
+ </div>`, o1 = `<div id="trasferConfirmationOne">
1041
981
  <div class="box-container">
1042
982
  <div class="text-center mt-7 w-4/5 md:w-3/5 mx-auto">
1043
983
  <h5 class="text-center text-grey-400 w-4/5 mx-auto mt-4 mb-7 flex">
@@ -1056,7 +996,7 @@ const b = `<div>
1056
996
  </div>
1057
997
  </div>
1058
998
  </div>
1059
- </div>`, A1 = `<div id="trasferConfirmationOne">
999
+ </div>`, c1 = `<div id="trasferConfirmationOne">
1060
1000
  <div class="box-container">
1061
1001
  <div class="text-center mt-7 w-4/5 md:w-3/5 mx-auto">
1062
1002
  <h5 class="text-center text-grey-400 w-4/5 mx-auto mt-4 mb-7 flex">
@@ -1084,7 +1024,7 @@ const b = `<div>
1084
1024
  </div>
1085
1025
  </div>
1086
1026
  </div>
1087
- `, s1 = `<div id="trasferConfirmationProgress">
1027
+ `, C1 = `<div id="trasferConfirmationProgress">
1088
1028
  <div class="box-container">
1089
1029
  <div class="text-center mt-7 w-11/12 md:w-4/5 mx-auto">
1090
1030
  <h5
@@ -1134,121 +1074,121 @@ const b = `<div>
1134
1074
  </div>
1135
1075
  </div>
1136
1076
  `;
1137
- class i1 {
1138
- constructor(e, t, n, A, s) {
1139
- o(this, "container");
1140
- o(this, "contents");
1141
- o(this, "closeModal");
1142
- o(this, "email");
1143
- o(this, "token");
1144
- o(this, "amount");
1145
- o(this, "_currentStep");
1146
- o(this, "activeRef");
1147
- o(this, "paymentResponse");
1148
- o(this, "initialTime");
1149
- o(this, "timeLeft");
1150
- o(this, "timerId");
1151
- o(this, "abortController", null);
1152
- 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());
1153
1093
  }
1154
1094
  get currentStep() {
1155
1095
  return this._currentStep;
1156
1096
  }
1157
- set currentStep(e) {
1158
- 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");
1159
1099
  }
1160
1100
  attachInputListeners() {
1161
- 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"), C = this.container.querySelector(".transfer-button"), l = this.container.querySelector("#show-acn"), d = this.container.querySelector("#ctd-timer"), p = 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(
1162
1102
  ".success-button"
1163
- ), w = this.container.querySelector("#confirm-one"), g = this.container.querySelector(".transfer-close");
1164
- if (t && e && t.addEventListener("click", () => {
1165
- n && this.copyToClipboard(e.innerHTML, n);
1166
- }), s && A && s.addEventListener("click", () => {
1167
- i && this.copyToClipboard(A.innerHTML.split(" ")[1], i);
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);
1168
1108
  }), C && C.addEventListener("click", () => {
1169
1109
  this.abortController && (this.abortController.abort(), this.currentStep = 5);
1170
- }), c && c.addEventListener("click", () => {
1110
+ }), o && o.addEventListener("click", () => {
1171
1111
  this.currentStep = 1;
1172
- }), a && a.addEventListener("click", () => {
1112
+ }), c && c.addEventListener("click", () => {
1173
1113
  this.abortController && (this.abortController.abort(), this.currentStep = 5);
1174
1114
  }), l && l.addEventListener("click", () => {
1175
1115
  this.stopProgressBar(), this.currentStep = 1;
1176
1116
  }), this.currentStep === 5) {
1177
- this.initialTime = 300, this.timeLeft = this.initialTime, d && (d.innerHTML = B(this.initialTime));
1178
- const U = 3e4;
1117
+ this.initialTime = 300, this.timeLeft = this.initialTime, p && (p.innerHTML = S(this.initialTime));
1118
+ const L = 3e4;
1179
1119
  this.abortController = new AbortController(), setTimeout(() => {
1180
1120
  this.verifyTransfer(
1181
1121
  this.token,
1182
- U,
1122
+ L,
1183
1123
  () => {
1184
1124
  this.currentStep = 6;
1185
1125
  },
1186
- (M) => {
1187
- console.error("Polling failed:", M), h(M.message, "error");
1126
+ (T) => {
1127
+ console.error("Polling failed:", T), h(T.message, "error");
1188
1128
  }
1189
1129
  );
1190
1130
  }, 5e3), this.startTimer("check");
1191
1131
  }
1192
- w && w.addEventListener("click", () => {
1132
+ Q && Q.addEventListener("click", () => {
1193
1133
  this.currentStep = 4;
1194
- }), p && p.addEventListener("click", () => this.closeModal()), g && g.addEventListener("click", () => this.closeModal());
1134
+ }), g && g.addEventListener("click", () => this.closeModal()), y && y.addEventListener("click", () => this.closeModal());
1195
1135
  }
1196
1136
  async createTransfer() {
1197
1137
  requestAnimationFrame(() => {
1198
1138
  var s;
1199
- const e = this.container.querySelector("#loader"), t = this.container.querySelector("#details-content");
1200
- e && t && (e.classList.remove("hidden"), (s = e.querySelector("img")) == null || s.setAttribute("src", H), t.classList.add("hidden"));
1201
- 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 = {
1202
1142
  amount: this.amount,
1203
1143
  channel: "bank_transfer",
1204
1144
  currency: "USD",
1205
1145
  customer: {
1206
1146
  email: this.email
1207
1147
  },
1208
- reference: T()
1148
+ reference: G()
1209
1149
  };
1210
- V(this.token, n).then((i) => {
1150
+ e1(this.token, A).then((i) => {
1211
1151
  if (i.status === "failed")
1212
1152
  i.providerMessage ? h(i.providerMessage, "error") : h("Payment failed", "error"), this.currentStep = 2;
1213
1153
  else {
1214
- e && t && (e.classList.add("hidden"), t.classList.remove("hidden")), this.activeRef = i.reference, this.paymentResponse = i, this.updateTransferDetailsContent();
1215
- 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;
1216
1156
  setTimeout(() => {
1217
1157
  this.verifyTransfer(
1218
1158
  this.token,
1219
- c,
1159
+ o,
1220
1160
  () => {
1221
1161
  this.currentStep = 6;
1222
1162
  },
1223
- (a) => {
1224
- console.error("Polling failed:", a), h(a.message, "error");
1163
+ (c) => {
1164
+ console.error("Polling failed:", c), h(c.message, "error");
1225
1165
  }
1226
1166
  );
1227
- }, c);
1167
+ }, o);
1228
1168
  }
1229
1169
  }).catch((i) => {
1230
1170
  h(i.message, "error");
1231
1171
  });
1232
1172
  });
1233
1173
  }
1234
- async verifyTransfer(e, t, n, A) {
1235
- let s = 0, i = t, c = !0, a;
1236
- this.abortController && (a = this.abortController.signal);
1174
+ async verifyTransfer(t, e, A, n) {
1175
+ let s = 0, i = e, o = !0, c;
1176
+ this.abortController && (c = this.abortController.signal);
1237
1177
  const C = async () => {
1238
1178
  if (this.timeLeft <= 0) {
1239
- 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;
1240
1180
  return;
1241
1181
  }
1242
1182
  s += 1;
1243
1183
  try {
1244
- const l = await F(
1245
- e,
1184
+ const l = await N(
1185
+ t,
1246
1186
  this.activeRef,
1247
- a
1187
+ c
1248
1188
  );
1249
- l.status === "failed" ? c && (i = t * (s + 1), setTimeout(C, i)) : (c = !1, n(l));
1189
+ l.status === "failed" ? o && (i = e * (s + 1), setTimeout(C, i)) : (o = !1, A(l));
1250
1190
  } catch {
1251
- c && (i = t * (s + 1), setTimeout(C, i));
1191
+ o && (i = e * (s + 1), setTimeout(C, i));
1252
1192
  }
1253
1193
  };
1254
1194
  C();
@@ -1256,43 +1196,43 @@ class i1 {
1256
1196
  getTransferStepContent() {
1257
1197
  switch (this.currentStep) {
1258
1198
  case 1:
1259
- return b;
1199
+ return U;
1260
1200
  case 2:
1261
- return e1;
1201
+ return a1;
1262
1202
  case 3:
1263
- return n1;
1203
+ return o1;
1264
1204
  case 4:
1265
- return A1;
1205
+ return c1;
1266
1206
  case 5:
1267
- return s1;
1207
+ return C1;
1268
1208
  case 6:
1269
1209
  return v;
1270
1210
  default:
1271
- return b;
1211
+ return U;
1272
1212
  }
1273
1213
  }
1274
1214
  updateTransferDetailsContent() {
1275
1215
  var s;
1276
- 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");
1277
- 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(
1278
1218
  (i) => {
1279
- var c, a;
1280
- 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}`;
1281
1221
  }
1282
- ), 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"));
1283
1223
  }
1284
1224
  renderTransferContent() {
1285
1225
  this.contents[1] && (this.contents[1].innerHTML = this.getTransferStepContent(), this.attachInputListeners());
1286
1226
  }
1287
- startTimer(e) {
1288
- const t = this.container.querySelector("#ctd-timer");
1227
+ startTimer(t) {
1228
+ const e = this.container.querySelector("#ctd-timer");
1289
1229
  this.stopTimer(), this.timerId = window.setInterval(() => {
1290
- 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));
1291
1231
  }, 1e3);
1292
1232
  }
1293
1233
  updateProgressTimerContent() {
1294
- 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");
1295
- 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));
1296
1236
  }
1297
1237
  stopTimer() {
1298
1238
  this.timerId !== null && (clearInterval(this.timerId), this.timerId = null);
@@ -1304,16 +1244,16 @@ class i1 {
1304
1244
  // }
1305
1245
  // }
1306
1246
  stopProgressBar() {
1307
- const e = this.container.querySelector(
1247
+ const t = this.container.querySelector(
1308
1248
  ".progress-bar"
1309
1249
  );
1310
- e && (e.style.animationPlayState = "paused");
1250
+ t && (t.style.animationPlayState = "paused");
1311
1251
  }
1312
- copyToClipboard(e, t) {
1313
- navigator.clipboard.writeText(e).then(() => {
1314
- t.innerHTML = "Copied!";
1252
+ copyToClipboard(t, e) {
1253
+ navigator.clipboard.writeText(t).then(() => {
1254
+ e.innerHTML = "Copied!";
1315
1255
  }).catch(() => {
1316
- t.innerHTML = "Failed to copy";
1256
+ e.innerHTML = "Failed to copy";
1317
1257
  });
1318
1258
  }
1319
1259
  destroyTimer() {
@@ -1323,195 +1263,302 @@ class i1 {
1323
1263
  this.abortController && this.abortController.abort();
1324
1264
  }
1325
1265
  }
1326
- const I = `<div id="ussdBanks">
1327
- <div class="box-container">
1328
- <div class="text-center my-6">
1329
- <svg
1330
- class="mx-auto w-8 h-8 mb-3"
1331
- width="18"
1332
- height="18"
1333
- viewBox="0 0 18 18"
1334
- fill="none"
1335
- xmlns="http://www.w3.org/2000/svg"
1336
- >
1337
- <path
1338
- 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"
1339
- fill="#01008E"
1340
- />
1341
- </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>
1342
1308
 
1343
- <h5 class="content-heading">Choose your bank to start the payment</h5>
1344
- </div>
1309
+ <h5 class="content-heading">Choose your bank to start the payment</h5>
1310
+ </div>
1345
1311
 
1346
- <div class="my-12">
1347
- <div class="relative md:mx-[18px] mb-4 mx-0">
1348
- <div class="relative">
1349
- <input
1350
- type="text"
1351
- id="bank-search-input"
1352
- class=""
1353
- placeholder="Search..."
1354
- autocomplete="off"
1355
- />
1356
- <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>
1357
1343
  </div>
1358
1344
  </div>
1359
- </div>
1360
- </div>
1361
- </div>
1362
- `, r1 = `<div id="viewCode">
1363
- <div class="box-container">
1364
- <div class="text-center pb-5 mt-4 mb-6">
1365
- <svg
1366
- class="mx-auto w-8 h-8 mb-3"
1367
- width="18"
1368
- height="18"
1369
- viewBox="0 0 18 18"
1370
- fill="none"
1371
- xmlns="http://www.w3.org/2000/svg"
1372
- >
1373
- <path
1374
- 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"
1375
- fill="#01008E"
1376
- />
1377
- </svg>
1378
1345
 
1379
- <div class="w-4/5 mx-auto">
1380
- <h5 class="content-heading">
1381
- Dial the code below to complete this transaction with FCMB’s 329
1382
- </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>
1383
1372
 
1384
- <p class="text-primary-dark my-4">How to pay with FCMB USSD</p>
1385
- </div>
1386
- </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>
1387
1377
 
1388
- <div>
1389
- <button class="copy-code-button">
1390
- <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>
1391
1381
 
1392
- <svg
1393
- width="14"
1394
- height="14"
1395
- viewBox="0 0 14 14"
1396
- fill="none"
1397
- xmlns="http://www.w3.org/2000/svg"
1398
- >
1399
- <path
1400
- 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"
1401
- fill="#F4F4FF"
1402
- />
1403
- <path
1404
- 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"
1405
- fill="#F4F4FF"
1406
- />
1407
- </svg>
1408
- </button>
1382
+ <div>
1383
+ <button class="copy-code-button">
1384
+ <span> *329*33*4*343788#</span>
1409
1385
 
1410
- <div class="container-center">
1411
- <button class="text-grey-400 text-sm text-center hover:underline">
1412
- Click to copy
1413
- </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>
1414
1418
  </div>
1415
- </div>
1416
1419
 
1417
- <div class="pt-16 mb-2">
1418
- <button class="ussd-button text-grey-700">I have completed the payment</button>
1419
- </div>
1420
- <div class="container-center">
1421
- <button class="text-grey-400 text-center hover:underline">Cancel</button>
1422
- </div>
1423
- </div>
1424
- </div>
1425
- `;
1426
- class a1 {
1427
- 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) {
1428
1432
  // private container: HTMLElement;
1429
- o(this, "contents");
1430
- o(this, "banks");
1431
- o(this, "_currentStep");
1432
- 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;
1433
1444
  }
1434
1445
  get currentStep() {
1435
1446
  return this._currentStep;
1436
1447
  }
1437
- set currentStep(e) {
1438
- this._currentStep = e, this.renderUssdContent();
1448
+ set currentStep(t) {
1449
+ this._currentStep = t, this.renderUssdContent();
1439
1450
  }
1440
1451
  getUssdStepContent() {
1441
1452
  switch (this.currentStep) {
1442
1453
  case 1:
1443
- return I;
1454
+ return this.bankDetail = new q(this.contents[2]), this.bankDetail.render();
1444
1455
  case 2:
1445
- return r1;
1456
+ return this.viewUssdCode = new d1(this.contents[2]), this.viewUssdCode.render();
1446
1457
  case 3:
1447
- return k;
1458
+ return f;
1448
1459
  case 4:
1449
1460
  return v;
1450
1461
  default:
1451
- return I;
1462
+ return this.bankDetail = new q(this.contents[2]), this.bankDetail.render();
1452
1463
  }
1453
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
+ }
1454
1470
  renderUssdContent() {
1455
- 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
+ }
1456
1479
  }
1457
- renderSearchOptions(e, t, n) {
1458
- n.innerHTML = "", e.forEach((A) => {
1480
+ handleSelectChange(t) {
1481
+ console.log({ _e: t }, "knksnbskjb EVENT"), setTimeout(() => {
1482
+ this.currentStep = 2;
1483
+ }, 400), this.currentStep = 2;
1484
+ }
1485
+ renderSearchOptions(t, e, A) {
1486
+ A.innerHTML = "", t.forEach((n) => {
1459
1487
  const s = document.createElement("div");
1460
- s.classList.add("bank-option"), s.textContent = A.name, s.addEventListener("click", () => {
1461
- t.value = A.name, n.style.display = "none";
1462
- }), n.appendChild(s);
1463
- }), n.style.display = e.length ? "block" : "none";
1464
- }
1465
- searchBanksOnInput(e, t) {
1466
- const n = e.value.toLowerCase(), A = this.banks.filter(
1467
- (s) => s.name.toLowerCase().includes(n)
1468
- );
1469
- 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";
1470
1492
  }
1471
- openSearchOnFocus(e, t) {
1472
- this.renderSearchOptions(this.banks, e, t);
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);
1473
1496
  }
1474
- closeSearchOptionsOutsideFocus(e, t, n) {
1475
- !t.contains(e.target) && !n.contains(e.target) && (n.style.display = "none");
1497
+ openSearchOnFocus(t, e) {
1498
+ this.renderSearchOptions(this.banks, t, e);
1499
+ }
1500
+ closeSearchOptionsOutsideFocus(t, e, A) {
1501
+ !e.contains(t.target) && !A.contains(t.target) && (A.style.display = "none");
1476
1502
  }
1477
1503
  }
1478
- class c1 {
1479
- constructor(e, t, n) {
1480
- o(this, "modalContainer");
1481
- o(this, "currentPaymentMethod");
1482
- o(this, "currentStep");
1483
- o(this, "container");
1484
- o(this, "card");
1485
- o(this, "transfer");
1486
- o(this, "ussd");
1487
- o(this, "merchantKey");
1488
- o(this, "email");
1489
- o(this, "amount");
1490
- o(this, "isMobile", !1);
1491
- 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(), e === "" || t === "")
1492
- 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);
1493
1536
  }
1494
1537
  attachInputListeners() {
1495
- const e = document.body.querySelector("#change-method"), t = document.body.querySelectorAll(".close-btn"), n = document.querySelector("#mob-container"), A = document.querySelector("#mob-tab-co"), s = document.querySelector("#mob-tab-c");
1496
- e && (this.cleanup(), e.addEventListener("click", () => {
1497
- this.currentPaymentMethod = 3, this.attachInputListeners(), n && (n.innerHTML = this.mobileContainerContent()), this.setup(), A && s && s.parentNode && A.removeChild(s);
1498
- })), t.length > 0 && t.forEach((i) => {
1499
- 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", () => {
1500
1547
  this.cleanup(), this.closeModal();
1501
1548
  });
1502
1549
  });
1503
1550
  }
1504
1551
  displayTabLayout() {
1505
- 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");
1506
- this.isMobile ? t && n && A && s && t.forEach((c) => {
1507
- c.addEventListener("click", (a) => {
1508
- if (a.currentTarget instanceof HTMLElement && a.currentTarget.dataset.tab) {
1509
- const C = parseInt(a.currentTarget.dataset.tab);
1510
- this.updatePaymentMethodView(this.merchantKey, this.email, this.amount), this.setCurrentPaymentMethod(C), A.removeChild(s), this.cleanup(), E.forEach((l, d) => {
1511
- this.currentPaymentMethod === d && 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 = `
1512
1559
  <div id="mob-tab-c" class="w-full pt-2 px-5 md:hidden">
1513
1560
  <div>
1514
- <button class="pt-3 px-2 grow align-center text-grey-600 tex-sm font-semibold" data-tab="${d}">
1561
+ <button class="pt-3 px-2 grow align-center text-grey-600 tex-sm font-semibold" data-tab="${p}">
1515
1562
  <div class="min-w-8 mr-2 align-center">
1516
1563
  ${l.icon}
1517
1564
  </div>
@@ -1523,25 +1570,41 @@ class c1 {
1523
1570
  }), this.renderPaymentMethodContent(), this.attachInputListeners();
1524
1571
  }
1525
1572
  });
1526
- }) : e && n && e.forEach((c) => {
1527
- c.addEventListener("click", (a) => {
1528
- if (a.currentTarget instanceof HTMLElement && a.currentTarget.dataset.tab) {
1529
- const C = parseInt(a.currentTarget.dataset.tab);
1530
- this.updatePaymentMethodView(this.merchantKey, this.email, this.amount), this.setCurrentPaymentMethod(C), this.cleanup(), this.renderPaymentMethodContent(), this.attachInputListeners();
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);
1531
1578
  }
1532
1579
  });
1533
1580
  }), this.updatePaymentMethodView(this.merchantKey, this.email, this.amount), this.renderPaymentMethodContent(), this.attachInputListeners(), this.setCurrentPaymentMethod(this.currentPaymentMethod);
1534
1581
  }
1535
- updatePaymentMethodView(e, t, n) {
1582
+ updatePaymentMethodView(t, e, A) {
1536
1583
  switch (this.currentPaymentMethod) {
1537
1584
  case 0:
1538
- return this.card = new R(this.modalContainer, () => this.closeModal(), e, t, n);
1585
+ return this.card = new K(
1586
+ this.modalContainer,
1587
+ () => this.closeModal(),
1588
+ t,
1589
+ this.encryption,
1590
+ e,
1591
+ A,
1592
+ () => this.switchTab(1)
1593
+ );
1539
1594
  case 1:
1540
- return this.transfer = new i1(this.modalContainer, () => this.closeModal(), e, t, n);
1595
+ return this.transfer = new l1(this.modalContainer, () => this.closeModal(), t, e, A);
1541
1596
  case 2:
1542
- return this.ussd = new a1();
1597
+ return this.ussd = new x(this.modalContainer);
1543
1598
  default:
1544
- return this.card = new R(this.modalContainer, () => this.closeModal(), e, t, n);
1599
+ return this.card = new K(
1600
+ this.modalContainer,
1601
+ () => this.closeModal(),
1602
+ t,
1603
+ this.encryption,
1604
+ e,
1605
+ A,
1606
+ () => this.switchTab(1)
1607
+ );
1545
1608
  }
1546
1609
  }
1547
1610
  renderPaymentMethodContent() {
@@ -1560,61 +1623,104 @@ class c1 {
1560
1623
  }
1561
1624
  })();
1562
1625
  }
1563
- setCurrentPaymentMethod(e) {
1564
- this.currentPaymentMethod = e;
1565
- const t = document.querySelectorAll(".tab-button");
1566
- let n = document.querySelectorAll(".content");
1567
- const A = document.getElementById("mob-action-btns");
1568
- 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"));
1569
- }
1570
- cleanup() {
1571
- this.transfer && this.transfer.destroyTimer();
1572
- }
1573
- closeModal() {
1574
- this.modalContainer && this.modalContainer.parentNode && document.body.removeChild(this.modalContainer);
1575
- }
1576
- setup() {
1577
- const e = document.getElementById("merchantLogo"), t = document.getElementById("merchantLogoMob"), n = document.getElementById("mob-action-btns"), A = document.getElementById("merchant-email"), s = this.modalContainer.querySelector("#paymentWarning"), i = s == null ? void 0 : s.querySelector("#payment-warning-text"), c = document.querySelector("#mob-container");
1578
- if (A && (A.innerHTML = this.email), this.isMobile) {
1579
- t && t.setAttribute("src", x), c && (c.innerHTML = this.mobileContainerContent());
1580
- let a = document.querySelector(".mob-options");
1581
- a && this.viewMobileOptions(a);
1582
- const C = document.querySelectorAll(".mob-tab-button");
1583
- E.forEach((l, d) => {
1584
- const p = C[d];
1585
- p && (p.dataset.tab = d.toString(), p.addEventListener("click", () => {
1586
- this.setCurrentPaymentMethod(d);
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"));
1632
+ }
1633
+ switchTab(t) {
1634
+ this.setCurrentPaymentMethod(t), this.updatePaymentMethodView(this.merchantKey, this.email, this.amount), this.cleanup(), this.renderPaymentMethodContent(), this.attachInputListeners();
1635
+ }
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());
1686
+ let i = document.querySelector(".mob-options");
1687
+ i && this.viewMobileOptions(i);
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);
1587
1693
  }));
1588
- }), 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"));
1589
1695
  } else {
1590
- e && e.setAttribute("src", x);
1591
- let a = document.querySelector(".payment-options");
1592
- a && (a.innerHTML = `<div>
1696
+ t && t.setAttribute("src", I);
1697
+ let i = document.querySelector(".payment-options");
1698
+ i && (i.innerHTML = `<div>
1593
1699
  ${E.map(
1594
- (l, d) => `
1700
+ (c, C) => `
1595
1701
  <div class="tab">
1596
- <button class="tab-button group" data-tab="${d}">
1702
+ <button class="tab-button group" data-tab="${C}">
1597
1703
  <div class="min-w-8 md:container-center lg:block">
1598
- ${l.icon}
1704
+ ${c.icon}
1599
1705
  </div>
1600
- <span>${l.label}</span>
1706
+ <span>${c.label}</span>
1601
1707
  </button>
1602
1708
  </div>
1603
1709
  `
1604
1710
  ).join("")}
1605
1711
  </div>`);
1606
- const C = document.querySelectorAll(".tab-button");
1607
- E.forEach((l, d) => {
1608
- const p = C[d];
1609
- if (p) {
1610
- const w = p.querySelector(".tab-button-icon"), g = p.querySelector(".tab-button-label");
1611
- w && (w.innerHTML = l.icon), g && (g.textContent = l.label), p.dataset.tab = d.toString(), p.addEventListener("click", () => {
1612
- this.setCurrentPaymentMethod(d);
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);
1613
1719
  });
1614
1720
  }
1615
1721
  });
1616
1722
  }
1617
- this.displayTabLayout(), i && this.displayPaymentWarningText(this.currentPaymentMethod, i);
1723
+ this.displayTabLayout();
1618
1724
  }
1619
1725
  mobileContainerContent() {
1620
1726
  return ` <div class="box-container" id="inner-mob-container">
@@ -1637,37 +1743,258 @@ class c1 {
1637
1743
  </div>
1638
1744
  </div>`;
1639
1745
  }
1640
- viewMobileOptions(e) {
1641
- e.innerHTML = `
1642
- ${E.map(
1643
- (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) => `
1644
1753
  <div class="tab">
1645
- <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}">
1646
1755
  <div class="min-w-8 mr-3 align-center">
1647
- ${t.icon}
1756
+ ${e.icon}
1648
1757
  </div>
1649
- <span>${t.label}</span>
1758
+ <span>${e.label}</span>
1650
1759
  </button>
1651
1760
  </div>
1652
1761
  `
1653
1762
  ).join("")}`;
1654
1763
  }
1655
- displayPaymentWarningText(e, t) {
1656
- const n = () => {
1657
- switch (e) {
1658
- case 0:
1659
- return "Incorrect otp. please retry with the correct otp";
1660
- case 1:
1661
- return "Account expired";
1662
- case 2:
1663
- return "Please dial the ussd shortcode";
1664
- default:
1665
- return "Error";
1666
- }
1667
- };
1668
- t && (t.innerHTML = n());
1764
+ cleanup() {
1765
+ this.transfer && this.transfer.destroyTimer();
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
+ }
1994
+ closeModal() {
1995
+ this.modalContainer && this.modalContainer.parentNode && document.body.removeChild(this.modalContainer), this.mainScreen.closeModal();
1669
1996
  }
1670
1997
  }
1671
1998
  export {
1672
- c1 as CheckoutForm
1999
+ B1 as CheckoutForm
1673
2000
  };