@xsolla/payment-client-core 0.1.5 → 0.1.6

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 (110) hide show
  1. package/esm2020/lib/core/payment/form/controls/card-number/card-number-control.config.mjs +10 -0
  2. package/esm2020/lib/core/payment/form/controls/checkbox/checkbox-control.config.mjs +10 -0
  3. package/esm2020/lib/core/payment/form/controls/coupon/coupon-control.config.mjs +8 -0
  4. package/esm2020/lib/core/payment/form/controls/radio-control/radio-control.config.mjs +9 -0
  5. package/esm2020/lib/core/payment/form/controls/radio-control/radio-option.interface.mjs +2 -0
  6. package/esm2020/lib/core/payment/form/controls/search-select/search-select-control.config.mjs +8 -0
  7. package/esm2020/lib/core/payment/form/controls/search-select/search-select-option.interface.mjs +2 -0
  8. package/esm2020/lib/core/payment/form/controls/search-select/select-option.interface.mjs +2 -0
  9. package/esm2020/lib/core/payment/form/converters/birth-date/birth-date.converter.mjs +38 -0
  10. package/esm2020/lib/core/payment/form/converters/card-month/card-month.converter.mjs +38 -0
  11. package/esm2020/lib/core/payment/form/converters/card-number/card-number.converter.mjs +45 -0
  12. package/esm2020/lib/core/payment/form/converters/card-year/card-year.converter.mjs +38 -0
  13. package/esm2020/lib/core/payment/form/converters/cardholder-name/cardholder-name.converter.mjs +25 -0
  14. package/esm2020/lib/core/payment/form/converters/checkbox/checkbox.converter.mjs +34 -0
  15. package/esm2020/lib/core/payment/form/converters/converter.abstract.mjs +4 -3
  16. package/esm2020/lib/core/payment/form/converters/converters-map.mjs +32 -16
  17. package/esm2020/lib/core/payment/form/converters/coupon/coupon.converter.mjs +25 -0
  18. package/esm2020/lib/core/payment/form/converters/cpf-name/cpf-name-regex.variable.mjs +2 -0
  19. package/esm2020/lib/core/payment/form/converters/cpf-name/cpf-name.converter.mjs +34 -0
  20. package/esm2020/lib/core/payment/form/converters/cpf-number/cpf-number.converter.mjs +31 -0
  21. package/esm2020/lib/core/payment/form/converters/cvv/cvv-form-state.interface.mjs +2 -0
  22. package/esm2020/lib/core/payment/form/converters/cvv/cvv.converter.mjs +72 -0
  23. package/esm2020/lib/core/payment/form/converters/email/email.converter.mjs +29 -0
  24. package/esm2020/lib/core/payment/form/converters/pin/pin.converter.mjs +19 -0
  25. package/esm2020/lib/core/payment/form/converters/pricepoint/pricepoint.converter.mjs +32 -0
  26. package/esm2020/lib/core/payment/form/converters/radio-group/radio-group.converter.mjs +21 -0
  27. package/esm2020/lib/core/payment/form/converters/select/select.converter.mjs +21 -0
  28. package/esm2020/lib/core/payment/form/converters/street-number/street-number.converter.mjs +2 -2
  29. package/esm2020/lib/core/payment/form/converters/text/text.converter.mjs +19 -0
  30. package/esm2020/lib/core/payment/form/converters/zip/zip.converter.mjs +67 -0
  31. package/esm2020/lib/core/payment/form/field-form-states.interface.mjs +2 -0
  32. package/esm2020/lib/core/payment/form/form.module.mjs +48 -19
  33. package/esm2020/lib/core/payment/form/form.service.mjs +19 -1
  34. package/esm2020/lib/core/payment/form/validators/birth-date/birth-date.validator.mjs +37 -0
  35. package/esm2020/lib/core/payment/form/validators/card-month/card-month.validator.mjs +37 -0
  36. package/esm2020/lib/core/payment/form/validators/card-year/card-year.validator.mjs +34 -0
  37. package/esm2020/lib/core/payment/form/validators/coupon/coupon-validator.mjs +6 -0
  38. package/esm2020/lib/core/payment/form/validators/credit-card-length/credit-card-min-length.validator.mjs +32 -0
  39. package/esm2020/lib/core/payment/form/validators/email/email-validator.mjs +7 -0
  40. package/esm2020/lib/core/payment/form/validators/required/required.validator.mjs +6 -0
  41. package/esm2020/lib/core/payment/form/validators/restricted-value/restricted-value.validator.mjs +6 -0
  42. package/esm2020/lib/core/payment/form/validators/validators.module.mjs +2 -2
  43. package/esm2020/lib/core/payment/payment.interface.mjs +1 -1
  44. package/esm2020/lib/core/payment/payment.service.mjs +6 -1
  45. package/esm2020/lib/core-library.service.mjs +2 -1
  46. package/fesm2015/xsolla-payment-client-core.mjs +357 -24
  47. package/fesm2015/xsolla-payment-client-core.mjs.map +1 -1
  48. package/fesm2020/xsolla-payment-client-core.mjs +357 -24
  49. package/fesm2020/xsolla-payment-client-core.mjs.map +1 -1
  50. package/lib/core/payment/form/controls/{card-number-control.config.d.ts → card-number/card-number-control.config.d.ts} +2 -2
  51. package/lib/core/payment/form/controls/checkbox/checkbox-control.config.d.ts +6 -0
  52. package/lib/core/payment/form/controls/coupon/coupon-control.config.d.ts +8 -0
  53. package/lib/core/payment/form/controls/radio-control/radio-control.config.d.ts +6 -0
  54. package/lib/core/payment/form/controls/radio-control/radio-option.interface.d.ts +5 -0
  55. package/lib/core/payment/form/controls/search-select/search-select-control.config.d.ts +11 -0
  56. package/lib/core/payment/form/controls/search-select/search-select-option.interface.d.ts +19 -0
  57. package/lib/core/payment/form/controls/search-select/select-option.interface.d.ts +13 -0
  58. package/lib/core/payment/form/converters/{birth-date.converter.d.ts → birth-date/birth-date.converter.d.ts} +4 -4
  59. package/lib/core/payment/form/converters/card-month/card-month.converter.d.ts +16 -0
  60. package/lib/core/payment/form/converters/{card-number.converter.d.ts → card-number/card-number.converter.d.ts} +6 -6
  61. package/lib/core/payment/form/converters/card-year/card-year.converter.d.ts +16 -0
  62. package/lib/core/payment/form/converters/{cardholder-name.converter.d.ts → cardholder-name/cardholder-name.converter.d.ts} +4 -4
  63. package/lib/core/payment/form/converters/checkbox/checkbox.converter.d.ts +16 -0
  64. package/lib/core/payment/form/converters/converter.abstract.d.ts +1 -1
  65. package/lib/core/payment/form/converters/coupon/coupon.converter.d.ts +13 -0
  66. package/lib/core/payment/form/converters/{cpf-name.converter.d.ts → cpf-name/cpf-name.converter.d.ts} +4 -4
  67. package/lib/core/payment/form/converters/{cpf-number.converter.d.ts → cpf-number/cpf-number.converter.d.ts} +4 -4
  68. package/lib/core/payment/form/converters/cvv/cvv-form-state.interface.d.ts +3 -0
  69. package/lib/core/payment/form/converters/{cvv.converter.d.ts → cvv/cvv.converter.d.ts} +8 -7
  70. package/lib/core/payment/form/converters/{email.converter.d.ts → email/email.converter.d.ts} +5 -5
  71. package/lib/core/payment/form/converters/pin/pin.converter.d.ts +11 -0
  72. package/lib/core/payment/form/converters/pricepoint/pricepoint.converter.d.ts +14 -0
  73. package/lib/core/payment/form/converters/radio-group/radio-group.converter.d.ts +11 -0
  74. package/lib/core/payment/form/converters/select/select.converter.d.ts +11 -0
  75. package/lib/core/payment/form/converters/{text.converter.d.ts → text/text.converter.d.ts} +4 -4
  76. package/lib/core/payment/form/converters/{zip.converter.d.ts → zip/zip.converter.d.ts} +5 -5
  77. package/lib/core/payment/form/field-form-states.interface.d.ts +4 -0
  78. package/lib/core/payment/form/form.service.d.ts +4 -0
  79. package/lib/core/payment/form/validators/card-month/card-month.validator.d.ts +5 -0
  80. package/lib/core/payment/form/validators/card-year/card-year.validator.d.ts +5 -0
  81. package/lib/core/payment/form/validators/coupon/coupon-validator.d.ts +2 -0
  82. package/lib/core/payment/form/validators/{credit-card-min-length.validator.d.ts → credit-card-length/credit-card-min-length.validator.d.ts} +1 -1
  83. package/lib/core/payment/form/validators/{email-validator.d.ts → email/email-validator.d.ts} +1 -1
  84. package/lib/core/payment/form/validators/{restricted-value.validator.d.ts → restricted-value/restricted-value.validator.d.ts} +1 -1
  85. package/lib/core/payment/payment.interface.d.ts +2 -0
  86. package/lib/core/payment/payment.service.d.ts +2 -0
  87. package/package.json +1 -1
  88. package/xsolla-payment-client-core-0.1.6.tgz +0 -0
  89. package/esm2020/lib/core/payment/form/controls/card-number-control.config.mjs +0 -10
  90. package/esm2020/lib/core/payment/form/converters/birth-date.converter.mjs +0 -38
  91. package/esm2020/lib/core/payment/form/converters/card-expiration.converter.mjs +0 -36
  92. package/esm2020/lib/core/payment/form/converters/card-number.converter.mjs +0 -45
  93. package/esm2020/lib/core/payment/form/converters/cardholder-name.converter.mjs +0 -25
  94. package/esm2020/lib/core/payment/form/converters/cpf-name-regex.variable.mjs +0 -2
  95. package/esm2020/lib/core/payment/form/converters/cpf-name.converter.mjs +0 -34
  96. package/esm2020/lib/core/payment/form/converters/cpf-number.converter.mjs +0 -31
  97. package/esm2020/lib/core/payment/form/converters/cvv.converter.mjs +0 -50
  98. package/esm2020/lib/core/payment/form/converters/email.converter.mjs +0 -29
  99. package/esm2020/lib/core/payment/form/converters/text.converter.mjs +0 -19
  100. package/esm2020/lib/core/payment/form/converters/zip.converter.mjs +0 -67
  101. package/esm2020/lib/core/payment/form/validators/birth-date.validator.mjs +0 -37
  102. package/esm2020/lib/core/payment/form/validators/credit-card-min-length.validator.mjs +0 -32
  103. package/esm2020/lib/core/payment/form/validators/email-validator.mjs +0 -7
  104. package/esm2020/lib/core/payment/form/validators/required-validator.mjs +0 -6
  105. package/esm2020/lib/core/payment/form/validators/restricted-value.validator.mjs +0 -6
  106. package/lib/core/payment/form/converters/card-expiration.converter.d.ts +0 -16
  107. package/xsolla-payment-client-core-0.1.5.tgz +0 -0
  108. /package/lib/core/payment/form/converters/{cpf-name-regex.variable.d.ts → cpf-name/cpf-name-regex.variable.d.ts} +0 -0
  109. /package/lib/core/payment/form/validators/{birth-date.validator.d.ts → birth-date/birth-date.validator.d.ts} +0 -0
  110. /package/lib/core/payment/form/validators/{required-validator.d.ts → required/required.validator.d.ts} +0 -0
