@odus/checkout 0.5.10 → 0.6.1

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,5 +1,5 @@
1
1
  const I = (o) => o === "test" ? "https://sandbox-api.odus.com" : o === "live" ? "https://api.odus.com" : "http://localhost:3000";
2
- class B {
2
+ class H {
3
3
  apiKey;
4
4
  baseUrl;
5
5
  browserInfo;
@@ -96,7 +96,7 @@ class B {
96
96
  });
97
97
  }
98
98
  }
99
- const O = async ({
99
+ const K = async ({
100
100
  id: o,
101
101
  apiKey: e,
102
102
  environment: t
@@ -112,7 +112,7 @@ const O = async ({
112
112
  throw new Error(`HTTP error! Status: ${a.status}`);
113
113
  return await a.json();
114
114
  };
115
- class H {
115
+ class j {
116
116
  events = /* @__PURE__ */ new Map();
117
117
  /**
118
118
  * Subscribe to an event
@@ -150,13 +150,13 @@ class H {
150
150
  return this.events.get(e)?.size || 0;
151
151
  }
152
152
  }
153
- const K = new H();
154
- class j {
153
+ const U = new j();
154
+ class q {
155
155
  state;
156
156
  initialState;
157
157
  eventBus;
158
158
  stateChangedEvent = "state-changed";
159
- constructor(e, t = K) {
159
+ constructor(e, t = U) {
160
160
  this.initialState = { ...e }, this.state = { ...e }, this.eventBus = t;
161
161
  }
162
162
  /**
@@ -196,22 +196,22 @@ class j {
196
196
  return this.state[e];
197
197
  }
198
198
  }
199
- function L(o) {
200
- return new j(o);
199
+ function k(o) {
200
+ return new q(o);
201
201
  }
202
- function U({
202
+ function G({
203
203
  apiKey: o,
204
204
  profileId: e,
205
205
  environment: t
206
206
  }) {
207
- const i = L({
207
+ const i = k({
208
208
  checkoutProfile: void 0,
209
209
  isLoading: !0,
210
210
  error: null
211
211
  }), a = async () => {
212
212
  try {
213
213
  i.setState({ isLoading: !0 });
214
- const r = await O({
214
+ const r = await K({
215
215
  apiKey: o,
216
216
  id: e,
217
217
  environment: t
@@ -234,11 +234,11 @@ function U({
234
234
  reload: a
235
235
  };
236
236
  }
237
- const P = {
237
+ const N = {
238
238
  cardNumber: (o) => (o.replace(/\s/g, "").match(/.{1,4}/g) || []).join(" "),
239
239
  cardExpiry: (o) => {
240
240
  const t = o.replace(/\D/g, "").slice(0, 4);
241
- return t.length > 2 ? `${t.slice(0, 2)} / ${t.slice(2)}` : t;
241
+ return t.length > 2 ? `${t.slice(0, 2)} / ${t.slice(2, 4)}` : t;
242
242
  }
243
243
  }, $ = {
244
244
  "gmail.com": [
@@ -312,7 +312,7 @@ const P = {
312
312
  "comcast.net": ["comcast.com", "comcat.net", "comcst.net", "comcastnet", "comcast.nt", "comcas.net"],
313
313
  "verizon.net": ["verizon.com", "verizon.nt", "verizonnet", "verizn.net", "verizon.ne", "verzon.net"],
314
314
  "att.net": ["att.com", "at.net", "att.nt", "attnet", "att.ne", "attt.net"]
315
- }, q = (o) => {
315
+ }, _ = (o) => {
316
316
  if (!o || o.includes("."))
317
317
  return null;
318
318
  const e = ["com", "net", "org", "edu", "gov", "io", "co"];
@@ -325,7 +325,7 @@ const P = {
325
325
  }
326
326
  }
327
327
  return null;
328
- }, G = (o, e) => {
328
+ }, Y = (o, e) => {
329
329
  if (o.length === 0) return e.length;
330
330
  if (e.length === 0) return o.length;
331
331
  const t = e.length + 1, i = o.length + 1, a = Array.from(
@@ -345,15 +345,15 @@ const P = {
345
345
  );
346
346
  }
347
347
  return a[e.length][o.length];
348
- }, _ = (o) => {
348
+ }, Z = (o) => {
349
349
  let t = null, i = 3;
350
350
  const a = o.toLowerCase();
351
351
  for (const r of Object.keys($)) {
352
- const s = G(a, r);
352
+ const s = Y(a, r);
353
353
  s <= 2 && s < i && (i = s, t = r);
354
354
  }
355
355
  return t;
356
- }, Y = () => {
356
+ }, J = () => {
357
357
  const { t: o } = z();
358
358
  return {
359
359
  validateEmail: (t) => {
@@ -373,7 +373,7 @@ const P = {
373
373
  };
374
374
  const r = t.substring(0, a), s = t.substring(a + 1);
375
375
  if (!s.includes(".")) {
376
- const l = q(s);
376
+ const l = _(s);
377
377
  if (l)
378
378
  return {
379
379
  isValid: !1,
@@ -398,7 +398,7 @@ const P = {
398
398
  message: o("validation.emailInvalid"),
399
399
  suggestion: null
400
400
  };
401
- const n = _(s);
401
+ const n = Z(s);
402
402
  if (n && n !== s) {
403
403
  const l = `${r}@${n}`;
404
404
  return {
@@ -414,8 +414,8 @@ const P = {
414
414
  };
415
415
  }
416
416
  };
417
- }, Z = () => {
418
- const { t: o } = z(), { validateEmail: e } = Y();
417
+ }, W = () => {
418
+ const { t: o } = z(), { validateEmail: e } = J();
419
419
  return {
420
420
  email: (t) => {
421
421
  const i = e(t);
@@ -436,8 +436,8 @@ const P = {
436
436
  return o("validation.cardExpiryInvalid");
437
437
  }
438
438
  };
439
- }, J = () => {
440
- const o = Z(), e = L({
439
+ }, X = () => {
440
+ const o = W(), e = k({
441
441
  formData: {
442
442
  name: "",
443
443
  email: "",
@@ -465,28 +465,28 @@ const P = {
465
465
  }, r = (l, c) => {
466
466
  const d = e.getState();
467
467
  let u = c;
468
- l in P && (u = P[l](c));
468
+ l in N && (u = N[l](c));
469
469
  const p = {
470
470
  ...d.formData,
471
471
  [l]: u
472
- }, m = { ...d.errors };
472
+ }, g = { ...d.errors };
473
473
  if (d.touched[l]) {
474
- const f = t(l, u);
475
- f ? m[l] = f : delete m[l];
474
+ const m = t(l, u);
475
+ m ? g[l] = m : delete g[l];
476
476
  }
477
477
  e.setState({
478
478
  formData: p,
479
- errors: m,
479
+ errors: g,
480
480
  isValid: a(p)
481
481
  });
482
482
  }, s = (l, c) => {
483
483
  const d = e.getState(), u = {
484
484
  ...d.touched,
485
485
  [l]: !0
486
- }, p = t(l, c), m = { ...d.errors };
487
- p ? m[l] = p : delete m[l], e.setState({
486
+ }, p = t(l, c), g = { ...d.errors };
487
+ p ? g[l] = p : delete g[l], e.setState({
488
488
  touched: u,
489
- errors: m
489
+ errors: g
490
490
  });
491
491
  }, n = (l) => {
492
492
  const d = {
@@ -506,35 +506,32 @@ const P = {
506
506
  setFormData: n,
507
507
  reset: e.resetState.bind(e)
508
508
  };
509
- }, W = async ({
509
+ }, Q = async ({
510
510
  props: o,
511
511
  apiKey: e,
512
512
  environment: t
513
513
  }) => {
514
- const i = I(t), a = await fetch(
515
- `${i}/tokenization/generate-iframe-configuration`,
516
- {
517
- method: "POST",
518
- headers: {
519
- "Content-Type": "application/json",
520
- Authorization: `Bearer ${e}`
521
- },
522
- body: JSON.stringify(o)
523
- }
524
- );
514
+ const i = I(t), a = await fetch(`${i}/checkout/init`, {
515
+ method: "POST",
516
+ headers: {
517
+ "Content-Type": "application/json",
518
+ Authorization: `Bearer ${e}`
519
+ },
520
+ body: JSON.stringify(o)
521
+ });
525
522
  if (!a.ok)
526
523
  throw new Error(`HTTP error! Status: ${a.status}`);
527
524
  return await a.json();
528
525
  };
529
- function X({
526
+ function ee({
530
527
  apiKey: o,
531
- // scriptLoaded,
532
528
  checkoutProfile: e,
533
529
  inputStyles: t,
534
530
  setFormData: i,
535
- environment: a
531
+ environment: a,
532
+ paymentId: r
536
533
  }) {
537
- const r = L({
534
+ const s = k({
538
535
  iframeConfig: void 0,
539
536
  loadingIframe: !0,
540
537
  isCcValid: !1,
@@ -543,38 +540,38 @@ function X({
543
540
  isCvvFocused: !1,
544
541
  possibleCardType: "unknown"
545
542
  });
546
- let s = null;
547
- const n = async () => {
543
+ let n = null;
544
+ const l = async () => {
548
545
  try {
549
546
  console.log("[IframeConfig] Generating iframe configuration...");
550
- const m = await W({
547
+ const m = await Q({
551
548
  props: {
552
- allowedOrigins: [globalThis.location.origin]
549
+ payment: r
553
550
  },
554
551
  apiKey: o,
555
552
  environment: a
556
553
  });
557
- m && (console.log("[IframeConfig] Iframe config generated successfully."), r.setState({
554
+ m && (console.log("[IframeConfig] Iframe config generated successfully."), s.setState({
558
555
  iframeConfig: {
559
556
  ...m,
560
557
  origin: globalThis.location.origin
561
558
  }
562
- }), c());
559
+ }), d());
563
560
  } catch (m) {
564
561
  console.error("Failed to generate iframe config:", m);
565
562
  }
566
- }, l = () => {
567
- const m = r.getState();
563
+ }, c = () => {
564
+ const m = s.getState();
568
565
  if (console.log("[IframeConfig] createTokenExIframe started."), !m.iframeConfig || !e) {
569
566
  console.error(
570
567
  "[IframeConfig] Missing iframe config or checkout profile."
571
568
  );
572
569
  return;
573
570
  }
574
- const f = document.getElementById("card-element"), M = document.getElementById("card-cvv-element");
575
- if (!f || !M)
571
+ const b = document.getElementById("card-element"), S = document.getElementById("card-cvv-element");
572
+ if (!b || !S)
576
573
  throw new Error("Card elements not found in DOM");
577
- console.log("[IframeConfig] Creating TokenEx.Iframe instance."), s = new globalThis.TokenEx.Iframe("card-element", {
574
+ console.log("[IframeConfig] Creating TokenEx.Iframe instance."), n = new globalThis.TokenEx.Iframe("card-element", {
578
575
  ...m.iframeConfig,
579
576
  placeholder: "1234 1234 1234 1234",
580
577
  cvvPlaceholder: "CVC",
@@ -598,38 +595,38 @@ function X({
598
595
  base: `${t.base}; border-radius: 0px 0px ${e.styles.borderRadius}px 0px`
599
596
  }
600
597
  }
601
- }), s.on("load", () => {
602
- console.log("[IframeConfig] Iframe loaded event received."), r.setState({ loadingIframe: !1 });
603
- }), s.on("autoCompleteValues", function(y) {
604
- const { nameOnCard: b, cardExp: C } = y;
598
+ }), n.on("load", () => {
599
+ console.log("[IframeConfig] Iframe loaded event received."), s.setState({ loadingIframe: !1 });
600
+ }), n.on("autoCompleteValues", function(x) {
601
+ const { nameOnCard: C, cardExp: v } = x;
605
602
  i({
606
- name: b,
607
- cardExpiry: C
603
+ name: C,
604
+ cardExpiry: v
608
605
  });
609
- }), s.on("validate", function(y) {
610
- const { isValid: b, isCvvValid: C } = y;
606
+ }), n.on("validate", function(x) {
607
+ const { isValid: C, isCvvValid: v } = x;
611
608
  console.log(
612
- `[IframeConfig] Validation event: isCardValid=${b}, isCvvValid=${C}`
613
- ), r.setState({
614
- isCcValid: b,
615
- isCvvValid: C
609
+ `[IframeConfig] Validation event: isCardValid=${C}, isCvvValid=${v}`
610
+ ), s.setState({
611
+ isCcValid: C,
612
+ isCvvValid: v
616
613
  });
617
- }), s.on("focus", function() {
618
- r.setState({ isFocused: !0 });
619
- }), s.on("blur", function() {
620
- r.setState({ isFocused: !1 });
621
- }), s.on("cvvFocus", function() {
622
- r.setState({ isCvvFocused: !0 });
623
- }), s.on("cvvBlur", function() {
624
- r.setState({ isCvvFocused: !1 });
625
- }), s.on(
614
+ }), n.on("focus", function() {
615
+ s.setState({ isFocused: !0 });
616
+ }), n.on("blur", function() {
617
+ s.setState({ isFocused: !1 });
618
+ }), n.on("cvvFocus", function() {
619
+ s.setState({ isCvvFocused: !0 });
620
+ }), n.on("cvvBlur", function() {
621
+ s.setState({ isCvvFocused: !1 });
622
+ }), n.on(
626
623
  "cardTypeChange",
627
- function({ possibleCardType: y }) {
628
- r.setState({ possibleCardType: y });
624
+ function({ possibleCardType: x }) {
625
+ s.setState({ possibleCardType: x });
629
626
  }
630
- ), s.load();
631
- }, c = () => {
632
- const m = r.getState();
627
+ ), n.load();
628
+ }, d = () => {
629
+ const m = s.getState();
633
630
  if (console.log("[IframeConfig] initializeIframe started."), !m.iframeConfig || !e) {
634
631
  console.error(
635
632
  "[IframeConfig] Missing iframe config or checkout profile for initialization."
@@ -641,111 +638,111 @@ function X({
641
638
  return;
642
639
  }
643
640
  try {
644
- console.log("[IframeConfig] Creating TokenEx iframe..."), l(), console.log("[IframeConfig] TokenEx iframe created successfully");
645
- } catch (f) {
646
- console.error("Failed to create TokenEx iframe:", f);
641
+ console.log("[IframeConfig] Creating TokenEx iframe..."), c(), console.log("[IframeConfig] TokenEx iframe created successfully");
642
+ } catch (b) {
643
+ console.error("Failed to create TokenEx iframe:", b);
647
644
  }
648
- }, d = async () => {
649
- o && (console.log("[IframeConfig] Manual initialization triggered."), await n());
650
- }, u = () => {
651
- s && (s.remove(), s = null);
652
- }, p = async (m) => {
653
- s && (s.on("tokenize", async function(f) {
654
- await m(f);
655
- }), s.tokenize());
645
+ }, u = async () => {
646
+ o && (console.log("[IframeConfig] Manual initialization triggered."), await l());
647
+ }, p = () => {
648
+ n && (n.remove(), n = null);
649
+ }, g = async (m) => {
650
+ n && (n.on("tokenize", async function(b) {
651
+ await m(b);
652
+ }), n.tokenize());
656
653
  };
657
654
  return {
658
- getState: r.getState.bind(r),
659
- subscribe: r.subscribe.bind(r),
660
- tokenize: p,
661
- cleanup: u,
662
- initialize: d
655
+ getState: s.getState.bind(s),
656
+ subscribe: s.subscribe.bind(s),
657
+ tokenize: g,
658
+ cleanup: p,
659
+ initialize: u
663
660
  };
664
661
  }
665
- const Q = "E-Mail", ee = "Name des/der Karteninhaber/in", te = "Kartendaten", ie = "Vollständiger Name", ae = "MM / JJ", re = "Das Fenster nicht schließen", se = { pay: "ZAHLEN", submit: "ABSENDEN", getPlan: "MEINEN PLAN ERHALTEN", donate: "spenden", book: "jetzt buchen", order: "jetzt bestellen" }, oe = { emailSuggestion: "Meinten Sie {{email}}?", emailInvalid: "Ihre E-Mail-Adresse ist nicht korrekt", cardExpiryInvalid: "Das Ablaufdatum Ihrer Karte liegt in der Vergangenheit", cardExpiryFormat: "Das Ablaufdatum Ihrer Karte ist unvollständig", cardSecurityFormat: "Der Sicherheitscode Ihrer Karte ist unvollständig", nameRequired: "Gib deinen Namen genau so ein, wie er auf deiner Karte steht", cardNumberInvalid: "Die Kartennummer ist unvollständig" }, ne = {
666
- email: Q,
667
- cardholderNameLabel: ee,
668
- cardInformation: te,
669
- cardholderNamePlaceholder: ie,
670
- cardExpiry: ae,
671
- loading: re,
672
- buttonTexts: se,
673
- validation: oe
674
- }, le = "Email", ce = "Cardholder name", de = "Card information", he = "Full name on card", me = "MM / YY", ue = "Do not close the window", pe = { pay: "PAY", submit: "SUBMIT", getPlan: "GET MY PLAN", donate: "DONATE", book: "BOOK NOW", order: "ORDER NOW" }, ge = { emailSuggestion: "Did you mean {{email}}?", emailInvalid: "Your email is not correct", cardExpiryInvalid: "Your card's expiration date is in the past", cardExpiryFormat: "Your card’s expiration date is incomplete", cardSecurityFormat: "Your card’s security code is incomplete", nameRequired: "Please enter the name as it appears on your card", cardNumberInvalid: "Your card number is invalid" }, fe = {
675
- email: le,
676
- cardholderNameLabel: ce,
677
- cardInformation: de,
678
- cardholderNamePlaceholder: he,
679
- cardExpiry: me,
680
- loading: ue,
681
- buttonTexts: pe,
682
- validation: ge
683
- }, ye = "Correo electrónico", ve = "Nombre del titular de la tarjeta", Ee = "Información de la tarjeta", Ce = "Nombre completo en la tarjeta", be = "MM / AA", xe = "Por favor, no cierre esta ventana", Se = { pay: "PAGAR", submit: "ENVIAR", getPlan: "OBTENER MI PLAN", donate: "DONAR", book: "RESERVAR AHORA", order: "ORDENAR AHORA" }, Fe = { emailSuggestion: "¿Quisiste decir {{email}}?", emailInvalid: "Su correo electrónico no es válido", cardExpiryInvalid: "La fecha de vencimiento de la tarjeta ya pasó", cardExpiryFormat: "La fecha de vencimiento de su tarjeta está incompleta", cardSecurityFormat: "El código de seguridad de su tarjeta está incompleto", nameRequired: "Por favor, ingrese el nombre tal como aparece en su tarjeta", cardNumberInvalid: "Su número de tarjeta no es válido" }, we = {
684
- email: ye,
685
- cardholderNameLabel: ve,
686
- cardInformation: Ee,
687
- cardholderNamePlaceholder: Ce,
688
- cardExpiry: be,
689
- loading: xe,
690
- buttonTexts: Se,
691
- validation: Fe
692
- }, Le = "E-mail", Me = "Nom du titulaire de la carte", ke = "Informations de la carte", Te = "Nom complet figurant sur la carte", Ie = "MM / AA", ze = "Veuillez ne pas fermer cette fenêtre", Ne = { pay: "PAYER", submit: "ENVOYER", getPlan: "OBTENIR MON PLAN", donate: "FAIRE UN DON", book: "RÉSERVER MAINTENANT", order: "COMMANDER MAINTENANT" }, Pe = { 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" }, Ae = {
693
- email: Le,
694
- cardholderNameLabel: Me,
695
- cardInformation: ke,
696
- cardholderNamePlaceholder: Te,
697
- cardExpiry: Ie,
698
- loading: ze,
699
- buttonTexts: Ne,
700
- validation: Pe
701
- }, De = "Email", Ve = "Nome del titolare della carta", $e = "Informazioni sulla carta", Re = "Nome completo sulla carta", Be = "MM / AA", Oe = "Non chiudere la finestra", He = { pay: "PAGA", submit: "INVIA", getPlan: "OTTIENI IL MIO PIANO", donate: "DONARE", book: "PRENOTA ORA", order: "ORDINA ORA" }, Ke = { 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" }, je = {
702
- email: De,
703
- cardholderNameLabel: Ve,
704
- cardInformation: $e,
705
- cardholderNamePlaceholder: Re,
706
- cardExpiry: Be,
707
- loading: Oe,
708
- buttonTexts: He,
709
- validation: Ke
710
- }, Ue = "Adres e-mail", qe = "Imię i nazwisko posiadacza karty", Ge = "Informacje o karcie", _e = "Imię i nazwisko na karcie", Ye = "MM / RR", Ze = "Proszę nie zamykać tego okna", Je = { pay: "ZAPŁAĆ", submit: "WYŚLIJ", getPlan: "POBIERZ MÓJ PLAN", donate: "PRZEKAŻ DAROWIZNĘ", book: "ZAREZERWUJ TERAZ", order: "ZAMÓW TERAZ" }, We = { emailSuggestion: "Czy chodziło Ci o {{email}}?", emailInvalid: "Państwa adres e-mail jest nieprawidłowy", cardExpiryInvalid: "Data ważności Państwa karty jest w przeszłości", cardExpiryFormat: "Data ważności Państwa karty jest niekompletna", cardSecurityFormat: "Kod zabezpieczający Państwa karty jest niekompletny", nameRequired: "Proszę wpisać imię i nazwisko tak, jak widnieje na karcie", cardNumberInvalid: "Numer Państwa karty jest nieprawidłowy" }, Xe = {
711
- email: Ue,
712
- cardholderNameLabel: qe,
713
- cardInformation: Ge,
714
- cardholderNamePlaceholder: _e,
715
- cardExpiry: Ye,
716
- loading: Ze,
717
- buttonTexts: Je,
718
- validation: We
719
- }, Qe = "E-mail", et = "Nome do titular do cartão", tt = "Informações do cartão", it = "Nome completo no cartão", at = "MM / AA", rt = "Por favor, não feche esta janela", st = { pay: "PAGAR", submit: "ENVIAR", getPlan: "OBTER MEU PLANO", donate: "DOAR", book: "RESERVAR AGORA", order: "FAZER PEDIDO" }, ot = { emailSuggestion: "Você quis dizer {{email}}?", emailInvalid: "O seu endereço de e-mail não é válido", cardExpiryInvalid: "A data de validade do seu cartão está no passado", cardExpiryFormat: "A data de validade do seu cartão está incompleta", cardSecurityFormat: "O código de segurança do seu cartão está incompleto", nameRequired: "Por favor, insira o nome conforme aparece no cartão", cardNumberInvalid: "O número do seu cartão é inválido" }, nt = {
720
- email: Qe,
721
- cardholderNameLabel: et,
722
- cardInformation: tt,
723
- cardholderNamePlaceholder: it,
724
- cardExpiry: at,
725
- loading: rt,
726
- buttonTexts: st,
727
- validation: ot
728
- }, lt = "E-posta", ct = "Kart sahibinin adı", dt = "Kart bilgileri", ht = "Kart üzerindeki tam ad", mt = "AA / YY", ut = "Lütfen pencereyi kapatmayın", pt = { pay: "ÖDE", submit: "GÖNDER", getPlan: "PLANIMI AL", donate: "BAĞIŞ YAP", book: "ŞİMDİ REZERVASYON YAP", order: "ŞİMDİ SİPARİŞ VER" }, gt = { emailSuggestion: "{{email}} demek mi istediniz?", emailInvalid: "E-posta adresiniz geçerli değil", cardExpiryInvalid: "Kartınızın son kullanma tarihi geçmiş", cardExpiryFormat: "Kartınızın son kullanma tarihi eksik", cardSecurityFormat: "Kartınızın güvenlik kodu eksik", nameRequired: "Lütfen kart üzerindeki ismi girin", cardNumberInvalid: "Kart numaranız geçersiz" }, ft = {
729
- email: lt,
730
- cardholderNameLabel: ct,
731
- cardInformation: dt,
732
- cardholderNamePlaceholder: ht,
733
- cardExpiry: mt,
734
- loading: ut,
735
- buttonTexts: pt,
736
- validation: gt
662
+ const te = "E-Mail", ie = "Name des/der Karteninhaber/in", ae = "Kartendaten", re = "Vollständiger Name", se = "MM / JJ", oe = "Das Fenster nicht schließen", ne = { pay: "ZAHLEN", submit: "ABSENDEN", getPlan: "MEINEN PLAN ERHALTEN", donate: "spenden", book: "jetzt buchen", order: "jetzt bestellen" }, le = { emailSuggestion: "Meinten Sie {{email}}?", emailInvalid: "Ihre E-Mail-Adresse ist nicht korrekt", cardExpiryInvalid: "Das Ablaufdatum Ihrer Karte liegt in der Vergangenheit", cardExpiryFormat: "Das Ablaufdatum Ihrer Karte ist unvollständig", cardSecurityFormat: "Der Sicherheitscode Ihrer Karte ist unvollständig", nameRequired: "Gib deinen Namen genau so ein, wie er auf deiner Karte steht", cardNumberInvalid: "Die Kartennummer ist unvollständig" }, ce = {
663
+ email: te,
664
+ cardholderNameLabel: ie,
665
+ cardInformation: ae,
666
+ cardholderNamePlaceholder: re,
667
+ cardExpiry: se,
668
+ loading: oe,
669
+ buttonTexts: ne,
670
+ validation: le
671
+ }, de = "Email", he = "Cardholder name", me = "Card information", ue = "Full name on card", pe = "MM / YY", ge = "Do not close the window", fe = { pay: "PAY", submit: "SUBMIT", getPlan: "GET MY PLAN", donate: "DONATE", book: "BOOK NOW", order: "ORDER NOW" }, ye = { emailSuggestion: "Did you mean {{email}}?", emailInvalid: "Your email is not correct", cardExpiryInvalid: "Your card's expiration date is in the past", cardExpiryFormat: "Your card’s expiration date is incomplete", cardSecurityFormat: "Your card’s security code is incomplete", nameRequired: "Please enter the name as it appears on your card", cardNumberInvalid: "Your card number is invalid" }, ve = {
672
+ email: de,
673
+ cardholderNameLabel: he,
674
+ cardInformation: me,
675
+ cardholderNamePlaceholder: ue,
676
+ cardExpiry: pe,
677
+ loading: ge,
678
+ buttonTexts: fe,
679
+ validation: ye
680
+ }, Ee = "Correo electrónico", Ce = "Nombre del titular de la tarjeta", be = "Información de la tarjeta", xe = "Nombre completo en la tarjeta", Se = "MM / AA", Fe = "Por favor, no cierre esta ventana", we = { pay: "PAGAR", submit: "ENVIAR", getPlan: "OBTENER MI PLAN", donate: "DONAR", book: "RESERVAR AHORA", order: "ORDENAR AHORA" }, Me = { emailSuggestion: "¿Quisiste decir {{email}}?", emailInvalid: "Su correo electrónico no es válido", cardExpiryInvalid: "La fecha de vencimiento de la tarjeta ya pasó", cardExpiryFormat: "La fecha de vencimiento de su tarjeta está incompleta", cardSecurityFormat: "El código de seguridad de su tarjeta está incompleto", nameRequired: "Por favor, ingrese el nombre tal como aparece en su tarjeta", cardNumberInvalid: "Su número de tarjeta no es válido" }, Le = {
681
+ email: Ee,
682
+ cardholderNameLabel: Ce,
683
+ cardInformation: be,
684
+ cardholderNamePlaceholder: xe,
685
+ cardExpiry: Se,
686
+ loading: Fe,
687
+ buttonTexts: we,
688
+ validation: Me
689
+ }, ke = "E-mail", Te = "Nom du titulaire de la carte", Ie = "Informations de la carte", ze = "Nom complet figurant sur la carte", Pe = "MM / AA", Ne = "Veuillez ne pas fermer cette fenêtre", Ae = { 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" }, De = {
690
+ email: ke,
691
+ cardholderNameLabel: Te,
692
+ cardInformation: Ie,
693
+ cardholderNamePlaceholder: ze,
694
+ cardExpiry: Pe,
695
+ loading: Ne,
696
+ buttonTexts: Ae,
697
+ validation: Ve
698
+ }, $e = "Email", Re = "Nome del titolare della carta", Be = "Informazioni sulla carta", Oe = "Nome completo sulla carta", He = "MM / AA", Ke = "Non chiudere la finestra", je = { pay: "PAGA", submit: "INVIA", getPlan: "OTTIENI IL MIO PIANO", donate: "DONARE", book: "PRENOTA ORA", order: "ORDINA ORA" }, Ue = { 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" }, qe = {
699
+ email: $e,
700
+ cardholderNameLabel: Re,
701
+ cardInformation: Be,
702
+ cardholderNamePlaceholder: Oe,
703
+ cardExpiry: He,
704
+ loading: Ke,
705
+ buttonTexts: je,
706
+ validation: Ue
707
+ }, Ge = "Adres e-mail", _e = "Imię i nazwisko posiadacza karty", Ye = "Informacje o karcie", Ze = "Imię i nazwisko na karcie", Je = "MM / RR", We = "Proszę nie zamykać tego okna", Xe = { pay: "ZAPŁAĆ", submit: "WYŚLIJ", getPlan: "POBIERZ MÓJ PLAN", donate: "PRZEKAŻ DAROWIZNĘ", book: "ZAREZERWUJ TERAZ", order: "ZAMÓW TERAZ" }, Qe = { emailSuggestion: "Czy chodziło Ci o {{email}}?", emailInvalid: "Państwa adres e-mail jest nieprawidłowy", cardExpiryInvalid: "Data ważności Państwa karty jest w przeszłości", cardExpiryFormat: "Data ważności Państwa karty jest niekompletna", cardSecurityFormat: "Kod zabezpieczający Państwa karty jest niekompletny", nameRequired: "Proszę wpisać imię i nazwisko tak, jak widnieje na karcie", cardNumberInvalid: "Numer Państwa karty jest nieprawidłowy" }, et = {
708
+ email: Ge,
709
+ cardholderNameLabel: _e,
710
+ cardInformation: Ye,
711
+ cardholderNamePlaceholder: Ze,
712
+ cardExpiry: Je,
713
+ loading: We,
714
+ buttonTexts: Xe,
715
+ validation: Qe
716
+ }, tt = "E-mail", it = "Nome do titular do cartão", at = "Informações do cartão", rt = "Nome completo no cartão", st = "MM / AA", ot = "Por favor, não feche esta janela", nt = { pay: "PAGAR", submit: "ENVIAR", getPlan: "OBTER MEU PLANO", donate: "DOAR", book: "RESERVAR AGORA", order: "FAZER PEDIDO" }, lt = { emailSuggestion: "Você quis dizer {{email}}?", emailInvalid: "O seu endereço de e-mail não é válido", cardExpiryInvalid: "A data de validade do seu cartão está no passado", cardExpiryFormat: "A data de validade do seu cartão está incompleta", cardSecurityFormat: "O código de segurança do seu cartão está incompleto", nameRequired: "Por favor, insira o nome conforme aparece no cartão", cardNumberInvalid: "O número do seu cartão é inválido" }, ct = {
717
+ email: tt,
718
+ cardholderNameLabel: it,
719
+ cardInformation: at,
720
+ cardholderNamePlaceholder: rt,
721
+ cardExpiry: st,
722
+ loading: ot,
723
+ buttonTexts: nt,
724
+ validation: lt
725
+ }, dt = "E-posta", ht = "Kart sahibinin adı", mt = "Kart bilgileri", ut = "Kart üzerindeki tam ad", pt = "AA / YY", gt = "Lütfen pencereyi kapatmayın", ft = { pay: "ÖDE", submit: "GÖNDER", getPlan: "PLANIMI AL", donate: "BAĞIŞ YAP", book: "ŞİMDİ REZERVASYON YAP", order: "ŞİMDİ SİPARİŞ VER" }, yt = { emailSuggestion: "{{email}} demek mi istediniz?", emailInvalid: "E-posta adresiniz geçerli değil", cardExpiryInvalid: "Kartınızın son kullanma tarihi geçmiş", cardExpiryFormat: "Kartınızın son kullanma tarihi eksik", cardSecurityFormat: "Kartınızın güvenlik kodu eksik", nameRequired: "Lütfen kart üzerindeki ismi girin", cardNumberInvalid: "Kart numaranız geçersiz" }, vt = {
726
+ email: dt,
727
+ cardholderNameLabel: ht,
728
+ cardInformation: mt,
729
+ cardholderNamePlaceholder: ut,
730
+ cardExpiry: pt,
731
+ loading: gt,
732
+ buttonTexts: ft,
733
+ validation: yt
737
734
  }, A = {
738
- en: fe,
739
- de: ne,
740
- es: we,
741
- fr: Ae,
742
- pl: Xe,
743
- pt: nt,
744
- tr: ft,
745
- it: je
735
+ en: ve,
736
+ de: ce,
737
+ es: Le,
738
+ fr: De,
739
+ pl: et,
740
+ pt: ct,
741
+ tr: vt,
742
+ it: qe
746
743
  // Add other locales here
747
744
  };
748
- class yt {
745
+ class Et {
749
746
  locale;
750
747
  loadedLocales = /* @__PURE__ */ new Set();
751
748
  constructor(e = "en") {
@@ -783,7 +780,7 @@ class yt {
783
780
  });
784
781
  }
785
782
  }
786
- const D = [
783
+ const V = [
787
784
  "en",
788
785
  "de",
789
786
  "es",
@@ -792,14 +789,14 @@ const D = [
792
789
  "pt",
793
790
  "it",
794
791
  "tr"
795
- ], vt = "en";
796
- function Et(o) {
797
- const e = new yt(), i = (() => {
792
+ ], Ct = "en";
793
+ function bt(o) {
794
+ const e = new Et(), i = (() => {
798
795
  const n = navigator?.language?.split("-")[0]?.toLowerCase();
799
- return D.includes(n) ? n : vt;
796
+ return V.includes(n) ? n : Ct;
800
797
  })();
801
798
  e.setLocale(i);
802
- const a = L({
799
+ const a = k({
803
800
  locale: i,
804
801
  translationService: e
805
802
  });
@@ -807,14 +804,14 @@ function Et(o) {
807
804
  store: a,
808
805
  translate: (n, l) => a.getState().translationService.translate(n, l),
809
806
  setLocale: (n) => {
810
- D.includes(n) && (a.getState().translationService.setLocale(n), a.setState({ locale: n }));
807
+ V.includes(n) && (a.getState().translationService.setLocale(n), a.setState({ locale: n }));
811
808
  },
812
809
  getLocale: () => a.getValue("locale"),
813
810
  subscribe: a.subscribe.bind(a)
814
811
  };
815
812
  }
816
- const Ct = Et(), z = () => {
817
- const { translate: o, getLocale: e, setLocale: t, subscribe: i } = Ct;
813
+ const xt = bt(), z = () => {
814
+ const { translate: o, getLocale: e, setLocale: t, subscribe: i } = xt;
818
815
  return {
819
816
  t: o,
820
817
  translate: o,
@@ -822,7 +819,7 @@ const Ct = Et(), z = () => {
822
819
  setLocale: t,
823
820
  subscribe: i
824
821
  };
825
- }, bt = ({ fontFamily: o }) => {
822
+ }, St = ({ fontFamily: o }) => {
826
823
  if (!o)
827
824
  return { cleanup: () => {
828
825
  } };
@@ -845,7 +842,7 @@ const Ct = Et(), z = () => {
845
842
  return { cleanup: () => {
846
843
  document.head.contains(a) && document.head.removeChild(a);
847
844
  } };
848
- }, xt = ({
845
+ }, Ft = ({
849
846
  scriptSrc: o,
850
847
  async: e = !0
851
848
  }) => {
@@ -876,11 +873,11 @@ const Ct = Et(), z = () => {
876
873
  },
877
874
  isLoaded: a
878
875
  };
879
- }, w = (o) => Object.entries(o).map(([e, t]) => {
876
+ }, L = (o) => Object.entries(o).map(([e, t]) => {
880
877
  const i = e.replace(/([A-Z])/g, "-$1").toLowerCase(), a = typeof t == "number" ? `${t}px` : t;
881
878
  return `${i}: ${a}`;
882
879
  }).join("; ");
883
- function St(o) {
880
+ function wt(o) {
884
881
  if (!o)
885
882
  return {
886
883
  formContainerStyle: {},
@@ -919,10 +916,10 @@ function St(o) {
919
916
  }, r = {
920
917
  fontFamily: `${o.styles.fontFamily}, sans-serif`
921
918
  }, s = {
922
- base: w(e),
923
- error: w(i),
924
- focus: w(a),
925
- placeholder: w(t)
919
+ base: L(e),
920
+ error: L(i),
921
+ focus: L(a),
922
+ placeholder: L(t)
926
923
  };
927
924
  return {
928
925
  formContainerStyle: r,
@@ -1030,7 +1027,7 @@ class h {
1030
1027
  }), this.eventListeners = [], this.children.forEach((e) => e.destroy()), this.children = [], this.element.parentNode && this.element.parentNode.removeChild(this.element);
1031
1028
  }
1032
1029
  }
1033
- class x {
1030
+ class F {
1034
1031
  /**
1035
1032
  * Create a div element
1036
1033
  */
@@ -1099,18 +1096,18 @@ class x {
1099
1096
  return new h("img", i, r);
1100
1097
  }
1101
1098
  }
1102
- class Ft extends h {
1099
+ class Mt extends h {
1103
1100
  messageComponent;
1104
1101
  constructor(e) {
1105
1102
  super("div", []);
1106
- const t = x.createDiv(["error-alert"], {
1103
+ const t = F.createDiv(["error-alert"], {
1107
1104
  role: "alert",
1108
1105
  "aria-live": "polite"
1109
- }), i = x.createDiv(["error-alert-content"]), a = x.createDiv([
1106
+ }), i = F.createDiv(["error-alert-content"]), a = F.createDiv([
1110
1107
  "error-alert-icon-container"
1111
1108
  ]);
1112
1109
  a.getElement().innerHTML = this.createAlertCircleSVG();
1113
- const r = x.createDiv([
1110
+ const r = F.createDiv([
1114
1111
  "error-alert-text-container"
1115
1112
  ]), s = new h("h4", [
1116
1113
  "error-alert-title"
@@ -1142,11 +1139,11 @@ class Ft extends h {
1142
1139
  return this.messageComponent.setText(e), this;
1143
1140
  }
1144
1141
  }
1145
- class V extends h {
1142
+ class D extends h {
1146
1143
  titleElement;
1147
1144
  constructor(e = {}) {
1148
1145
  super("div", ["blur-bg"]);
1149
- const t = x.createDiv(["loader"]);
1146
+ const t = F.createDiv(["loader"]);
1150
1147
  this.titleElement = new h("h3", ["title"]), this.titleElement.setText(e.text || ""), this.appendChild(t), this.appendChild(this.titleElement);
1151
1148
  }
1152
1149
  setText(e) {
@@ -1171,7 +1168,7 @@ class E extends h {
1171
1168
  return this.span && this.span.classList.add("form-helper-text-hidden"), this;
1172
1169
  }
1173
1170
  }
1174
- class wt extends h {
1171
+ class Lt extends h {
1175
1172
  constructor(e) {
1176
1173
  super("label", ["input-label"], {
1177
1174
  for: e.id
@@ -1180,12 +1177,12 @@ class wt extends h {
1180
1177
  t.style.fontFamily = "inherit", t.style.color = e.styles.color, t.style.fontSize = `${e.styles.fontSize}px`;
1181
1178
  }
1182
1179
  }
1183
- class N extends h {
1180
+ class P extends h {
1184
1181
  inputElement;
1185
1182
  helperText = null;
1186
1183
  constructor(e) {
1187
1184
  if (super("div", ["input-wrapper"]), e.label && e.styles) {
1188
- const i = new wt({
1185
+ const i = new Lt({
1189
1186
  styles: {
1190
1187
  color: e.styles.color,
1191
1188
  fontSize: e.styles.fontSize
@@ -1200,7 +1197,7 @@ class N extends h {
1200
1197
  name: e.name,
1201
1198
  class: `form-input ${e.error ? "form-input-error" : ""}`
1202
1199
  };
1203
- 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 = x.createInput(
1200
+ 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 = F.createInput(
1204
1201
  e.type || "text",
1205
1202
  [],
1206
1203
  t
@@ -1227,7 +1224,7 @@ class N extends h {
1227
1224
  return this.inputElement.getElement().addEventListener(e, t, i), this;
1228
1225
  }
1229
1226
  }
1230
- class Lt {
1227
+ class kt {
1231
1228
  input;
1232
1229
  constructor(e) {
1233
1230
  const {
@@ -1240,7 +1237,7 @@ class Lt {
1240
1237
  translationFunc: l,
1241
1238
  autocomplete: c = "cc-name"
1242
1239
  } = e;
1243
- this.input = new N({
1240
+ this.input = new P({
1244
1241
  name: "name",
1245
1242
  label: l("cardholderNameLabel"),
1246
1243
  error: r,
@@ -1281,7 +1278,7 @@ class Lt {
1281
1278
  return this.input.appendTo(e), this;
1282
1279
  }
1283
1280
  }
1284
- class Mt extends h {
1281
+ class Tt extends h {
1285
1282
  constructor(e) {
1286
1283
  super("div", []);
1287
1284
  const t = document.createElement("div");
@@ -1298,25 +1295,25 @@ class Mt extends h {
1298
1295
  return t && (e ? t.classList.add("loading") : t.classList.remove("loading")), this;
1299
1296
  }
1300
1297
  }
1301
- const kt = "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", Tt = "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", It = "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", zt = "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", S = [
1298
+ const It = "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", 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='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", Nt = "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", w = [
1302
1299
  {
1303
1300
  type: "visa",
1304
- imgSrc: zt
1301
+ imgSrc: Nt
1305
1302
  },
1306
1303
  {
1307
1304
  type: "masterCard",
1308
- imgSrc: It
1305
+ imgSrc: Pt
1309
1306
  },
1310
1307
  {
1311
1308
  type: "americanExpress",
1312
- imgSrc: kt
1309
+ imgSrc: It
1313
1310
  },
1314
1311
  {
1315
1312
  type: "discover",
1316
- imgSrc: Tt
1313
+ imgSrc: zt
1317
1314
  }
1318
1315
  ];
1319
- class Nt extends h {
1316
+ class At extends h {
1320
1317
  cardType;
1321
1318
  constructor(e) {
1322
1319
  super("div", []), this.cardType = e.cardType;
@@ -1328,11 +1325,11 @@ class Nt extends h {
1328
1325
  a.id = "card-element", a.className = `card-element ${e.isFocused ? "card-element-focus" : ""}`, a.style.zIndex = e.isFocused ? "2" : "0";
1329
1326
  const r = document.createElement("div");
1330
1327
  if (r.className = "cards-position", e.cardType === "unknown")
1331
- S.forEach((s) => {
1328
+ w.forEach((s) => {
1332
1329
  r.appendChild(this.createCardIcon(s));
1333
1330
  });
1334
1331
  else {
1335
- const s = S.find((n) => n.type === e.cardType);
1332
+ const s = w.find((n) => n.type === e.cardType);
1336
1333
  s && r.appendChild(this.createCardIcon(s));
1337
1334
  }
1338
1335
  a.appendChild(r), i.appendChild(a), this.getElement().appendChild(i);
@@ -1363,19 +1360,19 @@ class Nt extends h {
1363
1360
  const i = this.getElement().querySelector(".cards-position");
1364
1361
  if (i)
1365
1362
  if (i.innerHTML = "", this.cardType === "unknown")
1366
- S.forEach((a) => {
1363
+ w.forEach((a) => {
1367
1364
  i.appendChild(this.createCardIcon(a));
1368
1365
  });
1369
1366
  else {
1370
- const a = S.find((r) => r.type === this.cardType);
1371
- a ? i.appendChild(this.createCardIcon(a)) : S.forEach((r) => {
1367
+ const a = w.find((r) => r.type === this.cardType);
1368
+ a ? i.appendChild(this.createCardIcon(a)) : w.forEach((r) => {
1372
1369
  i.appendChild(this.createCardIcon(r));
1373
1370
  });
1374
1371
  }
1375
1372
  return this;
1376
1373
  }
1377
1374
  }
1378
- class Pt extends h {
1375
+ class Vt extends h {
1379
1376
  cardNumber;
1380
1377
  cardExpiry;
1381
1378
  cardCvv;
@@ -1394,34 +1391,34 @@ class Pt extends h {
1394
1391
  cardType: d,
1395
1392
  cardExpiry: u,
1396
1393
  cardExpiryError: p,
1397
- cardExpiryTouched: m,
1398
- onChange: f,
1399
- onBlur: M,
1400
- translationFunc: y,
1401
- cardExpiryAutocomplete: b = "cc-exp"
1394
+ cardExpiryTouched: g,
1395
+ onChange: m,
1396
+ onBlur: b,
1397
+ translationFunc: S,
1398
+ cardExpiryAutocomplete: x = "cc-exp"
1402
1399
  } = e, C = document.createElement("div");
1403
- this.cardNumber = new Nt({
1400
+ this.cardNumber = new At({
1404
1401
  styles: {
1405
1402
  color: t.styles.textColor,
1406
1403
  fontSize: t.styles.fontSize,
1407
1404
  borderRadius: t.styles.borderRadius
1408
1405
  },
1409
- label: y("cardInformation"),
1406
+ label: S("cardInformation"),
1410
1407
  isLoading: i,
1411
1408
  isFocused: a,
1412
1409
  cardType: d
1413
1410
  }), C.appendChild(this.cardNumber.getElement());
1414
- const F = document.createElement("div");
1415
- F.className = "card-details", this.cardExpiry = new N({
1411
+ const v = document.createElement("div");
1412
+ v.className = "card-details", this.cardExpiry = new P({
1416
1413
  name: "cardExpiry",
1417
1414
  type: "tel",
1418
- placeholder: y("cardExpiry"),
1419
- error: !!(p && m),
1415
+ placeholder: S("cardExpiry"),
1416
+ error: !!(p && g),
1420
1417
  errorMsg: p,
1421
1418
  value: u,
1422
- autocomplete: b,
1423
- onChange: (g) => {
1424
- this.trimCardExpiry(), f(g);
1419
+ autocomplete: x,
1420
+ onChange: (f) => {
1421
+ this.trimCardExpiry(), m(f);
1425
1422
  },
1426
1423
  styles: {
1427
1424
  color: t.styles.textColor,
@@ -1429,44 +1426,44 @@ class Pt extends h {
1429
1426
  fontSize: t.styles.fontSize,
1430
1427
  fontFamily: t.styles.fontFamily
1431
1428
  }
1432
- }), this.cardExpiry.addEventListener("blur", M), this.cardExpiry.addEventListener("keydown", (g) => {
1433
- const T = g;
1434
- ![
1429
+ }), this.cardExpiry.addEventListener("blur", b), this.cardExpiry.addEventListener("keydown", (f) => {
1430
+ const M = f, B = [
1435
1431
  "Backspace",
1436
1432
  "Delete",
1437
1433
  "ArrowLeft",
1438
1434
  "ArrowRight",
1439
1435
  "Tab"
1440
- ].includes(T.key) && !/^\d$/.test(T.key) && T.preventDefault();
1436
+ ], O = this.cardExpiry.getValue().replace(/\D/g, "");
1437
+ B.includes(M.key) || (!/^\d$/.test(M.key) || O.length >= 4 && !M.isComposing) && M.preventDefault();
1441
1438
  });
1442
1439
  const R = this.cardExpiry.getElement();
1443
1440
  R.style.height = "38.5px";
1444
- const k = document.createElement("div");
1445
- k.className = "input-wrapper", this.cardCvv = new Mt({
1441
+ const T = document.createElement("div");
1442
+ T.className = "input-wrapper", this.cardCvv = new Tt({
1446
1443
  styles: {
1447
1444
  borderRadius: typeof t.styles.borderRadius == "number" ? t.styles.borderRadius : 0
1448
1445
  },
1449
1446
  isLoading: i,
1450
1447
  isFocused: r
1451
- }), k.appendChild(this.cardCvv.getElement()), F.appendChild(this.cardExpiry.getElement()), F.appendChild(k), C.appendChild(F);
1452
- const v = document.createElement("div");
1453
- if (v.className = "error-messages-container", v.style.width = "100%", v.style.transition = "height 0.3s ease-in-out, opacity 0.3s ease-in-out", v.style.overflow = "hidden", v.style.height = "0px", v.style.opacity = "0", this.getElement().appendChild(C), this.getElement().appendChild(v), (a || l) && !s) {
1454
- const g = new E({
1455
- text: y("validation.cardNumberInvalid")
1448
+ }), T.appendChild(this.cardCvv.getElement()), v.appendChild(this.cardExpiry.getElement()), v.appendChild(T), C.appendChild(v);
1449
+ const y = document.createElement("div");
1450
+ if (y.className = "error-messages-container", y.style.width = "100%", y.style.transition = "height 0.3s ease-in-out, opacity 0.3s ease-in-out", y.style.overflow = "hidden", y.style.height = "0px", y.style.opacity = "0", this.getElement().appendChild(C), this.getElement().appendChild(y), (a || l) && !s) {
1451
+ const f = new E({
1452
+ text: S("validation.cardNumberInvalid")
1456
1453
  });
1457
- this.validationMessages.set("cardNumber", g), v.appendChild(g.getElement());
1454
+ this.validationMessages.set("cardNumber", f), y.appendChild(f.getElement());
1458
1455
  }
1459
1456
  if ((r || c) && !n) {
1460
- const g = new E({
1461
- text: y("validation.cardSecurityFormat")
1457
+ const f = new E({
1458
+ text: S("validation.cardSecurityFormat")
1462
1459
  });
1463
- this.validationMessages.set("cardCvv", g), v.appendChild(g.getElement());
1460
+ this.validationMessages.set("cardCvv", f), y.appendChild(f.getElement());
1464
1461
  }
1465
- if (p && m) {
1466
- const g = new E({
1462
+ if (p && g) {
1463
+ const f = new E({
1467
1464
  text: p
1468
1465
  });
1469
- this.validationMessages.set("cardExpiry", g), v.appendChild(g.getElement());
1466
+ this.validationMessages.set("cardExpiry", f), y.appendChild(f.getElement());
1470
1467
  }
1471
1468
  setTimeout(() => this.updateErrorContainerHeight(), 0);
1472
1469
  }
@@ -1559,7 +1556,7 @@ class Pt extends h {
1559
1556
  }
1560
1557
  }
1561
1558
  }
1562
- class At {
1559
+ class Dt {
1563
1560
  input;
1564
1561
  constructor(e) {
1565
1562
  const {
@@ -1572,7 +1569,7 @@ class At {
1572
1569
  translationFunc: l,
1573
1570
  autocomplete: c = "email"
1574
1571
  } = e;
1575
- this.input = new N({
1572
+ this.input = new P({
1576
1573
  name: "email",
1577
1574
  label: l("email"),
1578
1575
  error: r,
@@ -1613,8 +1610,8 @@ class At {
1613
1610
  return this.input.appendTo(e), this;
1614
1611
  }
1615
1612
  }
1616
- const Dt = "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";
1617
- class Vt extends h {
1613
+ const $t = "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";
1614
+ class Rt extends h {
1618
1615
  formData;
1619
1616
  onSubmit;
1620
1617
  isSubmitting = !1;
@@ -1625,7 +1622,7 @@ class Vt extends h {
1625
1622
  const a = document.createElement("div");
1626
1623
  a.className = "paypal-icon-container";
1627
1624
  const r = document.createElement("img");
1628
- r.src = Dt, r.style.width = "69px", r.style.height = "22px", r.style.maxWidth = "100%", r.style.display = "block", r.style.height = "auto", a.appendChild(r), this.getElement().appendChild(a), i && this.getElement().addEventListener("click", () => this.handleSubmit());
1625
+ r.src = $t, r.style.width = "69px", r.style.height = "22px", r.style.maxWidth = "100%", r.style.display = "block", r.style.height = "auto", a.appendChild(r), this.getElement().appendChild(a), i && this.getElement().addEventListener("click", () => this.handleSubmit());
1629
1626
  }
1630
1627
  async handleSubmit() {
1631
1628
  if (!(!this.onSubmit || this.isSubmitting)) {
@@ -1646,34 +1643,64 @@ class Vt extends h {
1646
1643
  return this.isSubmitting = e, this.getElement().style.opacity = e ? "0.7" : "1", this;
1647
1644
  }
1648
1645
  }
1649
- class $t extends h {
1646
+ class Bt extends h {
1650
1647
  paymentMethods;
1651
1648
  constructor(e) {
1652
- const { checkoutProfile: t, formData: i, onPaypalSubmit: a } = e;
1649
+ const {
1650
+ checkoutProfile: t,
1651
+ formData: i,
1652
+ onPaypalSubmit: a,
1653
+ supportedPaymentMethods: r
1654
+ } = e;
1653
1655
  if (super("div", ["payment-methods"]), this.paymentMethods = /* @__PURE__ */ new Map(), !t?.additionalPaymentMethods) {
1654
1656
  this.getElement().style.display = "none";
1655
1657
  return;
1656
1658
  }
1657
- const r = Object.entries(
1659
+ if (r === void 0) {
1660
+ console.log(
1661
+ "[PaymentMethods] No supportedPaymentMethods provided, hiding payment methods"
1662
+ ), this.getElement().style.display = "none";
1663
+ return;
1664
+ }
1665
+ const s = Object.entries(
1658
1666
  t.additionalPaymentMethods
1659
- ).filter(([, s]) => s.enabled).sort((s, n) => s[1].order - n[1].order);
1660
- if (r.length === 0) {
1667
+ ).filter(([n, l]) => {
1668
+ const c = l.enabled, d = r ? r[n] === !0 : !0;
1669
+ return c && d;
1670
+ }).sort((n, l) => n[1].order - l[1].order);
1671
+ if (s.length === 0) {
1661
1672
  this.getElement().style.display = "none";
1662
1673
  return;
1663
1674
  }
1664
- for (const [s] of r)
1665
- switch (s) {
1675
+ for (const [n] of s)
1676
+ switch (n) {
1666
1677
  case "paypal": {
1667
1678
  if (a) {
1668
- const n = new Vt({
1679
+ const l = new Rt({
1669
1680
  checkoutProfile: t,
1670
1681
  formData: i,
1671
1682
  onSubmit: a
1672
1683
  });
1673
- this.paymentMethods.set("paypal", n), n.appendTo(this.getElement());
1684
+ this.paymentMethods.set("paypal", l), l.appendTo(this.getElement());
1674
1685
  }
1675
1686
  break;
1676
1687
  }
1688
+ // Add cases for other payment methods when they become available
1689
+ // case 'googlepay':
1690
+ // const googlePayButton = new GooglePayButton({ checkoutProfile });
1691
+ // this.paymentMethods.set('googlepay', googlePayButton);
1692
+ // googlePayButton.appendTo(this.getElement());
1693
+ // break;
1694
+ // case 'applepay':
1695
+ // const applePayButton = new ApplePayButton({ checkoutProfile });
1696
+ // this.paymentMethods.set('applepay', applePayButton);
1697
+ // applePayButton.appendTo(this.getElement());
1698
+ // break;
1699
+ default:
1700
+ console.warn(
1701
+ `[PaymentMethods] Unsupported payment method: ${n}`
1702
+ );
1703
+ break;
1677
1704
  }
1678
1705
  }
1679
1706
  updateFormData(e) {
@@ -1684,8 +1711,8 @@ class $t extends h {
1684
1711
  return this.paymentMethods.size > 0 && this.getElement().style.display !== "none";
1685
1712
  }
1686
1713
  }
1687
- const Rt = 17;
1688
- class Bt extends h {
1714
+ const Ot = 17;
1715
+ class Ht extends h {
1689
1716
  styles;
1690
1717
  isHovered = !1;
1691
1718
  constructor(e) {
@@ -1696,7 +1723,7 @@ class Bt extends h {
1696
1723
  }
1697
1724
  applyStyles() {
1698
1725
  const e = this.getElement();
1699
- e.style.backgroundColor = this.isHovered ? `color-mix(in srgb, ${this.styles.backgroundColor} 80%, transparent)` : this.styles.backgroundColor, e.disabled ? e.style.color = "#cccccc" : e.style.color = this.styles.color, e.style.borderRadius = this.styles.borderRadius === Rt ? "100vmax" : `${this.styles.borderRadius}px`, e.style.fontSize = `${this.styles.fontSize}px`, e.style.fontFamily = `${this.styles.fontFamily}, sans-serif`;
1726
+ e.style.backgroundColor = this.isHovered ? `color-mix(in srgb, ${this.styles.backgroundColor} 80%, transparent)` : this.styles.backgroundColor, e.disabled ? e.style.color = "#cccccc" : e.style.color = this.styles.color, e.style.borderRadius = this.styles.borderRadius === Ot ? "100vmax" : `${this.styles.borderRadius}px`, e.style.fontSize = `${this.styles.fontSize}px`, e.style.fontFamily = `${this.styles.fontFamily}, sans-serif`;
1700
1727
  }
1701
1728
  handleMouseEnter() {
1702
1729
  this.isHovered = !0, this.applyStyles();
@@ -1708,11 +1735,11 @@ class Bt extends h {
1708
1735
  return this.getElement().disabled = e, e ? (this.addClass("disabled"), this.removeClass("valid")) : (this.removeClass("disabled"), this.addClass("valid")), this.applyStyles(), this;
1709
1736
  }
1710
1737
  }
1711
- class Ot {
1738
+ class Kt {
1712
1739
  button;
1713
1740
  constructor(e) {
1714
1741
  const { disabled: t, checkoutProfile: i, translationFunc: a } = e;
1715
- this.button = new Bt({
1742
+ this.button = new Ht({
1716
1743
  text: a(
1717
1744
  `buttonTexts.${i?.layout.actionButton.translationKey}`
1718
1745
  ),
@@ -1739,8 +1766,8 @@ class Ot {
1739
1766
  return this.button.appendTo(e), this;
1740
1767
  }
1741
1768
  }
1742
- const Ht = "https://test-htp.tokenex.com/Iframe/Iframe-v3.min.js", Kt = "https://htp.tokenex.com/iframe/iframe-v3.min.js";
1743
- class jt extends h {
1769
+ const jt = "https://test-htp.tokenex.com/Iframe/Iframe-v3.min.js", Ut = "https://htp.tokenex.com/iframe/iframe-v3.min.js";
1770
+ class qt extends h {
1744
1771
  options;
1745
1772
  isSubmitting = !1;
1746
1773
  scriptCleanup;
@@ -1755,12 +1782,12 @@ class jt extends h {
1755
1782
  spinner;
1756
1783
  alert;
1757
1784
  // factories
1758
- formManager = J();
1785
+ formManager = X();
1759
1786
  checkoutProfile;
1760
1787
  translation = z();
1761
1788
  iframeHook;
1762
1789
  constructor(e) {
1763
- super("form", ["form-container"]), this.options = e, this.checkoutProfile = U({
1790
+ super("form", ["form-container"]), this.options = e, this.checkoutProfile = G({
1764
1791
  apiKey: e.apiKey,
1765
1792
  profileId: e.profileId,
1766
1793
  environment: e.environment
@@ -1787,7 +1814,7 @@ class jt extends h {
1787
1814
  try {
1788
1815
  if (console.log("[Form] Profile loaded, starting render."), e.checkoutProfile.styles?.fontFamily)
1789
1816
  try {
1790
- const { cleanup: t } = bt({
1817
+ const { cleanup: t } = St({
1791
1818
  fontFamily: e.checkoutProfile.styles.fontFamily
1792
1819
  });
1793
1820
  this.fontCleanup = t;
@@ -1824,7 +1851,7 @@ class jt extends h {
1824
1851
  );
1825
1852
  return;
1826
1853
  }
1827
- const { inputStyles: t, formContainerStyle: i } = St(
1854
+ const { inputStyles: t, formContainerStyle: i } = wt(
1828
1855
  e.checkoutProfile
1829
1856
  );
1830
1857
  this.applyFormContainerStyles(i);
@@ -1835,14 +1862,15 @@ class jt extends h {
1835
1862
  );
1836
1863
  return;
1837
1864
  }
1838
- this.iframeHook = X({
1865
+ this.iframeHook = ee({
1839
1866
  apiKey: this.options.apiKey,
1840
1867
  checkoutProfile: e.checkoutProfile,
1841
1868
  inputStyles: t,
1842
1869
  setFormData: (s) => {
1843
1870
  this.formManager.setFormData(s);
1844
1871
  },
1845
- environment: this.options.environment
1872
+ environment: this.options.environment,
1873
+ paymentId: this.options.paymentId || ""
1846
1874
  }), this.iframeHook?.subscribe(this.handleIframeStateChange), console.log("[Form] Calling iframeHook.initialize()."), await this.iframeHook?.initialize(), console.log("[Form] iframeHook.initialize() finished.");
1847
1875
  } catch (t) {
1848
1876
  throw console.error("Failed to initialize payment form:", t), t;
@@ -1852,6 +1880,10 @@ class jt extends h {
1852
1880
  isCcTouched = !1;
1853
1881
  isCvvTouched = !1;
1854
1882
  handleIframeStateChange = (e) => {
1883
+ if (e.iframeConfig?.supportedPaymentMethods && this.paymentMethods) {
1884
+ const t = this.checkoutProfile.getState();
1885
+ t.checkoutProfile && (this.element.removeChild(this.paymentMethods.getElement()), this.createPaymentMethods(t.checkoutProfile, !0));
1886
+ }
1855
1887
  this.cardSection && (e.isFocused && (this.isCcTouched = !0), e.isCvvFocused && (this.isCvvTouched = !0), this.cardSection.updateCardNumberValidation(
1856
1888
  e.isFocused,
1857
1889
  e.isCcValid,
@@ -1876,7 +1908,7 @@ class jt extends h {
1876
1908
  isCvvValid: !1,
1877
1909
  possibleCardType: "unknown"
1878
1910
  };
1879
- this.iframeHook && (r = this.iframeHook.getState()), this.cardSection = new Pt({
1911
+ this.iframeHook && (r = this.iframeHook.getState()), this.cardSection = new Vt({
1880
1912
  checkoutProfile: e,
1881
1913
  isLoading: r.loadingIframe,
1882
1914
  isFocused: r.isFocused,
@@ -1901,9 +1933,9 @@ class jt extends h {
1901
1933
  };
1902
1934
  initializeForm() {
1903
1935
  console.log("[Form] initializeForm started."), this.setLoadingState(!0), this.options.errorMsg && this.setErrorMessage(this.options.errorMsg);
1904
- const e = this.options.environment === "test" ? Ht : Kt;
1936
+ const e = this.options.environment === "test" ? jt : Ut;
1905
1937
  console.log("[Form] Appending TokenEx script.");
1906
- const { cleanup: t, isLoaded: i } = xt({
1938
+ const { cleanup: t, isLoaded: i } = Ft({
1907
1939
  scriptSrc: e
1908
1940
  });
1909
1941
  this.scriptCleanup = t, this.tokenExScriptPromise = i, i.then(() => {
@@ -1950,28 +1982,30 @@ class jt extends h {
1950
1982
  console.error("Failed to create submit button:", t);
1951
1983
  }
1952
1984
  }
1953
- createPaymentMethods(e) {
1985
+ createPaymentMethods(e, t = !1) {
1954
1986
  try {
1955
- if (!e?.additionalPaymentMethods || Object.entries(
1956
- e.additionalPaymentMethods
1957
- ).filter(([, a]) => a.enabled).length === 0)
1987
+ if (!e?.additionalPaymentMethods)
1958
1988
  return;
1959
- const { formData: i } = this._getFormStateData();
1960
- this.paymentMethods = new $t({
1989
+ const i = this.iframeHook?.getState().iframeConfig?.supportedPaymentMethods, { formData: a } = this._getFormStateData();
1990
+ this.paymentMethods = new Bt({
1961
1991
  checkoutProfile: e,
1962
- formData: i,
1992
+ formData: a,
1993
+ supportedPaymentMethods: i,
1963
1994
  onPaypalSubmit: async () => {
1964
1995
  await this.handlePaypalSubmit();
1965
1996
  }
1966
- }), this.element.appendChild(this.paymentMethods.getElement());
1967
- } catch (t) {
1968
- throw console.error("Error creating payment methods:", t), t;
1997
+ }), t ? this.element.insertBefore(
1998
+ this.paymentMethods.getElement(),
1999
+ this.element.firstChild
2000
+ ) : this.element.appendChild(this.paymentMethods.getElement());
2001
+ } catch (i) {
2002
+ throw console.error("Error creating payment methods:", i), i;
1969
2003
  }
1970
2004
  }
1971
2005
  createEmailField(e) {
1972
2006
  try {
1973
2007
  const { formData: t, errors: i, touched: a } = this._getFormStateData();
1974
- this.emailField = new At({
2008
+ this.emailField = new Dt({
1975
2009
  value: t.email,
1976
2010
  onChange: this.handleChange,
1977
2011
  onBlur: this.handleBlur,
@@ -1987,7 +2021,7 @@ class jt extends h {
1987
2021
  createCardholderSection(e) {
1988
2022
  try {
1989
2023
  const { formData: t, errors: i, touched: a } = this._getFormStateData();
1990
- this.cardholderSection = new Lt({
2024
+ this.cardholderSection = new kt({
1991
2025
  value: t.name,
1992
2026
  onChange: this.handleChange,
1993
2027
  onBlur: this.handleBlur,
@@ -2002,7 +2036,7 @@ class jt extends h {
2002
2036
  }
2003
2037
  createSubmitButton(e) {
2004
2038
  try {
2005
- this.submitButton = new Ot({
2039
+ this.submitButton = new Kt({
2006
2040
  disabled: this.isFormDisabled(),
2007
2041
  checkoutProfile: e,
2008
2042
  translationFunc: this.translation.t
@@ -2052,10 +2086,10 @@ class jt extends h {
2052
2086
  this.options.onLoadingStateChange(e);
2053
2087
  return;
2054
2088
  }
2055
- e ? (this.hideSpinner(), this.spinner = new V(), this.element.appendChild(this.spinner.getElement())) : this.hideSpinner();
2089
+ e ? (this.hideSpinner(), this.spinner = new D(), this.element.appendChild(this.spinner.getElement())) : this.hideSpinner();
2056
2090
  }
2057
2091
  showSpinner(e) {
2058
- this.hideSpinner(), this.spinner = new V({ text: e }), this.element.appendChild(this.spinner.getElement());
2092
+ this.hideSpinner(), this.spinner = new D({ text: e }), this.element.appendChild(this.spinner.getElement());
2059
2093
  }
2060
2094
  hideSpinner() {
2061
2095
  this.spinner && (this.spinner.getElement().remove(), this.spinner = void 0);
@@ -2103,7 +2137,7 @@ class jt extends h {
2103
2137
  * Update the form error message
2104
2138
  */
2105
2139
  setErrorMessage(e) {
2106
- return this.alert && (this.alert.getElement().remove(), this.alert = void 0), this.alert = new Ft({ message: e }), this.element.insertBefore(this.alert.getElement(), this.element.firstChild), this;
2140
+ return this.alert && (this.alert.getElement().remove(), this.alert = void 0), this.alert = new Mt({ message: e }), this.element.insertBefore(this.alert.getElement(), this.element.firstChild), this;
2107
2141
  }
2108
2142
  /**
2109
2143
  * Clean up resources when the form is destroyed
@@ -2115,7 +2149,7 @@ class jt extends h {
2115
2149
  e.key === "Enter" && !this.isFormDisabled() && (e.target instanceof HTMLTextAreaElement || (e.preventDefault(), this.handleSubmit(e)));
2116
2150
  };
2117
2151
  }
2118
- class Ut {
2152
+ class Gt {
2119
2153
  container = null;
2120
2154
  options;
2121
2155
  onSubmit;
@@ -2130,7 +2164,7 @@ class Ut {
2130
2164
  this.container && this.form && (this.form && e.errorMsg && !this.options.disableErrorMessages ? this.form.setErrorMessage(e.errorMsg) : this.renderForm(e.errorMsg));
2131
2165
  }
2132
2166
  renderForm(e) {
2133
- this.container && (this.form && (this.form.destroy(), this.form = null), this.form = new jt({
2167
+ this.container && (this.form && (this.form.destroy(), this.form = null), this.form = new qt({
2134
2168
  apiKey: this.options.apiKey,
2135
2169
  onSubmit: this.onSubmit,
2136
2170
  locale: this.options.locale,
@@ -2138,14 +2172,15 @@ class Ut {
2138
2172
  profileId: this.options.profileId,
2139
2173
  container: this.container,
2140
2174
  environment: this.options.environment,
2141
- onLoadingStateChange: this.options.onLoadingStateChange
2175
+ onLoadingStateChange: this.options.onLoadingStateChange,
2176
+ paymentId: this.options.paymentId
2142
2177
  }));
2143
2178
  }
2144
2179
  unmount() {
2145
2180
  this.form && (this.form.destroy(), this.form = null);
2146
2181
  }
2147
2182
  }
2148
- class qt {
2183
+ class _t {
2149
2184
  state;
2150
2185
  listeners = /* @__PURE__ */ new Set();
2151
2186
  constructor(e) {
@@ -2167,26 +2202,27 @@ class qt {
2167
2202
  this.listeners.forEach((t) => t(e));
2168
2203
  }
2169
2204
  }
2170
- class Gt {
2205
+ class Yt {
2171
2206
  config;
2172
2207
  apiService;
2173
2208
  formManager;
2174
2209
  stateManager;
2175
2210
  constructor(e) {
2176
- this.config = this.validateConfig(e), this.apiService = new B(
2211
+ this.config = this.validateConfig(e), this.apiService = new H(
2177
2212
  this.config.apiKey,
2178
2213
  this.config.environment
2179
- ), this.stateManager = new qt({
2214
+ ), this.stateManager = new _t({
2180
2215
  mounted: !1,
2181
2216
  form: null
2182
- }), this.formManager = new Ut(
2217
+ }), this.formManager = new Gt(
2183
2218
  {
2184
2219
  locale: this.config.locale,
2185
2220
  apiKey: this.config.apiKey,
2186
2221
  profileId: this.config.profileId,
2187
2222
  disableErrorMessages: this.config.disableErrorMessages,
2188
2223
  environment: this.config.environment,
2189
- onLoadingStateChange: this.config.callbacks.onLoadingStateChange
2224
+ onLoadingStateChange: this.config.callbacks.onLoadingStateChange,
2225
+ paymentId: this.config.paymentId
2190
2226
  },
2191
2227
  this.handleSubmit.bind(this)
2192
2228
  );
@@ -2266,15 +2302,15 @@ class Gt {
2266
2302
  t && this.formManager.update({ errorMsg: e.details?.message });
2267
2303
  }
2268
2304
  }
2269
- typeof globalThis < "u" && (globalThis.OdusCheckout = Gt);
2305
+ typeof globalThis < "u" && (globalThis.OdusCheckout = Yt);
2270
2306
  export {
2271
- Gt as OdusCheckout,
2272
- ne as deLocale,
2273
- fe as enLocale,
2274
- we as esLocale,
2275
- Ae as frLocale,
2276
- je as itLocale,
2277
- Xe as plLocale,
2278
- nt as ptLocale,
2279
- ft as trLocale
2307
+ Yt as OdusCheckout,
2308
+ ce as deLocale,
2309
+ ve as enLocale,
2310
+ Le as esLocale,
2311
+ De as frLocale,
2312
+ qe as itLocale,
2313
+ et as plLocale,
2314
+ ct as ptLocale,
2315
+ vt as trLocale
2280
2316
  };