@everymatrix/general-input 1.69.2 → 1.70.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 (35) hide show
  1. package/dist/cjs/{general-input.cjs.entry.js → checkbox-group-input_13.cjs.entry.js} +12269 -4776
  2. package/dist/cjs/general-input.cjs.js +2 -2
  3. package/dist/cjs/{index-bce82d29.js → index-9179e91b.js} +6 -11
  4. package/dist/cjs/loader.cjs.js +2 -2
  5. package/dist/collection/collection-manifest.json +2 -1
  6. package/dist/collection/components/date-input/date-input.js +13 -4
  7. package/dist/collection/components/general-input/general-input.js +40 -1
  8. package/dist/collection/components/twofa-input/twofa-input.css +56 -0
  9. package/dist/collection/components/twofa-input/twofa-input.js +495 -0
  10. package/dist/collection/utils/locale.utils.js +36 -11
  11. package/dist/esm/{general-input.entry.js → checkbox-group-input_13.entry.js} +12259 -4778
  12. package/dist/esm/general-input.js +3 -3
  13. package/dist/esm/{index-34f25346.js → index-ed8fc8f4.js} +6 -11
  14. package/dist/esm/loader.js +3 -3
  15. package/dist/general-input/{general-input.entry.js → checkbox-group-input_13.entry.js} +222 -222
  16. package/dist/general-input/general-input.esm.js +1 -1
  17. package/dist/general-input/{index-34f25346.js → index-ed8fc8f4.js} +2 -2
  18. package/dist/types/components/date-input/date-input.d.ts +1 -0
  19. package/dist/types/components/general-input/general-input.d.ts +4 -0
  20. package/dist/types/components/twofa-input/twofa-input.d.ts +84 -0
  21. package/dist/types/components.d.ts +129 -0
  22. package/dist/types/utils/types.d.ts +17 -12
  23. package/package.json +1 -1
  24. package/dist/cjs/checkbox-group-input_10.cjs.entry.js +0 -6677
  25. package/dist/cjs/locale.utils-f0ae0a97.js +0 -165
  26. package/dist/cjs/toggle-checkbox-input.cjs.entry.js +0 -118
  27. package/dist/cjs/tooltipIcon-7e9ee226.js +0 -5
  28. package/dist/esm/checkbox-group-input_10.entry.js +0 -6664
  29. package/dist/esm/locale.utils-14c3dac3.js +0 -162
  30. package/dist/esm/toggle-checkbox-input.entry.js +0 -114
  31. package/dist/esm/tooltipIcon-0a5a06a2.js +0 -3
  32. package/dist/general-input/checkbox-group-input_10.entry.js +0 -1
  33. package/dist/general-input/locale.utils-14c3dac3.js +0 -1
  34. package/dist/general-input/toggle-checkbox-input.entry.js +0 -1
  35. package/dist/general-input/tooltipIcon-0a5a06a2.js +0 -1
