@everymatrix/user-login 1.61.1 → 1.62.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.
@@ -21,7 +21,7 @@ function _interopNamespace(e) {
21
21
  }
22
22
 
23
23
  const NAMESPACE = 'user-login';
24
- const BUILD = /* user-login */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: false, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: false, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: false, propMutable: true, propNumber: false, propString: true, reflect: true, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: false, slotChildNodesFix: false, slotRelocation: false, state: true, style: true, svg: true, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: false, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: false, vdomText: true, vdomXlink: false, watchCallback: true };
24
+ const BUILD = /* user-login */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: false, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: false, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: false, propMutable: true, propNumber: false, propString: true, reflect: true, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: true, slotChildNodesFix: false, slotRelocation: false, state: true, style: true, svg: true, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: false, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: false, vdomText: true, vdomXlink: false, watchCallback: true };
25
25
 
26
26
  /*
27
27
  Stencil Client Platform v4.19.2 | MIT Licensed | https://stenciljs.com
@@ -650,7 +650,7 @@ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
650
650
  isSvgMode = tag === "svg" ? true : tag === "foreignObject" ? false : isSvgMode;
651
651
  }
652
652
  {
653
- {
653
+ if (tag === "slot" && !useNativeShadowDom) ; else {
654
654
  updateElement(oldVNode, newVNode2, isSvgMode);
655
655
  }
656
656
  }
@@ -2,13 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-2eb404c0.js');
5
+ const index = require('./index-430b4c77.js');
6
6
  const appGlobals = require('./app-globals-3a1e7e63.js');
7
7
 
8
8
  const defineCustomElements = async (win, options) => {
9
9
  if (typeof window === 'undefined') return undefined;
10
10
  await appGlobals.globalScripts();
11
- return index.bootstrapLazy([["user-login.cjs",[[1,"user-login",{"endpoint":[513],"lang":[1537],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"translationUrl":[513,"translation-url"],"passwordReset":[513,"password-reset"],"userEmailRegex":[513,"user-email-regex"],"userEmailRegexOptions":[513,"user-email-regex-options"],"userPhoneRegex":[513,"user-phone-regex"],"userPhoneRegexOptions":[513,"user-phone-regex-options"],"passwordRegex":[513,"password-regex"],"passwordRegexOptions":[513,"password-regex-options"],"version":[513],"loginByPhoneNumber":[513,"login-by-phone-number"],"mbSource":[513,"mb-source"],"userNameEmail":[32],"userPassword":[32],"isValidUserEmail":[32],"userPhone":[32],"userPrefix":[32],"isValidPassword":[32],"isValidUserPhone":[32],"isPasswordVisible":[32],"errorMessage":[32],"hasError":[32],"userPrefixOptions":[32],"isLoginLoading":[32]},null,{"translationUrl":["handleNewTranslations"],"clientStyling":["handleClientStylingChange"],"clientStylingUrl":["handleClientStylingUrlChange"]}]]]], options);
11
+ return index.bootstrapLazy([["user-login.cjs",[[1,"user-login",{"endpoint":[513],"lang":[1537],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"translationUrl":[513,"translation-url"],"passwordReset":[513,"password-reset"],"userEmailRegex":[513,"user-email-regex"],"userEmailRegexOptions":[513,"user-email-regex-options"],"userPhoneRegex":[513,"user-phone-regex"],"userPhoneRegexOptions":[513,"user-phone-regex-options"],"passwordRegex":[513,"password-regex"],"passwordRegexOptions":[513,"password-regex-options"],"version":[513],"loginByPhoneNumber":[513,"login-by-phone-number"],"mbSource":[513,"mb-source"],"userNameEmail":[32],"userPassword":[32],"isValidUserEmail":[32],"userPhone":[32],"userPrefix":[32],"isValidPassword":[32],"isValidUserPhone":[32],"isPasswordVisible":[32],"errorMessage":[32],"hasError":[32],"userPrefixOptions":[32],"isLoginLoading":[32],"captchaData":[32]},null,{"translationUrl":["handleNewTranslations"],"clientStyling":["handleClientStylingChange"],"clientStylingUrl":["handleClientStylingUrlChange"]}]]]], options);
12
12
  };
13
13
 
14
14
  exports.setNonce = index.setNonce;
@@ -2,12 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-2eb404c0.js');
5
+ const index = require('./index-430b4c77.js');
6
6
 
7
7
  const DEFAULT_LANGUAGE = 'en';
8
8
  const TRANSLATIONS = {
9
9
  "en": {
10
- "invalidField": "This field is invalid",
10
+ "invalidField": "Sorry, that username/email address and/or password has not been recognized.",
11
11
  "forgotPassword": "Forgot Password",
12
12
  "userEmail": "Username or Email",
13
13
  "userPhone": "Phone number",
@@ -20,10 +20,11 @@ const TRANSLATIONS = {
20
20
  "GmErr_USER_ACCOUNT_BLOCKED": "You’re currently unable to login to your account - please contact Customer Services for more information.",
21
21
  "setUpPassowrd": "You need to reset your password",
22
22
  "Unauthorized": "The player account number, e-mail address or password is incorrect",
23
- "CountryRestricted": "Registration is not possible from a restricted jurisdiction. If you encounter further issues, please contact support."
23
+ "CountryRestricted": "Registration is not possible from a restricted jurisdiction. If you encounter further issues, please contact support.",
24
+ "configError": "An unexpected error has occured when fetchig the configuration"
24
25
  },
25
26
  "tr": {
26
- "invalidField": "Bu alan geçersiz",
27
+ "invalidField": "Üzgünüz, bu kullanıcı adı/e-posta adresi ve/veya şifre tanınmadı.",
27
28
  "forgotPassword": "Şifremi Unuttum",
28
29
  "userEmail": "Kullanıcı Adı veya E-posta",
29
30
  "userPhone": "Telefon numarası",
@@ -36,10 +37,11 @@ const TRANSLATIONS = {
36
37
  "GmErr_USER_ACCOUNT_BLOCKED": "Şu anda hesabınıza giriş yapamıyorsunuz - daha fazla bilgi için Müşteri Hizmetleri ile iletişime geçin.",
37
38
  "setUpPassowrd": "Şifrenizi sıfırlamanız gerekiyor",
38
39
  "Unauthorized": "Oyuncu hesap numarası, e-posta adresi veya şifre hatalı",
39
- "CountryRestricted": "Kısıtlı bir yargı bölgesinden kayıt yapılamaz. Daha fazla sorunla karşılaşırsanız, lütfen destek ile iletişime geçin."
40
+ "CountryRestricted": "Kısıtlı bir yargı bölgesinden kayıt yapılamaz. Daha fazla sorunla karşılaşırsanız, lütfen destek ile iletişime geçin.",
41
+ "configError": "Yapılandırma alınırken beklenmeyen bir hata oluştu"
40
42
  },
41
43
  "en-us": {
42
- "invalidField": "This field is invalid",
44
+ "invalidField": "Sorry, that username/email address and/or password has not been recognized.",
43
45
  "forgotPassword": "Forgot Password",
44
46
  "userEmail": "Username or Email",
45
47
  "userPhone": "Phone number",
@@ -52,10 +54,11 @@ const TRANSLATIONS = {
52
54
  "GmErr_USER_ACCOUNT_BLOCKED": "You’re currently unable to login to your account - please contact Customer Services for more information.",
53
55
  "setUpPassowrd": "You need to reset your password",
54
56
  "Unauthorized": "The player account number, e-mail address or password is incorrect",
55
- "CountryRestricted": "Registration is not possible from a restricted jurisdiction. If you encounter further issues, please contact support."
57
+ "CountryRestricted": "Registration is not possible from a restricted jurisdiction. If you encounter further issues, please contact support.",
58
+ "configError": "An unexpected error has occured when fetchig the configuration"
56
59
  },
57
60
  "ro": {
58
- "invalidField": "Acest câmp este invalid",
61
+ "invalidField": "Ne pare rău, acest nume de utilizator/adresă de e-mail și/sau parolă nu a fost recunoscut.",
59
62
  "forgotPassword": "Ați uitat parola",
60
63
  "userEmail": "Nume utilizator sau email",
61
64
  "userPhone": "Număr de telefon",
@@ -68,10 +71,11 @@ const TRANSLATIONS = {
68
71
  "GmErr_USER_ACCOUNT_BLOCKED": "În prezent, nu vă puteți conecta la contul dvs. - vă rugăm să contactați Serviciul Clienți pentru mai multe informații.",
69
72
  "setUpPassowrd": "Trebuie să vă resetați parola",
70
73
  "Unauthorized": "Numărul contului de jucător, adresa de e-mail sau parola sunt incorecte",
71
- "CountryRestricted": "Înregistrarea nu este posibilă dintr-o jurisdicție restricționată. Dacă întâmpinați alte probleme, vă rugăm să contactați asistența."
74
+ "CountryRestricted": "Înregistrarea nu este posibilă dintr-o jurisdicție restricționată. Dacă întâmpinați alte probleme, vă rugăm să contactați asistența.",
75
+ "configError": "A apărut o eroare neașteptată la preluarea configurației"
72
76
  },
73
77
  "hr": {
74
- "invalidField": "Ovo polje je nevažeće",
78
+ "invalidField": "Žao nam je, to korisničko ime/adresa e-pošte i/ili lozinka nisu prepoznati.",
75
79
  "forgotPassword": "Zaboravljena lozinka",
76
80
  "userEmail": "Korisničko ime ili email",
77
81
  "userPhone": "Broj telefona",
@@ -84,10 +88,11 @@ const TRANSLATIONS = {
84
88
  "Forbidden_UserAccount_Blocked": "Vaš račun je blokiran",
85
89
  "GmErr_USER_ACCOUNT_BLOCKED": "Trenutno se ne možete prijaviti na svoj račun - molimo kontaktirajte Službu za korisnike za više informacija.",
86
90
  "Unauthorized": "Lozinka, e-mail adresa ili korisničko ime su pogrešno uneseni",
87
- "CountryRestricted": "Prijava nije moguća iz zemlje ograničene jurisdikcije. U slučaju daljnjih poteškoća, molimo kontaktirajte podršku."
91
+ "CountryRestricted": "Prijava nije moguća iz zemlje ograničene jurisdikcije. U slučaju daljnjih poteškoća, molimo kontaktirajte podršku.",
92
+ "configError": "Došlo je do neočekivane pogreške prilikom dohvaćanja konfiguracije"
88
93
  },
89
94
  "fr": {
90
- "invalidField": "Ce champ est invalide",
95
+ "invalidField": "Désolé, ce nom d'utilisateur/adresse e-mail et/ou mot de passe n'a pas été reconnu.",
91
96
  "forgotPassword": "Mot de passe oublié",
92
97
  "userEmail": "Nom d'utilisateur ou email",
93
98
  "userPhone": "Numéro de téléphone",
@@ -100,10 +105,11 @@ const TRANSLATIONS = {
100
105
  "GmErr_USER_ACCOUNT_BLOCKED": "Vous ne pouvez actuellement pas vous connecter à votre compte - veuillez contacter le service client pour plus d'informations.",
101
106
  "setUpPassowrd": "Vous devez réinitialiser votre mot de passe",
102
107
  "Unauthorized": "Le numéro de compte joueur, l'adresse e-mail ou le mot de passe est incorrect",
103
- "CountryRestricted": "L'inscription n'est pas possible depuis une juridiction restreinte. Si vous rencontrez d'autres problèmes, veuillez contacter le support."
108
+ "CountryRestricted": "L'inscription n'est pas possible depuis une juridiction restreinte. Si vous rencontrez d'autres problèmes, veuillez contacter le support.",
109
+ "configError": "Une erreur inattendue s'est produite lors de la récupération de la configuration"
104
110
  },
105
111
  "cs": {
106
- "invalidField": "Ovo polje je nevažeće.",
112
+ "invalidField": "Omlouváme se, toto uživatelské jméno/e-mailová adresa a/nebo heslo nebyly rozpoznány.",
107
113
  "forgotPassword": "Zaboravio sam lozinku ",
108
114
  "userEmail": "Korisničko ime ili email",
109
115
  "userPhone": "Telefonní číslo",
@@ -116,10 +122,11 @@ const TRANSLATIONS = {
116
122
  "GmErr_USER_ACCOUNT_BLOCKED": "Momentálně se nemůžete přihlásit ke svému účtu - pro více informací kontaktujte zákaznický servis.",
117
123
  "setUpPassowrd": "Musíte resetovat své heslo",
118
124
  "Unauthorized": "Číslo účtu hráče, e-mailová adresa nebo heslo je nesprávné",
119
- "CountryRestricted": "Registrace není možná z omezené jurisdikce. Pokud narazíte na další potíže, kontaktujte prosím podporu."
125
+ "CountryRestricted": "Registrace není možná z omezené jurisdikce. Pokud narazíte na další potíže, kontaktujte prosím podporu.",
126
+ "configError": "Při načítání konfigurace došlo k neočekávané chybě"
120
127
  },
121
128
  "de": {
122
- "invalidField": "Dieses Feld ist ungültig",
129
+ "invalidField": "Entschuldigung, dieser Benutzername/diese E-Mail-Adresse und/oder dieses Passwort wurde nicht erkannt.",
123
130
  "forgotPassword": "Passwort vergessen",
124
131
  "userEmail": "Benutzername oder E-Mail",
125
132
  "userPhone": "Telefonnummer",
@@ -132,10 +139,11 @@ const TRANSLATIONS = {
132
139
  "GmErr_USER_ACCOUNT_BLOCKED": "Sie können sich derzeit nicht in Ihr Konto einloggen - bitte kontaktieren Sie den Kundenservice für weitere Informationen.",
133
140
  "setUpPassowrd": "Sie müssen Ihr Passwort zurücksetzen",
134
141
  "Unauthorized": "Die Spieler-Kontonummer, E-Mail-Adresse oder das Passwort ist falsch",
135
- "CountryRestricted": "Eine Registrierung ist aus einer eingeschränkten Gerichtsbarkeit nicht möglich. Wenn Sie weitere Probleme haben, wenden Sie sich bitte an den Support."
142
+ "CountryRestricted": "Eine Registrierung ist aus einer eingeschränkten Gerichtsbarkeit nicht möglich. Wenn Sie weitere Probleme haben, wenden Sie sich bitte an den Support.",
143
+ "configError": "Beim Abrufen der Konfiguration ist ein unerwarteter Fehler aufgetreten"
136
144
  },
137
145
  "pt-br": {
138
- "invalidField": "Este campo é inválido",
146
+ "invalidField": "Desculpe, esse nome de usuário/endereço de e-mail e/ou senha não foram reconhecidos.",
139
147
  "forgotPassword": "Esqueceu a senha",
140
148
  "userEmail": "Nome de usuário ou e-mail",
141
149
  "userPhone": "Número de telefone",
@@ -148,10 +156,11 @@ const TRANSLATIONS = {
148
156
  "GmErr_USER_ACCOUNT_BLOCKED": "Você não pode fazer login na sua conta no momento - entre em contato com o Atendimento ao Cliente para mais informações.",
149
157
  "setUpPassowrd": "Você precisa redefinir sua senha",
150
158
  "Unauthorized": "O número da conta de jogador, o endereço de e-mail ou a senha estão incorretos",
151
- "CountryRestricted": "O registro não é possível a partir de uma jurisdição restrita. Caso encontre outros problemas, entre em contato com o suporte."
159
+ "CountryRestricted": "O registro não é possível a partir de uma jurisdição restrita. Caso encontre outros problemas, entre em contato com o suporte.",
160
+ "configError": "Ocorreu um erro inesperado ao buscar a configuração"
152
161
  },
153
162
  "es-mx": {
154
- "invalidField": "Este campo es inválido",
163
+ "invalidField": "Lo siento, ese nombre de usuario/dirección de correo electrónico y/o contraseña no ha sido reconocido.",
155
164
  "forgotPassword": "Olvidé la contraseña",
156
165
  "userEmail": "Nombre de usuario o correo electrónico",
157
166
  "userPhone": "Número de teléfono",
@@ -164,10 +173,11 @@ const TRANSLATIONS = {
164
173
  "GmErr_USER_ACCOUNT_BLOCKED": "Actualmente no puede iniciar sesión en su cuenta - comuníquese con el Servicio al Cliente para obtener más información.",
165
174
  "setUpPassowrd": "Necesitas restablecer tu contraseña",
166
175
  "Unauthorized": "El número de cuenta de jugador, la dirección de correo electrónico o la contraseña son incorrectos",
167
- "CountryRestricted": "El registro no es posible desde una jurisdicción restringida. Si encuentra más problemas, por favor contacte al soporte."
176
+ "CountryRestricted": "El registro no es posible desde una jurisdicción restringida. Si encuentra más problemas, por favor contacte al soporte.",
177
+ "configError": "Se ha producido un error inesperado al obtener la configuración"
168
178
  },
169
179
  "es": {
170
- "invalidField": "Este campo no es válido",
180
+ "invalidField": "Lo siento, ese nombre de usuario/dirección de correo electrónico y/o contraseña no ha sido reconocido.",
171
181
  "forgotPassword": "Olvidé mi contraseña",
172
182
  "userEmail": "Nombre de usuario o correo electrónico",
173
183
  "userPhone": "Número de teléfono",
@@ -180,10 +190,11 @@ const TRANSLATIONS = {
180
190
  "GmErr_USER_ACCOUNT_BLOCKED": "Actualmente no puede iniciar sesión en su cuenta - comuníquese con el Servicio al Cliente para obtener más información.",
181
191
  "setUpPassowrd": "Necesitas restablecer tu contraseña",
182
192
  "Unauthorized": "El número de cuenta, correo electrónico o contraseña es incorrecto",
183
- "CountryRestricted": "No es posible registrarse desde una jurisdicción restringida. Si encuentra más problemas, comuníquese con el soporte."
193
+ "CountryRestricted": "No es posible registrarse desde una jurisdicción restringida. Si encuentra más problemas, comuníquese con el soporte.",
194
+ "configError": "Se ha producido un error inesperado al obtener la configuración"
184
195
  },
185
196
  "pt": {
186
- "invalidField": "Este campo é inválido",
197
+ "invalidField": "Desculpe, esse nome de usuário/endereço de e-mail e/ou senha não foram reconhecidos.",
187
198
  "forgotPassword": "Esqueceu a senha",
188
199
  "userEmail": "Nome de usuário ou email",
189
200
  "userPhone": "Número de telefone",
@@ -196,7 +207,8 @@ const TRANSLATIONS = {
196
207
  "GmErr_USER_ACCOUNT_BLOCKED": "Você não pode fazer login na sua conta no momento - entre em contato com o Atendimento ao Cliente para mais informações.",
197
208
  "setUpPassowrd": "Você precisa redefinir a sua senha",
198
209
  "Unauthorized": "O número da conta, e-mail ou senha está incorreto",
199
- "CountryRestricted": "Não é possível se registrar de uma jurisdição restrita. Se encontrar mais problemas, entre em contato com o suporte."
210
+ "CountryRestricted": "Não é possível se registrar de uma jurisdição restrita. Se encontrar mais problemas, entre em contato com o suporte.",
211
+ "configError": "Ocorreu um erro inesperado ao procurar a configuração"
200
212
  }
201
213
  };
202
214
  const getTranslations = (url) => {
@@ -21905,6 +21917,9 @@ const UserLogin = class {
21905
21917
  contact: this.userNameEmail,
21906
21918
  password: this.userPassword
21907
21919
  };
21920
+ if (this.captchaData.isEnabled) {
21921
+ headers['X-Captcha-Response'] = this.captchaData.token;
21922
+ }
21908
21923
  const options = {
21909
21924
  method: 'POST',
21910
21925
  headers,
@@ -21956,10 +21971,12 @@ const UserLogin = class {
21956
21971
  if (sessionId) {
21957
21972
  this.isLoginLoading = false;
21958
21973
  window.postMessage({ type: 'UserSessionID', session: sessionId, userid: playerId }, window.location.href);
21959
- window.postMessage({ type: 'WidgetNotification', data: {
21974
+ window.postMessage({
21975
+ type: 'WidgetNotification', data: {
21960
21976
  type: 'success',
21961
21977
  message: translate$1('successMessage', this.lang)
21962
- } }, window.location.href);
21978
+ }
21979
+ }, window.location.href);
21963
21980
  this.hasError = false;
21964
21981
  }
21965
21982
  }
@@ -22010,10 +22027,12 @@ const UserLogin = class {
22010
22027
  }
22011
22028
  if (data.sessionId) {
22012
22029
  window.postMessage({ type: 'UserSessionID', session: data.sessionId, userid: data.userId }, window.location.href);
22013
- window.postMessage({ type: 'WidgetNotification', data: {
22030
+ window.postMessage({
22031
+ type: 'WidgetNotification', data: {
22014
22032
  type: 'success',
22015
22033
  message: translate$1('successMessage', this.lang)
22016
- } }, window.location.href);
22034
+ }
22035
+ }, window.location.href);
22017
22036
  this.hasError = false;
22018
22037
  dispatchCustomEvent('logged_in', { userId: data.userId });
22019
22038
  }
@@ -22082,6 +22101,10 @@ const UserLogin = class {
22082
22101
  this.isValidPassword = this.validate('password', inputValue);
22083
22102
  break;
22084
22103
  }
22104
+ if (!this.isValidUserEmail || !this.isValidUserPhone || !this.isValidPassword) {
22105
+ this.hasError = true;
22106
+ this.errorMessage = translate$1('invalidField', this.lang);
22107
+ }
22085
22108
  };
22086
22109
  // this partially applies the location to avoid constructing an anonymous function in jsx, i.e. (e)=>handleInputChange(e,location), which would be needed for 2 args
22087
22110
  this.handleInputChangePartial = (location) => (e) => this.handleInputChange(e, location);
@@ -22143,6 +22166,12 @@ const UserLogin = class {
22143
22166
  this.hasError = false;
22144
22167
  this.userPrefixOptions = undefined;
22145
22168
  this.isLoginLoading = false;
22169
+ this.captchaData = {
22170
+ isEnabled: true,
22171
+ token: '',
22172
+ provider: '',
22173
+ siteKey: ''
22174
+ };
22146
22175
  this.mbSource = undefined;
22147
22176
  }
22148
22177
  /**
@@ -22184,6 +22213,14 @@ const UserLogin = class {
22184
22213
  if (this.translationUrl.length > 2) {
22185
22214
  await getTranslations(this.translationUrl);
22186
22215
  }
22216
+ this.getLoginConfig().then(() => {
22217
+ this.appendCaptchaScript();
22218
+ }).catch((error) => {
22219
+ console.error(error);
22220
+ this.hasError = true;
22221
+ this.errorMessage = translate$1('configError', this.lang);
22222
+ this.sendErrorNotification(this.errorMessage);
22223
+ });
22187
22224
  }
22188
22225
  /**
22189
22226
  * Lifecycle method: Set up event listeners after the component is rendered
@@ -22203,6 +22240,92 @@ const UserLogin = class {
22203
22240
  window.addEventListener('LoginCredentials', this.autofillCredentialsHandler);
22204
22241
  window.postMessage({ type: 'UserLoginDidLoad' });
22205
22242
  }
22243
+ /**
22244
+ * Fetches the login configuration from the backend API.
22245
+ *
22246
+ * @returns A Promise that resolves once the configuration is fetched and set.
22247
+ */
22248
+ getLoginConfig() {
22249
+ const url = new URL('/api/v1/players/password-management/auth/password/config', this.endpoint);
22250
+ return new Promise((resolve, reject) => {
22251
+ fetch(url.href)
22252
+ .then((res) => {
22253
+ if (!res.ok) {
22254
+ throw new Error(`HTTP error! Status: ${res.status}`);
22255
+ }
22256
+ return res.json();
22257
+ })
22258
+ .then((res) => {
22259
+ const { captcha } = res;
22260
+ if (captcha && typeof captcha.provider === 'string') {
22261
+ captcha.provider = captcha.provider.toLowerCase();
22262
+ }
22263
+ this.captchaData = Object.assign({}, captcha);
22264
+ resolve();
22265
+ })
22266
+ .catch((error) => {
22267
+ console.error('Error fetching login configuration:', error);
22268
+ reject(error);
22269
+ });
22270
+ });
22271
+ }
22272
+ /**
22273
+ * Handles the integration of CAPTCHA based on the login configuration.
22274
+ * Dynamically injects the necessary CAPTCHA script if enabled.
22275
+ */
22276
+ handleCaptcha() {
22277
+ const { isEnabled, provider, siteKey } = this.captchaData;
22278
+ if (!isEnabled) {
22279
+ return;
22280
+ }
22281
+ if (!['cloudflare', 'google'].includes(provider)) {
22282
+ return;
22283
+ }
22284
+ if (provider === 'cloudflare') {
22285
+ window.turnstile.render('#turnstileContainer', {
22286
+ sitekey: siteKey,
22287
+ theme: 'light',
22288
+ callback: this.captchaCallback.bind(this),
22289
+ });
22290
+ }
22291
+ else if (provider === 'google') {
22292
+ window.grecaptcha.ready(() => {
22293
+ window.grecaptcha.render('googleContainer', {
22294
+ sitekey: siteKey,
22295
+ callback: this.captchaCallback.bind(this),
22296
+ theme: 'light'
22297
+ });
22298
+ });
22299
+ }
22300
+ }
22301
+ /**
22302
+ * Common callback function for CAPTCHA response handling.
22303
+ * @param token CAPTCHA response token.
22304
+ */
22305
+ captchaCallback(token) {
22306
+ this.captchaData.token = token;
22307
+ this.captchaData = Object.assign({}, this.captchaData); // Needed to tell Stencil something was changed
22308
+ }
22309
+ /**
22310
+ * Dynamically loads the Turnstile script and renders CAPTCHA when ready.
22311
+ * @param src - The URL of the CAPTCHA script to load.
22312
+ * @param captcha - The CAPTCHA configuration.
22313
+ */
22314
+ appendCaptchaScript() {
22315
+ const { isEnabled, provider } = this.captchaData;
22316
+ if (!isEnabled) {
22317
+ return;
22318
+ }
22319
+ const script = document.createElement('script');
22320
+ if (provider === 'cloudflare') {
22321
+ script.src = 'https://challenges.cloudflare.com/turnstile/v0/api.js';
22322
+ }
22323
+ else if (provider === 'google') {
22324
+ script.src = 'https://www.google.com/recaptcha/api.js';
22325
+ }
22326
+ script.onload = this.handleCaptcha.bind(this);
22327
+ document.head.appendChild(script);
22328
+ }
22206
22329
  /**
22207
22330
  * Lifecycle method: Clean up event listeners when the component is removed
22208
22331
  */
