@everymatrix/pam-forgot-password 1.88.11 → 1.88.13

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.
@@ -13,6 +13,7 @@ const TRANSLATIONS = {
13
13
  "dateFormatError": "The selected date has a different format then the one required.",
14
14
  "numberLengthError": "The number should be between {min} and {max}",
15
15
  "lengthError": "The length should be between {minLength} and {maxLength}",
16
+ "fixedLengthError": "The length should be {length} characters",
16
17
  "requiredError": "This input is required.",
17
18
  "invalidOriginalPasswordError": "Initial password field does not validate all criteria.",
18
19
  "invalidPassword": "Password does not meet all criteria",
@@ -39,7 +40,8 @@ const TRANSLATIONS = {
39
40
  "SAIdLengthError": "SA ID must be 13 digits",
40
41
  "SAIdInvalidError": "Invalid SA ID",
41
42
  "PassportLengthError": "Passport number must be 8 or 9 digits.",
42
- "PasswordMustContain": "Password must contain:"
43
+ "PasswordMustContain": "Password must contain:",
44
+ "AlphanumericalOnly": "Only alphanumerical characters are allowed"
43
45
  },
44
46
  "hu": {
45
47
  "dateError": "A választott dátumnak {min} és {max} között kell lennie",
@@ -47,6 +49,7 @@ const TRANSLATIONS = {
47
49
  "dateFormatError": "A kiválasztott dátum formátuma eltér a szükségestől.",
48
50
  "numberLengthError": "A számnak {min} és {max} között kell lennie",
49
51
  "lengthError": "A hossznak {minLength} és {maxLength} között kell lennie",
52
+ "fixedLengthError": "A hossznak {length} karakternek kell lennie",
50
53
  "requiredError": "Ez a beviteli mező kötelező.",
51
54
  "invalidOriginalPasswordError": "Initial password field does not validate all criteria.",
52
55
  "invalidPassword": "A jelszó nem felel meg minden kritériumnak",
@@ -70,7 +73,8 @@ const TRANSLATIONS = {
70
73
  "PassportLengthError": "Az útlevélszámnak 9 számjegyűnek kell lennie",
71
74
  "SAIdLengthError": "A dél-afrikai személyi számnak 13 számjegyűnek kell lennie",
72
75
  "SAIdInvalidError": "Érvénytelen dél-afrikai személyi szám",
73
- "PasswordMustContain": "A jelszónak tartalmaznia kell:"
76
+ "PasswordMustContain": "A jelszónak tartalmaznia kell:",
77
+ "AlphanumericalOnly": "Csak alfanumerikus karakterek engedélyezettek"
74
78
  },
75
79
  "hr": {
76
80
  "dateError": "Odabrani datum treba biti između {min} i {max}",
@@ -78,6 +82,7 @@ const TRANSLATIONS = {
78
82
  "dateFormatError": "Odabrani datum je u drugačijem formatu od potrebnog.",
79
83
  "numberLengthError": "Broj bi trebao biti između {min} i {max}",
80
84
  "lengthError": "Duljina bi trebala biti između {minLength} i {maxLength}",
85
+ "fixedLengthError": "Duljina mora biti {length} znakova",
81
86
  "requiredError": "Ovaj unos je obavezan.",
82
87
  "invalidOriginalPasswordError": "Lozinke se ne podudaraju",
83
88
  "invalidPassword": "Lozinka ne zadovoljava sve kriterije",
@@ -101,7 +106,8 @@ const TRANSLATIONS = {
101
106
  "PassportLengthError": "Broj putovnice mora imati 9 znamenki",
102
107
  "SAIdLengthError": "Južnoafrički osobni broj mora imati 13 znamenki",
103
108
  "SAIdInvalidError": "Nevažeći južnoafrički osobni broj",
104
- "PasswordMustContain": "Lozinka mora sadržavati:"
109
+ "PasswordMustContain": "Lozinka mora sadržavati:",
110
+ "AlphanumericalOnly": "Dopušteni su samo alfanumerički znakovi"
105
111
  },
106
112
  "tr": {
107
113
  "dateError": "Seçilen tarih {min} ve {max} arasında olmalıdır",
@@ -109,6 +115,7 @@ const TRANSLATIONS = {
109
115
  "dateFormatError": "Seçilen tarihin formatı, gereken formattan farklı.",
110
116
  "numberLengthError": "Sayı {min} ve {max} arasında olmalıdır",
111
117
  "lengthError": "Uzunluk {minLength} ve {maxLength} arasında olmalıdır",
118
+ "fixedLengthError": "Uzunluk {length} karakter olmalıdır",
112
119
  "requiredError": "Bu alan zorunludur.",
113
120
  "invalidOriginalPasswordError": "İlk şifre alanı tüm kriterleri karşılamıyor.",
114
121
  "invalidPassword": "Şifre tüm kriterleri karşılamıyor",
@@ -132,7 +139,8 @@ const TRANSLATIONS = {
132
139
  "PassportLengthError": "Pasaport numarası 9 haneli olmalıdır",
133
140
  "SAIdLengthError": "Güney Afrika kimlik numarası 13 haneli olmalıdır",
134
141
  "SAIdInvalidError": "Geçersiz Güney Afrika kimlik numarası",
135
- "PasswordMustContain": "Şifre şunları içermelidir:"
142
+ "PasswordMustContain": "Şifre şunları içermelidir:",
143
+ "AlphanumericalOnly": "Yalnızca alfanümerik karakterlere izin verilir"
136
144
  },
137
145
  "pt-br": {
138
146
  "dateError": "A data selecionada deve estar entre {min} e {max}",
@@ -140,6 +148,7 @@ const TRANSLATIONS = {
140
148
  "dateFormatError": "A data selecionada está em um formato diferente do exigido.",
141
149
  "numberLengthError": "O número deve estar entre {min} e {max}",
142
150
  "lengthError": "O comprimento deve estar entre {minLength} e {maxLength}",
151
+ "fixedLengthError": "O comprimento deve ser de {length} caracteres",
143
152
  "requiredError": "Este campo é obrigatório",
144
153
  "invalidOriginalPasswordError": "O campo de senha inicial não faz parte dos critérios válidos",
145
154
  "invalidPassword": "A senha não atende a todos os critérios",
@@ -163,7 +172,43 @@ const TRANSLATIONS = {
163
172
  "PassportLengthError": "O número do passaporte deve ter 9 dígitos",
164
173
  "SAIdLengthError": "O número de identificação da África do Sul deve ter 13 dígitos",
165
174
  "SAIdInvalidError": "Número de identificação da África do Sul inválido",
166
- "PasswordMustContain": "A senha deve conter:"
175
+ "PasswordMustContain": "A senha deve conter:",
176
+ "AlphanumericalOnly": "Apenas caracteres alfanuméricos são permitidos"
177
+ },
178
+ "pt": {
179
+ "dateError": "A data selecionada deve estar entre {min} e {max}",
180
+ "dateError2": "A data selecionada não está dentro do intervalo aceite",
181
+ "dateFormatError": "A data selecionada tem um formato diferente do exigido.",
182
+ "numberLengthError": "O número deve estar entre {min} e {max}",
183
+ "lengthError": "O comprimento deve estar entre {minLength} e {maxLength}",
184
+ "requiredError": "Este campo é obrigatório.",
185
+ "invalidOriginalPasswordError": "O campo da palavra-passe inicial não cumpre todos os critérios.",
186
+ "invalidPassword": "A palavra-passe não cumpre todos os critérios",
187
+ "passwordStrength": "Força da palavra-passe",
188
+ "passwordStrengthWeak": "não é adequada",
189
+ "passwordStrengthStrong": "é adequada",
190
+ "SpecialCharactersNotAllowed": "Não deve conter caracteres especiais",
191
+ "InvalidEmailFormat": "Formato de email inválido.",
192
+ "EmailNotMatching": "Os emails não coincidem!",
193
+ "PasswordNotMatching": "As palavras-passe não coincidem",
194
+ "MustIncludeNumber": "A palavra-passe deve incluir um número",
195
+ "MustContainCapital": "A palavra-passe deve incluir uma letra maiúscula",
196
+ "MustIncludePunctation": "A palavra-passe deve incluir pontuação",
197
+ "MustIncludeLowercase": "A palavra-passe deve incluir um caractere minúsculo",
198
+ "OnlyNumbers": "O campo deve conter apenas dígitos.",
199
+ "InvalidFieldSize": "O comprimento deve ser exatamente 11 dígitos.",
200
+ "InvalidDocumentNumber": "Apenas caracteres numéricos são permitidos.",
201
+ "twofaDescription": "<p> Enviámos o código de verificação para <p> {destination}. </p> </p> <p> Por favor, introduza o PIN abaixo. </p>",
202
+ "twofaResendMessage": "Não recebeu o código de verificação?",
203
+ "twofaResendButton": "Reenviar",
204
+ "enterIEAddressManually": "Para IRE, introduza o endereço manualmente",
205
+ "postalLookUpNoAddressFound": "Não foram encontrados endereços para este código postal",
206
+ "searchingForAddresses": "A procurar endereços...",
207
+ "SAIdLengthError": "O ID da África do Sul deve ter 13 dígitos",
208
+ "SAIdInvalidError": "ID da África do Sul inválido",
209
+ "PassportLengthError": "O número de passaporte deve ter 8 ou 9 dígitos.",
210
+ "PasswordMustContain": "A palavra-passe deve conter:",
211
+ "AlphanumericalOnly": "Apenas caracteres alfanuméricos são permitidos"
167
212
  },
168
213
  "es-mx": {
169
214
  "dateError": "La fecha seleccionada debe ser entre {min} y {max}",
@@ -171,6 +216,7 @@ const TRANSLATIONS = {
171
216
  "dateFormatError": "La fecha seleccionada tiene un formato diferente al requerido.",
172
217
  "numberLengthError": "El número debe ser entre {min} y {max}",
173
218
  "lengthError": "La longitud deber ser entre {minLength} y {maxLength}",
219
+ "fixedLengthError": "La longitud debe ser de {length} caracteres",
174
220
  "requiredError": "Este campo es requerido",
175
221
  "invalidOriginalPasswordError": "El campo de contraseña inicial no es parte del criterio válido",
176
222
  "invalidPassword": "La contraseña no cumple con todos los criterios",
@@ -194,7 +240,8 @@ const TRANSLATIONS = {
194
240
  "PassportLengthError": "El número de pasaporte debe tener 9 dígitos",
195
241
  "SAIdLengthError": "El número de identificación de Sudáfrica debe tener 13 dígitos",
196
242
  "SAIdInvalidError": "Número de identificación de Sudáfrica inválido",
197
- "PasswordMustContain": "La contraseña debe contener:"
243
+ "PasswordMustContain": "La contraseña debe contener:",
244
+ "AlphanumericalOnly": "Solo se permiten caracteres alfanuméricos"
198
245
  },
199
246
  "fr": {
200
247
  "dateError": "La date sélectionnée doit être comprise entre {min} et {max}",
@@ -202,6 +249,7 @@ const TRANSLATIONS = {
202
249
  "dateFormatError": "Le format de la date sélectionnée est incorrect.",
203
250
  "numberLengthError": "Le nombre doit être compris entre {min} et {max}",
204
251
  "lengthError": "La longueur doit être comprise entre {minLength} et {maxLength}",
252
+ "fixedLengthError": "La longueur doit être de {length} caractères",
205
253
  "requiredError": "Ce champ est obligatoire.",
206
254
  "invalidOriginalPasswordError": "Le mot de passe initial ne respecte pas tous les critères.",
207
255
  "invalidPassword": "Le mot de passe ne respecte pas tous les critères",
@@ -228,7 +276,8 @@ const TRANSLATIONS = {
228
276
  "SAIdLengthError": "L’identifiant sud-africain doit comporter 13 chiffres",
229
277
  "SAIdInvalidError": "Identifiant sud-africain invalide",
230
278
  "PassportLengthError": "Le numéro de passeport doit comporter 8 ou 9 chiffres.",
231
- "PasswordMustContain": "Le mot de passe doit contenir :"
279
+ "PasswordMustContain": "Le mot de passe doit contenir :",
280
+ "AlphanumericalOnly": "Seuls les caractères alphanumériques sont autorisés"
232
281
  }
233
282
  };
234
283
  const CONSTANTS = {
@@ -252,6 +301,7 @@ const ERROR_KEYS = {
252
301
  SA_ID_INVALID: 'SAIdInvalidError',
253
302
  REQUIRED: 'requiredError',
254
303
  LENGTH: 'lengthError',
304
+ FIXED_LENGTH: 'fixedLengthError',
255
305
  DUPLICATE: 'duplicateInputError',
256
306
  };
257
307
  const STATUS_ICONS = {
@@ -260,7 +310,7 @@ const STATUS_ICONS = {
260
310
  };
261
311
  const translate = (key, customLang, values) => {
262
312
  const lang = customLang;
263
- let translation = TRANSLATIONS[lang !== undefined ? lang : DEFAULT_LANGUAGE][key];
313
+ let translation = TRANSLATIONS[lang] ? TRANSLATIONS[lang][key] : TRANSLATIONS[DEFAULT_LANGUAGE][key];
264
314
  if (values !== undefined) {
265
315
  for (const [key, value] of Object.entries(values.values)) {
266
316
  const regex = new RegExp(`{${key}}`, 'g');
@@ -276,8 +326,10 @@ const getTranslations = (url) => {
276
326
  .then((res) => res.json())
277
327
  .then((data) => {
278
328
  Object.keys(data).forEach((item) => {
329
+ TRANSLATIONS[item] = TRANSLATIONS[item] || {};
279
330
  for (let key in data[item]) {
280
331
  if (typeof data[item][key] === 'string') {
332
+ TRANSLATIONS[item] = TRANSLATIONS[item] || {};
281
333
  TRANSLATIONS[item][key] = data[item][key];
282
334
  }
283
335
  }
@@ -14635,11 +14687,15 @@ const TextInput = class {
14635
14687
  return translate(ERROR_KEYS.REQUIRED, this.language);
14636
14688
  }
14637
14689
  if (this.inputReference.validity.tooShort || this.inputReference.validity.tooLong) {
14690
+ const minLength = this.validation.minLength;
14691
+ const maxLength = this.validation.maxLength;
14692
+ if (minLength === maxLength) {
14693
+ return translate(ERROR_KEYS.FIXED_LENGTH, this.language, {
14694
+ values: { length: minLength }
14695
+ });
14696
+ }
14638
14697
  return translate(ERROR_KEYS.LENGTH, this.language, {
14639
- values: {
14640
- minLength: this.validation.minLength,
14641
- maxLength: this.validation.maxLength
14642
- }
14698
+ values: { minLength, maxLength }
14643
14699
  });
14644
14700
  }
14645
14701
  if (this.inputReference.value.match(this.validationPattern) == null) {
@@ -14665,8 +14721,8 @@ const TextInput = class {
14665
14721
  if (this.touched) {
14666
14722
  invalidClass = this.isValid == true || this.isValid == undefined ? '' : 'text__input--invalid';
14667
14723
  }
14668
- return index.h("div", { key: '7e4006b92f6c1e2d8b39694fd85fad7d672c18fd', class: `text__wrapper ${this.name}__input ${this.autofilled ? 'text__wrapper--autofilled' : ''}`, ref: el => this.stylingContainer = el }, index.h("div", { key: 'e70be4a8daef6cbaa25d438b4d1edaecf6db5159', class: 'text__wrapper--flex' }, index.h("label", { key: '0b09f624c460c9d777dd10b887430a4e6de8cacc', class: `text__label ${this.validation.mandatory ? 'text__label--required' : ''}`, htmlFor: `${this.name}__input` }, this.displayName), index.h("div", { key: 'df36d8f44540b35a65f816ade477c4f4ff077977', class: 'text__wrapper--relative' }, this.tooltip &&
14669
- index.h("img", { key: '85e25624de052cad543c883514ba0c0a522d249f', class: 'text__tooltip-icon', src: tooltipIconSvg, alt: "", ref: (el) => this.tooltipIconReference = el, onClick: () => this.showTooltip = !this.showTooltip }), this.renderTooltip())), index.h("input", { key: 'bf34796489a118f3c4849c3b8b7680fb77f5a2eb', name: this.name, id: `${this.name}__input`, value: this.value, type: 'text', class: `text__input ${invalidClass}`, placeholder: `${this.placeholder}`, ref: (el) => this.inputReference = el, readOnly: this.autofilled, required: this.validation.mandatory, minlength: this.enableSouthAfricanMode ? '' : this.validation.minLength, maxlength: this.enableSouthAfricanMode ? '' : this.validation.maxLength, onInput: this.handleInput, onBlur: this.handleBlur }), index.h("small", { key: '725e4208a8170b6cf34869c44ec8cb29c2c7c93f', class: 'text__error-message' }, this.errorMessage));
14724
+ return index.h("div", { key: '4a3851c57b50e346914a5a3c9cf1ba286e3f7aec', class: `text__wrapper ${this.name}__input ${this.autofilled ? 'text__wrapper--autofilled' : ''}`, ref: el => this.stylingContainer = el }, index.h("div", { key: '8badf61de6285389c56aceda2b57dc777eccad62', class: 'text__wrapper--flex' }, index.h("label", { key: 'ecf44727e4e536345649b0aa88f57faf63eafcb1', class: `text__label ${this.validation.mandatory ? 'text__label--required' : ''}`, htmlFor: `${this.name}__input` }, this.displayName), index.h("div", { key: '45ad8e3feed46925034aa2b3c3964ee59d6bab69', class: 'text__wrapper--relative' }, this.tooltip &&
14725
+ index.h("img", { key: '28386df278867594c5e71ab7a4b376b62031b2de', class: 'text__tooltip-icon', src: tooltipIconSvg, alt: "", ref: (el) => this.tooltipIconReference = el, onClick: () => this.showTooltip = !this.showTooltip }), this.renderTooltip())), index.h("input", { key: 'f6c63d967c6db438fa3aeaa52e14195c16dfab87', name: this.name, id: `${this.name}__input`, value: this.value, type: 'text', class: `text__input ${invalidClass}`, placeholder: `${this.placeholder}`, ref: (el) => this.inputReference = el, readOnly: this.autofilled, required: this.validation.mandatory, minlength: this.enableSouthAfricanMode ? '' : this.validation.minLength, maxlength: this.enableSouthAfricanMode ? '' : this.validation.maxLength, onInput: this.handleInput, onBlur: this.handleBlur }), index.h("small", { key: 'bfed249b930afb155f933eae8a62ada508a05de5', class: 'text__error-message' }, this.errorMessage));
14670
14726
  }
14671
14727
  static get watchers() { return {
14672
14728
  "clientStyling": ["handleStylingChange"],
@@ -9,6 +9,7 @@ const TRANSLATIONS = {
9
9
  "dateFormatError": "The selected date has a different format then the one required.",
10
10
  "numberLengthError": "The number should be between {min} and {max}",
11
11
  "lengthError": "The length should be between {minLength} and {maxLength}",
12
+ "fixedLengthError": "The length should be {length} characters",
12
13
  "requiredError": "This input is required.",
13
14
  "invalidOriginalPasswordError": "Initial password field does not validate all criteria.",
14
15
  "invalidPassword": "Password does not meet all criteria",
@@ -35,7 +36,8 @@ const TRANSLATIONS = {
35
36
  "SAIdLengthError": "SA ID must be 13 digits",
36
37
  "SAIdInvalidError": "Invalid SA ID",
37
38
  "PassportLengthError": "Passport number must be 8 or 9 digits.",
38
- "PasswordMustContain": "Password must contain:"
39
+ "PasswordMustContain": "Password must contain:",
40
+ "AlphanumericalOnly": "Only alphanumerical characters are allowed"
39
41
  },
40
42
  "hu": {
41
43
  "dateError": "A választott dátumnak {min} és {max} között kell lennie",
@@ -43,6 +45,7 @@ const TRANSLATIONS = {
43
45
  "dateFormatError": "A kiválasztott dátum formátuma eltér a szükségestől.",
44
46
  "numberLengthError": "A számnak {min} és {max} között kell lennie",
45
47
  "lengthError": "A hossznak {minLength} és {maxLength} között kell lennie",
48
+ "fixedLengthError": "A hossznak {length} karakternek kell lennie",
46
49
  "requiredError": "Ez a beviteli mező kötelező.",
47
50
  "invalidOriginalPasswordError": "Initial password field does not validate all criteria.",
48
51
  "invalidPassword": "A jelszó nem felel meg minden kritériumnak",
@@ -66,7 +69,8 @@ const TRANSLATIONS = {
66
69
  "PassportLengthError": "Az útlevélszámnak 9 számjegyűnek kell lennie",
67
70
  "SAIdLengthError": "A dél-afrikai személyi számnak 13 számjegyűnek kell lennie",
68
71
  "SAIdInvalidError": "Érvénytelen dél-afrikai személyi szám",
69
- "PasswordMustContain": "A jelszónak tartalmaznia kell:"
72
+ "PasswordMustContain": "A jelszónak tartalmaznia kell:",
73
+ "AlphanumericalOnly": "Csak alfanumerikus karakterek engedélyezettek"
70
74
  },
71
75
  "hr": {
72
76
  "dateError": "Odabrani datum treba biti između {min} i {max}",
@@ -74,6 +78,7 @@ const TRANSLATIONS = {
74
78
  "dateFormatError": "Odabrani datum je u drugačijem formatu od potrebnog.",
75
79
  "numberLengthError": "Broj bi trebao biti između {min} i {max}",
76
80
  "lengthError": "Duljina bi trebala biti između {minLength} i {maxLength}",
81
+ "fixedLengthError": "Duljina mora biti {length} znakova",
77
82
  "requiredError": "Ovaj unos je obavezan.",
78
83
  "invalidOriginalPasswordError": "Lozinke se ne podudaraju",
79
84
  "invalidPassword": "Lozinka ne zadovoljava sve kriterije",
@@ -97,7 +102,8 @@ const TRANSLATIONS = {
97
102
  "PassportLengthError": "Broj putovnice mora imati 9 znamenki",
98
103
  "SAIdLengthError": "Južnoafrički osobni broj mora imati 13 znamenki",
99
104
  "SAIdInvalidError": "Nevažeći južnoafrički osobni broj",
100
- "PasswordMustContain": "Lozinka mora sadržavati:"
105
+ "PasswordMustContain": "Lozinka mora sadržavati:",
106
+ "AlphanumericalOnly": "Dopušteni su samo alfanumerički znakovi"
101
107
  },
102
108
  "tr": {
103
109
  "dateError": "Seçilen tarih {min} ve {max} arasında olmalıdır",
@@ -105,6 +111,7 @@ const TRANSLATIONS = {
105
111
  "dateFormatError": "Seçilen tarihin formatı, gereken formattan farklı.",
106
112
  "numberLengthError": "Sayı {min} ve {max} arasında olmalıdır",
107
113
  "lengthError": "Uzunluk {minLength} ve {maxLength} arasında olmalıdır",
114
+ "fixedLengthError": "Uzunluk {length} karakter olmalıdır",
108
115
  "requiredError": "Bu alan zorunludur.",
109
116
  "invalidOriginalPasswordError": "İlk şifre alanı tüm kriterleri karşılamıyor.",
110
117
  "invalidPassword": "Şifre tüm kriterleri karşılamıyor",
@@ -128,7 +135,8 @@ const TRANSLATIONS = {
128
135
  "PassportLengthError": "Pasaport numarası 9 haneli olmalıdır",
129
136
  "SAIdLengthError": "Güney Afrika kimlik numarası 13 haneli olmalıdır",
130
137
  "SAIdInvalidError": "Geçersiz Güney Afrika kimlik numarası",
131
- "PasswordMustContain": "Şifre şunları içermelidir:"
138
+ "PasswordMustContain": "Şifre şunları içermelidir:",
139
+ "AlphanumericalOnly": "Yalnızca alfanümerik karakterlere izin verilir"
132
140
  },
133
141
  "pt-br": {
134
142
  "dateError": "A data selecionada deve estar entre {min} e {max}",
@@ -136,6 +144,7 @@ const TRANSLATIONS = {
136
144
  "dateFormatError": "A data selecionada está em um formato diferente do exigido.",
137
145
  "numberLengthError": "O número deve estar entre {min} e {max}",
138
146
  "lengthError": "O comprimento deve estar entre {minLength} e {maxLength}",
147
+ "fixedLengthError": "O comprimento deve ser de {length} caracteres",
139
148
  "requiredError": "Este campo é obrigatório",
140
149
  "invalidOriginalPasswordError": "O campo de senha inicial não faz parte dos critérios válidos",
141
150
  "invalidPassword": "A senha não atende a todos os critérios",
@@ -159,7 +168,43 @@ const TRANSLATIONS = {
159
168
  "PassportLengthError": "O número do passaporte deve ter 9 dígitos",
160
169
  "SAIdLengthError": "O número de identificação da África do Sul deve ter 13 dígitos",
161
170
  "SAIdInvalidError": "Número de identificação da África do Sul inválido",
162
- "PasswordMustContain": "A senha deve conter:"
171
+ "PasswordMustContain": "A senha deve conter:",
172
+ "AlphanumericalOnly": "Apenas caracteres alfanuméricos são permitidos"
173
+ },
174
+ "pt": {
175
+ "dateError": "A data selecionada deve estar entre {min} e {max}",
176
+ "dateError2": "A data selecionada não está dentro do intervalo aceite",
177
+ "dateFormatError": "A data selecionada tem um formato diferente do exigido.",
178
+ "numberLengthError": "O número deve estar entre {min} e {max}",
179
+ "lengthError": "O comprimento deve estar entre {minLength} e {maxLength}",
180
+ "requiredError": "Este campo é obrigatório.",
181
+ "invalidOriginalPasswordError": "O campo da palavra-passe inicial não cumpre todos os critérios.",
182
+ "invalidPassword": "A palavra-passe não cumpre todos os critérios",
183
+ "passwordStrength": "Força da palavra-passe",
184
+ "passwordStrengthWeak": "não é adequada",
185
+ "passwordStrengthStrong": "é adequada",
186
+ "SpecialCharactersNotAllowed": "Não deve conter caracteres especiais",
187
+ "InvalidEmailFormat": "Formato de email inválido.",
188
+ "EmailNotMatching": "Os emails não coincidem!",
189
+ "PasswordNotMatching": "As palavras-passe não coincidem",
190
+ "MustIncludeNumber": "A palavra-passe deve incluir um número",
191
+ "MustContainCapital": "A palavra-passe deve incluir uma letra maiúscula",
192
+ "MustIncludePunctation": "A palavra-passe deve incluir pontuação",
193
+ "MustIncludeLowercase": "A palavra-passe deve incluir um caractere minúsculo",
194
+ "OnlyNumbers": "O campo deve conter apenas dígitos.",
195
+ "InvalidFieldSize": "O comprimento deve ser exatamente 11 dígitos.",
196
+ "InvalidDocumentNumber": "Apenas caracteres numéricos são permitidos.",
197
+ "twofaDescription": "<p> Enviámos o código de verificação para <p> {destination}. </p> </p> <p> Por favor, introduza o PIN abaixo. </p>",
198
+ "twofaResendMessage": "Não recebeu o código de verificação?",
199
+ "twofaResendButton": "Reenviar",
200
+ "enterIEAddressManually": "Para IRE, introduza o endereço manualmente",
201
+ "postalLookUpNoAddressFound": "Não foram encontrados endereços para este código postal",
202
+ "searchingForAddresses": "A procurar endereços...",
203
+ "SAIdLengthError": "O ID da África do Sul deve ter 13 dígitos",
204
+ "SAIdInvalidError": "ID da África do Sul inválido",
205
+ "PassportLengthError": "O número de passaporte deve ter 8 ou 9 dígitos.",
206
+ "PasswordMustContain": "A palavra-passe deve conter:",
207
+ "AlphanumericalOnly": "Apenas caracteres alfanuméricos são permitidos"
163
208
  },
164
209
  "es-mx": {
165
210
  "dateError": "La fecha seleccionada debe ser entre {min} y {max}",
@@ -167,6 +212,7 @@ const TRANSLATIONS = {
167
212
  "dateFormatError": "La fecha seleccionada tiene un formato diferente al requerido.",
168
213
  "numberLengthError": "El número debe ser entre {min} y {max}",
169
214
  "lengthError": "La longitud deber ser entre {minLength} y {maxLength}",
215
+ "fixedLengthError": "La longitud debe ser de {length} caracteres",
170
216
  "requiredError": "Este campo es requerido",
171
217
  "invalidOriginalPasswordError": "El campo de contraseña inicial no es parte del criterio válido",
172
218
  "invalidPassword": "La contraseña no cumple con todos los criterios",
@@ -190,7 +236,8 @@ const TRANSLATIONS = {
190
236
  "PassportLengthError": "El número de pasaporte debe tener 9 dígitos",
191
237
  "SAIdLengthError": "El número de identificación de Sudáfrica debe tener 13 dígitos",
192
238
  "SAIdInvalidError": "Número de identificación de Sudáfrica inválido",
193
- "PasswordMustContain": "La contraseña debe contener:"
239
+ "PasswordMustContain": "La contraseña debe contener:",
240
+ "AlphanumericalOnly": "Solo se permiten caracteres alfanuméricos"
194
241
  },
195
242
  "fr": {
196
243
  "dateError": "La date sélectionnée doit être comprise entre {min} et {max}",
@@ -198,6 +245,7 @@ const TRANSLATIONS = {
198
245
  "dateFormatError": "Le format de la date sélectionnée est incorrect.",
199
246
  "numberLengthError": "Le nombre doit être compris entre {min} et {max}",
200
247
  "lengthError": "La longueur doit être comprise entre {minLength} et {maxLength}",
248
+ "fixedLengthError": "La longueur doit être de {length} caractères",
201
249
  "requiredError": "Ce champ est obligatoire.",
202
250
  "invalidOriginalPasswordError": "Le mot de passe initial ne respecte pas tous les critères.",
203
251
  "invalidPassword": "Le mot de passe ne respecte pas tous les critères",
@@ -224,7 +272,8 @@ const TRANSLATIONS = {
224
272
  "SAIdLengthError": "L’identifiant sud-africain doit comporter 13 chiffres",
225
273
  "SAIdInvalidError": "Identifiant sud-africain invalide",
226
274
  "PassportLengthError": "Le numéro de passeport doit comporter 8 ou 9 chiffres.",
227
- "PasswordMustContain": "Le mot de passe doit contenir :"
275
+ "PasswordMustContain": "Le mot de passe doit contenir :",
276
+ "AlphanumericalOnly": "Seuls les caractères alphanumériques sont autorisés"
228
277
  }
229
278
  };
230
279
  const CONSTANTS = {
@@ -248,6 +297,7 @@ const ERROR_KEYS = {
248
297
  SA_ID_INVALID: 'SAIdInvalidError',
249
298
  REQUIRED: 'requiredError',
250
299
  LENGTH: 'lengthError',
300
+ FIXED_LENGTH: 'fixedLengthError',
251
301
  DUPLICATE: 'duplicateInputError',
252
302
  };
253
303
  const STATUS_ICONS = {
@@ -256,7 +306,7 @@ const STATUS_ICONS = {
256
306
  };
257
307
  const translate = (key, customLang, values) => {
258
308
  const lang = customLang;
259
- let translation = TRANSLATIONS[lang !== undefined ? lang : DEFAULT_LANGUAGE][key];
309
+ let translation = TRANSLATIONS[lang] ? TRANSLATIONS[lang][key] : TRANSLATIONS[DEFAULT_LANGUAGE][key];
260
310
  if (values !== undefined) {
261
311
  for (const [key, value] of Object.entries(values.values)) {
262
312
  const regex = new RegExp(`{${key}}`, 'g');
@@ -272,8 +322,10 @@ const getTranslations = (url) => {
272
322
  .then((res) => res.json())
273
323
  .then((data) => {
274
324
  Object.keys(data).forEach((item) => {
325
+ TRANSLATIONS[item] = TRANSLATIONS[item] || {};
275
326
  for (let key in data[item]) {
276
327
  if (typeof data[item][key] === 'string') {
328
+ TRANSLATIONS[item] = TRANSLATIONS[item] || {};
277
329
  TRANSLATIONS[item][key] = data[item][key];
278
330
  }
279
331
  }
@@ -14631,11 +14683,15 @@ const TextInput = class {
14631
14683
  return translate(ERROR_KEYS.REQUIRED, this.language);
14632
14684
  }
14633
14685
  if (this.inputReference.validity.tooShort || this.inputReference.validity.tooLong) {
14686
+ const minLength = this.validation.minLength;
14687
+ const maxLength = this.validation.maxLength;
14688
+ if (minLength === maxLength) {
14689
+ return translate(ERROR_KEYS.FIXED_LENGTH, this.language, {
14690
+ values: { length: minLength }
14691
+ });
14692
+ }
14634
14693
  return translate(ERROR_KEYS.LENGTH, this.language, {
14635
- values: {
14636
- minLength: this.validation.minLength,
14637
- maxLength: this.validation.maxLength
14638
- }
14694
+ values: { minLength, maxLength }
14639
14695
  });
14640
14696
  }
14641
14697
  if (this.inputReference.value.match(this.validationPattern) == null) {
@@ -14661,8 +14717,8 @@ const TextInput = class {
14661
14717
  if (this.touched) {
14662
14718
  invalidClass = this.isValid == true || this.isValid == undefined ? '' : 'text__input--invalid';
14663
14719
  }
14664
- return h("div", { key: '7e4006b92f6c1e2d8b39694fd85fad7d672c18fd', class: `text__wrapper ${this.name}__input ${this.autofilled ? 'text__wrapper--autofilled' : ''}`, ref: el => this.stylingContainer = el }, h("div", { key: 'e70be4a8daef6cbaa25d438b4d1edaecf6db5159', class: 'text__wrapper--flex' }, h("label", { key: '0b09f624c460c9d777dd10b887430a4e6de8cacc', class: `text__label ${this.validation.mandatory ? 'text__label--required' : ''}`, htmlFor: `${this.name}__input` }, this.displayName), h("div", { key: 'df36d8f44540b35a65f816ade477c4f4ff077977', class: 'text__wrapper--relative' }, this.tooltip &&
14665
- h("img", { key: '85e25624de052cad543c883514ba0c0a522d249f', class: 'text__tooltip-icon', src: tooltipIconSvg, alt: "", ref: (el) => this.tooltipIconReference = el, onClick: () => this.showTooltip = !this.showTooltip }), this.renderTooltip())), h("input", { key: 'bf34796489a118f3c4849c3b8b7680fb77f5a2eb', name: this.name, id: `${this.name}__input`, value: this.value, type: 'text', class: `text__input ${invalidClass}`, placeholder: `${this.placeholder}`, ref: (el) => this.inputReference = el, readOnly: this.autofilled, required: this.validation.mandatory, minlength: this.enableSouthAfricanMode ? '' : this.validation.minLength, maxlength: this.enableSouthAfricanMode ? '' : this.validation.maxLength, onInput: this.handleInput, onBlur: this.handleBlur }), h("small", { key: '725e4208a8170b6cf34869c44ec8cb29c2c7c93f', class: 'text__error-message' }, this.errorMessage));
14720
+ return h("div", { key: '4a3851c57b50e346914a5a3c9cf1ba286e3f7aec', class: `text__wrapper ${this.name}__input ${this.autofilled ? 'text__wrapper--autofilled' : ''}`, ref: el => this.stylingContainer = el }, h("div", { key: '8badf61de6285389c56aceda2b57dc777eccad62', class: 'text__wrapper--flex' }, h("label", { key: 'ecf44727e4e536345649b0aa88f57faf63eafcb1', class: `text__label ${this.validation.mandatory ? 'text__label--required' : ''}`, htmlFor: `${this.name}__input` }, this.displayName), h("div", { key: '45ad8e3feed46925034aa2b3c3964ee59d6bab69', class: 'text__wrapper--relative' }, this.tooltip &&
14721
+ h("img", { key: '28386df278867594c5e71ab7a4b376b62031b2de', class: 'text__tooltip-icon', src: tooltipIconSvg, alt: "", ref: (el) => this.tooltipIconReference = el, onClick: () => this.showTooltip = !this.showTooltip }), this.renderTooltip())), h("input", { key: 'f6c63d967c6db438fa3aeaa52e14195c16dfab87', name: this.name, id: `${this.name}__input`, value: this.value, type: 'text', class: `text__input ${invalidClass}`, placeholder: `${this.placeholder}`, ref: (el) => this.inputReference = el, readOnly: this.autofilled, required: this.validation.mandatory, minlength: this.enableSouthAfricanMode ? '' : this.validation.minLength, maxlength: this.enableSouthAfricanMode ? '' : this.validation.maxLength, onInput: this.handleInput, onBlur: this.handleBlur }), h("small", { key: 'bfed249b930afb155f933eae8a62ada508a05de5', class: 'text__error-message' }, this.errorMessage));
14666
14722
  }
14667
14723
  static get watchers() { return {
14668
14724
  "clientStyling": ["handleStylingChange"],