@@ -0,0 +1,495 @@
1
+ import { h } from "@stencil/core";
2
+ import { translate } from "../../utils/locale.utils";
3
+ export class TwofaInput {
4
+ constructor() {
5
+ this.validationPattern = '';
6
+ this.stylingContainer = null;
7
+ this.tooltipReference = null;
8
+ this.tooltipIconReference = null;
9
+ this.inputRefs = [];
10
+ this.containerRef = null;
11
+ this.resendInterval = null;
12
+ this.resendCodeHandler = () => {
13
+ this.triggerResendInterval();
14
+ this.resendCode.emit();
15
+ };
16
+ this.setInputRef = (el, idx) => {
17
+ if (el) {
18
+ this.inputRefs[idx] = el;
19
+ }
20
+ };
21
+ this.setContainerRef = (el) => {
22
+ if (el) {
23
+ this.containerRef = el;
24
+ }
25
+ };
26
+ this.triggerResendInterval = () => {
27
+ this.isResendButtonAvailable = false;
28
+ if (this.resendInterval) {
29
+ clearInterval(this.resendInterval);
30
+ }
31
+ this.resendInterval = setInterval(() => {
32
+ if (--this.resendIntervalSecondsLeft <= 0) {
33
+ clearInterval(this.resendInterval);
34
+ this.resendIntervalSecondsLeft = this.resendIntervalSeconds;
35
+ this.isResendButtonAvailable = true;
36
+ }
37
+ }, 1000);
38
+ };
39
+ this.formatTime = () => {
40
+ const minutes = String(Math.floor(this.resendIntervalSecondsLeft / 60));
41
+ let seconds = String(this.resendIntervalSecondsLeft % 60);
42
+ if (seconds.length === 1) {
43
+ seconds = '0' + seconds;
44
+ }
45
+ return `${minutes}:${seconds}`;
46
+ };
47
+ this.handleInput = (e, idx) => {
48
+ const input = e.target;
49
+ const value = input.value;
50
+ if (value.length > 1) {
51
+ input.value = value.charAt(1);
52
+ }
53
+ else {
54
+ input.value = value.charAt(0);
55
+ }
56
+ if (!value) {
57
+ return;
58
+ }
59
+ this.code[idx] = input.value;
60
+ const nextInput = this.inputRefs[idx + 1];
61
+ if (nextInput) {
62
+ nextInput.focus();
63
+ }
64
+ this.setValidity();
65
+ this.setErrorMessage();
66
+ };
67
+ this.setClientStyling = () => {
68
+ let sheet = document.createElement('style');
69
+ sheet.innerHTML = this.clientStyling;
70
+ this.stylingContainer.prepend(sheet);
71
+ };
72
+ this.name = '';
73
+ this.displayName = '';
74
+ this.placeholder = '';
75
+ this.validation = undefined;
76
+ this.tooltip = '';
77
+ this.language = 'en';
78
+ this.emitValue = true;
79
+ this.destination = '';
80
+ this.resendIntervalSeconds = 60;
81
+ this.clientStyling = '';
82
+ this.limitStylingAppends = false;
83
+ this.isValid = false;
84
+ this.isResendButtonAvailable = true;
85
+ this.showTooltip = false;
86
+ this.errorMessage = '';
87
+ this.code = [];
88
+ this.resendIntervalSecondsLeft = this.resendIntervalSeconds;
89
+ }
90
+ handleStylingChange(newValue, oldValue) {
91
+ if (newValue !== oldValue)
92
+ this.setClientStyling();
93
+ }
94
+ validityChanged() {
95
+ this.validityStateHandler({ valid: this.isValid, name: this.name });
96
+ if (this.emitValue == true) {
97
+ this.valueHandler({ name: this.name, value: this.code.join('') });
98
+ }
99
+ }
100
+ emitValueHandler(newValue) {
101
+ if (newValue == true && this.isValid) {
102
+ this.valueHandler({ name: this.name, value: this.code.join('') });
103
+ }
104
+ }
105
+ validityStateHandler(inputStateEvent) {
106
+ this.sendValidityState.emit(inputStateEvent);
107
+ }
108
+ valueHandler(inputValueEvent) {
109
+ this.sendInputValue.emit(inputValueEvent);
110
+ }
111
+ handleClickOutside(event) {
112
+ if (event.composedPath()[0] === this.tooltipIconReference)
113
+ return;
114
+ if (event.composedPath()[0] !== this.tooltipReference)
115
+ this.showTooltip = false;
116
+ }
117
+ connectedCallback() {
118
+ this.validationPattern = this.setPattern();
119
+ this.code = new Array(this.validation.maxLength).fill('');
120
+ }
121
+ componentDidRender() {
122
+ if (!this.limitStylingAppends && this.stylingContainer) {
123
+ if (this.clientStyling) {
124
+ this.setClientStyling();
125
+ }
126
+ this.limitStylingAppends = true;
127
+ }
128
+ }
129
+ componentDidLoad() {
130
+ this.setValidity();
131
+ }
132
+ handleKeyDown(e, idx) {
133
+ if (e.key === 'Backspace') {
134
+ this.code[idx] = '';
135
+ if (this.inputRefs[idx]) {
136
+ this.inputRefs[idx].value = '';
137
+ } // Clear input field
138
+ const prevInput = this.inputRefs[idx - 1];
139
+ if (prevInput) {
140
+ prevInput === null || prevInput === void 0 ? void 0 : prevInput.focus();
141
+ }
142
+ }
143
+ this.setValidity();
144
+ this.setErrorMessage();
145
+ }
146
+ handlePaste(e) {
147
+ var _a;
148
+ e.preventDefault();
149
+ const data = (_a = e.clipboardData) === null || _a === void 0 ? void 0 : _a.getData('text').trim();
150
+ if (!data) {
151
+ return;
152
+ }
153
+ const value = data.slice(0, this.validation.maxLength).split(''); // Limit to OTP length
154
+ this.code = [...value, ...new Array(this.validation.maxLength - value.length).fill('')];
155
+ value.forEach((char, index) => {
156
+ this.inputRefs[index].value = char;
157
+ });
158
+ // Move focus to the last input or trigger submit
159
+ const lastInput = this.inputRefs[Math.min(value.length, this.inputRefs.length - 1)];
160
+ if (lastInput) {
161
+ lastInput.focus();
162
+ }
163
+ this.setValidity();
164
+ this.setErrorMessage();
165
+ }
166
+ setValidity() {
167
+ const code = this.code.join('');
168
+ const inputMatchLength = code.length === this.validation.maxLength;
169
+ const inputMatchValidation = code.match(this.validationPattern) !== null;
170
+ this.isValid = inputMatchLength && inputMatchValidation;
171
+ }
172
+ setPattern() {
173
+ var _a, _b;
174
+ if (((_a = this.validation.custom) === null || _a === void 0 ? void 0 : _a.length) > 0) {
175
+ return (_b = this.validation.custom.find(customValidation => customValidation.rule === 'regex')) === null || _b === void 0 ? void 0 : _b.pattern;
176
+ }
177
+ }
178
+ setErrorMessage() {
179
+ var _a;
180
+ const inputMatchValidation = this.code.join('').match(this.validationPattern) !== null;
181
+ if (!inputMatchValidation) {
182
+ const errorKey = (_a = this.validation.custom.find(customValidation => customValidation.rule === 'regex')) === null || _a === void 0 ? void 0 : _a.errorKey;
183
+ if (errorKey) {
184
+ this.errorMessage = translate(errorKey, this.language);
185
+ }
186
+ }
187
+ else {
188
+ this.errorMessage = '';
189
+ }
190
+ }
191
+ renderTooltip() {
192
+ if (this.showTooltip) {
193
+ return h("div", { class: `text__tooltip ${this.showTooltip ? 'visible' : ''}`, ref: (el) => this.tooltipReference = el, innerHTML: this.tooltip });
194
+ }
195
+ return null;
196
+ }
197
+ render() {
198
+ return (h("div", { key: 'cc140f18806c0cc8e4ff614a1a3448dbca667fa7', class: "twofa" }, h("div", { key: 'fc3b603e1d1a7187417301dfebe80dabfd8cda67', class: 'twofa__error-message' }, h("p", { key: '60e2cff194ec862de20aa443864861d784b8dc01' }, this.errorMessage)), h("div", { key: '244505408204938069dca1f60dbe051716f66f85', class: "twofa__description", innerHTML: translate('twofaDescription', this.language, { values: { destination: this.destination } }) }), h("div", { key: 'acb6b8e1676a884d1c7ceced800f6ba3a2e80bc7', class: "twofa__input-wrapper", ref: this.setContainerRef }, this.code.map((char, idx) => {
199
+ return (h("input", { key: idx, ref: el => this.setInputRef(el, idx), id: `otp-input-${idx}`, type: "text", maxLength: 2, value: char, onInput: (event) => this.handleInput(event, idx), onKeyDown: (event) => this.handleKeyDown(event, idx), onPaste: (event) => this.handlePaste(event) }));
200
+ })), h("div", { key: '446eba5a8fe3fb0ede66869642d395bac9c6b8d6', class: "twofa__button-wrapper" }, h("p", { key: '9f205fd87920d866d49eb98b2a8ab6f3764fd274', class: "twofa__resend-message" }, translate('twofaResendMessage', this.language)), h("button", { key: 'efd2294b1d85a78c0d65262cc2004b5e63a898ab', class: "twofa__resend-button", onClick: this.resendCodeHandler, disabled: !this.isResendButtonAvailable }, this.isResendButtonAvailable
201
+ ? translate('twofaResendButton', this.language)
202
+ : this.formatTime()))));
203
+ }
204
+ static get is() { return "twofa-input"; }
205
+ static get encapsulation() { return "shadow"; }
206
+ static get originalStyleUrls() {
207
+ return {
208
+ "$": ["twofa-input.scss"]
209
+ };
210
+ }
211
+ static get styleUrls() {
212
+ return {
213
+ "$": ["twofa-input.css"]
214
+ };
215
+ }
216
+ static get properties() {
217
+ return {
218
+ "name": {
219
+ "type": "string",
220
+ "mutable": false,
221
+ "complexType": {
222
+ "original": "string",
223
+ "resolved": "string",
224
+ "references": {}
225
+ },
226
+ "required": false,
227
+ "optional": false,
228
+ "docs": {
229
+ "tags": [],
230
+ "text": "Name of the input."
231
+ },
232
+ "attribute": "name",
233
+ "reflect": true,
234
+ "defaultValue": "''"
235
+ },
236
+ "displayName": {
237
+ "type": "string",
238
+ "mutable": false,
239
+ "complexType": {
240
+ "original": "string",
241
+ "resolved": "string",
242
+ "references": {}
243
+ },
244
+ "required": false,
245
+ "optional": false,
246
+ "docs": {
247
+ "tags": [],
248
+ "text": "Name of input to be shown to the user."
249
+ },
250
+ "attribute": "display-name",
251
+ "reflect": true,
252
+ "defaultValue": "''"
253
+ },
254
+ "placeholder": {
255
+ "type": "string",
256
+ "mutable": false,
257
+ "complexType": {
258
+ "original": "string",
259
+ "resolved": "string",
260
+ "references": {}
261
+ },
262
+ "required": false,
263
+ "optional": false,
264
+ "docs": {
265
+ "tags": [],
266
+ "text": "Placeholder text to be shown."
267
+ },
268
+ "attribute": "placeholder",
269
+ "reflect": true,
270
+ "defaultValue": "''"
271
+ },
272
+ "validation": {
273
+ "type": "unknown",
274
+ "mutable": false,
275
+ "complexType": {
276
+ "original": "ValidationSchema",
277
+ "resolved": "ValidationSchema",
278
+ "references": {
279
+ "ValidationSchema": {
280
+ "location": "import",
281
+ "path": "../../utils/types",
282
+ "id": "../../../../packages/stencil/general-input/src/utils/types.ts::ValidationSchema"
283
+ }
284
+ }
285
+ },
286
+ "required": false,
287
+ "optional": false,
288
+ "docs": {
289
+ "tags": [],
290
+ "text": "Object of validation rules for the input."
291
+ }
292
+ },
293
+ "tooltip": {
294
+ "type": "string",
295
+ "mutable": false,
296
+ "complexType": {
297
+ "original": "string",
298
+ "resolved": "string",
299
+ "references": {}
300
+ },
301
+ "required": false,
302
+ "optional": false,
303
+ "docs": {
304
+ "tags": [],
305
+ "text": "Tooltip text."
306
+ },
307
+ "attribute": "tooltip",
308
+ "reflect": true,
309
+ "defaultValue": "''"
310
+ },
311
+ "language": {
312
+ "type": "string",
313
+ "mutable": false,
314
+ "complexType": {
315
+ "original": "string",
316
+ "resolved": "string",
317
+ "references": {}
318
+ },
319
+ "required": false,
320
+ "optional": false,
321
+ "docs": {
322
+ "tags": [],
323
+ "text": "Currently selected language."
324
+ },
325
+ "attribute": "language",
326
+ "reflect": true,
327
+ "defaultValue": "'en'"
328
+ },
329
+ "emitValue": {
330
+ "type": "boolean",
331
+ "mutable": false,
332
+ "complexType": {
333
+ "original": "boolean",
334
+ "resolved": "boolean",
335
+ "references": {}
336
+ },
337
+ "required": false,
338
+ "optional": false,
339
+ "docs": {
340
+ "tags": [],
341
+ "text": "State passed down from the parent element. Will trigger the input to send it's value through an event."
342
+ },
343
+ "attribute": "emit-value",
344
+ "reflect": true,
345
+ "defaultValue": "true"
346
+ },
347
+ "destination": {
348
+ "type": "string",
349
+ "mutable": false,
350
+ "complexType": {
351
+ "original": "string",
352
+ "resolved": "string",
353
+ "references": {}
354
+ },
355
+ "required": false,
356
+ "optional": false,
357
+ "docs": {
358
+ "tags": [],
359
+ "text": "destination where the code is sent, only for display purposes here"
360
+ },
361
+ "attribute": "destination",
362
+ "reflect": true,
363
+ "defaultValue": "''"
364
+ },
365
+ "resendIntervalSeconds": {
366
+ "type": "number",
367
+ "mutable": false,
368
+ "complexType": {
369
+ "original": "number",
370
+ "resolved": "number",
371
+ "references": {}
372
+ },
373
+ "required": false,
374
+ "optional": false,
375
+ "docs": {
376
+ "tags": [],
377
+ "text": "code resend interval in seconds"
378
+ },
379
+ "attribute": "resend-interval-seconds",
380
+ "reflect": true,
381
+ "defaultValue": "60"
382
+ },
383
+ "clientStyling": {
384
+ "type": "string",
385
+ "mutable": false,
386
+ "complexType": {
387
+ "original": "string",
388
+ "resolved": "string",
389
+ "references": {}
390
+ },
391
+ "required": false,
392
+ "optional": false,
393
+ "docs": {
394
+ "tags": [],
395
+ "text": "Client custom styling via inline style"
396
+ },
397
+ "attribute": "client-styling",
398
+ "reflect": true,
399
+ "defaultValue": "''"
400
+ }
401
+ };
402
+ }
403
+ static get states() {
404
+ return {
405
+ "limitStylingAppends": {},
406
+ "isValid": {},
407
+ "isResendButtonAvailable": {},
408
+ "showTooltip": {},
409
+ "errorMessage": {},
410
+ "code": {},
411
+ "resendIntervalSecondsLeft": {}
412
+ };
413
+ }
414
+ static get events() {
415
+ return [{
416
+ "method": "sendValidityState",
417
+ "name": "sendValidityState",
418
+ "bubbles": true,
419
+ "cancelable": true,
420
+ "composed": true,
421
+ "docs": {
422
+ "tags": [],
423
+ "text": ""
424
+ },
425
+ "complexType": {
426
+ "original": "InputStateEvent",
427
+ "resolved": "InputStateEvent",
428
+ "references": {
429
+ "InputStateEvent": {
430
+ "location": "import",
431
+ "path": "../../utils/types",
432
+ "id": "../../../../packages/stencil/general-input/src/utils/types.ts::InputStateEvent"
433
+ }
434
+ }
435
+ }
436
+ }, {
437
+ "method": "sendInputValue",
438
+ "name": "sendInputValue",
439
+ "bubbles": true,
440
+ "cancelable": true,
441
+ "composed": true,
442
+ "docs": {
443
+ "tags": [],
444
+ "text": ""
445
+ },
446
+ "complexType": {
447
+ "original": "InputValueEvent",
448
+ "resolved": "InputValueEvent",
449
+ "references": {
450
+ "InputValueEvent": {
451
+ "location": "import",
452
+ "path": "../../utils/types",
453
+ "id": "../../../../packages/stencil/general-input/src/utils/types.ts::InputValueEvent"
454
+ }
455
+ }
456
+ }
457
+ }, {
458
+ "method": "resendCode",
459
+ "name": "resendCode",
460
+ "bubbles": true,
461
+ "cancelable": true,
462
+ "composed": true,
463
+ "docs": {
464
+ "tags": [],
465
+ "text": ""
466
+ },
467
+ "complexType": {
468
+ "original": "void",
469
+ "resolved": "void",
470
+ "references": {}
471
+ }
472
+ }];
473
+ }
474
+ static get watchers() {
475
+ return [{
476
+ "propName": "clientStyling",
477
+ "methodName": "handleStylingChange"
478
+ }, {
479
+ "propName": "isValid",
480
+ "methodName": "validityChanged"
481
+ }, {
482
+ "propName": "emitValue",
483
+ "methodName": "emitValueHandler"
484
+ }];
485
+ }
486
+ static get listeners() {
487
+ return [{
488
+ "name": "click",
489
+ "method": "handleClickOutside",
490
+ "target": "document",
491
+ "capture": false,
492
+ "passive": false
493
+ }];
494
+ }
495
+ }
@@ -3,6 +3,7 @@ export const TRANSLATIONS = {
3
3
  "en": {
4
4
  "dateError": "The selected date should be between {min} and {max}",
5
5
  "dateError2": "The selected date is not within the accepted range",
6
+ "dateFormatError": "The selected date has a different format then the one required.",
6
7
  "numberLengthError": "The number should be between {min} and {max}",
7
8
  "lengthError": "The length should be between {minLength} and {maxLength}",
8
9
  "requiredError": "This input is required.",
@@ -18,12 +19,17 @@ export const TRANSLATIONS = {
18
19
  "MustIncludeNumber": "Password must include a number",
19
20
  "MustContainCapital": "Password must include a capital letter",
20
21
  "MustIncludePunctation": "Password must include punctuation",
21
- "OnlyNumbers": "Should contains only numbers.",
22
+ "OnlyNumbers": "The input should contain only digits.",
22
23
  "InvalidFieldSize": "The length must be exactly 11 digits.",
23
- "InvalidDocumentNumber": "Only numerical characters are allowed."
24
+ "InvalidDocumentNumber": "Only numerical characters are allowed.",
25
+ "twofaDescription": "<p> We have sent the verification code to <p> {destination}. </p> </p> <p> Please insert the PIN below. </p>",
26
+ "twofaResendMessage": "Didn't receive the verification code?",
27
+ "twofaResendButton": "Resend",
24
28
  },
25
29
  "hu": {
26
30
  "dateError": "A választott dátumnak {min} és {max} között kell lennie",
31
+ "dateError2": "A kiválasztott dátum nincs az elfogadott tartományon belül",
32
+ "dateFormatError": "A kiválasztott dátum formátuma eltér a szükségestől.",
27
33
  "numberLengthError": "A számnak {min} és {max} között kell lennie",
28
34
  "lengthError": "A hossznak {minLength} és {maxLength} között kell lennie",
29
35
  "requiredError": "Ez a beviteli mező kötelező.",
@@ -39,13 +45,17 @@ export const TRANSLATIONS = {
39
45
  "MustIncludeNumber": "A jelszónak tartalmaznia kell egy számot",
40
46
  "MustContainCapital": "A jelszónak tartalmaznia kell egy nagybetűt",
41
47
  "MustIncludePunctation": "A jelszónak tartalmaznia kell írásjelet",
42
- "OnlyNumbers": "Csak számokat kell tartalmaznia.",
48
+ "OnlyNumbers": "Csak számjegyeket tartalmazhat.",
43
49
  "InvalidFieldSize": "A hosszúságnak pontosan 11 számjegynek kell lennie.",
44
50
  "InvalidDocumentNumber": "Csak számjegyek engedélyezettek.",
51
+ "twofaDescription": "<p> A megerősítő kódot elküldtük a következő címre: <p> {destination}. </p> </p> <p> Kérjük, írja be az alábbi PIN-kódot. </p>",
52
+ "twofaResendMessage": "Nem kapta meg a megerősítő kódot?",
53
+ "twofaResendButton": "Újraküldés"
45
54
  },
46
55
  "hr": {
47
56
  "dateError": "Odabrani datum treba biti između {min} i {max}",
48
57
  "dateError2": "Odabrani datum nije unutar prihvaćenog raspona",
58
+ "dateFormatError": "Odabrani datum je u drugačijem formatu od potrebnog.",
49
59
  "numberLengthError": "Broj bi trebao biti između {min} i {max}",
50
60
  "lengthError": "Duljina bi trebala biti između {minLength} i {maxLength}",
51
61
  "requiredError": "Ovaj unos je obavezan.",
@@ -61,13 +71,17 @@ export const TRANSLATIONS = {
61
71
  "MustIncludeNumber": "Lozinka mora sadržavati broj",
62
72
  "MustContainCapital": "Lozinka mora sadržavati veliko slovo",
63
73
  "MustIncludePunctation": "Lozinka mora sadržavati barem jedan znak",
64
- "OnlyNumbers": "Treba sadržavati samo brojeve.",
74
+ "OnlyNumbers": "Smije sadržavati samo znamenke.",
65
75
  "InvalidFieldSize": "Dužina mora biti točno 11 znamenki.",
66
- "InvalidDocumentNumber": "Dopušteni su samo numerički znakovi."
76
+ "InvalidDocumentNumber": "Dopušteni su samo numerički znakovi.",
77
+ "twofaDescription": "<p> Poslali smo verifikacijski kod na: <p> {destination}. </p> </p> <p> Molimo unesite PIN ispod. </p>",
78
+ "twofaResendMessage": "Niste primili verifikacijski kod?",
79
+ "twofaResendButton": "Ponovno pošalji"
67
80
  },
68
81
  "tr": {
69
82
  "dateError": "Seçilen tarih {min} ve {max} arasında olmalıdır",
70
83
  "dateError2": "Seçilen tarih kabul edilen aralıkta değil",
84
+ "dateFormatError": "Seçilen tarihin formatı, gereken formattan farklı.",
71
85
  "numberLengthError": "Sayı {min} ve {max} arasında olmalıdır",
72
86
  "lengthError": "Uzunluk {minLength} ve {maxLength} arasında olmalıdır",
73
87
  "requiredError": "Bu alan zorunludur.",
@@ -83,13 +97,17 @@ export const TRANSLATIONS = {
83
97
  "MustIncludeNumber": "bir sayı içermelidir",
84
98
  "MustContainCapital": "büyük harf içermelidir",
85
99
  "MustIncludePunctation": "noktalama işareti içermelidir",
86
- "OnlyNumbers": "Sadece sayılar içermelidir.",
100
+ "OnlyNumbers": "Yalnızca rakamlar içermelidir.",
87
101
  "InvalidFieldSize": "Uzunluk tam olarak 11 rakam olmalıdır.",
88
- "InvalidDocumentNumber": "Sadece sayısal karakterlere izin verilir."
102
+ "InvalidDocumentNumber": "Sadece sayısal karakterlere izin verilir.",
103
+ "twofaDescription": "<p> Doğrulama kodunu şu adrese gönderdik: <p> {destination}. </p> </p> <p> Lütfen aşağıya PIN kodunu girin. </p>",
104
+ "twofaResendMessage": "Doğrulama kodunu almadınız mı?",
105
+ "twofaResendButton": "Yeniden gönder"
89
106
  },
90
107
  "pt-br": {
91
108
  "dateError": "A data selecionada deve estar entre {min} e {max}",
92
109
  "dateError2": "A data selecionada não está dentro de um intervalo válido",
110
+ "dateFormatError": "A data selecionada está em um formato diferente do exigido.",
93
111
  "numberLengthError": "O número deve estar entre {min} e {max}",
94
112
  "lengthError": "O comprimento deve estar entre {minLength} e {maxLength}",
95
113
  "requiredError": "Este campo é obrigatório",
@@ -105,13 +123,17 @@ export const TRANSLATIONS = {
105
123
  "MustIncludeNumber": "A senha deve incluir um número",
106
124
  "MustContainCapital": "A senha deve incluir uma letra maiúscula",
107
125
  "MustIncludePunctation": "A senha deve incluir um sinal de pontuação",
108
- "OnlyNumbers": "Deve conter apenas números",
126
+ "OnlyNumbers": "Deve conter apenas dígitos.",
109
127
  "InvalidFieldSize": "O comprimento deve ser exatamente 11 dígitos.",
110
- "InvalidDocumentNumber": "Apenas caracteres numéricos são permitidos."
128
+ "InvalidDocumentNumber": "Apenas caracteres numéricos são permitidos.",
129
+ "twofaDescription": "<p> Enviamos o código de verificação para: <p> {destination}. </p> </p> <p> Por favor, insira o PIN abaixo. </p>",
130
+ "twofaResendMessage": "Não recebeu o código de verificação?",
131
+ "twofaResendButton": "Reenviar"
111
132
  },
112
133
  "es-mx": {
113
134
  "dateError": "La fecha seleccionada debe ser entre {min} y {max}",
114
135
  "dateError2": "La fecha seleccionada no está dentro de un rango válido",
136
+ "dateFormatError": "La fecha seleccionada tiene un formato diferente al requerido.",
115
137
  "numberLengthError": "El número debe ser entre {min} y {max}",
116
138
  "lengthError": "La longitud deber ser entre {minLength} y {maxLength}",
117
139
  "requiredError": "Este campo es requerido",
@@ -127,9 +149,12 @@ export const TRANSLATIONS = {
127
149
  "MustIncludeNumber": "La contraseña debe incluir un número",
128
150
  "MustContainCapital": "La contraseña debe incluir una letra mayúscula",
129
151
  "MustIncludePunctation": "La contraseña debe incluir un signo de puntuación",
130
- "OnlyNumbers": "Solo debe contener números",
152
+ "OnlyNumbers": "Debe contener solo dígitos.",
131
153
  "InvalidFieldSize": "La longitud debe ser exactamente de 11 dígitos.",
132
- "InvalidDocumentNumber": "Solo se permiten caracteres numéricos."
154
+ "InvalidDocumentNumber": "Solo se permiten caracteres numéricos.",
155
+ "twofaDescription": "<p> Hemos enviado el código de verificación a: <p> {destination}. </p> </p> <p> Por favor, ingrese el PIN a continuación. </p>",
156
+ "twofaResendMessage": "¿No recibiste el código de verificación?",
157
+ "twofaResendButton": "Reenviar"
133
158
  }
134
159
  };
135
160
  export const translate = (key, customLang, values) => {