@@ -0,0 +1,72 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Converter } from '../converter.abstract';
3
+ import { Validators } from '@angular/forms';
4
+ import { TextControlConfig } from '../../controls/text-control.config';
5
+ import { FieldNames } from '../../../field-names.enum';
6
+ import { convert } from '../../validators/convert.function';
7
+ import { CreditCardTypes } from '../../../../credit-card/credit-card-types.enum';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../../../sync/sync.service";
10
+ export class CvvConverter extends Converter {
11
+ constructor(syncService) {
12
+ super(syncService);
13
+ // eslint-disable-next-line @typescript-eslint/no-magic-numbers
14
+ this.maxFieldLength = 4;
15
+ }
16
+ getValidators(field, formState) {
17
+ const validators = super.getValidators(field);
18
+ const activeCardType = formState ? formState.activeCardType : null;
19
+ const getPatternValidator = (pattern) => convert(Validators.pattern(pattern), `Enter a valid CVV/CVC`);
20
+ switch (activeCardType) {
21
+ case CreditCardTypes.AMERICAN_EXPRESS: {
22
+ this.maxFieldLength = 4;
23
+ validators.push(getPatternValidator(/^\d{4}$/));
24
+ break;
25
+ }
26
+ case CreditCardTypes.MAESTRO: {
27
+ this.maxFieldLength = 3;
28
+ validators.push(getPatternValidator(/^\d{0,3}$/));
29
+ break;
30
+ }
31
+ default: {
32
+ this.maxFieldLength = 3;
33
+ validators.push(getPatternValidator(/^\d{3}$/));
34
+ }
35
+ }
36
+ return validators;
37
+ }
38
+ createControlConfig(field, formState) {
39
+ const config = this.createDefaultControlConfig(TextControlConfig, field);
40
+ config.maskConfig = {
41
+ mask: () => new Array(this.maxFieldLength).fill('9').join(''),
42
+ unmaskModelValue: false,
43
+ guide: false,
44
+ };
45
+ config.tooltip = {
46
+ text: 'The code is on the back of your card',
47
+ image: 'cvv',
48
+ parentField: FieldNames.cvv,
49
+ position: 'input',
50
+ analyticsAction: 'show-cvv-tooltip',
51
+ };
52
+ config.inputMode = 'numeric';
53
+ config.shouldHideUserInput = this.shouldHideUserInput();
54
+ config.disabled = formState?.disabled ?? false;
55
+ return config;
56
+ }
57
+ getAutocomplete() {
58
+ return 'cc-csc';
59
+ }
60
+ getDataType() {
61
+ return 'password';
62
+ }
63
+ shouldHideUserInput() {
64
+ return true;
65
+ }
66
+ }
67
+ CvvConverter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CvvConverter, deps: [{ token: i1.SyncService }], target: i0.ɵɵFactoryTarget.Injectable });
68
+ CvvConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CvvConverter });
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CvvConverter, decorators: [{
70
+ type: Injectable
71
+ }], ctorParameters: function () { return [{ type: i1.SyncService }]; } });
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Z2LmNvbnZlcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZm9ybS9jb252ZXJ0ZXJzL2N2di9jdnYuY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWxELE9BQU8sRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7O0FBR2pGLE1BQU0sT0FBTyxZQUFhLFNBQVEsU0FBUztJQUl6QyxZQUFtQixXQUF3QjtRQUN6QyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFKckIsK0RBQStEO1FBQ3ZELG1CQUFjLEdBQUcsQ0FBQyxDQUFDO0lBSTNCLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBWSxFQUFFLFNBQXdCO1FBQ3pELE1BQU0sVUFBVSxHQUFrQixLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdELE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ25FLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxPQUFlLEVBQWUsRUFBRSxDQUMzRCxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1FBRWhFLFFBQVEsY0FBYyxFQUFFO1lBQ3RCLEtBQUssZUFBZSxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDO2dCQUN4QixVQUFVLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hELE1BQU07YUFDUDtZQUNELEtBQUssZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUM1QixJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQztnQkFDeEIsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO2dCQUNsRCxNQUFNO2FBQ1A7WUFDRCxPQUFPLENBQUMsQ0FBQztnQkFDUCxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQztnQkFDeEIsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO2FBQ2pEO1NBQ0Y7UUFFRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRVMsbUJBQW1CLENBQzNCLEtBQVksRUFDWixTQUFvQjtRQUVwQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFekUsTUFBTSxDQUFDLFVBQVUsR0FBRztZQUNsQixJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzdELGdCQUFnQixFQUFFLEtBQUs7WUFDdkIsS0FBSyxFQUFFLEtBQUs7U0FDYixDQUFDO1FBRUYsTUFBTSxDQUFDLE9BQU8sR0FBRztZQUNmLElBQUksRUFBRSxzQ0FBc0M7WUFDNUMsS0FBSyxFQUFFLEtBQUs7WUFDWixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUc7WUFDM0IsUUFBUSxFQUFFLE9BQU87WUFDakIsZUFBZSxFQUFFLGtCQUFrQjtTQUNwQyxDQUFDO1FBRUYsTUFBTSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDN0IsTUFBTSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQ3hELE1BQU0sQ0FBQyxRQUFRLEdBQUcsU0FBUyxFQUFFLFFBQVEsSUFBSSxLQUFLLENBQUM7UUFFL0MsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVTLGVBQWU7UUFDdkIsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVTLFdBQVc7UUFDbkIsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVTLG1CQUFtQjtRQUMzQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7O3lHQXZFVSxZQUFZOzZHQUFaLFlBQVk7MkZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnZlcnRlciB9IGZyb20gJy4uL2NvbnZlcnRlci5hYnN0cmFjdCc7XG5pbXBvcnQgeyBTeW5jU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3N5bmMvc3luYy5zZXJ2aWNlJztcbmltcG9ydCB7IFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi8uLi8uLi9maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRm9ybVN0YXRlIH0gZnJvbSAnLi4vLi4vZm9ybS1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVGV4dENvbnRyb2xDb25maWcgfSBmcm9tICcuLi8uLi9jb250cm9scy90ZXh0LWNvbnRyb2wuY29uZmlnJztcbmltcG9ydCB7IEZpZWxkTmFtZXMgfSBmcm9tICcuLi8uLi8uLi9maWVsZC1uYW1lcy5lbnVtJztcbmltcG9ydCB7IEN2dkZvcm1TdGF0ZSB9IGZyb20gJy4vY3Z2LWZvcm0tc3RhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IGNvbnZlcnQgfSBmcm9tICcuLi8uLi92YWxpZGF0b3JzL2NvbnZlcnQuZnVuY3Rpb24nO1xuaW1wb3J0IHsgQ3JlZGl0Q2FyZFR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vY3JlZGl0LWNhcmQvY3JlZGl0LWNhcmQtdHlwZXMuZW51bSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDdnZDb252ZXJ0ZXIgZXh0ZW5kcyBDb252ZXJ0ZXIge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW1hZ2ljLW51bWJlcnNcbiAgcHJpdmF0ZSBtYXhGaWVsZExlbmd0aCA9IDQ7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHN5bmNTZXJ2aWNlOiBTeW5jU2VydmljZSkge1xuICAgIHN1cGVyKHN5bmNTZXJ2aWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWYWxpZGF0b3JzKGZpZWxkOiBGaWVsZCwgZm9ybVN0YXRlPzogQ3Z2Rm9ybVN0YXRlKTogVmFsaWRhdG9yRm5bXSB7XG4gICAgY29uc3QgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IHN1cGVyLmdldFZhbGlkYXRvcnMoZmllbGQpO1xuICAgIGNvbnN0IGFjdGl2ZUNhcmRUeXBlID0gZm9ybVN0YXRlID8gZm9ybVN0YXRlLmFjdGl2ZUNhcmRUeXBlIDogbnVsbDtcbiAgICBjb25zdCBnZXRQYXR0ZXJuVmFsaWRhdG9yID0gKHBhdHRlcm46IFJlZ0V4cCk6IFZhbGlkYXRvckZuID0+XG4gICAgICBjb252ZXJ0KFZhbGlkYXRvcnMucGF0dGVybihwYXR0ZXJuKSwgYEVudGVyIGEgdmFsaWQgQ1ZWL0NWQ2ApO1xuXG4gICAgc3dpdGNoIChhY3RpdmVDYXJkVHlwZSkge1xuICAgICAgY2FzZSBDcmVkaXRDYXJkVHlwZXMuQU1FUklDQU5fRVhQUkVTUzoge1xuICAgICAgICB0aGlzLm1heEZpZWxkTGVuZ3RoID0gNDtcbiAgICAgICAgdmFsaWRhdG9ycy5wdXNoKGdldFBhdHRlcm5WYWxpZGF0b3IoL15cXGR7NH0kLykpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgQ3JlZGl0Q2FyZFR5cGVzLk1BRVNUUk86IHtcbiAgICAgICAgdGhpcy5tYXhGaWVsZExlbmd0aCA9IDM7XG4gICAgICAgIHZhbGlkYXRvcnMucHVzaChnZXRQYXR0ZXJuVmFsaWRhdG9yKC9eXFxkezAsM30kLykpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgdGhpcy5tYXhGaWVsZExlbmd0aCA9IDM7XG4gICAgICAgIHZhbGlkYXRvcnMucHVzaChnZXRQYXR0ZXJuVmFsaWRhdG9yKC9eXFxkezN9JC8pKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdmFsaWRhdG9ycztcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVDb250cm9sQ29uZmlnKFxuICAgIGZpZWxkOiBGaWVsZCxcbiAgICBmb3JtU3RhdGU6IEZvcm1TdGF0ZVxuICApOiBUZXh0Q29udHJvbENvbmZpZyB7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5jcmVhdGVEZWZhdWx0Q29udHJvbENvbmZpZyhUZXh0Q29udHJvbENvbmZpZywgZmllbGQpO1xuXG4gICAgY29uZmlnLm1hc2tDb25maWcgPSB7XG4gICAgICBtYXNrOiAoKSA9PiBuZXcgQXJyYXkodGhpcy5tYXhGaWVsZExlbmd0aCkuZmlsbCgnOScpLmpvaW4oJycpLFxuICAgICAgdW5tYXNrTW9kZWxWYWx1ZTogZmFsc2UsXG4gICAgICBndWlkZTogZmFsc2UsXG4gICAgfTtcblxuICAgIGNvbmZpZy50b29sdGlwID0ge1xuICAgICAgdGV4dDogJ1RoZSBjb2RlIGlzIG9uIHRoZSBiYWNrIG9mIHlvdXIgY2FyZCcsXG4gICAgICBpbWFnZTogJ2N2dicsXG4gICAgICBwYXJlbnRGaWVsZDogRmllbGROYW1lcy5jdnYsXG4gICAgICBwb3NpdGlvbjogJ2lucHV0JyxcbiAgICAgIGFuYWx5dGljc0FjdGlvbjogJ3Nob3ctY3Z2LXRvb2x0aXAnLFxuICAgIH07XG5cbiAgICBjb25maWcuaW5wdXRNb2RlID0gJ251bWVyaWMnO1xuICAgIGNvbmZpZy5zaG91bGRIaWRlVXNlcklucHV0ID0gdGhpcy5zaG91bGRIaWRlVXNlcklucHV0KCk7XG4gICAgY29uZmlnLmRpc2FibGVkID0gZm9ybVN0YXRlPy5kaXNhYmxlZCA/PyBmYWxzZTtcblxuICAgIHJldHVybiBjb25maWc7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0QXV0b2NvbXBsZXRlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdjYy1jc2MnO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldERhdGFUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdwYXNzd29yZCc7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2hvdWxkSGlkZVVzZXJJbnB1dCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19
@@ -0,0 +1,29 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { TextControlConfig } from '../../controls/text-control.config';
3
+ import { convertedEmailValidator } from '../../validators/email/email-validator';
4
+ import { Converter } from '../converter.abstract';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../../sync/sync.service";
7
+ export class EmailConverter extends Converter {
8
+ constructor(syncService) {
9
+ super(syncService);
10
+ }
11
+ getValidators(field) {
12
+ return super.getValidators(field).concat([convertedEmailValidator()]);
13
+ }
14
+ createControlConfig(field) {
15
+ const config = this.createDefaultControlConfig(TextControlConfig, field);
16
+ config.autocomplete = 'email';
17
+ config.icon = 'mail';
18
+ return config;
19
+ }
20
+ getDataType() {
21
+ return 'email';
22
+ }
23
+ }
24
+ EmailConverter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: EmailConverter, deps: [{ token: i1.SyncService }], target: i0.ɵɵFactoryTarget.Injectable });
25
+ EmailConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: EmailConverter });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: EmailConverter, decorators: [{
27
+ type: Injectable
28
+ }], ctorParameters: function () { return [{ type: i1.SyncService }]; } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwuY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9mb3JtL2NvbnZlcnRlcnMvZW1haWwvZW1haWwuY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFakYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFHbEQsTUFBTSxPQUFPLGNBQWUsU0FBUSxTQUFTO0lBQzNDLFlBQW1CLFdBQXdCO1FBQ3pDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRU0sYUFBYSxDQUFDLEtBQVk7UUFDL0IsT0FBTyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLHVCQUF1QixFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFUyxtQkFBbUIsQ0FBQyxLQUFZO1FBQ3hDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV6RSxNQUFNLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQztRQUM5QixNQUFNLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztRQUVyQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRVMsV0FBVztRQUNuQixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDOzsyR0FwQlUsY0FBYzsrR0FBZCxjQUFjOzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uLy4uL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTeW5jU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3N5bmMvc3luYy5zZXJ2aWNlJztcbmltcG9ydCB7IFRleHRDb250cm9sQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvdGV4dC1jb250cm9sLmNvbmZpZyc7XG5pbXBvcnQgeyBjb252ZXJ0ZWRFbWFpbFZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMvZW1haWwvZW1haWwtdmFsaWRhdG9yJztcbmltcG9ydCB7IFZhbGlkYXRvckZuIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycy92YWxpZGF0b3ItZm4udHlwZSc7XG5pbXBvcnQgeyBDb252ZXJ0ZXIgfSBmcm9tICcuLi9jb252ZXJ0ZXIuYWJzdHJhY3QnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRW1haWxDb252ZXJ0ZXIgZXh0ZW5kcyBDb252ZXJ0ZXIge1xuICBwdWJsaWMgY29uc3RydWN0b3Ioc3luY1NlcnZpY2U6IFN5bmNTZXJ2aWNlKSB7XG4gICAgc3VwZXIoc3luY1NlcnZpY2UpO1xuICB9XG5cbiAgcHVibGljIGdldFZhbGlkYXRvcnMoZmllbGQ6IEZpZWxkKTogVmFsaWRhdG9yRm5bXSB7XG4gICAgcmV0dXJuIHN1cGVyLmdldFZhbGlkYXRvcnMoZmllbGQpLmNvbmNhdChbY29udmVydGVkRW1haWxWYWxpZGF0b3IoKV0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUNvbnRyb2xDb25maWcoZmllbGQ6IEZpZWxkKTogVGV4dENvbnRyb2xDb25maWcge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY3JlYXRlRGVmYXVsdENvbnRyb2xDb25maWcoVGV4dENvbnRyb2xDb25maWcsIGZpZWxkKTtcblxuICAgIGNvbmZpZy5hdXRvY29tcGxldGUgPSAnZW1haWwnO1xuICAgIGNvbmZpZy5pY29uID0gJ21haWwnO1xuXG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXREYXRhVHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnZW1haWwnO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,19 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Converter } from '../converter.abstract';
3
+ import { TextControlConfig } from '../../controls/text-control.config';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../../sync/sync.service";
6
+ export class PinConverter extends Converter {
7
+ constructor(syncService) {
8
+ super(syncService);
9
+ }
10
+ createControlConfig(field) {
11
+ return this.createDefaultControlConfig(TextControlConfig, field);
12
+ }
13
+ }
14
+ PinConverter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PinConverter, deps: [{ token: i1.SyncService }], target: i0.ɵɵFactoryTarget.Injectable });
15
+ PinConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PinConverter });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PinConverter, decorators: [{
17
+ type: Injectable
18
+ }], ctorParameters: function () { return [{ type: i1.SyncService }]; } });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGluLmNvbnZlcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZm9ybS9jb252ZXJ0ZXJzL3Bpbi9waW4uY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7QUFHdkUsTUFBTSxPQUFPLFlBQWEsU0FBUSxTQUFTO0lBQ3pDLFlBQW1CLFdBQXdCO1FBQ3pDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRVMsbUJBQW1CLENBQUMsS0FBWTtRQUN4QyxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuRSxDQUFDOzt5R0FQVSxZQUFZOzZHQUFaLFlBQVk7MkZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnZlcnRlciB9IGZyb20gJy4uL2NvbnZlcnRlci5hYnN0cmFjdCc7XG5pbXBvcnQgeyBTeW5jU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3N5bmMvc3luYy5zZXJ2aWNlJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRleHRDb250cm9sQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvdGV4dC1jb250cm9sLmNvbmZpZyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQaW5Db252ZXJ0ZXIgZXh0ZW5kcyBDb252ZXJ0ZXIge1xuICBwdWJsaWMgY29uc3RydWN0b3Ioc3luY1NlcnZpY2U6IFN5bmNTZXJ2aWNlKSB7XG4gICAgc3VwZXIoc3luY1NlcnZpY2UpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUNvbnRyb2xDb25maWcoZmllbGQ6IEZpZWxkKTogVGV4dENvbnRyb2xDb25maWcge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZURlZmF1bHRDb250cm9sQ29uZmlnKFRleHRDb250cm9sQ29uZmlnLCBmaWVsZCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,32 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Converter } from '../converter.abstract';
3
+ import { TextControlConfig } from '../../controls/text-control.config';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../../sync/sync.service";
6
+ export class PricepointConverter extends Converter {
7
+ constructor(syncService) {
8
+ super(syncService);
9
+ // eslint-disable-next-line @typescript-eslint/no-magic-numbers
10
+ this.maxFieldLength = 30;
11
+ }
12
+ getValidators(field) {
13
+ return super.getValidators(field);
14
+ }
15
+ createControlConfig(field) {
16
+ const config = this.createDefaultControlConfig(TextControlConfig, field);
17
+ config.maskConfig = {
18
+ mask: () => new Array(this.maxFieldLength).fill('9').join(``),
19
+ unmaskModelValue: false,
20
+ guide: false,
21
+ };
22
+ config.placeholder = field.title;
23
+ config.inputMode = 'numeric';
24
+ return config;
25
+ }
26
+ }
27
+ PricepointConverter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PricepointConverter, deps: [{ token: i1.SyncService }], target: i0.ɵɵFactoryTarget.Injectable });
28
+ PricepointConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PricepointConverter });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PricepointConverter, decorators: [{
30
+ type: Injectable
31
+ }], ctorParameters: function () { return [{ type: i1.SyncService }]; } });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpY2Vwb2ludC5jb252ZXJ0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vY29udmVydGVycy9wcmljZXBvaW50L3ByaWNlcG9pbnQuY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7QUFHdkUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFNBQVM7SUFJaEQsWUFBbUIsV0FBd0I7UUFDekMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBSnJCLCtEQUErRDtRQUM5QyxtQkFBYyxHQUFHLEVBQUUsQ0FBQztJQUlyQyxDQUFDO0lBRU0sYUFBYSxDQUFDLEtBQVk7UUFDL0IsT0FBTyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFUyxtQkFBbUIsQ0FBQyxLQUFZO1FBQ3hDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV6RSxNQUFNLENBQUMsVUFBVSxHQUFHO1lBQ2xCLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDN0QsZ0JBQWdCLEVBQUUsS0FBSztZQUN2QixLQUFLLEVBQUUsS0FBSztTQUNiLENBQUM7UUFFRixNQUFNLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDakMsTUFBTSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFFN0IsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7Z0hBekJVLG1CQUFtQjtvSEFBbkIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnZlcnRlciB9IGZyb20gJy4uL2NvbnZlcnRlci5hYnN0cmFjdCc7XG5pbXBvcnQgeyBTeW5jU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3N5bmMvc3luYy5zZXJ2aWNlJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRleHRDb250cm9sQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvdGV4dC1jb250cm9sLmNvbmZpZyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQcmljZXBvaW50Q29udmVydGVyIGV4dGVuZHMgQ29udmVydGVyIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1tYWdpYy1udW1iZXJzXG4gIHByaXZhdGUgcmVhZG9ubHkgbWF4RmllbGRMZW5ndGggPSAzMDtcblxuICBwdWJsaWMgY29uc3RydWN0b3Ioc3luY1NlcnZpY2U6IFN5bmNTZXJ2aWNlKSB7XG4gICAgc3VwZXIoc3luY1NlcnZpY2UpO1xuICB9XG5cbiAgcHVibGljIGdldFZhbGlkYXRvcnMoZmllbGQ6IEZpZWxkKTogVmFsaWRhdG9yRm5bXSB7XG4gICAgcmV0dXJuIHN1cGVyLmdldFZhbGlkYXRvcnMoZmllbGQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUNvbnRyb2xDb25maWcoZmllbGQ6IEZpZWxkKTogVGV4dENvbnRyb2xDb25maWcge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY3JlYXRlRGVmYXVsdENvbnRyb2xDb25maWcoVGV4dENvbnRyb2xDb25maWcsIGZpZWxkKTtcblxuICAgIGNvbmZpZy5tYXNrQ29uZmlnID0ge1xuICAgICAgbWFzazogKCkgPT4gbmV3IEFycmF5KHRoaXMubWF4RmllbGRMZW5ndGgpLmZpbGwoJzknKS5qb2luKGBgKSxcbiAgICAgIHVubWFza01vZGVsVmFsdWU6IGZhbHNlLFxuICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgIH07XG5cbiAgICBjb25maWcucGxhY2Vob2xkZXIgPSBmaWVsZC50aXRsZTtcbiAgICBjb25maWcuaW5wdXRNb2RlID0gJ251bWVyaWMnO1xuXG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxufVxuIl19
@@ -0,0 +1,21 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Converter } from '../converter.abstract';
3
+ import { RadioControlConfig } from '../../controls/radio-control/radio-control.config';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../../sync/sync.service";
6
+ export class RadioGroupConverter extends Converter {
7
+ constructor(syncService) {
8
+ super(syncService);
9
+ }
10
+ createControlConfig(field) {
11
+ const config = this.createDefaultControlConfig(RadioControlConfig, field);
12
+ config.options = field.options;
13
+ return config;
14
+ }
15
+ }
16
+ RadioGroupConverter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: RadioGroupConverter, deps: [{ token: i1.SyncService }], target: i0.ɵɵFactoryTarget.Injectable });
17
+ RadioGroupConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: RadioGroupConverter });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: RadioGroupConverter, decorators: [{
19
+ type: Injectable
20
+ }], ctorParameters: function () { return [{ type: i1.SyncService }]; } });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAuY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9mb3JtL2NvbnZlcnRlcnMvcmFkaW8tZ3JvdXAvcmFkaW8tZ3JvdXAuY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR2xELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDOzs7QUFJdkYsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFNBQVM7SUFDaEQsWUFBbUIsV0FBd0I7UUFDekMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFUyxtQkFBbUIsQ0FBQyxLQUFZO1FBQ3hDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUUxRSxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUF3QixDQUFDO1FBQ2hELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7O2dIQVZVLG1CQUFtQjtvSEFBbkIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb252ZXJ0ZXIgfSBmcm9tICcuLi9jb252ZXJ0ZXIuYWJzdHJhY3QnO1xuaW1wb3J0IHsgU3luY1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zeW5jL3N5bmMuc2VydmljZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uLy4uL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSYWRpb0NvbnRyb2xDb25maWcgfSBmcm9tICcuLi8uLi9jb250cm9scy9yYWRpby1jb250cm9sL3JhZGlvLWNvbnRyb2wuY29uZmlnJztcbmltcG9ydCB7IFJhZGlvT3B0aW9uIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvcmFkaW8tY29udHJvbC9yYWRpby1vcHRpb24uaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJhZGlvR3JvdXBDb252ZXJ0ZXIgZXh0ZW5kcyBDb252ZXJ0ZXIge1xuICBwdWJsaWMgY29uc3RydWN0b3Ioc3luY1NlcnZpY2U6IFN5bmNTZXJ2aWNlKSB7XG4gICAgc3VwZXIoc3luY1NlcnZpY2UpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUNvbnRyb2xDb25maWcoZmllbGQ6IEZpZWxkKTogUmFkaW9Db250cm9sQ29uZmlnIHtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLmNyZWF0ZURlZmF1bHRDb250cm9sQ29uZmlnKFJhZGlvQ29udHJvbENvbmZpZywgZmllbGQpO1xuXG4gICAgY29uZmlnLm9wdGlvbnMgPSBmaWVsZC5vcHRpb25zIGFzIFJhZGlvT3B0aW9uW107XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxufVxuIl19
@@ -0,0 +1,21 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Converter } from '../converter.abstract';
3
+ import { SearchSelectControlConfig } from '../../controls/search-select/search-select-control.config';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../../sync/sync.service";
6
+ export class SelectConverter extends Converter {
7
+ constructor(syncService) {
8
+ super(syncService);
9
+ }
10
+ createControlConfig(field) {
11
+ const config = this.createDefaultControlConfig(SearchSelectControlConfig, field);
12
+ config.options = field.options;
13
+ return config;
14
+ }
15
+ }
16
+ SelectConverter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SelectConverter, deps: [{ token: i1.SyncService }], target: i0.ɵɵFactoryTarget.Injectable });
17
+ SelectConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SelectConverter });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SelectConverter, decorators: [{
19
+ type: Injectable
20
+ }], ctorParameters: function () { return [{ type: i1.SyncService }]; } });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbnZlcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZm9ybS9jb252ZXJ0ZXJzL3NlbGVjdC9zZWxlY3QuY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWxELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDOzs7QUFLdEcsTUFBTSxPQUFPLGVBQWdCLFNBQVEsU0FBUztJQUM1QyxZQUFtQixXQUF3QjtRQUN6QyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVTLG1CQUFtQixDQUFDLEtBQVk7UUFDeEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUM1Qyx5QkFBeUIsRUFDekIsS0FBSyxDQUNOLENBQUM7UUFDRixNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUF5QixDQUFDO1FBQ2pELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7OzRHQVpVLGVBQWU7Z0hBQWYsZUFBZTsyRkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udmVydGVyIH0gZnJvbSAnLi4vY29udmVydGVyLmFic3RyYWN0JztcbmltcG9ydCB7IFN5bmNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc3luYy9zeW5jLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VhcmNoU2VsZWN0Q29udHJvbENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL3NlYXJjaC1zZWxlY3Qvc2VhcmNoLXNlbGVjdC1jb250cm9sLmNvbmZpZyc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uLy4uL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZWxlY3RPcHRpb24gfSBmcm9tICcuLi8uLi9jb250cm9scy9zZWFyY2gtc2VsZWN0L3NlbGVjdC1vcHRpb24uaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbnZlcnRlciBleHRlbmRzIENvbnZlcnRlciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihzeW5jU2VydmljZTogU3luY1NlcnZpY2UpIHtcbiAgICBzdXBlcihzeW5jU2VydmljZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlQ29udHJvbENvbmZpZyhmaWVsZDogRmllbGQpOiBTZWFyY2hTZWxlY3RDb250cm9sQ29uZmlnIHtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLmNyZWF0ZURlZmF1bHRDb250cm9sQ29uZmlnKFxuICAgICAgU2VhcmNoU2VsZWN0Q29udHJvbENvbmZpZyxcbiAgICAgIGZpZWxkXG4gICAgKTtcbiAgICBjb25maWcub3B0aW9ucyA9IGZpZWxkLm9wdGlvbnMgYXMgU2VsZWN0T3B0aW9uW107XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxufVxuIl19
@@ -1,7 +1,7 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { TextControlConfig } from '../../controls/text-control.config';
3
3
  import { convert } from '../../validators/convert.function';
