@odus/checkout 0.11.0 → 0.12.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -16,6 +16,9 @@ export declare type CheckoutConfig = {
16
16
  locale?: Locale;
17
17
  disableErrorMessages?: boolean;
18
18
  manualActionHandling?: boolean;
19
+ initialValues?: {
20
+ email?: string;
21
+ };
19
22
  };
20
23
 
21
24
  export declare interface CheckoutInstance {
@@ -57,14 +57,15 @@ class H {
57
57
  }) {
58
58
  let s = {};
59
59
  if (a && i) {
60
- const n = i.cardExpiry.replace(/\s+/g, "").split("/"), l = n[0], c = n[1];
61
- s = {
60
+ const n = i.cardExpiry.replace(/\s+/g, "").split("/"), l = n[0];
61
+ let c = n[1];
62
+ c && c.length === 2 && (c = `20${c}`), s = {
62
63
  paymentMethodData: {
63
64
  type: "card",
64
65
  card: {
65
66
  token: a,
66
67
  expMonth: l,
67
- expYear: `20${c}`,
68
+ expYear: c,
68
69
  cardholderName: i.name
69
70
  }
70
71
  },
@@ -235,7 +236,7 @@ function U({
235
236
  reload: a
236
237
  };
237
238
  }
238
- const D = {
239
+ const V = {
239
240
  cardNumber: (o) => (o.replace(/\s/g, "").match(/.{1,4}/g) || []).join(" "),
240
241
  cardExpiry: (o) => {
241
242
  const t = o.replace(/\D/g, "").slice(0, 4);
@@ -355,7 +356,7 @@ const D = {
355
356
  }
356
357
  return t;
357
358
  }, Z = () => {
358
- const { t: o } = z();
359
+ const { t: o } = P();
359
360
  return {
360
361
  validateEmail: (t) => {
361
362
  const i = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
@@ -416,7 +417,7 @@ const D = {
416
417
  }
417
418
  };
418
419
  }, J = () => {
419
- const { t: o } = z(), { validateEmail: e } = Z();
420
+ const { t: o } = P(), { validateEmail: e } = Z();
420
421
  return {
421
422
  email: (t) => {
422
423
  const i = e(t);
@@ -427,13 +428,13 @@ const D = {
427
428
  return o("validation.nameRequired");
428
429
  },
429
430
  cardExpiry: (t) => {
430
- const i = t.replace(/\s/g, ""), [a, r] = i.split("/").map((p) => p.trim());
431
+ const i = t.replace(/\s/g, ""), [a, r] = i.split("/").map((d) => d.trim());
431
432
  if (!a || !r || a.length !== 2 || r.length !== 2)
432
433
  return o("validation.cardExpiryFormat");
433
- const s = /* @__PURE__ */ new Date(), n = s.getFullYear() % 100, l = s.getMonth() + 1, c = parseInt(a, 10), d = parseInt(r, 10);
434
+ const s = /* @__PURE__ */ new Date(), n = s.getFullYear() % 100, l = s.getMonth() + 1, c = parseInt(a, 10), h = parseInt(r, 10);
434
435
  if (c < 1 || c > 12)
435
436
  return o("validation.cardExpiryFormat");
436
- if (d < n || d === n && c < l)
437
+ if (h < n || h === n && c < l)
437
438
  return o("validation.cardExpiryInvalid");
438
439
  }
439
440
  };
@@ -452,51 +453,51 @@ const D = {
452
453
  },
453
454
  isValid: !1
454
455
  }), t = (l, c) => {
455
- const d = o[l];
456
- return d?.(c);
456
+ const h = o[l];
457
+ return h?.(c);
457
458
  }, i = (l) => {
458
459
  const c = {};
459
- return Object.keys(l).forEach((d) => {
460
- const p = t(d, l[d]);
461
- p && (c[d] = p);
460
+ return Object.keys(l).forEach((h) => {
461
+ const d = t(h, l[h]);
462
+ d && (c[h] = d);
462
463
  }), c;
463
464
  }, a = (l) => {
464
465
  const c = i(l);
465
466
  return Object.keys(c).length === 0;
466
467
  }, r = (l, c) => {
467
- const d = e.getState();
468
- let p = c;
469
- l in D && (p = D[l](c));
470
- const g = {
471
- ...d.formData,
472
- [l]: p
473
- }, y = { ...d.errors };
474
- if (d.touched[l]) {
475
- const F = t(l, p);
476
- F ? y[l] = F : delete y[l];
468
+ const h = e.getState();
469
+ let d = c;
470
+ l in V && (d = V[l](c));
471
+ const f = {
472
+ ...h.formData,
473
+ [l]: d
474
+ }, g = { ...h.errors };
475
+ if (h.touched[l]) {
476
+ const F = t(l, d);
477
+ F ? g[l] = F : delete g[l];
477
478
  }
478
479
  e.setState({
479
- formData: g,
480
- errors: y,
481
- isValid: a(g)
480
+ formData: f,
481
+ errors: g,
482
+ isValid: a(f)
482
483
  });
483
484
  }, s = (l, c) => {
484
- const d = e.getState(), p = {
485
- ...d.touched,
485
+ const h = e.getState(), d = {
486
+ ...h.touched,
486
487
  [l]: !0
487
- }, g = t(l, c), y = { ...d.errors };
488
- g ? y[l] = g : delete y[l], e.setState({
489
- touched: p,
490
- errors: y
488
+ }, f = t(l, c), g = { ...h.errors };
489
+ f ? g[l] = f : delete g[l], e.setState({
490
+ touched: d,
491
+ errors: g
491
492
  });
492
493
  }, n = (l) => {
493
- const d = {
494
+ const h = {
494
495
  ...e.getState().formData,
495
496
  ...l
496
497
  };
497
498
  e.setState({
498
- formData: d,
499
- isValid: a(d)
499
+ formData: h,
500
+ isValid: a(h)
500
501
  });
501
502
  };
502
503
  return {
@@ -544,25 +545,25 @@ function Q({
544
545
  let n = null;
545
546
  const l = async () => {
546
547
  try {
547
- const u = await X({
548
+ const p = await X({
548
549
  props: {
549
550
  payment: r
550
551
  },
551
552
  apiKey: o,
552
553
  environment: a
553
554
  });
554
- u && (s.setState({
555
+ p && (s.setState({
555
556
  iframeConfig: {
556
- ...u,
557
+ ...p,
557
558
  origin: globalThis.location.origin
558
559
  }
559
- }), d());
560
- } catch (u) {
561
- throw console.error("Failed to generate iframe config:", u), u;
560
+ }), h());
561
+ } catch (p) {
562
+ throw console.error("Failed to generate iframe config:", p), p;
562
563
  }
563
564
  }, c = () => {
564
- const u = s.getState();
565
- if (!u.iframeConfig || !e) {
565
+ const p = s.getState();
566
+ if (!p.iframeConfig || !e) {
566
567
  console.error(
567
568
  "[IframeConfig] Missing iframe config or checkout profile."
568
569
  );
@@ -572,7 +573,7 @@ function Q({
572
573
  if (!b || !k)
573
574
  throw new Error("Card elements not found in DOM");
574
575
  n = new globalThis.TokenEx.Iframe("card-element", {
575
- ...u.iframeConfig,
576
+ ...p.iframeConfig,
576
577
  placeholder: "1234 1234 1234 1234",
577
578
  cvvPlaceholder: "CVC",
578
579
  cvv: !0,
@@ -623,7 +624,7 @@ function Q({
623
624
  s.setState({ possibleCardType: v });
624
625
  }
625
626
  ), n.load();
626
- }, d = () => {
627
+ }, h = () => {
627
628
  if (!s.getState().iframeConfig || !e) {
628
629
  console.error(
629
630
  "[IframeConfig] Missing iframe config or checkout profile for initialization."
@@ -639,35 +640,35 @@ function Q({
639
640
  } catch (b) {
640
641
  console.error("Failed to create TokenEx iframe:", b);
641
642
  }
642
- }, p = async () => {
643
+ }, d = async () => {
643
644
  o && await l();
644
- }, g = () => {
645
+ }, f = () => {
645
646
  n && (n.remove(), n = null);
646
- }, y = async (u) => {
647
+ }, g = async (p) => {
647
648
  n && (n.on("tokenize", async function(b) {
648
- await u(b);
649
+ await p(b);
649
650
  }), n.tokenize());
650
651
  }, F = () => {
651
652
  if (n)
652
653
  try {
653
654
  n.focus();
654
- } catch (u) {
655
- console.error("Failed to focus card number iframe:", u);
655
+ } catch (p) {
656
+ console.error("Failed to focus card number iframe:", p);
656
657
  }
657
658
  }, I = () => {
658
659
  if (n)
659
660
  try {
660
661
  n.cvvFocus();
661
- } catch (u) {
662
- console.error("Failed to focus CVV iframe:", u);
662
+ } catch (p) {
663
+ console.error("Failed to focus CVV iframe:", p);
663
664
  }
664
665
  };
665
666
  return {
666
667
  getState: s.getState.bind(s),
667
668
  subscribe: s.subscribe.bind(s),
668
- tokenize: y,
669
- cleanup: g,
670
- initialize: p,
669
+ tokenize: g,
670
+ cleanup: f,
671
+ initialize: d,
671
672
  focusCardNumber: F,
672
673
  focusCvv: I
673
674
  };
@@ -702,16 +703,16 @@ const ee = "E-Mail", te = "Name des/der Karteninhaber/in", ie = "Kartendaten", a
702
703
  "pay-with-card": "o paga con tarjeta",
703
704
  buttonTexts: Fe,
704
705
  validation: ke
705
- }, Me = "E-mail", Le = "Nom du titulaire de la carte", Te = "Informations de la carte", Ie = "Nom complet figurant sur la carte", Ne = "MM / AA", ze = "Veuillez ne pas fermer cette fenêtre", Pe = { pay: "PAYER", submit: "ENVOYER", getPlan: "OBTENIR MON PLAN", donate: "FAIRE UN DON", book: "RÉSERVER MAINTENANT", order: "COMMANDER MAINTENANT" }, De = { emailSuggestion: "Vouliez-vous dire {{email}}?", emailInvalid: "Votre adresse e-mail n’est pas valide", cardExpiryInvalid: "La date d'expiration de votre carte est dans le passé", cardExpiryFormat: "La date d’expiration de votre carte est incomplète", cardSecurityFormat: "Le code de sécurité de votre carte est incomplet", nameRequired: "Veuillez saisir le nom tel qu’il figure sur votre carte", cardNumberInvalid: "Votre numéro de carte est invalide", "invalid-checkout": "Échec de l'initialisation du checkout" }, Ve = {
706
+ }, Me = "E-mail", Le = "Nom du titulaire de la carte", Te = "Informations de la carte", Ie = "Nom complet figurant sur la carte", Ne = "MM / AA", Pe = "Veuillez ne pas fermer cette fenêtre", ze = { pay: "PAYER", submit: "ENVOYER", getPlan: "OBTENIR MON PLAN", donate: "FAIRE UN DON", book: "RÉSERVER MAINTENANT", order: "COMMANDER MAINTENANT" }, Ve = { emailSuggestion: "Vouliez-vous dire {{email}}?", emailInvalid: "Votre adresse e-mail n’est pas valide", cardExpiryInvalid: "La date d'expiration de votre carte est dans le passé", cardExpiryFormat: "La date d’expiration de votre carte est incomplète", cardSecurityFormat: "Le code de sécurité de votre carte est incomplet", nameRequired: "Veuillez saisir le nom tel qu’il figure sur votre carte", cardNumberInvalid: "Votre numéro de carte est invalide", "invalid-checkout": "Échec de l'initialisation du checkout" }, De = {
706
707
  email: Me,
707
708
  cardholderNameLabel: Le,
708
709
  cardInformation: Te,
709
710
  cardholderNamePlaceholder: Ie,
710
711
  cardExpiry: Ne,
711
- loading: ze,
712
+ loading: Pe,
712
713
  "pay-with-card": "ou payez avec une carte",
713
- buttonTexts: Pe,
714
- validation: De
714
+ buttonTexts: ze,
715
+ validation: Ve
715
716
  }, Ae = "Email", $e = "Nome del titolare della carta", Re = "Informazioni sulla carta", Be = "Nome completo sulla carta", He = "MM / AA", Oe = "Non chiudere la finestra", Ke = { pay: "PAGA", submit: "INVIA", getPlan: "OTTIENI IL MIO PIANO", donate: "DONARE", book: "PRENOTA ORA", order: "ORDINA ORA" }, je = { emailSuggestion: "Intendevi {{email}}?", emailInvalid: "La tua email non è corretta", cardExpiryInvalid: "La data di scadenza della tua carta è nel passato", cardExpiryFormat: "La data di scadenza della tua carta è incompleta", cardSecurityFormat: "Il codice di sicurezza della tua carta è incompleto", nameRequired: "Inserisci il nome come appare sulla tua carta", cardNumberInvalid: "Il numero della tua carta non è valido", "invalid-checkout": "Impossibile inizializzare il checkout" }, qe = {
716
717
  email: Ae,
717
718
  cardholderNameLabel: $e,
@@ -752,11 +753,11 @@ const ee = "E-Mail", te = "Name des/der Karteninhaber/in", ie = "Kartendaten", a
752
753
  "pay-with-card": "veya bir kartla ödeyin",
753
754
  buttonTexts: ft,
754
755
  validation: gt
755
- }, V = {
756
+ }, D = {
756
757
  en: ye,
757
758
  de: le,
758
759
  es: we,
759
- fr: Ve,
760
+ fr: De,
760
761
  pl: Qe,
761
762
  pt: lt,
762
763
  tr: yt,
@@ -781,7 +782,7 @@ class vt {
781
782
  }
782
783
  /* eslint-disable @typescript-eslint/no-explicit-any */
783
784
  getNestedTranslation(e) {
784
- const t = this.locale in V ? V[this.locale] : {}, i = this.findNestedValue(t, e);
785
+ const t = this.locale in D ? D[this.locale] : {}, i = this.findNestedValue(t, e);
785
786
  return i === void 0 ? e : i;
786
787
  }
787
788
  findNestedValue(e, t) {
@@ -831,7 +832,7 @@ function Ct(o) {
831
832
  subscribe: a.subscribe.bind(a)
832
833
  };
833
834
  }
834
- const bt = Ct(), z = () => {
835
+ const bt = Ct(), P = () => {
835
836
  const { translate: o, getLocale: e, setLocale: t, subscribe: i } = bt;
836
837
  return {
837
838
  t: o,
@@ -1056,7 +1057,7 @@ function kt(o) {
1056
1057
  inputStyles: s
1057
1058
  };
1058
1059
  }
1059
- class h {
1060
+ class m {
1060
1061
  element;
1061
1062
  children = [];
1062
1063
  eventListeners = [];
@@ -1118,7 +1119,7 @@ class h {
1118
1119
  * Append this component to a parent element
1119
1120
  */
1120
1121
  appendTo(e) {
1121
- return e instanceof h ? e.appendChild(this) : e.appendChild(this.element), this;
1122
+ return e instanceof m ? e.appendChild(this) : e.appendChild(this.element), this;
1122
1123
  }
1123
1124
  /**
1124
1125
  * Add an event listener to the element
@@ -1153,24 +1154,24 @@ class h {
1153
1154
  }), this.eventListeners = [], this.children.forEach((e) => e.destroy()), this.children = [], this.element.parentNode && this.element.parentNode.removeChild(this.element);
1154
1155
  }
1155
1156
  }
1156
- class m {
1157
+ class u {
1157
1158
  /**
1158
1159
  * Create a div element
1159
1160
  */
1160
1161
  static createDiv(e = [], t = {}) {
1161
- return new h("div", e, t);
1162
+ return new m("div", e, t);
1162
1163
  }
1163
1164
  /**
1164
1165
  * Create a span element
1165
1166
  */
1166
1167
  static createSpan(e = [], t = {}) {
1167
- return new h("span", e, t);
1168
+ return new m("span", e, t);
1168
1169
  }
1169
1170
  /**
1170
1171
  * Create a button element
1171
1172
  */
1172
1173
  static createButton(e, t = [], i = {}) {
1173
- const a = new h("button", t, i);
1174
+ const a = new m("button", t, i);
1174
1175
  return a.setText(e), a;
1175
1176
  }
1176
1177
  /**
@@ -1178,7 +1179,7 @@ class m {
1178
1179
  */
1179
1180
  static createInput(e, t = [], i = {}) {
1180
1181
  const a = { type: e, ...i };
1181
- return new h("input", t, a);
1182
+ return new m("input", t, a);
1182
1183
  }
1183
1184
  /**
1184
1185
  * Create a text input
@@ -1189,26 +1190,26 @@ class m {
1189
1190
  placeholder: e,
1190
1191
  ...i
1191
1192
  };
1192
- return new h("input", t, a);
1193
+ return new m("input", t, a);
1193
1194
  }
1194
1195
  /**
1195
1196
  * Create a form element
1196
1197
  */
1197
1198
  static createForm(e = [], t = {}) {
1198
- return new h("form", e, t);
1199
+ return new m("form", e, t);
1199
1200
  }
1200
1201
  /**
1201
1202
  * Create a label element
1202
1203
  */
1203
1204
  static createLabel(e, t = "", i = [], a = {}) {
1204
- const r = t ? { for: t, ...a } : a, s = new h("label", i, r);
1205
+ const r = t ? { for: t, ...a } : a, s = new m("label", i, r);
1205
1206
  return s.setText(e), s;
1206
1207
  }
1207
1208
  /**
1208
1209
  * Create a select element
1209
1210
  */
1210
1211
  static createSelect(e, t = [], i = {}) {
1211
- const a = new h("select", t, i);
1212
+ const a = new m("select", t, i);
1212
1213
  return e.forEach((r) => {
1213
1214
  const s = document.createElement("option");
1214
1215
  s.value = r.value, s.textContent = r.text, r.selected && (s.selected = !0), a.getElement().appendChild(s);
@@ -1219,26 +1220,26 @@ class m {
1219
1220
  */
1220
1221
  static createImage(e, t = "", i = [], a = {}) {
1221
1222
  const r = { src: e, alt: t, ...a };
1222
- return new h("img", i, r);
1223
+ return new m("img", i, r);
1223
1224
  }
1224
1225
  }
1225
- class wt extends h {
1226
+ class wt extends m {
1226
1227
  messageComponent;
1227
1228
  constructor(e) {
1228
1229
  super("div", []);
1229
- const t = m.createDiv(["error-alert"], {
1230
+ const t = u.createDiv(["error-alert"], {
1230
1231
  role: "alert",
1231
1232
  "aria-live": "polite"
1232
- }), i = m.createDiv(["error-alert-content"]), a = m.createDiv([
1233
+ }), i = u.createDiv(["error-alert-content"]), a = u.createDiv([
1233
1234
  "error-alert-icon-container"
1234
1235
  ]);
1235
1236
  a.getElement().innerHTML = this.createAlertCircleSVG();
1236
- const r = m.createDiv([
1237
+ const r = u.createDiv([
1237
1238
  "error-alert-text-container"
1238
- ]), s = new h("h4", [
1239
+ ]), s = new m("h4", [
1239
1240
  "error-alert-title"
1240
1241
  ]);
1241
- s.setText("Checkout Error"), this.messageComponent = new h("p", [
1242
+ s.setText("Checkout Error"), this.messageComponent = new m("p", [
1242
1243
  "error-alert-message"
1243
1244
  ]), this.messageComponent.setText(e.message || "Bad request"), r.appendChild(s), r.appendChild(this.messageComponent), i.appendChild(a), i.appendChild(r), t.appendChild(i), this.appendChild(t);
1244
1245
  }
@@ -1265,7 +1266,7 @@ class wt extends h {
1265
1266
  return this.messageComponent.setText(e), this;
1266
1267
  }
1267
1268
  }
1268
- class Mt extends h {
1269
+ class Mt extends m {
1269
1270
  constructor() {
1270
1271
  super("div", ["skeleton-container"]), this.createSkeletonElements();
1271
1272
  }
@@ -1273,58 +1274,58 @@ class Mt extends h {
1273
1274
  this.appendChild(this.createPaymentMethodSkeleton()), this.appendChild(this.createPaymentSeparatorSkeleton()), this.appendChild(this.createFieldSkeleton()), this.appendChild(this.createFieldSkeleton()), this.appendChild(this.createCardRowSkeleton()), this.appendChild(this.createFieldSkeleton());
1274
1275
  }
1275
1276
  createPaymentMethodSkeleton() {
1276
- const e = m.createDiv(["skeleton-field"]), t = m.createDiv([
1277
+ const e = u.createDiv(["skeleton-field"]), t = u.createDiv([
1277
1278
  "skeleton",
1278
1279
  "skeleton-payment-method"
1279
1280
  ]);
1280
1281
  return e.appendChild(t), e;
1281
1282
  }
1282
1283
  createPaymentSeparatorSkeleton() {
1283
- const e = m.createDiv([
1284
+ const e = u.createDiv([
1284
1285
  "payment-separator_container"
1285
- ]), t = m.createDiv(["payment-separator__line"]), i = m.createDiv([
1286
+ ]), t = u.createDiv(["payment-separator__line"]), i = u.createDiv([
1286
1287
  "skeleton",
1287
1288
  "skeleton-separator-text"
1288
- ]), a = m.createDiv(["payment-separator__line"]);
1289
+ ]), a = u.createDiv(["payment-separator__line"]);
1289
1290
  return e.appendChild(t), e.appendChild(i), e.appendChild(a), e;
1290
1291
  }
1291
1292
  createFieldSkeleton() {
1292
- const e = m.createDiv(["skeleton-field"]), t = m.createDiv(["skeleton", "skeleton-label"]);
1293
+ const e = u.createDiv(["skeleton-field"]), t = u.createDiv(["skeleton", "skeleton-label"]);
1293
1294
  e.appendChild(t);
1294
- const i = m.createDiv(["skeleton", "skeleton-input"]);
1295
+ const i = u.createDiv(["skeleton", "skeleton-input"]);
1295
1296
  return e.appendChild(i), e;
1296
1297
  }
1297
1298
  createCardRowSkeleton() {
1298
- const e = m.createDiv(["skeleton-card-row"]), t = m.createDiv(["skeleton-field"]), i = m.createDiv([
1299
+ const e = u.createDiv(["skeleton-card-row"]), t = u.createDiv(["skeleton-field"]), i = u.createDiv([
1299
1300
  "skeleton",
1300
1301
  "skeleton-label"
1301
- ]), a = m.createDiv([
1302
+ ]), a = u.createDiv([
1302
1303
  "skeleton",
1303
1304
  "skeleton-input"
1304
1305
  ]);
1305
1306
  t.appendChild(i), t.appendChild(a);
1306
- const r = m.createDiv(["skeleton-field"]), s = m.createDiv(["skeleton", "skeleton-label"]), n = m.createDiv(["skeleton", "skeleton-input"]);
1307
+ const r = u.createDiv(["skeleton-field"]), s = u.createDiv(["skeleton", "skeleton-label"]), n = u.createDiv(["skeleton", "skeleton-input"]);
1307
1308
  return r.appendChild(s), r.appendChild(n), e.appendChild(t), e.appendChild(r), e;
1308
1309
  }
1309
1310
  createSubmitButtonSkeleton() {
1310
- return m.createDiv([
1311
+ return u.createDiv([
1311
1312
  "skeleton",
1312
1313
  "skeleton-submit-button"
1313
1314
  ]);
1314
1315
  }
1315
1316
  }
1316
- class Lt extends h {
1317
+ class Lt extends m {
1317
1318
  titleElement;
1318
1319
  constructor(e = {}) {
1319
1320
  super("div", ["blur-bg"]);
1320
- const t = m.createDiv(["loader"]);
1321
- this.titleElement = new h("h3", ["title"]), this.titleElement.setText(e.text || ""), this.appendChild(t), this.appendChild(this.titleElement);
1321
+ const t = u.createDiv(["loader"]);
1322
+ this.titleElement = new m("h3", ["title"]), this.titleElement.setText(e.text || ""), this.appendChild(t), this.appendChild(this.titleElement);
1322
1323
  }
1323
1324
  setText(e) {
1324
1325
  return this.titleElement.setText(e), this;
1325
1326
  }
1326
1327
  }
1327
- class C extends h {
1328
+ class C extends m {
1328
1329
  span;
1329
1330
  constructor(e) {
1330
1331
  super("div", []), this.span = document.createElement("span"), this.span.className = "form-helper-text", e.visible === !1 && this.span.classList.add("form-helper-text-hidden"), this.span.textContent = e.text || "", this.getElement().appendChild(this.span);
@@ -1342,7 +1343,7 @@ class C extends h {
1342
1343
  return this.span && this.span.classList.add("form-helper-text-hidden"), this;
1343
1344
  }
1344
1345
  }
1345
- class Tt extends h {
1346
+ class Tt extends m {
1346
1347
  constructor(e) {
1347
1348
  super("label", ["input-label"], {
1348
1349
  for: e.id
@@ -1351,7 +1352,7 @@ class Tt extends h {
1351
1352
  t.style.fontFamily = "inherit", t.style.color = e.styles.color, t.style.fontSize = `${e.styles.fontSize}px`;
1352
1353
  }
1353
1354
  }
1354
- class P extends h {
1355
+ class z extends m {
1355
1356
  inputElement;
1356
1357
  helperText = null;
1357
1358
  constructor(e) {
@@ -1371,7 +1372,7 @@ class P extends h {
1371
1372
  name: e.name,
1372
1373
  class: `form-input ${e.error ? "form-input-error" : ""}`
1373
1374
  };
1374
- if (e.placeholder && (t.placeholder = e.placeholder), e.value && (t.value = e.value), e.required && (t.required = String(e.required)), e.disabled && (t.disabled = String(e.disabled)), e.autocomplete && (t.autocomplete = e.autocomplete), this.inputElement = m.createInput(
1375
+ if (e.placeholder && (t.placeholder = e.placeholder), e.value && (t.value = e.value), e.required && (t.required = String(e.required)), e.disabled && (t.disabled = String(e.disabled)), e.autocomplete && (t.autocomplete = e.autocomplete), this.inputElement = u.createInput(
1375
1376
  e.type || "text",
1376
1377
  [],
1377
1378
  t
@@ -1417,7 +1418,7 @@ class It {
1417
1418
  translationFunc: l,
1418
1419
  autocomplete: c = "cc-name"
1419
1420
  } = e;
1420
- this.input = new P({
1421
+ this.input = new z({
1421
1422
  name: "name",
1422
1423
  label: l("cardholderNameLabel"),
1423
1424
  // Always hide error initially - we'll show it only on blur if needed
@@ -1432,11 +1433,11 @@ class It {
1432
1433
  placeholder: l("cardholderNamePlaceholder"),
1433
1434
  value: t,
1434
1435
  autocomplete: c,
1435
- onChange: (d) => {
1436
- this.input.setError(!1), this.trim(), i(d);
1436
+ onChange: (h) => {
1437
+ this.input.setError(!1), this.trim(), i(h);
1437
1438
  }
1438
- }), this.input.addEventListener("blur", (d) => {
1439
- r && this.input.setError(r, s), a(d);
1439
+ }), this.input.addEventListener("blur", (h) => {
1440
+ r && this.input.setError(r, s), a(h);
1440
1441
  });
1441
1442
  }
1442
1443
  getValue() {
@@ -1462,7 +1463,7 @@ class It {
1462
1463
  this.input.focus();
1463
1464
  }
1464
1465
  }
1465
- class Nt extends h {
1466
+ class Nt extends m {
1466
1467
  constructor(e) {
1467
1468
  super("div", []);
1468
1469
  const t = document.createElement("div");
@@ -1479,25 +1480,25 @@ class Nt extends h {
1479
1480
  return t && (e ? t.classList.add("loading") : t.classList.remove("loading")), this;
1480
1481
  }
1481
1482
  }
1482
- const zt = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='iso-8859-1'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20height='30px'%20width='30px'%20version='1.1'%20id='Capa_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%20512%20512'%20xml:space='preserve'%3e%3cpath%20style='fill:%23306FC5;'%20d='M512,402.281c0,16.716-13.55,30.267-30.265,30.267H30.265C13.55,432.549,0,418.997,0,402.281V109.717%20c0-16.715,13.55-30.266,30.265-30.266h451.47c16.716,0,30.265,13.551,30.265,30.266V402.281L512,402.281z'/%3e%3cpath%20style='opacity:0.15;fill:%23202121;enable-background:new%20;'%20d='M21.517,402.281V109.717%20c0-16.715,13.552-30.266,30.267-30.266h-21.52C13.55,79.451,0,93.001,0,109.717v292.565c0,16.716,13.55,30.267,30.265,30.267h21.52%20C35.07,432.549,21.517,418.997,21.517,402.281z'/%3e%3cg%3e%3cpolygon%20style='fill:%23FFFFFF;'%20points='74.59,220.748%2089.888,220.748%2082.241,201.278%20'/%3e%3cpolygon%20style='fill:%23FFFFFF;'%20points='155.946,286.107%20155.946,295.148%20181.675,295.148%20181.675,304.885%20155.946,304.885%20155.946,315.318%20184.455,315.318%20197.666,300.712%20185.151,286.107%20'/%3e%3cpolygon%20style='fill:%23FFFFFF;'%20points='356.898,201.278%20348.553,220.748%20364.548,220.748%20'/%3e%3cpolygon%20style='fill:%23FFFFFF;'%20points='230.348,320.875%20230.348,281.241%20212.268,300.712%20'/%3e%3cpath%20style='fill:%23FFFFFF;'%20d='M264.42,292.368c-0.696-4.172-3.48-6.261-7.654-6.261h-14.599v12.516h15.299%20C261.637,298.624,264.42,296.539,264.42,292.368z'/%3e%3cpath%20style='fill:%23FFFFFF;'%20d='M313.09,297.236c1.391-0.697,2.089-2.785,2.089-4.867c0.696-2.779-0.698-4.172-2.089-4.868%20c-1.387-0.696-3.476-0.696-5.559-0.696h-13.91v11.127h13.909C309.613,297.932,311.702,297.932,313.09,297.236z'/%3e%3cpath%20style='fill:%23FFFFFF;'%20d='M413.217,183.198v8.344l-4.169-8.344H376.37v8.344l-4.174-8.344h-44.502%20c-7.648,0-13.909,1.392-19.469,4.173v-4.173h-31.289v0.696v3.477c-3.476-2.78-7.648-4.173-13.211-4.173h-111.95l-7.652,17.384%20l-7.647-17.384h-25.031h-10.431v8.344l-3.477-8.344h-0.696H66.942l-13.909,32.68L37.042,251.34l-0.294,0.697h0.294h35.463h0.444%20l0.252-0.697l4.174-10.428h9.039l4.172,11.125h40.326v-0.697v-7.647l3.479,8.343h20.163l3.475-8.343v7.647v0.697h15.993h79.965%20h0.696v-18.08h1.394c1.389,0,1.389,0,1.389,2.087v15.297h50.065v-4.172c4.172,2.089,10.426,4.172,18.771,4.172h20.863l4.172-11.123%20h9.732l4.172,11.123h40.328v-6.952v-3.476l6.261,10.428h1.387h0.698h30.595v-68.143h-31.291l0,0H413.217z%20M177.501,241.609h-6.955%20h-4.171v-4.169v-34.076l-0.696,1.595v-0.019l-16.176,36.669h-0.512h-3.719h-6.017l-16.687-38.245v38.245h-23.64l-4.867-10.43%20H70.417l-4.868,10.43H53.326l20.57-48.675h17.382l19.469,46.587v-46.587h4.171h14.251l0.328,0.697h0.024l8.773,19.094l6.3,14.306%20l0.223-0.721l13.906-33.375H177.5v48.674H177.501L177.501,241.609z%20M225.481,203.364h-27.119v9.039h26.423v9.734h-26.423v9.738%20h27.119v10.427h-38.939v-49.367h38.939V203.364L225.481,203.364z%20M275.076,221.294c0.018,0.016,0.041,0.027,0.063,0.042%20c0.263,0.278,0.488,0.557,0.68,0.824c1.332,1.746,2.409,4.343,2.463,8.151c0.004,0.066,0.007,0.131,0.011,0.197%20c0,0.038,0.007,0.071,0.007,0.11c0,0.022-0.002,0.039-0.002,0.06c0.016,0.383,0.026,0.774,0.026,1.197v9.735h-10.428v-5.565%20c0-2.781,0-6.954-2.089-9.735c-0.657-0.657-1.322-1.09-2.046-1.398c-1.042-0.675-3.017-0.686-6.295-0.686h-12.52v17.384h-11.818%20v-48.675h26.425c6.254,0,10.428,0,13.906,2.086c3.407,2.046,5.465,5.439,5.543,10.812c-0.161,7.4-4.911,11.46-8.326,12.829%20C270.676,218.662,272.996,219.129,275.076,221.294z%20M298.491,241.609h-11.822v-48.675h11.822V241.609z%20M434.083,241.609h-15.3%20l-22.25-36.855v30.595l-0.073-0.072v6.362h-11.747v-0.029h-11.822l-4.172-10.43H344.38l-4.172,11.123h-13.211%20c-5.559,0-12.517-1.389-16.687-5.561c-4.172-4.172-6.256-9.735-6.256-18.773c0-6.953,1.389-13.911,6.256-19.472%20c3.474-4.175,9.735-5.562,17.382-5.562h11.128v10.429h-11.128c-4.172,0-6.254,0.693-9.041,2.783%20c-2.082,2.085-3.474,6.256-3.474,11.123c0,5.564,0.696,9.04,3.474,11.821c2.091,2.089,4.87,2.785,8.346,2.785h4.867l15.991-38.243%20h6.957h10.428l19.472,46.587v-2.376v-15.705v-1.389v-27.116h17.382l20.161,34.07v-34.07h11.826v47.977h0.002L434.083,241.609%20L434.083,241.609z'/%3e%3cpath%20style='fill:%23FFFFFF;'%20d='M265.161,213.207c0.203-0.217,0.387-0.463,0.543-0.745c0.63-0.997,1.352-2.793,0.963-5.244%20c-0.016-0.225-0.057-0.433-0.105-0.634c-0.013-0.056-0.011-0.105-0.026-0.161l-0.007,0.001c-0.346-1.191-1.229-1.923-2.11-2.367%20c-1.394-0.693-3.48-0.693-5.565-0.693h-13.909v11.127h13.909c2.085,0,4.172,0,5.565-0.697c0.209-0.106,0.395-0.25,0.574-0.413%20l0.002,0.009C264.996,213.389,265.067,213.315,265.161,213.207z'/%3e%3cpath%20style='fill:%23FFFFFF;'%20d='M475.105,311.144c0-4.867-1.389-9.736-3.474-13.212v-31.289h-0.032v-2.089c0,0-29.145,0-33.483,0%20c-4.336,0-9.598,4.171-9.598,4.171v-4.171h-31.984c-4.87,0-11.124,1.392-13.909,4.171v-4.171h-57.016v2.089v2.081%20c-4.169-3.474-11.824-4.171-15.298-4.171h-37.549v2.089v2.081c-3.476-3.474-11.824-4.171-15.998-4.171H215.05l-9.737,10.431%20l-9.04-10.431h-2.911h-4.737h-54.93v2.089v5.493v62.651h61.19l10.054-10.057l8.715,10.057h0.698h35.258h1.598h0.696h0.692v-6.953%20v-9.039h3.479c4.863,0,11.124,0,15.991-2.089v17.382v1.394h31.291v-1.394V317.4h1.387c2.089,0,2.089,0,2.089,2.086v14.6v1.394%20h94.563c6.263,0,12.517-1.394,15.993-4.175v2.781v1.394h29.902c6.254,0,12.517-0.695,16.689-3.478%20c6.402-3.841,10.437-10.64,11.037-18.749c0.028-0.24,0.063-0.48,0.085-0.721l-0.041-0.039%20C475.087,312.043,475.105,311.598,475.105,311.144z%20M256.076,306.973h-13.91v2.081v4.174v4.173v7.649h-22.855l-13.302-15.299%20l-0.046,0.051l-0.65-0.748l-15.297,15.996h-44.501v-48.673h45.197l12.348,13.525l2.596,2.832l0.352-0.365l14.604-15.991h36.852%20c7.152,0,15.161,1.765,18.196,9.042c0.365,1.441,0.577,3.043,0.577,4.863C276.237,304.189,266.502,306.973,256.076,306.973z%20M325.609,306.276c1.389,2.081,2.085,4.867,2.085,9.041v9.732h-11.819v-6.256c0-2.786,0-7.65-2.089-9.739%20c-1.387-2.081-4.172-2.081-8.341-2.081H292.93v18.077h-11.82v-49.369h26.421c5.559,0,10.426,0,13.909,2.084%20c3.474,2.088,6.254,5.565,6.254,11.128c0,7.647-4.865,11.819-8.343,13.212C322.829,303.49,324.914,304.885,325.609,306.276z%20M373.589,286.107h-27.122v9.04h26.424v9.737h-26.424v9.736h27.122v10.429H334.65V275.68h38.939V286.107z%20M402.791,325.05h-22.252%20v-10.429h22.252c2.082,0,3.476,0,4.87-1.392c0.696-0.697,1.387-2.085,1.387-3.477c0-1.394-0.691-2.778-1.387-3.475%20c-0.698-0.695-2.091-1.391-4.176-1.391c-11.126-0.696-24.337,0-24.337-15.296c0-6.954,4.172-14.604,16.689-14.604h22.945v11.819%20h-21.554c-2.085,0-3.478,0-4.87,0.696c-1.387,0.697-1.387,2.089-1.387,3.478c0,2.087,1.387,2.783,2.778,3.473%20c1.394,0.697,2.783,0.697,4.172,0.697h6.259c6.259,0,10.43,1.391,13.211,4.173c2.087,2.087,3.478,5.564,3.478,10.43%20C420.869,320.179,414.611,325.05,402.791,325.05z%20M462.59,320.179c-2.778,2.785-7.648,4.871-14.604,4.871H425.74v-10.429h22.245%20c2.087,0,3.481,0,4.87-1.392c0.693-0.697,1.391-2.085,1.391-3.477c0-1.394-0.698-2.778-1.391-3.475%20c-0.696-0.695-2.085-1.391-4.172-1.391c-11.122-0.696-24.337,0-24.337-15.295c0-6.609,3.781-12.579,13.106-14.352%20c1.115-0.154,2.293-0.253,3.583-0.253h22.948v11.819h-15.3h-5.561h-0.696c-2.087,0-3.476,0-4.865,0.696%20c-0.7,0.697-1.396,2.089-1.396,3.478c0,2.087,0.696,2.783,2.785,3.473c1.389,0.697,2.78,0.697,4.172,0.697h0.691h5.565%20c3.039,0,5.337,0.375,7.44,1.114c1.926,0.697,8.302,3.549,9.728,10.994c0.124,0.78,0.215,1.594,0.215,2.495%20C466.761,313.925,465.37,317.401,462.59,320.179z'/%3e%3c/g%3e%3c/svg%3e", Pt = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='iso-8859-1'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20height='30px'%20width='30px'%20version='1.1'%20id='Capa_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%20512%20512'%20xml:space='preserve'%3e%3cpath%20style='fill:%2334495E;'%20d='M512,402.282c0,16.716-13.55,30.267-30.265,30.267H30.265C13.55,432.549,0,418.996,0,402.282V109.717%20c0-16.716,13.55-30.266,30.265-30.266h451.469c16.716,0,30.265,13.551,30.265,30.266L512,402.282L512,402.282z'/%3e%3cpath%20style='opacity:0.15;fill:%23202121;enable-background:new%20;'%20d='M21.517,402.282V109.717%20c0-16.716,13.552-30.266,30.267-30.266h-21.52C13.55,79.451,0,93.003,0,109.717v292.565c0,16.716,13.55,30.267,30.265,30.267h21.52%20C35.07,432.549,21.517,418.996,21.517,402.282z'/%3e%3cpath%20style='fill:%23F26E21;'%20d='M309.389,255.801c0.041-9.636-3.572-19.286-10.843-26.558c-7.287-7.287-16.961-10.897-26.617-10.839%20c-0.046,0-0.091-0.003-0.139-0.003c-20.968,0-37.6,16.628-37.6,37.602c0,20.767,16.837,37.599,37.6,37.599%20c20.974,0,37.604-16.631,37.604-37.599C309.394,255.934,309.389,255.869,309.389,255.801z'/%3e%3cg%3e%3cpath%20style='fill:%23E7E8E3;'%20d='M227.198,271.909c-5.62,5.626-10.807,7.824-16.394,7.943c-13.611-0.122-23.618-10.202-23.618-24.573%20c0-7.234,2.739-13.163,7.078-18.228l0,0c4.069-3.863,9.311-6.359,15.339-6.359c6.507,0,11.571,2.169,17.352,7.954v-16.631%20c-5.78-2.891-10.846-4.338-17.352-4.338c-9.192,0.657-17.859,4.371-24.507,10.203l0,0c-1.916,1.724-3.752,3.627-5.309,5.805%20c-4.856,6.294-7.791,14.001-7.791,22.32c0,20.967,16.637,36.875,37.606,36.875c0.102,0,0.203-0.009,0.302-0.01%20c0.141,0.002,0.28,0.01,0.42,0.01c5.784,0,10.85-1.443,17.357-4.336L227.198,271.909c-0.244,0.244,0.242,0.471,0,0.702V271.909z'/%3e%3cpolygon%20style='fill:%23E7E8E3;'%20points='356.863,228.033%20356.863,228.033%20340.487,268.295%20321.685,220.566%20306.502,220.566%20336.148,293.601%20344.102,293.601%20375.196,220.566%20360.013,220.566%20'/%3e%3cpolygon%20style='fill:%23E7E8E3;'%20points='380.983,252.384%20380.983,291.435%20420.033,291.435%20420.753,291.435%20420.753,279.861%20408.461,279.861%20395.445,279.861%20395.445,266.848%20395.445,260.342%20420.033,260.342%20420.033,248.045%20395.445,248.045%20395.445,232.861%20420.753,232.861%20420.753,220.566%20380.983,220.566%20'/%3e%3cpath%20style='fill:%23E7E8E3;'%20d='M54.135,220.566H33.884v70.869h20.25c10.845,0,18.798-2.895,25.306-7.957%20c7.953-6.508,13.017-16.629,13.017-27.474C92.458,235.028,77.27,220.566,54.135,220.566z%20M70.765,274.08%20c-4.339,3.614-10.124,5.781-18.802,5.781h-4.339V232.86h3.615c8.678,0,14.463,1.446,18.803,5.783%20c5.061,4.336,7.955,10.848,7.955,17.358C78.72,262.509,75.828,269.737,70.765,274.08z'/%3e%3crect%20x='98.97'%20y='220.56'%20style='fill:%23E7E8E3;'%20width='13.739'%20height='70.867'/%3e%3cpath%20style='fill:%23E7E8E3;'%20d='M147.415,248.045c-8.676-2.892-10.848-5.063-10.848-8.677c0-4.339,4.339-7.954,10.124-7.954%20c4.339,0,7.954,1.447,11.57,5.786l7.233-9.4c-5.787-5.064-13.015-7.953-20.97-7.953c-12.296,0-22.42,8.678-22.42,20.244%20c0,10.126,4.343,14.464,17.357,19.526c5.785,2.166,7.955,2.892,9.404,4.338c2.887,1.444,4.336,4.339,4.336,7.228%20c0,5.786-4.336,10.126-10.848,10.126c-6.514,0-12.294-3.615-15.187-9.401l-8.678,8.678c6.511,9.4,14.465,13.738,24.589,13.738%20c14.461,0,24.58-9.4,24.58-23.141C167.659,258.893,163.324,253.831,147.415,248.045z'/%3e%3cpath%20style='fill:%23E7E8E3;'%20d='M459.804,261.783c10.843-2.166,16.63-9.4,16.63-20.244c0-13.014-9.402-20.973-25.308-20.973h-20.972%20v70.869h13.739V263.23h2.172l19.519,28.205h16.634L459.804,261.783z%20M448.23,253.105h-4.336v-21.691h4.336%20c8.678,0,13.742,3.614,13.742,10.85C461.972,249.492,456.909,253.105,448.23,253.105z'/%3e%3c/g%3e%3c/svg%3e", Dt = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='iso-8859-1'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20height='800px'%20width='800px'%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%20291.791%20291.791'%20xml:space='preserve'%3e%3cg%3e%3cpath%20style='fill:%23E2574C;'%20d='M182.298,145.895c0,50.366-40.801,91.176-91.149,91.176S0,196.252,0,145.895%20s40.811-91.176,91.149-91.176S182.298,95.538,182.298,145.895z'/%3e%3cpath%20style='fill:%23F4B459;'%20d='M200.616,54.719c-20.442,0-39.261,6.811-54.469,18.181l0.073,0.009%20c2.991,2.89,6.291,4.924,8.835,8.251l-18.965,0.301c-2.972,3-5.68,6.264-8.233,9.656H161.3c2.544,3.054,4.896,5.708,7.03,9.081%20h-46.536c-1.705,2.936-3.282,5.954-4.659,9.09h56.493c1.477,3.127,2.799,5.489,3.921,8.799h-63.76%20c-1.012,3.146-1.878,6.364-2.535,9.646h68.966c0.675,3.155,1.194,6.072,1.55,9.045h-71.884c-0.301,3-0.456,6.045-0.456,9.118%20h72.859c0,3.228-0.228,6.218-0.556,9.118h-71.847c0.31,3.091,0.766,6.127,1.368,9.118h68.856c-0.711,2.954-1.532,5.926-2.562,9.008%20h-63.969c0.966,3.118,2.143,6.145,3.428,9.099h56.621c-1.568,3.319-3.346,5.972-5.306,9.081h-46.691%20c1.842,3.191,3.875,6.236,6.081,9.154l33.589,0.501c-2.863,3.437-6.537,5.507-9.884,8.516c0.182,0.146-5.352-0.018-16.248-0.191%20c16.576,17.105,39.744,27.772,65.446,27.772c50.357,0,91.176-40.82,91.176-91.176S250.981,54.719,200.616,54.719z'/%3e%3c/g%3e%3c/svg%3e", Vt = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%20-140%20780%20780'%20enable-background='new%200%200%20780%20500'%20version='1.1'%20xml:space='preserve'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M40,0h700c22.092,0,40,17.909,40,40v420c0,22.092-17.908,40-40,40H40c-22.091,0-40-17.908-40-40V40%20C0,17.909,17.909,0,40,0z'%20fill='%230E4595'/%3e%3cpath%20d='m293.2%20348.73l33.361-195.76h53.36l-33.385%20195.76h-53.336zm246.11-191.54c-10.57-3.966-27.137-8.222-47.822-8.222-52.725%200-89.865%2026.55-90.18%2064.603-0.299%2028.13%2026.514%2043.822%2046.752%2053.186%2020.771%209.595%2027.752%2015.714%2027.654%2024.283-0.131%2013.121-16.586%2019.116-31.922%2019.116-21.357%200-32.703-2.967-50.227-10.276l-6.876-3.11-7.489%2043.823c12.463%205.464%2035.51%2010.198%2059.438%2010.443%2056.09%200%2092.5-26.246%2092.916-66.882%200.199-22.269-14.016-39.216-44.801-53.188-18.65-9.055-30.072-15.099-29.951-24.268%200-8.137%209.668-16.839%2030.557-16.839%2017.449-0.27%2030.09%203.535%2039.938%207.5l4.781%202.26%207.232-42.429m137.31-4.223h-41.232c-12.773%200-22.332%203.487-27.941%2016.234l-79.244%20179.4h56.031s9.16-24.123%2011.232-29.418c6.125%200%2060.555%200.084%2068.338%200.084%201.596%206.853%206.49%2029.334%206.49%2029.334h49.514l-43.188-195.64zm-65.418%20126.41c4.412-11.279%2021.26-54.723%2021.26-54.723-0.316%200.522%204.379-11.334%207.074-18.684l3.605%2016.879s10.219%2046.729%2012.354%2056.528h-44.293zm-363.3-126.41l-52.24%20133.5-5.567-27.13c-9.725-31.273-40.025-65.155-73.898-82.118l47.766%20171.2%2056.456-0.064%2084.004-195.39h-56.521'%20fill='%23ffffff'/%3e%3cpath%20d='m146.92%20152.96h-86.041l-0.681%204.073c66.938%2016.204%20111.23%2055.363%20129.62%20102.41l-18.71-89.96c-3.23-12.395-12.597-16.094-24.186-16.527'%20fill='%23F2AE14'/%3e%3c/svg%3e", M = [
1483
+ const Pt = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='iso-8859-1'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20height='30px'%20width='30px'%20version='1.1'%20id='Capa_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%20512%20512'%20xml:space='preserve'%3e%3cpath%20style='fill:%23306FC5;'%20d='M512,402.281c0,16.716-13.55,30.267-30.265,30.267H30.265C13.55,432.549,0,418.997,0,402.281V109.717%20c0-16.715,13.55-30.266,30.265-30.266h451.47c16.716,0,30.265,13.551,30.265,30.266V402.281L512,402.281z'/%3e%3cpath%20style='opacity:0.15;fill:%23202121;enable-background:new%20;'%20d='M21.517,402.281V109.717%20c0-16.715,13.552-30.266,30.267-30.266h-21.52C13.55,79.451,0,93.001,0,109.717v292.565c0,16.716,13.55,30.267,30.265,30.267h21.52%20C35.07,432.549,21.517,418.997,21.517,402.281z'/%3e%3cg%3e%3cpolygon%20style='fill:%23FFFFFF;'%20points='74.59,220.748%2089.888,220.748%2082.241,201.278%20'/%3e%3cpolygon%20style='fill:%23FFFFFF;'%20points='155.946,286.107%20155.946,295.148%20181.675,295.148%20181.675,304.885%20155.946,304.885%20155.946,315.318%20184.455,315.318%20197.666,300.712%20185.151,286.107%20'/%3e%3cpolygon%20style='fill:%23FFFFFF;'%20points='356.898,201.278%20348.553,220.748%20364.548,220.748%20'/%3e%3cpolygon%20style='fill:%23FFFFFF;'%20points='230.348,320.875%20230.348,281.241%20212.268,300.712%20'/%3e%3cpath%20style='fill:%23FFFFFF;'%20d='M264.42,292.368c-0.696-4.172-3.48-6.261-7.654-6.261h-14.599v12.516h15.299%20C261.637,298.624,264.42,296.539,264.42,292.368z'/%3e%3cpath%20style='fill:%23FFFFFF;'%20d='M313.09,297.236c1.391-0.697,2.089-2.785,2.089-4.867c0.696-2.779-0.698-4.172-2.089-4.868%20c-1.387-0.696-3.476-0.696-5.559-0.696h-13.91v11.127h13.909C309.613,297.932,311.702,297.932,313.09,297.236z'/%3e%3cpath%20style='fill:%23FFFFFF;'%20d='M413.217,183.198v8.344l-4.169-8.344H376.37v8.344l-4.174-8.344h-44.502%20c-7.648,0-13.909,1.392-19.469,4.173v-4.173h-31.289v0.696v3.477c-3.476-2.78-7.648-4.173-13.211-4.173h-111.95l-7.652,17.384%20l-7.647-17.384h-25.031h-10.431v8.344l-3.477-8.344h-0.696H66.942l-13.909,32.68L37.042,251.34l-0.294,0.697h0.294h35.463h0.444%20l0.252-0.697l4.174-10.428h9.039l4.172,11.125h40.326v-0.697v-7.647l3.479,8.343h20.163l3.475-8.343v7.647v0.697h15.993h79.965%20h0.696v-18.08h1.394c1.389,0,1.389,0,1.389,2.087v15.297h50.065v-4.172c4.172,2.089,10.426,4.172,18.771,4.172h20.863l4.172-11.123%20h9.732l4.172,11.123h40.328v-6.952v-3.476l6.261,10.428h1.387h0.698h30.595v-68.143h-31.291l0,0H413.217z%20M177.501,241.609h-6.955%20h-4.171v-4.169v-34.076l-0.696,1.595v-0.019l-16.176,36.669h-0.512h-3.719h-6.017l-16.687-38.245v38.245h-23.64l-4.867-10.43%20H70.417l-4.868,10.43H53.326l20.57-48.675h17.382l19.469,46.587v-46.587h4.171h14.251l0.328,0.697h0.024l8.773,19.094l6.3,14.306%20l0.223-0.721l13.906-33.375H177.5v48.674H177.501L177.501,241.609z%20M225.481,203.364h-27.119v9.039h26.423v9.734h-26.423v9.738%20h27.119v10.427h-38.939v-49.367h38.939V203.364L225.481,203.364z%20M275.076,221.294c0.018,0.016,0.041,0.027,0.063,0.042%20c0.263,0.278,0.488,0.557,0.68,0.824c1.332,1.746,2.409,4.343,2.463,8.151c0.004,0.066,0.007,0.131,0.011,0.197%20c0,0.038,0.007,0.071,0.007,0.11c0,0.022-0.002,0.039-0.002,0.06c0.016,0.383,0.026,0.774,0.026,1.197v9.735h-10.428v-5.565%20c0-2.781,0-6.954-2.089-9.735c-0.657-0.657-1.322-1.09-2.046-1.398c-1.042-0.675-3.017-0.686-6.295-0.686h-12.52v17.384h-11.818%20v-48.675h26.425c6.254,0,10.428,0,13.906,2.086c3.407,2.046,5.465,5.439,5.543,10.812c-0.161,7.4-4.911,11.46-8.326,12.829%20C270.676,218.662,272.996,219.129,275.076,221.294z%20M298.491,241.609h-11.822v-48.675h11.822V241.609z%20M434.083,241.609h-15.3%20l-22.25-36.855v30.595l-0.073-0.072v6.362h-11.747v-0.029h-11.822l-4.172-10.43H344.38l-4.172,11.123h-13.211%20c-5.559,0-12.517-1.389-16.687-5.561c-4.172-4.172-6.256-9.735-6.256-18.773c0-6.953,1.389-13.911,6.256-19.472%20c3.474-4.175,9.735-5.562,17.382-5.562h11.128v10.429h-11.128c-4.172,0-6.254,0.693-9.041,2.783%20c-2.082,2.085-3.474,6.256-3.474,11.123c0,5.564,0.696,9.04,3.474,11.821c2.091,2.089,4.87,2.785,8.346,2.785h4.867l15.991-38.243%20h6.957h10.428l19.472,46.587v-2.376v-15.705v-1.389v-27.116h17.382l20.161,34.07v-34.07h11.826v47.977h0.002L434.083,241.609%20L434.083,241.609z'/%3e%3cpath%20style='fill:%23FFFFFF;'%20d='M265.161,213.207c0.203-0.217,0.387-0.463,0.543-0.745c0.63-0.997,1.352-2.793,0.963-5.244%20c-0.016-0.225-0.057-0.433-0.105-0.634c-0.013-0.056-0.011-0.105-0.026-0.161l-0.007,0.001c-0.346-1.191-1.229-1.923-2.11-2.367%20c-1.394-0.693-3.48-0.693-5.565-0.693h-13.909v11.127h13.909c2.085,0,4.172,0,5.565-0.697c0.209-0.106,0.395-0.25,0.574-0.413%20l0.002,0.009C264.996,213.389,265.067,213.315,265.161,213.207z'/%3e%3cpath%20style='fill:%23FFFFFF;'%20d='M475.105,311.144c0-4.867-1.389-9.736-3.474-13.212v-31.289h-0.032v-2.089c0,0-29.145,0-33.483,0%20c-4.336,0-9.598,4.171-9.598,4.171v-4.171h-31.984c-4.87,0-11.124,1.392-13.909,4.171v-4.171h-57.016v2.089v2.081%20c-4.169-3.474-11.824-4.171-15.298-4.171h-37.549v2.089v2.081c-3.476-3.474-11.824-4.171-15.998-4.171H215.05l-9.737,10.431%20l-9.04-10.431h-2.911h-4.737h-54.93v2.089v5.493v62.651h61.19l10.054-10.057l8.715,10.057h0.698h35.258h1.598h0.696h0.692v-6.953%20v-9.039h3.479c4.863,0,11.124,0,15.991-2.089v17.382v1.394h31.291v-1.394V317.4h1.387c2.089,0,2.089,0,2.089,2.086v14.6v1.394%20h94.563c6.263,0,12.517-1.394,15.993-4.175v2.781v1.394h29.902c6.254,0,12.517-0.695,16.689-3.478%20c6.402-3.841,10.437-10.64,11.037-18.749c0.028-0.24,0.063-0.48,0.085-0.721l-0.041-0.039%20C475.087,312.043,475.105,311.598,475.105,311.144z%20M256.076,306.973h-13.91v2.081v4.174v4.173v7.649h-22.855l-13.302-15.299%20l-0.046,0.051l-0.65-0.748l-15.297,15.996h-44.501v-48.673h45.197l12.348,13.525l2.596,2.832l0.352-0.365l14.604-15.991h36.852%20c7.152,0,15.161,1.765,18.196,9.042c0.365,1.441,0.577,3.043,0.577,4.863C276.237,304.189,266.502,306.973,256.076,306.973z%20M325.609,306.276c1.389,2.081,2.085,4.867,2.085,9.041v9.732h-11.819v-6.256c0-2.786,0-7.65-2.089-9.739%20c-1.387-2.081-4.172-2.081-8.341-2.081H292.93v18.077h-11.82v-49.369h26.421c5.559,0,10.426,0,13.909,2.084%20c3.474,2.088,6.254,5.565,6.254,11.128c0,7.647-4.865,11.819-8.343,13.212C322.829,303.49,324.914,304.885,325.609,306.276z%20M373.589,286.107h-27.122v9.04h26.424v9.737h-26.424v9.736h27.122v10.429H334.65V275.68h38.939V286.107z%20M402.791,325.05h-22.252%20v-10.429h22.252c2.082,0,3.476,0,4.87-1.392c0.696-0.697,1.387-2.085,1.387-3.477c0-1.394-0.691-2.778-1.387-3.475%20c-0.698-0.695-2.091-1.391-4.176-1.391c-11.126-0.696-24.337,0-24.337-15.296c0-6.954,4.172-14.604,16.689-14.604h22.945v11.819%20h-21.554c-2.085,0-3.478,0-4.87,0.696c-1.387,0.697-1.387,2.089-1.387,3.478c0,2.087,1.387,2.783,2.778,3.473%20c1.394,0.697,2.783,0.697,4.172,0.697h6.259c6.259,0,10.43,1.391,13.211,4.173c2.087,2.087,3.478,5.564,3.478,10.43%20C420.869,320.179,414.611,325.05,402.791,325.05z%20M462.59,320.179c-2.778,2.785-7.648,4.871-14.604,4.871H425.74v-10.429h22.245%20c2.087,0,3.481,0,4.87-1.392c0.693-0.697,1.391-2.085,1.391-3.477c0-1.394-0.698-2.778-1.391-3.475%20c-0.696-0.695-2.085-1.391-4.172-1.391c-11.122-0.696-24.337,0-24.337-15.295c0-6.609,3.781-12.579,13.106-14.352%20c1.115-0.154,2.293-0.253,3.583-0.253h22.948v11.819h-15.3h-5.561h-0.696c-2.087,0-3.476,0-4.865,0.696%20c-0.7,0.697-1.396,2.089-1.396,3.478c0,2.087,0.696,2.783,2.785,3.473c1.389,0.697,2.78,0.697,4.172,0.697h0.691h5.565%20c3.039,0,5.337,0.375,7.44,1.114c1.926,0.697,8.302,3.549,9.728,10.994c0.124,0.78,0.215,1.594,0.215,2.495%20C466.761,313.925,465.37,317.401,462.59,320.179z'/%3e%3c/g%3e%3c/svg%3e", zt = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='iso-8859-1'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20height='30px'%20width='30px'%20version='1.1'%20id='Capa_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%20512%20512'%20xml:space='preserve'%3e%3cpath%20style='fill:%2334495E;'%20d='M512,402.282c0,16.716-13.55,30.267-30.265,30.267H30.265C13.55,432.549,0,418.996,0,402.282V109.717%20c0-16.716,13.55-30.266,30.265-30.266h451.469c16.716,0,30.265,13.551,30.265,30.266L512,402.282L512,402.282z'/%3e%3cpath%20style='opacity:0.15;fill:%23202121;enable-background:new%20;'%20d='M21.517,402.282V109.717%20c0-16.716,13.552-30.266,30.267-30.266h-21.52C13.55,79.451,0,93.003,0,109.717v292.565c0,16.716,13.55,30.267,30.265,30.267h21.52%20C35.07,432.549,21.517,418.996,21.517,402.282z'/%3e%3cpath%20style='fill:%23F26E21;'%20d='M309.389,255.801c0.041-9.636-3.572-19.286-10.843-26.558c-7.287-7.287-16.961-10.897-26.617-10.839%20c-0.046,0-0.091-0.003-0.139-0.003c-20.968,0-37.6,16.628-37.6,37.602c0,20.767,16.837,37.599,37.6,37.599%20c20.974,0,37.604-16.631,37.604-37.599C309.394,255.934,309.389,255.869,309.389,255.801z'/%3e%3cg%3e%3cpath%20style='fill:%23E7E8E3;'%20d='M227.198,271.909c-5.62,5.626-10.807,7.824-16.394,7.943c-13.611-0.122-23.618-10.202-23.618-24.573%20c0-7.234,2.739-13.163,7.078-18.228l0,0c4.069-3.863,9.311-6.359,15.339-6.359c6.507,0,11.571,2.169,17.352,7.954v-16.631%20c-5.78-2.891-10.846-4.338-17.352-4.338c-9.192,0.657-17.859,4.371-24.507,10.203l0,0c-1.916,1.724-3.752,3.627-5.309,5.805%20c-4.856,6.294-7.791,14.001-7.791,22.32c0,20.967,16.637,36.875,37.606,36.875c0.102,0,0.203-0.009,0.302-0.01%20c0.141,0.002,0.28,0.01,0.42,0.01c5.784,0,10.85-1.443,17.357-4.336L227.198,271.909c-0.244,0.244,0.242,0.471,0,0.702V271.909z'/%3e%3cpolygon%20style='fill:%23E7E8E3;'%20points='356.863,228.033%20356.863,228.033%20340.487,268.295%20321.685,220.566%20306.502,220.566%20336.148,293.601%20344.102,293.601%20375.196,220.566%20360.013,220.566%20'/%3e%3cpolygon%20style='fill:%23E7E8E3;'%20points='380.983,252.384%20380.983,291.435%20420.033,291.435%20420.753,291.435%20420.753,279.861%20408.461,279.861%20395.445,279.861%20395.445,266.848%20395.445,260.342%20420.033,260.342%20420.033,248.045%20395.445,248.045%20395.445,232.861%20420.753,232.861%20420.753,220.566%20380.983,220.566%20'/%3e%3cpath%20style='fill:%23E7E8E3;'%20d='M54.135,220.566H33.884v70.869h20.25c10.845,0,18.798-2.895,25.306-7.957%20c7.953-6.508,13.017-16.629,13.017-27.474C92.458,235.028,77.27,220.566,54.135,220.566z%20M70.765,274.08%20c-4.339,3.614-10.124,5.781-18.802,5.781h-4.339V232.86h3.615c8.678,0,14.463,1.446,18.803,5.783%20c5.061,4.336,7.955,10.848,7.955,17.358C78.72,262.509,75.828,269.737,70.765,274.08z'/%3e%3crect%20x='98.97'%20y='220.56'%20style='fill:%23E7E8E3;'%20width='13.739'%20height='70.867'/%3e%3cpath%20style='fill:%23E7E8E3;'%20d='M147.415,248.045c-8.676-2.892-10.848-5.063-10.848-8.677c0-4.339,4.339-7.954,10.124-7.954%20c4.339,0,7.954,1.447,11.57,5.786l7.233-9.4c-5.787-5.064-13.015-7.953-20.97-7.953c-12.296,0-22.42,8.678-22.42,20.244%20c0,10.126,4.343,14.464,17.357,19.526c5.785,2.166,7.955,2.892,9.404,4.338c2.887,1.444,4.336,4.339,4.336,7.228%20c0,5.786-4.336,10.126-10.848,10.126c-6.514,0-12.294-3.615-15.187-9.401l-8.678,8.678c6.511,9.4,14.465,13.738,24.589,13.738%20c14.461,0,24.58-9.4,24.58-23.141C167.659,258.893,163.324,253.831,147.415,248.045z'/%3e%3cpath%20style='fill:%23E7E8E3;'%20d='M459.804,261.783c10.843-2.166,16.63-9.4,16.63-20.244c0-13.014-9.402-20.973-25.308-20.973h-20.972%20v70.869h13.739V263.23h2.172l19.519,28.205h16.634L459.804,261.783z%20M448.23,253.105h-4.336v-21.691h4.336%20c8.678,0,13.742,3.614,13.742,10.85C461.972,249.492,456.909,253.105,448.23,253.105z'/%3e%3c/g%3e%3c/svg%3e", Vt = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='iso-8859-1'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20height='800px'%20width='800px'%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%20291.791%20291.791'%20xml:space='preserve'%3e%3cg%3e%3cpath%20style='fill:%23E2574C;'%20d='M182.298,145.895c0,50.366-40.801,91.176-91.149,91.176S0,196.252,0,145.895%20s40.811-91.176,91.149-91.176S182.298,95.538,182.298,145.895z'/%3e%3cpath%20style='fill:%23F4B459;'%20d='M200.616,54.719c-20.442,0-39.261,6.811-54.469,18.181l0.073,0.009%20c2.991,2.89,6.291,4.924,8.835,8.251l-18.965,0.301c-2.972,3-5.68,6.264-8.233,9.656H161.3c2.544,3.054,4.896,5.708,7.03,9.081%20h-46.536c-1.705,2.936-3.282,5.954-4.659,9.09h56.493c1.477,3.127,2.799,5.489,3.921,8.799h-63.76%20c-1.012,3.146-1.878,6.364-2.535,9.646h68.966c0.675,3.155,1.194,6.072,1.55,9.045h-71.884c-0.301,3-0.456,6.045-0.456,9.118%20h72.859c0,3.228-0.228,6.218-0.556,9.118h-71.847c0.31,3.091,0.766,6.127,1.368,9.118h68.856c-0.711,2.954-1.532,5.926-2.562,9.008%20h-63.969c0.966,3.118,2.143,6.145,3.428,9.099h56.621c-1.568,3.319-3.346,5.972-5.306,9.081h-46.691%20c1.842,3.191,3.875,6.236,6.081,9.154l33.589,0.501c-2.863,3.437-6.537,5.507-9.884,8.516c0.182,0.146-5.352-0.018-16.248-0.191%20c16.576,17.105,39.744,27.772,65.446,27.772c50.357,0,91.176-40.82,91.176-91.176S250.981,54.719,200.616,54.719z'/%3e%3c/g%3e%3c/svg%3e", Dt = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%20-140%20780%20780'%20enable-background='new%200%200%20780%20500'%20version='1.1'%20xml:space='preserve'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M40,0h700c22.092,0,40,17.909,40,40v420c0,22.092-17.908,40-40,40H40c-22.091,0-40-17.908-40-40V40%20C0,17.909,17.909,0,40,0z'%20fill='%230E4595'/%3e%3cpath%20d='m293.2%20348.73l33.361-195.76h53.36l-33.385%20195.76h-53.336zm246.11-191.54c-10.57-3.966-27.137-8.222-47.822-8.222-52.725%200-89.865%2026.55-90.18%2064.603-0.299%2028.13%2026.514%2043.822%2046.752%2053.186%2020.771%209.595%2027.752%2015.714%2027.654%2024.283-0.131%2013.121-16.586%2019.116-31.922%2019.116-21.357%200-32.703-2.967-50.227-10.276l-6.876-3.11-7.489%2043.823c12.463%205.464%2035.51%2010.198%2059.438%2010.443%2056.09%200%2092.5-26.246%2092.916-66.882%200.199-22.269-14.016-39.216-44.801-53.188-18.65-9.055-30.072-15.099-29.951-24.268%200-8.137%209.668-16.839%2030.557-16.839%2017.449-0.27%2030.09%203.535%2039.938%207.5l4.781%202.26%207.232-42.429m137.31-4.223h-41.232c-12.773%200-22.332%203.487-27.941%2016.234l-79.244%20179.4h56.031s9.16-24.123%2011.232-29.418c6.125%200%2060.555%200.084%2068.338%200.084%201.596%206.853%206.49%2029.334%206.49%2029.334h49.514l-43.188-195.64zm-65.418%20126.41c4.412-11.279%2021.26-54.723%2021.26-54.723-0.316%200.522%204.379-11.334%207.074-18.684l3.605%2016.879s10.219%2046.729%2012.354%2056.528h-44.293zm-363.3-126.41l-52.24%20133.5-5.567-27.13c-9.725-31.273-40.025-65.155-73.898-82.118l47.766%20171.2%2056.456-0.064%2084.004-195.39h-56.521'%20fill='%23ffffff'/%3e%3cpath%20d='m146.92%20152.96h-86.041l-0.681%204.073c66.938%2016.204%20111.23%2055.363%20129.62%20102.41l-18.71-89.96c-3.23-12.395-12.597-16.094-24.186-16.527'%20fill='%23F2AE14'/%3e%3c/svg%3e", M = [
1483
1484
  {
1484
1485
  type: "visa",
1485
- imgSrc: Vt
1486
+ imgSrc: Dt
1486
1487
  },
1487
1488
  {
1488
1489
  type: "masterCard",
1489
- imgSrc: Dt
1490
+ imgSrc: Vt
1490
1491
  },
1491
1492
  {
1492
1493
  type: "americanExpress",
1493
- imgSrc: zt
1494
+ imgSrc: Pt
1494
1495
  },
1495
1496
  {
1496
1497
  type: "discover",
1497
- imgSrc: Pt
1498
+ imgSrc: zt
1498
1499
  }
1499
1500
  ];
1500
- class At extends h {
1501
+ class At extends m {
1501
1502
  cardType;
1502
1503
  constructor(e) {
1503
1504
  super("div", []), this.cardType = e.cardType;
@@ -1556,7 +1557,7 @@ class At extends h {
1556
1557
  return this;
1557
1558
  }
1558
1559
  }
1559
- class $t extends h {
1560
+ class $t extends m {
1560
1561
  cardNumber;
1561
1562
  cardExpiry;
1562
1563
  cardCvv;
@@ -1572,13 +1573,13 @@ class $t extends h {
1572
1573
  isCvvValid: n,
1573
1574
  isCcTouched: l,
1574
1575
  isCvvTouched: c,
1575
- cardType: d,
1576
- cardExpiry: p,
1577
- cardExpiryError: g,
1578
- cardExpiryTouched: y,
1576
+ cardType: h,
1577
+ cardExpiry: d,
1578
+ cardExpiryError: f,
1579
+ cardExpiryTouched: g,
1579
1580
  onChange: F,
1580
1581
  onBlur: I,
1581
- translationFunc: u,
1582
+ translationFunc: p,
1582
1583
  cardExpiryAutocomplete: b = "cc-exp"
1583
1584
  } = e, k = document.createElement("div");
1584
1585
  this.cardNumber = new At({
@@ -1587,25 +1588,25 @@ class $t extends h {
1587
1588
  fontSize: t.styles.fontSize,
1588
1589
  borderRadius: t.styles.borderRadius
1589
1590
  },
1590
- label: u("cardInformation"),
1591
+ label: p("cardInformation"),
1591
1592
  isLoading: i,
1592
1593
  isFocused: a,
1593
- cardType: d
1594
+ cardType: h
1594
1595
  }), k.appendChild(this.cardNumber.getElement());
1595
1596
  const v = document.createElement("div");
1596
- v.className = "card-details", this.cardExpiry = new P({
1597
+ v.className = "card-details", this.cardExpiry = new z({
1597
1598
  name: "cardExpiry",
1598
1599
  type: "tel",
1599
- placeholder: u("cardExpiry"),
1600
+ placeholder: p("cardExpiry"),
1600
1601
  // Always hide error initially
1601
1602
  error: !1,
1602
- errorMsg: g,
1603
- value: p,
1603
+ errorMsg: f,
1604
+ value: d,
1604
1605
  autocomplete: b,
1605
- onChange: (f) => {
1606
+ onChange: (y) => {
1606
1607
  this.cardExpiry.setError(!1);
1607
1608
  const x = this.validationMessages.get("cardExpiry");
1608
- x && (x.getElement().remove(), this.validationMessages.delete("cardExpiry"), this.updateErrorContainerHeight()), this.trimCardExpiry(), F(f);
1609
+ x && (x.getElement().remove(), this.validationMessages.delete("cardExpiry"), this.updateErrorContainerHeight()), this.trimCardExpiry(), F(y);
1609
1610
  },
1610
1611
  styles: {
1611
1612
  color: t.styles.textColor,
@@ -1613,10 +1614,10 @@ class $t extends h {
1613
1614
  fontSize: t.styles.fontSize,
1614
1615
  fontFamily: t.styles.fontFamily
1615
1616
  }
1616
- }), this.cardExpiry.addEventListener("blur", (f) => {
1617
- g && y && this.cardExpiry.setError(!0, g), I(f);
1618
- }), this.cardExpiry.addEventListener("keydown", (f) => {
1619
- const x = f, R = [
1617
+ }), this.cardExpiry.addEventListener("blur", (y) => {
1618
+ this.trimCardExpiry(), f && g && this.cardExpiry.setError(!0, f), I(y);
1619
+ }), this.cardExpiry.addEventListener("keydown", (y) => {
1620
+ const x = y, R = [
1620
1621
  "Backspace",
1621
1622
  "Delete",
1622
1623
  "ArrowLeft",
@@ -1637,22 +1638,22 @@ class $t extends h {
1637
1638
  }), S.appendChild(this.cardCvv.getElement()), v.appendChild(this.cardExpiry.getElement()), v.appendChild(S), k.appendChild(v);
1638
1639
  const E = document.createElement("div");
1639
1640
  if (E.className = "error-messages-container", E.style.width = "100%", E.style.transition = "height 0.3s ease-in-out, opacity 0.3s ease-in-out", E.style.overflow = "hidden", E.style.height = "0px", E.style.opacity = "0", this.getElement().appendChild(k), this.getElement().appendChild(E), (a || l) && !s) {
1640
- const f = new C({
1641
- text: u("validation.cardNumberInvalid")
1641
+ const y = new C({
1642
+ text: p("validation.cardNumberInvalid")
1642
1643
  });
1643
- this.validationMessages.set("cardNumber", f), E.appendChild(f.getElement());
1644
+ this.validationMessages.set("cardNumber", y), E.appendChild(y.getElement());
1644
1645
  }
1645
1646
  if ((r || c) && !n) {
1646
- const f = new C({
1647
- text: u("validation.cardSecurityFormat")
1647
+ const y = new C({
1648
+ text: p("validation.cardSecurityFormat")
1648
1649
  });
1649
- this.validationMessages.set("cardCvv", f), E.appendChild(f.getElement());
1650
+ this.validationMessages.set("cardCvv", y), E.appendChild(y.getElement());
1650
1651
  }
1651
- if (g && y) {
1652
- const f = new C({
1653
- text: g
1652
+ if (f && g) {
1653
+ const y = new C({
1654
+ text: f
1654
1655
  });
1655
- this.validationMessages.set("cardExpiry", f), E.appendChild(f.getElement());
1656
+ this.validationMessages.set("cardExpiry", y), E.appendChild(y.getElement());
1656
1657
  }
1657
1658
  setTimeout(() => this.updateErrorContainerHeight(), 0);
1658
1659
  }
@@ -1660,25 +1661,42 @@ class $t extends h {
1660
1661
  return this.cardNumber.updateCardType(e), this;
1661
1662
  }
1662
1663
  updateCardExpiry(e, t, i) {
1663
- this.cardExpiry.setValue(e);
1664
- const a = this.getElement().querySelector(
1664
+ const a = /^(\d{2})\/(\d{4})$/;
1665
+ let r = e.trim();
1666
+ if (a.test(r)) {
1667
+ const d = r.match(a);
1668
+ if (d && d.length === 3) {
1669
+ const f = d[1], g = d[2].slice(2);
1670
+ r = `${f} / ${g}`;
1671
+ }
1672
+ }
1673
+ const s = /^(\d{2})\/(\d{2})$/;
1674
+ if (s.test(r)) {
1675
+ const d = r.match(s);
1676
+ if (d && d.length === 3) {
1677
+ const f = d[1], g = d[2];
1678
+ r = `${f} / ${g}`;
1679
+ }
1680
+ }
1681
+ this.cardExpiry.setValue(r);
1682
+ const n = this.getElement().querySelector(
1665
1683
  ".error-messages-container"
1666
- ), r = this.cardExpiry.getElement().querySelector("input"), s = document.activeElement === r;
1667
- if (t && i && !s)
1684
+ ), l = this.cardExpiry.getElement().querySelector("input"), c = document.activeElement === l;
1685
+ if (t && i && !c)
1668
1686
  if (this.cardExpiry.setError(!1), this.validationMessages.has("cardExpiry"))
1669
1687
  this.validationMessages.get("cardExpiry")?.setText(t);
1670
1688
  else {
1671
- const l = new C({
1689
+ const d = new C({
1672
1690
  text: t
1673
1691
  });
1674
- this.validationMessages.set("cardExpiry", l), a.appendChild(l.getElement()), setTimeout(() => this.updateErrorContainerHeight(), 0);
1692
+ this.validationMessages.set("cardExpiry", d), n.appendChild(d.getElement()), setTimeout(() => this.updateErrorContainerHeight(), 0);
1675
1693
  }
1676
- else if (this.cardExpiry.setError(!1), s) {
1677
- const l = this.validationMessages.get("cardExpiry");
1678
- l && (l.getElement().remove(), this.validationMessages.delete("cardExpiry"), this.updateErrorContainerHeight());
1694
+ else if (this.cardExpiry.setError(!1), c) {
1695
+ const d = this.validationMessages.get("cardExpiry");
1696
+ d && (d.getElement().remove(), this.validationMessages.delete("cardExpiry"), this.updateErrorContainerHeight());
1679
1697
  } else if (!t) {
1680
- const l = this.validationMessages.get("cardExpiry");
1681
- l && (l.getElement().remove(), this.validationMessages.delete("cardExpiry"), this.updateErrorContainerHeight());
1698
+ const d = this.validationMessages.get("cardExpiry");
1699
+ d && (d.getElement().remove(), this.validationMessages.delete("cardExpiry"), this.updateErrorContainerHeight());
1682
1700
  }
1683
1701
  return this;
1684
1702
  }
@@ -1686,7 +1704,23 @@ class $t extends h {
1686
1704
  return this.cardExpiry.getValue();
1687
1705
  }
1688
1706
  trimCardExpiry() {
1689
- const e = this.getCardExpiryValue().trim();
1707
+ let e = this.getCardExpiryValue().trim();
1708
+ const t = /^(\d{2})\/(\d{4})$/;
1709
+ if (t.test(e)) {
1710
+ const a = e.match(t);
1711
+ if (a && a.length === 3) {
1712
+ const r = a[1], s = a[2].slice(2);
1713
+ e = `${r} / ${s}`;
1714
+ }
1715
+ }
1716
+ const i = /^(\d{2})\/(\d{2})$/;
1717
+ if (i.test(e)) {
1718
+ const a = e.match(i);
1719
+ if (a && a.length === 3) {
1720
+ const r = a[1], s = a[2];
1721
+ e = `${r} / ${s}`;
1722
+ }
1723
+ }
1690
1724
  return this.cardExpiry.setValue(e), this;
1691
1725
  }
1692
1726
  updateCardNumberValidation(e, t, i, a = !1) {
@@ -1782,7 +1816,7 @@ class Rt {
1782
1816
  translationFunc: l,
1783
1817
  autocomplete: c = "email"
1784
1818
  } = e;
1785
- this.input = new P({
1819
+ this.input = new z({
1786
1820
  name: "email",
1787
1821
  label: l("email"),
1788
1822
  // Always hide error initially - we'll show it only on blur if needed
@@ -1799,11 +1833,11 @@ class Rt {
1799
1833
  value: t,
1800
1834
  autocomplete: c,
1801
1835
  // Wrap the original onChange to apply trim and hide errors during typing
1802
- onChange: (d) => {
1803
- this.input.setError(!1), this.trim(), i(d);
1836
+ onChange: (h) => {
1837
+ this.input.setError(!1), this.trim(), i(h);
1804
1838
  }
1805
- }), this.input.addEventListener("blur", (d) => {
1806
- r && this.input.setError(r, s), a(d);
1839
+ }), this.input.addEventListener("blur", (h) => {
1840
+ r && this.input.setError(r, s), a(h);
1807
1841
  });
1808
1842
  }
1809
1843
  getValue() {
@@ -1830,7 +1864,7 @@ class Rt {
1830
1864
  }
1831
1865
  }
1832
1866
  const Bt = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='101px'%20height='32'%20viewBox='0%200%20101%2032'%20preserveAspectRatio='xMinYMin%20meet'%3e%3cpath%20fill='%23003087'%20d='M%2012.237%202.8%20L%204.437%202.8%20C%203.937%202.8%203.437%203.2%203.337%203.7%20L%200.237%2023.7%20C%200.137%2024.1%200.437%2024.4%200.837%2024.4%20L%204.537%2024.4%20C%205.037%2024.4%205.537%2024%205.637%2023.5%20L%206.437%2018.1%20C%206.537%2017.6%206.937%2017.2%207.537%2017.2%20L%2010.037%2017.2%20C%2015.137%2017.2%2018.137%2014.7%2018.937%209.8%20C%2019.237%207.7%2018.937%206%2017.937%204.8%20C%2016.837%203.5%2014.837%202.8%2012.237%202.8%20Z%20M%2013.137%2010.1%20C%2012.737%2012.9%2010.537%2012.9%208.537%2012.9%20L%207.337%2012.9%20L%208.137%207.7%20C%208.137%207.4%208.437%207.2%208.737%207.2%20L%209.237%207.2%20C%2010.637%207.2%2011.937%207.2%2012.637%208%20C%2013.137%208.4%2013.337%209.1%2013.137%2010.1%20Z'/%3e%3cpath%20fill='%23003087'%20d='M%2035.437%2010%20L%2031.737%2010%20C%2031.437%2010%2031.137%2010.2%2031.137%2010.5%20L%2030.937%2011.5%20L%2030.637%2011.1%20C%2029.837%209.9%2028.037%209.5%2026.237%209.5%20C%2022.137%209.5%2018.637%2012.6%2017.937%2017%20C%2017.537%2019.2%2018.037%2021.3%2019.337%2022.7%20C%2020.437%2024%2022.137%2024.6%2024.037%2024.6%20C%2027.337%2024.6%2029.237%2022.5%2029.237%2022.5%20L%2029.037%2023.5%20C%2028.937%2023.9%2029.237%2024.3%2029.637%2024.3%20L%2033.037%2024.3%20C%2033.537%2024.3%2034.037%2023.9%2034.137%2023.4%20L%2036.137%2010.6%20C%2036.237%2010.4%2035.837%2010%2035.437%2010%20Z%20M%2030.337%2017.2%20C%2029.937%2019.3%2028.337%2020.8%2026.137%2020.8%20C%2025.037%2020.8%2024.237%2020.5%2023.637%2019.8%20C%2023.037%2019.1%2022.837%2018.2%2023.037%2017.2%20C%2023.337%2015.1%2025.137%2013.6%2027.237%2013.6%20C%2028.337%2013.6%2029.137%2014%2029.737%2014.6%20C%2030.237%2015.3%2030.437%2016.2%2030.337%2017.2%20Z'/%3e%3cpath%20fill='%23003087'%20d='M%2055.337%2010%20L%2051.637%2010%20C%2051.237%2010%2050.937%2010.2%2050.737%2010.5%20L%2045.537%2018.1%20L%2043.337%2010.8%20C%2043.237%2010.3%2042.737%2010%2042.337%2010%20L%2038.637%2010%20C%2038.237%2010%2037.837%2010.4%2038.037%2010.9%20L%2042.137%2023%20L%2038.237%2028.4%20C%2037.937%2028.8%2038.237%2029.4%2038.737%2029.4%20L%2042.437%2029.4%20C%2042.837%2029.4%2043.137%2029.2%2043.337%2028.9%20L%2055.837%2010.9%20C%2056.137%2010.6%2055.837%2010%2055.337%2010%20Z'/%3e%3cpath%20fill='%23009cde'%20d='M%2067.737%202.8%20L%2059.937%202.8%20C%2059.437%202.8%2058.937%203.2%2058.837%203.7%20L%2055.737%2023.6%20C%2055.637%2024%2055.937%2024.3%2056.337%2024.3%20L%2060.337%2024.3%20C%2060.737%2024.3%2061.037%2024%2061.037%2023.7%20L%2061.937%2018%20C%2062.037%2017.5%2062.437%2017.1%2063.037%2017.1%20L%2065.537%2017.1%20C%2070.637%2017.1%2073.637%2014.6%2074.437%209.7%20C%2074.737%207.6%2074.437%205.9%2073.437%204.7%20C%2072.237%203.5%2070.337%202.8%2067.737%202.8%20Z%20M%2068.637%2010.1%20C%2068.237%2012.9%2066.037%2012.9%2064.037%2012.9%20L%2062.837%2012.9%20L%2063.637%207.7%20C%2063.637%207.4%2063.937%207.2%2064.237%207.2%20L%2064.737%207.2%20C%2066.137%207.2%2067.437%207.2%2068.137%208%20C%2068.637%208.4%2068.737%209.1%2068.637%2010.1%20Z'/%3e%3cpath%20fill='%23009cde'%20d='M%2090.937%2010%20L%2087.237%2010%20C%2086.937%2010%2086.637%2010.2%2086.637%2010.5%20L%2086.437%2011.5%20L%2086.137%2011.1%20C%2085.337%209.9%2083.537%209.5%2081.737%209.5%20C%2077.637%209.5%2074.137%2012.6%2073.437%2017%20C%2073.037%2019.2%2073.537%2021.3%2074.837%2022.7%20C%2075.937%2024%2077.637%2024.6%2079.537%2024.6%20C%2082.837%2024.6%2084.737%2022.5%2084.737%2022.5%20L%2084.537%2023.5%20C%2084.437%2023.9%2084.737%2024.3%2085.137%2024.3%20L%2088.537%2024.3%20C%2089.037%2024.3%2089.537%2023.9%2089.637%2023.4%20L%2091.637%2010.6%20C%2091.637%2010.4%2091.337%2010%2090.937%2010%20Z%20M%2085.737%2017.2%20C%2085.337%2019.3%2083.737%2020.8%2081.537%2020.8%20C%2080.437%2020.8%2079.637%2020.5%2079.037%2019.8%20C%2078.437%2019.1%2078.237%2018.2%2078.437%2017.2%20C%2078.737%2015.1%2080.537%2013.6%2082.637%2013.6%20C%2083.737%2013.6%2084.537%2014%2085.137%2014.6%20C%2085.737%2015.3%2085.937%2016.2%2085.737%2017.2%20Z'/%3e%3cpath%20fill='%23009cde'%20d='M%2095.337%203.3%20L%2092.137%2023.6%20C%2092.037%2024%2092.337%2024.3%2092.737%2024.3%20L%2095.937%2024.3%20C%2096.437%2024.3%2096.937%2023.9%2097.037%2023.4%20L%20100.237%203.5%20C%20100.337%203.1%20100.037%202.8%2099.637%202.8%20L%2096.037%202.8%20C%2095.637%202.8%2095.437%203%2095.337%203.3%20Z'/%3e%3c/svg%3e";
1833
- class Ht extends h {
1867
+ class Ht extends m {
1834
1868
  formData;
1835
1869
  onSubmit;
1836
1870
  isSubmitting = !1;
@@ -1862,7 +1896,7 @@ class Ht extends h {
1862
1896
  return this.isSubmitting = e, this.getElement().style.opacity = e ? "0.7" : "1", this;
1863
1897
  }
1864
1898
  }
1865
- class Ot extends h {
1899
+ class Ot extends m {
1866
1900
  constructor(e) {
1867
1901
  const { translationFunc: t, checkoutProfile: i } = e;
1868
1902
  super("div", ["payment-separator"]);
@@ -1874,7 +1908,7 @@ class Ot extends h {
1874
1908
  n.className = "payment-separator__line", a.appendChild(r), a.appendChild(s), a.appendChild(n);
1875
1909
  }
1876
1910
  }
1877
- class Kt extends h {
1911
+ class Kt extends m {
1878
1912
  paymentMethods;
1879
1913
  paymentSeparator;
1880
1914
  constructor(e) {
@@ -1896,8 +1930,8 @@ class Kt extends h {
1896
1930
  const n = Object.entries(
1897
1931
  t.additionalPaymentMethods
1898
1932
  ).filter(([l, c]) => {
1899
- const d = c.enabled, p = r ? r[l] === !0 : !0;
1900
- return d && p;
1933
+ const h = c.enabled, d = r ? r[l] === !0 : !0;
1934
+ return h && d;
1901
1935
  }).sort((l, c) => l[1].order - c[1].order);
1902
1936
  if (n.length === 0) {
1903
1937
  this.getElement().style.display = "none";
@@ -1947,7 +1981,7 @@ class Kt extends h {
1947
1981
  }
1948
1982
  }
1949
1983
  const jt = 17;
1950
- class qt extends h {
1984
+ class qt extends m {
1951
1985
  styles;
1952
1986
  isHovered = !1;
1953
1987
  constructor(e) {
@@ -2002,7 +2036,7 @@ class Ut {
2002
2036
  }
2003
2037
  }
2004
2038
  const _t = "https://test-htp.tokenex.com/Iframe/Iframe-v3.min.js", Gt = "https://htp.tokenex.com/iframe/iframe-v3.min.js";
2005
- class Yt extends h {
2039
+ class Yt extends m {
2006
2040
  options;
2007
2041
  isSubmitting = !1;
2008
2042
  scriptCleanup;
@@ -2026,20 +2060,20 @@ class Yt extends h {
2026
2060
  // factories
2027
2061
  formManager = W();
2028
2062
  checkoutProfile;
2029
- translation = z();
2063
+ translation = P();
2030
2064
  iframeHook;
2031
2065
  constructor(e) {
2032
2066
  super("form", ["form-container"]), this.options = e, this.checkoutProfile = U({
2033
2067
  apiKey: e.apiKey,
2034
2068
  profileId: e.profileId,
2035
2069
  environment: e.environment
2036
- }), e.locale && this.translation.setLocale(e.locale), this.localTouchedFields = /* @__PURE__ */ new Set(), this.getElement().addEventListener("submit", this.handleSubmit), this.getElement().addEventListener("keydown", this.handleKeyDown), this.formManager.subscribe(this.handleFormStateChange), this.checkoutProfile.subscribe(this.handleProfileStateChange), this.initializeForm(), this.appendTo(e.container);
2070
+ }), e.locale && this.translation.setLocale(e.locale), this.localTouchedFields = /* @__PURE__ */ new Set(), this.getElement().addEventListener("submit", this.handleSubmit), this.getElement().addEventListener("keydown", this.handleKeyDown), this.formManager.subscribe(this.handleFormStateChange), this.checkoutProfile.subscribe(this.handleProfileStateChange), e.initialValues?.email && this.formManager.setFormData({ email: e.initialValues.email }), this.initializeForm(), this.appendTo(e.container);
2037
2071
  }
2038
2072
  _getFormStateData() {
2039
2073
  const e = this.formManager.getFormState();
2040
2074
  return {
2041
2075
  formData: e.formData || {
2042
- email: "",
2076
+ email: this.options.initialValues?.email || "",
2043
2077
  name: "",
2044
2078
  cardExpiry: ""
2045
2079
  },
@@ -2466,7 +2500,8 @@ class Zt {
2466
2500
  container: this.container,
2467
2501
  environment: this.options.environment,
2468
2502
  onLoadingStateChange: this.options.onLoadingStateChange,
2469
- paymentId: this.options.paymentId
2503
+ paymentId: this.options.paymentId,
2504
+ initialValues: this.options.initialValues
2470
2505
  }));
2471
2506
  }
2472
2507
  unmount() {
@@ -2516,7 +2551,8 @@ class Xt {
2516
2551
  disableErrorMessages: this.config.disableErrorMessages,
2517
2552
  environment: this.config.environment,
2518
2553
  onLoadingStateChange: this.config.callbacks.onLoadingStateChange,
2519
- paymentId: this.config.paymentId
2554
+ paymentId: this.config.paymentId,
2555
+ initialValues: this.config.initialValues
2520
2556
  },
2521
2557
  this.handleSubmit.bind(this)
2522
2558
  );
@@ -2536,6 +2572,7 @@ class Xt {
2536
2572
  locale: e.locale || Wt,
2537
2573
  disableErrorMessages: e.disableErrorMessages ?? !1,
2538
2574
  manualActionHandling: e.manualActionHandling ?? !1,
2575
+ initialValues: e.initialValues || {},
2539
2576
  callbacks: {
2540
2577
  onPaymentSucceeded: e.callbacks?.onPaymentSucceeded || void 0,
2541
2578
  onPaymentFailed: e.callbacks?.onPaymentFailed || void 0,
@@ -2602,7 +2639,7 @@ export {
2602
2639
  le as deLocale,
2603
2640
  ye as enLocale,
2604
2641
  we as esLocale,
2605
- Ve as frLocale,
2642
+ De as frLocale,
2606
2643
  qe as itLocale,
2607
2644
  Qe as plLocale,
2608
2645
  lt as ptLocale,
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- .form-container{display:flex;flex-direction:column;gap:24px;padding:4px;position:relative;min-height:340px;max-width:100%;text-align:left}.form-container>*{font-family:inherit}.card-details{display:flex}.error-messages-container>*{display:none}.error-messages-container>*:first-child{display:block}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.error-alert{background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:16px;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;animation:slideIn .3s ease-out}.error-alert-content{display:flex;align-items:flex-start;gap:12px}.error-alert-icon-container{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:#fee2e2;border-radius:50%;color:#dc2626}.error-alert-icon{color:#dc2626}.error-alert-text-container{flex:1;min-width:0}.error-alert-title{margin:0 0 4px;font-size:14px;font-weight:600;color:#991b1b;line-height:1.4}.error-alert-message{margin:0;font-size:14px;color:#7f1d1d;line-height:1.5;word-break:break-word}.skeleton-container{display:flex;flex-direction:column;gap:24px;padding:4px;position:relative;max-width:100%;text-align:left;position:absolute;inset:0;height:100%;width:100%;background:#fff;z-index:9999}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;border-radius:8px;animation:shimmer 1.5s ease-in-out infinite;position:relative;overflow:hidden}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-field{display:flex;flex-direction:column;gap:8px}.skeleton-label{height:16px;width:80px;border-radius:4px}.skeleton-input,.skeleton-payment-method{height:35px;width:100%;border-radius:8px}.skeleton-card-row{display:flex;gap:12px}.skeleton-card-row .skeleton-field{flex:1}.skeleton-submit-button{height:35px;width:100%;border-radius:8px}.skeleton-separator-text{height:14px;width:100px;border-radius:4px}.payment-separator_container{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}@media (prefers-color-scheme: dark){.skeleton{background:linear-gradient(90deg,#2a2a2a 25%,#1a1a1a,#2a2a2a 75%);background-size:200% 100%}}@media only screen and (max-width: 600px){.skeleton-container{gap:20px;min-height:320px}}.blur-bg{position:absolute;inset:0;height:100%;width:100%;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(3.5px);z-index:9999}.loader{width:64px;height:64px;border:6px solid transparent;border-top:6px solid #4f81ff;border-right:6px solid #36d1dc;border-radius:50%;animation:spin 1s ease-in-out infinite,glow 1.5s ease-in-out infinite alternate;box-shadow:0 0 #4f81ff00}@keyframes spin{to{transform:rotate(360deg)}}@keyframes glow{0%{box-shadow:0 0 #4f81ff00}to{box-shadow:0 0 20px #4f81ff99}}.title{margin-top:20px;font-size:18px;color:#4f4f4f;animation:fadeIn 1s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.input-wrapper{display:flex;flex-direction:column;width:100%;min-width:0;flex-grow:1;flex-basis:0;box-sizing:border-box;align-items:stretch}.input-wrapper *{box-sizing:border-box}.form-input{opacity:1;font-weight:400;letter-spacing:.02em;transition:box-shadow .1s ease-in,border-radius .2s ease-in;box-shadow:0 0 0 1px #e0e0e0,0 2px 4px #00000012,0 1px 1.5px #0000000d;background:#fff;padding:8px 12px;border:none;outline:none;line-height:1.5;z-index:0;box-sizing:border-box;min-height:0;flex:1}.form-input-error{color:#dc2727}.form-input::placeholder{color:#717173;opacity:.3}.form-input:focus{box-shadow:0 0 0 1px #3297d3b3,0 1px 1px #00000012,0 0 0 4px #3297d34d;z-index:2}.form-helper-text{color:#dc2727;font-size:12px;font-weight:500;margin-top:4px;display:block;overflow:hidden;max-height:100px;transition:max-height .3s ease-in-out,opacity .3s ease-in-out,margin .3s ease-in-out}.form-helper-text-hidden{max-height:0;opacity:0;margin-top:0;overflow:hidden}.input-label{margin-bottom:6px}.card-element{position:relative;height:38.5px;transition:box-shadow .1s ease-in;box-shadow:0 0 0 1px #e0e0e0,0 2px 4px #00000012,0 1px 1.5px #0000000d;padding:0;border:none;background:#fff;border-radius:inherit;box-sizing:border-box}.card-element iframe{width:100%;min-width:0;display:block}.card-element-focus{box-shadow:0 0 0 1px #3297d3b3,0 1px 1px #00000012,0 0 0 4px #3297d34d}.card-icon{width:16px;transition:opacity .6s ease-in;opacity:1}.card-icon img{max-width:100%;display:block;height:auto}.cards-position{position:absolute;z-index:10;right:20px;top:8px;display:flex;align-items:center;gap:8px;pointer-events:none}.loading{position:relative}.loading:after{content:"";position:absolute;inset:0;height:100%;width:100%;background-color:#fff;border-radius:inherit}@media only screen and (min-width: 600px){.card-icon{width:20px}}.paypal{background-color:#ffc439;color:#253b80;font-weight:700;padding:8px 16px;box-shadow:0 2px 4px #0000001a;text-transform:none;cursor:pointer;border-radius:4px}.paypal:hover{background-color:#ffc439;filter:brightness(.95)}.paypal-icon-container{display:flex;align-items:center;justify-content:center}.paypal-icon-container img{width:69px;height:22px}.payment-separator{width:100%;display:flex;align-items:center;justify-content:space-between;margin:12px 0 -16px}.payment-separator__line{height:1.3px;flex-grow:1;background:#9f9f9f}.payment-separator__text{font-size:14px;color:#0d0d0d;padding:0 16px;margin:0;font-weight:400}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;font-size:14px;font-weight:500;line-height:1.5;text-align:center;cursor:pointer;transition:all .2s ease;font-weight:700;border:none;outline:none;white-space:nowrap;height:min-content;width:100%}.disabled{pointer-events:none}.valid{outline:none;overflow:hidden;transition:all .3s ease}.valid:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .5s;animation:glowSlide 6s infinite}@keyframes glowSlide{0%{left:-100%}50%{left:100%}to{left:100%}}.valid:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 25%,rgba(255,255,255,.3) 50%,rgba(255,255,255,.1) 75%,transparent 100%);transform:translate(-100%);animation:smoothGlow 7s infinite}@keyframes smoothGlow{0%{transform:translate(-100%)}to{transform:translate(100%)}}
1
+ .form-container{display:flex;flex-direction:column;gap:24px;padding:4px;position:relative;min-height:340px;max-width:100%;text-align:left}.form-container>*{font-family:inherit}.card-details{display:flex}.error-messages-container>*{display:none}.error-messages-container>*:first-child{display:block}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.error-alert{background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:16px;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;animation:slideIn .3s ease-out}.error-alert-content{display:flex;align-items:flex-start;gap:12px}.error-alert-icon-container{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:#fee2e2;border-radius:50%;color:#dc2626}.error-alert-icon{color:#dc2626}.error-alert-text-container{flex:1;min-width:0}.error-alert-title{margin:0 0 4px;font-size:14px;font-weight:600;color:#991b1b;line-height:1.4}.error-alert-message{margin:0;font-size:14px;color:#7f1d1d;line-height:1.5;word-break:break-word}.skeleton-container{display:flex;flex-direction:column;gap:24px;padding:4px;position:relative;max-width:100%;text-align:left;position:absolute;inset:0;height:100%;width:100%;background:#fff;z-index:9999}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;border-radius:8px;animation:shimmer 1.5s ease-in-out infinite;position:relative;overflow:hidden}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-field{display:flex;flex-direction:column;gap:8px}.skeleton-label{height:16px;width:80px;border-radius:4px}.skeleton-input,.skeleton-payment-method{height:35px;width:100%;border-radius:8px}.skeleton-card-row{display:flex;gap:12px}.skeleton-card-row .skeleton-field{flex:1}.skeleton-submit-button{height:35px;width:100%;border-radius:8px}.skeleton-separator-text{height:14px;width:100px;border-radius:4px}.payment-separator_container{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}@media only screen and (max-width: 600px){.skeleton-container{gap:20px;min-height:320px}}.blur-bg{position:absolute;inset:0;height:100%;width:100%;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(3.5px);z-index:9999}.loader{width:64px;height:64px;border:6px solid transparent;border-top:6px solid #4f81ff;border-right:6px solid #36d1dc;border-radius:50%;animation:spin 1s ease-in-out infinite,glow 1.5s ease-in-out infinite alternate;box-shadow:0 0 #4f81ff00}@keyframes spin{to{transform:rotate(360deg)}}@keyframes glow{0%{box-shadow:0 0 #4f81ff00}to{box-shadow:0 0 20px #4f81ff99}}.title{margin-top:20px;font-size:18px;color:#4f4f4f;animation:fadeIn 1s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.input-wrapper{display:flex;flex-direction:column;width:100%;min-width:0;flex-grow:1;flex-basis:0;box-sizing:border-box;align-items:stretch}.input-wrapper *{box-sizing:border-box}.form-input{opacity:1;font-weight:400;letter-spacing:.02em;transition:box-shadow .1s ease-in,border-radius .2s ease-in;box-shadow:0 0 0 1px #e0e0e0,0 2px 4px #00000012,0 1px 1.5px #0000000d;background:#fff;padding:8px 12px;border:none;outline:none;line-height:1.5;z-index:0;box-sizing:border-box;min-height:0;flex:1}.form-input-error{color:#dc2727}.form-input::placeholder{color:#717173;opacity:.3}.form-input:focus{box-shadow:0 0 0 1px #3297d3b3,0 1px 1px #00000012,0 0 0 4px #3297d34d;z-index:2}.form-helper-text{color:#dc2727;font-size:12px;font-weight:500;margin-top:4px;display:block;overflow:hidden;max-height:100px;transition:max-height .3s ease-in-out,opacity .3s ease-in-out,margin .3s ease-in-out}.form-helper-text-hidden{max-height:0;opacity:0;margin-top:0;overflow:hidden}.input-label{margin-bottom:6px}.card-element{position:relative;height:38.5px;transition:box-shadow .1s ease-in;box-shadow:0 0 0 1px #e0e0e0,0 2px 4px #00000012,0 1px 1.5px #0000000d;padding:0;border:none;background:#fff;border-radius:inherit;box-sizing:border-box}.card-element iframe{width:100%;min-width:0;display:block}.card-element-focus{box-shadow:0 0 0 1px #3297d3b3,0 1px 1px #00000012,0 0 0 4px #3297d34d}.card-icon{width:16px;transition:opacity .6s ease-in;opacity:1}.card-icon img{max-width:100%;display:block;height:auto}.cards-position{position:absolute;z-index:10;right:20px;top:8px;display:flex;align-items:center;gap:8px;pointer-events:none}.loading{position:relative}.loading:after{content:"";position:absolute;inset:0;height:100%;width:100%;background-color:#fff;border-radius:inherit}@media only screen and (min-width: 600px){.card-icon{width:20px}}.paypal{background-color:#ffc439;color:#253b80;font-weight:700;padding:8px 16px;box-shadow:0 2px 4px #0000001a;text-transform:none;cursor:pointer;border-radius:4px}.paypal:hover{background-color:#ffc439;filter:brightness(.95)}.paypal-icon-container{display:flex;align-items:center;justify-content:center}.paypal-icon-container img{width:69px;height:22px}.payment-separator{width:100%;display:flex;align-items:center;justify-content:space-between;margin:12px 0 -16px}.payment-separator__line{height:1.3px;flex-grow:1;background:#9f9f9f}.payment-separator__text{font-size:14px;color:#0d0d0d;padding:0 16px;margin:0;font-weight:400}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;font-size:14px;font-weight:500;line-height:1.5;text-align:center;cursor:pointer;transition:all .2s ease;font-weight:700;border:none;outline:none;white-space:nowrap;height:min-content;width:100%}.disabled{pointer-events:none}.valid{outline:none;overflow:hidden;transition:all .3s ease}.valid:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .5s;animation:glowSlide 6s infinite}@keyframes glowSlide{0%{left:-100%}50%{left:100%}to{left:100%}}.valid:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 25%,rgba(255,255,255,.3) 50%,rgba(255,255,255,.1) 75%,transparent 100%);transform:translate(-100%);animation:smoothGlow 7s infinite}@keyframes smoothGlow{0%{transform:translate(-100%)}to{transform:translate(100%)}}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odus/checkout",
3
- "version": "0.11.0",
3
+ "version": "0.12.0-beta.0",
4
4
  "displayName": "Odus Checkout SDK",
5
5
  "keywords": [
6
6
  "odus",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odus/checkout",
3
- "version": "0.11.0",
3
+ "version": "0.12.0-beta.0",
4
4
  "displayName": "Odus Checkout SDK",
5
5
  "keywords": [
6
6
  "odus",