@o3r/forms 12.1.0-prerelease.79 → 12.1.0-prerelease.80

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 (30) hide show
  1. package/esm2022/annotations/async-input.mjs +50 -0
  2. package/esm2022/annotations/index.mjs +2 -0
  3. package/esm2022/core/custom-validation.mjs +2 -0
  4. package/esm2022/core/errors.mjs +2 -0
  5. package/esm2022/core/extended-validator.mjs +11 -0
  6. package/esm2022/core/flat-errors.mjs +2 -0
  7. package/esm2022/core/helpers.mjs +91 -0
  8. package/esm2022/core/index.mjs +7 -0
  9. package/esm2022/core/submit.mjs +2 -0
  10. package/esm2022/o3r-forms.mjs +5 -0
  11. package/esm2022/public_api.mjs +5 -0
  12. package/esm2022/stores/form-error-messages/form-error-messages.actions.mjs +29 -0
  13. package/esm2022/stores/form-error-messages/form-error-messages.module.mjs +39 -0
  14. package/esm2022/stores/form-error-messages/form-error-messages.reducer.mjs +28 -0
  15. package/esm2022/stores/form-error-messages/form-error-messages.selectors.mjs +19 -0
  16. package/esm2022/stores/form-error-messages/form-error-messages.state.mjs +5 -0
  17. package/esm2022/stores/form-error-messages/index.mjs +6 -0
  18. package/esm2022/stores/index.mjs +2 -0
  19. package/esm2022/validators/date/date-validators.module.mjs +19 -0
  20. package/esm2022/validators/date/index.mjs +4 -0
  21. package/esm2022/validators/date/max-date.directive.mjs +74 -0
  22. package/esm2022/validators/date/min-date.directive.mjs +74 -0
  23. package/esm2022/validators/index.mjs +3 -0
  24. package/esm2022/validators/number/index.mjs +4 -0
  25. package/esm2022/validators/number/max.directive.mjs +63 -0
  26. package/esm2022/validators/number/min.directive.mjs +63 -0
  27. package/esm2022/validators/number/number-validators.module.mjs +19 -0
  28. package/package.json +4 -4
  29. package/schematics/ng-add/index.js.map +1 -0
  30. package/schematics/ng-add/schema.js.map +1 -0
