@firestitch/form 15.0.0 → 17.0.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 (131) hide show
  1. package/app/components/form-dialog-actions/form-dialog-actions.component.d.ts +1 -1
  2. package/app/components/form-template/form-template.component.d.ts +1 -1
  3. package/app/components/form-template-outlet/form-template-outlet.component.d.ts +1 -1
  4. package/app/directives/button.directive.d.ts +1 -1
  5. package/app/directives/form/form.directive.d.ts +1 -1
  6. package/app/directives/form-dialog-close.directive.d.ts +1 -1
  7. package/app/directives/validators/compare.directive.d.ts +1 -1
  8. package/app/directives/validators/control.directive.d.ts +1 -1
  9. package/app/directives/validators/daterange.directive.d.ts +1 -1
  10. package/app/directives/validators/email.directive.d.ts +1 -1
  11. package/app/directives/validators/emails.directive.d.ts +1 -1
  12. package/app/directives/validators/function.directive.d.ts +1 -1
  13. package/app/directives/validators/greater-equal.directive.d.ts +1 -1
  14. package/app/directives/validators/greater.directive.d.ts +1 -1
  15. package/app/directives/validators/integer.directive.d.ts +1 -1
  16. package/app/directives/validators/lesser-equal.directive.d.ts +1 -1
  17. package/app/directives/validators/lesser.directive.d.ts +1 -1
  18. package/app/directives/validators/max.directive.d.ts +1 -1
  19. package/app/directives/validators/maxlength.directive.d.ts +1 -1
  20. package/app/directives/validators/min.directive.d.ts +1 -1
  21. package/app/directives/validators/minlength.directive.d.ts +1 -1
  22. package/app/directives/validators/numeric.directive.d.ts +1 -1
  23. package/app/directives/validators/pattern.directive.d.ts +1 -1
  24. package/app/directives/validators/phone.directive.d.ts +1 -1
  25. package/app/directives/validators/required.directive.d.ts +1 -1
  26. package/app/directives/validators/url.directive.d.ts +1 -1
  27. package/app/directives/validators/validate.directive.d.ts +1 -1
  28. package/app/guards/form-deactivate.guard.d.ts +2 -2
  29. package/esm2022/app/components/confirm-unsaved/confirm-unsaved.component.mjs +51 -0
  30. package/esm2022/app/components/form-dialog-actions/form-dialog-actions.component.mjs +79 -0
  31. package/esm2022/app/components/form-template/form-template.component.mjs +34 -0
  32. package/{esm2020 → esm2022}/app/components/form-template/index.mjs +1 -1
  33. package/esm2022/app/components/form-template-outlet/form-template-outlet.component.mjs +32 -0
  34. package/{esm2020 → esm2022}/app/components/form-template-outlet/index.mjs +1 -1
  35. package/esm2022/app/directives/button.directive.mjs +172 -0
  36. package/esm2022/app/directives/form/form.directive.mjs +703 -0
  37. package/esm2022/app/directives/form-dialog-close.directive.mjs +57 -0
  38. package/esm2022/app/directives/form-template.directive.mjs +21 -0
  39. package/{esm2020 → esm2022}/app/directives/submit-button.directive.mjs +4 -4
  40. package/esm2022/app/directives/validators/compare.directive.mjs +48 -0
  41. package/esm2022/app/directives/validators/control.directive.mjs +269 -0
  42. package/esm2022/app/directives/validators/daterange.directive.mjs +42 -0
  43. package/esm2022/app/directives/validators/email.directive.mjs +42 -0
  44. package/esm2022/app/directives/validators/emails.directive.mjs +42 -0
  45. package/esm2022/app/directives/validators/function.directive.mjs +40 -0
  46. package/esm2022/app/directives/validators/greater-equal.directive.mjs +41 -0
  47. package/esm2022/app/directives/validators/greater.directive.mjs +41 -0
  48. package/esm2022/app/directives/validators/integer.directive.mjs +40 -0
  49. package/esm2022/app/directives/validators/lesser-equal.directive.mjs +41 -0
  50. package/esm2022/app/directives/validators/lesser.directive.mjs +41 -0
  51. package/esm2022/app/directives/validators/max.directive.mjs +37 -0
  52. package/esm2022/app/directives/validators/maxlength.directive.mjs +36 -0
  53. package/esm2022/app/directives/validators/min.directive.mjs +37 -0
  54. package/esm2022/app/directives/validators/minlength.directive.mjs +36 -0
  55. package/esm2022/app/directives/validators/no-fs-validators.directive.mjs +53 -0
  56. package/esm2022/app/directives/validators/numeric.directive.mjs +42 -0
  57. package/esm2022/app/directives/validators/pattern.directive.mjs +36 -0
  58. package/esm2022/app/directives/validators/phone.directive.mjs +42 -0
  59. package/esm2022/app/directives/validators/required.directive.mjs +66 -0
  60. package/esm2022/app/directives/validators/url.directive.mjs +43 -0
  61. package/esm2022/app/directives/validators/validate.directive.mjs +42 -0
  62. package/esm2022/app/fs-form.module.mjs +209 -0
  63. package/esm2022/app/guards/form-deactivate.guard.mjs +44 -0
  64. package/{esm2020 → esm2022}/app/helpers/get-active-route.mjs +1 -1
  65. package/esm2022/app/helpers/get-form-errors.mjs +25 -0
  66. package/esm2022/app/services/fsform.service.mjs +94 -0
  67. package/esm2022/app/validators/validators.mjs +93 -0
  68. package/{fesm2020 → fesm2022}/firestitch-form.mjs +383 -319
  69. package/fesm2022/firestitch-form.mjs.map +1 -0
  70. package/package.json +5 -11
  71. package/esm2020/app/components/confirm-unsaved/confirm-unsaved.component.mjs +0 -44
  72. package/esm2020/app/components/form-dialog-actions/form-dialog-actions.component.mjs +0 -75
  73. package/esm2020/app/components/form-template/form-template.component.mjs +0 -31
  74. package/esm2020/app/components/form-template-outlet/form-template-outlet.component.mjs +0 -30
  75. package/esm2020/app/directives/button.directive.mjs +0 -166
  76. package/esm2020/app/directives/form/form.directive.mjs +0 -689
  77. package/esm2020/app/directives/form-dialog-close.directive.mjs +0 -54
  78. package/esm2020/app/directives/form-template.directive.mjs +0 -20
  79. package/esm2020/app/directives/validators/compare.directive.mjs +0 -47
  80. package/esm2020/app/directives/validators/control.directive.mjs +0 -258
  81. package/esm2020/app/directives/validators/daterange.directive.mjs +0 -41
  82. package/esm2020/app/directives/validators/email.directive.mjs +0 -41
  83. package/esm2020/app/directives/validators/emails.directive.mjs +0 -41
  84. package/esm2020/app/directives/validators/function.directive.mjs +0 -41
  85. package/esm2020/app/directives/validators/greater-equal.directive.mjs +0 -40
  86. package/esm2020/app/directives/validators/greater.directive.mjs +0 -40
  87. package/esm2020/app/directives/validators/integer.directive.mjs +0 -39
  88. package/esm2020/app/directives/validators/lesser-equal.directive.mjs +0 -40
  89. package/esm2020/app/directives/validators/lesser.directive.mjs +0 -40
  90. package/esm2020/app/directives/validators/max.directive.mjs +0 -36
  91. package/esm2020/app/directives/validators/maxlength.directive.mjs +0 -35
  92. package/esm2020/app/directives/validators/min.directive.mjs +0 -36
  93. package/esm2020/app/directives/validators/minlength.directive.mjs +0 -35
  94. package/esm2020/app/directives/validators/no-fs-validators.directive.mjs +0 -53
  95. package/esm2020/app/directives/validators/numeric.directive.mjs +0 -41
  96. package/esm2020/app/directives/validators/pattern.directive.mjs +0 -35
  97. package/esm2020/app/directives/validators/phone.directive.mjs +0 -41
  98. package/esm2020/app/directives/validators/required.directive.mjs +0 -69
  99. package/esm2020/app/directives/validators/url.directive.mjs +0 -45
  100. package/esm2020/app/directives/validators/validate.directive.mjs +0 -43
  101. package/esm2020/app/fs-form.module.mjs +0 -209
  102. package/esm2020/app/guards/form-deactivate.guard.mjs +0 -42
  103. package/esm2020/app/helpers/get-form-errors.mjs +0 -25
  104. package/esm2020/app/services/fsform.service.mjs +0 -92
  105. package/esm2020/app/validators/validators.mjs +0 -93
  106. package/fesm2015/firestitch-form.mjs +0 -2579
  107. package/fesm2015/firestitch-form.mjs.map +0 -1
  108. package/fesm2020/firestitch-form.mjs.map +0 -1
  109. /package/{esm2020 → esm2022}/app/components/confirm-unsaved/index.mjs +0 -0
  110. /package/{esm2020 → esm2022}/app/components/form-dialog-actions/index.mjs +0 -0
  111. /package/{esm2020 → esm2022}/app/components/index.mjs +0 -0
  112. /package/{esm2020 → esm2022}/app/consts/error-messages.const.mjs +0 -0
  113. /package/{esm2020 → esm2022}/app/directives/form/index.mjs +0 -0
  114. /package/{esm2020 → esm2022}/app/directives/index.mjs +0 -0
  115. /package/{esm2020 → esm2022}/app/directives/validators/index.mjs +0 -0
  116. /package/{esm2020 → esm2022}/app/enums/confirm-result.mjs +0 -0
  117. /package/{esm2020 → esm2022}/app/enums/form-status.mjs +0 -0
  118. /package/{esm2020 → esm2022}/app/enums/index.mjs +0 -0
  119. /package/{esm2020 → esm2022}/app/helpers/confirm-result-continue.mjs +0 -0
  120. /package/{esm2020 → esm2022}/app/helpers/index.mjs +0 -0
  121. /package/{esm2020 → esm2022}/app/helpers/is-enabled.mjs +0 -0
  122. /package/{esm2020 → esm2022}/app/interfaces/async-validator.mjs +0 -0
  123. /package/{esm2020 → esm2022}/app/interfaces/confirm-config.mjs +0 -0
  124. /package/{esm2020 → esm2022}/app/interfaces/confirm-tab-group.mjs +0 -0
  125. /package/{esm2020 → esm2022}/app/interfaces/index.mjs +0 -0
  126. /package/{esm2020 → esm2022}/app/interfaces/submit-event.mjs +0 -0
  127. /package/{esm2020 → esm2022}/app/interfaces/submitted-event.mjs +0 -0
  128. /package/{esm2020 → esm2022}/app/interfaces/validator.mjs +0 -0
  129. /package/{esm2020 → esm2022}/app/providers/validate-messages.provider.mjs +0 -0
  130. /package/{esm2020 → esm2022}/firestitch-form.mjs +0 -0
  131. /package/{esm2020 → esm2022}/public_api.mjs +0 -0
