@everymatrix/general-input 1.40.0 → 1.42.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.
- package/dist/cjs/checkbox-group-input_10.cjs.entry.js +36 -19
- package/dist/cjs/general-input.cjs.entry.js +1 -1
- package/dist/cjs/general-input.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{locale.utils-26314d91.js → locale.utils-2fa6f747.js} +15 -15
- package/dist/cjs/toggle-checkbox-input.cjs.entry.js +5 -2
- package/dist/collection/components/date-input/date-input.css +1 -1
- package/dist/collection/components/date-input/date-input.js +1 -4
- package/dist/collection/components/email-input/email-input.css +11 -7
- package/dist/collection/components/email-input/email-input.js +1 -1
- package/dist/collection/components/password-input/password-input.js +42 -7
- package/dist/collection/components/select-input/select-input.css +7 -7
- package/dist/collection/components/select-input/select-input.js +2 -2
- package/dist/collection/components/tel-input/tel-input.js +3 -3
- package/dist/collection/components/text-input/text-input.css +1 -0
- package/dist/collection/components/toggle-checkbox-input/toggle-checkbox-input.js +4 -1
- package/dist/collection/utils/locale.utils.js +15 -15
- package/dist/components/date-input2.js +2 -2
- package/dist/components/email-input2.js +2 -2
- package/dist/components/general-input2.js +4 -1
- package/dist/components/password-input2.js +25 -7
- package/dist/components/select-input2.js +3 -3
- package/dist/components/tel-input2.js +3 -3
- package/dist/components/text-input2.js +1 -1
- package/dist/components/tooltipIcon.js +15 -15
- package/dist/esm/checkbox-group-input_10.entry.js +36 -19
- package/dist/esm/general-input.entry.js +1 -1
- package/dist/esm/general-input.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{locale.utils-98ceaa28.js → locale.utils-30fb5289.js} +15 -15
- package/dist/esm/toggle-checkbox-input.entry.js +5 -2
- package/dist/general-input/general-input.esm.js +1 -1
- package/dist/general-input/p-04d4b145.js +1 -0
- package/dist/general-input/p-6ae987d0.entry.js +1 -0
- package/dist/general-input/{p-5739365c.entry.js → p-b64caafa.entry.js} +47 -47
- package/dist/general-input/{p-14cd19d9.entry.js → p-f659e9ee.entry.js} +1 -1
- package/dist/types/components/password-input/password-input.d.ts +5 -0
- package/dist/types/components/toggle-checkbox-input/toggle-checkbox-input.d.ts +1 -0
- package/dist/types/components.d.ts +8 -0
- package/package.json +1 -1
- package/dist/general-input/p-7102bafb.js +0 -1
- package/dist/general-input/p-e1732a21.entry.js +0 -1
- /package/dist/types/Users/{sebastian.strulea/Documents/work → adrian.pripon/Documents/Work}/widgets-stencil/packages/general-input/.stencil/packages/general-input/stencil.config.d.ts +0 -0
|
@@ -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 ? '' : '
|
|
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));
|
|
@@ -19,6 +19,9 @@ export class ToggleCheckboxInput {
|
|
|
19
19
|
sheet.innerHTML = this.clientStyling;
|
|
20
20
|
this.stylingContainer.prepend(sheet);
|
|
21
21
|
};
|
|
22
|
+
this.handleLabelClick = (event) => {
|
|
23
|
+
event.stopPropagation();
|
|
24
|
+
};
|
|
22
25
|
}
|
|
23
26
|
validityStateHandler(inputStateEvent) {
|
|
24
27
|
this.sendValidityState.emit(inputStateEvent);
|
|
@@ -55,7 +58,7 @@ export class ToggleCheckboxInput {
|
|
|
55
58
|
}
|
|
56
59
|
}
|
|
57
60
|
renderLabel() {
|
|
58
|
-
return (h("label", { class: 'togglecheckbox__label', htmlFor: `${this.name}__input
|
|
61
|
+
return (h("label", { class: 'togglecheckbox__label', htmlFor: `${this.name}__input`, onClick: this.handleLabelClick },
|
|
59
62
|
h("div", { class: 'togglecheckbox__label-text', innerHTML: `${this.displayName} ${this.validation.mandatory ? '*' : ''}` })));
|
|
60
63
|
}
|
|
61
64
|
renderTooltip() {
|
|
@@ -14,9 +14,9 @@ export const TRANSLATIONS = {
|
|
|
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": "
|
|
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": {
|
|
@@ -32,9 +32,9 @@ export const TRANSLATIONS = {
|
|
|
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": "
|
|
37
|
-
"
|
|
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": {
|
|
@@ -51,9 +51,9 @@ export const TRANSLATIONS = {
|
|
|
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": "
|
|
55
|
-
"MustContainCapital": "
|
|
56
|
-
"
|
|
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
59
|
"tr": {
|
|
@@ -89,9 +89,9 @@ export const TRANSLATIONS = {
|
|
|
89
89
|
"InvalidEmailFormat": "Formato de email inválido",
|
|
90
90
|
"EmailNotMatching": "E-mail não corresponde",
|
|
91
91
|
"PasswordNotMatching": "Senha não corresponde",
|
|
92
|
-
"MustIncludeNumber": "
|
|
93
|
-
"MustContainCapital": "
|
|
94
|
-
"
|
|
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",
|
|
95
95
|
"OnlyNumbers": "Deve conter apenas números"
|
|
96
96
|
},
|
|
97
97
|
"es-mx": {
|
|
@@ -108,9 +108,9 @@ export const TRANSLATIONS = {
|
|
|
108
108
|
"InvalidEmailFormat": "Formato inválido de correo",
|
|
109
109
|
"EmailNotMatching": "El correo electrónico no coincide",
|
|
110
110
|
"PasswordNotMatching": "La contraseña no coincide",
|
|
111
|
-
"MustIncludeNumber": "
|
|
112
|
-
"MustContainCapital": "
|
|
113
|
-
"
|
|
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",
|
|
114
114
|
"OnlyNumbers": "Solo debe contener números"
|
|
115
115
|
}
|
|
116
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
|
|
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' : ''}
|
|
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;
|
|
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 ? '' : '
|
|
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));
|
|
@@ -36,6 +36,9 @@ const ToggleCheckboxInput = /*@__PURE__*/ proxyCustomElement(class extends HTMLE
|
|
|
36
36
|
sheet.innerHTML = this.clientStyling;
|
|
37
37
|
this.stylingContainer.prepend(sheet);
|
|
38
38
|
};
|
|
39
|
+
this.handleLabelClick = (event) => {
|
|
40
|
+
event.stopPropagation();
|
|
41
|
+
};
|
|
39
42
|
}
|
|
40
43
|
validityStateHandler(inputStateEvent) {
|
|
41
44
|
this.sendValidityState.emit(inputStateEvent);
|
|
@@ -72,7 +75,7 @@ const ToggleCheckboxInput = /*@__PURE__*/ proxyCustomElement(class extends HTMLE
|
|
|
72
75
|
}
|
|
73
76
|
}
|
|
74
77
|
renderLabel() {
|
|
75
|
-
return (h("label", { class: 'togglecheckbox__label', htmlFor: `${this.name}__input
|
|
78
|
+
return (h("label", { class: 'togglecheckbox__label', htmlFor: `${this.name}__input`, onClick: this.handleLabelClick }, h("div", { class: 'togglecheckbox__label-text', innerHTML: `${this.displayName} ${this.validation.mandatory ? '*' : ''}` })));
|
|
76
79
|
}
|
|
77
80
|
renderTooltip() {
|
|
78
81
|
if (this.showTooltip) {
|
|
@@ -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
|
-
|
|
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(
|
|
931
|
-
.map(
|
|
932
|
-
const ruleRegex = new RegExp(
|
|
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:
|
|
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
|
|
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 ? '' : '
|
|
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'
|
|
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 ? '' : '
|
|
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() {
|
|
@@ -14,9 +14,9 @@ const TRANSLATIONS = {
|
|
|
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": "
|
|
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": {
|
|
@@ -32,9 +32,9 @@ const TRANSLATIONS = {
|
|
|
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": "
|
|
37
|
-
"
|
|
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": {
|
|
@@ -51,9 +51,9 @@ const TRANSLATIONS = {
|
|
|
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": "
|
|
55
|
-
"MustContainCapital": "
|
|
56
|
-
"
|
|
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
59
|
"tr": {
|
|
@@ -89,9 +89,9 @@ const TRANSLATIONS = {
|
|
|
89
89
|
"InvalidEmailFormat": "Formato de email inválido",
|
|
90
90
|
"EmailNotMatching": "E-mail não corresponde",
|
|
91
91
|
"PasswordNotMatching": "Senha não corresponde",
|
|
92
|
-
"MustIncludeNumber": "
|
|
93
|
-
"MustContainCapital": "
|
|
94
|
-
"
|
|
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",
|
|
95
95
|
"OnlyNumbers": "Deve conter apenas números"
|
|
96
96
|
},
|
|
97
97
|
"es-mx": {
|
|
@@ -108,9 +108,9 @@ const TRANSLATIONS = {
|
|
|
108
108
|
"InvalidEmailFormat": "Formato inválido de correo",
|
|
109
109
|
"EmailNotMatching": "El correo electrónico no coincide",
|
|
110
110
|
"PasswordNotMatching": "La contraseña no coincide",
|
|
111
|
-
"MustIncludeNumber": "
|
|
112
|
-
"MustContainCapital": "
|
|
113
|
-
"
|
|
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",
|
|
114
114
|
"OnlyNumbers": "Solo debe contener números"
|
|
115
115
|
}
|
|
116
116
|
};
|