@firestitch/form 14.0.2 → 16.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 (162) hide show
  1. package/app/components/confirm-unsaved/confirm-unsaved.component.d.ts +21 -21
  2. package/app/components/confirm-unsaved/index.d.ts +1 -1
  3. package/app/components/form-dialog-actions/form-dialog-actions.component.d.ts +22 -22
  4. package/app/components/form-dialog-actions/index.d.ts +1 -1
  5. package/app/components/form-template/form-template.component.d.ts +13 -13
  6. package/app/components/form-template/index.d.ts +1 -1
  7. package/app/components/form-template-outlet/form-template-outlet.component.d.ts +13 -13
  8. package/app/components/form-template-outlet/index.d.ts +1 -1
  9. package/app/components/index.d.ts +4 -4
  10. package/app/consts/error-messages.const.d.ts +21 -21
  11. package/app/directives/button.directive.d.ts +35 -35
  12. package/app/directives/form/form.directive.d.ts +122 -122
  13. package/app/directives/form/index.d.ts +1 -1
  14. package/app/directives/form-dialog-close.directive.d.ts +16 -16
  15. package/app/directives/form-template.directive.d.ts +10 -10
  16. package/app/directives/index.d.ts +6 -6
  17. package/app/directives/submit-button.directive.d.ts +6 -6
  18. package/app/directives/validators/compare.directive.d.ts +15 -15
  19. package/app/directives/validators/control.directive.d.ts +49 -49
  20. package/app/directives/validators/daterange.directive.d.ts +13 -13
  21. package/app/directives/validators/email.directive.d.ts +13 -13
  22. package/app/directives/validators/emails.directive.d.ts +13 -13
  23. package/app/directives/validators/function.directive.d.ts +15 -15
  24. package/app/directives/validators/greater-equal.directive.d.ts +13 -13
  25. package/app/directives/validators/greater.directive.d.ts +13 -13
  26. package/app/directives/validators/index.d.ts +22 -22
  27. package/app/directives/validators/integer.directive.d.ts +13 -13
  28. package/app/directives/validators/lesser-equal.directive.d.ts +13 -13
  29. package/app/directives/validators/lesser.directive.d.ts +13 -13
  30. package/app/directives/validators/max.directive.d.ts +13 -13
  31. package/app/directives/validators/maxlength.directive.d.ts +13 -13
  32. package/app/directives/validators/min.directive.d.ts +13 -13
  33. package/app/directives/validators/minlength.directive.d.ts +13 -13
  34. package/app/directives/validators/no-fs-validators.directive.d.ts +14 -14
  35. package/app/directives/validators/numeric.directive.d.ts +13 -13
  36. package/app/directives/validators/pattern.directive.d.ts +13 -13
  37. package/app/directives/validators/phone.directive.d.ts +13 -13
  38. package/app/directives/validators/required.directive.d.ts +16 -16
  39. package/app/directives/validators/url.directive.d.ts +14 -14
  40. package/app/directives/validators/validate.directive.d.ts +15 -15
  41. package/app/enums/confirm-result.d.ts +7 -7
  42. package/app/enums/form-status.d.ts +10 -10
  43. package/app/enums/index.d.ts +2 -2
  44. package/app/fs-form.module.d.ts +44 -44
  45. package/app/guards/form-deactivate.guard.d.ts +12 -12
  46. package/app/helpers/confirm-result-continue.d.ts +1 -1
  47. package/app/helpers/get-active-route.d.ts +2 -2
  48. package/app/helpers/get-form-errors.d.ts +2 -2
  49. package/app/helpers/index.d.ts +1 -1
  50. package/app/helpers/is-enabled.d.ts +1 -1
  51. package/app/interfaces/async-validator.d.ts +14 -14
  52. package/app/interfaces/confirm-config.d.ts +7 -7
  53. package/app/interfaces/confirm-tab-group.d.ts +10 -10
  54. package/app/interfaces/index.d.ts +4 -4
  55. package/app/interfaces/submit-event.d.ts +6 -6
  56. package/app/interfaces/submitted-event.d.ts +7 -7
  57. package/app/interfaces/validator.d.ts +13 -13
  58. package/app/providers/validate-messages.provider.d.ts +27 -27
  59. package/app/services/fsform.service.d.ts +20 -20
  60. package/app/validators/validators.d.ts +12 -12
  61. package/esm2022/app/components/confirm-unsaved/confirm-unsaved.component.mjs +51 -0
  62. package/{esm2020 → esm2022}/app/components/confirm-unsaved/index.mjs +1 -1
  63. package/esm2022/app/components/form-dialog-actions/form-dialog-actions.component.mjs +79 -0
  64. package/{esm2020 → esm2022}/app/components/form-dialog-actions/index.mjs +1 -1
  65. package/esm2022/app/components/form-template/form-template.component.mjs +34 -0
  66. package/{esm2020 → esm2022}/app/components/form-template/index.mjs +2 -2
  67. package/esm2022/app/components/form-template-outlet/form-template-outlet.component.mjs +32 -0
  68. package/{esm2020 → esm2022}/app/components/form-template-outlet/index.mjs +2 -2
  69. package/{esm2020 → esm2022}/app/components/index.mjs +4 -4
  70. package/{esm2020 → esm2022}/app/consts/error-messages.const.mjs +21 -21
  71. package/esm2022/app/directives/button.directive.mjs +172 -0
  72. package/esm2022/app/directives/form/form.directive.mjs +702 -0
  73. package/{esm2020 → esm2022}/app/directives/form/index.mjs +1 -1
  74. package/esm2022/app/directives/form-dialog-close.directive.mjs +57 -0
  75. package/esm2022/app/directives/form-template.directive.mjs +21 -0
  76. package/{esm2020 → esm2022}/app/directives/index.mjs +6 -6
  77. package/{esm2020 → esm2022}/app/directives/submit-button.directive.mjs +14 -14
  78. package/esm2022/app/directives/validators/compare.directive.mjs +48 -0
  79. package/esm2022/app/directives/validators/control.directive.mjs +269 -0
  80. package/esm2022/app/directives/validators/daterange.directive.mjs +42 -0
  81. package/esm2022/app/directives/validators/email.directive.mjs +42 -0
  82. package/esm2022/app/directives/validators/emails.directive.mjs +42 -0
  83. package/esm2022/app/directives/validators/function.directive.mjs +40 -0
  84. package/esm2022/app/directives/validators/greater-equal.directive.mjs +41 -0
  85. package/esm2022/app/directives/validators/greater.directive.mjs +41 -0
  86. package/{esm2020 → esm2022}/app/directives/validators/index.mjs +22 -22
  87. package/esm2022/app/directives/validators/integer.directive.mjs +40 -0
  88. package/esm2022/app/directives/validators/lesser-equal.directive.mjs +41 -0
  89. package/esm2022/app/directives/validators/lesser.directive.mjs +41 -0
  90. package/esm2022/app/directives/validators/max.directive.mjs +37 -0
  91. package/esm2022/app/directives/validators/maxlength.directive.mjs +36 -0
  92. package/esm2022/app/directives/validators/min.directive.mjs +37 -0
  93. package/esm2022/app/directives/validators/minlength.directive.mjs +36 -0
  94. package/{esm2020 → esm2022}/app/directives/validators/no-fs-validators.directive.mjs +53 -53
  95. package/esm2022/app/directives/validators/numeric.directive.mjs +42 -0
  96. package/esm2022/app/directives/validators/pattern.directive.mjs +36 -0
  97. package/esm2022/app/directives/validators/phone.directive.mjs +42 -0
  98. package/esm2022/app/directives/validators/required.directive.mjs +66 -0
  99. package/esm2022/app/directives/validators/url.directive.mjs +43 -0
  100. package/esm2022/app/directives/validators/validate.directive.mjs +42 -0
  101. package/{esm2020 → esm2022}/app/enums/confirm-result.mjs +8 -8
  102. package/{esm2020 → esm2022}/app/enums/form-status.mjs +11 -11
  103. package/{esm2020 → esm2022}/app/enums/index.mjs +2 -2
  104. package/esm2022/app/fs-form.module.mjs +209 -0
  105. package/esm2022/app/guards/form-deactivate.guard.mjs +44 -0
  106. package/{esm2020 → esm2022}/app/helpers/confirm-result-continue.mjs +4 -4
  107. package/{esm2020 → esm2022}/app/helpers/get-active-route.mjs +6 -6
  108. package/{esm2020 → esm2022}/app/helpers/get-form-errors.mjs +24 -24
  109. package/{esm2020 → esm2022}/app/helpers/index.mjs +1 -1
  110. package/{esm2020 → esm2022}/app/helpers/is-enabled.mjs +3 -3
  111. package/{esm2020 → esm2022}/app/interfaces/async-validator.mjs +1 -1
  112. package/{esm2020 → esm2022}/app/interfaces/confirm-config.mjs +1 -1
  113. package/{esm2020 → esm2022}/app/interfaces/confirm-tab-group.mjs +1 -1
  114. package/{esm2020 → esm2022}/app/interfaces/index.mjs +4 -4
  115. package/{esm2020 → esm2022}/app/interfaces/submit-event.mjs +1 -1
  116. package/{esm2020 → esm2022}/app/interfaces/submitted-event.mjs +1 -1
  117. package/{esm2020 → esm2022}/app/interfaces/validator.mjs +1 -1
  118. package/{esm2020 → esm2022}/app/providers/validate-messages.provider.mjs +10 -10
  119. package/esm2022/app/services/fsform.service.mjs +94 -0
  120. package/{esm2020 → esm2022}/app/validators/validators.mjs +92 -92
  121. package/{esm2020 → esm2022}/firestitch-form.mjs +4 -4
  122. package/{esm2020 → esm2022}/public_api.mjs +36 -36
  123. package/{fesm2020 → fesm2022}/firestitch-form.mjs +2497 -2434
  124. package/fesm2022/firestitch-form.mjs.map +1 -0
  125. package/index.d.ts +5 -5
  126. package/package.json +5 -11
  127. package/public_api.d.ts +34 -34
  128. package/esm2020/app/components/confirm-unsaved/confirm-unsaved.component.mjs +0 -44
  129. package/esm2020/app/components/form-dialog-actions/form-dialog-actions.component.mjs +0 -75
  130. package/esm2020/app/components/form-template/form-template.component.mjs +0 -31
  131. package/esm2020/app/components/form-template-outlet/form-template-outlet.component.mjs +0 -30
  132. package/esm2020/app/directives/button.directive.mjs +0 -166
  133. package/esm2020/app/directives/form/form.directive.mjs +0 -689
  134. package/esm2020/app/directives/form-dialog-close.directive.mjs +0 -54
  135. package/esm2020/app/directives/form-template.directive.mjs +0 -20
  136. package/esm2020/app/directives/validators/compare.directive.mjs +0 -47
  137. package/esm2020/app/directives/validators/control.directive.mjs +0 -258
  138. package/esm2020/app/directives/validators/daterange.directive.mjs +0 -41
  139. package/esm2020/app/directives/validators/email.directive.mjs +0 -41
  140. package/esm2020/app/directives/validators/emails.directive.mjs +0 -41
  141. package/esm2020/app/directives/validators/function.directive.mjs +0 -41
  142. package/esm2020/app/directives/validators/greater-equal.directive.mjs +0 -40
  143. package/esm2020/app/directives/validators/greater.directive.mjs +0 -40
  144. package/esm2020/app/directives/validators/integer.directive.mjs +0 -39
  145. package/esm2020/app/directives/validators/lesser-equal.directive.mjs +0 -40
  146. package/esm2020/app/directives/validators/lesser.directive.mjs +0 -40
  147. package/esm2020/app/directives/validators/max.directive.mjs +0 -36
  148. package/esm2020/app/directives/validators/maxlength.directive.mjs +0 -35
  149. package/esm2020/app/directives/validators/min.directive.mjs +0 -36
  150. package/esm2020/app/directives/validators/minlength.directive.mjs +0 -35
  151. package/esm2020/app/directives/validators/numeric.directive.mjs +0 -41
  152. package/esm2020/app/directives/validators/pattern.directive.mjs +0 -35
  153. package/esm2020/app/directives/validators/phone.directive.mjs +0 -41
  154. package/esm2020/app/directives/validators/required.directive.mjs +0 -69
  155. package/esm2020/app/directives/validators/url.directive.mjs +0 -45
  156. package/esm2020/app/directives/validators/validate.directive.mjs +0 -43
  157. package/esm2020/app/fs-form.module.mjs +0 -209
  158. package/esm2020/app/guards/form-deactivate.guard.mjs +0 -42
  159. package/esm2020/app/services/fsform.service.mjs +0 -92
  160. package/fesm2015/firestitch-form.mjs +0 -2579
  161. package/fesm2015/firestitch-form.mjs.map +0 -1
  162. package/fesm2020/firestitch-form.mjs.map +0 -1