@@ -0,0 +1,50 @@
1
+ import { BehaviorSubject, } from 'rxjs';
2
+ import { switchMap, } from 'rxjs/operators';
3
+ /**
4
+ * Decorator for @Input property
5
+ * It considers the input as an async one.
6
+ * When a change in the input happens, it unsubscribe from the previous value
7
+ * and subscribe to the next one
8
+ * @param privateFieldName
9
+ * @example
10
+ * ```typescript
11
+ * \@Input()
12
+ * \@AsyncInput()
13
+ * myStream$: Observable<number>;
14
+ * ```
15
+ */
16
+ // eslint-disable-next-line @typescript-eslint/naming-convention -- required convention for decorator
17
+ export function AsyncInput(privateFieldName) {
18
+ return (target, key) => {
19
+ const privateSubjectField = `_subject_${privateFieldName || key}`;
20
+ const privateStreamField = `_stream_${privateFieldName || key}`;
21
+ if (delete target[key]) {
22
+ Object.defineProperty(target, key, {
23
+ get: function () {
24
+ // Returning the same stream for reference check sake
25
+ return this[privateStreamField];
26
+ },
27
+ set: function (value) {
28
+ if (value) {
29
+ if (this[privateSubjectField]) {
30
+ this[privateSubjectField].next(value);
31
+ }
32
+ else {
33
+ this[privateSubjectField] = new BehaviorSubject(value);
34
+ // Everytime the subject emits, we will discard the previous one
35
+ // and subscribe to the new emission
36
+ this[privateStreamField] = this[privateSubjectField].pipe(switchMap((stream$) => stream$));
37
+ }
38
+ }
39
+ else {
40
+ this[privateStreamField] = value;
41
+ this[privateSubjectField] = value;
42
+ }
43
+ },
44
+ enumerable: true,
45
+ configurable: true
46
+ });
47
+ }
48
+ };
49
+ }
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtaW5wdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYW5ub3RhdGlvbnMvYXN5bmMtaW5wdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGVBQWUsR0FFaEIsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEI7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gscUdBQXFHO0FBQ3JHLE1BQU0sVUFBVSxVQUFVLENBQUMsZ0JBQXlCO0lBQ2xELE9BQU8sQ0FBQyxNQUFXLEVBQUUsR0FBVyxFQUFFLEVBQUU7UUFDbEMsTUFBTSxtQkFBbUIsR0FBRyxZQUFZLGdCQUFnQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2xFLE1BQU0sa0JBQWtCLEdBQUcsV0FBVyxnQkFBZ0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNoRSxJQUFJLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdkIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO2dCQUNqQyxHQUFHLEVBQUU7b0JBQ0gscURBQXFEO29CQUNyRCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO2dCQUNsQyxDQUFDO2dCQUNELEdBQUcsRUFBRSxVQUFxQixLQUFrQztvQkFDMUQsSUFBSSxLQUFLLEVBQUUsQ0FBQzt3QkFDVixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7NEJBQzlCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDeEMsQ0FBQzs2QkFBTSxDQUFDOzRCQUNOLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLElBQUksZUFBZSxDQUFrQixLQUFLLENBQUMsQ0FBQzs0QkFDeEUsZ0VBQWdFOzRCQUNoRSxvQ0FBb0M7NEJBQ3BDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLElBQUksQ0FDdkQsU0FBUyxDQUFDLENBQUMsT0FBd0IsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQ2pELENBQUM7d0JBQ0osQ0FBQztvQkFDSCxDQUFDO3lCQUFNLENBQUM7d0JBQ04sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsS0FBSyxDQUFDO3dCQUNqQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxLQUFLLENBQUM7b0JBQ3BDLENBQUM7Z0JBQ0gsQ0FBQztnQkFDRCxVQUFVLEVBQUUsSUFBSTtnQkFDaEIsWUFBWSxFQUFFLElBQUk7YUFDbkIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIE9ic2VydmFibGUsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgc3dpdGNoTWFwLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogRGVjb3JhdG9yIGZvciBASW5wdXQgcHJvcGVydHlcbiAqIEl0IGNvbnNpZGVycyB0aGUgaW5wdXQgYXMgYW4gYXN5bmMgb25lLlxuICogV2hlbiBhIGNoYW5nZSBpbiB0aGUgaW5wdXQgaGFwcGVucywgaXQgdW5zdWJzY3JpYmUgZnJvbSB0aGUgcHJldmlvdXMgdmFsdWVcbiAqIGFuZCBzdWJzY3JpYmUgdG8gdGhlIG5leHQgb25lXG4gKiBAcGFyYW0gcHJpdmF0ZUZpZWxkTmFtZVxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIFxcQElucHV0KClcbiAqIFxcQEFzeW5jSW5wdXQoKVxuICogbXlTdHJlYW0kOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gKiBgYGBcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAtLSByZXF1aXJlZCBjb252ZW50aW9uIGZvciBkZWNvcmF0b3JcbmV4cG9ydCBmdW5jdGlvbiBBc3luY0lucHV0KHByaXZhdGVGaWVsZE5hbWU/OiBzdHJpbmcpIHtcbiAgcmV0dXJuICh0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBwcml2YXRlU3ViamVjdEZpZWxkID0gYF9zdWJqZWN0XyR7cHJpdmF0ZUZpZWxkTmFtZSB8fCBrZXl9YDtcbiAgICBjb25zdCBwcml2YXRlU3RyZWFtRmllbGQgPSBgX3N0cmVhbV8ke3ByaXZhdGVGaWVsZE5hbWUgfHwga2V5fWA7XG4gICAgaWYgKGRlbGV0ZSB0YXJnZXRba2V5XSkge1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKHRoaXM6IGFueSkge1xuICAgICAgICAgIC8vIFJldHVybmluZyB0aGUgc2FtZSBzdHJlYW0gZm9yIHJlZmVyZW5jZSBjaGVjayBzYWtlXG4gICAgICAgICAgcmV0dXJuIHRoaXNbcHJpdmF0ZVN0cmVhbUZpZWxkXTtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAodGhpczogYW55LCB2YWx1ZTogT2JzZXJ2YWJsZTxhbnk+IHwgdW5kZWZpbmVkKSB7XG4gICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICBpZiAodGhpc1twcml2YXRlU3ViamVjdEZpZWxkXSkge1xuICAgICAgICAgICAgICB0aGlzW3ByaXZhdGVTdWJqZWN0RmllbGRdLm5leHQodmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpc1twcml2YXRlU3ViamVjdEZpZWxkXSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8T2JzZXJ2YWJsZTxhbnk+Pih2YWx1ZSk7XG4gICAgICAgICAgICAgIC8vIEV2ZXJ5dGltZSB0aGUgc3ViamVjdCBlbWl0cywgd2Ugd2lsbCBkaXNjYXJkIHRoZSBwcmV2aW91cyBvbmVcbiAgICAgICAgICAgICAgLy8gYW5kIHN1YnNjcmliZSB0byB0aGUgbmV3IGVtaXNzaW9uXG4gICAgICAgICAgICAgIHRoaXNbcHJpdmF0ZVN0cmVhbUZpZWxkXSA9IHRoaXNbcHJpdmF0ZVN1YmplY3RGaWVsZF0ucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHN0cmVhbSQ6IE9ic2VydmFibGU8YW55PikgPT4gc3RyZWFtJClcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpc1twcml2YXRlU3RyZWFtRmllbGRdID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzW3ByaXZhdGVTdWJqZWN0RmllbGRdID0gdmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './async-input';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYW5ub3RhdGlvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FzeW5jLWlucHV0JztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXZhbGlkYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZS9jdXN0b20tdmFsaWRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBPYnNlcnZhYmxlLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIEVycm9yTWVzc2FnZU9iamVjdCxcbn0gZnJvbSAnLi9lcnJvcnMnO1xuXG4vKipcbiAqIFRoZSByZXR1cm4gb2YgYSBjdXN0b20gdmFsaWRhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbUVycm9ycyB7XG4gIC8qKiBUaGUgY3VzdG9tIGVycm9ycyBjb21pbmcgZnJvbSBhIHZhbGlkYXRpb24gZm4gKi9cbiAgY3VzdG9tRXJyb3JzOiBFcnJvck1lc3NhZ2VPYmplY3RbXTtcbn1cblxuLyoqIEN1c3RvbSB2YWxpZGF0aW9uIGZ1bmN0aW9uICovXG5leHBvcnQgdHlwZSBDdXN0b21WYWxpZGF0aW9uRm4gPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiBDdXN0b21FcnJvcnMgfCBudWxsO1xuXG4vKiogQ3VzdG9tIGFzeW5jIHZhbGlkYXRpb24gZnVuY3Rpb24gKi9cbmV4cG9ydCB0eXBlIEFzeW5jQ3VzdG9tVmFsaWRhdGlvbkZuID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4gT2JzZXJ2YWJsZTxDdXN0b21FcnJvcnMgfCBudWxsPiB8IFByb21pc2U8Q3VzdG9tRXJyb3JzIHwgbnVsbD47XG5cbi8qKiBDdXN0b20gdmFsaWRhdGlvbiBmdW5jdGlvbnMgZm9yIGVhY2ggZmllbGQgb2YgVCBtb2RlbCAqL1xuZXhwb3J0IHR5cGUgQ3VzdG9tRmllbGRzVmFsaWRhdGlvbjxUPiA9IHsgW0sgaW4ga2V5b2YgVF0/OiBDdXN0b21WYWxpZGF0aW9uRm4gfTtcblxuLyoqIEN1c3RvbSBhc3luYyB2YWxpZGF0aW9uIGZ1bmN0aW9uIGZvciBlYWNoIGZpZWxkIG9mIFQgbW9kZWwgICovXG5leHBvcnQgdHlwZSBBc3luY0N1c3RvbUZpZWxkc1ZhbGlkYXRpb248VD4gPSB7IFtLIGluIGtleW9mIFRdPzogQXN5bmNDdXN0b21WYWxpZGF0aW9uRm4gfTtcblxuLyoqIEN1c3RvbSB2YWxpZGF0aW9uIGZvciB0aGUgZm9ybSAqL1xuZXhwb3J0IGludGVyZmFjZSBDdXN0b21Gb3JtVmFsaWRhdGlvbjxUPiB7XG4gIC8qKiBWYWxpZGF0aW9uIGZvciBlYWNoIGZpZWxkICovXG4gIGZpZWxkcz86IEN1c3RvbUZpZWxkc1ZhbGlkYXRpb248VD47XG4gIC8qKiBHbG9iYWwgdmFsaWRhdGlvbiBmb3IgdGhlIGZvcm0gKi9cbiAgZ2xvYmFsPzogQ3VzdG9tVmFsaWRhdGlvbkZuO1xufVxuXG4vKipcbiAqIEN1c3RvbSBhc3luYyB2YWxpZGF0aW9uIGZvciB0aGUgZm9ybVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFzeW5jQ3VzdG9tRm9ybVZhbGlkYXRpb248VD4ge1xuICAvKiogVmFsaWRhdGlvbiBmb3IgZWFjaCBmaWVsZCAqL1xuICBmaWVsZHM/OiBBc3luY0N1c3RvbUZpZWxkc1ZhbGlkYXRpb248VD47XG4gIC8qKiBHbG9iYWwgdmFsaWRhdGlvbiBmb3IgdGhlIGZvcm0gKi9cbiAgZ2xvYmFsPzogQXN5bmNDdXN0b21WYWxpZGF0aW9uRm47XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvcmUvZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogVGhlIGVycm9yIG9iamVjdCBzYXZlZCBpbiB0aGUgc3RvcmUgZm9yIGEgc3BlY2lmaWMgZWxlbWVudC9mb3JtQ29udHJvbCAqL1xuZXhwb3J0IGludGVyZmFjZSBFcnJvck1lc3NhZ2VPYmplY3Qge1xuICAvKipcbiAgICogIFRyYW5zbGF0aW9uIGtleSBvZiB0aGUgc2hvcnQgZXJyb3IgbWVzc2FnZSAoZS5nLiB1c2VkIGZvciBpbmxpbmUgZXJyb3JzKVxuICAgKiAgQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiAgdHJhbnNsYXRpb25LZXkgPSAndHJhdmVsZXJGb3JtLmZpcnN0TmFtZS5yZXF1aXJlZCc7IC8vID0+IGNvcnJlc3BvbmRzIHRvIHsndHJhdmVsZXJGb3JtLmZpcnN0TmFtZS5yZXF1aXJlZCc6ICdGaXJzdCBuYW1lIGlzIHJlcXVpcmVkISd9IGluIGxvY2FsaXphdGlvbiBqc29uO1xuICAgKiBgYGBcbiAgICovXG4gIHRyYW5zbGF0aW9uS2V5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRyYW5zbGF0aW9uIGtleSBvZiB0aGUgbG9uZyBlcnJvciBtZXNzYWdlIChlLmcuIHVzZWQgb24gYSBtZXNzYWdlIHBhbmVsKVxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGxvbmdUcmFuc2xhdGlvbktleSA9ICd0cmF2ZWxlckZvcm0uZmlyc3ROYW1lLnJlcXVpcmVkLmxvbmcnOyAvLyA9PiBjb3JyZXNwb25kcyB0byB7J3RyYXZlbGVyRm9ybS5maXJzdE5hbWUucmVxdWlyZWQubG9uZyc6ICdUaGUgZmlyc3QgbmFtZSBpbiB0aGUgcmVnaXN0cmF0aW9uIGZvcm0gY2Fubm90IGJlIGVtcHR5ISd9XG4gICAqIC8vIGluIGxvY2FsaXphdGlvbiBqc29uO1xuICAgKiBgYGBcbiAgICovXG4gIGxvbmdUcmFuc2xhdGlvbktleT86IHN0cmluZztcblxuICAvKiogVHJhbnNsYXRpb24gcGFyYW1ldGVycyBvZiB0aGUgZXJyb3IgbWVzc2FnZTsgVXNlZCBpbiB0aGUgc2hvcnQgbWVzc2FnZSBidXQgYWxzbyBpbiB0aGUgbG9uZyBtZXNzYWdlIGlmIG5lZWRlZCAqL1xuICB0cmFuc2xhdGlvblBhcmFtcz86IHsgW2tleTogc3RyaW5nXTogYW55IH07XG5cbiAgLyoqXG4gICAqIE9yaWdpbmFsIGVycm9yIG9iamVjdCBkZWZpbmVkIGJ5IHRoZSBjb3JyZXNwb25kaW5nIHZhbGlkYXRvclxuICAgKiBAbm90ZSBJdCdzIG9wdGlvbmFsIHNpbmNlIGN1c3RvbSBlcnJvcnMgZG9uJ3QgbmVlZCB0byBwcm92aWRlIHRoZSB2YWxpZGF0aW9uIGVycm9yXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICoge3JlcXVpcmVkOiB0cnVlfVxuICAgKiBgYGBcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiB7bWF4OiB7bWF4IDEyLCBhY3R1YWw6IDMxfX1cbiAgICogYGBgXG4gICAqL1xuICB2YWxpZGF0aW9uRXJyb3I/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuXG4gIC8qKlxuICAgKiBBbiBhdHRyaWJ1dGUgd2hpY2ggd2lsbCBiZSB0aGUgY29tYmluYXRpb24gb2YgY29tcG9uZW50IG5hbWUsIGZvcm0gY29udHJvbCBuYW1lIGFuZCB0aGUgbmFtZSBvZiB0aGUgZXJyb3JcbiAgICovXG4gIGNvZGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEVuZ2xpc2ggdHJhbnNsYXRpb24gaW5saW5lIGVycm9yIG1lc3NhZ2VcbiAgICovXG4gIHRpdGxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZm9ybUNvbnRyb2wgd2hpY2ggZ2F2ZSB0aGUgZXJyb3JcbiAgICovXG4gIGZvcm1Db250cm9sTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgZXJyb3JcbiAgICovXG4gIGVycm9yTmFtZT86IHN0cmluZztcbn1cblxuLyoqIEVycm9yIG1lc3NhZ2VzIG9mIHRoZSBodG1sIGVsZW1lbnQgaWRlbnRpZmllZCBieSBpdCdzIGlkICovXG5leHBvcnQgaW50ZXJmYWNlIEVsZW1lbnRFcnJvciB7XG4gIC8qKiBJZCBvZiB0aGUgaHRtbCBlbGVtZW50IG9uIHdoaWNoIHRoZSB2YWxpZGF0aW9uIGhhcyBmYWlsZWQgKi9cbiAgaHRtbEVsZW1lbnRJZDogc3RyaW5nO1xuXG4gIC8qKiBFbGVtZW50J3MgZXJyb3IgbWVzc2FnZSBvYmplY3RzICovXG4gIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZU9iamVjdFtdO1xufVxuXG4vKiogRm9ybSdzIGVycm9yIG1lc3NhZ2VzIGlkZW50aWZpZWQgYnkgZm9ybSBpZCAqL1xuZXhwb3J0IGludGVyZmFjZSBGb3JtRXJyb3Ige1xuICAvKiogSWQgb2YgdGhlIGZvcm0gY29udGFpbmluZyB0aGUgZm9ybSBmaWVsZC9maWVsZHMgKi9cbiAgZm9ybUlkOiBzdHJpbmc7XG5cbiAgLyoqIENvbXBvbmVudCdzIGVsZW1lbnRzIGVycm9ycyAqL1xuICBlcnJvcnM6IEVsZW1lbnRFcnJvcltdO1xufVxuIl19
@@ -0,0 +1,11 @@
1
+ export class ExtendedValidator {
2
+ /**
3
+ * Apply the list of validators on a specific Control
4
+ * @param control
5
+ */
6
+ validate(control) {
7
+ const errors = Object.assign({}, ...this.validators.map((validatorFunctions) => validatorFunctions(control)));
8
+ return Object.keys(errors).length > 0 ? errors : null;
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWQtdmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvcmUvZXh0ZW5kZWQtdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sT0FBZ0IsaUJBQWlCO0lBTXJDOzs7T0FHRztJQUNJLFFBQVEsQ0FBQyxPQUF3QjtRQUN0QyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU5RyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDeEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3IsXG4gIFZhbGlkYXRvckZuLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBFeHRlbmRlZFZhbGlkYXRvciBpbXBsZW1lbnRzIFZhbGlkYXRvciB7XG4gIC8qKlxuICAgKiBGdWxsIGxpc3Qgb2YgdmFsaWRhdG9yIGZ1bmN0aW9uc1xuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW107XG5cbiAgLyoqXG4gICAqIEFwcGx5IHRoZSBsaXN0IG9mIHZhbGlkYXRvcnMgb24gYSBzcGVjaWZpYyBDb250cm9sXG4gICAqIEBwYXJhbSBjb250cm9sXG4gICAqL1xuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGNvbnN0IGVycm9ycyA9IE9iamVjdC5hc3NpZ24oe30sIC4uLnRoaXMudmFsaWRhdG9ycy5tYXAoKHZhbGlkYXRvckZ1bmN0aW9ucykgPT4gdmFsaWRhdG9yRnVuY3Rpb25zKGNvbnRyb2wpKSk7XG5cbiAgICByZXR1cm4gT2JqZWN0LmtleXMoZXJyb3JzKS5sZW5ndGggPiAwID8gZXJyb3JzIDogbnVsbDtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdC1lcnJvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZS9mbGF0LWVycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgVmFsaWRhdGlvbkVycm9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgRXJyb3JNZXNzYWdlT2JqZWN0LFxufSBmcm9tICcuL2Vycm9ycyc7XG5cbi8qKiBGbGF0IHJlcHJlc2VudGF0aW9uIG9mIEFuZ3VsYXIncyBWYWxpZGF0aW9uRXJyb3IgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmxhdEVycm9yIHtcbiAgLyoqIFRoZSBrZXkgdGhhdCBpZGVudGlmaWVzIHRoZSB2YWxpZGF0aW9uIGVycm9yICovXG4gIGVycm9yS2V5OiBzdHJpbmc7XG4gIC8qKiBUaGUgdmFsdWUgbGlua2VkIHRvIHRoZSB2YWxpZGF0aW9uIGVycm9yICovXG4gIGVycm9yVmFsdWU6IGFueTtcbiAgLyoqIFRoZSBvcmlnaW5hbCB2YWxpZGF0aW9uIGVycm9yICovXG4gIHZhbGlkYXRpb25FcnJvcjogVmFsaWRhdGlvbkVycm9ycztcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGFsbCBlcnJvcnMgKHZhbGlkYXRpb24gb3IgY3VzdG9tIG9uZXMpIGZyb20gYSBjb250cm9sLlxuICogVXNlZnVsIGZvciB3b3JraW5nIHdpdGggZm9ybSBlcnJvcnNcbiAqIEBub3RlIFRoZSBjb250cm9sIG1heSBiZSBmb3JtLCB0aGVyZWZvcmUgdGhlIGNvbnRyb2xOYW1lIG1heSBiZSB1bmRlZmluZWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb250cm9sRmxhdEVycm9ycyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiBhIGZpZWxkLiBlLmcgZmlyc3ROYW1lLCBjYXJkTnVtYmVyLiBJZiBpdCdzIGEgZm9ybSwgc2hvdWxkIGJlIHVuZGVmaW5lZFxuICAgKiBAbm90ZSBGb3IgY2hpbGQgZmllbGRzLCB1c2UgW3BhcmVudENvbnRyb2xOYW1lXS5bZmllbGROYW1lXS4gZS5nIGV4cGlyeURhdGUubW9udGhcbiAgICovXG4gIGNvbnRyb2xOYW1lPzogc3RyaW5nO1xuICAvKiogTGlzdCBvZiBjdXN0b21FcnJvcnMgKGNvbWluZyBmcm9tIGN1c3RvbSB2YWxpZGF0aW9uKSBsaW5rZWQgdG8gdGhlIGNvbnRyb2wgKi9cbiAgY3VzdG9tRXJyb3JzPzogRXJyb3JNZXNzYWdlT2JqZWN0W10gfCBudWxsO1xuICAvKiogVGhlIGxpc3Qgb2YgZmxhdHRlbiBlcnJvcnMgbGlua2VkIHRvIHRoZSBjb250cm9sICovXG4gIGVycm9yczogRmxhdEVycm9yW107XG59XG4iXX0=
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Checks if controls is a FormGroup
3
+ * @param control
4
+ */
5
+ export function isFormGroup(control) {
6
+ return Object.prototype.hasOwnProperty.call(control, 'controls');
7
+ }
8
+ /**
9
+ * Mark the controls in the given form as touched and dirty
10
+ * @param control
11
+ */
12
+ export function markAllControlsDirtyAndTouched(control) {
13
+ control.markAsDirty({ onlySelf: true });
14
+ control.markAsTouched({ onlySelf: true });
15
+ if (isFormGroup(control)) {
16
+ Object.keys(control.controls).forEach((controlName) => {
17
+ const currentControl = control.get(controlName);
18
+ if (currentControl) {
19
+ markAllControlsDirtyAndTouched(currentControl);
20
+ }
21
+ });
22
+ }
23
+ }
24
+ /**
25
+ * Mark the controls in the given form as untouched and pristine
26
+ * @param control
27
+ */
28
+ export function markAllControlsPristineAndUntouched(control) {
29
+ control.markAsUntouched({ onlySelf: true });
30
+ control.markAsPristine({ onlySelf: true });
31
+ if (isFormGroup(control)) {
32
+ Object.keys(control.controls).forEach((controlName) => {
33
+ const currentControl = control.get(controlName);
34
+ if (currentControl) {
35
+ markAllControlsPristineAndUntouched(currentControl);
36
+ }
37
+ });
38
+ }
39
+ }
40
+ /**
41
+ * Transforms ValidationErrors object into an array of FlatErrors.
42
+ * @note It filters out the 'customErrors'
43
+ * @param errors Validation errors in a control
44
+ */
45
+ const getErrorList = (errors) => {
46
+ return Object.keys(errors)
47
+ .filter((errorKey) => errorKey !== 'customErrors')
48
+ .map((errorKey) => {
49
+ const errorValue = errors[errorKey];
50
+ return {
51
+ errorKey,
52
+ errorValue,
53
+ validationError: { [errorKey]: errorValue }
54
+ };
55
+ });
56
+ };
57
+ /**
58
+ * Gets a flat list of all the errors in the form and it's descendents
59
+ * @param form Form to be checked
60
+ */
61
+ export function getFlatControlErrors(form) {
62
+ /**
63
+ * Get a ControlFlatError of the control (or form) containing the name of the control, the validations errors and custom errors
64
+ * @param control the control to be analyzed
65
+ * @param controlName the name of the control. Optional since forms do not have names
66
+ */
67
+ const getControlErrors = (control, controlName) => {
68
+ return {
69
+ controlName,
70
+ customErrors: (control.errors && control.errors.customErrors) || null,
71
+ errors: control.errors ? getErrorList(control.errors) : []
72
+ };
73
+ };
74
+ /**
75
+ * Recursion to get all the flat errors from the control and its descendents
76
+ * @param control the control to be analyzed
77
+ * @param controlName the name of the control. Optional since forms do not have names
78
+ */
79
+ const recursiveControlErrors = (control, controlName) => {
80
+ const controlErrors = [getControlErrors(control, controlName)];
81
+ if (isFormGroup(control)) {
82
+ return Object.keys(control.controls).reduce((allErrors, childControlName) => {
83
+ const childName = controlName ? `${controlName}.${childControlName}` : childControlName;
84
+ return allErrors.concat(recursiveControlErrors(control.get(childControlName), `${childName}`));
85
+ }, controlErrors);
86
+ }
87
+ return controlErrors;
88
+ };
89
+ return recursiveControlErrors(form).filter((errors) => !!errors.customErrors || errors.errors.length > 0);
90
+ }
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb3JlL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVUE7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBQyxPQUF3QjtJQUNsRCxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDbkUsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSw4QkFBOEIsQ0FBQyxPQUF3QjtJQUNyRSxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDeEMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDekIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDcEQsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNoRCxJQUFJLGNBQWMsRUFBRSxDQUFDO2dCQUNuQiw4QkFBOEIsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNqRCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxtQ0FBbUMsQ0FBQyxPQUF3QjtJQUMxRSxPQUFPLENBQUMsZUFBZSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDNUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDekIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDcEQsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNoRCxJQUFJLGNBQWMsRUFBRSxDQUFDO2dCQUNuQixtQ0FBbUMsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUN0RCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFlBQVksR0FBRyxDQUFDLE1BQXdCLEVBQWUsRUFBRTtJQUM3RCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQ3ZCLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxLQUFLLGNBQWMsQ0FBQztTQUNqRCxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtRQUNoQixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEMsT0FBTztZQUNMLFFBQVE7WUFDUixVQUFVO1lBQ1YsZUFBZSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxVQUFVLEVBQUU7U0FDNUMsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFDLElBQXFCO0lBQ3hEOzs7O09BSUc7SUFDSCxNQUFNLGdCQUFnQixHQUFHLENBQUMsT0FBd0IsRUFBRSxXQUFvQixFQUFxQixFQUFFO1FBQzdGLE9BQU87WUFDTCxXQUFXO1lBQ1gsWUFBWSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUk7WUFDckUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDM0QsQ0FBQztJQUNKLENBQUMsQ0FBQztJQUVGOzs7O09BSUc7SUFDSCxNQUFNLHNCQUFzQixHQUFHLENBQUMsT0FBd0IsRUFBRSxXQUFvQixFQUF1QixFQUFFO1FBQ3JHLE1BQU0sYUFBYSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDL0QsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUN6QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFO2dCQUMxRSxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsV0FBVyxJQUFJLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO2dCQUN4RixPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQ3JCLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUUsRUFBRSxHQUFHLFNBQVMsRUFBRSxDQUFDLENBQ3ZFLENBQUM7WUFDSixDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDcEIsQ0FBQztRQUNELE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUMsQ0FBQztJQUVGLE9BQU8sc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM1RyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBGb3JtR3JvdXAsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIENvbnRyb2xGbGF0RXJyb3JzLFxuICBGbGF0RXJyb3IsXG59IGZyb20gJy4vZmxhdC1lcnJvcnMnO1xuXG4vKipcbiAqIENoZWNrcyBpZiBjb250cm9scyBpcyBhIEZvcm1Hcm91cFxuICogQHBhcmFtIGNvbnRyb2xcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRm9ybUdyb3VwKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IGNvbnRyb2wgaXMgRm9ybUdyb3VwIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChjb250cm9sLCAnY29udHJvbHMnKTtcbn1cblxuLyoqXG4gKiBNYXJrIHRoZSBjb250cm9scyBpbiB0aGUgZ2l2ZW4gZm9ybSBhcyB0b3VjaGVkIGFuZCBkaXJ0eVxuICogQHBhcmFtIGNvbnRyb2xcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hcmtBbGxDb250cm9sc0RpcnR5QW5kVG91Y2hlZChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgY29udHJvbC5tYXJrQXNEaXJ0eSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xuICBjb250cm9sLm1hcmtBc1RvdWNoZWQoeyBvbmx5U2VsZjogdHJ1ZSB9KTtcbiAgaWYgKGlzRm9ybUdyb3VwKGNvbnRyb2wpKSB7XG4gICAgT2JqZWN0LmtleXMoY29udHJvbC5jb250cm9scykuZm9yRWFjaCgoY29udHJvbE5hbWUpID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRDb250cm9sID0gY29udHJvbC5nZXQoY29udHJvbE5hbWUpO1xuICAgICAgaWYgKGN1cnJlbnRDb250cm9sKSB7XG4gICAgICAgIG1hcmtBbGxDb250cm9sc0RpcnR5QW5kVG91Y2hlZChjdXJyZW50Q29udHJvbCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBNYXJrIHRoZSBjb250cm9scyBpbiB0aGUgZ2l2ZW4gZm9ybSBhcyB1bnRvdWNoZWQgYW5kIHByaXN0aW5lXG4gKiBAcGFyYW0gY29udHJvbFxuICovXG5leHBvcnQgZnVuY3Rpb24gbWFya0FsbENvbnRyb2xzUHJpc3RpbmVBbmRVbnRvdWNoZWQoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XG4gIGNvbnRyb2wubWFya0FzVW50b3VjaGVkKHsgb25seVNlbGY6IHRydWUgfSk7XG4gIGNvbnRyb2wubWFya0FzUHJpc3RpbmUoeyBvbmx5U2VsZjogdHJ1ZSB9KTtcbiAgaWYgKGlzRm9ybUdyb3VwKGNvbnRyb2wpKSB7XG4gICAgT2JqZWN0LmtleXMoY29udHJvbC5jb250cm9scykuZm9yRWFjaCgoY29udHJvbE5hbWUpID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRDb250cm9sID0gY29udHJvbC5nZXQoY29udHJvbE5hbWUpO1xuICAgICAgaWYgKGN1cnJlbnRDb250cm9sKSB7XG4gICAgICAgIG1hcmtBbGxDb250cm9sc1ByaXN0aW5lQW5kVW50b3VjaGVkKGN1cnJlbnRDb250cm9sKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIFRyYW5zZm9ybXMgVmFsaWRhdGlvbkVycm9ycyBvYmplY3QgaW50byBhbiBhcnJheSBvZiBGbGF0RXJyb3JzLlxuICogQG5vdGUgSXQgZmlsdGVycyBvdXQgdGhlICdjdXN0b21FcnJvcnMnXG4gKiBAcGFyYW0gZXJyb3JzIFZhbGlkYXRpb24gZXJyb3JzIGluIGEgY29udHJvbFxuICovXG5jb25zdCBnZXRFcnJvckxpc3QgPSAoZXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzKTogRmxhdEVycm9yW10gPT4ge1xuICByZXR1cm4gT2JqZWN0LmtleXMoZXJyb3JzKVxuICAgIC5maWx0ZXIoKGVycm9yS2V5KSA9PiBlcnJvcktleSAhPT0gJ2N1c3RvbUVycm9ycycpXG4gICAgLm1hcCgoZXJyb3JLZXkpID0+IHtcbiAgICAgIGNvbnN0IGVycm9yVmFsdWUgPSBlcnJvcnNbZXJyb3JLZXldO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZXJyb3JLZXksXG4gICAgICAgIGVycm9yVmFsdWUsXG4gICAgICAgIHZhbGlkYXRpb25FcnJvcjogeyBbZXJyb3JLZXldOiBlcnJvclZhbHVlIH1cbiAgICAgIH07XG4gICAgfSk7XG59O1xuXG4vKipcbiAqIEdldHMgYSBmbGF0IGxpc3Qgb2YgYWxsIHRoZSBlcnJvcnMgaW4gdGhlIGZvcm0gYW5kIGl0J3MgZGVzY2VuZGVudHNcbiAqIEBwYXJhbSBmb3JtIEZvcm0gdG8gYmUgY2hlY2tlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmxhdENvbnRyb2xFcnJvcnMoZm9ybTogQWJzdHJhY3RDb250cm9sKSB7XG4gIC8qKlxuICAgKiBHZXQgYSBDb250cm9sRmxhdEVycm9yIG9mIHRoZSBjb250cm9sIChvciBmb3JtKSBjb250YWluaW5nIHRoZSBuYW1lIG9mIHRoZSBjb250cm9sLCB0aGUgdmFsaWRhdGlvbnMgZXJyb3JzIGFuZCBjdXN0b20gZXJyb3JzXG4gICAqIEBwYXJhbSBjb250cm9sIHRoZSBjb250cm9sIHRvIGJlIGFuYWx5emVkXG4gICAqIEBwYXJhbSBjb250cm9sTmFtZSB0aGUgbmFtZSBvZiB0aGUgY29udHJvbC4gT3B0aW9uYWwgc2luY2UgZm9ybXMgZG8gbm90IGhhdmUgbmFtZXNcbiAgICovXG4gIGNvbnN0IGdldENvbnRyb2xFcnJvcnMgPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sLCBjb250cm9sTmFtZT86IHN0cmluZyk6IENvbnRyb2xGbGF0RXJyb3JzID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgY29udHJvbE5hbWUsXG4gICAgICBjdXN0b21FcnJvcnM6IChjb250cm9sLmVycm9ycyAmJiBjb250cm9sLmVycm9ycy5jdXN0b21FcnJvcnMpIHx8IG51bGwsXG4gICAgICBlcnJvcnM6IGNvbnRyb2wuZXJyb3JzID8gZ2V0RXJyb3JMaXN0KGNvbnRyb2wuZXJyb3JzKSA6IFtdXG4gICAgfTtcbiAgfTtcblxuICAvKipcbiAgICogUmVjdXJzaW9uIHRvIGdldCBhbGwgdGhlIGZsYXQgZXJyb3JzIGZyb20gdGhlIGNvbnRyb2wgYW5kIGl0cyBkZXNjZW5kZW50c1xuICAgKiBAcGFyYW0gY29udHJvbCB0aGUgY29udHJvbCB0byBiZSBhbmFseXplZFxuICAgKiBAcGFyYW0gY29udHJvbE5hbWUgdGhlIG5hbWUgb2YgdGhlIGNvbnRyb2wuIE9wdGlvbmFsIHNpbmNlIGZvcm1zIGRvIG5vdCBoYXZlIG5hbWVzXG4gICAqL1xuICBjb25zdCByZWN1cnNpdmVDb250cm9sRXJyb3JzID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgY29udHJvbE5hbWU/OiBzdHJpbmcpOiBDb250cm9sRmxhdEVycm9yc1tdID0+IHtcbiAgICBjb25zdCBjb250cm9sRXJyb3JzID0gW2dldENvbnRyb2xFcnJvcnMoY29udHJvbCwgY29udHJvbE5hbWUpXTtcbiAgICBpZiAoaXNGb3JtR3JvdXAoY29udHJvbCkpIHtcbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyhjb250cm9sLmNvbnRyb2xzKS5yZWR1Y2UoKGFsbEVycm9ycywgY2hpbGRDb250cm9sTmFtZSkgPT4ge1xuICAgICAgICBjb25zdCBjaGlsZE5hbWUgPSBjb250cm9sTmFtZSA/IGAke2NvbnRyb2xOYW1lfS4ke2NoaWxkQ29udHJvbE5hbWV9YCA6IGNoaWxkQ29udHJvbE5hbWU7XG4gICAgICAgIHJldHVybiBhbGxFcnJvcnMuY29uY2F0KFxuICAgICAgICAgIHJlY3Vyc2l2ZUNvbnRyb2xFcnJvcnMoY29udHJvbC5nZXQoY2hpbGRDb250cm9sTmFtZSkhLCBgJHtjaGlsZE5hbWV9YClcbiAgICAgICAgKTtcbiAgICAgIH0sIGNvbnRyb2xFcnJvcnMpO1xuICAgIH1cbiAgICByZXR1cm4gY29udHJvbEVycm9ycztcbiAgfTtcblxuICByZXR1cm4gcmVjdXJzaXZlQ29udHJvbEVycm9ycyhmb3JtKS5maWx0ZXIoKGVycm9ycykgPT4gISFlcnJvcnMuY3VzdG9tRXJyb3JzIHx8IGVycm9ycy5lcnJvcnMubGVuZ3RoID4gMCk7XG59XG4iXX0=
@@ -0,0 +1,7 @@
1
+ export * from './custom-validation';
2
+ export * from './errors';
3
+ export * from './extended-validator';
4
+ export * from './flat-errors';
5
+ export * from './helpers';
6
+ export * from './submit';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2N1c3RvbS12YWxpZGF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vZXJyb3JzJztcbmV4cG9ydCAqIGZyb20gJy4vZXh0ZW5kZWQtdmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZmxhdC1lcnJvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9oZWxwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vc3VibWl0JztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvcmUvc3VibWl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIE9ic2VydmFibGUsXG59IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgdGhlIHN1Ym1pdHRhYmxlIGNvbXBvbmVudFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN1Ym1pdHRhYmxlIHtcbiAgLyoqXG4gICAqIEZ1bmN0aW9uIGNhbGwgb24gc3VibWl0IGFjdGlvblxuICAgKiBUaGlzIHdpbGwgY29tbWl0IGFuZCBzZW5kIHRoZSBpbmZvcm1hdGlvbiByZWxhdGl2ZSB0byB0aGUgY29tcG9uZW50IHRvIHRoZSBzZXJ2ZXJcbiAgICovXG4gIHN1Ym1pdDogKCkgPT4gT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAvKipcbiAgICogRm9ybSBncm91cCBvZiB0aGUgc3VibWl0dGFibGUgY29tcG9uZW50XG4gICAqL1xuICBmb3JtR3JvdXA6IEFic3RyYWN0Q29udHJvbDtcbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibzNyLWZvcm1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL28zci1mb3Jtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
@@ -0,0 +1,5 @@
1
+ export * from './annotations/index';
2
+ export * from './core/index';
3
+ export * from './stores/index';
4
+ export * from './validators/index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hbm5vdGF0aW9ucy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZXMvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi92YWxpZGF0b3JzL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,29 @@
1
+ import { createAction, props, } from '@ngrx/store';
2
+ /** StateDetailsActions */
3
+ const ACTION_RESET = '[FormErrorMessages] reset';
4
+ /** Entity Actions */
5
+ const ACTION_CLEAR_ENTITIES = '[FormErrorMessages] clear entities';
6
+ const ACTION_UPSERT_ENTITIES = '[FormErrorMessages] upsert entities';
7
+ const ACTION_SET_ENTITIES = '[FormErrorMessages] set entities';
8
+ const ACTION_REMOVE_ENTITY = '[FormErrorMessages] remove entities';
9
+ /**
10
+ * Action to remove an entity from the store
11
+ */
12
+ export const removeFormErrorMessagesEntity = createAction(ACTION_REMOVE_ENTITY, props());
13
+ /**
14
+ * Action to reset the whole state, by returning it to initial state.
15
+ */
16
+ export const resetFormErrorMessages = createAction(ACTION_RESET);
17
+ /**
18
+ * Clear all formErrorMessages and fill the store with the payload
19
+ */
20
+ export const setFormErrorMessagesEntities = createAction(ACTION_SET_ENTITIES, props());
21
+ /**
22
+ * Update formErrorMessages with known IDs, insert the new ones
23
+ */
24
+ export const upsertFormErrorMessagesEntities = createAction(ACTION_UPSERT_ENTITIES, props());
25
+ /**
26
+ * Clear only the entities, keeps the other attributes in the state
27
+ */
28
+ export const clearFormErrorMessagesEntities = createAction(ACTION_CLEAR_ENTITIES);
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvci1tZXNzYWdlcy5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0b3Jlcy9mb3JtLWVycm9yLW1lc3NhZ2VzL2Zvcm0tZXJyb3ItbWVzc2FnZXMuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsWUFBWSxFQUNaLEtBQUssR0FDTixNQUFNLGFBQWEsQ0FBQztBQVFyQiwwQkFBMEI7QUFDMUIsTUFBTSxZQUFZLEdBQUcsMkJBQTJCLENBQUM7QUFFakQscUJBQXFCO0FBQ3JCLE1BQU0scUJBQXFCLEdBQUcsb0NBQW9DLENBQUM7QUFDbkUsTUFBTSxzQkFBc0IsR0FBRyxxQ0FBcUMsQ0FBQztBQUNyRSxNQUFNLG1CQUFtQixHQUFHLGtDQUFrQyxDQUFDO0FBQy9ELE1BQU0sb0JBQW9CLEdBQUcscUNBQXFDLENBQUM7QUFRbkU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxZQUFZLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxFQUFrQyxDQUFDLENBQUM7QUFFekg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7QUFFakU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxFQUF1QyxDQUFDLENBQUM7QUFFNUg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxZQUFZLENBQUMsc0JBQXNCLEVBQUUsS0FBSyxFQUF1QyxDQUFDLENBQUM7QUFFbEk7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxZQUFZLENBQUMscUJBQXFCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGNyZWF0ZUFjdGlvbixcbiAgcHJvcHMsXG59IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIFNldEVudGl0aWVzQWN0aW9uUGF5bG9hZCxcbn0gZnJvbSAnQG8zci9jb3JlJztcbmltcG9ydCB7XG4gIEZvcm1FcnJvcixcbn0gZnJvbSAnLi4vLi4vY29yZS9pbmRleCc7XG5cbi8qKiBTdGF0ZURldGFpbHNBY3Rpb25zICovXG5jb25zdCBBQ1RJT05fUkVTRVQgPSAnW0Zvcm1FcnJvck1lc3NhZ2VzXSByZXNldCc7XG5cbi8qKiBFbnRpdHkgQWN0aW9ucyAqL1xuY29uc3QgQUNUSU9OX0NMRUFSX0VOVElUSUVTID0gJ1tGb3JtRXJyb3JNZXNzYWdlc10gY2xlYXIgZW50aXRpZXMnO1xuY29uc3QgQUNUSU9OX1VQU0VSVF9FTlRJVElFUyA9ICdbRm9ybUVycm9yTWVzc2FnZXNdIHVwc2VydCBlbnRpdGllcyc7XG5jb25zdCBBQ1RJT05fU0VUX0VOVElUSUVTID0gJ1tGb3JtRXJyb3JNZXNzYWdlc10gc2V0IGVudGl0aWVzJztcbmNvbnN0IEFDVElPTl9SRU1PVkVfRU5USVRZID0gJ1tGb3JtRXJyb3JNZXNzYWdlc10gcmVtb3ZlIGVudGl0aWVzJztcblxuLyoqIFRoZSBwYXlsb2FkIG9mIHJlbW92ZSBlbnRpdHkgKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVtb3ZlRm9ybUVycm9yTWVzc2FnZXNQYXlsb2FkIHtcbiAgLyoqIGlkIG9mIHRoZSBGb3JtRXJyb3JNZXNzYWdlcyB0byBiZSByZW1vdmVkICovXG4gIGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQWN0aW9uIHRvIHJlbW92ZSBhbiBlbnRpdHkgZnJvbSB0aGUgc3RvcmVcbiAqL1xuZXhwb3J0IGNvbnN0IHJlbW92ZUZvcm1FcnJvck1lc3NhZ2VzRW50aXR5ID0gY3JlYXRlQWN0aW9uKEFDVElPTl9SRU1PVkVfRU5USVRZLCBwcm9wczxSZW1vdmVGb3JtRXJyb3JNZXNzYWdlc1BheWxvYWQ+KCkpO1xuXG4vKipcbiAqIEFjdGlvbiB0byByZXNldCB0aGUgd2hvbGUgc3RhdGUsIGJ5IHJldHVybmluZyBpdCB0byBpbml0aWFsIHN0YXRlLlxuICovXG5leHBvcnQgY29uc3QgcmVzZXRGb3JtRXJyb3JNZXNzYWdlcyA9IGNyZWF0ZUFjdGlvbihBQ1RJT05fUkVTRVQpO1xuXG4vKipcbiAqIENsZWFyIGFsbCBmb3JtRXJyb3JNZXNzYWdlcyBhbmQgZmlsbCB0aGUgc3RvcmUgd2l0aCB0aGUgcGF5bG9hZFxuICovXG5leHBvcnQgY29uc3Qgc2V0Rm9ybUVycm9yTWVzc2FnZXNFbnRpdGllcyA9IGNyZWF0ZUFjdGlvbihBQ1RJT05fU0VUX0VOVElUSUVTLCBwcm9wczxTZXRFbnRpdGllc0FjdGlvblBheWxvYWQ8Rm9ybUVycm9yPj4oKSk7XG5cbi8qKlxuICogVXBkYXRlIGZvcm1FcnJvck1lc3NhZ2VzIHdpdGgga25vd24gSURzLCBpbnNlcnQgdGhlIG5ldyBvbmVzXG4gKi9cbmV4cG9ydCBjb25zdCB1cHNlcnRGb3JtRXJyb3JNZXNzYWdlc0VudGl0aWVzID0gY3JlYXRlQWN0aW9uKEFDVElPTl9VUFNFUlRfRU5USVRJRVMsIHByb3BzPFNldEVudGl0aWVzQWN0aW9uUGF5bG9hZDxGb3JtRXJyb3I+PigpKTtcblxuLyoqXG4gKiBDbGVhciBvbmx5IHRoZSBlbnRpdGllcywga2VlcHMgdGhlIG90aGVyIGF0dHJpYnV0ZXMgaW4gdGhlIHN0YXRlXG4gKi9cbmV4cG9ydCBjb25zdCBjbGVhckZvcm1FcnJvck1lc3NhZ2VzRW50aXRpZXMgPSBjcmVhdGVBY3Rpb24oQUNUSU9OX0NMRUFSX0VOVElUSUVTKTtcbiJdfQ==
@@ -0,0 +1,39 @@
1
+ import { InjectionToken, NgModule, } from '@angular/core';
2
+ import { StoreModule, } from '@ngrx/store';
3
+ import { formErrorMessagesReducer, } from './form-error-messages.reducer';
4
+ import { FORM_ERROR_MESSAGES_STORE_NAME, } from './form-error-messages.state';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@ngrx/store";
7
+ /** Token of the FormErrorMessages reducer */
8
+ export const FORM_ERROR_MESSAGES_REDUCER_TOKEN = new InjectionToken('Feature FormErrorMessages Reducer');
9
+ /** Provide default reducer for FormErrorMessages store */
10
+ export function getDefaultFormErrorMessagesReducer() {
11
+ return formErrorMessagesReducer;
12
+ }
13
+ export class FormErrorMessagesStoreModule {
14
+ static forRoot(reducerFactory) {
15
+ return {
16
+ ngModule: FormErrorMessagesStoreModule,
17
+ providers: [
18
+ { provide: FORM_ERROR_MESSAGES_REDUCER_TOKEN, useFactory: reducerFactory }
19
+ ]
20
+ };
21
+ }
22
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormErrorMessagesStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
23
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FormErrorMessagesStoreModule, imports: [i1.StoreFeatureModule] }); }
24
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormErrorMessagesStoreModule, providers: [
25
+ { provide: FORM_ERROR_MESSAGES_REDUCER_TOKEN, useFactory: getDefaultFormErrorMessagesReducer }
26
+ ], imports: [StoreModule.forFeature(FORM_ERROR_MESSAGES_STORE_NAME, FORM_ERROR_MESSAGES_REDUCER_TOKEN)] }); }
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormErrorMessagesStoreModule, decorators: [{
29
+ type: NgModule,
30
+ args: [{
31
+ imports: [
32
+ StoreModule.forFeature(FORM_ERROR_MESSAGES_STORE_NAME, FORM_ERROR_MESSAGES_REDUCER_TOKEN)
33
+ ],
34
+ providers: [
35
+ { provide: FORM_ERROR_MESSAGES_REDUCER_TOKEN, useFactory: getDefaultFormErrorMessagesReducer }
36
+ ]
37
+ }]
38
+ }] });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvci1tZXNzYWdlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3RvcmVzL2Zvcm0tZXJyb3ItbWVzc2FnZXMvZm9ybS1lcnJvci1tZXNzYWdlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGNBQWMsRUFFZCxRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdMLFdBQVcsR0FDWixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQ0wsd0JBQXdCLEdBQ3pCLE1BQU0sK0JBQStCLENBQUM7QUFDdkMsT0FBTyxFQUNMLDhCQUE4QixHQUUvQixNQUFNLDZCQUE2QixDQUFDOzs7QUFFckMsNkNBQTZDO0FBQzdDLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLElBQUksY0FBYyxDQUFnRCxtQ0FBbUMsQ0FBQyxDQUFDO0FBRXhKLDBEQUEwRDtBQUMxRCxNQUFNLFVBQVUsa0NBQWtDO0lBQ2hELE9BQU8sd0JBQXdCLENBQUM7QUFDbEMsQ0FBQztBQVVELE1BQU0sT0FBTyw0QkFBNEI7SUFDaEMsTUFBTSxDQUFDLE9BQU8sQ0FBbUMsY0FBOEM7UUFDcEcsT0FBTztZQUNMLFFBQVEsRUFBRSw0QkFBNEI7WUFDdEMsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUU7YUFDM0U7U0FDRixDQUFDO0lBQ0osQ0FBQztrSUFSVSw0QkFBNEI7bUlBQTVCLDRCQUE0QjttSUFBNUIsNEJBQTRCLGFBSjVCO1lBQ1QsRUFBRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsVUFBVSxFQUFFLGtDQUFrQyxFQUFFO1NBQy9GLFlBSkMsV0FBVyxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsRUFBRSxpQ0FBaUMsQ0FBQzs7NEZBTWhGLDRCQUE0QjtrQkFSeEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsV0FBVyxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsRUFBRSxpQ0FBaUMsQ0FBQztxQkFDMUY7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULEVBQUUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLFVBQVUsRUFBRSxrQ0FBa0MsRUFBRTtxQkFDL0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbmplY3Rpb25Ub2tlbixcbiAgTW9kdWxlV2l0aFByb3ZpZGVycyxcbiAgTmdNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWN0aW9uLFxuICBBY3Rpb25SZWR1Y2VyLFxuICBTdG9yZU1vZHVsZSxcbn0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgZm9ybUVycm9yTWVzc2FnZXNSZWR1Y2VyLFxufSBmcm9tICcuL2Zvcm0tZXJyb3ItbWVzc2FnZXMucmVkdWNlcic7XG5pbXBvcnQge1xuICBGT1JNX0VSUk9SX01FU1NBR0VTX1NUT1JFX05BTUUsXG4gIEZvcm1FcnJvck1lc3NhZ2VzU3RhdGUsXG59IGZyb20gJy4vZm9ybS1lcnJvci1tZXNzYWdlcy5zdGF0ZSc7XG5cbi8qKiBUb2tlbiBvZiB0aGUgRm9ybUVycm9yTWVzc2FnZXMgcmVkdWNlciAqL1xuZXhwb3J0IGNvbnN0IEZPUk1fRVJST1JfTUVTU0FHRVNfUkVEVUNFUl9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBY3Rpb25SZWR1Y2VyPEZvcm1FcnJvck1lc3NhZ2VzU3RhdGUsIEFjdGlvbj4+KCdGZWF0dXJlIEZvcm1FcnJvck1lc3NhZ2VzIFJlZHVjZXInKTtcblxuLyoqIFByb3ZpZGUgZGVmYXVsdCByZWR1Y2VyIGZvciBGb3JtRXJyb3JNZXNzYWdlcyBzdG9yZSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERlZmF1bHRGb3JtRXJyb3JNZXNzYWdlc1JlZHVjZXIoKSB7XG4gIHJldHVybiBmb3JtRXJyb3JNZXNzYWdlc1JlZHVjZXI7XG59XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBTdG9yZU1vZHVsZS5mb3JGZWF0dXJlKEZPUk1fRVJST1JfTUVTU0FHRVNfU1RPUkVfTkFNRSwgRk9STV9FUlJPUl9NRVNTQUdFU19SRURVQ0VSX1RPS0VOKVxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEZPUk1fRVJST1JfTUVTU0FHRVNfUkVEVUNFUl9UT0tFTiwgdXNlRmFjdG9yeTogZ2V0RGVmYXVsdEZvcm1FcnJvck1lc3NhZ2VzUmVkdWNlciB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRm9ybUVycm9yTWVzc2FnZXNTdG9yZU1vZHVsZSB7XG4gIHB1YmxpYyBzdGF0aWMgZm9yUm9vdDxUIGV4dGVuZHMgRm9ybUVycm9yTWVzc2FnZXNTdGF0ZT4ocmVkdWNlckZhY3Rvcnk6ICgpID0+IEFjdGlvblJlZHVjZXI8VCwgQWN0aW9uPik6IE1vZHVsZVdpdGhQcm92aWRlcnM8Rm9ybUVycm9yTWVzc2FnZXNTdG9yZU1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRm9ybUVycm9yTWVzc2FnZXNTdG9yZU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IEZPUk1fRVJST1JfTUVTU0FHRVNfUkVEVUNFUl9UT0tFTiwgdXNlRmFjdG9yeTogcmVkdWNlckZhY3RvcnkgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,28 @@
1
+ import { createEntityAdapter, } from '@ngrx/entity';
2
+ import { createReducer, on, } from '@ngrx/store';
3
+ import * as actions from './form-error-messages.actions';
4
+ /**
5
+ * FormErrorMessages Store adapter
6
+ */
7
+ export const formErrorMessagesAdapter = createEntityAdapter({
8
+ selectId: (model) => model.formId
9
+ });
10
+ /**
11
+ * FormErrorMessages Store initial value
12
+ */
13
+ export const formErrorMessagesInitialState = formErrorMessagesAdapter.getInitialState({});
14
+ /**
15
+ * List of basic actions for FormErrorMessages Store
16
+ */
17
+ export const formErrorMessagesReducerFeatures = [
18
+ on(actions.resetFormErrorMessages, () => formErrorMessagesInitialState),
19
+ on(actions.setFormErrorMessagesEntities, (state, payload) => formErrorMessagesAdapter.addMany(payload.entities, formErrorMessagesAdapter.removeAll(state))),
20
+ on(actions.upsertFormErrorMessagesEntities, (state, payload) => formErrorMessagesAdapter.upsertMany(payload.entities, state)),
21
+ on(actions.clearFormErrorMessagesEntities, (state) => formErrorMessagesAdapter.removeAll(state)),
22
+ on(actions.removeFormErrorMessagesEntity, (state, payload) => formErrorMessagesAdapter.removeOne(payload.id, state))
23
+ ];
24
+ /**
25
+ * FormErrorMessages Store reducer
26
+ */
27
+ export const formErrorMessagesReducer = createReducer(formErrorMessagesInitialState, ...formErrorMessagesReducerFeatures);
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvci1tZXNzYWdlcy5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0b3Jlcy9mb3JtLWVycm9yLW1lc3NhZ2VzL2Zvcm0tZXJyb3ItbWVzc2FnZXMucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsbUJBQW1CLEdBRXBCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFFTCxhQUFhLEVBQ2IsRUFBRSxHQUVILE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sS0FBSyxPQUFPLE1BQU0sK0JBQStCLENBQUM7QUFNekQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBa0MsbUJBQW1CLENBQWlCO0lBQ3pHLFFBQVEsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU07Q0FDbEMsQ0FBQyxDQUFDO0FBRUg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBMkIsd0JBQXdCLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBRWxIOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQTREO0lBQ3ZHLEVBQUUsQ0FBQyxPQUFPLENBQUMsc0JBQXNCLEVBQUUsR0FBRyxFQUFFLENBQUMsNkJBQTZCLENBQUM7SUFFdkUsRUFBRSxDQUFDLE9BQU8sQ0FBQyw0QkFBNEIsRUFBRSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBRTNKLEVBQUUsQ0FBQyxPQUFPLENBQUMsK0JBQStCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUU3SCxFQUFFLENBQUMsT0FBTyxDQUFDLDhCQUE4QixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFaEcsRUFBRSxDQUFDLE9BQU8sQ0FBQyw2QkFBNkIsRUFBRSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0NBQ3JILENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLGFBQWEsQ0FDbkQsNkJBQTZCLEVBQzdCLEdBQUcsZ0NBQWdDLENBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBjcmVhdGVFbnRpdHlBZGFwdGVyLFxuICBFbnRpdHlBZGFwdGVyLFxufSBmcm9tICdAbmdyeC9lbnRpdHknO1xuaW1wb3J0IHtcbiAgQWN0aW9uQ3JlYXRvcixcbiAgY3JlYXRlUmVkdWNlcixcbiAgb24sXG4gIFJlZHVjZXJUeXBlcyxcbn0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0ICogYXMgYWN0aW9ucyBmcm9tICcuL2Zvcm0tZXJyb3ItbWVzc2FnZXMuYWN0aW9ucyc7XG5pbXBvcnQge1xuICBGb3JtRXJyb3JNZXNzYWdlc1N0YXRlLFxuICBGb3JtRXJyb3JNb2RlbCxcbn0gZnJvbSAnLi9mb3JtLWVycm9yLW1lc3NhZ2VzLnN0YXRlJztcblxuLyoqXG4gKiBGb3JtRXJyb3JNZXNzYWdlcyBTdG9yZSBhZGFwdGVyXG4gKi9cbmV4cG9ydCBjb25zdCBmb3JtRXJyb3JNZXNzYWdlc0FkYXB0ZXI6IEVudGl0eUFkYXB0ZXI8Rm9ybUVycm9yTW9kZWw+ID0gY3JlYXRlRW50aXR5QWRhcHRlcjxGb3JtRXJyb3JNb2RlbD4oe1xuICBzZWxlY3RJZDogKG1vZGVsKSA9PiBtb2RlbC5mb3JtSWRcbn0pO1xuXG4vKipcbiAqIEZvcm1FcnJvck1lc3NhZ2VzIFN0b3JlIGluaXRpYWwgdmFsdWVcbiAqL1xuZXhwb3J0IGNvbnN0IGZvcm1FcnJvck1lc3NhZ2VzSW5pdGlhbFN0YXRlOiBGb3JtRXJyb3JNZXNzYWdlc1N0YXRlID0gZm9ybUVycm9yTWVzc2FnZXNBZGFwdGVyLmdldEluaXRpYWxTdGF0ZSh7fSk7XG5cbi8qKlxuICogIExpc3Qgb2YgYmFzaWMgYWN0aW9ucyBmb3IgRm9ybUVycm9yTWVzc2FnZXMgU3RvcmVcbiAqL1xuZXhwb3J0IGNvbnN0IGZvcm1FcnJvck1lc3NhZ2VzUmVkdWNlckZlYXR1cmVzOiBSZWR1Y2VyVHlwZXM8Rm9ybUVycm9yTWVzc2FnZXNTdGF0ZSwgQWN0aW9uQ3JlYXRvcltdPltdID0gW1xuICBvbihhY3Rpb25zLnJlc2V0Rm9ybUVycm9yTWVzc2FnZXMsICgpID0+IGZvcm1FcnJvck1lc3NhZ2VzSW5pdGlhbFN0YXRlKSxcblxuICBvbihhY3Rpb25zLnNldEZvcm1FcnJvck1lc3NhZ2VzRW50aXRpZXMsIChzdGF0ZSwgcGF5bG9hZCkgPT4gZm9ybUVycm9yTWVzc2FnZXNBZGFwdGVyLmFkZE1hbnkocGF5bG9hZC5lbnRpdGllcywgZm9ybUVycm9yTWVzc2FnZXNBZGFwdGVyLnJlbW92ZUFsbChzdGF0ZSkpKSxcblxuICBvbihhY3Rpb25zLnVwc2VydEZvcm1FcnJvck1lc3NhZ2VzRW50aXRpZXMsIChzdGF0ZSwgcGF5bG9hZCkgPT4gZm9ybUVycm9yTWVzc2FnZXNBZGFwdGVyLnVwc2VydE1hbnkocGF5bG9hZC5lbnRpdGllcywgc3RhdGUpKSxcblxuICBvbihhY3Rpb25zLmNsZWFyRm9ybUVycm9yTWVzc2FnZXNFbnRpdGllcywgKHN0YXRlKSA9PiBmb3JtRXJyb3JNZXNzYWdlc0FkYXB0ZXIucmVtb3ZlQWxsKHN0YXRlKSksXG5cbiAgb24oYWN0aW9ucy5yZW1vdmVGb3JtRXJyb3JNZXNzYWdlc0VudGl0eSwgKHN0YXRlLCBwYXlsb2FkKSA9PiBmb3JtRXJyb3JNZXNzYWdlc0FkYXB0ZXIucmVtb3ZlT25lKHBheWxvYWQuaWQsIHN0YXRlKSlcbl07XG5cbi8qKlxuICogRm9ybUVycm9yTWVzc2FnZXMgU3RvcmUgcmVkdWNlclxuICovXG5leHBvcnQgY29uc3QgZm9ybUVycm9yTWVzc2FnZXNSZWR1Y2VyID0gY3JlYXRlUmVkdWNlcihcbiAgZm9ybUVycm9yTWVzc2FnZXNJbml0aWFsU3RhdGUsXG4gIC4uLmZvcm1FcnJvck1lc3NhZ2VzUmVkdWNlckZlYXR1cmVzXG4pO1xuIl19
@@ -0,0 +1,19 @@
1
+ import { createFeatureSelector, createSelector, } from '@ngrx/store';
2
+ import { formErrorMessagesAdapter, } from './form-error-messages.reducer';
3
+ import { FORM_ERROR_MESSAGES_STORE_NAME, } from './form-error-messages.state';
4
+ const { selectIds, selectEntities, selectAll, selectTotal } = formErrorMessagesAdapter.getSelectors();
5
+ /** Select FormErrorMessages State */
6
+ export const selectFormErrorMessagesState = createFeatureSelector(FORM_ERROR_MESSAGES_STORE_NAME);
7
+ /** Select the array of FormErrorMessages ids */
8
+ export const selectFormErrorMessagesIds = createSelector(selectFormErrorMessagesState, selectIds);
9
+ /** Select the array of FormErrorMessages */
10
+ export const selectAllFormErrorMessages = createSelector(selectFormErrorMessagesState, selectAll);
11
+ /** Select the dictionary of FormErrorMessages entities */
12
+ export const selectFormErrorMessagesEntities = createSelector(selectFormErrorMessagesState, selectEntities);
13
+ /** Select the total FormErrorMessages count */
14
+ export const selectFormErrorMessagesTotal = createSelector(selectFormErrorMessagesState, selectTotal);
15
+ /** Select the array of all ElementErrors */
16
+ export const selectAllElementErrors = createSelector(selectAllFormErrorMessages, (formErrorMessages) => formErrorMessages ? formErrorMessages.reduce((elementErrors, formErrorMessage) => [...elementErrors, ...formErrorMessage.errors], []) : []);
17
+ /** Select the array of all ErrorMessageObjects */
18
+ export const selectAllErrorMessageObjects = createSelector(selectAllElementErrors, (elementErrors) => elementErrors ? elementErrors.reduce((errorMessageObjects, elementError) => [...errorMessageObjects, ...elementError.errorMessages], []) : []);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvci1tZXNzYWdlcy5zZWxlY3RvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3RvcmVzL2Zvcm0tZXJyb3ItbWVzc2FnZXMvZm9ybS1lcnJvci1tZXNzYWdlcy5zZWxlY3RvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixjQUFjLEdBQ2YsTUFBTSxhQUFhLENBQUM7QUFLckIsT0FBTyxFQUNMLHdCQUF3QixHQUN6QixNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFDTCw4QkFBOEIsR0FFL0IsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxNQUFNLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEdBQUcsd0JBQXdCLENBQUMsWUFBWSxFQUFFLENBQUM7QUFFdEcscUNBQXFDO0FBQ3JDLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLHFCQUFxQixDQUF5Qiw4QkFBOEIsQ0FBQyxDQUFDO0FBRTFILGdEQUFnRDtBQUNoRCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxjQUFjLENBQUMsNEJBQTRCLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFFbEcsNENBQTRDO0FBQzVDLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLGNBQWMsQ0FBQyw0QkFBNEIsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUVsRywwREFBMEQ7QUFDMUQsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsY0FBYyxDQUFDLDRCQUE0QixFQUFFLGNBQWMsQ0FBQyxDQUFDO0FBRTVHLCtDQUErQztBQUMvQyxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxjQUFjLENBQUMsNEJBQTRCLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFFdEcsNENBQTRDO0FBQzVDLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLGNBQWMsQ0FDbEQsMEJBQTBCLEVBQzFCLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxhQUE2QixFQUFFLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsYUFBYSxFQUFFLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDbEwsQ0FBQztBQUVGLGtEQUFrRDtBQUNsRCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxjQUFjLENBQ3hELHNCQUFzQixFQUN0QixDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsbUJBQXlDLEVBQUUsWUFBMEIsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLG1CQUFtQixFQUFFLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ3JNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBjcmVhdGVGZWF0dXJlU2VsZWN0b3IsXG4gIGNyZWF0ZVNlbGVjdG9yLFxufSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBFbGVtZW50RXJyb3IsXG4gIEVycm9yTWVzc2FnZU9iamVjdCxcbn0gZnJvbSAnLi4vLi4vY29yZS9pbmRleCc7XG5pbXBvcnQge1xuICBmb3JtRXJyb3JNZXNzYWdlc0FkYXB0ZXIsXG59IGZyb20gJy4vZm9ybS1lcnJvci1tZXNzYWdlcy5yZWR1Y2VyJztcbmltcG9ydCB7XG4gIEZPUk1fRVJST1JfTUVTU0FHRVNfU1RPUkVfTkFNRSxcbiAgRm9ybUVycm9yTWVzc2FnZXNTdGF0ZSxcbn0gZnJvbSAnLi9mb3JtLWVycm9yLW1lc3NhZ2VzLnN0YXRlJztcblxuY29uc3QgeyBzZWxlY3RJZHMsIHNlbGVjdEVudGl0aWVzLCBzZWxlY3RBbGwsIHNlbGVjdFRvdGFsIH0gPSBmb3JtRXJyb3JNZXNzYWdlc0FkYXB0ZXIuZ2V0U2VsZWN0b3JzKCk7XG5cbi8qKiBTZWxlY3QgRm9ybUVycm9yTWVzc2FnZXMgU3RhdGUgKi9cbmV4cG9ydCBjb25zdCBzZWxlY3RGb3JtRXJyb3JNZXNzYWdlc1N0YXRlID0gY3JlYXRlRmVhdHVyZVNlbGVjdG9yPEZvcm1FcnJvck1lc3NhZ2VzU3RhdGU+KEZPUk1fRVJST1JfTUVTU0FHRVNfU1RPUkVfTkFNRSk7XG5cbi8qKiBTZWxlY3QgdGhlIGFycmF5IG9mIEZvcm1FcnJvck1lc3NhZ2VzIGlkcyAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdEZvcm1FcnJvck1lc3NhZ2VzSWRzID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0Rm9ybUVycm9yTWVzc2FnZXNTdGF0ZSwgc2VsZWN0SWRzKTtcblxuLyoqIFNlbGVjdCB0aGUgYXJyYXkgb2YgRm9ybUVycm9yTWVzc2FnZXMgKi9cbmV4cG9ydCBjb25zdCBzZWxlY3RBbGxGb3JtRXJyb3JNZXNzYWdlcyA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdEZvcm1FcnJvck1lc3NhZ2VzU3RhdGUsIHNlbGVjdEFsbCk7XG5cbi8qKiBTZWxlY3QgdGhlIGRpY3Rpb25hcnkgb2YgRm9ybUVycm9yTWVzc2FnZXMgZW50aXRpZXMgKi9cbmV4cG9ydCBjb25zdCBzZWxlY3RGb3JtRXJyb3JNZXNzYWdlc0VudGl0aWVzID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0Rm9ybUVycm9yTWVzc2FnZXNTdGF0ZSwgc2VsZWN0RW50aXRpZXMpO1xuXG4vKiogU2VsZWN0IHRoZSB0b3RhbCBGb3JtRXJyb3JNZXNzYWdlcyBjb3VudCAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdEZvcm1FcnJvck1lc3NhZ2VzVG90YWwgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RGb3JtRXJyb3JNZXNzYWdlc1N0YXRlLCBzZWxlY3RUb3RhbCk7XG5cbi8qKiBTZWxlY3QgdGhlIGFycmF5IG9mIGFsbCBFbGVtZW50RXJyb3JzICovXG5leHBvcnQgY29uc3Qgc2VsZWN0QWxsRWxlbWVudEVycm9ycyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBzZWxlY3RBbGxGb3JtRXJyb3JNZXNzYWdlcyxcbiAgKGZvcm1FcnJvck1lc3NhZ2VzKSA9PiBmb3JtRXJyb3JNZXNzYWdlcyA/IGZvcm1FcnJvck1lc3NhZ2VzLnJlZHVjZSgoZWxlbWVudEVycm9yczogRWxlbWVudEVycm9yW10sIGZvcm1FcnJvck1lc3NhZ2UpID0+IFsuLi5lbGVtZW50RXJyb3JzLCAuLi5mb3JtRXJyb3JNZXNzYWdlLmVycm9yc10sIFtdKSA6IFtdXG4pO1xuXG4vKiogU2VsZWN0IHRoZSBhcnJheSBvZiBhbGwgRXJyb3JNZXNzYWdlT2JqZWN0cyAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdEFsbEVycm9yTWVzc2FnZU9iamVjdHMgPSBjcmVhdGVTZWxlY3RvcihcbiAgc2VsZWN0QWxsRWxlbWVudEVycm9ycyxcbiAgKGVsZW1lbnRFcnJvcnMpID0+IGVsZW1lbnRFcnJvcnMgPyBlbGVtZW50RXJyb3JzLnJlZHVjZSgoZXJyb3JNZXNzYWdlT2JqZWN0czogRXJyb3JNZXNzYWdlT2JqZWN0W10sIGVsZW1lbnRFcnJvcjogRWxlbWVudEVycm9yKSA9PiBbLi4uZXJyb3JNZXNzYWdlT2JqZWN0cywgLi4uZWxlbWVudEVycm9yLmVycm9yTWVzc2FnZXNdLCBbXSkgOiBbXVxuKTtcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Name of the FormError Store
3
+ */
4
+ export const FORM_ERROR_MESSAGES_STORE_NAME = 'formErrorMessages';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvci1tZXNzYWdlcy5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdG9yZXMvZm9ybS1lcnJvci1tZXNzYWdlcy9mb3JtLWVycm9yLW1lc3NhZ2VzLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1CQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRW50aXR5U3RhdGUsXG59IGZyb20gJ0BuZ3J4L2VudGl0eSc7XG5pbXBvcnQge1xuICBGb3JtRXJyb3IsXG59IGZyb20gJy4uLy4uL2NvcmUvaW5kZXgnO1xuXG4vKipcbiAqIEZvcm1FcnJvciBtb2RlbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1FcnJvck1vZGVsIGV4dGVuZHMgRm9ybUVycm9yIHtcblxufVxuXG4vKipcbiAqIEZvcm1FcnJvciBzdG9yZSBzdGF0ZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1FcnJvck1lc3NhZ2VzU3RhdGUgZXh0ZW5kcyBFbnRpdHlTdGF0ZTxGb3JtRXJyb3JNb2RlbD4ge31cblxuLyoqXG4gKiBOYW1lIG9mIHRoZSBGb3JtRXJyb3IgU3RvcmVcbiAqL1xuZXhwb3J0IGNvbnN0IEZPUk1fRVJST1JfTUVTU0FHRVNfU1RPUkVfTkFNRSA9ICdmb3JtRXJyb3JNZXNzYWdlcyc7XG5cbi8qKlxuICogRm9ybUVycm9yIFN0b3JlIEludGVyZmFjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1FcnJvck1lc3NhZ2VzU3RvcmUge1xuICAvKiogRm9ybUVycm9yTWVzc2FnZXMgc3RhdGUgKi9cbiAgW0ZPUk1fRVJST1JfTUVTU0FHRVNfU1RPUkVfTkFNRV06IEZvcm1FcnJvck1lc3NhZ2VzU3RhdGU7XG59XG4iXX0=
@@ -0,0 +1,6 @@
1
+ export * from './form-error-messages.actions';
2
+ export * from './form-error-messages.module';
3
+ export * from './form-error-messages.reducer';
4
+ export * from './form-error-messages.selectors';
5
+ export * from './form-error-messages.state';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3RvcmVzL2Zvcm0tZXJyb3ItbWVzc2FnZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mb3JtLWVycm9yLW1lc3NhZ2VzLmFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWVycm9yLW1lc3NhZ2VzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tZXJyb3ItbWVzc2FnZXMucmVkdWNlcic7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tZXJyb3ItbWVzc2FnZXMuc2VsZWN0b3JzJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1lcnJvci1tZXNzYWdlcy5zdGF0ZSc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './form-error-messages/index';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RvcmVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Zvcm0tZXJyb3ItbWVzc2FnZXMvaW5kZXgnO1xuIl19
@@ -0,0 +1,19 @@
1
+ import { CommonModule, } from '@angular/common';
2
+ import { NgModule, } from '@angular/core';
3
+ import { MaxDateValidator, } from './max-date.directive';
4
+ import { MinDateValidator, } from './min-date.directive';
5
+ import * as i0 from "@angular/core";
6
+ export class DateValidatorsModule {
7
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateValidatorsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DateValidatorsModule, declarations: [MaxDateValidator, MinDateValidator], imports: [CommonModule], exports: [MaxDateValidator, MinDateValidator] }); }
9
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateValidatorsModule, imports: [CommonModule] }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateValidatorsModule, decorators: [{
12
+ type: NgModule,
13
+ args: [{
14
+ imports: [CommonModule],
15
+ declarations: [MaxDateValidator, MinDateValidator],
16
+ exports: [MaxDateValidator, MinDateValidator]
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS12YWxpZGF0b3JzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy92YWxpZGF0b3JzL2RhdGUvZGF0ZS12YWxpZGF0b3JzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsWUFBWSxHQUNiLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUNMLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsZ0JBQWdCLEdBQ2pCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUNMLGdCQUFnQixHQUNqQixNQUFNLHNCQUFzQixDQUFDOztBQU85QixNQUFNLE9BQU8sb0JBQW9CO2tJQUFwQixvQkFBb0I7bUlBQXBCLG9CQUFvQixpQkFIaEIsZ0JBQWdCLEVBQUUsZ0JBQWdCLGFBRHZDLFlBQVksYUFFWixnQkFBZ0IsRUFBRSxnQkFBZ0I7bUlBRWpDLG9CQUFvQixZQUpyQixZQUFZOzs0RkFJWCxvQkFBb0I7a0JBTGhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQztvQkFDbEQsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUM7aUJBQzlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tbW9uTW9kdWxlLFxufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgTmdNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgTWF4RGF0ZVZhbGlkYXRvcixcbn0gZnJvbSAnLi9tYXgtZGF0ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgTWluRGF0ZVZhbGlkYXRvcixcbn0gZnJvbSAnLi9taW4tZGF0ZS5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbTWF4RGF0ZVZhbGlkYXRvciwgTWluRGF0ZVZhbGlkYXRvcl0sXG4gIGV4cG9ydHM6IFtNYXhEYXRlVmFsaWRhdG9yLCBNaW5EYXRlVmFsaWRhdG9yXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRlVmFsaWRhdG9yc01vZHVsZSB7fVxuIl19
@@ -0,0 +1,4 @@
1
+ export * from './date-validators.module';
2
+ export * from './max-date.directive';
3
+ export * from './min-date.directive';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdmFsaWRhdG9ycy9kYXRlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kYXRlLXZhbGlkYXRvcnMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbWF4LWRhdGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbWluLWRhdGUuZGlyZWN0aXZlJztcbiJdfQ==
@@ -0,0 +1,74 @@
1
+ import { utils, } from '@ama-sdk/core';
2
+ import { Directive, forwardRef, Input, } from '@angular/core';
3
+ import { NG_VALIDATORS, } from '@angular/forms';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * A directive which installs the `MaxDateValidator` for any `formControlName,
7
+ * `formControl`,
8
+ * or control with `ngModel` that also has a `maxdate` attribute.
9
+ */
10
+ export class MaxDateValidator {
11
+ constructor() {
12
+ /** Maximum date to compare to */
13
+ this.maxdate = null;
14
+ this.validator = (_a) => null;
15
+ this.onChange = () => { };
16
+ }
17
+ createValidator() {
18
+ this.validator = MaxDateValidator.maxDate(this.maxdate);
19
+ }
20
+ /** @inheritDoc */
21
+ ngOnChanges(changes) {
22
+ if ('maxdate' in changes) {
23
+ this.createValidator();
24
+ if (this.onChange) {
25
+ this.onChange();
26
+ }
27
+ }
28
+ }
29
+ /** @inheritDoc */
30
+ validate(c) {
31
+ return this.maxdate == null ? null : this.validator(c);
32
+ }
33
+ /** @inheritDoc */
34
+ registerOnValidatorChange(fn) {
35
+ this.onChange = fn;
36
+ }
37
+ /**
38
+ * Maximum Date validator
39
+ * @param maxDate Maximum date to compare to
40
+ */
41
+ static maxDate(maxDate) {
42
+ const result = (control) => {
43
+ if (control.value instanceof utils.Date) {
44
+ return maxDate && control.value.getTime() > maxDate.getTime() ? { maxdate: { requiredDate: maxDate, actualDate: control.value } } : null;
45
+ }
46
+ return null;
47
+ };
48
+ return result;
49
+ }
50
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MaxDateValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
51
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MaxDateValidator, selector: "[maxdate][formControlName],[maxdate][formControl],[maxdate][ngModel]", inputs: { maxdate: "maxdate" }, providers: [
52
+ {
53
+ provide: NG_VALIDATORS,
54
+ useExisting: forwardRef((() => MaxDateValidator)),
55
+ multi: true
56
+ }
57
+ ], usesOnChanges: true, ngImport: i0 }); }
58
+ }
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MaxDateValidator, decorators: [{
60
+ type: Directive,
61
+ args: [{
62
+ selector: '[maxdate][formControlName],[maxdate][formControl],[maxdate][ngModel]',
63
+ providers: [
64
+ {
65
+ provide: NG_VALIDATORS,
66
+ useExisting: forwardRef((() => MaxDateValidator)),
67
+ multi: true
68
+ }
69
+ ]
70
+ }]
71
+ }], propDecorators: { maxdate: [{
72
+ type: Input
73
+ }] } });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF4LWRhdGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3ZhbGlkYXRvcnMvZGF0ZS9tYXgtZGF0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEdBR04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLGFBQWEsR0FJZCxNQUFNLGdCQUFnQixDQUFDOztBQUV4Qjs7OztHQUlHO0FBV0gsTUFBTSxPQUFPLGdCQUFnQjtJQVY3QjtRQVdFLGlDQUFpQztRQUNqQixZQUFPLEdBQXNCLElBQUksQ0FBQztRQUUxQyxjQUFTLEdBQWdCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFDdEMsYUFBUSxHQUFlLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztLQTBDekM7SUF4Q1MsZUFBZTtRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELGtCQUFrQjtJQUNYLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLFNBQVMsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFFdkIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDWCxRQUFRLENBQUMsQ0FBa0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxrQkFBa0I7SUFDWCx5QkFBeUIsQ0FBQyxFQUFjO1FBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQTBCO1FBQzlDLE1BQU0sTUFBTSxHQUFHLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtZQUNuRSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFlBQVksS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN4QyxPQUFPLE9BQU8sSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzNJLENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztRQUVGLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7a0lBOUNVLGdCQUFnQjtzSEFBaEIsZ0JBQWdCLCtIQVJoQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixFQUFDO2dCQUMvQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Y7OzRGQUVVLGdCQUFnQjtrQkFWNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0VBQXNFO29CQUNoRixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLEVBQUMsR0FBRyxFQUFFLGlCQUFpQixFQUFDOzRCQUMvQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjs4QkFHaUIsT0FBTztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHV0aWxzLFxufSBmcm9tICdAYW1hLXNkay9jb3JlJztcbmltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvcixcbiAgVmFsaWRhdG9yRm4sXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiBBIGRpcmVjdGl2ZSB3aGljaCBpbnN0YWxscyB0aGUgYE1heERhdGVWYWxpZGF0b3JgIGZvciBhbnkgYGZvcm1Db250cm9sTmFtZSxcbiAqIGBmb3JtQ29udHJvbGAsXG4gKiBvciBjb250cm9sIHdpdGggYG5nTW9kZWxgIHRoYXQgYWxzbyBoYXMgYSBgbWF4ZGF0ZWAgYXR0cmlidXRlLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbWF4ZGF0ZV1bZm9ybUNvbnRyb2xOYW1lXSxbbWF4ZGF0ZV1bZm9ybUNvbnRyb2xdLFttYXhkYXRlXVtuZ01vZGVsXScsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBNYXhEYXRlVmFsaWRhdG9yKSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE1heERhdGVWYWxpZGF0b3IgaW1wbGVtZW50cyBWYWxpZGF0b3IsIE9uQ2hhbmdlcyB7XG4gIC8qKiBNYXhpbXVtIGRhdGUgdG8gY29tcGFyZSB0byAqL1xuICBASW5wdXQoKSBwdWJsaWMgbWF4ZGF0ZTogdXRpbHMuRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgdmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9IChfYSkgPT4gbnVsbDtcbiAgcHJpdmF0ZSBvbkNoYW5nZTogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gIHByaXZhdGUgY3JlYXRlVmFsaWRhdG9yKCk6IHZvaWQge1xuICAgIHRoaXMudmFsaWRhdG9yID0gTWF4RGF0ZVZhbGlkYXRvci5tYXhEYXRlKHRoaXMubWF4ZGF0ZSk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoJ21heGRhdGUnIGluIGNoYW5nZXMpIHtcbiAgICAgIHRoaXMuY3JlYXRlVmFsaWRhdG9yKCk7XG5cbiAgICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIHZhbGlkYXRlKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5tYXhkYXRlID09IG51bGwgPyBudWxsIDogdGhpcy52YWxpZGF0b3IoYyk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICAvKipcbiAgICogTWF4aW11bSBEYXRlIHZhbGlkYXRvclxuICAgKiBAcGFyYW0gbWF4RGF0ZSBNYXhpbXVtIGRhdGUgdG8gY29tcGFyZSB0b1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBtYXhEYXRlKG1heERhdGU6IHV0aWxzLkRhdGUgfCBudWxsKTogVmFsaWRhdG9yRm4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICBpZiAoY29udHJvbC52YWx1ZSBpbnN0YW5jZW9mIHV0aWxzLkRhdGUpIHtcbiAgICAgICAgcmV0dXJuIG1heERhdGUgJiYgY29udHJvbC52YWx1ZS5nZXRUaW1lKCkgPiBtYXhEYXRlLmdldFRpbWUoKSA/IHsgbWF4ZGF0ZTogeyByZXF1aXJlZERhdGU6IG1heERhdGUsIGFjdHVhbERhdGU6IGNvbnRyb2wudmFsdWUgfSB9IDogbnVsbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,74 @@
1
+ import { utils, } from '@ama-sdk/core';
2
+ import { Directive, forwardRef, Input, } from '@angular/core';
3
+ import { NG_VALIDATORS, } from '@angular/forms';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * A directive which installs the `MinDateValidator` for any `formControlName,
7
+ * `formControl`,
8
+ * or control with `ngModel` that also has a `mindate` attribute.
9
+ */
10
+ export class MinDateValidator {
11
+ constructor() {
12
+ /** Minimum date to compare to */
13
+ this.mindate = null;
14
+ this.validator = (_a) => null;
15
+ this.onChange = () => { };
16
+ }
17
+ createValidator() {
18
+ this.validator = MinDateValidator.minDate(this.mindate);
19
+ }
20
+ /** @inheritDoc */
21
+ ngOnChanges(changes) {
22
+ if ('mindate' in changes) {
23
+ this.createValidator();
24
+ if (this.onChange) {
25
+ this.onChange();
26
+ }
27
+ }
28
+ }
29
+ /** @inheritDoc */
30
+ validate(c) {
31
+ return this.mindate == null ? null : this.validator(c);
32
+ }
33
+ /** @inheritDoc */
34
+ registerOnValidatorChange(fn) {
35
+ this.onChange = fn;
36
+ }
37
+ /**
38
+ * Minimum Date validator
39
+ * @param minDate Minimum date to compare to
40
+ */
41
+ static minDate(minDate) {
42
+ const result = (control) => {
43
+ if (control.value instanceof utils.Date) {
44
+ return minDate && control.value.getTime() < minDate.getTime() ? { mindate: { requiredDate: minDate, actualDate: control.value } } : null;
45
+ }
46
+ return null;
47
+ };
48
+ return result;
49
+ }
50
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MinDateValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
51
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MinDateValidator, selector: "[mindate][formControlName],[mindate][formControl],[mindate][ngModel]", inputs: { mindate: "mindate" }, providers: [
52
+ {
53
+ provide: NG_VALIDATORS,
54
+ useExisting: forwardRef((() => MinDateValidator)),
55
+ multi: true
56
+ }
57
+ ], usesOnChanges: true, ngImport: i0 }); }
58
+ }
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MinDateValidator, decorators: [{
60
+ type: Directive,
61
+ args: [{
62
+ selector: '[mindate][formControlName],[mindate][formControl],[mindate][ngModel]',
63
+ providers: [
64
+ {
65
+ provide: NG_VALIDATORS,
66
+ useExisting: forwardRef((() => MinDateValidator)),
67
+ multi: true
68
+ }
69
+ ]
70
+ }]
71
+ }], propDecorators: { mindate: [{
72
+ type: Input
73
+ }] } });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluLWRhdGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3ZhbGlkYXRvcnMvZGF0ZS9taW4tZGF0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEdBR04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLGFBQWEsR0FJZCxNQUFNLGdCQUFnQixDQUFDOztBQUV4Qjs7OztHQUlHO0FBV0gsTUFBTSxPQUFPLGdCQUFnQjtJQVY3QjtRQVdFLGlDQUFpQztRQUNqQixZQUFPLEdBQXNCLElBQUksQ0FBQztRQUUxQyxjQUFTLEdBQWdCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFDdEMsYUFBUSxHQUFlLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztLQTBDekM7SUF4Q1MsZUFBZTtRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELGtCQUFrQjtJQUNYLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLFNBQVMsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFFdkIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDWCxRQUFRLENBQUMsQ0FBa0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxrQkFBa0I7SUFDWCx5QkFBeUIsQ0FBQyxFQUFjO1FBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQTBCO1FBQzlDLE1BQU0sTUFBTSxHQUFHLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtZQUNuRSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFlBQVksS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN4QyxPQUFPLE9BQU8sSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzNJLENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztRQUVGLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7a0lBOUNVLGdCQUFnQjtzSEFBaEIsZ0JBQWdCLCtIQVJoQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixFQUFDO2dCQUMvQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Y7OzRGQUVVLGdCQUFnQjtrQkFWNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0VBQXNFO29CQUNoRixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLEVBQUMsR0FBRyxFQUFFLGlCQUFpQixFQUFDOzRCQUMvQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjs4QkFHaUIsT0FBTztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHV0aWxzLFxufSBmcm9tICdAYW1hLXNkay9jb3JlJztcbmltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvcixcbiAgVmFsaWRhdG9yRm4sXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiBBIGRpcmVjdGl2ZSB3aGljaCBpbnN0YWxscyB0aGUgYE1pbkRhdGVWYWxpZGF0b3JgIGZvciBhbnkgYGZvcm1Db250cm9sTmFtZSxcbiAqIGBmb3JtQ29udHJvbGAsXG4gKiBvciBjb250cm9sIHdpdGggYG5nTW9kZWxgIHRoYXQgYWxzbyBoYXMgYSBgbWluZGF0ZWAgYXR0cmlidXRlLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbWluZGF0ZV1bZm9ybUNvbnRyb2xOYW1lXSxbbWluZGF0ZV1bZm9ybUNvbnRyb2xdLFttaW5kYXRlXVtuZ01vZGVsXScsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBNaW5EYXRlVmFsaWRhdG9yKSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE1pbkRhdGVWYWxpZGF0b3IgaW1wbGVtZW50cyBWYWxpZGF0b3IsIE9uQ2hhbmdlcyB7XG4gIC8qKiBNaW5pbXVtIGRhdGUgdG8gY29tcGFyZSB0byAqL1xuICBASW5wdXQoKSBwdWJsaWMgbWluZGF0ZTogdXRpbHMuRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgdmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9IChfYSkgPT4gbnVsbDtcbiAgcHJpdmF0ZSBvbkNoYW5nZTogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gIHByaXZhdGUgY3JlYXRlVmFsaWRhdG9yKCk6IHZvaWQge1xuICAgIHRoaXMudmFsaWRhdG9yID0gTWluRGF0ZVZhbGlkYXRvci5taW5EYXRlKHRoaXMubWluZGF0ZSk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoJ21pbmRhdGUnIGluIGNoYW5nZXMpIHtcbiAgICAgIHRoaXMuY3JlYXRlVmFsaWRhdG9yKCk7XG5cbiAgICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIHZhbGlkYXRlKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5taW5kYXRlID09IG51bGwgPyBudWxsIDogdGhpcy52YWxpZGF0b3IoYyk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICAvKipcbiAgICogTWluaW11bSBEYXRlIHZhbGlkYXRvclxuICAgKiBAcGFyYW0gbWluRGF0ZSBNaW5pbXVtIGRhdGUgdG8gY29tcGFyZSB0b1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBtaW5EYXRlKG1pbkRhdGU6IHV0aWxzLkRhdGUgfCBudWxsKTogVmFsaWRhdG9yRm4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICBpZiAoY29udHJvbC52YWx1ZSBpbnN0YW5jZW9mIHV0aWxzLkRhdGUpIHtcbiAgICAgICAgcmV0dXJuIG1pbkRhdGUgJiYgY29udHJvbC52YWx1ZS5nZXRUaW1lKCkgPCBtaW5EYXRlLmdldFRpbWUoKSA/IHsgbWluZGF0ZTogeyByZXF1aXJlZERhdGU6IG1pbkRhdGUsIGFjdHVhbERhdGU6IGNvbnRyb2wudmFsdWUgfSB9IDogbnVsbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './date/index';
2
+ export * from './number/index';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdmFsaWRhdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kYXRlL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbnVtYmVyL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from './max.directive';
2
+ export * from './min.directive';
3
+ export * from './number-validators.module';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdmFsaWRhdG9ycy9udW1iZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21heC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9taW4uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbnVtYmVyLXZhbGlkYXRvcnMubW9kdWxlJztcbiJdfQ==
@@ -0,0 +1,63 @@
1
+ import { Directive, forwardRef, Input, } from '@angular/core';
2
+ import { NG_VALIDATORS, Validators, } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * A directive which installs the `MaxValidator` for any `formControlName,
6
+ * `formControl`,
7
+ * or control with `ngModel` that also has a `max` attribute.
8
+ */
9
+ export class MaxValidator {
10
+ constructor() {
11
+ /** Maximum date to compare to */
12
+ this.max = null;
13
+ this.validator = (_a) => null;
14
+ this.onChange = () => { };
15
+ }
16
+ createValidator() {
17
+ if (this.max !== null) {
18
+ this.validator = Validators.max(+this.max);
19
+ }
20
+ }
21
+ /** @inheritDoc */
22
+ ngOnChanges(changes) {
23
+ if ('max' in changes) {
24
+ this.createValidator();
25
+ if (this.onChange) {
26
+ this.onChange();
27
+ }
28
+ }
29
+ }
30
+ /** @inheritDoc */
31
+ validate(c) {
32
+ return this.max == null ? null : this.validator(c);
33
+ }
34
+ /** @inheritDoc */
35
+ registerOnValidatorChange(fn) {
36
+ this.onChange = fn;
37
+ }
38
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MaxValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
39
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MaxValidator, selector: "[max][formControlName],[max][formControl],[max][ngModel]", inputs: { max: "max" }, host: { properties: { "attr.max": "max ? max : null" } }, providers: [
40
+ {
41
+ provide: NG_VALIDATORS,
42
+ useExisting: forwardRef((() => MaxValidator)),
43
+ multi: true
44
+ }
45
+ ], usesOnChanges: true, ngImport: i0 }); }
46
+ }
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MaxValidator, decorators: [{
48
+ type: Directive,
49
+ args: [{
50
+ selector: '[max][formControlName],[max][formControl],[max][ngModel]',
51
+ providers: [
52
+ {
53
+ provide: NG_VALIDATORS,
54
+ useExisting: forwardRef((() => MaxValidator)),
55
+ multi: true
56
+ }
57
+ ],
58
+ host: { '[attr.max]': 'max ? max : null' }
59
+ }]
60
+ }], propDecorators: { max: [{
61
+ type: Input
62
+ }] } });
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF4LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy92YWxpZGF0b3JzL251bWJlci9tYXguZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsYUFBYSxFQUliLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDOztBQUV4Qjs7OztHQUlHO0FBWUgsTUFBTSxPQUFPLFlBQVk7SUFYekI7UUFZRSxpQ0FBaUM7UUFDakIsUUFBRyxHQUEyQixJQUFJLENBQUM7UUFFM0MsY0FBUyxHQUFnQixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDO1FBQ3RDLGFBQVEsR0FBZSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7S0E0QnpDO0lBMUJTLGVBQWU7UUFDckIsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QyxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtJQUNYLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLEtBQUssSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFFdkIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDWCxRQUFRLENBQUMsQ0FBa0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxrQkFBa0I7SUFDWCx5QkFBeUIsQ0FBQyxFQUFjO1FBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7a0lBaENVLFlBQVk7c0hBQVosWUFBWSxxS0FUWjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksRUFBQztnQkFDM0MsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGOzs0RkFHVSxZQUFZO2tCQVh4QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwREFBMEQ7b0JBQ3BFLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsYUFBYSxFQUFDOzRCQUMzQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtvQkFDRCxJQUFJLEVBQUUsRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUU7aUJBQzNDOzhCQUdpQixHQUFHO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgTkdfVkFMSURBVE9SUyxcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgVmFsaWRhdG9yLFxuICBWYWxpZGF0b3JGbixcbiAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKipcbiAqIEEgZGlyZWN0aXZlIHdoaWNoIGluc3RhbGxzIHRoZSBgTWF4VmFsaWRhdG9yYCBmb3IgYW55IGBmb3JtQ29udHJvbE5hbWUsXG4gKiBgZm9ybUNvbnRyb2xgLFxuICogb3IgY29udHJvbCB3aXRoIGBuZ01vZGVsYCB0aGF0IGFsc28gaGFzIGEgYG1heGAgYXR0cmlidXRlLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbWF4XVtmb3JtQ29udHJvbE5hbWVdLFttYXhdW2Zvcm1Db250cm9sXSxbbWF4XVtuZ01vZGVsXScsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBNYXhWYWxpZGF0b3IpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF0sXG4gIGhvc3Q6IHsgJ1thdHRyLm1heF0nOiAnbWF4ID8gbWF4IDogbnVsbCcgfVxufSlcbmV4cG9ydCBjbGFzcyBNYXhWYWxpZGF0b3IgaW1wbGVtZW50cyBWYWxpZGF0b3IsIE9uQ2hhbmdlcyB7XG4gIC8qKiBNYXhpbXVtIGRhdGUgdG8gY29tcGFyZSB0byAqL1xuICBASW5wdXQoKSBwdWJsaWMgbWF4OiBzdHJpbmcgfCBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIHZhbGlkYXRvcjogVmFsaWRhdG9yRm4gPSAoX2EpID0+IG51bGw7XG4gIHByaXZhdGUgb25DaGFuZ2U6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICBwcml2YXRlIGNyZWF0ZVZhbGlkYXRvcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tYXggIT09IG51bGwpIHtcbiAgICAgIHRoaXMudmFsaWRhdG9yID0gVmFsaWRhdG9ycy5tYXgoK3RoaXMubWF4KTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoJ21heCcgaW4gY2hhbmdlcykge1xuICAgICAgdGhpcy5jcmVhdGVWYWxpZGF0b3IoKTtcblxuICAgICAgaWYgKHRoaXMub25DaGFuZ2UpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgdmFsaWRhdGUoYzogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLm1heCA9PSBudWxsID8gbnVsbCA6IHRoaXMudmFsaWRhdG9yKGMpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,63 @@
1
+ import { Directive, forwardRef, Input, } from '@angular/core';
2
+ import { NG_VALIDATORS, Validators, } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * A directive which installs the `MinValidator` for any `formControlName,
6
+ * `formControl`,
7
+ * or control with `ngModel` that also has a `min` attribute.
8
+ */
9
+ export class MinValidator {
10
+ constructor() {
11
+ /** Minimum date to compare to */
12
+ this.min = null;
13
+ this.validator = (_a) => null;
14
+ this.onChange = () => { };
15
+ }
16
+ createValidator() {
17
+ if (this.min !== null) {
18
+ this.validator = Validators.min(+this.min);
19
+ }
20
+ }
21
+ /** @inheritDoc */
22
+ ngOnChanges(changes) {
23
+ if ('min' in changes) {
24
+ this.createValidator();
25
+ if (this.onChange) {
26
+ this.onChange();
27
+ }
28
+ }
29
+ }
30
+ /** @inheritDoc */
31
+ validate(c) {
32
+ return this.min == null ? null : this.validator(c);
33
+ }
34
+ /** @inheritDoc */
35
+ registerOnValidatorChange(fn) {
36
+ this.onChange = fn;
37
+ }
38
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MinValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
39
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MinValidator, selector: "[min][formControlName],[min][formControl],[min][ngModel]", inputs: { min: "min" }, host: { properties: { "attr.min": "min ? min : null" } }, providers: [
40
+ {
41
+ provide: NG_VALIDATORS,
42
+ useExisting: forwardRef((() => MinValidator)),
43
+ multi: true
44
+ }
45
+ ], usesOnChanges: true, ngImport: i0 }); }
46
+ }
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MinValidator, decorators: [{
48
+ type: Directive,
49
+ args: [{
50
+ selector: '[min][formControlName],[min][formControl],[min][ngModel]',
51
+ providers: [
52
+ {
53
+ provide: NG_VALIDATORS,
54
+ useExisting: forwardRef((() => MinValidator)),
55
+ multi: true
56
+ }
57
+ ],
58
+ host: { '[attr.min]': 'min ? min : null' }
59
+ }]
60
+ }], propDecorators: { min: [{
61
+ type: Input
62
+ }] } });
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy92YWxpZGF0b3JzL251bWJlci9taW4uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsYUFBYSxFQUliLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDOztBQUV4Qjs7OztHQUlHO0FBWUgsTUFBTSxPQUFPLFlBQVk7SUFYekI7UUFZRSxpQ0FBaUM7UUFDakIsUUFBRyxHQUEyQixJQUFJLENBQUM7UUFFM0MsY0FBUyxHQUFnQixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDO1FBQ3RDLGFBQVEsR0FBZSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7S0E0QnpDO0lBMUJTLGVBQWU7UUFDckIsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QyxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtJQUNYLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLEtBQUssSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFFdkIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDWCxRQUFRLENBQUMsQ0FBa0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxrQkFBa0I7SUFDWCx5QkFBeUIsQ0FBQyxFQUFjO1FBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7a0lBaENVLFlBQVk7c0hBQVosWUFBWSxxS0FUWjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksRUFBQztnQkFDM0MsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGOzs0RkFHVSxZQUFZO2tCQVh4QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwREFBMEQ7b0JBQ3BFLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsYUFBYSxFQUFDOzRCQUMzQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtvQkFDRCxJQUFJLEVBQUUsRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUU7aUJBQzNDOzhCQUdpQixHQUFHO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgTkdfVkFMSURBVE9SUyxcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgVmFsaWRhdG9yLFxuICBWYWxpZGF0b3JGbixcbiAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKipcbiAqIEEgZGlyZWN0aXZlIHdoaWNoIGluc3RhbGxzIHRoZSBgTWluVmFsaWRhdG9yYCBmb3IgYW55IGBmb3JtQ29udHJvbE5hbWUsXG4gKiBgZm9ybUNvbnRyb2xgLFxuICogb3IgY29udHJvbCB3aXRoIGBuZ01vZGVsYCB0aGF0IGFsc28gaGFzIGEgYG1pbmAgYXR0cmlidXRlLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbWluXVtmb3JtQ29udHJvbE5hbWVdLFttaW5dW2Zvcm1Db250cm9sXSxbbWluXVtuZ01vZGVsXScsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBNaW5WYWxpZGF0b3IpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF0sXG4gIGhvc3Q6IHsgJ1thdHRyLm1pbl0nOiAnbWluID8gbWluIDogbnVsbCcgfVxufSlcbmV4cG9ydCBjbGFzcyBNaW5WYWxpZGF0b3IgaW1wbGVtZW50cyBWYWxpZGF0b3IsIE9uQ2hhbmdlcyB7XG4gIC8qKiBNaW5pbXVtIGRhdGUgdG8gY29tcGFyZSB0byAqL1xuICBASW5wdXQoKSBwdWJsaWMgbWluOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIHZhbGlkYXRvcjogVmFsaWRhdG9yRm4gPSAoX2EpID0+IG51bGw7XG4gIHByaXZhdGUgb25DaGFuZ2U6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICBwcml2YXRlIGNyZWF0ZVZhbGlkYXRvcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5taW4gIT09IG51bGwpIHtcbiAgICAgIHRoaXMudmFsaWRhdG9yID0gVmFsaWRhdG9ycy5taW4oK3RoaXMubWluKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoJ21pbicgaW4gY2hhbmdlcykge1xuICAgICAgdGhpcy5jcmVhdGVWYWxpZGF0b3IoKTtcblxuICAgICAgaWYgKHRoaXMub25DaGFuZ2UpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgdmFsaWRhdGUoYzogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLm1pbiA9PSBudWxsID8gbnVsbCA6IHRoaXMudmFsaWRhdG9yKGMpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,19 @@
1
+ import { CommonModule, } from '@angular/common';
2
+ import { NgModule, } from '@angular/core';
3
+ import { MaxValidator, } from './max.directive';
4
+ import { MinValidator, } from './min.directive';
5
+ import * as i0 from "@angular/core";
6
+ export class NumberValidatorsModule {
7
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NumberValidatorsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NumberValidatorsModule, declarations: [MaxValidator, MinValidator], imports: [CommonModule], exports: [MaxValidator, MinValidator] }); }
9
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NumberValidatorsModule, imports: [CommonModule] }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NumberValidatorsModule, decorators: [{
12
+ type: NgModule,
13
+ args: [{
14
+ imports: [CommonModule],
15
+ declarations: [MaxValidator, MinValidator],
16
+ exports: [MaxValidator, MinValidator]
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLXZhbGlkYXRvcnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3ZhbGlkYXRvcnMvbnVtYmVyL251bWJlci12YWxpZGF0b3JzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsWUFBWSxHQUNiLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUNMLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsWUFBWSxHQUNiLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUNMLFlBQVksR0FDYixNQUFNLGlCQUFpQixDQUFDOztBQU96QixNQUFNLE9BQU8sc0JBQXNCO2tJQUF0QixzQkFBc0I7bUlBQXRCLHNCQUFzQixpQkFIbEIsWUFBWSxFQUFFLFlBQVksYUFEL0IsWUFBWSxhQUVaLFlBQVksRUFBRSxZQUFZO21JQUV6QixzQkFBc0IsWUFKdkIsWUFBWTs7NEZBSVgsc0JBQXNCO2tCQUxsQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQztvQkFDMUMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQztpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21tb25Nb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBOZ01vZHVsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBNYXhWYWxpZGF0b3IsXG59IGZyb20gJy4vbWF4LmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICBNaW5WYWxpZGF0b3IsXG59IGZyb20gJy4vbWluLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtNYXhWYWxpZGF0b3IsIE1pblZhbGlkYXRvcl0sXG4gIGV4cG9ydHM6IFtNYXhWYWxpZGF0b3IsIE1pblZhbGlkYXRvcl1cbn0pXG5leHBvcnQgY2xhc3MgTnVtYmVyVmFsaWRhdG9yc01vZHVsZSB7fVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@o3r/forms",
3
- "version": "12.1.0-prerelease.79",
3
+ "version": "12.1.0-prerelease.80",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -11,15 +11,15 @@
11
11
  "otter-module"
12
12
  ],
13
13
  "peerDependencies": {
14
- "@ama-sdk/core": "^12.1.0-prerelease.79",
14
+ "@ama-sdk/core": "^12.1.0-prerelease.80",
15
15
  "@angular-devkit/schematics": "^19.0.0",
16
16
  "@angular/common": "^19.0.0",
17
17
  "@angular/core": "^19.0.0",
18
18
  "@angular/forms": "^19.0.0",
19
19
  "@ngrx/entity": "^19.0.0",
20
20
  "@ngrx/store": "^19.0.0",
21
- "@o3r/core": "^12.1.0-prerelease.79",
22
- "@o3r/schematics": "^12.1.0-prerelease.79",
21
+ "@o3r/core": "^12.1.0-prerelease.80",
22
+ "@o3r/schematics": "^12.1.0-prerelease.80",
23
23
  "@schematics/angular": "^19.0.0",
24
24
  "rxjs": "^7.8.1",
25
25
  "ts-node": "~10.9.2"
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":";;;AAAA,kCAAkC;AAQlC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;AAE5E,MAAM,0BAA0B,GAAG,CAAC,MAA2C,EAAE,EAAE,CAAC,CAAC,MAAW,EAAE,EAAE;IAClG,MAAM,CAAC,KAAK,CAAC;2GAC4F,CAAC,CAAC;IAC3G,MAAM,MAAM,CAAC;AACf,CAAC,CAAC;AAEF;;;GAGG;AACH,SAAS,OAAO,CAAC,OAA8B;IAC7C,kBAAkB;IAClB,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE;QACpB,MAAM,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,GAAG,2CAAa,iBAAiB,EAAC,CAAC;QACvF,OAAO,iBAAiB,CAAC;YACvB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,YAAY,EAAE,uBAAuB,CAAC,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;SACpH,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACI,MAAM,KAAK,GAAG,CAAC,OAA8B,EAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;IACrF,MAAM,EACJ,oBAAoB,EACrB,GAAG,MAAM,qCAAO,iBAAiB,GAAE,KAAK,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9E,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;AAChD,CAAC,CAAC;AALW,QAAA,KAAK,SAKhB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../schematics/ng-add/schema.ts"],"names":[],"mappings":""}