@everymatrix/general-input 1.39.3 → 1.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/cjs/checkbox-group-input_10.cjs.entry.js +36 -19
  2. package/dist/cjs/general-input.cjs.entry.js +1 -1
  3. package/dist/cjs/general-input.cjs.js +1 -1
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/{locale.utils-cef1d3b6.js → locale.utils-2fa6f747.js} +53 -34
  6. package/dist/cjs/toggle-checkbox-input.cjs.entry.js +1 -1
  7. package/dist/collection/components/date-input/date-input.css +1 -1
  8. package/dist/collection/components/date-input/date-input.js +1 -4
  9. package/dist/collection/components/email-input/email-input.css +11 -7
  10. package/dist/collection/components/email-input/email-input.js +1 -1
  11. package/dist/collection/components/password-input/password-input.js +42 -7
  12. package/dist/collection/components/select-input/select-input.css +7 -7
  13. package/dist/collection/components/select-input/select-input.js +2 -2
  14. package/dist/collection/components/tel-input/tel-input.js +3 -3
  15. package/dist/collection/components/text-input/text-input.css +1 -0
  16. package/dist/collection/utils/locale.utils.js +53 -34
  17. package/dist/components/date-input2.js +2 -2
  18. package/dist/components/email-input2.js +2 -2
  19. package/dist/components/password-input2.js +25 -7
  20. package/dist/components/select-input2.js +3 -3
  21. package/dist/components/tel-input2.js +3 -3
  22. package/dist/components/text-input2.js +1 -1
  23. package/dist/components/tooltipIcon.js +53 -34
  24. package/dist/esm/checkbox-group-input_10.entry.js +36 -19
  25. package/dist/esm/general-input.entry.js +1 -1
  26. package/dist/esm/general-input.js +1 -1
  27. package/dist/esm/loader.js +1 -1
  28. package/dist/esm/{locale.utils-de759721.js → locale.utils-30fb5289.js} +53 -34
  29. package/dist/esm/toggle-checkbox-input.entry.js +1 -1
  30. package/dist/general-input/general-input.esm.js +1 -1
  31. package/dist/general-input/p-04d4b145.js +1 -0
  32. package/dist/general-input/{p-613c3e00.entry.js → p-90e8d52e.entry.js} +1 -1
  33. package/dist/general-input/{p-c2d51e17.entry.js → p-b64caafa.entry.js} +47 -47
  34. package/dist/general-input/{p-660bcdd1.entry.js → p-f659e9ee.entry.js} +1 -1
  35. package/dist/types/components/password-input/password-input.d.ts +5 -0
  36. package/dist/types/components.d.ts +8 -0
  37. package/dist/types/utils/locale.utils.d.ts +1 -0
  38. package/package.json +1 -1
  39. package/dist/general-input/p-10efdf3f.js +0 -1