4
- import { restrictedValueValidator } from '../../validators/restricted-value.validator';
4
+ import { restrictedValueValidator } from '../../validators/restricted-value/restricted-value.validator';
5
5
  import { Converter } from '../converter.abstract';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "../../../sync/sync.service";
@@ -25,4 +25,4 @@ StreetNumberConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0"
25
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: StreetNumberConverter, decorators: [{
26
26
  type: Injectable
27
27
  }], ctorParameters: function () { return [{ type: i1.SyncService }]; } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZWV0LW51bWJlci5jb252ZXJ0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vY29udmVydGVycy9zdHJlZXQtbnVtYmVyL3N0cmVldC1udW1iZXIuY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBR2xELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxTQUFTO0lBQ2xELFlBQW1CLFdBQXdCO1FBQ3pDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRU0sYUFBYSxDQUNsQixLQUFZLEVBQ1osU0FBaUM7UUFFakMsTUFBTSxVQUFVLEdBQWtCLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFN0QsSUFBSSxTQUFTLEVBQUUsT0FBTyxLQUFLLElBQUksRUFBRTtZQUMvQixVQUFVLENBQUMsSUFBSSxDQUNiLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsRUFBRSwrQkFBK0IsQ0FBQyxDQUN4RSxDQUFDO1NBQ0g7UUFFRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRVMsbUJBQW1CLENBQUMsS0FBWTtRQUN4QyxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuRSxDQUFDOztrSEF0QlUscUJBQXFCO3NIQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0cmVldE51bWJlckZvcm1TdGF0ZSB9IGZyb20gJy4vc3RyZWV0LW51bWJlci1mcm9tLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN5bmNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc3luYy9zeW5jLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGV4dENvbnRyb2xDb25maWcgfSBmcm9tICcuLi8uLi9jb250cm9scy90ZXh0LWNvbnRyb2wuY29uZmlnJztcbmltcG9ydCB7IGNvbnZlcnQgfSBmcm9tICcuLi8uLi92YWxpZGF0b3JzL2NvbnZlcnQuZnVuY3Rpb24nO1xuaW1wb3J0IHsgcmVzdHJpY3RlZFZhbHVlVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycy9yZXN0cmljdGVkLXZhbHVlLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBDb252ZXJ0ZXIgfSBmcm9tICcuLi9jb252ZXJ0ZXIuYWJzdHJhY3QnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU3RyZWV0TnVtYmVyQ29udmVydGVyIGV4dGVuZHMgQ29udmVydGVyIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHN5bmNTZXJ2aWNlOiBTeW5jU2VydmljZSkge1xuICAgIHN1cGVyKHN5bmNTZXJ2aWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWYWxpZGF0b3JzKFxuICAgIGZpZWxkOiBGaWVsZCxcbiAgICBmb3JtU3RhdGU/OiBTdHJlZXROdW1iZXJGb3JtU3RhdGVcbiAgKTogVmFsaWRhdG9yRm5bXSB7XG4gICAgY29uc3QgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IHN1cGVyLmdldFZhbGlkYXRvcnMoZmllbGQpO1xuXG4gICAgaWYgKGZvcm1TdGF0ZT8uY291bnRyeSA9PT0gJ0JMJykge1xuICAgICAgdmFsaWRhdG9ycy5wdXNoKFxuICAgICAgICBjb252ZXJ0KHJlc3RyaWN0ZWRWYWx1ZVZhbGlkYXRvcignMCcpLCBgRW50ZXIgYSB2YWxpZCBidWlsZGluZyBudW1iZXJgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsaWRhdG9ycztcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVDb250cm9sQ29uZmlnKGZpZWxkOiBGaWVsZCk6IFRleHRDb250cm9sQ29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVEZWZhdWx0Q29udHJvbENvbmZpZyhUZXh0Q29udHJvbENvbmZpZywgZmllbGQpO1xuICB9XG59XG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZWV0LW51bWJlci5jb252ZXJ0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vY29udmVydGVycy9zdHJlZXQtbnVtYmVyL3N0cmVldC1udW1iZXIuY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBR2xELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxTQUFTO0lBQ2xELFlBQW1CLFdBQXdCO1FBQ3pDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRU0sYUFBYSxDQUNsQixLQUFZLEVBQ1osU0FBaUM7UUFFakMsTUFBTSxVQUFVLEdBQWtCLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFN0QsSUFBSSxTQUFTLEVBQUUsT0FBTyxLQUFLLElBQUksRUFBRTtZQUMvQixVQUFVLENBQUMsSUFBSSxDQUNiLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsRUFBRSwrQkFBK0IsQ0FBQyxDQUN4RSxDQUFDO1NBQ0g7UUFFRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRVMsbUJBQW1CLENBQUMsS0FBWTtRQUN4QyxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuRSxDQUFDOztrSEF0QlUscUJBQXFCO3NIQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0cmVldE51bWJlckZvcm1TdGF0ZSB9IGZyb20gJy4vc3RyZWV0LW51bWJlci1mcm9tLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN5bmNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc3luYy9zeW5jLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGV4dENvbnRyb2xDb25maWcgfSBmcm9tICcuLi8uLi9jb250cm9scy90ZXh0LWNvbnRyb2wuY29uZmlnJztcbmltcG9ydCB7IGNvbnZlcnQgfSBmcm9tICcuLi8uLi92YWxpZGF0b3JzL2NvbnZlcnQuZnVuY3Rpb24nO1xuaW1wb3J0IHsgcmVzdHJpY3RlZFZhbHVlVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycy9yZXN0cmljdGVkLXZhbHVlL3Jlc3RyaWN0ZWQtdmFsdWUudmFsaWRhdG9yJztcbmltcG9ydCB7IENvbnZlcnRlciB9IGZyb20gJy4uL2NvbnZlcnRlci5hYnN0cmFjdCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTdHJlZXROdW1iZXJDb252ZXJ0ZXIgZXh0ZW5kcyBDb252ZXJ0ZXIge1xuICBwdWJsaWMgY29uc3RydWN0b3Ioc3luY1NlcnZpY2U6IFN5bmNTZXJ2aWNlKSB7XG4gICAgc3VwZXIoc3luY1NlcnZpY2UpO1xuICB9XG5cbiAgcHVibGljIGdldFZhbGlkYXRvcnMoXG4gICAgZmllbGQ6IEZpZWxkLFxuICAgIGZvcm1TdGF0ZT86IFN0cmVldE51bWJlckZvcm1TdGF0ZVxuICApOiBWYWxpZGF0b3JGbltdIHtcbiAgICBjb25zdCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gc3VwZXIuZ2V0VmFsaWRhdG9ycyhmaWVsZCk7XG5cbiAgICBpZiAoZm9ybVN0YXRlPy5jb3VudHJ5ID09PSAnQkwnKSB7XG4gICAgICB2YWxpZGF0b3JzLnB1c2goXG4gICAgICAgIGNvbnZlcnQocmVzdHJpY3RlZFZhbHVlVmFsaWRhdG9yKCcwJyksIGBFbnRlciBhIHZhbGlkIGJ1aWxkaW5nIG51bWJlcmApXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB2YWxpZGF0b3JzO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUNvbnRyb2xDb25maWcoZmllbGQ6IEZpZWxkKTogVGV4dENvbnRyb2xDb25maWcge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZURlZmF1bHRDb250cm9sQ29uZmlnKFRleHRDb250cm9sQ29uZmlnLCBmaWVsZCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { TextControlConfig } from '../../controls/text-control.config';