@@ -0,0 +1,40 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { of } from 'rxjs';
3
+ import { VALIDATE_MESSAGE_PROVIDER } from '../../providers/validate-messages.provider';
4
+ import { FsValidators } from '../../validators/validators';
5
+ import { FsControlDirective } from './control.directive';
6
+ import * as i0 from "@angular/core";
7
+ export class FsFormFunctionDirective extends FsControlDirective {
8
+ fsFormFunction;
9
+ fsFormFunctionData;
10
+ validateOnSubmit = false;
11
+ ngOnChanges() {
12
+ this._control.updateValueAndValidity();
13
+ }
14
+ validateAsync(control) {
15
+ if (this.validateOnSubmit && !this.formDirective.validating) {
16
+ return of(null);
17
+ }
18
+ return FsValidators.func(this._control, this.fsFormFunction, this.fsFormFunctionData);
19
+ }
20
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsFormFunctionDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
21
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: FsFormFunctionDirective, selector: "[fsFormFunction]", inputs: { fsFormFunction: "fsFormFunction", fsFormFunctionData: "fsFormFunctionData", validateOnSubmit: "validateOnSubmit" }, providers: [
22
+ VALIDATE_MESSAGE_PROVIDER,
23
+ ], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsFormFunctionDirective, decorators: [{
26
+ type: Directive,
27
+ args: [{
28
+ selector: '[fsFormFunction]',
29
+ providers: [
30
+ VALIDATE_MESSAGE_PROVIDER,
31
+ ],
32
+ }]
33
+ }], propDecorators: { fsFormFunction: [{
34
+ type: Input
35
+ }], fsFormFunctionData: [{
36
+ type: Input
37
+ }], validateOnSubmit: [{
38
+ type: Input
39
+ }] } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvZnVuY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRzVELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHdEMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQVN6RCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsa0JBQWtCO0lBR3RELGNBQWMsQ0FBQztJQUdmLGtCQUFrQixDQUFDO0lBR25CLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUV6QixXQUFXO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU0sYUFBYSxDQUFDLE9BQXdCO1FBQzNDLElBQUcsSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUMzRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixDQUFDO1FBRUQsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUN4RixDQUFDO3dHQXJCVSx1QkFBdUI7NEZBQXZCLHVCQUF1Qix5S0FKdkI7WUFDVCx5QkFBeUI7U0FDMUI7OzRGQUVVLHVCQUF1QjtrQkFObkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixTQUFTLEVBQUU7d0JBQ1QseUJBQXlCO3FCQUMxQjtpQkFDRjs4QkFJUSxjQUFjO3NCQURwQixLQUFLO2dCQUlDLGtCQUFrQjtzQkFEeEIsS0FBSztnQkFJQyxnQkFBZ0I7c0JBRHRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRnNBc3luY1ZhbGlkYXRvciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvYXN5bmMtdmFsaWRhdG9yJztcbmltcG9ydCB7IFZBTElEQVRFX01FU1NBR0VfUFJPVklERVIgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvdmFsaWRhdGUtbWVzc2FnZXMucHJvdmlkZXInO1xuaW1wb3J0IHsgRnNWYWxpZGF0b3JzIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycy92YWxpZGF0b3JzJztcblxuaW1wb3J0IHsgRnNDb250cm9sRGlyZWN0aXZlIH0gZnJvbSAnLi9jb250cm9sLmRpcmVjdGl2ZSc7XG5cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2ZzRm9ybUZ1bmN0aW9uXScsXG4gIHByb3ZpZGVyczogW1xuICAgIFZBTElEQVRFX01FU1NBR0VfUFJPVklERVIsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZzRm9ybUZ1bmN0aW9uRGlyZWN0aXZlIGV4dGVuZHMgRnNDb250cm9sRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBGc0FzeW5jVmFsaWRhdG9yIHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZnNGb3JtRnVuY3Rpb247XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZzRm9ybUZ1bmN0aW9uRGF0YTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdmFsaWRhdGVPblN1Ym1pdCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9jb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZUFzeW5jKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFByb21pc2U8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+IHwgT2JzZXJ2YWJsZTxWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbD4ge1xuICAgIGlmKHRoaXMudmFsaWRhdGVPblN1Ym1pdCAmJiAhdGhpcy5mb3JtRGlyZWN0aXZlLnZhbGlkYXRpbmcpIHtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG4gICAgXG4gICAgcmV0dXJuIEZzVmFsaWRhdG9ycy5mdW5jKHRoaXMuX2NvbnRyb2wsIHRoaXMuZnNGb3JtRnVuY3Rpb24sIHRoaXMuZnNGb3JtRnVuY3Rpb25EYXRhKTtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,41 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { FsControlDirective } from './control.directive';
3
+ import { FsValidators } from '../../validators/validators';
4
+ import { VALIDATE_MESSAGE_PROVIDER } from '../../providers/validate-messages.provider';
5
+ import * as i0 from "@angular/core";
6
+ export class FsFormGreaterEqualDirective extends FsControlDirective {
7
+ fsFormGreaterEqual;
8
+ set validationMessage(value) {
9
+ this._validateMessages.greater = value;
10
+ }
11
+ ngOnChanges() {
12
+ this._control.updateValueAndValidity();
13
+ }
14
+ validate(control) {
15
+ const greater = parseFloat(this.fsFormGreaterEqual);
16
+ const value = parseFloat(this._control.value);
17
+ if (!isNaN(greater) && !isNaN(value) && value < greater) {
18
+ return { greaterEqual: { greater, actual: value } };
19
+ }
20
+ return FsValidators.numeric(this._control);
21
+ }
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsFormGreaterEqualDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
23
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: FsFormGreaterEqualDirective, selector: "[fsFormGreaterEqual]", inputs: { fsFormGreaterEqual: "fsFormGreaterEqual", validationMessage: ["fsFormGreaterEqualMessage", "validationMessage"] }, providers: [
24
+ VALIDATE_MESSAGE_PROVIDER
25
+ ], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsFormGreaterEqualDirective, decorators: [{
28
+ type: Directive,
29
+ args: [{
30
+ selector: '[fsFormGreaterEqual]',
31
+ providers: [
32
+ VALIDATE_MESSAGE_PROVIDER
33
+ ],
34
+ }]
35
+ }], propDecorators: { fsFormGreaterEqual: [{
36
+ type: Input
37
+ }], validationMessage: [{
38
+ type: Input,
39
+ args: ['fsFormGreaterEqualMessage']
40
+ }] } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JlYXRlci1lcXVhbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9ncmVhdGVyLWVxdWFsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUc1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUM7O0FBVXZGLE1BQU0sT0FBTywyQkFBNEIsU0FBUSxrQkFBa0I7SUFHMUQsa0JBQWtCLENBQUM7SUFFMUIsSUFDVyxpQkFBaUIsQ0FBQyxLQUFhO1FBQ3hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3pDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU0sUUFBUSxDQUFDLE9BQXdCO1FBQ3RDLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNwRCxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssR0FBRyxPQUFPLEVBQUUsQ0FBQztZQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQ3RELENBQUM7UUFFRCxPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7d0dBdkJVLDJCQUEyQjs0RkFBM0IsMkJBQTJCLDRLQUozQjtZQUNULHlCQUF5QjtTQUMxQjs7NEZBRVUsMkJBQTJCO2tCQU52QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFNBQVMsRUFBRTt3QkFDVCx5QkFBeUI7cUJBQzFCO2lCQUNGOzhCQUlRLGtCQUFrQjtzQkFEeEIsS0FBSztnQkFJSyxpQkFBaUI7c0JBRDNCLEtBQUs7dUJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEZzQ29udHJvbERpcmVjdGl2ZSB9IGZyb20gJy4vY29udHJvbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNWYWxpZGF0b3JzIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycy92YWxpZGF0b3JzJztcbmltcG9ydCB7IFZBTElEQVRFX01FU1NBR0VfUFJPVklERVIgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvdmFsaWRhdGUtbWVzc2FnZXMucHJvdmlkZXInO1xuaW1wb3J0IHsgRnNWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3ZhbGlkYXRvcic7XG5cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2ZzRm9ybUdyZWF0ZXJFcXVhbF0nLFxuICBwcm92aWRlcnM6IFtcbiAgICBWQUxJREFURV9NRVNTQUdFX1BST1ZJREVSXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZzRm9ybUdyZWF0ZXJFcXVhbERpcmVjdGl2ZSBleHRlbmRzIEZzQ29udHJvbERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgRnNWYWxpZGF0b3Ige1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmc0Zvcm1HcmVhdGVyRXF1YWw7XG5cbiAgQElucHV0KCdmc0Zvcm1HcmVhdGVyRXF1YWxNZXNzYWdlJylcbiAgcHVibGljIHNldCB2YWxpZGF0aW9uTWVzc2FnZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdmFsaWRhdGVNZXNzYWdlcy5ncmVhdGVyID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5fY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGNvbnN0IGdyZWF0ZXIgPSBwYXJzZUZsb2F0KHRoaXMuZnNGb3JtR3JlYXRlckVxdWFsKTtcbiAgICBjb25zdCB2YWx1ZSA9IHBhcnNlRmxvYXQodGhpcy5fY29udHJvbC52YWx1ZSk7XG5cbiAgICBpZiAoIWlzTmFOKGdyZWF0ZXIpICYmICFpc05hTih2YWx1ZSkgJiYgdmFsdWUgPCBncmVhdGVyKSB7XG4gICAgICByZXR1cm4geyBncmVhdGVyRXF1YWw6IHsgZ3JlYXRlciwgYWN0dWFsOiB2YWx1ZSB9IH07XG4gICAgfVxuXG4gICAgcmV0dXJuIEZzVmFsaWRhdG9ycy5udW1lcmljKHRoaXMuX2NvbnRyb2wpO1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,41 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { FsControlDirective } from './control.directive';
3
+ import { FsValidators } from '../../validators/validators';
4
+ import { VALIDATE_MESSAGE_PROVIDER } from '../../providers/validate-messages.provider';
5
+ import * as i0 from "@angular/core";
6
+ export class FsFormGreaterDirective extends FsControlDirective {
7
+ fsFormGreater;
8
+ set validationMessage(value) {
9
+ this._validateMessages.greater = value;
10
+ }
11
+ ngOnChanges() {
12
+ this._control.updateValueAndValidity();
13
+ }
14
+ validate(control) {
15
+ const greater = parseFloat(this.fsFormGreater);
16
+ const value = parseFloat(this._control.value);
17
+ if (!isNaN(greater) && !isNaN(value) && value <= greater) {
18
+ return { greater: { greater, actual: value } };
19
+ }
20
+ return FsValidators.numeric(this._control);
21
+ }
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsFormGreaterDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
23
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: FsFormGreaterDirective, selector: "[fsFormGreater]", inputs: { fsFormGreater: "fsFormGreater", validationMessage: ["fsFormGreaterMessage", "validationMessage"] }, providers: [
24
+ VALIDATE_MESSAGE_PROVIDER
25
+ ], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsFormGreaterDirective, decorators: [{
28
+ type: Directive,
29
+ args: [{
30
+ selector: '[fsFormGreater]',
31
+ providers: [
32
+ VALIDATE_MESSAGE_PROVIDER
33
+ ],
34
+ }]
35
+ }], propDecorators: { fsFormGreater: [{
36
+ type: Input
37
+ }], validationMessage: [{
38
+ type: Input,
39
+ args: ['fsFormGreaterMessage']
40
+ }] } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JlYXRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9ncmVhdGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUc1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUM7O0FBVXZGLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxrQkFBa0I7SUFHckQsYUFBYSxDQUFDO0lBRXJCLElBQ1csaUJBQWlCLENBQUMsS0FBYTtRQUN4QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN6QyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVNLFFBQVEsQ0FBQyxPQUF3QjtRQUN0QyxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDakQsQ0FBQztRQUVELE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0MsQ0FBQzt3R0F2QlUsc0JBQXNCOzRGQUF0QixzQkFBc0Isd0pBSnRCO1lBQ1QseUJBQXlCO1NBQzFCOzs0RkFFVSxzQkFBc0I7a0JBTmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsU0FBUyxFQUFFO3dCQUNULHlCQUF5QjtxQkFDMUI7aUJBQ0Y7OEJBSVEsYUFBYTtzQkFEbkIsS0FBSztnQkFJSyxpQkFBaUI7c0JBRDNCLEtBQUs7dUJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEZzQ29udHJvbERpcmVjdGl2ZSB9IGZyb20gJy4vY29udHJvbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNWYWxpZGF0b3JzIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycy92YWxpZGF0b3JzJztcbmltcG9ydCB7IFZBTElEQVRFX01FU1NBR0VfUFJPVklERVIgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvdmFsaWRhdGUtbWVzc2FnZXMucHJvdmlkZXInO1xuaW1wb3J0IHsgRnNWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3ZhbGlkYXRvcic7XG5cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2ZzRm9ybUdyZWF0ZXJdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgVkFMSURBVEVfTUVTU0FHRV9QUk9WSURFUlxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGc0Zvcm1HcmVhdGVyRGlyZWN0aXZlIGV4dGVuZHMgRnNDb250cm9sRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBGc1ZhbGlkYXRvciB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZzRm9ybUdyZWF0ZXI7XG5cbiAgQElucHV0KCdmc0Zvcm1HcmVhdGVyTWVzc2FnZScpXG4gIHB1YmxpYyBzZXQgdmFsaWRhdGlvbk1lc3NhZ2UodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3ZhbGlkYXRlTWVzc2FnZXMuZ3JlYXRlciA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuX2NvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBjb25zdCBncmVhdGVyID0gcGFyc2VGbG9hdCh0aGlzLmZzRm9ybUdyZWF0ZXIpO1xuICAgIGNvbnN0IHZhbHVlID0gcGFyc2VGbG9hdCh0aGlzLl9jb250cm9sLnZhbHVlKTtcblxuICAgIGlmICghaXNOYU4oZ3JlYXRlcikgJiYgIWlzTmFOKHZhbHVlKSAmJiB2YWx1ZSA8PSBncmVhdGVyKSB7XG4gICAgICByZXR1cm4geyBncmVhdGVyOiB7IGdyZWF0ZXIsIGFjdHVhbDogdmFsdWUgfSB9O1xuICAgIH1cblxuICAgIHJldHVybiBGc1ZhbGlkYXRvcnMubnVtZXJpYyh0aGlzLl9jb250cm9sKTtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,40 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { isEnabled } from '../../helpers/is-enabled';
3
+ import { VALIDATE_MESSAGE_PROVIDER } from '../../providers/validate-messages.provider';
4
+ import { FsValidators } from '../../validators/validators';
5
+ import { FsControlDirective } from './control.directive';
6
+ import * as i0 from "@angular/core";
7
+ export class FsFormIntegerDirective extends FsControlDirective {
8
+ fsFormInteger;
9
+ set validationMessage(value) {
10
+ this._validateMessages.integer = value;
11
+ }
12
+ ngOnChanges() {
13
+ this._control.updateValueAndValidity();
14
+ }
15
+ validate(control) {
16
+ if (isEnabled(this.fsFormInteger)) {
17
+ return FsValidators.integer(this._control);
18
+ }
19
+ return null;
20
+ }
21
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsFormIntegerDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
22
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: FsFormIntegerDirective, selector: "[fsFormInteger]", inputs: { fsFormInteger: "fsFormInteger", validationMessage: ["fsFormIntegerMessage", "validationMessage"] }, providers: [
23
+ VALIDATE_MESSAGE_PROVIDER,
24
+ ], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsFormIntegerDirective, decorators: [{
27
+ type: Directive,
28
+ args: [{
29
+ selector: '[fsFormInteger]',
30
+ providers: [
31
+ VALIDATE_MESSAGE_PROVIDER,
32
+ ],
33
+ }]
34
+ }], propDecorators: { fsFormInteger: [{
35
+ type: Input
36
+ }], validationMessage: [{
37
+ type: Input,
38
+ args: ['fsFormIntegerMessage']
39
+ }] } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWdlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9pbnRlZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUc1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFckQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQVN6RCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsa0JBQWtCO0lBR3JELGFBQWEsQ0FBQztJQUVyQixJQUNXLGlCQUFpQixDQUFDLEtBQWE7UUFDeEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDekMsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFTSxRQUFRLENBQUMsT0FBd0I7UUFDdEMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDbEMsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFFZCxDQUFDO3dHQXJCVSxzQkFBc0I7NEZBQXRCLHNCQUFzQix3SkFKdEI7WUFDVCx5QkFBeUI7U0FDMUI7OzRGQUVVLHNCQUFzQjtrQkFObEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixTQUFTLEVBQUU7d0JBQ1QseUJBQXlCO3FCQUMxQjtpQkFDRjs4QkFJUSxhQUFhO3NCQURuQixLQUFLO2dCQUlLLGlCQUFpQjtzQkFEM0IsS0FBSzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgaXNFbmFibGVkIH0gZnJvbSAnLi4vLi4vaGVscGVycy9pcy1lbmFibGVkJztcbmltcG9ydCB7IEZzVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy92YWxpZGF0b3InO1xuaW1wb3J0IHsgVkFMSURBVEVfTUVTU0FHRV9QUk9WSURFUiB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy92YWxpZGF0ZS1tZXNzYWdlcy5wcm92aWRlcic7XG5pbXBvcnQgeyBGc1ZhbGlkYXRvcnMgfSBmcm9tICcuLi8uLi92YWxpZGF0b3JzL3ZhbGlkYXRvcnMnO1xuXG5pbXBvcnQgeyBGc0NvbnRyb2xEaXJlY3RpdmUgfSBmcm9tICcuL2NvbnRyb2wuZGlyZWN0aXZlJztcblxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZnNGb3JtSW50ZWdlcl0nLFxuICBwcm92aWRlcnM6IFtcbiAgICBWQUxJREFURV9NRVNTQUdFX1BST1ZJREVSLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGc0Zvcm1JbnRlZ2VyRGlyZWN0aXZlIGV4dGVuZHMgRnNDb250cm9sRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBGc1ZhbGlkYXRvciB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZzRm9ybUludGVnZXI7XG5cbiAgQElucHV0KCdmc0Zvcm1JbnRlZ2VyTWVzc2FnZScpXG4gIHB1YmxpYyBzZXQgdmFsaWRhdGlvbk1lc3NhZ2UodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3ZhbGlkYXRlTWVzc2FnZXMuaW50ZWdlciA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKCkge1xuICAgIHRoaXMuX2NvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBpZiAoaXNFbmFibGVkKHRoaXMuZnNGb3JtSW50ZWdlcikpIHtcbiAgICAgIHJldHVybiBGc1ZhbGlkYXRvcnMuaW50ZWdlcih0aGlzLl9jb250cm9sKTtcbiAgICB9XG4gXG4gICAgcmV0dXJuIG51bGw7XG4gICAgXG4gIH1cblxufVxuIl19
@@ -0,0 +1,41 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { FsControlDirective } from './control.directive';
3
+ import { FsValidators } from '../../validators/validators';
4
+ import { VALIDATE_MESSAGE_PROVIDER } from '../../providers/validate-messages.provider';
5
+ import * as i0 from "@angular/core";
6
+ export class FsFormLesserEqualDirective extends FsControlDirective {
7
+ fsFormLesserEqual;
8
+ set validationMessage(value) {
9
+ this._validateMessages.lesser = value;
10
+ }
11
+ ngOnChanges() {
12
+ this._control.updateValueAndValidity();
13
+ }
14
+ validate(control) {
15
+ const lesser = parseFloat(this.fsFormLesserEqual);
16
+ const value = parseFloat(this._control.value);
17
+ if (!isNaN(lesser) && !isNaN(value) && value > lesser) {
18
+ return { lesserEqual: { lesser, actual: value } };
19
+ }
20
+ return FsValidators.numeric(this._control);
21
+ }
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsFormLesserEqualDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
23
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: FsFormLesserEqualDirective, selector: "[fsFormLesserEqual]", inputs: { fsFormLesserEqual: "fsFormLesserEqual", validationMessage: ["fsFormLesserEqualMessage", "validationMessage"] }, providers: [
24
+ VALIDATE_MESSAGE_PROVIDER
25
+ ], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsFormLesserEqualDirective, decorators: [{
28
+ type: Directive,
29
+ args: [{
30
+ selector: '[fsFormLesserEqual]',
31
+ providers: [
32
+ VALIDATE_MESSAGE_PROVIDER
33
+ ],
34
+ }]
35
+ }], propDecorators: { fsFormLesserEqual: [{
36
+ type: Input
37
+ }], validationMessage: [{
38
+ type: Input,
39
+ args: ['fsFormLesserEqualMessage']
40
+ }] } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVzc2VyLWVxdWFsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZGlyZWN0aXZlcy92YWxpZGF0b3JzL2xlc3Nlci1lcXVhbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFHNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOztBQVV2RixNQUFNLE9BQU8sMEJBQTJCLFNBQVEsa0JBQWtCO0lBR3pELGlCQUFpQixDQUFDO0lBRXpCLElBQ1csaUJBQWlCLENBQUMsS0FBYTtRQUN4QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN4QyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVNLFFBQVEsQ0FBQyxPQUF3QjtRQUN0QyxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbEQsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLEdBQUcsTUFBTSxFQUFFLENBQUM7WUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUNwRCxDQUFDO1FBRUQsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3QyxDQUFDO3dHQXZCVSwwQkFBMEI7NEZBQTFCLDBCQUEwQix3S0FKMUI7WUFDVCx5QkFBeUI7U0FDMUI7OzRGQUVVLDBCQUEwQjtrQkFOdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixTQUFTLEVBQUU7d0JBQ1QseUJBQXlCO3FCQUMxQjtpQkFDRjs4QkFJUSxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBSUssaUJBQWlCO3NCQUQzQixLQUFLO3VCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBGc0NvbnRyb2xEaXJlY3RpdmUgfSBmcm9tICcuL2NvbnRyb2wuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzVmFsaWRhdG9ycyB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMvdmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBWQUxJREFURV9NRVNTQUdFX1BST1ZJREVSIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL3ZhbGlkYXRlLW1lc3NhZ2VzLnByb3ZpZGVyJztcbmltcG9ydCB7IEZzVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy92YWxpZGF0b3InO1xuXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmc0Zvcm1MZXNzZXJFcXVhbF0nLFxuICBwcm92aWRlcnM6IFtcbiAgICBWQUxJREFURV9NRVNTQUdFX1BST1ZJREVSXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZzRm9ybUxlc3NlckVxdWFsRGlyZWN0aXZlIGV4dGVuZHMgRnNDb250cm9sRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBGc1ZhbGlkYXRvciB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZzRm9ybUxlc3NlckVxdWFsO1xuXG4gIEBJbnB1dCgnZnNGb3JtTGVzc2VyRXF1YWxNZXNzYWdlJylcbiAgcHVibGljIHNldCB2YWxpZGF0aW9uTWVzc2FnZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdmFsaWRhdGVNZXNzYWdlcy5sZXNzZXIgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9jb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgY29uc3QgbGVzc2VyID0gcGFyc2VGbG9hdCh0aGlzLmZzRm9ybUxlc3NlckVxdWFsKTtcbiAgICBjb25zdCB2YWx1ZSA9IHBhcnNlRmxvYXQodGhpcy5fY29udHJvbC52YWx1ZSk7XG5cbiAgICBpZiAoIWlzTmFOKGxlc3NlcikgJiYgIWlzTmFOKHZhbHVlKSAmJiB2YWx1ZSA+IGxlc3Nlcikge1xuICAgICAgcmV0dXJuIHsgbGVzc2VyRXF1YWw6IHsgbGVzc2VyLCBhY3R1YWw6IHZhbHVlIH0gfTtcbiAgICB9XG5cbiAgICByZXR1cm4gRnNWYWxpZGF0b3JzLm51bWVyaWModGhpcy5fY29udHJvbCk7XG4gIH1cblxufVxuIl19
@@ -0,0 +1,41 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { FsControlDirective } from './control.directive';
3
+ import { FsValidators } from '../../validators/validators';
4
+ import { VALIDATE_MESSAGE_PROVIDER } from '../../providers/validate-messages.provider';
5
+ import * as i0 from "@angular/core";
6
+ export class FsFormLesserDirective extends FsControlDirective {
7
+ fsFormLesser;
8
+ set validationMessage(value) {
9
+ this._validateMessages.lesser = value;
10
+ }
11
+ ngOnChanges() {
12
+ this._control.updateValueAndValidity();
13
+ }
14
+ validate(control) {
15
+ const lesser = parseFloat(this.fsFormLesser);
16
+ const value = parseFloat(this._control.value);
17
+ if (!isNaN(lesser) && !isNaN(value) && value >= lesser) {
18
+ return { lesser: { lesser, actual: value } };
19
+ }
20
+ return FsValidators.numeric(this._control);
21
+ }
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsFormLesserDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
23
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: FsFormLesserDirective, selector: "[fsFormLesser]", inputs: { fsFormLesser: "fsFormLesser", validationMessage: ["fsFormLesserMessage", "validationMessage"] }, providers: [
24
+ VALIDATE_MESSAGE_PROVIDER
25
+ ], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsFormLesserDirective, decorators: [{
28
+ type: Directive,
29
+ args: [{
30
+ selector: '[fsFormLesser]',
31
+ providers: [
32
+ VALIDATE_MESSAGE_PROVIDER
33
+ ],
34
+ }]
35
+ }], propDecorators: { fsFormLesser: [{
36
+ type: Input
37
+ }], validationMessage: [{
38
+ type: Input,
39
+ args: ['fsFormLesserMessage']
40
+ }] } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVzc2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZGlyZWN0aXZlcy92YWxpZGF0b3JzL2xlc3Nlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFHNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOztBQVV2RixNQUFNLE9BQU8scUJBQXNCLFNBQVEsa0JBQWtCO0lBR3BELFlBQVksQ0FBQztJQUVwQixJQUNXLGlCQUFpQixDQUFDLEtBQWE7UUFDeEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEMsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFTSxRQUFRLENBQUMsT0FBd0I7UUFDdEMsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3QyxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUN2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQy9DLENBQUM7UUFFRCxPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7d0dBdkJVLHFCQUFxQjs0RkFBckIscUJBQXFCLG9KQUpyQjtZQUNULHlCQUF5QjtTQUMxQjs7NEZBRVUscUJBQXFCO2tCQU5qQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFNBQVMsRUFBRTt3QkFDVCx5QkFBeUI7cUJBQzFCO2lCQUNGOzhCQUlRLFlBQVk7c0JBRGxCLEtBQUs7Z0JBSUssaUJBQWlCO3NCQUQzQixLQUFLO3VCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBGc0NvbnRyb2xEaXJlY3RpdmUgfSBmcm9tICcuL2NvbnRyb2wuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzVmFsaWRhdG9ycyB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMvdmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBWQUxJREFURV9NRVNTQUdFX1BST1ZJREVSIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL3ZhbGlkYXRlLW1lc3NhZ2VzLnByb3ZpZGVyJztcbmltcG9ydCB7IEZzVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy92YWxpZGF0b3InO1xuXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmc0Zvcm1MZXNzZXJdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgVkFMSURBVEVfTUVTU0FHRV9QUk9WSURFUlxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGc0Zvcm1MZXNzZXJEaXJlY3RpdmUgZXh0ZW5kcyBGc0NvbnRyb2xEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEZzVmFsaWRhdG9yIHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZnNGb3JtTGVzc2VyO1xuXG4gIEBJbnB1dCgnZnNGb3JtTGVzc2VyTWVzc2FnZScpXG4gIHB1YmxpYyBzZXQgdmFsaWRhdGlvbk1lc3NhZ2UodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3ZhbGlkYXRlTWVzc2FnZXMubGVzc2VyID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5fY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGNvbnN0IGxlc3NlciA9IHBhcnNlRmxvYXQodGhpcy5mc0Zvcm1MZXNzZXIpO1xuICAgIGNvbnN0IHZhbHVlID0gcGFyc2VGbG9hdCh0aGlzLl9jb250cm9sLnZhbHVlKTtcblxuICAgIGlmICghaXNOYU4obGVzc2VyKSAmJiAhaXNOYU4odmFsdWUpICYmIHZhbHVlID49IGxlc3Nlcikge1xuICAgICAgcmV0dXJuIHsgbGVzc2VyOiB7IGxlc3NlciwgYWN0dWFsOiB2YWx1ZSB9IH07XG4gICAgfVxuXG4gICAgcmV0dXJuIEZzVmFsaWRhdG9ycy5udW1lcmljKHRoaXMuX2NvbnRyb2wpO1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,37 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import { FsControlDirective } from './control.directive';
4
+ import { FsValidators } from '../../validators/validators';
5
+ import { VALIDATE_MESSAGE_PROVIDER } from '../../providers/validate-messages.provider';
6
+ import * as i0 from "@angular/core";
7
+ export class FsFormMaxDirective extends FsControlDirective {
8
+ fsFormMax;
9
+ set validationMessage(value) {
10
+ this._validateMessages.max = value;
11
+ }
12
+ ngOnChanges() {
13
+ this._control.updateValueAndValidity();
14
+ }
15
+ validate(control) {
16
+ return FsValidators.numeric(this._control) || Validators.max(this.fsFormMax)(this._control);
17
+ }
18
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsFormMaxDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
19
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: FsFormMaxDirective, selector: "[fsFormMax]", inputs: { fsFormMax: "fsFormMax", validationMessage: ["fsFormMaxMessage", "validationMessage"] }, providers: [
20
+ VALIDATE_MESSAGE_PROVIDER
21
+ ], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsFormMaxDirective, decorators: [{
24
+ type: Directive,
25
+ args: [{
26
+ selector: '[fsFormMax]',
27
+ providers: [
28
+ VALIDATE_MESSAGE_PROVIDER
29
+ ],
30
+ }]
31
+ }], propDecorators: { fsFormMax: [{
32
+ type: Input
33
+ }], validationMessage: [{
34
+ type: Input,
35
+ args: ['fsFormMaxMessage']
36
+ }] } });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF4LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZGlyZWN0aXZlcy92YWxpZGF0b3JzL21heC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFxQyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUM7O0FBVXZGLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxrQkFBa0I7SUFHakQsU0FBUyxDQUFTO0lBRXpCLElBQ1csaUJBQWlCLENBQUMsS0FBYTtRQUN4QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQztJQUNyQyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVNLFFBQVEsQ0FBQyxPQUF3QjtRQUN0QyxPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5RixDQUFDO3dHQWhCVSxrQkFBa0I7NEZBQWxCLGtCQUFrQix3SUFKbEI7WUFDVCx5QkFBeUI7U0FDMUI7OzRGQUVVLGtCQUFrQjtrQkFOOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsU0FBUyxFQUFFO3dCQUNULHlCQUF5QjtxQkFDMUI7aUJBQ0Y7OEJBSVEsU0FBUztzQkFEZixLQUFLO2dCQUlLLGlCQUFpQjtzQkFEM0IsS0FBSzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZzQ29udHJvbERpcmVjdGl2ZSB9IGZyb20gJy4vY29udHJvbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNWYWxpZGF0b3JzIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycy92YWxpZGF0b3JzJztcbmltcG9ydCB7IFZBTElEQVRFX01FU1NBR0VfUFJPVklERVIgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvdmFsaWRhdGUtbWVzc2FnZXMucHJvdmlkZXInO1xuaW1wb3J0IHsgRnNWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3ZhbGlkYXRvcic7XG5cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2ZzRm9ybU1heF0nLFxuICBwcm92aWRlcnM6IFtcbiAgICBWQUxJREFURV9NRVNTQUdFX1BST1ZJREVSXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZzRm9ybU1heERpcmVjdGl2ZSBleHRlbmRzIEZzQ29udHJvbERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgRnNWYWxpZGF0b3Ige1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmc0Zvcm1NYXg6IG51bWJlcjtcblxuICBASW5wdXQoJ2ZzRm9ybU1heE1lc3NhZ2UnKVxuICBwdWJsaWMgc2V0IHZhbGlkYXRpb25NZXNzYWdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl92YWxpZGF0ZU1lc3NhZ2VzLm1heCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuX2NvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gRnNWYWxpZGF0b3JzLm51bWVyaWModGhpcy5fY29udHJvbCkgfHwgVmFsaWRhdG9ycy5tYXgodGhpcy5mc0Zvcm1NYXgpKHRoaXMuX2NvbnRyb2wpO1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,36 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import { FsControlDirective } from './control.directive';
4
+ import { VALIDATE_MESSAGE_PROVIDER } from '../../providers/validate-messages.provider';
5
+ import * as i0 from "@angular/core";
6
+ export class FsFormMaxLengthDirective extends FsControlDirective {
7
+ fsFormMaxLength;
8
+ set validationMessage(value) {
9
+ this._validateMessages.maxlength = value;
10
+ }
11
+ ngOnChanges() {
12
+ this._control.updateValueAndValidity();
13
+ }
14
+ validate(control) {
15
+ return Validators.maxLength(this.fsFormMaxLength)(this._control);
16
+ }
17
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsFormMaxLengthDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
18
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: FsFormMaxLengthDirective, selector: "[fsFormMaxLength]", inputs: { fsFormMaxLength: "fsFormMaxLength", validationMessage: ["fsFormMaxLengthMessage", "validationMessage"] }, providers: [
19
+ VALIDATE_MESSAGE_PROVIDER
20
+ ], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsFormMaxLengthDirective, decorators: [{
23
+ type: Directive,
24
+ args: [{
25
+ selector: '[fsFormMaxLength]',
26
+ providers: [
27
+ VALIDATE_MESSAGE_PROVIDER
28
+ ],
29
+ }]
30
+ }], propDecorators: { fsFormMaxLength: [{
31
+ type: Input
32
+ }], validationMessage: [{
33
+ type: Input,
34
+ args: ['fsFormMaxLengthMessage']
35
+ }] } });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF4bGVuZ3RoLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZGlyZWN0aXZlcy92YWxpZGF0b3JzL21heGxlbmd0aC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFxQyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7QUFVdkYsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGtCQUFrQjtJQUd2RCxlQUFlLENBQVM7SUFFL0IsSUFDVyxpQkFBaUIsQ0FBQyxLQUFhO1FBQ3hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQzNDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU0sUUFBUSxDQUFDLE9BQXdCO1FBQ3RDLE9BQU8sVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25FLENBQUM7d0dBaEJVLHdCQUF3Qjs0RkFBeEIsd0JBQXdCLGdLQUp4QjtZQUNULHlCQUF5QjtTQUMxQjs7NEZBRVUsd0JBQXdCO2tCQU5wQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFNBQVMsRUFBRTt3QkFDVCx5QkFBeUI7cUJBQzFCO2lCQUNGOzhCQUlRLGVBQWU7c0JBRHJCLEtBQUs7Z0JBSUssaUJBQWlCO3NCQUQzQixLQUFLO3VCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBGc0NvbnRyb2xEaXJlY3RpdmUgfSBmcm9tICcuL2NvbnRyb2wuZGlyZWN0aXZlJztcbmltcG9ydCB7IFZBTElEQVRFX01FU1NBR0VfUFJPVklERVIgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvdmFsaWRhdGUtbWVzc2FnZXMucHJvdmlkZXInO1xuaW1wb3J0IHsgRnNWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3ZhbGlkYXRvcic7XG5cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2ZzRm9ybU1heExlbmd0aF0nLFxuICBwcm92aWRlcnM6IFtcbiAgICBWQUxJREFURV9NRVNTQUdFX1BST1ZJREVSXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZzRm9ybU1heExlbmd0aERpcmVjdGl2ZSBleHRlbmRzIEZzQ29udHJvbERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgRnNWYWxpZGF0b3Ige1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmc0Zvcm1NYXhMZW5ndGg6IG51bWJlcjtcblxuICBASW5wdXQoJ2ZzRm9ybU1heExlbmd0aE1lc3NhZ2UnKVxuICBwdWJsaWMgc2V0IHZhbGlkYXRpb25NZXNzYWdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl92YWxpZGF0ZU1lc3NhZ2VzLm1heGxlbmd0aCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuX2NvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gVmFsaWRhdG9ycy5tYXhMZW5ndGgodGhpcy5mc0Zvcm1NYXhMZW5ndGgpKHRoaXMuX2NvbnRyb2wpO1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,37 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import { FsControlDirective } from './control.directive';
4
+ import { FsValidators } from '../../validators/validators';
5
+ import { VALIDATE_MESSAGE_PROVIDER } from '../../providers/validate-messages.provider';
6
+ import * as i0 from "@angular/core";
7
+ export class FsFormMinDirective extends FsControlDirective {
8
+ fsFormMin;
9
+ set validationMessage(value) {
10
+ this._validateMessages.min = value;
11
+ }
12
+ ngOnChanges() {
13
+ this._control.updateValueAndValidity();
14
+ }
15
+ validate(control) {
16
+ return FsValidators.numeric(this._control) || Validators.min(parseFloat(this.fsFormMin))(this._control);
17
+ }
18
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsFormMinDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
19
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: FsFormMinDirective, selector: "[fsFormMin]", inputs: { fsFormMin: "fsFormMin", validationMessage: ["fsFormMinMessage", "validationMessage"] }, providers: [
20
+ VALIDATE_MESSAGE_PROVIDER
21
+ ], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsFormMinDirective, decorators: [{
24
+ type: Directive,
25
+ args: [{
26
+ selector: '[fsFormMin]',
27
+ providers: [
28
+ VALIDATE_MESSAGE_PROVIDER
29
+ ],
30
+ }]
31
+ }], propDecorators: { fsFormMin: [{
32
+ type: Input
33
+ }], validationMessage: [{
34
+ type: Input,
35
+ args: ['fsFormMinMessage']
36
+ }] } });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZGlyZWN0aXZlcy92YWxpZGF0b3JzL21pbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFxQyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUM7O0FBVXZGLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxrQkFBa0I7SUFHakQsU0FBUyxDQUFDO0lBRWpCLElBQ1csaUJBQWlCLENBQUMsS0FBYTtRQUN4QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQztJQUNyQyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVNLFFBQVEsQ0FBQyxPQUF3QjtRQUN0QyxPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxRyxDQUFDO3dHQWhCVSxrQkFBa0I7NEZBQWxCLGtCQUFrQix3SUFKbEI7WUFDVCx5QkFBeUI7U0FDMUI7OzRGQUVVLGtCQUFrQjtrQkFOOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsU0FBUyxFQUFFO3dCQUNULHlCQUF5QjtxQkFDMUI7aUJBQ0Y7OEJBSVEsU0FBUztzQkFEZixLQUFLO2dCQUlLLGlCQUFpQjtzQkFEM0IsS0FBSzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgRnNDb250cm9sRGlyZWN0aXZlIH0gZnJvbSAnLi9jb250cm9sLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc1ZhbGlkYXRvcnMgfSBmcm9tICcuLi8uLi92YWxpZGF0b3JzL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgVkFMSURBVEVfTUVTU0FHRV9QUk9WSURFUiB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy92YWxpZGF0ZS1tZXNzYWdlcy5wcm92aWRlcic7XG5pbXBvcnQgeyBGc1ZhbGlkYXRvciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvdmFsaWRhdG9yJztcblxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZnNGb3JtTWluXScsXG4gIHByb3ZpZGVyczogW1xuICAgIFZBTElEQVRFX01FU1NBR0VfUFJPVklERVJcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRnNGb3JtTWluRGlyZWN0aXZlIGV4dGVuZHMgRnNDb250cm9sRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBGc1ZhbGlkYXRvciB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZzRm9ybU1pbjtcblxuICBASW5wdXQoJ2ZzRm9ybU1pbk1lc3NhZ2UnKVxuICBwdWJsaWMgc2V0IHZhbGlkYXRpb25NZXNzYWdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl92YWxpZGF0ZU1lc3NhZ2VzLm1pbiA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuX2NvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gRnNWYWxpZGF0b3JzLm51bWVyaWModGhpcy5fY29udHJvbCkgfHwgVmFsaWRhdG9ycy5taW4ocGFyc2VGbG9hdCh0aGlzLmZzRm9ybU1pbikpKHRoaXMuX2NvbnRyb2wpO1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,36 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import { FsControlDirective } from './control.directive';
4
+ import { VALIDATE_MESSAGE_PROVIDER } from '../../providers/validate-messages.provider';
5
+ import * as i0 from "@angular/core";
6
+ export class FsFormMinLengthDirective extends FsControlDirective {
7
+ fsFormMinLength;
8
+ set validationMessage(value) {
9
+ this._validateMessages.minlength = value;
10
+ }
11
+ ngOnChanges() {
12
+ this._control.updateValueAndValidity();
13
+ }
14
+ validate(control) {
15
+ return Validators.minLength(this.fsFormMinLength)(this._control);
16
+ }
17
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsFormMinLengthDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
18
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: FsFormMinLengthDirective, selector: "[fsFormMinLength]", inputs: { fsFormMinLength: "fsFormMinLength", validationMessage: ["fsFormMinLengthMessage", "validationMessage"] }, providers: [
19
+ VALIDATE_MESSAGE_PROVIDER
20
+ ], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsFormMinLengthDirective, decorators: [{
23
+ type: Directive,
24
+ args: [{
25
+ selector: '[fsFormMinLength]',
26
+ providers: [
27
+ VALIDATE_MESSAGE_PROVIDER
28
+ ],
29
+ }]
30
+ }], propDecorators: { fsFormMinLength: [{
31
+ type: Input
32
+ }], validationMessage: [{
33
+ type: Input,
34
+ args: ['fsFormMinLengthMessage']
35
+ }] } });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlubGVuZ3RoLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZGlyZWN0aXZlcy92YWxpZGF0b3JzL21pbmxlbmd0aC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFxQyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7QUFVdkYsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGtCQUFrQjtJQUd2RCxlQUFlLENBQVM7SUFFL0IsSUFDVyxpQkFBaUIsQ0FBQyxLQUFhO1FBQ3hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQzNDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU0sUUFBUSxDQUFDLE9BQXdCO1FBQ3RDLE9BQU8sVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25FLENBQUM7d0dBaEJVLHdCQUF3Qjs0RkFBeEIsd0JBQXdCLGdLQUp4QjtZQUNULHlCQUF5QjtTQUMxQjs7NEZBRVUsd0JBQXdCO2tCQU5wQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFNBQVMsRUFBRTt3QkFDVCx5QkFBeUI7cUJBQzFCO2lCQUNGOzhCQUlRLGVBQWU7c0JBRHJCLEtBQUs7Z0JBSUssaUJBQWlCO3NCQUQzQixLQUFLO3VCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBGc0NvbnRyb2xEaXJlY3RpdmUgfSBmcm9tICcuL2NvbnRyb2wuZGlyZWN0aXZlJztcbmltcG9ydCB7IFZBTElEQVRFX01FU1NBR0VfUFJPVklERVIgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvdmFsaWRhdGUtbWVzc2FnZXMucHJvdmlkZXInO1xuaW1wb3J0IHsgRnNWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3ZhbGlkYXRvcic7XG5cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2ZzRm9ybU1pbkxlbmd0aF0nLFxuICBwcm92aWRlcnM6IFtcbiAgICBWQUxJREFURV9NRVNTQUdFX1BST1ZJREVSXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZzRm9ybU1pbkxlbmd0aERpcmVjdGl2ZSBleHRlbmRzIEZzQ29udHJvbERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgRnNWYWxpZGF0b3Ige1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmc0Zvcm1NaW5MZW5ndGg6IG51bWJlcjtcblxuICBASW5wdXQoJ2ZzRm9ybU1pbkxlbmd0aE1lc3NhZ2UnKVxuICBwdWJsaWMgc2V0IHZhbGlkYXRpb25NZXNzYWdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl92YWxpZGF0ZU1lc3NhZ2VzLm1pbmxlbmd0aCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuX2NvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gVmFsaWRhdG9ycy5taW5MZW5ndGgodGhpcy5mc0Zvcm1NaW5MZW5ndGgpKHRoaXMuX2NvbnRyb2wpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,53 @@
1
+ import { Directive } from '@angular/core';
2
+ import { FsControlDirective } from './control.directive';
3
+ import { VALIDATE_MESSAGE_PROVIDER } from '../../providers/validate-messages.provider';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * This directive required for cases when we have custom Control like <fs-phone-field> but without any of our validators applied
7
+ *
8
+ * This directive required for automatic validation messages
9
+ */
10
+ export class FsFormNoFsValidatorsDirective extends FsControlDirective {
11
+ ngOnChanges() {
12
+ this._control.updateValueAndValidity();
13
+ }
14
+ _subscribeToStatusChagnes() {
15
+ if (!!this._control.validator || !!this._control.asyncValidator) {
16
+ super._subscribeToStatusChagnes();
17
+ }
18
+ }
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsFormNoFsValidatorsDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
20
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormGreaterEqual]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])", providers: [
21
+ VALIDATE_MESSAGE_PROVIDER
22
+ ], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
23
+ }
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsFormNoFsValidatorsDirective, decorators: [{
25
+ type: Directive,
26
+ args: [{
27
+ selector: '[ngModel]' +
28
+ ':not([required])' +
29
+ ':not([fsFormRequired])' +
30
+ ':not([fsFormCompare])' +
31
+ ':not([fsFormDateRange])' +
32
+ ':not([fsFormEmail])' +
33
+ ':not([fsFormEmails])' +
34
+ ':not([fsFormFunction])' +
35
+ ':not([fsFormGreater])' +
36
+ ':not([fsFormGreaterEqual])' +
37
+ ':not([fsFormInteger])' +
38
+ ':not([fsFormLesser])' +
39
+ ':not([fsFormMax])' +
40
+ ':not([fsFormMaxLength])' +
41
+ ':not([fsFormMin])' +
42
+ ':not([fsFormMinLength])' +
43
+ ':not([fsFormNumeric])' +
44
+ ':not([fsFormPattern])' +
45
+ ':not([fsFormPhone])' +
46
+ ':not([fsFormUrl])' +
47
+ ':not([validate])',
48
+ providers: [
49
+ VALIDATE_MESSAGE_PROVIDER
50
+ ],
51
+ }]
52
+ }] });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tZnMtdmFsaWRhdG9ycy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9uby1mcy12YWxpZGF0b3JzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOztBQUd2Rjs7OztHQUlHO0FBMkJILE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxrQkFBa0I7SUFFNUQsV0FBVztRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVTLHlCQUF5QjtRQUNqQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNoRSxLQUFLLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUNwQyxDQUFDO0lBQ0gsQ0FBQzt3R0FWVSw2QkFBNkI7NEZBQTdCLDZCQUE2Qix5YkFKN0I7WUFDVCx5QkFBeUI7U0FDMUI7OzRGQUVVLDZCQUE2QjtrQkExQnpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7d0JBQ25CLGtCQUFrQjt3QkFDbEIsd0JBQXdCO3dCQUN4Qix1QkFBdUI7d0JBQ3ZCLHlCQUF5Qjt3QkFDekIscUJBQXFCO3dCQUNyQixzQkFBc0I7d0JBQ3RCLHdCQUF3Qjt3QkFDeEIsdUJBQXVCO3dCQUN2Qiw0QkFBNEI7d0JBQzVCLHVCQUF1Qjt3QkFDdkIsc0JBQXNCO3dCQUN0QixtQkFBbUI7d0JBQ25CLHlCQUF5Qjt3QkFDekIsbUJBQW1CO3dCQUNuQix5QkFBeUI7d0JBQ3pCLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3dCQUN2QixxQkFBcUI7d0JBQ3JCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO29CQUNwQixTQUFTLEVBQUU7d0JBQ1QseUJBQXlCO3FCQUMxQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZzQ29udHJvbERpcmVjdGl2ZSB9IGZyb20gJy4vY29udHJvbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVkFMSURBVEVfTUVTU0FHRV9QUk9WSURFUiB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy92YWxpZGF0ZS1tZXNzYWdlcy5wcm92aWRlcic7XG5cblxuLyoqXG4gKiBUaGlzIGRpcmVjdGl2ZSByZXF1aXJlZCBmb3IgY2FzZXMgd2hlbiB3ZSBoYXZlIGN1c3RvbSBDb250cm9sIGxpa2UgPGZzLXBob25lLWZpZWxkPiBidXQgd2l0aG91dCBhbnkgb2Ygb3VyIHZhbGlkYXRvcnMgYXBwbGllZFxuICpcbiAqIFRoaXMgZGlyZWN0aXZlIHJlcXVpcmVkIGZvciBhdXRvbWF0aWMgdmFsaWRhdGlvbiBtZXNzYWdlc1xuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbmdNb2RlbF0nICtcbiAgICAnOm5vdChbcmVxdWlyZWRdKScgK1xuICAgICc6bm90KFtmc0Zvcm1SZXF1aXJlZF0pJyArXG4gICAgJzpub3QoW2ZzRm9ybUNvbXBhcmVdKScgK1xuICAgICc6bm90KFtmc0Zvcm1EYXRlUmFuZ2VdKScgK1xuICAgICc6bm90KFtmc0Zvcm1FbWFpbF0pJyArXG4gICAgJzpub3QoW2ZzRm9ybUVtYWlsc10pJyArXG4gICAgJzpub3QoW2ZzRm9ybUZ1bmN0aW9uXSknICtcbiAgICAnOm5vdChbZnNGb3JtR3JlYXRlcl0pJyArXG4gICAgJzpub3QoW2ZzRm9ybUdyZWF0ZXJFcXVhbF0pJyArXG4gICAgJzpub3QoW2ZzRm9ybUludGVnZXJdKScgK1xuICAgICc6bm90KFtmc0Zvcm1MZXNzZXJdKScgK1xuICAgICc6bm90KFtmc0Zvcm1NYXhdKScgK1xuICAgICc6bm90KFtmc0Zvcm1NYXhMZW5ndGhdKScgK1xuICAgICc6bm90KFtmc0Zvcm1NaW5dKScgK1xuICAgICc6bm90KFtmc0Zvcm1NaW5MZW5ndGhdKScgK1xuICAgICc6bm90KFtmc0Zvcm1OdW1lcmljXSknICtcbiAgICAnOm5vdChbZnNGb3JtUGF0dGVybl0pJyArXG4gICAgJzpub3QoW2ZzRm9ybVBob25lXSknICtcbiAgICAnOm5vdChbZnNGb3JtVXJsXSknICtcbiAgICAnOm5vdChbdmFsaWRhdGVdKScsXG4gIHByb3ZpZGVyczogW1xuICAgIFZBTElEQVRFX01FU1NBR0VfUFJPVklERVJcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRnNGb3JtTm9Gc1ZhbGlkYXRvcnNEaXJlY3RpdmUgZXh0ZW5kcyBGc0NvbnRyb2xEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9jb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfc3Vic2NyaWJlVG9TdGF0dXNDaGFnbmVzKCk6IHZvaWQge1xuICAgIGlmICghIXRoaXMuX2NvbnRyb2wudmFsaWRhdG9yIHx8ICEhdGhpcy5fY29udHJvbC5hc3luY1ZhbGlkYXRvcikge1xuICAgICAgc3VwZXIuX3N1YnNjcmliZVRvU3RhdHVzQ2hhZ25lcygpO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,42 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { FsControlDirective } from './control.directive';
3
+ import { FsValidators } from '../../validators/validators';
4
+ import { VALIDATE_MESSAGE_PROVIDER } from '../../providers/validate-messages.provider';
5
+ import { isEnabled } from '../../helpers/is-enabled';
6
+ import * as i0 from "@angular/core";
7
+ export class FsFormNumericDirective extends FsControlDirective {
8
+ fsFormNumeric;
9
+ set validationMessage(value) {
10
+ this._validateMessages.numeric = value;
11
+ }
12
+ ngOnChanges() {
13
+ this._control.updateValueAndValidity();
14
+ }
15
+ validate(control) {
16
+ if (isEnabled(this.fsFormNumeric)) {
17
+ return FsValidators.numeric(this._control);
18
+ }
19
+ else {
20
+ return null;
21
+ }
22
+ }
23
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsFormNumericDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
24
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: FsFormNumericDirective, selector: "[fsFormNumeric]", inputs: { fsFormNumeric: "fsFormNumeric", validationMessage: ["fsFormNumericMessage", "validationMessage"] }, providers: [
25
+ VALIDATE_MESSAGE_PROVIDER
26
+ ], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsFormNumericDirective, decorators: [{
29
+ type: Directive,
30
+ args: [{
31
+ selector: '[fsFormNumeric]',
32
+ providers: [
33
+ VALIDATE_MESSAGE_PROVIDER
34
+ ],
35
+ }]
36
+ }], propDecorators: { fsFormNumeric: [{
37
+ type: Input
38
+ }], validationMessage: [{
39
+ type: Input,
40
+ args: ['fsFormNumericMessage']
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9udW1lcmljLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUc1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFdkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQVNyRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsa0JBQWtCO0lBR3JELGFBQWEsQ0FBQztJQUVyQixJQUNXLGlCQUFpQixDQUFDLEtBQWE7UUFDeEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDekMsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFTSxRQUFRLENBQUMsT0FBd0I7UUFDdEMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDbEMsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3QyxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7d0dBcEJVLHNCQUFzQjs0RkFBdEIsc0JBQXNCLHdKQUp0QjtZQUNULHlCQUF5QjtTQUMxQjs7NEZBRVUsc0JBQXNCO2tCQU5sQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFNBQVMsRUFBRTt3QkFDVCx5QkFBeUI7cUJBQzFCO2lCQUNGOzhCQUlRLGFBQWE7c0JBRG5CLEtBQUs7Z0JBSUssaUJBQWlCO3NCQUQzQixLQUFLO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBGc0NvbnRyb2xEaXJlY3RpdmUgfSBmcm9tICcuL2NvbnRyb2wuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzVmFsaWRhdG9ycyB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMvdmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBWQUxJREFURV9NRVNTQUdFX1BST1ZJREVSIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL3ZhbGlkYXRlLW1lc3NhZ2VzLnByb3ZpZGVyJztcbmltcG9ydCB7IEZzVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy92YWxpZGF0b3InO1xuaW1wb3J0IHsgaXNFbmFibGVkIH0gZnJvbSAnLi4vLi4vaGVscGVycy9pcy1lbmFibGVkJztcblxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZnNGb3JtTnVtZXJpY10nLFxuICBwcm92aWRlcnM6IFtcbiAgICBWQUxJREFURV9NRVNTQUdFX1BST1ZJREVSXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZzRm9ybU51bWVyaWNEaXJlY3RpdmUgZXh0ZW5kcyBGc0NvbnRyb2xEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEZzVmFsaWRhdG9yIHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZnNGb3JtTnVtZXJpYztcblxuICBASW5wdXQoJ2ZzRm9ybU51bWVyaWNNZXNzYWdlJylcbiAgcHVibGljIHNldCB2YWxpZGF0aW9uTWVzc2FnZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdmFsaWRhdGVNZXNzYWdlcy5udW1lcmljID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5fY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGlmIChpc0VuYWJsZWQodGhpcy5mc0Zvcm1OdW1lcmljKSkge1xuICAgICAgcmV0dXJuIEZzVmFsaWRhdG9ycy5udW1lcmljKHRoaXMuX2NvbnRyb2wpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxufVxuIl19
@@ -0,0 +1,36 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import { FsControlDirective } from './control.directive';
4
+ import { VALIDATE_MESSAGE_PROVIDER } from '../../providers/validate-messages.provider';
5
+ import * as i0 from "@angular/core";
6
+ export class FsFormPatternDirective extends FsControlDirective {
7
+ fsFormPattern;
8
+ set validationMessage(value) {
9
+ this._validateMessages.pattern = value;
10
+ }
11
+ ngOnChanges() {
12
+ this._control.updateValueAndValidity();
13
+ }
14
+ validate(control) {
15
+ return Validators.pattern(this.fsFormPattern)(this._control);
16
+ }
17
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsFormPatternDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
18
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: FsFormPatternDirective, selector: "[fsFormPattern]", inputs: { fsFormPattern: "fsFormPattern", validationMessage: ["fsFormPatternMessage", "validationMessage"] }, providers: [
19
+ VALIDATE_MESSAGE_PROVIDER
20
+ ], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsFormPatternDirective, decorators: [{
23
+ type: Directive,
24
+ args: [{
25
+ selector: '[fsFormPattern]',
26
+ providers: [
27
+ VALIDATE_MESSAGE_PROVIDER
28
+ ],
29
+ }]
30
+ }], propDecorators: { fsFormPattern: [{
31
+ type: Input
32
+ }], validationMessage: [{
33
+ type: Input,
34
+ args: ['fsFormPatternMessage']
35
+ }] } });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0dGVybi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9wYXR0ZXJuLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQXFDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOztBQVV2RixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsa0JBQWtCO0lBR3JELGFBQWEsQ0FBa0I7SUFFdEMsSUFDVyxpQkFBaUIsQ0FBQyxLQUFhO1FBQ3hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3pDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU0sUUFBUSxDQUFDLE9BQXdCO1FBQ3RDLE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9ELENBQUM7d0dBaEJVLHNCQUFzQjs0RkFBdEIsc0JBQXNCLHdKQUp0QjtZQUNULHlCQUF5QjtTQUMxQjs7NEZBRVUsc0JBQXNCO2tCQU5sQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFNBQVMsRUFBRTt3QkFDVCx5QkFBeUI7cUJBQzFCO2lCQUNGOzhCQUlRLGFBQWE7c0JBRG5CLEtBQUs7Z0JBSUssaUJBQWlCO3NCQUQzQixLQUFLO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRnNDb250cm9sRGlyZWN0aXZlIH0gZnJvbSAnLi9jb250cm9sLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBWQUxJREFURV9NRVNTQUdFX1BST1ZJREVSIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL3ZhbGlkYXRlLW1lc3NhZ2VzLnByb3ZpZGVyJztcbmltcG9ydCB7IEZzVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy92YWxpZGF0b3InO1xuXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmc0Zvcm1QYXR0ZXJuXScsXG4gIHByb3ZpZGVyczogW1xuICAgIFZBTElEQVRFX01FU1NBR0VfUFJPVklERVJcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRnNGb3JtUGF0dGVybkRpcmVjdGl2ZSBleHRlbmRzIEZzQ29udHJvbERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgRnNWYWxpZGF0b3Ige1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmc0Zvcm1QYXR0ZXJuOiBSZWdFeHAgfCBzdHJpbmc7XG5cbiAgQElucHV0KCdmc0Zvcm1QYXR0ZXJuTWVzc2FnZScpXG4gIHB1YmxpYyBzZXQgdmFsaWRhdGlvbk1lc3NhZ2UodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3ZhbGlkYXRlTWVzc2FnZXMucGF0dGVybiA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuX2NvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gVmFsaWRhdG9ycy5wYXR0ZXJuKHRoaXMuZnNGb3JtUGF0dGVybikodGhpcy5fY29udHJvbCk7XG4gIH1cblxufVxuIl19