@@ -22215,10 +22338,12 @@ const UserLogin = class {
22215
22338
  */
22216
22339
  sendErrorNotification(errorMessage) {
22217
22340
  window.postMessage({ type: "HasError", error: errorMessage }, window.location.href);
22218
- window.postMessage({ type: 'WidgetNotification', data: {
22341
+ window.postMessage({
22342
+ type: 'WidgetNotification', data: {
22219
22343
  type: 'error',
22220
22344
  message: errorMessage
22221
- } }, window.location.href);
22345
+ }
22346
+ }, window.location.href);
22222
22347
  }
22223
22348
  /**
22224
22349
  * Debounce function to limit API calls
@@ -22252,20 +22377,19 @@ const UserLogin = class {
22252
22377
  * Render function
22253
22378
  */
22254
22379
  render() {
22255
- let visibilityIcon = index.h("span", { key: '5247ba1aa9f8208dcf3bd594bdadbafc872203e7', class: "InputIcon" }, this.isPasswordVisible &&
22256
- index.h("svg", { key: 'bba821c08ba3bf7def52d82534b3f3d35ce82043', onClick: () => this.togglePassword(), class: "TogglePasswordVisibility", part: "TogglePasswordVisibility", xmlns: "http://www.w3.org/2000/svg", width: "18.844", height: "12.887", viewBox: "0 0 18.844 12.887" }, index.h("g", { key: '85a74668809bd002bdc50c317d2cba4957e6d86b', transform: "translate(-110.856 -23.242)" }, index.h("circle", { key: 'd74bd44ed1a2da0f34a0c0dad38a8f5b47ca66ca', class: "PasswordVisibilityIcon", cx: "0.05", cy: "0.05", r: "0.05", transform: "translate(121.017 31.148)" }), index.h("g", { key: '99a13eae7b1dbbb4ff1c529eb61f478f9707121b', transform: "translate(117.499 27.37)" }, index.h("path", { key: 'cb210c909fb66a52d4e61d2e94cb7a41420b08b1', class: "PasswordVisibilityIcon", d: "M147.413,43.174a2.774,2.774,0,0,0-3.229-3.943Z", transform: "translate(-142.164 -39.123)" }), index.h("path", { key: '992a1e8fe902029233261a388956c304a702c24a', class: "PasswordVisibilityIcon", d: "M137.031,43.1a2.778,2.778,0,0,0,3.447,4.209Z", transform: "translate(-136.413 -42.068)" })), index.h("g", { key: '55c770518f9c9bd6edc0a7aa6d61f2ebfecf7fb3', transform: "translate(110.856 24.899)" }, index.h("path", { key: '632faef68fb66274f1562703c72fb3b7e33ed2d4', class: "PasswordVisibilityIcon", d: "M122.538,42.061a7.043,7.043,0,0,1-2.325.53,10.373,10.373,0,0,1-4.393-1.482,36.509,36.509,0,0,1-3.873-2.391.13.13,0,0,1,0-.208,44.141,44.141,0,0,1,3.873-2.651c.394-.233.768-.437,1.13-.622l-.686-.838c-.322.167-.651.347-.99.55a37.989,37.989,0,0,0-3.977,2.729,1.21,1.21,0,0,0-.442.962,1.1,1.1,0,0,0,.494.936,34.416,34.416,0,0,0,3.977,2.469,11.468,11.468,0,0,0,4.886,1.611,8.427,8.427,0,0,0,3.039-.725Z", transform: "translate(-110.856 -33.157)" }), index.h("path", { key: '06b43037bd6e527436b0bdebef02e8021072ee3b', class: "PasswordVisibilityIcon", d: "M149.119,34.14a45.875,45.875,0,0,0-4.055-2.729,20.541,20.541,0,0,0-2.547-1.248,5.6,5.6,0,0,0-4.79-.017l.7.856a5.254,5.254,0,0,1,1.672-.346,10.072,10.072,0,0,1,4.445,1.663,34.132,34.132,0,0,1,3.925,2.651.13.13,0,0,1,0,.208,40.2,40.2,0,0,1-3.925,2.391c-.179.092-.352.176-.525.26l.684.835c.1-.054.2-.1.309-.159a36.356,36.356,0,0,0,4.055-2.469,1.067,1.067,0,0,0,.52-.936A1.159,1.159,0,0,0,149.119,34.14Z", transform: "translate(-130.743 -29.617)" })), index.h("rect", { key: '3cb2410ff11f0218df6f62b53f71ab91473b230e', class: "PasswordVisibilityIcon", width: "0.972", height: "15.861", rx: "0.486", transform: "translate(114.827 23.858) rotate(-39.315)" }))), !this.isPasswordVisible &&
22257
- index.h("svg", { key: '8f302630f4f4f5bafe986600bafa42b7b2136cd4', onClick: () => this.togglePassword(), class: "TogglePasswordVisibility PasswordVisible", part: "TogglePasswordVisibility", xmlns: "http://www.w3.org/2000/svg", width: "18.843", height: "10.5", viewBox: "0 0 18.843 10.5" }, index.h("g", { key: '5163e48b86eda60be27eb9b0485253886af967e3', transform: "translate(-14.185 -27.832)" }, index.h("path", { key: '1cf091c89a8da407adfb410f019602b780b01d0b', class: "PasswordVisibilityIcon", d: "M23.541,38.332a11.467,11.467,0,0,1-4.886-1.611,34.413,34.413,0,0,1-3.976-2.469,1.1,1.1,0,0,1-.494-.936,1.21,1.21,0,0,1,.442-.962A37.986,37.986,0,0,1,18.6,29.625a16.06,16.06,0,0,1,2.521-1.248,6.862,6.862,0,0,1,2.417-.546,6.862,6.862,0,0,1,2.417.546,20.541,20.541,0,0,1,2.547,1.248,45.872,45.872,0,0,1,4.054,2.729,1.159,1.159,0,0,1,.468.962,1.067,1.067,0,0,1-.52.936,36.353,36.353,0,0,1-4.054,2.469A11.2,11.2,0,0,1,23.541,38.332Zm0-9.46a9.813,9.813,0,0,0-4.392,1.663,44.138,44.138,0,0,0-3.873,2.651.13.13,0,0,0,0,.208,36.5,36.5,0,0,0,3.873,2.391,10.372,10.372,0,0,0,4.392,1.481,11.051,11.051,0,0,0,4.444-1.481,40.2,40.2,0,0,0,3.925-2.391.13.13,0,0,0,0-.208h0a34.132,34.132,0,0,0-3.925-2.651A10.072,10.072,0,0,0,23.541,28.872Z", transform: "translate(0)" }), index.h("circle", { key: 'cff32985dd5e49e93e7b101a0a5205494708b87b', class: "PasswordVisibilityIcon", cx: "2.779", cy: "2.779", r: "2.779", transform: "translate(20.827 30.303)" }))));
22258
- let userIdentification = index.h("div", { key: 'd11df3b91d2b5176ce2742130851bcecf53ca340', class: "FormBox" }, index.h("div", { key: 'fcba164be90c9bcb6e809e65cec8182a0848e7b7', class: "FormValue" }, this.loginByPhoneNumber === 'true'
22259
- ? index.h("div", { class: (!this.isValidUserPhone || this.hasError) ? 'InputBox InputInvalidBox' : 'InputBox ' }, index.h("div", { class: "PhoneInputBox" }, index.h("div", { class: "PrefixBox" }, index.h("vaadin-combo-box", { items: this.userPrefixOptions, value: this.userPrefix, onChange: this.handleInputChangePartial('prefix') }), index.h("label", { class: (this.userPrefix ? 'FieldFilledIn' : '') + ' ' + (!this.isValidUserPhone || this.hasError ? 'FieldInvalid' : '') }, translate$1('userPrefix', this.lang))), index.h("div", { class: "PhoneBox" }, index.h("input", { type: "text", placeholder: '', value: this.userPhone, onFocus: this.handleInputChangePartial('phone'), onInput: this.handleInputChangePartial('phone'), autocapitalize: "none", required: true }), index.h("label", { class: (this.userPhone ? 'FieldFilledIn' : '') + ' ' + (!this.isValidUserPhone || this.hasError ? 'FieldInvalid' : '') }, translate$1('userPhone', this.lang)))), !this.isValidUserPhone &&
22260
- index.h("p", { class: "InvalidField" }, translate$1('invalidField', this.lang)))
22261
- : index.h("div", { class: (!this.isValidUserEmail || this.hasError) ? 'InputBox InputInvalidBox' : 'InputBox' }, index.h("input", { type: "text", placeholder: '', value: this.userNameEmail, onFocus: this.handleInputChangePartial('user'), onInput: this.handleInputChangePartial('user'), autocapitalize: "none", required: true }), index.h("label", { class: (this.userNameEmail ? 'FieldFilledIn' : '') + ' ' + (!this.isValidUserEmail || this.hasError ? 'FieldInvalid' : '') }, translate$1('userEmail', this.lang)), !this.isValidUserEmail &&
22262
- index.h("p", { class: "InvalidField" }, translate$1('invalidField', this.lang))), index.h("div", { key: '4d5ed09db6a553c694cea9d2487301156a5f602d', class: (!this.isValidPassword || this.hasError) ? 'InputBox InputInvalidBox' : 'InputBox' }, visibilityIcon, index.h("input", { key: 'c298e5d19bdd55f180397d0d943a171cb3b84d6a', type: this.isPasswordVisible ? "text" : "password", placeholder: '', value: this.userPassword, onFocus: this.handleInputChangePartial('password'), onInput: this.handleInputChangePartial('password'), autocapitalize: "none", required: true }), index.h("label", { key: '6de9548545e57214f937129c34b6c8fc3cb56e67', class: (this.userPassword ? 'FieldFilledIn' : '') + ' ' + (!this.isValidPassword || this.hasError ? 'FieldInvalid' : '') }, translate$1('password', this.lang)), !this.isValidPassword &&
22263
- index.h("p", { key: 'd140446490ce18962d67e068b3c6f021453ec0f3', class: "InvalidField" }, translate$1('invalidField', this.lang))), this.passwordReset == 'true' &&
22264
- index.h("div", { key: '894ff57a5c2eb6561ecd4b5e1b507c605001ca92', class: "ForgotPassword" }, index.h("button", { key: '77e12a76aa3a9ce581f06405bd2b07e80787ac09', onClick: this.resetPassword }, translate$1('forgotPassword', this.lang))), index.h("button", { key: 'a0b0f632c1950f6544230842d71605ac594f7cea', disabled: ((this.loginByPhoneNumber !== 'true' && (!this.isValidUserEmail || !this.userNameEmail)) ||
22380
+ let visibilityIcon = index.h("span", { key: '1192a2390f0b5ea646c8e96a7a3f17e18b16a306', class: "InputIcon" }, this.isPasswordVisible &&
22381
+ index.h("svg", { key: '13fcccd4457633040b0bf29fed962961df64176c', onClick: () => this.togglePassword(), class: "TogglePasswordVisibility", part: "TogglePasswordVisibility", xmlns: "http://www.w3.org/2000/svg", width: "18.844", height: "12.887", viewBox: "0 0 18.844 12.887" }, index.h("g", { key: '19762a0b0287c8e2a51a3b3bba7cecb353a4f379', transform: "translate(-110.856 -23.242)" }, index.h("circle", { key: '4f46b166744078ea7f8b0f13e26b359ebb8f03da', class: "PasswordVisibilityIcon", cx: "0.05", cy: "0.05", r: "0.05", transform: "translate(121.017 31.148)" }), index.h("g", { key: '7a82fe4e4f4ed670f8d83c8b774bda62673c548a', transform: "translate(117.499 27.37)" }, index.h("path", { key: '0454916b36c2a2994fa6e7ccf2feac38861d283d', class: "PasswordVisibilityIcon", d: "M147.413,43.174a2.774,2.774,0,0,0-3.229-3.943Z", transform: "translate(-142.164 -39.123)" }), index.h("path", { key: '3d166e1f5b399ea5f9013fdaa24bf64b68f531b5', class: "PasswordVisibilityIcon", d: "M137.031,43.1a2.778,2.778,0,0,0,3.447,4.209Z", transform: "translate(-136.413 -42.068)" })), index.h("g", { key: '8c5e38f057b58a3afcb8a5cc6a44bb852cfa7204', transform: "translate(110.856 24.899)" }, index.h("path", { key: '72910c3a6ba83dac758dfa7aa36721364ebf8a6d', class: "PasswordVisibilityIcon", d: "M122.538,42.061a7.043,7.043,0,0,1-2.325.53,10.373,10.373,0,0,1-4.393-1.482,36.509,36.509,0,0,1-3.873-2.391.13.13,0,0,1,0-.208,44.141,44.141,0,0,1,3.873-2.651c.394-.233.768-.437,1.13-.622l-.686-.838c-.322.167-.651.347-.99.55a37.989,37.989,0,0,0-3.977,2.729,1.21,1.21,0,0,0-.442.962,1.1,1.1,0,0,0,.494.936,34.416,34.416,0,0,0,3.977,2.469,11.468,11.468,0,0,0,4.886,1.611,8.427,8.427,0,0,0,3.039-.725Z", transform: "translate(-110.856 -33.157)" }), index.h("path", { key: 'd795428138b8ed6cf47ff846dcc69f3940892776', class: "PasswordVisibilityIcon", d: "M149.119,34.14a45.875,45.875,0,0,0-4.055-2.729,20.541,20.541,0,0,0-2.547-1.248,5.6,5.6,0,0,0-4.79-.017l.7.856a5.254,5.254,0,0,1,1.672-.346,10.072,10.072,0,0,1,4.445,1.663,34.132,34.132,0,0,1,3.925,2.651.13.13,0,0,1,0,.208,40.2,40.2,0,0,1-3.925,2.391c-.179.092-.352.176-.525.26l.684.835c.1-.054.2-.1.309-.159a36.356,36.356,0,0,0,4.055-2.469,1.067,1.067,0,0,0,.52-.936A1.159,1.159,0,0,0,149.119,34.14Z", transform: "translate(-130.743 -29.617)" })), index.h("rect", { key: 'ca376eb5a1a7300b5893936ad987808576933081', class: "PasswordVisibilityIcon", width: "0.972", height: "15.861", rx: "0.486", transform: "translate(114.827 23.858) rotate(-39.315)" }))), !this.isPasswordVisible &&
22382
+ index.h("svg", { key: 'd69b7a469e213542bc6deb56156cfa86febbe8ac', onClick: () => this.togglePassword(), class: "TogglePasswordVisibility PasswordVisible", part: "TogglePasswordVisibility", xmlns: "http://www.w3.org/2000/svg", width: "18.843", height: "10.5", viewBox: "0 0 18.843 10.5" }, index.h("g", { key: 'd45723a6916ece014694c1ea1fa171ebc905d21f', transform: "translate(-14.185 -27.832)" }, index.h("path", { key: 'd19d2b273a2c9366d6039ad87b1a1df203a49d2e', class: "PasswordVisibilityIcon", d: "M23.541,38.332a11.467,11.467,0,0,1-4.886-1.611,34.413,34.413,0,0,1-3.976-2.469,1.1,1.1,0,0,1-.494-.936,1.21,1.21,0,0,1,.442-.962A37.986,37.986,0,0,1,18.6,29.625a16.06,16.06,0,0,1,2.521-1.248,6.862,6.862,0,0,1,2.417-.546,6.862,6.862,0,0,1,2.417.546,20.541,20.541,0,0,1,2.547,1.248,45.872,45.872,0,0,1,4.054,2.729,1.159,1.159,0,0,1,.468.962,1.067,1.067,0,0,1-.52.936,36.353,36.353,0,0,1-4.054,2.469A11.2,11.2,0,0,1,23.541,38.332Zm0-9.46a9.813,9.813,0,0,0-4.392,1.663,44.138,44.138,0,0,0-3.873,2.651.13.13,0,0,0,0,.208,36.5,36.5,0,0,0,3.873,2.391,10.372,10.372,0,0,0,4.392,1.481,11.051,11.051,0,0,0,4.444-1.481,40.2,40.2,0,0,0,3.925-2.391.13.13,0,0,0,0-.208h0a34.132,34.132,0,0,0-3.925-2.651A10.072,10.072,0,0,0,23.541,28.872Z", transform: "translate(0)" }), index.h("circle", { key: '3127ecec570ef7f567ecb5f3362d65986669de0e', class: "PasswordVisibilityIcon", cx: "2.779", cy: "2.779", r: "2.779", transform: "translate(20.827 30.303)" }))));
22383
+ let userIdentification = index.h("div", { key: '69731dda5bf4fd23c0f143de9a662bd12388cc73', class: "FormBox" }, index.h("div", { key: '5b0ca2d058095a6abfdcf3c5feeb9b2e0a7e894c', class: "FormValue" }, this.loginByPhoneNumber === 'true'
22384
+ ? index.h("div", { class: (!this.isValidUserPhone || this.hasError) ? 'InputBox InputInvalidBox' : 'InputBox ' }, index.h("div", { class: "PhoneInputBox" }, index.h("div", { class: "PrefixBox" }, index.h("vaadin-combo-box", { items: this.userPrefixOptions, value: this.userPrefix, onChange: this.handleInputChangePartial('prefix') }), index.h("label", { class: (this.userPrefix ? 'FieldFilledIn' : '') + ' ' + (!this.isValidUserPhone || this.hasError ? 'FieldInvalid' : '') }, translate$1('userPrefix', this.lang))), index.h("div", { class: "PhoneBox" }, index.h("input", { type: "text", placeholder: '', value: this.userPhone, onFocus: this.handleInputChangePartial('phone'), onInput: this.handleInputChangePartial('phone'), autocapitalize: "none", required: true }), index.h("label", { class: (this.userPhone ? 'FieldFilledIn' : '') + ' ' + (!this.isValidUserPhone || this.hasError ? 'FieldInvalid' : '') }, translate$1('userPhone', this.lang)))))
22385
+ : index.h("div", { class: (!this.isValidUserEmail || this.hasError) ? 'InputBox InputInvalidBox' : 'InputBox' }, index.h("input", { type: "text", placeholder: '', value: this.userNameEmail, onInput: this.handleInputChangePartial('user'), autocapitalize: "none", required: true }), index.h("label", { class: (this.userNameEmail ? 'FieldFilledIn' : '') + ' ' + (!this.isValidUserEmail || this.hasError ? 'FieldInvalid' : '') }, translate$1('userEmail', this.lang))), index.h("div", { key: '20c86c0ca9a72f7d50453b297d976c84149011fa', class: (!this.isValidPassword || this.hasError) ? 'InputBox InputInvalidBox' : 'InputBox' }, visibilityIcon, index.h("input", { key: '825f782812500632eab0082b2e6309442372d3b8', type: this.isPasswordVisible ? "text" : "password", placeholder: '', value: this.userPassword, onInput: this.handleInputChangePartial('password'), autocapitalize: "none", required: true }), index.h("label", { key: 'f3f1e9a14433a5002d51444f3f5de4c680633950', class: (this.userPassword ? 'FieldFilledIn' : '') + ' ' + (!this.isValidPassword || this.hasError ? 'FieldInvalid' : '') }, translate$1('password', this.lang))), this.passwordReset == 'true' &&
22386
+ index.h("div", { key: 'e59b1fc8dde8d6ef5758404fd544ef914b9b0807', class: "ForgotPassword" }, index.h("button", { key: 'b147c546b39422d3eb8461229696333e9283ee03', onClick: this.resetPassword }, translate$1('forgotPassword', this.lang))), this.captchaData.isEnabled && this.captchaData.provider === 'cloudflare' &&
22387
+ index.h("slot", { key: '30bb77473faed7c143719196599782ab4625314c', name: "turnstile" }), this.captchaData.isEnabled && this.captchaData.provider === 'google' &&
22388
+ index.h("slot", { key: '3c67a39492482cf483dbc7306e9f93c74c847e73', name: "google" }), index.h("button", { key: '27b2016e65c4d910d297b0ebd014553258046a93', disabled: ((this.loginByPhoneNumber !== 'true' && (!this.isValidUserEmail || !this.userNameEmail)) ||
22265
22389
  (this.loginByPhoneNumber === 'true' && (!this.isValidUserPhone || !this.userPhone || !this.userPrefix)) ||
22266
- !this.userPassword || !this.isValidPassword) || this.isLoginLoading, class: "SubmitCredentials", onClick: this.handleLogin }, translate$1('login', this.lang)), this.hasError &&
22267
- index.h("p", { key: '00e5641d2db355dab4b7b544249482dd4bbdd31a', class: "CredentialsError" }, this.errorMessage)));
22268
- return index.h("section", { key: '12256f6bbbaf7ddbfe19483463dc85a521c25e9f', ref: el => this.stylingContainer = el }, userIdentification);
22390
+ !this.userPassword || !this.isValidPassword) || this.isLoginLoading || (this.captchaData.isEnabled && !this.captchaData.token), class: "SubmitCredentials", onClick: this.handleLogin }, translate$1('login', this.lang)), this.hasError &&
22391
+ index.h("p", { key: '33d142c5a20d8c3003b51c4ecad256215314c2b3', class: "CredentialsError" }, this.errorMessage)));
22392
+ return index.h("section", { key: '02a36db14f738bd0f84dc0267aea6bff4fd331d8', ref: el => this.stylingContainer = el }, userIdentification);
22269
22393
  }
22270
22394
  static get watchers() { return {
22271
22395
  "translationUrl": ["handleNewTranslations"],
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-2eb404c0.js');
5
+ const index = require('./index-430b4c77.js');
6
6
  const appGlobals = require('./app-globals-3a1e7e63.js');
7
7
 
8
8
  /*
@@ -19,7 +19,7 @@ var patchBrowser = () => {
19
19
 
20
20
  patchBrowser().then(async (options) => {
21
21
  await appGlobals.globalScripts();
22
- return index.bootstrapLazy([["user-login.cjs",[[1,"user-login",{"endpoint":[513],"lang":[1537],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"translationUrl":[513,"translation-url"],"passwordReset":[513,"password-reset"],"userEmailRegex":[513,"user-email-regex"],"userEmailRegexOptions":[513,"user-email-regex-options"],"userPhoneRegex":[513,"user-phone-regex"],"userPhoneRegexOptions":[513,"user-phone-regex-options"],"passwordRegex":[513,"password-regex"],"passwordRegexOptions":[513,"password-regex-options"],"version":[513],"loginByPhoneNumber":[513,"login-by-phone-number"],"mbSource":[513,"mb-source"],"userNameEmail":[32],"userPassword":[32],"isValidUserEmail":[32],"userPhone":[32],"userPrefix":[32],"isValidPassword":[32],"isValidUserPhone":[32],"isPasswordVisible":[32],"errorMessage":[32],"hasError":[32],"userPrefixOptions":[32],"isLoginLoading":[32]},null,{"translationUrl":["handleNewTranslations"],"clientStyling":["handleClientStylingChange"],"clientStylingUrl":["handleClientStylingUrlChange"]}]]]], options);
22
+ return index.bootstrapLazy([["user-login.cjs",[[1,"user-login",{"endpoint":[513],"lang":[1537],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"translationUrl":[513,"translation-url"],"passwordReset":[513,"password-reset"],"userEmailRegex":[513,"user-email-regex"],"userEmailRegexOptions":[513,"user-email-regex-options"],"userPhoneRegex":[513,"user-phone-regex"],"userPhoneRegexOptions":[513,"user-phone-regex-options"],"passwordRegex":[513,"password-regex"],"passwordRegexOptions":[513,"password-regex-options"],"version":[513],"loginByPhoneNumber":[513,"login-by-phone-number"],"mbSource":[513,"mb-source"],"userNameEmail":[32],"userPassword":[32],"isValidUserEmail":[32],"userPhone":[32],"userPrefix":[32],"isValidPassword":[32],"isValidUserPhone":[32],"isPasswordVisible":[32],"errorMessage":[32],"hasError":[32],"userPrefixOptions":[32],"isLoginLoading":[32],"captchaData":[32]},null,{"translationUrl":["handleNewTranslations"],"clientStyling":["handleClientStylingChange"],"clientStylingUrl":["handleClientStylingUrlChange"]}]]]], options);
23
23
  });
24
24
 
25
25
  exports.setNonce = index.setNonce;