@@ -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 FsFormEmailsDirective extends FsControlDirective {
8
+ fsFormEmails;
9
+ set validationMessage(value) {
10
+ this._validateMessages.emails = value;
11
+ }
12
+ ngOnChanges() {
13
+ this._control.updateValueAndValidity();
14
+ }
15
+ validate(control) {
16
+ if (isEnabled(this.fsFormEmails)) {
17
+ return FsValidators.emails(this._control);
18
+ }
19
+ else {
20
+ return null;
21
+ }
22
+ }
23
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsFormEmailsDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
24
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FsFormEmailsDirective, selector: "[fsFormEmails]", inputs: { fsFormEmails: "fsFormEmails", validationMessage: ["fsFormEmailsMessage", "validationMessage"] }, providers: [
25
+ VALIDATE_MESSAGE_PROVIDER
26
+ ], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsFormEmailsDirective, decorators: [{
29
+ type: Directive,
30
+ args: [{
31
+ selector: '[fsFormEmails]',
32
+ providers: [
33
+ VALIDATE_MESSAGE_PROVIDER
34
+ ],
35
+ }]
36
+ }], propDecorators: { fsFormEmails: [{
37
+ type: Input
38
+ }], validationMessage: [{
39
+ type: Input,
40
+ args: ['fsFormEmailsMessage']
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWxzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZGlyZWN0aXZlcy92YWxpZGF0b3JzL2VtYWlscy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFHNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRXZGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFTckQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGtCQUFrQjtJQUdwRCxZQUFZLENBQUM7SUFFcEIsSUFDVyxpQkFBaUIsQ0FBQyxLQUFhO1FBQ3hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3hDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU0sUUFBUSxDQUFDLE9BQXdCO1FBQ3RDLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUNoQyxPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzNDO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQzt3R0FwQlUscUJBQXFCOzRGQUFyQixxQkFBcUIsb0pBSnJCO1lBQ1QseUJBQXlCO1NBQzFCOzs0RkFFVSxxQkFBcUI7a0JBTmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsU0FBUyxFQUFFO3dCQUNULHlCQUF5QjtxQkFDMUI7aUJBQ0Y7OEJBSVEsWUFBWTtzQkFEbEIsS0FBSztnQkFJSyxpQkFBaUI7c0JBRDNCLEtBQUs7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEZzQ29udHJvbERpcmVjdGl2ZSB9IGZyb20gJy4vY29udHJvbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNWYWxpZGF0b3JzIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycy92YWxpZGF0b3JzJztcbmltcG9ydCB7IFZBTElEQVRFX01FU1NBR0VfUFJPVklERVIgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvdmFsaWRhdGUtbWVzc2FnZXMucHJvdmlkZXInO1xuaW1wb3J0IHsgRnNWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3ZhbGlkYXRvcic7XG5pbXBvcnQgeyBpc0VuYWJsZWQgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2lzLWVuYWJsZWQnO1xuXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmc0Zvcm1FbWFpbHNdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgVkFMSURBVEVfTUVTU0FHRV9QUk9WSURFUlxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGc0Zvcm1FbWFpbHNEaXJlY3RpdmUgZXh0ZW5kcyBGc0NvbnRyb2xEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEZzVmFsaWRhdG9yIHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZnNGb3JtRW1haWxzO1xuXG4gIEBJbnB1dCgnZnNGb3JtRW1haWxzTWVzc2FnZScpXG4gIHB1YmxpYyBzZXQgdmFsaWRhdGlvbk1lc3NhZ2UodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3ZhbGlkYXRlTWVzc2FnZXMuZW1haWxzID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGhpcy5fY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGlmIChpc0VuYWJsZWQodGhpcy5mc0Zvcm1FbWFpbHMpKSB7XG4gICAgICByZXR1cm4gRnNWYWxpZGF0b3JzLmVtYWlscyh0aGlzLl9jb250cm9sKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
@@ -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: "16.2.12", ngImport: i0, type: FsFormFunctionDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
21
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.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: "16.2.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvZnVuY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRzVELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHdEMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQVN6RCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsa0JBQWtCO0lBR3RELGNBQWMsQ0FBQztJQUdmLGtCQUFrQixDQUFDO0lBR25CLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUV6QixXQUFXO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU0sYUFBYSxDQUFDLE9BQXdCO1FBQzNDLElBQUcsSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUU7WUFDMUQsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakI7UUFFRCxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7d0dBckJVLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLHlLQUp2QjtZQUNULHlCQUF5QjtTQUMxQjs7NEZBRVUsdUJBQXVCO2tCQU5uQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFNBQVMsRUFBRTt3QkFDVCx5QkFBeUI7cUJBQzFCO2lCQUNGOzhCQUlRLGNBQWM7c0JBRHBCLEtBQUs7Z0JBSUMsa0JBQWtCO3NCQUR4QixLQUFLO2dCQUlDLGdCQUFnQjtzQkFEdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBGc0FzeW5jVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9hc3luYy12YWxpZGF0b3InO1xuaW1wb3J0IHsgVkFMSURBVEVfTUVTU0FHRV9QUk9WSURFUiB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy92YWxpZGF0ZS1tZXNzYWdlcy5wcm92aWRlcic7XG5pbXBvcnQgeyBGc1ZhbGlkYXRvcnMgfSBmcm9tICcuLi8uLi92YWxpZGF0b3JzL3ZhbGlkYXRvcnMnO1xuXG5pbXBvcnQgeyBGc0NvbnRyb2xEaXJlY3RpdmUgfSBmcm9tICcuL2NvbnRyb2wuZGlyZWN0aXZlJztcblxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZnNGb3JtRnVuY3Rpb25dJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgVkFMSURBVEVfTUVTU0FHRV9QUk9WSURFUixcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRnNGb3JtRnVuY3Rpb25EaXJlY3RpdmUgZXh0ZW5kcyBGc0NvbnRyb2xEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEZzQXN5bmNWYWxpZGF0b3Ige1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmc0Zvcm1GdW5jdGlvbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZnNGb3JtRnVuY3Rpb25EYXRhO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB2YWxpZGF0ZU9uU3VibWl0ID0gZmFsc2U7XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuX2NvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlQXN5bmMoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogUHJvbWlzZTxWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbD4gfCBPYnNlcnZhYmxlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiB7XG4gICAgaWYodGhpcy52YWxpZGF0ZU9uU3VibWl0ICYmICF0aGlzLmZvcm1EaXJlY3RpdmUudmFsaWRhdGluZykge1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH1cbiAgICBcbiAgICByZXR1cm4gRnNWYWxpZGF0b3JzLmZ1bmModGhpcy5fY29udHJvbCwgdGhpcy5mc0Zvcm1GdW5jdGlvbiwgdGhpcy5mc0Zvcm1GdW5jdGlvbkRhdGEpO1xuICB9XG5cbn1cbiJdfQ==
@@ -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: "16.2.12", ngImport: i0, type: FsFormGreaterEqualDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
23
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.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: "16.2.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JlYXRlci1lcXVhbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9ncmVhdGVyLWVxdWFsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUc1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUM7O0FBVXZGLE1BQU0sT0FBTywyQkFBNEIsU0FBUSxrQkFBa0I7SUFHMUQsa0JBQWtCLENBQUM7SUFFMUIsSUFDVyxpQkFBaUIsQ0FBQyxLQUFhO1FBQ3hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3pDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU0sUUFBUSxDQUFDLE9BQXdCO1FBQ3RDLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNwRCxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssR0FBRyxPQUFPLEVBQUU7WUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztTQUNyRDtRQUVELE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0MsQ0FBQzt3R0F2QlUsMkJBQTJCOzRGQUEzQiwyQkFBMkIsNEtBSjNCO1lBQ1QseUJBQXlCO1NBQzFCOzs0RkFFVSwyQkFBMkI7a0JBTnZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsU0FBUyxFQUFFO3dCQUNULHlCQUF5QjtxQkFDMUI7aUJBQ0Y7OEJBSVEsa0JBQWtCO3NCQUR4QixLQUFLO2dCQUlLLGlCQUFpQjtzQkFEM0IsS0FBSzt1QkFBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgRnNDb250cm9sRGlyZWN0aXZlIH0gZnJvbSAnLi9jb250cm9sLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc1ZhbGlkYXRvcnMgfSBmcm9tICcuLi8uLi92YWxpZGF0b3JzL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgVkFMSURBVEVfTUVTU0FHRV9QUk9WSURFUiB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy92YWxpZGF0ZS1tZXNzYWdlcy5wcm92aWRlcic7XG5pbXBvcnQgeyBGc1ZhbGlkYXRvciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvdmFsaWRhdG9yJztcblxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZnNGb3JtR3JlYXRlckVxdWFsXScsXG4gIHByb3ZpZGVyczogW1xuICAgIFZBTElEQVRFX01FU1NBR0VfUFJPVklERVJcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRnNGb3JtR3JlYXRlckVxdWFsRGlyZWN0aXZlIGV4dGVuZHMgRnNDb250cm9sRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBGc1ZhbGlkYXRvciB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZzRm9ybUdyZWF0ZXJFcXVhbDtcblxuICBASW5wdXQoJ2ZzRm9ybUdyZWF0ZXJFcXVhbE1lc3NhZ2UnKVxuICBwdWJsaWMgc2V0IHZhbGlkYXRpb25NZXNzYWdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl92YWxpZGF0ZU1lc3NhZ2VzLmdyZWF0ZXIgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9jb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgY29uc3QgZ3JlYXRlciA9IHBhcnNlRmxvYXQodGhpcy5mc0Zvcm1HcmVhdGVyRXF1YWwpO1xuICAgIGNvbnN0IHZhbHVlID0gcGFyc2VGbG9hdCh0aGlzLl9jb250cm9sLnZhbHVlKTtcblxuICAgIGlmICghaXNOYU4oZ3JlYXRlcikgJiYgIWlzTmFOKHZhbHVlKSAmJiB2YWx1ZSA8IGdyZWF0ZXIpIHtcbiAgICAgIHJldHVybiB7IGdyZWF0ZXJFcXVhbDogeyBncmVhdGVyLCBhY3R1YWw6IHZhbHVlIH0gfTtcbiAgICB9XG5cbiAgICByZXR1cm4gRnNWYWxpZGF0b3JzLm51bWVyaWModGhpcy5fY29udHJvbCk7XG4gIH1cblxufVxuIl19
@@ -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: "16.2.12", ngImport: i0, type: FsFormGreaterDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
23
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.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: "16.2.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JlYXRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9ncmVhdGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUc1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUM7O0FBVXZGLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxrQkFBa0I7SUFHckQsYUFBYSxDQUFDO0lBRXJCLElBQ1csaUJBQWlCLENBQUMsS0FBYTtRQUN4QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN6QyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVNLFFBQVEsQ0FBQyxPQUF3QjtRQUN0QyxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLE9BQU8sRUFBRTtZQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1NBQ2hEO1FBRUQsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3QyxDQUFDO3dHQXZCVSxzQkFBc0I7NEZBQXRCLHNCQUFzQix3SkFKdEI7WUFDVCx5QkFBeUI7U0FDMUI7OzRGQUVVLHNCQUFzQjtrQkFObEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixTQUFTLEVBQUU7d0JBQ1QseUJBQXlCO3FCQUMxQjtpQkFDRjs4QkFJUSxhQUFhO3NCQURuQixLQUFLO2dCQUlLLGlCQUFpQjtzQkFEM0IsS0FBSzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgRnNDb250cm9sRGlyZWN0aXZlIH0gZnJvbSAnLi9jb250cm9sLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc1ZhbGlkYXRvcnMgfSBmcm9tICcuLi8uLi92YWxpZGF0b3JzL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgVkFMSURBVEVfTUVTU0FHRV9QUk9WSURFUiB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy92YWxpZGF0ZS1tZXNzYWdlcy5wcm92aWRlcic7XG5pbXBvcnQgeyBGc1ZhbGlkYXRvciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvdmFsaWRhdG9yJztcblxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZnNGb3JtR3JlYXRlcl0nLFxuICBwcm92aWRlcnM6IFtcbiAgICBWQUxJREFURV9NRVNTQUdFX1BST1ZJREVSXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZzRm9ybUdyZWF0ZXJEaXJlY3RpdmUgZXh0ZW5kcyBGc0NvbnRyb2xEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEZzVmFsaWRhdG9yIHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZnNGb3JtR3JlYXRlcjtcblxuICBASW5wdXQoJ2ZzRm9ybUdyZWF0ZXJNZXNzYWdlJylcbiAgcHVibGljIHNldCB2YWxpZGF0aW9uTWVzc2FnZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdmFsaWRhdGVNZXNzYWdlcy5ncmVhdGVyID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5fY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGNvbnN0IGdyZWF0ZXIgPSBwYXJzZUZsb2F0KHRoaXMuZnNGb3JtR3JlYXRlcik7XG4gICAgY29uc3QgdmFsdWUgPSBwYXJzZUZsb2F0KHRoaXMuX2NvbnRyb2wudmFsdWUpO1xuXG4gICAgaWYgKCFpc05hTihncmVhdGVyKSAmJiAhaXNOYU4odmFsdWUpICYmIHZhbHVlIDw9IGdyZWF0ZXIpIHtcbiAgICAgIHJldHVybiB7IGdyZWF0ZXI6IHsgZ3JlYXRlciwgYWN0dWFsOiB2YWx1ZSB9IH07XG4gICAgfVxuXG4gICAgcmV0dXJuIEZzVmFsaWRhdG9ycy5udW1lcmljKHRoaXMuX2NvbnRyb2wpO1xuICB9XG5cbn1cbiJdfQ==
@@ -1,23 +1,23 @@
1
- export * from './compare.directive';
2
- export * from './control.directive';
3
- export * from './daterange.directive';
4
- export * from './email.directive';
5
- export * from './emails.directive';
6
- export * from './function.directive';
7
- export * from './greater-equal.directive';
8
- export * from './greater.directive';
9
- export * from './integer.directive';
10
- export * from './lesser-equal.directive';
11
- export * from './lesser.directive';
12
- export * from './max.directive';
13
- export * from './maxlength.directive';
14
- export * from './min.directive';
15
- export * from './minlength.directive';
16
- export * from './no-fs-validators.directive';
17
- export * from './numeric.directive';
18
- export * from './pattern.directive';
19
- export * from './phone.directive';
20
- export * from './required.directive';
21
- export * from './url.directive';
22
- export * from './validate.directive';
1
+ export * from './compare.directive';
2
+ export * from './control.directive';
3
+ export * from './daterange.directive';
4
+ export * from './email.directive';
5
+ export * from './emails.directive';
6
+ export * from './function.directive';
7
+ export * from './greater-equal.directive';
8
+ export * from './greater.directive';
9
+ export * from './integer.directive';
10
+ export * from './lesser-equal.directive';
11
+ export * from './lesser.directive';
12
+ export * from './max.directive';
13
+ export * from './maxlength.directive';
14
+ export * from './min.directive';
15
+ export * from './minlength.directive';
16
+ export * from './no-fs-validators.directive';
17
+ export * from './numeric.directive';
18
+ export * from './pattern.directive';
19
+ export * from './phone.directive';
20
+ export * from './required.directive';
21
+ export * from './url.directive';
22
+ export * from './validate.directive';
23
23
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb21wYXJlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRyb2wuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZXJhbmdlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2VtYWlsLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2VtYWlscy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9mdW5jdGlvbi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9ncmVhdGVyLWVxdWFsLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2dyZWF0ZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZWdlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9sZXNzZXItZXF1YWwuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGVzc2VyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL21heC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXhsZW5ndGguZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbWluLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL21pbmxlbmd0aC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9uby1mcy12YWxpZGF0b3JzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL251bWVyaWMuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vcGF0dGVybi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9waG9uZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXF1aXJlZC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi91cmwuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdGUuZGlyZWN0aXZlJztcblxuIl19
@@ -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: "16.2.12", ngImport: i0, type: FsFormIntegerDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
22
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.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: "16.2.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWdlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9pbnRlZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUc1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFckQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQVN6RCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsa0JBQWtCO0lBR3JELGFBQWEsQ0FBQztJQUVyQixJQUNXLGlCQUFpQixDQUFDLEtBQWE7UUFDeEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDekMsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFTSxRQUFRLENBQUMsT0FBd0I7UUFDdEMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ2pDLE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDNUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUVkLENBQUM7d0dBckJVLHNCQUFzQjs0RkFBdEIsc0JBQXNCLHdKQUp0QjtZQUNULHlCQUF5QjtTQUMxQjs7NEZBRVUsc0JBQXNCO2tCQU5sQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFNBQVMsRUFBRTt3QkFDVCx5QkFBeUI7cUJBQzFCO2lCQUNGOzhCQUlRLGFBQWE7c0JBRG5CLEtBQUs7Z0JBSUssaUJBQWlCO3NCQUQzQixLQUFLO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBpc0VuYWJsZWQgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2lzLWVuYWJsZWQnO1xuaW1wb3J0IHsgRnNWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3ZhbGlkYXRvcic7XG5pbXBvcnQgeyBWQUxJREFURV9NRVNTQUdFX1BST1ZJREVSIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL3ZhbGlkYXRlLW1lc3NhZ2VzLnByb3ZpZGVyJztcbmltcG9ydCB7IEZzVmFsaWRhdG9ycyB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMvdmFsaWRhdG9ycyc7XG5cbmltcG9ydCB7IEZzQ29udHJvbERpcmVjdGl2ZSB9IGZyb20gJy4vY29udHJvbC5kaXJlY3RpdmUnO1xuXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmc0Zvcm1JbnRlZ2VyXScsXG4gIHByb3ZpZGVyczogW1xuICAgIFZBTElEQVRFX01FU1NBR0VfUFJPVklERVIsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZzRm9ybUludGVnZXJEaXJlY3RpdmUgZXh0ZW5kcyBGc0NvbnRyb2xEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEZzVmFsaWRhdG9yIHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZnNGb3JtSW50ZWdlcjtcblxuICBASW5wdXQoJ2ZzRm9ybUludGVnZXJNZXNzYWdlJylcbiAgcHVibGljIHNldCB2YWxpZGF0aW9uTWVzc2FnZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdmFsaWRhdGVNZXNzYWdlcy5pbnRlZ2VyID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGhpcy5fY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGlmIChpc0VuYWJsZWQodGhpcy5mc0Zvcm1JbnRlZ2VyKSkge1xuICAgICAgcmV0dXJuIEZzVmFsaWRhdG9ycy5pbnRlZ2VyKHRoaXMuX2NvbnRyb2wpO1xuICAgIH1cbiBcbiAgICByZXR1cm4gbnVsbDtcbiAgICBcbiAgfVxuXG59XG4iXX0=
@@ -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: "16.2.12", ngImport: i0, type: FsFormLesserEqualDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
23
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.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: "16.2.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVzc2VyLWVxdWFsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZGlyZWN0aXZlcy92YWxpZGF0b3JzL2xlc3Nlci1lcXVhbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFHNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOztBQVV2RixNQUFNLE9BQU8sMEJBQTJCLFNBQVEsa0JBQWtCO0lBR3pELGlCQUFpQixDQUFDO0lBRXpCLElBQ1csaUJBQWlCLENBQUMsS0FBYTtRQUN4QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN4QyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVNLFFBQVEsQ0FBQyxPQUF3QjtRQUN0QyxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbEQsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLEdBQUcsTUFBTSxFQUFFO1lBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7U0FDbkQ7UUFFRCxPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7d0dBdkJVLDBCQUEwQjs0RkFBMUIsMEJBQTBCLHdLQUoxQjtZQUNULHlCQUF5QjtTQUMxQjs7NEZBRVUsMEJBQTBCO2tCQU50QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFNBQVMsRUFBRTt3QkFDVCx5QkFBeUI7cUJBQzFCO2lCQUNGOzhCQUlRLGlCQUFpQjtzQkFEdkIsS0FBSztnQkFJSyxpQkFBaUI7c0JBRDNCLEtBQUs7dUJBQUMsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEZzQ29udHJvbERpcmVjdGl2ZSB9IGZyb20gJy4vY29udHJvbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNWYWxpZGF0b3JzIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycy92YWxpZGF0b3JzJztcbmltcG9ydCB7IFZBTElEQVRFX01FU1NBR0VfUFJPVklERVIgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvdmFsaWRhdGUtbWVzc2FnZXMucHJvdmlkZXInO1xuaW1wb3J0IHsgRnNWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3ZhbGlkYXRvcic7XG5cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2ZzRm9ybUxlc3NlckVxdWFsXScsXG4gIHByb3ZpZGVyczogW1xuICAgIFZBTElEQVRFX01FU1NBR0VfUFJPVklERVJcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRnNGb3JtTGVzc2VyRXF1YWxEaXJlY3RpdmUgZXh0ZW5kcyBGc0NvbnRyb2xEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEZzVmFsaWRhdG9yIHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZnNGb3JtTGVzc2VyRXF1YWw7XG5cbiAgQElucHV0KCdmc0Zvcm1MZXNzZXJFcXVhbE1lc3NhZ2UnKVxuICBwdWJsaWMgc2V0IHZhbGlkYXRpb25NZXNzYWdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl92YWxpZGF0ZU1lc3NhZ2VzLmxlc3NlciA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuX2NvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBjb25zdCBsZXNzZXIgPSBwYXJzZUZsb2F0KHRoaXMuZnNGb3JtTGVzc2VyRXF1YWwpO1xuICAgIGNvbnN0IHZhbHVlID0gcGFyc2VGbG9hdCh0aGlzLl9jb250cm9sLnZhbHVlKTtcblxuICAgIGlmICghaXNOYU4obGVzc2VyKSAmJiAhaXNOYU4odmFsdWUpICYmIHZhbHVlID4gbGVzc2VyKSB7XG4gICAgICByZXR1cm4geyBsZXNzZXJFcXVhbDogeyBsZXNzZXIsIGFjdHVhbDogdmFsdWUgfSB9O1xuICAgIH1cblxuICAgIHJldHVybiBGc1ZhbGlkYXRvcnMubnVtZXJpYyh0aGlzLl9jb250cm9sKTtcbiAgfVxuXG59XG4iXX0=
@@ -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: "16.2.12", ngImport: i0, type: FsFormLesserDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
23
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.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: "16.2.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVzc2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZGlyZWN0aXZlcy92YWxpZGF0b3JzL2xlc3Nlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFHNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOztBQVV2RixNQUFNLE9BQU8scUJBQXNCLFNBQVEsa0JBQWtCO0lBR3BELFlBQVksQ0FBQztJQUVwQixJQUNXLGlCQUFpQixDQUFDLEtBQWE7UUFDeEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEMsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFTSxRQUFRLENBQUMsT0FBd0I7UUFDdEMsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3QyxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxNQUFNLEVBQUU7WUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztTQUM5QztRQUVELE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0MsQ0FBQzt3R0F2QlUscUJBQXFCOzRGQUFyQixxQkFBcUIsb0pBSnJCO1lBQ1QseUJBQXlCO1NBQzFCOzs0RkFFVSxxQkFBcUI7a0JBTmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsU0FBUyxFQUFFO3dCQUNULHlCQUF5QjtxQkFDMUI7aUJBQ0Y7OEJBSVEsWUFBWTtzQkFEbEIsS0FBSztnQkFJSyxpQkFBaUI7c0JBRDNCLEtBQUs7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEZzQ29udHJvbERpcmVjdGl2ZSB9IGZyb20gJy4vY29udHJvbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNWYWxpZGF0b3JzIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycy92YWxpZGF0b3JzJztcbmltcG9ydCB7IFZBTElEQVRFX01FU1NBR0VfUFJPVklERVIgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvdmFsaWRhdGUtbWVzc2FnZXMucHJvdmlkZXInO1xuaW1wb3J0IHsgRnNWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3ZhbGlkYXRvcic7XG5cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2ZzRm9ybUxlc3Nlcl0nLFxuICBwcm92aWRlcnM6IFtcbiAgICBWQUxJREFURV9NRVNTQUdFX1BST1ZJREVSXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZzRm9ybUxlc3NlckRpcmVjdGl2ZSBleHRlbmRzIEZzQ29udHJvbERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgRnNWYWxpZGF0b3Ige1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmc0Zvcm1MZXNzZXI7XG5cbiAgQElucHV0KCdmc0Zvcm1MZXNzZXJNZXNzYWdlJylcbiAgcHVibGljIHNldCB2YWxpZGF0aW9uTWVzc2FnZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdmFsaWRhdGVNZXNzYWdlcy5sZXNzZXIgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9jb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgY29uc3QgbGVzc2VyID0gcGFyc2VGbG9hdCh0aGlzLmZzRm9ybUxlc3Nlcik7XG4gICAgY29uc3QgdmFsdWUgPSBwYXJzZUZsb2F0KHRoaXMuX2NvbnRyb2wudmFsdWUpO1xuXG4gICAgaWYgKCFpc05hTihsZXNzZXIpICYmICFpc05hTih2YWx1ZSkgJiYgdmFsdWUgPj0gbGVzc2VyKSB7XG4gICAgICByZXR1cm4geyBsZXNzZXI6IHsgbGVzc2VyLCBhY3R1YWw6IHZhbHVlIH0gfTtcbiAgICB9XG5cbiAgICByZXR1cm4gRnNWYWxpZGF0b3JzLm51bWVyaWModGhpcy5fY29udHJvbCk7XG4gIH1cblxufVxuIl19
@@ -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: "16.2.12", ngImport: i0, type: FsFormMaxDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
19
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.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: "16.2.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: "16.2.12", ngImport: i0, type: FsFormMaxLengthDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
18
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.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: "16.2.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: "16.2.12", ngImport: i0, type: FsFormMinDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
19
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.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: "16.2.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: "16.2.12", ngImport: i0, type: FsFormMinLengthDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
18
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.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: "16.2.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=