3
+ import { Converter } from '../converter.abstract';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../../sync/sync.service";
6
+ export class TextConverter extends Converter {
7
+ constructor(syncService) {
8
+ super(syncService);
9
+ }
10
+ createControlConfig(field) {
11
+ return this.createDefaultControlConfig(TextControlConfig, field);
12
+ }
13
+ }
14
+ TextConverter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TextConverter, deps: [{ token: i1.SyncService }], target: i0.ɵɵFactoryTarget.Injectable });
15
+ TextConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TextConverter });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TextConverter, decorators: [{
17
+ type: Injectable
18
+ }], ctorParameters: function () { return [{ type: i1.SyncService }]; } });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5jb252ZXJ0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vY29udmVydGVycy90ZXh0L3RleHQuY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFHbEQsTUFBTSxPQUFPLGFBQWMsU0FBUSxTQUFTO0lBQzFDLFlBQW1CLFdBQXdCO1FBQ3pDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRVMsbUJBQW1CLENBQUMsS0FBWTtRQUN4QyxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuRSxDQUFDOzswR0FQVSxhQUFhOzhHQUFiLGFBQWE7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN5bmNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc3luYy9zeW5jLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGV4dENvbnRyb2xDb25maWcgfSBmcm9tICcuLi8uLi9jb250cm9scy90ZXh0LWNvbnRyb2wuY29uZmlnJztcbmltcG9ydCB7IENvbnZlcnRlciB9IGZyb20gJy4uL2NvbnZlcnRlci5hYnN0cmFjdCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUZXh0Q29udmVydGVyIGV4dGVuZHMgQ29udmVydGVyIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHN5bmNTZXJ2aWNlOiBTeW5jU2VydmljZSkge1xuICAgIHN1cGVyKHN5bmNTZXJ2aWNlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVDb250cm9sQ29uZmlnKGZpZWxkOiBGaWVsZCk6IFRleHRDb250cm9sQ29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVEZWZhdWx0Q29udHJvbENvbmZpZyhUZXh0Q29udHJvbENvbmZpZywgZmllbGQpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,67 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import { TextControlConfig } from '../../controls/text-control.config';
4
+ import { convert } from '../../validators/convert.function';
5
+ import { restrictedValueValidator } from '../../validators/restricted-value/restricted-value.validator';
6
+ import { Converter } from '../converter.abstract';
7
+ import { masksFunctionsMap } from '../../masks-functions.map';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../../../sync/sync.service";
10
+ import * as i2 from "../../../../country/country.service";
11
+ export class ZipConverter extends Converter {
12
+ constructor(syncService, countryService) {
13
+ super(syncService);
14
+ this.countryService = countryService;
15
+ this.minLength = 3;
16
+ this.maxLength = 10;
17
+ this.usCountryLength = 5;
18
+ }
19
+ get isUsCountry() {
20
+ return this.countryService.getCountry() === 'US';
21
+ }
22
+ getValidators(field) {
23
+ const minLength = this.isUsCountry ? this.usCountryLength : this.minLength;
24
+ const maxLength = this.isUsCountry ? this.usCountryLength : this.maxLength;
25
+ const validators = super
26
+ .getValidators(field)
27
+ .concat([
28
+ convert(Validators.minLength(minLength), `Enter at least ${minLength} characters`),
29
+ convert(Validators.maxLength(maxLength), `Enter no more than ${maxLength} characters`),
30
+ ]);
31
+ if (this.isUsCountry) {
32
+ validators.push(convert(restrictedValueValidator('00000'), 'Enter a valid ZIP code'));
33
+ }
34
+ return validators;
35
+ }
36
+ createControlConfig(field) {
37
+ const config = this.createDefaultControlConfig(TextControlConfig, field);
38
+ config.icon = 'location';
39
+ if (this.isUsCountry) {
40
+ config.maskConfig = {
41
+ guide: false,
42
+ unmaskModelValue: true,
43
+ showMask: true,
44
+ };
45
+ config.inputMode = 'numeric';
46
+ if (masksFunctionsMap['zip']) {
47
+ config.maskConfig.mask = masksFunctionsMap['zip'];
48
+ }
49
+ }
50
+ else {
51
+ config.maxLength = this.maxLength;
52
+ }
53
+ return config;
54
+ }
55
+ getAutocomplete() {
56
+ return 'postal-code';
57
+ }
58
+ getDataType() {
59
+ return 'text';
60
+ }
61
+ }
62
+ ZipConverter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ZipConverter, deps: [{ token: i1.SyncService }, { token: i2.CountryService }], target: i0.ɵɵFactoryTarget.Injectable });
63
+ ZipConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ZipConverter });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ZipConverter, decorators: [{
65
+ type: Injectable
66
+ }], ctorParameters: function () { return [{ type: i1.SyncService }, { type: i2.CountryService }]; } });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemlwLmNvbnZlcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZm9ybS9jb252ZXJ0ZXJzL3ppcC96aXAuY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXpELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM1RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN4RyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7QUFJOUQsTUFBTSxPQUFPLFlBQWEsU0FBUSxTQUFTO0lBS3pDLFlBQ0UsV0FBd0IsRUFDUCxjQUE4QjtRQUUvQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFGRixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFOaEMsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUNkLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixvQkFBZSxHQUFHLENBQUMsQ0FBQztJQU9yQyxDQUFDO0lBRUQsSUFBWSxXQUFXO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsS0FBSyxJQUFJLENBQUM7SUFDbkQsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFZO1FBQy9CLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDM0UsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUMzRSxNQUFNLFVBQVUsR0FBa0IsS0FBSzthQUNwQyxhQUFhLENBQUMsS0FBSyxDQUFDO2FBQ3BCLE1BQU0sQ0FBQztZQUNOLE9BQU8sQ0FDTCxVQUFVLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUMvQixrQkFBa0IsU0FBUyxhQUFhLENBQ3pDO1lBRUQsT0FBTyxDQUNMLFVBQVUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQy9CLHNCQUFzQixTQUFTLGFBQWEsQ0FDN0M7U0FDRixDQUFDLENBQUM7UUFFTCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsVUFBVSxDQUFDLElBQUksQ0FDYixPQUFPLENBQUMsd0JBQXdCLENBQUMsT0FBTyxDQUFDLEVBQUUsd0JBQXdCLENBQUMsQ0FDckUsQ0FBQztTQUNIO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVTLG1CQUFtQixDQUFDLEtBQVk7UUFDeEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDO1FBRXpCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixNQUFNLENBQUMsVUFBVSxHQUFHO2dCQUNsQixLQUFLLEVBQUUsS0FBSztnQkFDWixnQkFBZ0IsRUFBRSxJQUFJO2dCQUN0QixRQUFRLEVBQUUsSUFBSTthQUNELENBQUM7WUFDaEIsTUFBTSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7WUFFN0IsSUFBSSxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDM0IsTUFBTSxDQUFDLFVBQXlCLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ25FO1NBQ0Y7YUFBTTtZQUNMLE1BQU0sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUNuQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFUyxlQUFlO1FBQ3ZCLE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7SUFFUyxXQUFXO1FBQ25CLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7O3lHQXRFVSxZQUFZOzZHQUFaLFlBQVk7MkZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ291bnRyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3VudHJ5L2NvdW50cnkuc2VydmljZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uLy4uL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTeW5jU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3N5bmMvc3luYy5zZXJ2aWNlJztcbmltcG9ydCB7IFRleHRDb250cm9sQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvdGV4dC1jb250cm9sLmNvbmZpZyc7XG5pbXBvcnQgeyBjb252ZXJ0IH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycy9jb252ZXJ0LmZ1bmN0aW9uJztcbmltcG9ydCB7IHJlc3RyaWN0ZWRWYWx1ZVZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMvcmVzdHJpY3RlZC12YWx1ZS9yZXN0cmljdGVkLXZhbHVlLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBDb252ZXJ0ZXIgfSBmcm9tICcuLi9jb252ZXJ0ZXIuYWJzdHJhY3QnO1xuaW1wb3J0IHsgbWFza3NGdW5jdGlvbnNNYXAgfSBmcm9tICcuLi8uLi9tYXNrcy1mdW5jdGlvbnMubWFwJztcbmltcG9ydCB7IE1hc2tDb25maWcgfSBmcm9tICcuLi8uLi9tYXNrLWNvbmZpZy5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgWmlwQ29udmVydGVyIGV4dGVuZHMgQ29udmVydGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBtaW5MZW5ndGggPSAzO1xuICBwcml2YXRlIHJlYWRvbmx5IG1heExlbmd0aCA9IDEwO1xuICBwcml2YXRlIHJlYWRvbmx5IHVzQ291bnRyeUxlbmd0aCA9IDU7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHN5bmNTZXJ2aWNlOiBTeW5jU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvdW50cnlTZXJ2aWNlOiBDb3VudHJ5U2VydmljZVxuICApIHtcbiAgICBzdXBlcihzeW5jU2VydmljZSk7XG4gIH1cblxuICBwcml2YXRlIGdldCBpc1VzQ291bnRyeSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb3VudHJ5U2VydmljZS5nZXRDb3VudHJ5KCkgPT09ICdVUyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0VmFsaWRhdG9ycyhmaWVsZDogRmllbGQpOiBWYWxpZGF0b3JGbltdIHtcbiAgICBjb25zdCBtaW5MZW5ndGggPSB0aGlzLmlzVXNDb3VudHJ5ID8gdGhpcy51c0NvdW50cnlMZW5ndGggOiB0aGlzLm1pbkxlbmd0aDtcbiAgICBjb25zdCBtYXhMZW5ndGggPSB0aGlzLmlzVXNDb3VudHJ5ID8gdGhpcy51c0NvdW50cnlMZW5ndGggOiB0aGlzLm1heExlbmd0aDtcbiAgICBjb25zdCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gc3VwZXJcbiAgICAgIC5nZXRWYWxpZGF0b3JzKGZpZWxkKVxuICAgICAgLmNvbmNhdChbXG4gICAgICAgIGNvbnZlcnQoXG4gICAgICAgICAgVmFsaWRhdG9ycy5taW5MZW5ndGgobWluTGVuZ3RoKSxcbiAgICAgICAgICBgRW50ZXIgYXQgbGVhc3QgJHttaW5MZW5ndGh9IGNoYXJhY3RlcnNgXG4gICAgICAgICksXG5cbiAgICAgICAgY29udmVydChcbiAgICAgICAgICBWYWxpZGF0b3JzLm1heExlbmd0aChtYXhMZW5ndGgpLFxuICAgICAgICAgIGBFbnRlciBubyBtb3JlIHRoYW4gJHttYXhMZW5ndGh9IGNoYXJhY3RlcnNgXG4gICAgICAgICksXG4gICAgICBdKTtcblxuICAgIGlmICh0aGlzLmlzVXNDb3VudHJ5KSB7XG4gICAgICB2YWxpZGF0b3JzLnB1c2goXG4gICAgICAgIGNvbnZlcnQocmVzdHJpY3RlZFZhbHVlVmFsaWRhdG9yKCcwMDAwMCcpLCAnRW50ZXIgYSB2YWxpZCBaSVAgY29kZScpXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB2YWxpZGF0b3JzO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUNvbnRyb2xDb25maWcoZmllbGQ6IEZpZWxkKTogVGV4dENvbnRyb2xDb25maWcge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY3JlYXRlRGVmYXVsdENvbnRyb2xDb25maWcoVGV4dENvbnRyb2xDb25maWcsIGZpZWxkKTtcbiAgICBjb25maWcuaWNvbiA9ICdsb2NhdGlvbic7XG5cbiAgICBpZiAodGhpcy5pc1VzQ291bnRyeSkge1xuICAgICAgY29uZmlnLm1hc2tDb25maWcgPSB7XG4gICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICAgICAgdW5tYXNrTW9kZWxWYWx1ZTogdHJ1ZSxcbiAgICAgICAgc2hvd01hc2s6IHRydWUsXG4gICAgICB9IGFzIE1hc2tDb25maWc7XG4gICAgICBjb25maWcuaW5wdXRNb2RlID0gJ251bWVyaWMnO1xuXG4gICAgICBpZiAobWFza3NGdW5jdGlvbnNNYXBbJ3ppcCddKSB7XG4gICAgICAgIChjb25maWcubWFza0NvbmZpZyBhcyBNYXNrQ29uZmlnKS5tYXNrID0gbWFza3NGdW5jdGlvbnNNYXBbJ3ppcCddO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25maWcubWF4TGVuZ3RoID0gdGhpcy5tYXhMZW5ndGg7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRBdXRvY29tcGxldGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ3Bvc3RhbC1jb2RlJztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXREYXRhVHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAndGV4dCc7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZm9ybS1zdGF0ZXMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9mb3JtL2ZpZWxkLWZvcm0tc3RhdGVzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybVN0YXRlIH0gZnJvbSAnLi9mb3JtLXN0YXRlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRGb3JtU3RhdGVzIHtcbiAgW2ZpZWxkTmFtZTogc3RyaW5nXTogRm9ybVN0YXRlO1xufVxuIl19
@@ -2,19 +2,26 @@ import { NgModule } from '@angular/core';
2
2
  import { ReactiveFormsModule } from '@angular/forms';
