@odus/checkout 0.6.0 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -82,6 +82,29 @@ function CheckoutPage() {
82
82
 
83
83
  > **Important**: Always import the styles using `import '@odus/checkout/styles'` to ensure the checkout UI renders correctly. Without the styles, the checkout component will not display properly.
84
84
 
85
+ ### TypeScript Support
86
+
87
+ For TypeScript users, we export type definitions to enhance your development experience with proper type checking and autocompletion:
88
+
89
+ ```typescript
90
+ // Import the main class and TypeScript types
91
+ import { OdusCheckout, CheckoutConfig, CheckoutInstance, Locale } from '@odus/checkout';
92
+
93
+ // Now you can use these types in your code
94
+ const config: CheckoutConfig = {
95
+ apiKey: 'your_api_key',
96
+ profileId: 'your_profile_id',
97
+ paymentId: 'your_payment_id',
98
+ checkoutKey: 'your_unique_checkout_key',
99
+ returnUrl: 'https://your-website.com/payment-complete',
100
+ environment: 'test',
101
+ locale: 'en', // Type-safe locale values
102
+ };
103
+
104
+ // The checkout instance is properly typed
105
+ const checkout: CheckoutInstance = new OdusCheckout(config);
106
+ ```
107
+
85
108
  ## Getting Started
86
109
 
87
110
  ### Basic Implementation
@@ -138,18 +161,18 @@ Make sure you have a container element in your HTML:
138
161
 
139
162
  When initializing the Odus Checkout, you can configure various options:
140
163
 
141
- | Option | Type | Required | Description |
142
- | ---------------------- | ------- | -------- | -------------------------------------------------------------------------------------------------------- |
143
- | `apiKey` | string | ✅ | Your Odus API key obtained from the dashboard |
144
- | `profileId` | string | ✅ | Your Odus checkout profile ID |
145
- | `checkoutKey` | string | ✅ | Unique checkout key for this payment session |
146
- | `paymentId` | string | ✅ | The ID of the payment being processed |
147
- | `environment` | string | ✅ | API environment to use - either 'test' or 'live' |
148
- | `returnUrl` | string | ✅ | The URL where the customer will be redirected after 3DS authentication or other redirect flows |
149
- | `locale` | string | | Language code for checkout localization (defaults to browser language if supported) |
150
- | `disableErrorMessages` | boolean | | Set to `true` to disable built-in error messages (defaults to `false`) |
151
- | `manualActionHandling` | boolean | | Set to `true` to manually handle 3DS redirects via the `onActionRequired` callback (defaults to `false`) |
152
- | `callbacks` | object | | Event callback functions (see [Callbacks](#callbacks-and-event-handling)) |
164
+ | Option | Type | Required | Description |
165
+ | ---------------------- | ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
166
+ | `apiKey` | string | ✅ | Your Odus API key obtained from the dashboard's API Keys page |
167
+ | `profileId` | string | ✅ | Your Odus checkout profile ID obtained from the dashboard's Checkout Builder page |
168
+ | `checkoutKey` | string | ✅ | Unique checkout key for this payment session |
169
+ | `paymentId` | string | ✅ | The ID of the payment being processed |
170
+ | `environment` | string | ✅ | API environment to use - either 'test' or 'live' |
171
+ | `returnUrl` | string | ✅ | The URL where the customer will be redirected after 3DS authentication or other redirect flows |
172
+ | `locale` | Locale | | Language code for checkout localization. If not set, automatically defaults to the customer's browser language when supported. If browser language is not supported, falls back to English. |
173
+ | `disableErrorMessages` | boolean | | Set to `true` to disable built-in error messages (defaults to `false`) |
174
+ | `manualActionHandling` | boolean | | Set to `true` to manually handle 3DS redirects via the `onActionRequired` callback (defaults to `false`) |
175
+ | `callbacks` | object | | Event callback functions (see [Callbacks](#callbacks-and-event-handling)) |
153
176
 
154
177
  ## Payment Methods
155
178
 
@@ -307,10 +330,23 @@ type CheckoutConfig = {
307
330
  onActionRequired?: (redirectUrl: string) => void;
308
331
  onLoadingStateChange?: (isLoading: boolean) => void;
309
332
  };
310
- locale?: 'en' | 'de' | 'es' | 'fr' | 'pl' | 'pt' | 'it' | 'tr' | null;
333
+ locale?: Locale;
311
334
  disableErrorMessages?: boolean;
312
335
  manualActionHandling?: boolean;
313
336
  };
337
+
338
+ // Where Locale is a type representing supported languages
339
+ type Locale = 'en' | 'de' | 'es' | 'fr' | 'pl' | 'pt' | 'it' | 'tr';
340
+ ```
341
+
342
+ ### CheckoutInstance Type
343
+
344
+ ```typescript
345
+ // This represents the checkout instance returned when you create a new OdusCheckout
346
+ interface CheckoutInstance {
347
+ mount(containerId: string): this;
348
+ unmount(): void;
349
+ }
314
350
  ```
315
351
 
316
352
  ## Troubleshooting
@@ -13,7 +13,7 @@ export declare type CheckoutConfig = {
13
13
  paymentId: string;
14
14
  environment: Environment;
15
15
  callbacks?: CheckoutCallbacks;
16
- locale?: Locale | null;
16
+ locale?: Locale;
17
17
  disableErrorMessages?: boolean;
18
18
  manualActionHandling?: boolean;
19
19
  };
@@ -155,7 +155,7 @@ export declare const itLocale: {
155
155
  }
156
156
  };
157
157
 
158
- declare type Locale = 'en' | 'de' | 'es' | 'fr' | 'pl' | 'pt' | 'it' | 'tr';
158
+ export declare type Locale = 'en' | 'de' | 'es' | 'fr' | 'pl' | 'pt' | 'it' | 'tr';
159
159
 
160
160
  export declare class OdusCheckout {
161
161
  private config;
@@ -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 _({
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
@@ -238,7 +238,7 @@ 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 N = {
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
+ }, G = (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 N = {
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 N = {
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 N = {
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 = G(s);
377
377
  if (l)
378
378
  return {
379
379
  isValid: !1,
@@ -398,7 +398,7 @@ const N = {
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 N = {
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 N = {
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: "",
@@ -506,7 +506,7 @@ const N = {
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
@@ -523,7 +523,7 @@ const N = {
523
523
  throw new Error(`HTTP error! Status: ${a.status}`);
524
524
  return await a.json();
525
525
  };
526
- function X({
526
+ function ee({
527
527
  apiKey: o,
528
528
  checkoutProfile: e,
529
529
  inputStyles: t,
@@ -531,7 +531,7 @@ function X({
531
531
  environment: a,
532
532
  paymentId: r
533
533
  }) {
534
- const s = L({
534
+ const s = k({
535
535
  iframeConfig: void 0,
536
536
  loadingIframe: !0,
537
537
  isCcValid: !1,
@@ -544,7 +544,7 @@ function X({
544
544
  const l = async () => {
545
545
  try {
546
546
  console.log("[IframeConfig] Generating iframe configuration...");
547
- const m = await W({
547
+ const m = await Q({
548
548
  props: {
549
549
  payment: r
550
550
  },
@@ -659,90 +659,90 @@ function X({
659
659
  initialize: u
660
660
  };
661
661
  }
662
- 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 = {
663
- email: Q,
664
- cardholderNameLabel: ee,
665
- cardInformation: te,
666
- cardholderNamePlaceholder: ie,
667
- cardExpiry: ae,
668
- loading: re,
669
- buttonTexts: se,
670
- validation: oe
671
- }, 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 = {
672
- email: le,
673
- cardholderNameLabel: ce,
674
- cardInformation: de,
675
- cardholderNamePlaceholder: he,
676
- cardExpiry: me,
677
- loading: ue,
678
- buttonTexts: pe,
679
- validation: ge
680
- }, 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 = {
681
- email: ye,
682
- cardholderNameLabel: ve,
683
- cardInformation: Ee,
684
- cardholderNamePlaceholder: Ce,
685
- cardExpiry: be,
686
- loading: xe,
687
- buttonTexts: Se,
688
- validation: Fe
689
- }, Me = "E-mail", Le = "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", Pe = { pay: "PAYER", submit: "ENVOYER", getPlan: "OBTENIR MON PLAN", donate: "FAIRE UN DON", book: "RÉSERVER MAINTENANT", order: "COMMANDER MAINTENANT" }, Ne = { 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 = {
690
- email: Me,
691
- cardholderNameLabel: Le,
692
- cardInformation: ke,
693
- cardholderNamePlaceholder: Te,
694
- cardExpiry: Ie,
695
- loading: ze,
696
- buttonTexts: Pe,
697
- validation: Ne
698
- }, 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 = {
699
- email: De,
700
- cardholderNameLabel: Ve,
701
- cardInformation: $e,
702
- cardholderNamePlaceholder: Re,
703
- cardExpiry: Be,
704
- loading: Oe,
705
- buttonTexts: He,
706
- validation: Ke
707
- }, 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 = {
708
- email: Ue,
709
- cardholderNameLabel: qe,
710
- cardInformation: Ge,
711
- cardholderNamePlaceholder: _e,
712
- cardExpiry: Ye,
713
- loading: Ze,
714
- buttonTexts: Je,
715
- validation: We
716
- }, 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 = {
717
- email: Qe,
718
- cardholderNameLabel: et,
719
- cardInformation: tt,
720
- cardholderNamePlaceholder: it,
721
- cardExpiry: at,
722
- loading: rt,
723
- buttonTexts: st,
724
- validation: ot
725
- }, 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 = {
726
- email: lt,
727
- cardholderNameLabel: ct,
728
- cardInformation: dt,
729
- cardholderNamePlaceholder: ht,
730
- cardExpiry: mt,
731
- loading: ut,
732
- buttonTexts: pt,
733
- 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" }, Le = { 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" }, Me = {
681
+ email: Ee,
682
+ cardholderNameLabel: Ce,
683
+ cardInformation: be,
684
+ cardholderNamePlaceholder: xe,
685
+ cardExpiry: Se,
686
+ loading: Fe,
687
+ buttonTexts: we,
688
+ validation: Le
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" }, De = { emailSuggestion: "Vouliez-vous dire {{email}}?", emailInvalid: "Votre adresse e-mail n’est pas valide", cardExpiryInvalid: "La date d'expiration de votre carte est dans le passé", cardExpiryFormat: "La date d’expiration de votre carte est incomplète", cardSecurityFormat: "Le code de sécurité de votre carte est incomplet", nameRequired: "Veuillez saisir le nom tel qu’il figure sur votre carte", cardNumberInvalid: "Votre numéro de carte est invalide" }, Ve = {
690
+ email: ke,
691
+ cardholderNameLabel: Te,
692
+ cardInformation: Ie,
693
+ cardholderNamePlaceholder: ze,
694
+ cardExpiry: Pe,
695
+ loading: Ne,
696
+ buttonTexts: Ae,
697
+ validation: De
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
+ }, _e = "Adres e-mail", Ge = "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: _e,
709
+ cardholderNameLabel: Ge,
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
734
734
  }, A = {
735
- en: fe,
736
- de: ne,
737
- es: we,
738
- fr: Ae,
739
- pl: Xe,
740
- pt: nt,
741
- tr: ft,
742
- it: je
735
+ en: ve,
736
+ de: ce,
737
+ es: Me,
738
+ fr: Ve,
739
+ pl: et,
740
+ pt: ct,
741
+ tr: vt,
742
+ it: qe
743
743
  // Add other locales here
744
744
  };
745
- class yt {
745
+ class Et {
746
746
  locale;
747
747
  loadedLocales = /* @__PURE__ */ new Set();
748
748
  constructor(e = "en") {
@@ -789,14 +789,14 @@ const D = [
789
789
  "pt",
790
790
  "it",
791
791
  "tr"
792
- ], vt = "en";
793
- function Et(o) {
794
- const e = new yt(), i = (() => {
792
+ ], Ct = "en";
793
+ function bt(o) {
794
+ const e = new Et(), i = (() => {
795
795
  const n = navigator?.language?.split("-")[0]?.toLowerCase();
796
- return D.includes(n) ? n : vt;
796
+ return D.includes(n) ? n : Ct;
797
797
  })();
798
798
  e.setLocale(i);
799
- const a = L({
799
+ const a = k({
800
800
  locale: i,
801
801
  translationService: e
802
802
  });
@@ -810,8 +810,8 @@ function Et(o) {
810
810
  subscribe: a.subscribe.bind(a)
811
811
  };
812
812
  }
813
- const Ct = Et(), z = () => {
814
- 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;
815
815
  return {
816
816
  t: o,
817
817
  translate: o,
@@ -819,7 +819,7 @@ const Ct = Et(), z = () => {
819
819
  setLocale: t,
820
820
  subscribe: i
821
821
  };
822
- }, bt = ({ fontFamily: o }) => {
822
+ }, St = ({ fontFamily: o }) => {
823
823
  if (!o)
824
824
  return { cleanup: () => {
825
825
  } };
@@ -842,7 +842,7 @@ const Ct = Et(), z = () => {
842
842
  return { cleanup: () => {
843
843
  document.head.contains(a) && document.head.removeChild(a);
844
844
  } };
845
- }, xt = ({
845
+ }, Ft = ({
846
846
  scriptSrc: o,
847
847
  async: e = !0
848
848
  }) => {
@@ -877,7 +877,7 @@ const Ct = Et(), z = () => {
877
877
  const i = e.replace(/([A-Z])/g, "-$1").toLowerCase(), a = typeof t == "number" ? `${t}px` : t;
878
878
  return `${i}: ${a}`;
879
879
  }).join("; ");
880
- function St(o) {
880
+ function wt(o) {
881
881
  if (!o)
882
882
  return {
883
883
  formContainerStyle: {},
@@ -1096,7 +1096,7 @@ class F {
1096
1096
  return new h("img", i, r);
1097
1097
  }
1098
1098
  }
1099
- class Ft extends h {
1099
+ class Lt extends h {
1100
1100
  messageComponent;
1101
1101
  constructor(e) {
1102
1102
  super("div", []);
@@ -1168,7 +1168,7 @@ class E extends h {
1168
1168
  return this.span && this.span.classList.add("form-helper-text-hidden"), this;
1169
1169
  }
1170
1170
  }
1171
- class wt extends h {
1171
+ class Mt extends h {
1172
1172
  constructor(e) {
1173
1173
  super("label", ["input-label"], {
1174
1174
  for: e.id
@@ -1182,7 +1182,7 @@ class P extends h {
1182
1182
  helperText = null;
1183
1183
  constructor(e) {
1184
1184
  if (super("div", ["input-wrapper"]), e.label && e.styles) {
1185
- const i = new wt({
1185
+ const i = new Mt({
1186
1186
  styles: {
1187
1187
  color: e.styles.color,
1188
1188
  fontSize: e.styles.fontSize
@@ -1224,7 +1224,7 @@ class P extends h {
1224
1224
  return this.inputElement.getElement().addEventListener(e, t, i), this;
1225
1225
  }
1226
1226
  }
1227
- class Mt {
1227
+ class kt {
1228
1228
  input;
1229
1229
  constructor(e) {
1230
1230
  const {
@@ -1278,7 +1278,7 @@ class Mt {
1278
1278
  return this.input.appendTo(e), this;
1279
1279
  }
1280
1280
  }
1281
- class Lt extends h {
1281
+ class Tt extends h {
1282
1282
  constructor(e) {
1283
1283
  super("div", []);
1284
1284
  const t = document.createElement("div");
@@ -1295,25 +1295,25 @@ class Lt extends h {
1295
1295
  return t && (e ? t.classList.add("loading") : t.classList.remove("loading")), this;
1296
1296
  }
1297
1297
  }
1298
- 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", w = [
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 = [
1299
1299
  {
1300
1300
  type: "visa",
1301
- imgSrc: zt
1301
+ imgSrc: Nt
1302
1302
  },
1303
1303
  {
1304
1304
  type: "masterCard",
1305
- imgSrc: It
1305
+ imgSrc: Pt
1306
1306
  },
1307
1307
  {
1308
1308
  type: "americanExpress",
1309
- imgSrc: kt
1309
+ imgSrc: It
1310
1310
  },
1311
1311
  {
1312
1312
  type: "discover",
1313
- imgSrc: Tt
1313
+ imgSrc: zt
1314
1314
  }
1315
1315
  ];
1316
- class Pt extends h {
1316
+ class At extends h {
1317
1317
  cardType;
1318
1318
  constructor(e) {
1319
1319
  super("div", []), this.cardType = e.cardType;
@@ -1372,7 +1372,7 @@ class Pt extends h {
1372
1372
  return this;
1373
1373
  }
1374
1374
  }
1375
- class Nt extends h {
1375
+ class Dt extends h {
1376
1376
  cardNumber;
1377
1377
  cardExpiry;
1378
1378
  cardCvv;
@@ -1397,7 +1397,7 @@ class Nt extends h {
1397
1397
  translationFunc: S,
1398
1398
  cardExpiryAutocomplete: x = "cc-exp"
1399
1399
  } = e, C = document.createElement("div");
1400
- this.cardNumber = new Pt({
1400
+ this.cardNumber = new At({
1401
1401
  styles: {
1402
1402
  color: t.styles.textColor,
1403
1403
  fontSize: t.styles.fontSize,
@@ -1427,25 +1427,25 @@ class Nt extends h {
1427
1427
  fontFamily: t.styles.fontFamily
1428
1428
  }
1429
1429
  }), this.cardExpiry.addEventListener("blur", b), this.cardExpiry.addEventListener("keydown", (f) => {
1430
- const T = f;
1431
- ![
1430
+ const L = f, B = [
1432
1431
  "Backspace",
1433
1432
  "Delete",
1434
1433
  "ArrowLeft",
1435
1434
  "ArrowRight",
1436
1435
  "Tab"
1437
- ].includes(T.key) && !/^\d$/.test(T.key) && T.preventDefault();
1436
+ ], O = this.cardExpiry.getValue().replace(/\D/g, "");
1437
+ B.includes(L.key) || (!/^\d$/.test(L.key) || O.length >= 4 && !L.isComposing) && L.preventDefault();
1438
1438
  });
1439
1439
  const R = this.cardExpiry.getElement();
1440
1440
  R.style.height = "38.5px";
1441
- const k = document.createElement("div");
1442
- k.className = "input-wrapper", this.cardCvv = new Lt({
1441
+ const T = document.createElement("div");
1442
+ T.className = "input-wrapper", this.cardCvv = new Tt({
1443
1443
  styles: {
1444
1444
  borderRadius: typeof t.styles.borderRadius == "number" ? t.styles.borderRadius : 0
1445
1445
  },
1446
1446
  isLoading: i,
1447
1447
  isFocused: r
1448
- }), k.appendChild(this.cardCvv.getElement()), v.appendChild(this.cardExpiry.getElement()), v.appendChild(k), C.appendChild(v);
1448
+ }), T.appendChild(this.cardCvv.getElement()), v.appendChild(this.cardExpiry.getElement()), v.appendChild(T), C.appendChild(v);
1449
1449
  const y = document.createElement("div");
1450
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
1451
  const f = new E({
@@ -1556,7 +1556,7 @@ class Nt extends h {
1556
1556
  }
1557
1557
  }
1558
1558
  }
1559
- class At {
1559
+ class Vt {
1560
1560
  input;
1561
1561
  constructor(e) {
1562
1562
  const {
@@ -1610,8 +1610,8 @@ class At {
1610
1610
  return this.input.appendTo(e), this;
1611
1611
  }
1612
1612
  }
1613
- 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";
1614
- 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 {
1615
1615
  formData;
1616
1616
  onSubmit;
1617
1617
  isSubmitting = !1;
@@ -1622,7 +1622,7 @@ class Vt extends h {
1622
1622
  const a = document.createElement("div");
1623
1623
  a.className = "paypal-icon-container";
1624
1624
  const r = document.createElement("img");
1625
- 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());
1626
1626
  }
1627
1627
  async handleSubmit() {
1628
1628
  if (!(!this.onSubmit || this.isSubmitting)) {
@@ -1643,7 +1643,7 @@ class Vt extends h {
1643
1643
  return this.isSubmitting = e, this.getElement().style.opacity = e ? "0.7" : "1", this;
1644
1644
  }
1645
1645
  }
1646
- class $t extends h {
1646
+ class Bt extends h {
1647
1647
  paymentMethods;
1648
1648
  constructor(e) {
1649
1649
  const {
@@ -1676,7 +1676,7 @@ class $t extends h {
1676
1676
  switch (n) {
1677
1677
  case "paypal": {
1678
1678
  if (a) {
1679
- const l = new Vt({
1679
+ const l = new Rt({
1680
1680
  checkoutProfile: t,
1681
1681
  formData: i,
1682
1682
  onSubmit: a
@@ -1711,8 +1711,8 @@ class $t extends h {
1711
1711
  return this.paymentMethods.size > 0 && this.getElement().style.display !== "none";
1712
1712
  }
1713
1713
  }
1714
- const Rt = 17;
1715
- class Bt extends h {
1714
+ const Ot = 17;
1715
+ class Ht extends h {
1716
1716
  styles;
1717
1717
  isHovered = !1;
1718
1718
  constructor(e) {
@@ -1723,7 +1723,7 @@ class Bt extends h {
1723
1723
  }
1724
1724
  applyStyles() {
1725
1725
  const e = this.getElement();
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 === 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`;
1727
1727
  }
1728
1728
  handleMouseEnter() {
1729
1729
  this.isHovered = !0, this.applyStyles();
@@ -1735,11 +1735,11 @@ class Bt extends h {
1735
1735
  return this.getElement().disabled = e, e ? (this.addClass("disabled"), this.removeClass("valid")) : (this.removeClass("disabled"), this.addClass("valid")), this.applyStyles(), this;
1736
1736
  }
1737
1737
  }
1738
- class Ot {
1738
+ class Kt {
1739
1739
  button;
1740
1740
  constructor(e) {
1741
1741
  const { disabled: t, checkoutProfile: i, translationFunc: a } = e;
1742
- this.button = new Bt({
1742
+ this.button = new Ht({
1743
1743
  text: a(
1744
1744
  `buttonTexts.${i?.layout.actionButton.translationKey}`
1745
1745
  ),
@@ -1766,8 +1766,8 @@ class Ot {
1766
1766
  return this.button.appendTo(e), this;
1767
1767
  }
1768
1768
  }
1769
- const Ht = "https://test-htp.tokenex.com/Iframe/Iframe-v3.min.js", Kt = "https://htp.tokenex.com/iframe/iframe-v3.min.js";
1770
- 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 {
1771
1771
  options;
1772
1772
  isSubmitting = !1;
1773
1773
  scriptCleanup;
@@ -1782,12 +1782,12 @@ class jt extends h {
1782
1782
  spinner;
1783
1783
  alert;
1784
1784
  // factories
1785
- formManager = J();
1785
+ formManager = X();
1786
1786
  checkoutProfile;
1787
1787
  translation = z();
1788
1788
  iframeHook;
1789
1789
  constructor(e) {
1790
- super("form", ["form-container"]), this.options = e, this.checkoutProfile = U({
1790
+ super("form", ["form-container"]), this.options = e, this.checkoutProfile = _({
1791
1791
  apiKey: e.apiKey,
1792
1792
  profileId: e.profileId,
1793
1793
  environment: e.environment
@@ -1814,7 +1814,7 @@ class jt extends h {
1814
1814
  try {
1815
1815
  if (console.log("[Form] Profile loaded, starting render."), e.checkoutProfile.styles?.fontFamily)
1816
1816
  try {
1817
- const { cleanup: t } = bt({
1817
+ const { cleanup: t } = St({
1818
1818
  fontFamily: e.checkoutProfile.styles.fontFamily
1819
1819
  });
1820
1820
  this.fontCleanup = t;
@@ -1851,7 +1851,7 @@ class jt extends h {
1851
1851
  );
1852
1852
  return;
1853
1853
  }
1854
- const { inputStyles: t, formContainerStyle: i } = St(
1854
+ const { inputStyles: t, formContainerStyle: i } = wt(
1855
1855
  e.checkoutProfile
1856
1856
  );
1857
1857
  this.applyFormContainerStyles(i);
@@ -1862,7 +1862,7 @@ class jt extends h {
1862
1862
  );
1863
1863
  return;
1864
1864
  }
1865
- this.iframeHook = X({
1865
+ this.iframeHook = ee({
1866
1866
  apiKey: this.options.apiKey,
1867
1867
  checkoutProfile: e.checkoutProfile,
1868
1868
  inputStyles: t,
@@ -1908,7 +1908,7 @@ class jt extends h {
1908
1908
  isCvvValid: !1,
1909
1909
  possibleCardType: "unknown"
1910
1910
  };
1911
- this.iframeHook && (r = this.iframeHook.getState()), this.cardSection = new Nt({
1911
+ this.iframeHook && (r = this.iframeHook.getState()), this.cardSection = new Dt({
1912
1912
  checkoutProfile: e,
1913
1913
  isLoading: r.loadingIframe,
1914
1914
  isFocused: r.isFocused,
@@ -1933,9 +1933,9 @@ class jt extends h {
1933
1933
  };
1934
1934
  initializeForm() {
1935
1935
  console.log("[Form] initializeForm started."), this.setLoadingState(!0), this.options.errorMsg && this.setErrorMessage(this.options.errorMsg);
1936
- const e = this.options.environment === "test" ? Ht : Kt;
1936
+ const e = this.options.environment === "test" ? jt : Ut;
1937
1937
  console.log("[Form] Appending TokenEx script.");
1938
- const { cleanup: t, isLoaded: i } = xt({
1938
+ const { cleanup: t, isLoaded: i } = Ft({
1939
1939
  scriptSrc: e
1940
1940
  });
1941
1941
  this.scriptCleanup = t, this.tokenExScriptPromise = i, i.then(() => {
@@ -1987,7 +1987,7 @@ class jt extends h {
1987
1987
  if (!e?.additionalPaymentMethods)
1988
1988
  return;
1989
1989
  const i = this.iframeHook?.getState().iframeConfig?.supportedPaymentMethods, { formData: a } = this._getFormStateData();
1990
- this.paymentMethods = new $t({
1990
+ this.paymentMethods = new Bt({
1991
1991
  checkoutProfile: e,
1992
1992
  formData: a,
1993
1993
  supportedPaymentMethods: i,
@@ -2005,7 +2005,7 @@ class jt extends h {
2005
2005
  createEmailField(e) {
2006
2006
  try {
2007
2007
  const { formData: t, errors: i, touched: a } = this._getFormStateData();
2008
- this.emailField = new At({
2008
+ this.emailField = new Vt({
2009
2009
  value: t.email,
2010
2010
  onChange: this.handleChange,
2011
2011
  onBlur: this.handleBlur,
@@ -2021,7 +2021,7 @@ class jt extends h {
2021
2021
  createCardholderSection(e) {
2022
2022
  try {
2023
2023
  const { formData: t, errors: i, touched: a } = this._getFormStateData();
2024
- this.cardholderSection = new Mt({
2024
+ this.cardholderSection = new kt({
2025
2025
  value: t.name,
2026
2026
  onChange: this.handleChange,
2027
2027
  onBlur: this.handleBlur,
@@ -2036,7 +2036,7 @@ class jt extends h {
2036
2036
  }
2037
2037
  createSubmitButton(e) {
2038
2038
  try {
2039
- this.submitButton = new Ot({
2039
+ this.submitButton = new Kt({
2040
2040
  disabled: this.isFormDisabled(),
2041
2041
  checkoutProfile: e,
2042
2042
  translationFunc: this.translation.t
@@ -2137,7 +2137,7 @@ class jt extends h {
2137
2137
  * Update the form error message
2138
2138
  */
2139
2139
  setErrorMessage(e) {
2140
- 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 Lt({ message: e }), this.element.insertBefore(this.alert.getElement(), this.element.firstChild), this;
2141
2141
  }
2142
2142
  /**
2143
2143
  * Clean up resources when the form is destroyed
@@ -2149,7 +2149,7 @@ class jt extends h {
2149
2149
  e.key === "Enter" && !this.isFormDisabled() && (e.target instanceof HTMLTextAreaElement || (e.preventDefault(), this.handleSubmit(e)));
2150
2150
  };
2151
2151
  }
2152
- class Ut {
2152
+ class _t {
2153
2153
  container = null;
2154
2154
  options;
2155
2155
  onSubmit;
@@ -2164,7 +2164,7 @@ class Ut {
2164
2164
  this.container && this.form && (this.form && e.errorMsg && !this.options.disableErrorMessages ? this.form.setErrorMessage(e.errorMsg) : this.renderForm(e.errorMsg));
2165
2165
  }
2166
2166
  renderForm(e) {
2167
- 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({
2168
2168
  apiKey: this.options.apiKey,
2169
2169
  onSubmit: this.onSubmit,
2170
2170
  locale: this.options.locale,
@@ -2180,7 +2180,7 @@ class Ut {
2180
2180
  this.form && (this.form.destroy(), this.form = null);
2181
2181
  }
2182
2182
  }
2183
- class qt {
2183
+ class Gt {
2184
2184
  state;
2185
2185
  listeners = /* @__PURE__ */ new Set();
2186
2186
  constructor(e) {
@@ -2202,19 +2202,20 @@ class qt {
2202
2202
  this.listeners.forEach((t) => t(e));
2203
2203
  }
2204
2204
  }
2205
- class Gt {
2205
+ const Yt = "en";
2206
+ class Zt {
2206
2207
  config;
2207
2208
  apiService;
2208
2209
  formManager;
2209
2210
  stateManager;
2210
2211
  constructor(e) {
2211
- this.config = this.validateConfig(e), this.apiService = new B(
2212
+ this.config = this.validateConfig(e), this.apiService = new H(
2212
2213
  this.config.apiKey,
2213
2214
  this.config.environment
2214
- ), this.stateManager = new qt({
2215
+ ), this.stateManager = new Gt({
2215
2216
  mounted: !1,
2216
2217
  form: null
2217
- }), this.formManager = new Ut(
2218
+ }), this.formManager = new _t(
2218
2219
  {
2219
2220
  locale: this.config.locale,
2220
2221
  apiKey: this.config.apiKey,
@@ -2239,7 +2240,7 @@ class Gt {
2239
2240
  paymentId: e.paymentId,
2240
2241
  returnUrl: e.returnUrl,
2241
2242
  environment: e.environment,
2242
- locale: e.locale || null,
2243
+ locale: e.locale || Yt,
2243
2244
  disableErrorMessages: e.disableErrorMessages ?? !1,
2244
2245
  manualActionHandling: e.manualActionHandling ?? !1,
2245
2246
  callbacks: {
@@ -2302,15 +2303,15 @@ class Gt {
2302
2303
  t && this.formManager.update({ errorMsg: e.details?.message });
2303
2304
  }
2304
2305
  }
2305
- typeof globalThis < "u" && (globalThis.OdusCheckout = Gt);
2306
+ typeof globalThis < "u" && (globalThis.OdusCheckout = Zt);
2306
2307
  export {
2307
- Gt as OdusCheckout,
2308
- ne as deLocale,
2309
- fe as enLocale,
2310
- we as esLocale,
2311
- Ae as frLocale,
2312
- je as itLocale,
2313
- Xe as plLocale,
2314
- nt as ptLocale,
2315
- ft as trLocale
2308
+ Zt as OdusCheckout,
2309
+ ce as deLocale,
2310
+ ve as enLocale,
2311
+ Me as esLocale,
2312
+ Ve as frLocale,
2313
+ qe as itLocale,
2314
+ et as plLocale,
2315
+ ct as ptLocale,
2316
+ vt as trLocale
2316
2317
  };
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odus/checkout",
3
- "version": "0.6.0",
3
+ "version": "0.6.2",
4
4
  "displayName": "Odus Checkout SDK",
5
5
  "keywords": [
6
6
  "odus",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odus/checkout",
3
- "version": "0.6.0",
3
+ "version": "0.6.2",
4
4
  "displayName": "Odus Checkout SDK",
5
5
  "keywords": [
6
6
  "odus",