@@ -12,6 +12,10 @@ export class PasswordInput {
12
12
  * Client custom styling via inline style
13
13
  */
14
14
  this.clientStyling = '';
15
+ /**
16
+ * Client Styling Url
17
+ */
18
+ this.clientStylingUrl = '';
15
19
  this.limitStylingAppends = false;
16
20
  this.showTooltip = false;
17
21
  this.value = '';
@@ -22,7 +26,7 @@ export class PasswordInput {
22
26
  this.handleInput = (event) => {
23
27
  this.value = event.target.value;
24
28
  this.calculateComplexity(this.value);
25
- this.showPopup = true;
29
+ this.validation.custom.length === 0 || (this.showPopup = true);
26
30
  this.touched = true;
27
31
  if (this.debounceTime) {
28
32
  clearTimeout(this.debounceTime);
@@ -41,14 +45,27 @@ export class PasswordInput {
41
45
  this.errorMessage = this.setErrorMessage();
42
46
  };
43
47
  this.handleFocus = () => {
44
- this.showPopup = true;
48
+ this.validation.custom.length === 0 || (this.showPopup = true);
45
49
  this.calculateComplexity(this.value);
46
50
  };
47
51
  this.setClientStyling = () => {
48
- let sheet = document.createElement('style');
52
+ const sheet = document.createElement('style');
49
53
  sheet.innerHTML = this.clientStyling;
50
54
  this.stylingContainer.prepend(sheet);
51
55
  };
56
+ this.setClientStylingURL = () => {
57
+ const url = new URL(this.clientStylingUrl);
58
+ const cssFile = document.createElement('style');
59
+ fetch(url.href)
60
+ .then((res) => res.text())
61
+ .then((data) => {
62
+ cssFile.innerHTML = data;
63
+ setTimeout(() => { this.stylingContainer.prepend(cssFile); }, 1);
64
+ })
65
+ .catch((err) => {
66
+ console.error(err);
67
+ });
68
+ };
52
69
  }
53
70
  validityChanged() {
54
71
  this.validityStateHandler({ valid: this.isValid, name: this.name });
@@ -135,11 +152,11 @@ export class PasswordInput {
135
152
  }
136
153
  calculateComplexity(password) {
137
154
  this.passwordComplexity = this.validation.custom
138
- .filter(rule => rule.rule === 'regex')
139
- .map(rule => {
140
- const ruleRegex = new RegExp(rule.pattern);
155
+ .filter(customValidation => customValidation.rule.toLowerCase() === 'regex')
156
+ .map(customValidation => {
157
+ const ruleRegex = new RegExp(customValidation.pattern);
141
158
  const passed = ruleRegex.test(password);
142
- return { rule: rule.displayName, ruleKey: rule.errorKey, passed };
159
+ return { rule: customValidation.displayName, ruleKey: customValidation.errorKey, passed };
143
160
  });
144
161
  }
145
162
  setValidity() {
@@ -422,6 +439,24 @@ export class PasswordInput {
422
439
  "attribute": "client-styling",
423
440
  "reflect": true,
424
441
  "defaultValue": "''"
442
+ },
443
+ "clientStylingUrl": {
444
+ "type": "string",
445
+ "mutable": false,
446
+ "complexType": {
447
+ "original": "string",
448
+ "resolved": "string",
449
+ "references": {}
450
+ },
451
+ "required": false,
452
+ "optional": false,
453
+ "docs": {
454
+ "tags": [],
455
+ "text": "Client Styling Url"
456
+ },
457
+ "attribute": "client-styling-url",
458
+ "reflect": true,
459
+ "defaultValue": "''"
425
460
  }
426
461
  }; }
427
462
  static get states() { return {
@@ -29,6 +29,7 @@ vaadin-combo-box > input {
29
29
  display: flex;
30
30
  flex-direction: column;
31
31
  gap: 5px;
32
+ height: 100%;
32
33
  }
33
34
  .select__wrapper--autofilled {
34
35
  pointer-events: none;
@@ -66,7 +67,7 @@ vaadin-combo-box > input {
66
67
  position: relative;
67
68
  }
68
69
  .select__input[focused]::part(input-field) {
69
- border-color: var(--emfe-w-login-color-primary, var(--emfe-w-color-primary, #D0046C));
70
+ border: 1px solid var(--emfe-w-login-color-primary, var(--emfe-w-color-primary, #D0046C));
70
71
  }
71
72
  .select__input[invalid]::part(input-field) {
72
73
  border: 1px solid var(--emfe-w-color-error, var(--emfe-w-color-red, #ed0909));
@@ -75,17 +76,16 @@ vaadin-combo-box > input {
75
76
  color: var(--emfe-w-color-black, #000000);
76
77
  }
77
78
  .select__input::part(input-field) {
78
- border-radius: 4px;
79
- background-color: var(--emfe-w-color-white, #FFFFFF);
79
+ font-family: inherit;
80
+ width: 100%;
81
+ height: 44px;
80
82
  border: 1px solid var(--emfe-w-color-gray-100, #E6E6E6);
83
+ background-color: var(--emfe-w-color-white, #FFFFFF);
81
84
  color: var(--emfe-w-color-black, #000000);
82
- font-family: inherit;
83
- font-style: normal;
85
+ border-radius: 5px;
84
86
  font-size: 16px;
85
87
  font-weight: 300;
86
88
  line-height: 1.5;
87
- padding: 0;
88
- height: 44px;
89
89
  }
90
90
  .select__input::part(toggle-button) {
91
91
  position: relative;
@@ -129,11 +129,11 @@ export class SelectInput {
129
129
  render() {
130
130
  let invalidClass = '';
131
131
  if (this.touched) {
132
- invalidClass = this.isValid == true || this.isValid == undefined ? '' : 'text__input--invalid';
132
+ invalidClass = this.isValid == true || this.isValid == undefined ? '' : 'select__input--invalid';
133
133
  }
134
134
  return h("div", { class: `select__wrapper ${this.autofilled ? 'select__wrapper--autofilled' : ''} ${this.name}__input`, ref: el => this.stylingContainer = el },
135
135
  h("div", { class: 'select__wrapper--flex' },
136
- h("label", { class: 'select__label', htmlFor: `${this.name}__input` }, `${this.displayName} ${this.validation.mandatory ? '*' : ''}`),
136
+ h("label", { class: `select__label ${this.validation.mandatory ? 'select__label--required' : ''}`, htmlFor: `${this.name}__input` }, this.displayName),
137
137
  h("div", { class: 'select__wrapper--relative' },
138
138
  this.tooltip &&
139
139
  h("img", { class: 'select__tooltip-icon', src: tooltipIcon, alt: "", ref: (el) => this.tooltipIconReference = el, onClick: () => this.showTooltip = !this.showTooltip }),
@@ -72,7 +72,7 @@ export class TelInput {
72
72
  const endpoint = this.action.split(" ")[1];
73
73
  return this.getPhoneCodes(endpoint).then((options) => {
74
74
  this.phoneCodesOptions = options.phoneCodes.map(code => {
75
- return { label: code.Prefix, value: code.Prefix };
75
+ return { label: code.Prefix || code, value: code.Prefix || code };
76
76
  });
77
77
  });
78
78
  }
@@ -144,7 +144,7 @@ export class TelInput {
144
144
  render() {
145
145
  let invalidClass = '';
146
146
  if (this.touched) {
147
- invalidClass = this.isValid == true || this.isValid == undefined ? '' : 'text__input--invalid';
147
+ invalidClass = this.isValid == true || this.isValid == undefined ? '' : 'tel__wrapper--flex--invalid';
148
148
  }
149
149
  return h("div", { class: `tel__wrapper ${this.autofilled ? 'tel__wrapper--autofilled' : ''} ${this.name}__input`, ref: el => this.stylingContainer = el },
150
150
  h("div", { class: 'tel__wrapper--flex-label' },
@@ -155,7 +155,7 @@ export class TelInput {
155
155
  this.renderTooltip())),
156
156
  h("div", { class: `tel__wrapper--flex ${invalidClass}` },
157
157
  h("vaadin-combo-box", { class: 'tel__prefix', items: this.phoneCodesOptions, value: this.prefixValue, readOnly: this.autofilled, onChange: (e) => this.handlePrefixInput(e) }),
158
- h("input", { type: "tel", ref: (el) => this.inputReference = el, id: `${this.name}__input`, readOnly: this.autofilled, class: `tel__input`, value: this.phoneValue, placeholder: `${this.placeholder}`, required: this.validation.mandatory, minlength: this.validation.minLength, maxlength: this.validation.maxLength, pattern: this.validationPattern, onInput: this.handleInput, onBlur: this.handleBlur })),
158
+ h("input", { type: "tel", ref: (el) => this.inputReference = el, id: `${this.name}__input`, readOnly: this.autofilled, class: `tel__input`, value: this.phoneValue, placeholder: `${this.placeholder || ''}`, required: this.validation.mandatory, minlength: this.validation.minLength, maxlength: this.validation.maxLength, pattern: this.validationPattern, onInput: this.handleInput, onBlur: this.handleBlur })),
159
159
  h("small", { class: 'tel__error-message' }, this.errorMessage));
160
160
  }
161
161
  static get is() { return "tel-input"; }
@@ -63,6 +63,7 @@
63
63
  }
64
64
  .text__input:focus {
65
65
  border: 1px solid var(--emfe-w-login-color-primary, var(--emfe-w-color-primary, #D0046C));
66
+ outline-color: var(--emfe-w-color-primary, #D0046C);
66
67
  }
67
68
  .text__input--invalid {
68
69
  border: 1px solid var(--emfe-w-color-error, var(--emfe-w-color-red, #ed0909));
@@ -1,62 +1,81 @@
1
1
  const DEFAULT_LANGUAGE = 'en';
2
2
  export const TRANSLATIONS = {
3
3
  "en": {
4
- "dateError": 'The selected date should be between {min} and {max}',
5
- "dateError2": 'The selected date is not within the accepted range',
6
- "numberLengthError": 'The number should be between {min} and {max}',
7
- "lengthError": `The length should be between {minLength} and {maxLength}`,
8
- "requiredError": 'This input is required.',
4
+ "dateError": "The selected date should be between {min} and {max}",
5
+ "dateError2": "The selected date is not within the accepted range",
6
+ "numberLengthError": "The number should be between {min} and {max}",
7
+ "lengthError": "The length should be between {minLength} and {maxLength}",
8
+ "requiredError": "This input is required.",
9
9
  "invalidOriginalPasswordError": "Initial password field does not validate all criteria.",
10
10
  "passwordStrength": "Password strength",
11
11
  "passwordStrengthWeak": "is not adequate",
12
12
  "passwordStrengthStrong": "is adequate",
13
- "SpecialCharactersNotAllowed": 'Should not contain special characters',
13
+ "SpecialCharactersNotAllowed": "Should not contain special characters",
14
14
  "InvalidEmailFormat": "Invalid email format.",
15
15
  "EmailNotMatching": "Emails not matching!",
16
16
  "PasswordNotMatching": "Passwords not matching",
17
- "MustIncludeNumber": "include a number",
18
- "MustContainCapital": "contain capital letters",
19
- "MustIncludePunctation": "punctuation",
17
+ "MustIncludeNumber": "Password must include a number",
18
+ "MustContainCapital": "Password must include a capital letter",
19
+ "MustIncludePunctation": "Password must include punctuation",
20
20
  "OnlyNumbers": "Should contains only numbers."
21
21
  },
22
22
  "hu": {
23
- "dateError": 'A választott dátumnak {min} és {max} között kell lennie',
24
- "numberLengthError": 'A számnak {min} és {max} között kell lennie',
25
- "lengthError": `A hossznak {minLength} és {maxLength} között kell lennie`,
26
- "requiredError": 'Ez a beviteli mező kötelező.',
23
+ "dateError": "A választott dátumnak {min} és {max} között kell lennie",
24
+ "numberLengthError": "A számnak {min} és {max} között kell lennie",
25
+ "lengthError": "A hossznak {minLength} és {maxLength} között kell lennie",
26
+ "requiredError": "Ez a beviteli mező kötelező.",
27
27
  "invalidOriginalPasswordError": "Initial password field does not validate all criteria.",
28
28
  "passwordStrength": "Jelszó erőssége",
29
29
  "passwordStrengthWeak": "nem megfelelő",
30
30
  "passwordStrengthStrong": "megfelelő",
31
- "SpecialCharactersNotAllowed": 'Nem tartalmazhat speciális karaktereket',
31
+ "SpecialCharactersNotAllowed": "Nem tartalmazhat speciális karaktereket",
32
32
  "InvalidEmailFormat": "Érvénytelen e-mail formátum.",
33
33
  "EmailNotMatching": "Az e-mailek nem egyeznek!",
34
34
  "PasswordNotMatching": "A jelszavak nem egyeznek",
35
- "MustIncludeNumber": "tartalmaznia kell egy számot",
36
- "MustContainCapital": "nagybetűket kell tartalmaznia",
37
- "MustIncludePunctation": "írásjelet",
35
+ "MustIncludeNumber": "A jelszónak tartalmaznia kell egy számot",
36
+ "MustContainCapital": "A jelszónak tartalmaznia kell egy nagybetűt",
37
+ "MustIncludePunctuation": "A jelszónak tartalmaznia kell írásjelet",
38
38
  "OnlyNumbers": "Csak számokat kell tartalmaznia."
39
39
  },
40
40
  "hr": {
41
- "dateError": 'Odabrani datum treba biti između {min} i {max}',
42
- "dateError2": 'Odabrani datum nije unutar prihvaćenog raspona',
43
- "numberLengthError": 'Broj bi trebao biti između {min} i {max}',
44
- "lengthError": `Duljina bi trebala biti između {minLength} i {maxLength}`,
45
- "requiredError": 'Ovaj unos je obavezan.',
41
+ "dateError": "Odabrani datum treba biti između {min} i {max}",
42
+ "dateError2": "Odabrani datum nije unutar prihvaćenog raspona",
43
+ "numberLengthError": "Broj bi trebao biti između {min} i {max}",
44
+ "lengthError": "Duljina bi trebala biti između {minLength} i {maxLength}",
45
+ "requiredError": "Ovaj unos je obavezan.",
46
46
  "invalidOriginalPasswordError": "Polje početne lozinke ne potvrđuje sve kriterije",
47
47
  "passwordStrength": "Jačina zaporke",
48
48
  "passwordStrengthWeak": "nije adekvatno",
49
49
  "passwordStrengthStrong": "je adekvatan",
50
- "SpecialCharactersNotAllowed": 'Ne smije sadržavati posebne znakove',
50
+ "SpecialCharactersNotAllowed": "Ne smije sadržavati posebne znakove",
51
51
  "InvalidEmailFormat": "Nevažeći format e-maila",
52
52
  "EmailNotMatching": "E-mailovi se ne podudaraju!",
53
53
  "PasswordNotMatching": "Lozinke se ne podudaraju",
54
- "MustIncludeNumber": "uključiti broj",
55
- "MustContainCapital": "sadrže velika slova",
56
- "MustIncludePunctation": "interpunkcija",
54
+ "MustIncludeNumber": "Lozinka mora sadržavati broj",
55
+ "MustContainCapital": "Lozinka mora sadržavati veliko slovo",
56
+ "MustIncludePunctuation": "Lozinka mora sadržavati interpunkcijski znak",
57
57
  "OnlyNumbers": "Treba sadržavati samo brojeve."
58
58
  },
59
- 'pt-br': {
59
+ "tr": {
60
+ "dateError": "Seçilen tarih {min} ve {max} arasında olmalıdır",
61
+ "dateError2": "Seçilen tarih kabul edilen aralıkta değil",
62
+ "numberLengthError": "Sayı {min} ve {max} arasında olmalıdır",
63
+ "lengthError": "Uzunluk {minLength} ve {maxLength} arasında olmalıdır",
64
+ "requiredError": "Bu alan zorunludur.",
65
+ "invalidOriginalPasswordError": "İlk şifre alanı tüm kriterleri karşılamıyor.",
66
+ "passwordStrength": "Şifre gücü",
67
+ "passwordStrengthWeak": "yetersiz",
68
+ "passwordStrengthStrong": "yeterli",
69
+ "SpecialCharactersNotAllowed": "Özel karakter içermemelidir",
70
+ "InvalidEmailFormat": "Geçersiz e-posta formatı.",
71
+ "EmailNotMatching": "E-postalar uyuşmuyor!",
72
+ "PasswordNotMatching": "Şifreler uyuşmuyor",
73
+ "MustIncludeNumber": "bir sayı içermelidir",
74
+ "MustContainCapital": "büyük harf içermelidir",
75
+ "MustIncludePunctation": "noktalama işareti içermelidir",
76
+ "OnlyNumbers": "Sadece sayılar içermelidir."
77
+ },
78
+ "pt-br": {
60
79
  "dateError": "A data selecionada deve estar entre {min} e {max}",
61
80
  "dateError2": "A data selecionada não está dentro de um intervalo válido",
62
81
  "numberLengthError": "O número deve estar entre {min} e {max}",
@@ -70,12 +89,12 @@ export const TRANSLATIONS = {
70
89
  "InvalidEmailFormat": "Formato de email inválido",
71
90
  "EmailNotMatching": "E-mail não corresponde",
72
91
  "PasswordNotMatching": "Senha não corresponde",
73
- "MustIncludeNumber": "inclui um número",
74
- "MustContainCapital": "contém letras maiúsculas",
75
- "MustIncludePunctation": "pontuação",
92
+ "MustIncludeNumber": "A senha deve incluir um número",
93
+ "MustContainCapital": "A senha deve incluir uma letra maiúscula",
94
+ "MustIncludePunctuation": "A senha deve incluir um sinal de pontuação",
76
95
  "OnlyNumbers": "Deve conter apenas números"
77
96
  },
78
- 'es-mx': {
97
+ "es-mx": {
79
98
  "dateError": "La fecha seleccionada debe ser entre {min} y {max}",
80
99
  "dateError2": "La fecha seleccionada no está dentro de un rango válido",
81
100
  "numberLengthError": "El número debe ser entre {min} y {max}",
@@ -89,9 +108,9 @@ export const TRANSLATIONS = {
89
108
  "InvalidEmailFormat": "Formato inválido de correo",
90
109
  "EmailNotMatching": "El correo electrónico no coincide",
91
110
  "PasswordNotMatching": "La contraseña no coincide",
92
- "MustIncludeNumber": "incluye un número",
93
- "MustContainCapital": "contiene mayúsculas",
94
- "MustIncludePunctation": "puntuación",
111
+ "MustIncludeNumber": "La contraseña debe incluir un número",
112
+ "MustContainCapital": "La contraseña debe incluir una letra mayúscula",
113
+ "MustIncludePunctuation": "La contraseña debe incluir un signo de puntuación",
95
114
  "OnlyNumbers": "Solo debe contener números"
96
115
  }
97
116
  };
@@ -11392,7 +11392,7 @@ function isBefore(dirtyDate, dirtyDateToCompare) {
11392
11392
  return date.getTime() < dateToCompare.getTime();
11393
11393
  }
11394
11394
 
11395
- const dateInputCss = "*,*::before,*::after{padding:0;margin:0;box-sizing:border-box}.date{font-family:\"Roboto\";font-style:normal}.date__wrapper{position:relative;width:100%;display:flex;flex-direction:column;gap:5px;height:100%}.date__wrapper--autofilled{pointer-events:none}.date__wrapper--autofilled .date__label{color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000))}.date__wrapper--autofilled .date__input::part(input-field){color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000))}.date__label{font-family:inherit;font-style:normal;font-weight:500;font-size:16px;line-height:20px;color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000))}.date__label--required::after{content:\"*\";font-family:inherit;color:var(--emfe-w-login-color-primary, var(--emfe-w-color-primary, #D0046C));margin-left:2px}.date__input{border:none;width:inherit;position:relative}.date__input[focused]::part(input-field){border-color:var(--emfe-w-login-color-primary, var(--emfe-w-color-primary, #D0046C))}.date__input[invalid]::part(input-field){border:1px solid var(--emfe-w-color-error, var(--emfe-w-color-red, #ed0909))}.date__input::part(input-field){border-radius:4px;background-color:var(--emfe-w-color-white, #FFFFFF);border:1px solid var(--emfe-w-color-gray-100, #E6E6E6);color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000));font-family:inherit;font-style:normal;font-size:16px;font-weight:300;line-height:1.5;padding:0;height:44px}.date__input>input{padding:5px 15px}.date__input::part(toggle-button){position:relative;right:10px}.date__error-message{position:absolute;top:calc(100% + 5px);left:0;color:#cc0000b3}.date__tooltip-icon{position:absolute;right:0;bottom:10px}.date__tooltip{position:absolute;bottom:35px;right:10px;background-color:var(--emfe-w-color-white, #FFFFFF);border:1px solid var(--emfe-w-color-gray-100, #E6E6E6);color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000));padding:10px;border-radius:5px;opacity:0;transition:opacity 0.3s ease-in-out;z-index:10}.date__tooltip.visible{opacity:1}";
11395
+ const dateInputCss = "*,*::before,*::after{padding:0;margin:0;box-sizing:border-box}.date{font-family:\"Roboto\";font-style:normal}.date__wrapper{position:relative;width:100%;display:flex;flex-direction:column;gap:5px;height:100%}.date__wrapper--autofilled{pointer-events:none}.date__wrapper--autofilled .date__label{color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000))}.date__wrapper--autofilled .date__input::part(input-field){color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000))}.date__label{font-family:inherit;font-style:normal;font-weight:500;font-size:16px;line-height:20px;color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000))}.date__label--required::after{content:\"*\";font-family:inherit;color:var(--emfe-w-login-color-primary, var(--emfe-w-color-primary, #D0046C));margin-left:2px}.date__input{border:none;width:inherit;position:relative}.date__input[focused]::part(input-field){border:1px solid var(--emfe-w-login-color-primary, var(--emfe-w-color-primary, #D0046C))}.date__input[invalid]::part(input-field){border:1px solid var(--emfe-w-color-error, var(--emfe-w-color-red, #ed0909))}.date__input::part(input-field){border-radius:4px;background-color:var(--emfe-w-color-white, #FFFFFF);border:1px solid var(--emfe-w-color-gray-100, #E6E6E6);color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000));font-family:inherit;font-style:normal;font-size:16px;font-weight:300;line-height:1.5;padding:0;height:44px}.date__input>input{padding:5px 15px}.date__input::part(toggle-button){position:relative;right:10px}.date__error-message{position:absolute;top:calc(100% + 5px);left:0;color:#cc0000b3}.date__tooltip-icon{position:absolute;right:0;bottom:10px}.date__tooltip{position:absolute;bottom:35px;right:10px;background-color:var(--emfe-w-color-white, #FFFFFF);border:1px solid var(--emfe-w-color-gray-100, #E6E6E6);color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000));padding:10px;border-radius:5px;opacity:0;transition:opacity 0.3s ease-in-out;z-index:10}.date__tooltip.visible{opacity:1}";
11396
11396
 
11397
11397
  const DateInput = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement$1 {
11398
11398
  constructor() {
@@ -11513,7 +11513,7 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement$1 {
11513
11513
  if (this.touched) {
11514
11514
  invalidClass = this.isValid == true || this.isValid == undefined ? '' : 'text__input--invalid';
11515
11515
  }
11516
- return h("div", { class: `date__wrapper ${this.autofilled ? 'date__wrapper--autofilled' : ''} ${this.name}__input`, ref: el => this.stylingContainer = el }, h("label", { class: `date__label ${this.validation.mandatory ? 'date__label--required' : ''}}`, htmlFor: `${this.name}__input` }, this.displayName, " ", this.validation.mandatory ? '*' : ''), h("vaadin-date-picker", { id: `${this.name}__input`, type: 'date', class: `date__input ${invalidClass}`, value: this.defaultValue, readOnly: this.autofilled, placeholder: `${this.placeholder}`, required: this.validation.mandatory, max: this.validation.max, min: this.validation.min, onChange: (e) => this.handleInput(e), onBlur: this.handleBlur }), h("small", { class: 'date__error-message' }, this.errorMessage), this.tooltip &&
11516
+ return h("div", { class: `date__wrapper ${this.autofilled ? 'date__wrapper--autofilled' : ''} ${this.name}__input`, ref: el => this.stylingContainer = el }, h("label", { class: `date__label ${this.validation.mandatory ? 'date__label--required' : ''}`, htmlFor: `${this.name}__input` }, this.displayName), h("vaadin-date-picker", { id: `${this.name}__input`, type: 'date', class: `date__input ${invalidClass}`, value: this.defaultValue, readOnly: this.autofilled, placeholder: `${this.placeholder}`, required: this.validation.mandatory, max: this.validation.max, min: this.validation.min, onChange: (e) => this.handleInput(e), onBlur: this.handleBlur }), h("small", { class: 'date__error-message' }, this.errorMessage), this.tooltip &&
11517
11517
  h("img", { class: 'date__tooltip-icon', src: tooltipIconSvg, alt: "", ref: (el) => this.tooltipIconReference = el, onClick: () => this.showTooltip = !this.showTooltip }), this.renderTooltip());
11518
11518
  }
11519
11519
  get element() { return this; }
@@ -1,7 +1,7 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
2
  import { t as translate, a as tooltipIconSvg } from './tooltipIcon.js';
3
3
 
4
- const emailInputCss = "*,*::before,*::after{padding:0;margin:0;box-sizing:border-box}.email{font-family:\"Roboto\";font-style:normal}.email__wrapper{position:relative;width:100%}.email__wrapper--autofilled{pointer-events:none}.email__wrapper--autofilled .email__label{color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000))}.email__wrapper--autofilled .email__input{color:var(--emfe-w-color-black, #000000)}.email__wrapper--flex{display:flex;gap:5px}.email__wrapper--relative{position:relative}.email__label{font-family:inherit;font-style:normal;font-weight:500;font-size:16px;line-height:20px;color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000))}.email__label--required::after{content:\"*\";font-family:inherit;color:var(--emfe-w-login-color-primary, var(--emfe-w-color-primary, #D0046C));margin-left:2px}.email__input{font-family:inherit;border-radius:4px;width:100%;height:40px;border:2px solid var(--emfe-w-color-gray-100, #E6E6E6);color:var(--emfe-w-color-black, #000000);border-radius:5px;box-sizing:border-box;font-size:16px;font-weight:300;line-height:1.5;padding:10px}.email__input:focus{outline-color:var(--emfe-w-login-color-primary, var(--emfe-w-color-primary, #D0046C))}.email__input--invalid{border:1px solid var(--emfe-w-color-error, var(--emfe-w-color-red, #ed0909))}.email__input::placeholder{color:var(--emfe-w-color-gray-150, #828282)}.email__error-message{position:absolute;top:calc(100% + 5px);left:0;color:var(--emfe-w-color-error, var(--emfe-w-color-red, #ed0909))}.email__tooltip-icon{width:16px;height:auto}.email__tooltip{position:absolute;top:0;left:20px;background-color:var(--emfe-w-color-white, #FFFFFF);border:1px solid var(--emfe-w-color-gray-100, #E6E6E6);color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000));padding:10px;border-radius:5px;opacity:0;transition:opacity 0.3s ease-in-out;z-index:10}.email__tooltip.visible{opacity:1}";
4
+ const emailInputCss = "*,*::before,*::after{padding:0;margin:0;box-sizing:border-box}.email{font-family:\"Roboto\";font-style:normal}.email__wrapper{position:relative;width:100%;display:flex;flex-direction:column;gap:5px;height:100%}.email__wrapper--autofilled{pointer-events:none}.email__wrapper--autofilled .email__label{color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000))}.email__wrapper--autofilled .email__input::part(input-field){color:var(--emfe-w-color-black, #000000)}.email__wrapper--flex{display:flex;gap:5px}.email__wrapper--relative{position:relative}.email__label{font-family:inherit;font-style:normal;font-weight:500;font-size:16px;line-height:20px;color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000))}.email__label--required::after{content:\"*\";font-family:inherit;color:var(--emfe-w-login-color-primary, var(--emfe-w-color-primary, #D0046C));margin-left:2px}.email__input{font-family:inherit;width:100%;height:44px;border:1px solid var(--emfe-w-color-gray-100, #E6E6E6);background-color:var(--emfe-w-color-white, #FFFFFF);color:var(--emfe-w-color-black, #000000);border-radius:5px;font-size:16px;font-weight:300;line-height:1.5;padding:5px 15px}.email__input:focus{border:1px solid var(--emfe-w-login-color-primary, var(--emfe-w-color-primary, #D0046C));outline-color:var(--emfe-w-color-primary, #D0046C)}.email__input--invalid{border:1px solid var(--emfe-w-color-error, var(--emfe-w-color-red, #ed0909))}.email__input::placeholder{color:var(--emfe-w-color-gray-150, #828282)}.email__error-message{position:absolute;top:calc(100% + 5px);left:0;color:var(--emfe-w-color-error, var(--emfe-w-color-red, #ed0909))}.email__tooltip-icon{width:16px;height:auto}.email__tooltip{position:absolute;top:0;left:20px;background-color:var(--emfe-w-color-white, #FFFFFF);border:1px solid var(--emfe-w-color-gray-100, #E6E6E6);color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000));padding:10px;border-radius:5px;opacity:0;transition:opacity 0.3s ease-in-out;z-index:10}.email__tooltip.visible{opacity:1}";
5
5
 
6
6
  const EmailInput = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
7
7
  constructor() {
@@ -127,7 +127,7 @@ const EmailInput = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
127
127
  render() {
128
128
  let invalidClass = '';
129
129
  if (this.touched) {
130
- invalidClass = this.isValid == true || this.isValid == undefined ? '' : 'text__input--invalid';
130
+ invalidClass = this.isValid == true || this.isValid == undefined ? '' : 'email__input--invalid';
131
131
  }
132
132
  return h("div", { class: `email__wrapper ${this.autofilled ? 'number__wrapper--autofilled' : ''} ${this.name}__input`, ref: el => this.stylingContainer = el }, h("div", { class: 'email__wrapper--flex' }, h("label", { class: `email__label ${this.validation.mandatory ? 'email__label--required' : ''}`, htmlFor: `${this.name}__input` }, this.displayName), h("div", { class: 'email__wrapper--relative' }, this.tooltip &&
133
133
  h("img", { class: 'email__tooltip-icon', src: tooltipIconSvg, alt: "", ref: (el) => this.tooltipIconReference = el, onClick: () => this.showTooltip = !this.showTooltip }), this.renderTooltip())), h("input", { id: `${this.name}__input`, type: 'email', class: `email__input ${invalidClass}`, value: this.defaultValue, readOnly: this.autofilled, placeholder: `${this.placeholder}`, ref: (el) => this.inputReference = el, pattern: this.validationPattern, required: this.validation.mandatory, minlength: this.validation.minLength, maxlength: this.validation.maxLength, onInput: this.handleInput, onBlur: this.handleBlur }), h("small", { class: 'email__error-message' }, this.errorMessage));
@@ -804,6 +804,10 @@ const PasswordInput = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
804
804
  * Client custom styling via inline style
805
805
  */
806
806
  this.clientStyling = '';
807
+ /**
808
+ * Client Styling Url
809
+ */
810
+ this.clientStylingUrl = '';
807
811
  this.limitStylingAppends = false;
808
812
  this.showTooltip = false;
809
813
  this.value = '';
@@ -814,7 +818,7 @@ const PasswordInput = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
814
818
  this.handleInput = (event) => {
815
819
  this.value = event.target.value;
816
820
  this.calculateComplexity(this.value);
817
- this.showPopup = true;
821
+ this.validation.custom.length === 0 || (this.showPopup = true);
818
822
  this.touched = true;
819
823
  if (this.debounceTime) {
820
824
  clearTimeout(this.debounceTime);
@@ -833,14 +837,27 @@ const PasswordInput = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
833
837
  this.errorMessage = this.setErrorMessage();
834
838
  };
835
839
  this.handleFocus = () => {
836
- this.showPopup = true;
840
+ this.validation.custom.length === 0 || (this.showPopup = true);
837
841
  this.calculateComplexity(this.value);
838
842
  };
839
843
  this.setClientStyling = () => {
840
- let sheet = document.createElement('style');
844
+ const sheet = document.createElement('style');
841
845
  sheet.innerHTML = this.clientStyling;
842
846
  this.stylingContainer.prepend(sheet);
843
847
  };
848
+ this.setClientStylingURL = () => {
849
+ const url = new URL(this.clientStylingUrl);
850
+ const cssFile = document.createElement('style');
851
+ fetch(url.href)
852
+ .then((res) => res.text())
853
+ .then((data) => {
854
+ cssFile.innerHTML = data;
855
+ setTimeout(() => { this.stylingContainer.prepend(cssFile); }, 1);
856
+ })
857
+ .catch((err) => {
858
+ console.error(err);
859
+ });
860
+ };
844
861
  }
845
862
  validityChanged() {
846
863
  this.validityStateHandler({ valid: this.isValid, name: this.name });
@@ -927,11 +944,11 @@ const PasswordInput = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
927
944
  }
928
945
  calculateComplexity(password) {
929
946
  this.passwordComplexity = this.validation.custom
930
- .filter(rule => rule.rule === 'regex')
931
- .map(rule => {
932
- const ruleRegex = new RegExp(rule.pattern);
947
+ .filter(customValidation => customValidation.rule.toLowerCase() === 'regex')
948
+ .map(customValidation => {
949
+ const ruleRegex = new RegExp(customValidation.pattern);
933
950
  const passed = ruleRegex.test(password);
934
- return { rule: rule.displayName, ruleKey: rule.errorKey, passed };
951
+ return { rule: customValidation.displayName, ruleKey: customValidation.errorKey, passed };
935
952
  });
936
953
  }
937
954
  setValidity() {
@@ -1016,6 +1033,7 @@ const PasswordInput = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
1016
1033
  "emitValue": [516, "emit-value"],
1017
1034
  "isDuplicateInput": [516, "is-duplicate-input"],
1018
1035
  "clientStyling": [513, "client-styling"],
1036
+ "clientStylingUrl": [513, "client-styling-url"],
1019
1037
  "isValid": [32],
1020
1038
  "errorMessage": [32],
1021
1039
  "limitStylingAppends": [32],
@@ -3,7 +3,7 @@ import { t as translate, a as tooltipIconSvg } from './tooltipIcon.js';
3
3
  import './input-field-shared-styles.js';
4
4
  import './vaadin-combo-box.js';
5
5
 
6
- const selectInputCss = "*,*::before,*::after{padding:0;margin:0;box-sizing:border-box}:host{height:100%}vaadin-combo-box>input{background-color:var(--emfe-w-color-white, #FFFFFF);color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000));font-weight:300;font-size:16px;-webkit-font-smoothing:initial;}.select{font-family:\"Roboto\";font-style:normal}.select__wrapper{position:relative;width:100%;display:flex;flex-direction:column;gap:5px}.select__wrapper--autofilled{pointer-events:none}.select__wrapper--autofilled .select__label{color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000))}.select__wrapper--autofilled .select__input::part(input-field){color:var(--emfe-w-color-black, #000000)}.select__wrapper--flex{display:flex;gap:5px}.select__wrapper--relative{position:relative}.select__label{font-family:inherit;font-style:normal;font-weight:500;font-size:16px;line-height:20px;color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000))}.select__label--required::after{content:\"*\";font-family:inherit;color:var(--emfe-w-login-color-primary, var(--emfe-w-color-primary, #D0046C));margin-left:2px}.select__input{border:none;width:inherit;position:relative}.select__input[focused]::part(input-field){border-color:var(--emfe-w-login-color-primary, var(--emfe-w-color-primary, #D0046C))}.select__input[invalid]::part(input-field){border:1px solid var(--emfe-w-color-error, var(--emfe-w-color-red, #ed0909))}.select__input vaadin-date-picker-overlay-content>vaadin-button{color:var(--emfe-w-color-black, #000000)}.select__input::part(input-field){border-radius:4px;background-color:var(--emfe-w-color-white, #FFFFFF);border:1px solid var(--emfe-w-color-gray-100, #E6E6E6);color:var(--emfe-w-color-black, #000000);font-family:inherit;font-style:normal;font-size:16px;font-weight:300;line-height:1.5;padding:0;height:44px}.select__input::part(toggle-button){position:relative;right:10px}.select__input>input{padding:5px 15px}.select__error-message{position:absolute;top:calc(100% + 5px);left:0;color:var(--emfe-w-color-error, var(--emfe-w-color-red, #ed0909))}.select__tooltip-icon{width:16px;height:auto}.select__tooltip{position:absolute;top:0;left:20px;background-color:var(--emfe-w-color-white, #FFFFFF);border:1px solid var(--emfe-w-color-gray-100, #E6E6E6);color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000));padding:10px;border-radius:5px;opacity:0;transition:opacity 0.3s ease-in-out;z-index:10}.select__tooltip.visible{opacity:1}";
6
+ const selectInputCss = "*,*::before,*::after{padding:0;margin:0;box-sizing:border-box}:host{height:100%}vaadin-combo-box>input{background-color:var(--emfe-w-color-white, #FFFFFF);color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000));font-weight:300;font-size:16px;-webkit-font-smoothing:initial;}.select{font-family:\"Roboto\";font-style:normal}.select__wrapper{position:relative;width:100%;display:flex;flex-direction:column;gap:5px;height:100%}.select__wrapper--autofilled{pointer-events:none}.select__wrapper--autofilled .select__label{color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000))}.select__wrapper--autofilled .select__input::part(input-field){color:var(--emfe-w-color-black, #000000)}.select__wrapper--flex{display:flex;gap:5px}.select__wrapper--relative{position:relative}.select__label{font-family:inherit;font-style:normal;font-weight:500;font-size:16px;line-height:20px;color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000))}.select__label--required::after{content:\"*\";font-family:inherit;color:var(--emfe-w-login-color-primary, var(--emfe-w-color-primary, #D0046C));margin-left:2px}.select__input{border:none;width:inherit;position:relative}.select__input[focused]::part(input-field){border:1px solid var(--emfe-w-login-color-primary, var(--emfe-w-color-primary, #D0046C))}.select__input[invalid]::part(input-field){border:1px solid var(--emfe-w-color-error, var(--emfe-w-color-red, #ed0909))}.select__input vaadin-date-picker-overlay-content>vaadin-button{color:var(--emfe-w-color-black, #000000)}.select__input::part(input-field){font-family:inherit;width:100%;height:44px;border:1px solid var(--emfe-w-color-gray-100, #E6E6E6);background-color:var(--emfe-w-color-white, #FFFFFF);color:var(--emfe-w-color-black, #000000);border-radius:5px;font-size:16px;font-weight:300;line-height:1.5}.select__input::part(toggle-button){position:relative;right:10px}.select__input>input{padding:5px 15px}.select__error-message{position:absolute;top:calc(100% + 5px);left:0;color:var(--emfe-w-color-error, var(--emfe-w-color-red, #ed0909))}.select__tooltip-icon{width:16px;height:auto}.select__tooltip{position:absolute;top:0;left:20px;background-color:var(--emfe-w-color-white, #FFFFFF);border:1px solid var(--emfe-w-color-gray-100, #E6E6E6);color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000));padding:10px;border-radius:5px;opacity:0;transition:opacity 0.3s ease-in-out;z-index:10}.select__tooltip.visible{opacity:1}";
7
7
 
8
8
  const SelectInput = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
9
9
  constructor() {
@@ -137,9 +137,9 @@ const SelectInput = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
137
137
  render() {
138
138
  let invalidClass = '';
139
139
  if (this.touched) {
140
- invalidClass = this.isValid == true || this.isValid == undefined ? '' : 'text__input--invalid';
140
+ invalidClass = this.isValid == true || this.isValid == undefined ? '' : 'select__input--invalid';
141
141
  }
142
- return h("div", { class: `select__wrapper ${this.autofilled ? 'select__wrapper--autofilled' : ''} ${this.name}__input`, ref: el => this.stylingContainer = el }, h("div", { class: 'select__wrapper--flex' }, h("label", { class: 'select__label', htmlFor: `${this.name}__input` }, `${this.displayName} ${this.validation.mandatory ? '*' : ''}`), h("div", { class: 'select__wrapper--relative' }, this.tooltip &&
142
+ return h("div", { class: `select__wrapper ${this.autofilled ? 'select__wrapper--autofilled' : ''} ${this.name}__input`, ref: el => this.stylingContainer = el }, h("div", { class: 'select__wrapper--flex' }, h("label", { class: `select__label ${this.validation.mandatory ? 'select__label--required' : ''}`, htmlFor: `${this.name}__input` }, this.displayName), h("div", { class: 'select__wrapper--relative' }, this.tooltip &&
143
143
  h("img", { class: 'select__tooltip-icon', src: tooltipIconSvg, alt: "", ref: (el) => this.tooltipIconReference = el, onClick: () => this.showTooltip = !this.showTooltip }), this.renderTooltip())), h("vaadin-combo-box", { name: this.name, id: `${this.name}__input`, class: `select__input ${invalidClass} ${this.autofilled ? 'select__input--autofilled' : ''}`, "item-label-path": "label", "item-value-path": "value", readOnly: this.autofilled, required: this.validation.mandatory, value: this.defaultValue, placeholder: `${this.placeholder}`, items: this.displayedOptions, onChange: this.handleChange }), h("small", { class: 'select__error-message' }, this.errorMessage));
144
144
  }
145
145
  get element() { return this; }
@@ -80,7 +80,7 @@ const TelInput = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
80
80
  const endpoint = this.action.split(" ")[1];
81
81
  return this.getPhoneCodes(endpoint).then((options) => {
82
82
  this.phoneCodesOptions = options.phoneCodes.map(code => {
83
- return { label: code.Prefix, value: code.Prefix };
83
+ return { label: code.Prefix || code, value: code.Prefix || code };
84
84
  });
85
85
  });
86
86
  }
@@ -152,10 +152,10 @@ const TelInput = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
152
152
  render() {
153
153
  let invalidClass = '';
154
154
  if (this.touched) {
155
- invalidClass = this.isValid == true || this.isValid == undefined ? '' : 'text__input--invalid';
155
+ invalidClass = this.isValid == true || this.isValid == undefined ? '' : 'tel__wrapper--flex--invalid';
156
156
  }
157
157
  return h("div", { class: `tel__wrapper ${this.autofilled ? 'tel__wrapper--autofilled' : ''} ${this.name}__input`, ref: el => this.stylingContainer = el }, h("div", { class: 'tel__wrapper--flex-label' }, h("label", { class: `tel__label ${this.validation.mandatory ? 'tel__label--required' : ''}`, htmlFor: `${this.name}__input` }, this.displayName), h("div", { class: 'tel__wrapper--relative' }, this.tooltip &&
158
- h("img", { class: 'tel__tooltip-icon', src: tooltipIconSvg, alt: "", ref: (el) => this.tooltipIconReference = el, onClick: () => this.showTooltip = !this.showTooltip }), this.renderTooltip())), h("div", { class: `tel__wrapper--flex ${invalidClass}` }, h("vaadin-combo-box", { class: 'tel__prefix', items: this.phoneCodesOptions, value: this.prefixValue, readOnly: this.autofilled, onChange: (e) => this.handlePrefixInput(e) }), h("input", { type: "tel", ref: (el) => this.inputReference = el, id: `${this.name}__input`, readOnly: this.autofilled, class: `tel__input`, value: this.phoneValue, placeholder: `${this.placeholder}`, required: this.validation.mandatory, minlength: this.validation.minLength, maxlength: this.validation.maxLength, pattern: this.validationPattern, onInput: this.handleInput, onBlur: this.handleBlur })), h("small", { class: 'tel__error-message' }, this.errorMessage));
158
+ h("img", { class: 'tel__tooltip-icon', src: tooltipIconSvg, alt: "", ref: (el) => this.tooltipIconReference = el, onClick: () => this.showTooltip = !this.showTooltip }), this.renderTooltip())), h("div", { class: `tel__wrapper--flex ${invalidClass}` }, h("vaadin-combo-box", { class: 'tel__prefix', items: this.phoneCodesOptions, value: this.prefixValue, readOnly: this.autofilled, onChange: (e) => this.handlePrefixInput(e) }), h("input", { type: "tel", ref: (el) => this.inputReference = el, id: `${this.name}__input`, readOnly: this.autofilled, class: `tel__input`, value: this.phoneValue, placeholder: `${this.placeholder || ''}`, required: this.validation.mandatory, minlength: this.validation.minLength, maxlength: this.validation.maxLength, pattern: this.validationPattern, onInput: this.handleInput, onBlur: this.handleBlur })), h("small", { class: 'tel__error-message' }, this.errorMessage));
159
159
  }
160
160
  static get watchers() { return {
161
161
  "isValid": ["validityChanged"],
@@ -1,7 +1,7 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
2
  import { t as translate, a as tooltipIconSvg } from './tooltipIcon.js';
3
3
 
4
- const textInputCss = "*,*::before,*::after{padding:0;margin:0;box-sizing:border-box}.text{font-family:\"Roboto\";font-style:normal}.text__wrapper{position:relative;width:100%;display:flex;flex-direction:column;gap:5px;height:100%}.text__wrapper--autofilled{pointer-events:none}.text__wrapper--autofilled .text__label{color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000))}.text__wrapper--autofilled .text__input::part(input-field){color:var(--emfe-w-color-black, #000000)}.text__wrapper--flex{display:flex;gap:5px}.text__wrapper--relative{position:relative}.text__label{font-family:inherit;font-style:normal;font-weight:500;font-size:16px;line-height:20px;color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000))}.text__label--required::after{content:\"*\";font-family:inherit;color:var(--emfe-w-login-color-primary, var(--emfe-w-color-primary, #D0046C));margin-left:2px}.text__input{font-family:inherit;width:100%;height:44px;border:1px solid var(--emfe-w-color-gray-100, #E6E6E6);background-color:var(--emfe-w-color-white, #FFFFFF);color:var(--emfe-w-color-black, #000000);border-radius:5px;font-size:16px;font-weight:300;line-height:1.5;padding:5px 15px}.text__input:focus{border:1px solid var(--emfe-w-login-color-primary, var(--emfe-w-color-primary, #D0046C))}.text__input--invalid{border:1px solid var(--emfe-w-color-error, var(--emfe-w-color-red, #ed0909))}.text__input::placeholder{color:var(--emfe-w-color-gray-150, #828282)}.text__error-message{position:absolute;top:calc(100% + 5px);left:0;color:var(--emfe-w-color-error, var(--emfe-w-color-red, #ed0909))}.text__tooltip-icon{width:16px;height:auto}.text__tooltip{position:absolute;top:0;left:20px;background-color:var(--emfe-w-color-white, #FFFFFF);border:1px solid var(--emfe-w-color-gray-100, #E6E6E6);color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000));padding:10px;border-radius:5px;opacity:0;transition:opacity 0.3s ease-in-out;z-index:10}.text__tooltip.visible{opacity:1}";
4
+ const textInputCss = "*,*::before,*::after{padding:0;margin:0;box-sizing:border-box}.text{font-family:\"Roboto\";font-style:normal}.text__wrapper{position:relative;width:100%;display:flex;flex-direction:column;gap:5px;height:100%}.text__wrapper--autofilled{pointer-events:none}.text__wrapper--autofilled .text__label{color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000))}.text__wrapper--autofilled .text__input::part(input-field){color:var(--emfe-w-color-black, #000000)}.text__wrapper--flex{display:flex;gap:5px}.text__wrapper--relative{position:relative}.text__label{font-family:inherit;font-style:normal;font-weight:500;font-size:16px;line-height:20px;color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000))}.text__label--required::after{content:\"*\";font-family:inherit;color:var(--emfe-w-login-color-primary, var(--emfe-w-color-primary, #D0046C));margin-left:2px}.text__input{font-family:inherit;width:100%;height:44px;border:1px solid var(--emfe-w-color-gray-100, #E6E6E6);background-color:var(--emfe-w-color-white, #FFFFFF);color:var(--emfe-w-color-black, #000000);border-radius:5px;font-size:16px;font-weight:300;line-height:1.5;padding:5px 15px}.text__input:focus{border:1px solid var(--emfe-w-login-color-primary, var(--emfe-w-color-primary, #D0046C));outline-color:var(--emfe-w-color-primary, #D0046C)}.text__input--invalid{border:1px solid var(--emfe-w-color-error, var(--emfe-w-color-red, #ed0909))}.text__input::placeholder{color:var(--emfe-w-color-gray-150, #828282)}.text__error-message{position:absolute;top:calc(100% + 5px);left:0;color:var(--emfe-w-color-error, var(--emfe-w-color-red, #ed0909))}.text__tooltip-icon{width:16px;height:auto}.text__tooltip{position:absolute;top:0;left:20px;background-color:var(--emfe-w-color-white, #FFFFFF);border:1px solid var(--emfe-w-color-gray-100, #E6E6E6);color:var(--emfe-w-registration-typography, var(--emfe-w-color-black, #000000));padding:10px;border-radius:5px;opacity:0;transition:opacity 0.3s ease-in-out;z-index:10}.text__tooltip.visible{opacity:1}";
5
5
 
6
6
  const TextInput = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
7
7
  constructor() {