3
3
  import { ControlConfigService } from './controls/control-config.service';
4
4
  import { convertersMap, convertersMapToken } from './converters/converters-map';
5
- import { EmailConverter } from './converters/email.converter';
6
- import { ZipConverter } from './converters/zip.converter';
5
+ import { EmailConverter } from './converters/email/email.converter';
6
+ import { ZipConverter } from './converters/zip/zip.converter';
7
7
  import { FormService } from './form.service';
8
- import { CardNumberConverter } from './converters/card-number.converter';
9
- import { CardExpirationConverter } from './converters/card-expiration.converter';
10
- import { CvvConverter } from './converters/cvv.converter';
8
+ import { CardNumberConverter } from './converters/card-number/card-number.converter';
9
+ import { CardMonthConverter } from './converters/card-month/card-month.converter';
10
+ import { CvvConverter } from './converters/cvv/cvv.converter';
11
11
  import { ValidatorsModule } from './validators/validators.module';
12
- import { BirthDateConverter } from './converters/birth-date.converter';
13
- import { CardholderNameConverter } from './converters/cardholder-name.converter';
14
- import { CpfNameConverter } from './converters/cpf-name.converter';
15
- import { CpfNumberConverter } from './converters/cpf-number.converter';
12
+ import { BirthDateConverter } from './converters/birth-date/birth-date.converter';
13
+ import { CardholderNameConverter } from './converters/cardholder-name/cardholder-name.converter';
14
+ import { CpfNameConverter } from './converters/cpf-name/cpf-name.converter';
15
+ import { CpfNumberConverter } from './converters/cpf-number/cpf-number.converter';
16
16
  import { StreetNumberConverter } from './converters/street-number/street-number.converter';
17
- import { TextConverter } from './converters/text.converter';
17
+ import { TextConverter } from './converters/text/text.converter';
18
+ import { CardYearConverter } from './converters/card-year/card-year.converter';
19
+ import { CheckboxConverter } from './converters/checkbox/checkbox.converter';
20
+ import { SelectConverter } from './converters/select/select.converter';
21
+ import { PinConverter } from './converters/pin/pin.converter';
22
+ import { RadioGroupConverter } from './converters/radio-group/radio-group.converter';
23
+ import { PricepointConverter } from './converters/pricepoint/pricepoint.converter';
24
+ import { CouponConverter } from './converters/coupon/coupon.converter';
18
25
  import * as i0 from "@angular/core";
19
26
  export class FormModule {
20
27
  }
@@ -23,17 +30,28 @@ FormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15
23
30
  FormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FormModule, providers: [
24
31
  FormService,
25
32
  ControlConfigService,
26
- ZipConverter,
27
- EmailConverter,
28
33
  CardNumberConverter,
29
- CardExpirationConverter,
34
+ CardMonthConverter,
35
+ CardYearConverter,
36
+ CvvConverter,
30
37
  CvvConverter,
38
+ ZipConverter,
31
39
  CardholderNameConverter,
32
40
  CpfNumberConverter,
33
41
  CpfNameConverter,
34
42
  BirthDateConverter,
35
- StreetNumberConverter,
36
43
  TextConverter,
44
+ CheckboxConverter,
45
+ SelectConverter,
46
+ PinConverter,
47
+ RadioGroupConverter,
48
+ EmailConverter,
49
+ EmailConverter,
50
+ EmailConverter,
51
+ StreetNumberConverter,
52
+ PricepointConverter,
53
+ PricepointConverter,
54
+ CouponConverter,
37
55
  { provide: convertersMapToken, useValue: convertersMap },
38
56
  ], imports: [ReactiveFormsModule, ValidatorsModule] });
39
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FormModule, decorators: [{
@@ -43,19 +61,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
43
61
  providers: [
44
62
  FormService,
45
63
  ControlConfigService,
46
- ZipConverter,
47
- EmailConverter,
48
64
  CardNumberConverter,
49
- CardExpirationConverter,
65
+ CardMonthConverter,
66
+ CardYearConverter,
67
+ CvvConverter,
50
68
  CvvConverter,
69
+ ZipConverter,
51
70
  CardholderNameConverter,
52
71
  CpfNumberConverter,
53
72
  CpfNameConverter,
54
73
  BirthDateConverter,
55
- StreetNumberConverter,
56
74
  TextConverter,
75
+ CheckboxConverter,
76
+ SelectConverter,
77
+ PinConverter,
78
+ RadioGroupConverter,
79
+ EmailConverter,
80
+ EmailConverter,
81
+ EmailConverter,
82
+ StreetNumberConverter,
83
+ PricepointConverter,
84
+ PricepointConverter,
85
+ CouponConverter,
57
86
  { provide: convertersMapToken, useValue: convertersMap },
58
87
  ],
59
88
  }]
60
89
  }] });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDakYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFxQjVELE1BQU0sT0FBTyxVQUFVOzt1R0FBVixVQUFVO3dHQUFWLFVBQVUsWUFsQlgsbUJBQW1CLEVBQUUsZ0JBQWdCO3dHQWtCcEMsVUFBVSxhQWpCVjtRQUNULFdBQVc7UUFDWCxvQkFBb0I7UUFDcEIsWUFBWTtRQUNaLGNBQWM7UUFDZCxtQkFBbUI7UUFDbkIsdUJBQXVCO1FBQ3ZCLFlBQVk7UUFDWix1QkFBdUI7UUFDdkIsa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixrQkFBa0I7UUFDbEIscUJBQXFCO1FBQ3JCLGFBQWE7UUFDYixFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFO0tBQ3pELFlBaEJTLG1CQUFtQixFQUFFLGdCQUFnQjsyRkFrQnBDLFVBQVU7a0JBbkJ0QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixFQUFFLGdCQUFnQixDQUFDO29CQUNoRCxTQUFTLEVBQUU7d0JBQ1QsV0FBVzt3QkFDWCxvQkFBb0I7d0JBQ3BCLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsWUFBWTt3QkFDWix1QkFBdUI7d0JBQ3ZCLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLHFCQUFxQjt3QkFDckIsYUFBYTt3QkFDYixFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFO3FCQUN6RDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29udHJvbENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2NvbnRyb2xzL2NvbnRyb2wtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgY29udmVydGVyc01hcCwgY29udmVydGVyc01hcFRva2VuIH0gZnJvbSAnLi9jb252ZXJ0ZXJzL2NvbnZlcnRlcnMtbWFwJztcbmltcG9ydCB7IEVtYWlsQ29udmVydGVyIH0gZnJvbSAnLi9jb252ZXJ0ZXJzL2VtYWlsLmNvbnZlcnRlcic7XG5pbXBvcnQgeyBaaXBDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlcnMvemlwLmNvbnZlcnRlcic7XG5pbXBvcnQgeyBGb3JtU2VydmljZSB9IGZyb20gJy4vZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IENhcmROdW1iZXJDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlcnMvY2FyZC1udW1iZXIuY29udmVydGVyJztcbmltcG9ydCB7IENhcmRFeHBpcmF0aW9uQ29udmVydGVyIH0gZnJvbSAnLi9jb252ZXJ0ZXJzL2NhcmQtZXhwaXJhdGlvbi5jb252ZXJ0ZXInO1xuaW1wb3J0IHsgQ3Z2Q29udmVydGVyIH0gZnJvbSAnLi9jb252ZXJ0ZXJzL2N2di5jb252ZXJ0ZXInO1xuaW1wb3J0IHsgVmFsaWRhdG9yc01vZHVsZSB9IGZyb20gJy4vdmFsaWRhdG9ycy92YWxpZGF0b3JzLm1vZHVsZSc7XG5pbXBvcnQgeyBCaXJ0aERhdGVDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlcnMvYmlydGgtZGF0ZS5jb252ZXJ0ZXInO1xuaW1wb3J0IHsgQ2FyZGhvbGRlck5hbWVDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlcnMvY2FyZGhvbGRlci1uYW1lLmNvbnZlcnRlcic7XG5pbXBvcnQgeyBDcGZOYW1lQ29udmVydGVyIH0gZnJvbSAnLi9jb252ZXJ0ZXJzL2NwZi1uYW1lLmNvbnZlcnRlcic7XG5pbXBvcnQgeyBDcGZOdW1iZXJDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlcnMvY3BmLW51bWJlci5jb252ZXJ0ZXInO1xuaW1wb3J0IHsgU3RyZWV0TnVtYmVyQ29udmVydGVyIH0gZnJvbSAnLi9jb252ZXJ0ZXJzL3N0cmVldC1udW1iZXIvc3RyZWV0LW51bWJlci5jb252ZXJ0ZXInO1xuaW1wb3J0IHsgVGV4dENvbnZlcnRlciB9IGZyb20gJy4vY29udmVydGVycy90ZXh0LmNvbnZlcnRlcic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgRm9ybVNlcnZpY2UsXG4gICAgQ29udHJvbENvbmZpZ1NlcnZpY2UsXG4gICAgWmlwQ29udmVydGVyLFxuICAgIEVtYWlsQ29udmVydGVyLFxuICAgIENhcmROdW1iZXJDb252ZXJ0ZXIsXG4gICAgQ2FyZEV4cGlyYXRpb25Db252ZXJ0ZXIsXG4gICAgQ3Z2Q29udmVydGVyLFxuICAgIENhcmRob2xkZXJOYW1lQ29udmVydGVyLFxuICAgIENwZk51bWJlckNvbnZlcnRlcixcbiAgICBDcGZOYW1lQ29udmVydGVyLFxuICAgIEJpcnRoRGF0ZUNvbnZlcnRlcixcbiAgICBTdHJlZXROdW1iZXJDb252ZXJ0ZXIsXG4gICAgVGV4dENvbnZlcnRlcixcbiAgICB7IHByb3ZpZGU6IGNvbnZlcnRlcnNNYXBUb2tlbiwgdXNlVmFsdWU6IGNvbnZlcnRlcnNNYXAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybU1vZHVsZSB7fVxuIl19
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDckYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7QUFnQ3ZFLE1BQU0sT0FBTyxVQUFVOzt1R0FBVixVQUFVO3dHQUFWLFVBQVUsWUE3QlgsbUJBQW1CLEVBQUUsZ0JBQWdCO3dHQTZCcEMsVUFBVSxhQTVCVjtRQUNULFdBQVc7UUFDWCxvQkFBb0I7UUFDcEIsbUJBQW1CO1FBQ25CLGtCQUFrQjtRQUNsQixpQkFBaUI7UUFDakIsWUFBWTtRQUNaLFlBQVk7UUFDWixZQUFZO1FBQ1osdUJBQXVCO1FBQ3ZCLGtCQUFrQjtRQUNsQixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLGFBQWE7UUFDYixpQkFBaUI7UUFDakIsZUFBZTtRQUNmLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsY0FBYztRQUNkLGNBQWM7UUFDZCxjQUFjO1FBQ2QscUJBQXFCO1FBQ3JCLG1CQUFtQjtRQUNuQixtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUU7S0FDekQsWUEzQlMsbUJBQW1CLEVBQUUsZ0JBQWdCOzJGQTZCcEMsVUFBVTtrQkE5QnRCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsZ0JBQWdCLENBQUM7b0JBQ2hELFNBQVMsRUFBRTt3QkFDVCxXQUFXO3dCQUNYLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGNBQWM7d0JBQ2QscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFO3FCQUN6RDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29udHJvbENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2NvbnRyb2xzL2NvbnRyb2wtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgY29udmVydGVyc01hcCwgY29udmVydGVyc01hcFRva2VuIH0gZnJvbSAnLi9jb252ZXJ0ZXJzL2NvbnZlcnRlcnMtbWFwJztcbmltcG9ydCB7IEVtYWlsQ29udmVydGVyIH0gZnJvbSAnLi9jb252ZXJ0ZXJzL2VtYWlsL2VtYWlsLmNvbnZlcnRlcic7XG5pbXBvcnQgeyBaaXBDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlcnMvemlwL3ppcC5jb252ZXJ0ZXInO1xuaW1wb3J0IHsgRm9ybVNlcnZpY2UgfSBmcm9tICcuL2Zvcm0uc2VydmljZSc7XG5pbXBvcnQgeyBDYXJkTnVtYmVyQ29udmVydGVyIH0gZnJvbSAnLi9jb252ZXJ0ZXJzL2NhcmQtbnVtYmVyL2NhcmQtbnVtYmVyLmNvbnZlcnRlcic7XG5pbXBvcnQgeyBDYXJkTW9udGhDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlcnMvY2FyZC1tb250aC9jYXJkLW1vbnRoLmNvbnZlcnRlcic7XG5pbXBvcnQgeyBDdnZDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlcnMvY3Z2L2N2di5jb252ZXJ0ZXInO1xuaW1wb3J0IHsgVmFsaWRhdG9yc01vZHVsZSB9IGZyb20gJy4vdmFsaWRhdG9ycy92YWxpZGF0b3JzLm1vZHVsZSc7XG5pbXBvcnQgeyBCaXJ0aERhdGVDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlcnMvYmlydGgtZGF0ZS9iaXJ0aC1kYXRlLmNvbnZlcnRlcic7XG5pbXBvcnQgeyBDYXJkaG9sZGVyTmFtZUNvbnZlcnRlciB9IGZyb20gJy4vY29udmVydGVycy9jYXJkaG9sZGVyLW5hbWUvY2FyZGhvbGRlci1uYW1lLmNvbnZlcnRlcic7XG5pbXBvcnQgeyBDcGZOYW1lQ29udmVydGVyIH0gZnJvbSAnLi9jb252ZXJ0ZXJzL2NwZi1uYW1lL2NwZi1uYW1lLmNvbnZlcnRlcic7XG5pbXBvcnQgeyBDcGZOdW1iZXJDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlcnMvY3BmLW51bWJlci9jcGYtbnVtYmVyLmNvbnZlcnRlcic7XG5pbXBvcnQgeyBTdHJlZXROdW1iZXJDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlcnMvc3RyZWV0LW51bWJlci9zdHJlZXQtbnVtYmVyLmNvbnZlcnRlcic7XG5pbXBvcnQgeyBUZXh0Q29udmVydGVyIH0gZnJvbSAnLi9jb252ZXJ0ZXJzL3RleHQvdGV4dC5jb252ZXJ0ZXInO1xuaW1wb3J0IHsgQ2FyZFllYXJDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlcnMvY2FyZC15ZWFyL2NhcmQteWVhci5jb252ZXJ0ZXInO1xuaW1wb3J0IHsgQ2hlY2tib3hDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlcnMvY2hlY2tib3gvY2hlY2tib3guY29udmVydGVyJztcbmltcG9ydCB7IFNlbGVjdENvbnZlcnRlciB9IGZyb20gJy4vY29udmVydGVycy9zZWxlY3Qvc2VsZWN0LmNvbnZlcnRlcic7XG5pbXBvcnQgeyBQaW5Db252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlcnMvcGluL3Bpbi5jb252ZXJ0ZXInO1xuaW1wb3J0IHsgUmFkaW9Hcm91cENvbnZlcnRlciB9IGZyb20gJy4vY29udmVydGVycy9yYWRpby1ncm91cC9yYWRpby1ncm91cC5jb252ZXJ0ZXInO1xuaW1wb3J0IHsgUHJpY2Vwb2ludENvbnZlcnRlciB9IGZyb20gJy4vY29udmVydGVycy9wcmljZXBvaW50L3ByaWNlcG9pbnQuY29udmVydGVyJztcbmltcG9ydCB7IENvdXBvbkNvbnZlcnRlciB9IGZyb20gJy4vY29udmVydGVycy9jb3Vwb24vY291cG9uLmNvbnZlcnRlcic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgRm9ybVNlcnZpY2UsXG4gICAgQ29udHJvbENvbmZpZ1NlcnZpY2UsXG4gICAgQ2FyZE51bWJlckNvbnZlcnRlcixcbiAgICBDYXJkTW9udGhDb252ZXJ0ZXIsXG4gICAgQ2FyZFllYXJDb252ZXJ0ZXIsXG4gICAgQ3Z2Q29udmVydGVyLFxuICAgIEN2dkNvbnZlcnRlcixcbiAgICBaaXBDb252ZXJ0ZXIsXG4gICAgQ2FyZGhvbGRlck5hbWVDb252ZXJ0ZXIsXG4gICAgQ3BmTnVtYmVyQ29udmVydGVyLFxuICAgIENwZk5hbWVDb252ZXJ0ZXIsXG4gICAgQmlydGhEYXRlQ29udmVydGVyLFxuICAgIFRleHRDb252ZXJ0ZXIsXG4gICAgQ2hlY2tib3hDb252ZXJ0ZXIsXG4gICAgU2VsZWN0Q29udmVydGVyLFxuICAgIFBpbkNvbnZlcnRlcixcbiAgICBSYWRpb0dyb3VwQ29udmVydGVyLFxuICAgIEVtYWlsQ29udmVydGVyLFxuICAgIEVtYWlsQ29udmVydGVyLFxuICAgIEVtYWlsQ29udmVydGVyLFxuICAgIFN0cmVldE51bWJlckNvbnZlcnRlcixcbiAgICBQcmljZXBvaW50Q29udmVydGVyLFxuICAgIFByaWNlcG9pbnRDb252ZXJ0ZXIsXG4gICAgQ291cG9uQ29udmVydGVyLFxuICAgIHsgcHJvdmlkZTogY29udmVydGVyc01hcFRva2VuLCB1c2VWYWx1ZTogY29udmVydGVyc01hcCB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtTW9kdWxlIHt9XG4iXX0=
@@ -5,6 +5,7 @@ import * as i1 from "./controls/control-config.service";
5
5
  export class FormService {
6
6
  constructor(controlConfigService) {
7
7
  this.controlConfigService = controlConfigService;
8
+ this.fieldFormStates = {};
8
9
  }
9
10
  createForm(fields) {
10
11
  const controls = this.getVisibleFields(fields).reduce((result, field) => {
@@ -16,6 +17,23 @@ export class FormService {
16
17
  }, {});
17
18
  return new UntypedFormGroup(controls);
18
19
  }
20
+ updateFieldFormState(form, fields, fieldName, formState) {
21
+ const field = fields.find((fieldItem) => fieldItem.name === fieldName);
22
+ if (!field) {
23
+ return;
24
+ }
25
+ const converter = this.controlConfigService.getConverter(field);
26
+ const control = form.controls[fieldName];
27
+ if (!control) {
28
+ return;
29
+ }
30
+ this.fieldFormStates[fieldName] = {
31
+ ...this.fieldFormStates[fieldName],
32
+ ...formState,
33
+ };
34
+ control.setValidators(converter?.getValidators(field, this.fieldFormStates[fieldName]) ?? []);
35
+ control.updateValueAndValidity();
36
+ }
19
37
  getVisibleFields(fields) {
20
38
  return fields.filter(({ isVisible }) => isVisible === "1" /* XpsBoolean.true */);
21
39
  }
@@ -25,4 +43,4 @@ FormService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version:
25
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FormService, decorators: [{
26
44
  type: Injectable
27
45
  }], ctorParameters: function () { return [{ type: i1.ControlConfigService }]; } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9mb3JtL2Zvcm0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBc0IsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBTXRFLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFlBQ3FCLG9CQUEwQztRQUExQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO0lBQzVELENBQUM7SUFFRyxVQUFVLENBQUMsTUFBZTtRQUMvQixNQUFNLFFBQVEsR0FDWixJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUNsQyxDQUFDLE1BQTZDLEVBQUUsS0FBWSxFQUFFLEVBQUU7WUFDOUQsTUFBTSxXQUFXLEdBQ2YsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUVsRCxJQUFJLFdBQVcsRUFBRTtnQkFDZixNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFdBQVcsQ0FBQzthQUNsQztZQUVELE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsRUFDRCxFQUFFLENBQ0gsQ0FBQztRQUVKLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsTUFBZTtRQUN0QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxTQUFTLDhCQUFvQixDQUFDLENBQUM7SUFDekUsQ0FBQzs7d0dBMUJVLFdBQVc7NEdBQVgsV0FBVzsyRkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgWHBzQm9vbGVhbiB9IGZyb20gJy4uLy4uL3hwcy1ib29sZWFuLmVudW0nO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi9maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29udHJvbENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2NvbnRyb2xzL2NvbnRyb2wtY29uZmlnLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRm9ybVNlcnZpY2Uge1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnRyb2xDb25maWdTZXJ2aWNlOiBDb250cm9sQ29uZmlnU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIGNyZWF0ZUZvcm0oZmllbGRzOiBGaWVsZFtdKTogVW50eXBlZEZvcm1Hcm91cCB7XG4gICAgY29uc3QgY29udHJvbHM6IHsgW25hbWU6IHN0cmluZ106IFVudHlwZWRGb3JtQ29udHJvbCB9ID1cbiAgICAgIHRoaXMuZ2V0VmlzaWJsZUZpZWxkcyhmaWVsZHMpLnJlZHVjZShcbiAgICAgICAgKHJlc3VsdDogeyBba2V5OiBzdHJpbmddOiBVbnR5cGVkRm9ybUNvbnRyb2wgfSwgZmllbGQ6IEZpZWxkKSA9PiB7XG4gICAgICAgICAgY29uc3QgZm9ybUNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCB8IG51bGwgPVxuICAgICAgICAgICAgdGhpcy5jb250cm9sQ29uZmlnU2VydmljZS5nZXRGb3JtQ29udHJvbChmaWVsZCk7XG5cbiAgICAgICAgICBpZiAoZm9ybUNvbnRyb2wpIHtcbiAgICAgICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXSA9IGZvcm1Db250cm9sO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0sXG4gICAgICAgIHt9XG4gICAgICApO1xuXG4gICAgcmV0dXJuIG5ldyBVbnR5cGVkRm9ybUdyb3VwKGNvbnRyb2xzKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VmlzaWJsZUZpZWxkcyhmaWVsZHM6IEZpZWxkW10pOiBGaWVsZFtdIHtcbiAgICByZXR1cm4gZmllbGRzLmZpbHRlcigoeyBpc1Zpc2libGUgfSkgPT4gaXNWaXNpYmxlID09PSBYcHNCb29sZWFuLnRydWUpO1xuICB9XG59XG4iXX0=
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9mb3JtL2Zvcm0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBc0IsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBUXRFLE1BQU0sT0FBTyxXQUFXO0lBR3RCLFlBQ3FCLG9CQUEwQztRQUExQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBSHhELG9CQUFlLEdBQW9CLEVBQUUsQ0FBQztJQUkxQyxDQUFDO0lBRUcsVUFBVSxDQUFDLE1BQWU7UUFDL0IsTUFBTSxRQUFRLEdBQ1osSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FDbEMsQ0FBQyxNQUE2QyxFQUFFLEtBQVksRUFBRSxFQUFFO1lBQzlELE1BQU0sV0FBVyxHQUNmLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFbEQsSUFBSSxXQUFXLEVBQUU7Z0JBQ2YsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxXQUFXLENBQUM7YUFDbEM7WUFFRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLEVBQ0QsRUFBRSxDQUNILENBQUM7UUFFSixPQUFPLElBQUksZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVNLG9CQUFvQixDQUN6QixJQUFzQixFQUN0QixNQUFlLEVBQ2YsU0FBaUIsRUFDakIsU0FBb0I7UUFFcEIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FDdkIsQ0FBQyxTQUFnQixFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FDbkQsQ0FBQztRQUVGLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixPQUFPO1NBQ1I7UUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFekMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEdBQUc7WUFDaEMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQztZQUNsQyxHQUFHLFNBQVM7U0FDYixDQUFDO1FBQ0YsT0FBTyxDQUFDLGFBQWEsQ0FDbkIsU0FBUyxFQUFFLGFBQWEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FDdkUsQ0FBQztRQUNGLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxNQUFlO1FBQ3RDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLFNBQVMsOEJBQW9CLENBQUMsQ0FBQztJQUN6RSxDQUFDOzt3R0EzRFUsV0FBVzs0R0FBWCxXQUFXOzJGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBYcHNCb29sZWFuIH0gZnJvbSAnLi4vLi4veHBzLWJvb2xlYW4uZW51bSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb250cm9sQ29uZmlnU2VydmljZSB9IGZyb20gJy4vY29udHJvbHMvY29udHJvbC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBGaWVsZEZvcm1TdGF0ZXMgfSBmcm9tICcuL2ZpZWxkLWZvcm0tc3RhdGVzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGb3JtU3RhdGUgfSBmcm9tICcuL2Zvcm0tc3RhdGUuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZvcm1TZXJ2aWNlIHtcbiAgcHVibGljIGZpZWxkRm9ybVN0YXRlczogRmllbGRGb3JtU3RhdGVzID0ge307XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCByZWFkb25seSBjb250cm9sQ29uZmlnU2VydmljZTogQ29udHJvbENvbmZpZ1NlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBjcmVhdGVGb3JtKGZpZWxkczogRmllbGRbXSk6IFVudHlwZWRGb3JtR3JvdXAge1xuICAgIGNvbnN0IGNvbnRyb2xzOiB7IFtuYW1lOiBzdHJpbmddOiBVbnR5cGVkRm9ybUNvbnRyb2wgfSA9XG4gICAgICB0aGlzLmdldFZpc2libGVGaWVsZHMoZmllbGRzKS5yZWR1Y2UoXG4gICAgICAgIChyZXN1bHQ6IHsgW2tleTogc3RyaW5nXTogVW50eXBlZEZvcm1Db250cm9sIH0sIGZpZWxkOiBGaWVsZCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGZvcm1Db250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wgfCBudWxsID1cbiAgICAgICAgICAgIHRoaXMuY29udHJvbENvbmZpZ1NlcnZpY2UuZ2V0Rm9ybUNvbnRyb2woZmllbGQpO1xuXG4gICAgICAgICAgaWYgKGZvcm1Db250cm9sKSB7XG4gICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSBmb3JtQ29udHJvbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9LFxuICAgICAgICB7fVxuICAgICAgKTtcblxuICAgIHJldHVybiBuZXcgVW50eXBlZEZvcm1Hcm91cChjb250cm9scyk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlRmllbGRGb3JtU3RhdGUoXG4gICAgZm9ybTogVW50eXBlZEZvcm1Hcm91cCxcbiAgICBmaWVsZHM6IEZpZWxkW10sXG4gICAgZmllbGROYW1lOiBzdHJpbmcsXG4gICAgZm9ybVN0YXRlOiBGb3JtU3RhdGVcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgZmllbGQgPSBmaWVsZHMuZmluZChcbiAgICAgIChmaWVsZEl0ZW06IEZpZWxkKSA9PiBmaWVsZEl0ZW0ubmFtZSA9PT0gZmllbGROYW1lXG4gICAgKTtcblxuICAgIGlmICghZmllbGQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb252ZXJ0ZXIgPSB0aGlzLmNvbnRyb2xDb25maWdTZXJ2aWNlLmdldENvbnZlcnRlcihmaWVsZCk7XG4gICAgY29uc3QgY29udHJvbCA9IGZvcm0uY29udHJvbHNbZmllbGROYW1lXTtcblxuICAgIGlmICghY29udHJvbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZmllbGRGb3JtU3RhdGVzW2ZpZWxkTmFtZV0gPSB7XG4gICAgICAuLi50aGlzLmZpZWxkRm9ybVN0YXRlc1tmaWVsZE5hbWVdLFxuICAgICAgLi4uZm9ybVN0YXRlLFxuICAgIH07XG4gICAgY29udHJvbC5zZXRWYWxpZGF0b3JzKFxuICAgICAgY29udmVydGVyPy5nZXRWYWxpZGF0b3JzKGZpZWxkLCB0aGlzLmZpZWxkRm9ybVN0YXRlc1tmaWVsZE5hbWVdKSA/PyBbXVxuICAgICk7XG4gICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBwcml2YXRlIGdldFZpc2libGVGaWVsZHMoZmllbGRzOiBGaWVsZFtdKTogRmllbGRbXSB7XG4gICAgcmV0dXJuIGZpZWxkcy5maWx0ZXIoKHsgaXNWaXNpYmxlIH0pID0+IGlzVmlzaWJsZSA9PT0gWHBzQm9vbGVhbi50cnVlKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,37 @@
1
+ import { isEmptyInputValue } from '../is-empty-input-value.function';
2
+ export const birthdateValidator = ({ value }) => {
3
+ if (isEmptyInputValue(value) || typeof value !== 'string') {
4
+ return null;
5
+ }
6
+ const error = {
7
+ invalidBirthDate: {
8
+ message: `Enter a valid birth date`,
9
+ },
10
+ };
11
+ const dateArr = value.split('/');
12
+ const datePartsCount = 3;
13
+ const dayIndex = 0;
14
+ const monthIndex = 1;
15
+ const yearIndex = 2;
16
+ const maxMonths = 12;
17
+ const maxDays = 31;
18
+ const minAge = 16;
19
+ const maxAge = 120;
20
+ if (dateArr.length < datePartsCount) {
21
+ return null;
22
+ }
23
+ if (+dateArr[monthIndex] > maxMonths || +dateArr[dayIndex] > maxDays) {
24
+ return error;
25
+ }
26
+ const currentDate = new Date(+dateArr[yearIndex], +dateArr[monthIndex], +dateArr[dayIndex]);
27
+ const nowDate = new Date();
28
+ if (isNaN(currentDate.getFullYear()) ||
29
+ nowDate.getFullYear() - currentDate.getFullYear() <= minAge ||
30
+ nowDate.getFullYear() - currentDate.getFullYear() > maxAge) {
31
+ return error;
32
+ }
33
+ else {
34
+ return null;
35
+ }
36
+ };
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlydGgtZGF0ZS52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vdmFsaWRhdG9ycy9iaXJ0aC1kYXRlL2JpcnRoLWRhdGUudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXJFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFnQixDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtJQUMzRCxJQUFJLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUN6RCxPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsTUFBTSxLQUFLLEdBQXFCO1FBQzlCLGdCQUFnQixFQUFFO1lBQ2hCLE9BQU8sRUFBRSwwQkFBMEI7U0FDcEM7S0FDRixDQUFDO0lBQ0YsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxNQUFNLGNBQWMsR0FBRyxDQUFDLENBQUM7SUFDekIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQztJQUNyQixNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDcEIsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNuQixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDbEIsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDO0lBRW5CLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxjQUFjLEVBQUU7UUFDbkMsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsU0FBUyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLE9BQU8sRUFBRTtRQUNwRSxPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxJQUFJLENBQzFCLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUNuQixDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFDcEIsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQ25CLENBQUM7SUFDRixNQUFNLE9BQU8sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO0lBRTNCLElBQ0UsS0FBSyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoQyxPQUFPLENBQUMsV0FBVyxFQUFFLEdBQUcsV0FBVyxDQUFDLFdBQVcsRUFBRSxJQUFJLE1BQU07UUFDM0QsT0FBTyxDQUFDLFdBQVcsRUFBRSxHQUFHLFdBQVcsQ0FBQyxXQUFXLEVBQUUsR0FBRyxNQUFNLEVBQzFEO1FBQ0EsT0FBTyxLQUFLLENBQUM7S0FDZDtTQUFNO1FBQ0wsT0FBTyxJQUFJLENBQUM7S0FDYjtBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRvckZuLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgaXNFbXB0eUlucHV0VmFsdWUgfSBmcm9tICcuLi9pcy1lbXB0eS1pbnB1dC12YWx1ZS5mdW5jdGlvbic7XG5cbmV4cG9ydCBjb25zdCBiaXJ0aGRhdGVWYWxpZGF0b3I6IFZhbGlkYXRvckZuID0gKHsgdmFsdWUgfSkgPT4ge1xuICBpZiAoaXNFbXB0eUlucHV0VmFsdWUodmFsdWUpIHx8IHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGVycm9yOiBWYWxpZGF0aW9uRXJyb3JzID0ge1xuICAgIGludmFsaWRCaXJ0aERhdGU6IHtcbiAgICAgIG1lc3NhZ2U6IGBFbnRlciBhIHZhbGlkIGJpcnRoIGRhdGVgLFxuICAgIH0sXG4gIH07XG4gIGNvbnN0IGRhdGVBcnIgPSB2YWx1ZS5zcGxpdCgnLycpO1xuICBjb25zdCBkYXRlUGFydHNDb3VudCA9IDM7XG4gIGNvbnN0IGRheUluZGV4ID0gMDtcbiAgY29uc3QgbW9udGhJbmRleCA9IDE7XG4gIGNvbnN0IHllYXJJbmRleCA9IDI7XG4gIGNvbnN0IG1heE1vbnRocyA9IDEyO1xuICBjb25zdCBtYXhEYXlzID0gMzE7XG4gIGNvbnN0IG1pbkFnZSA9IDE2O1xuICBjb25zdCBtYXhBZ2UgPSAxMjA7XG5cbiAgaWYgKGRhdGVBcnIubGVuZ3RoIDwgZGF0ZVBhcnRzQ291bnQpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmICgrZGF0ZUFyclttb250aEluZGV4XSA+IG1heE1vbnRocyB8fCArZGF0ZUFycltkYXlJbmRleF0gPiBtYXhEYXlzKSB7XG4gICAgcmV0dXJuIGVycm9yO1xuICB9XG5cbiAgY29uc3QgY3VycmVudERhdGUgPSBuZXcgRGF0ZShcbiAgICArZGF0ZUFyclt5ZWFySW5kZXhdLFxuICAgICtkYXRlQXJyW21vbnRoSW5kZXhdLFxuICAgICtkYXRlQXJyW2RheUluZGV4XVxuICApO1xuICBjb25zdCBub3dEYXRlID0gbmV3IERhdGUoKTtcblxuICBpZiAoXG4gICAgaXNOYU4oY3VycmVudERhdGUuZ2V0RnVsbFllYXIoKSkgfHxcbiAgICBub3dEYXRlLmdldEZ1bGxZZWFyKCkgLSBjdXJyZW50RGF0ZS5nZXRGdWxsWWVhcigpIDw9IG1pbkFnZSB8fFxuICAgIG5vd0RhdGUuZ2V0RnVsbFllYXIoKSAtIGN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCkgPiBtYXhBZ2VcbiAgKSB7XG4gICAgcmV0dXJuIGVycm9yO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59O1xuIl19