@3kles/kles-material-dynamicforms 17.10.1 → 17.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,31 @@
1
+ import { Validators } from "@angular/forms";
2
+ import { tap } from "rxjs/operators";
3
+ export class KlesAbstractFormControl {
4
+ constructor(field, ref) {
5
+ this.field = field;
6
+ this.ref = ref;
7
+ }
8
+ bindValidations(validations) {
9
+ if (validations.length > 0) {
10
+ return Validators.compose(validations.map((validation) => validation.validator));
11
+ }
12
+ return null;
13
+ }
14
+ bindAsyncValidations(validations) {
15
+ if (validations.length > 0) {
16
+ return Validators.composeAsync(validations.map((validation) => {
17
+ return ((c) => {
18
+ const validator$ = validation.validator(c);
19
+ if (validator$ instanceof Promise) {
20
+ return validator$.finally(() => this.ref?.markForCheck());
21
+ }
22
+ else {
23
+ return validator$.pipe(tap(() => this.ref?.markForCheck()));
24
+ }
25
+ });
26
+ }));
27
+ }
28
+ return null;
29
+ }
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC5hYnN0cmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvY29udHJvbHMvY29udHJvbC5hYnN0cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtELFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSzVGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyQyxNQUFNLE9BQWdCLHVCQUF1QjtJQUV6QyxZQUFzQixLQUF1QixFQUFZLEdBQXVCO1FBQTFELFVBQUssR0FBTCxLQUFLLENBQWtCO1FBQVksUUFBRyxHQUFILEdBQUcsQ0FBb0I7SUFFaEYsQ0FBQztJQUdNLGVBQWUsQ0FBQyxXQUEwQztRQUM3RCxJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3hCLE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztTQUVwRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxXQUErQztRQUN2RSxJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3hCLE9BQU8sVUFBVSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7Z0JBQzFELE9BQU8sQ0FBQyxDQUFDLENBQWtCLEVBQUUsRUFBRTtvQkFDM0IsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDM0MsSUFBSSxVQUFVLFlBQVksT0FBTyxFQUFFO3dCQUMvQixPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO3FCQUM3RDt5QkFBTTt3QkFDSCxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO3FCQUMvRDtnQkFDTCxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDUDtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdG9yRm4sIEFzeW5jVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IElLbGVzVmFsaWRhdG9yIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvdmFsaWRhdG9yLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgSUtsZXNGaWVsZENvbmZpZyB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2ZpZWxkLmNvbmZpZy5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IElLbGVzQ29udHJvbCB9IGZyb20gXCIuL2NvbnRyb2wuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyB0YXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcblxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgS2xlc0Fic3RyYWN0Rm9ybUNvbnRyb2wgaW1wbGVtZW50cyBJS2xlc0NvbnRyb2wge1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGZpZWxkOiBJS2xlc0ZpZWxkQ29uZmlnLCBwcm90ZWN0ZWQgcmVmPzogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcblxuICAgIH1cbiAgICBhYnN0cmFjdCBjcmVhdGUoKTogQWJzdHJhY3RDb250cm9sO1xuXG4gICAgcHVibGljIGJpbmRWYWxpZGF0aW9ucyh2YWxpZGF0aW9uczogSUtsZXNWYWxpZGF0b3I8VmFsaWRhdG9yRm4+W10pOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIGlmICh2YWxpZGF0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICByZXR1cm4gVmFsaWRhdG9ycy5jb21wb3NlKHZhbGlkYXRpb25zLm1hcCgodmFsaWRhdGlvbikgPT4gdmFsaWRhdGlvbi52YWxpZGF0b3IpKTtcblxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBiaW5kQXN5bmNWYWxpZGF0aW9ucyh2YWxpZGF0aW9uczogSUtsZXNWYWxpZGF0b3I8QXN5bmNWYWxpZGF0b3JGbj5bXSk6IEFzeW5jVmFsaWRhdG9yRm4ge1xuICAgICAgICBpZiAodmFsaWRhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIFZhbGlkYXRvcnMuY29tcG9zZUFzeW5jKHZhbGlkYXRpb25zLm1hcCgodmFsaWRhdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiAoKGM6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWxpZGF0b3IkID0gdmFsaWRhdGlvbi52YWxpZGF0b3IoYyk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh2YWxpZGF0b3IkIGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbGlkYXRvciQuZmluYWxseSgoKSA9PiB0aGlzLnJlZj8ubWFya0ZvckNoZWNrKCkpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbGlkYXRvciQucGlwZSh0YXAoKCkgPT4gdGhpcy5yZWY/Lm1hcmtGb3JDaGVjaygpKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbn0iXX0=
@@ -1,12 +1,10 @@
1
- import { FormControl, Validators } from "@angular/forms";
1
+ import { FormControl } from "@angular/forms";
2
2
  import { concat, of } from "rxjs";
3
3
  import { catchError, map, take } from "rxjs/operators";
4
- export class KlesFormControl {
5
- constructor(field) {
6
- this.field = field;
7
- }
4
+ import { KlesAbstractFormControl } from "./control.abstract";
5
+ export class KlesFormControl extends KlesAbstractFormControl {
8
6
  create() {
9
- const control = new FormControl({ value: this.field.value, disabled: this.field.disabled }, {
7
+ const control = new FormControl({ value: this.field.value, disabled: this.field.disabled || false }, {
10
8
  nonNullable: this.field.nonNullable || false,
11
9
  validators: this.bindValidations(this.field.validations || []),
12
10
  asyncValidators: this.bindAsyncValidations(this.field.asyncValidations || []),
@@ -32,25 +30,5 @@ export class KlesFormControl {
32
30
  }
33
31
  return control;
34
32
  }
35
- bindValidations(validations) {
36
- if (validations.length > 0) {
37
- const validList = [];
38
- validations.forEach(valid => {
39
- validList.push(valid.validator);
40
- });
41
- return Validators.compose(validList);
42
- }
43
- return null;
44
- }
45
- bindAsyncValidations(validations) {
46
- if (validations.length > 0) {
47
- const validList = [];
48
- validations.forEach(valid => {
49
- validList.push(valid.validator);
50
- });
51
- return Validators.composeAsync(validList);
52
- }
53
- return null;
54
- }
55
33
  }
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5jb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xlcy1tYXRlcmlhbC1keW5hbWljZm9ybXMvc3JjL2xpYi9jb250cm9scy9kZWZhdWx0LmNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixXQUFXLEVBQWUsVUFBVSxFQUFvQixNQUFNLGdCQUFnQixDQUFDO0FBQ3pHLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS3ZELE1BQU0sT0FBTyxlQUFlO0lBRXhCLFlBQXNCLEtBQXVCO1FBQXZCLFVBQUssR0FBTCxLQUFLLENBQWtCO0lBQzdDLENBQUM7SUFFTSxNQUFNO1FBQ1QsTUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLENBQzNCLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUMxRDtZQUNJLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxLQUFLO1lBQzVDLFVBQVUsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztZQUM5RCxlQUFlLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLElBQUksRUFBRSxDQUFDO1lBQzdFLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxRQUFRO1NBQzVDLENBQ0osQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUU7WUFDdkIsTUFBTSxDQUNGLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDdEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ25CLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUM5QyxDQUNKLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUM7Z0JBQ3RDLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRTtvQkFDbEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2lCQUN6QztxQkFBTTtvQkFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7d0JBQ3RCLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztxQkFDeEM7b0JBQ0QsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ2pDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7aUJBQ3JDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFFTSxlQUFlLENBQUMsV0FBMEM7UUFDN0QsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN4QixNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7WUFDckIsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDeEIsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDcEMsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7U0FFeEM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sb0JBQW9CLENBQUMsV0FBK0M7UUFDdkUsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN4QixNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7WUFDckIsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDeEIsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDcEMsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLFVBQVUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7U0FFN0M7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycywgQXN5bmNWYWxpZGF0b3JGbiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgY29uY2F0LCBvZiB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHRha2UgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IElLbGVzRmllbGRDb25maWcgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9maWVsZC5jb25maWcuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBJS2xlc1ZhbGlkYXRvciB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL3ZhbGlkYXRvci5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IElLbGVzQ29udHJvbCB9IGZyb20gXCIuL2NvbnRyb2wuaW50ZXJmYWNlXCI7XG5cbmV4cG9ydCBjbGFzcyBLbGVzRm9ybUNvbnRyb2wgaW1wbGVtZW50cyBJS2xlc0NvbnRyb2wge1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGZpZWxkOiBJS2xlc0ZpZWxkQ29uZmlnKSB7XG4gICAgfVxuXG4gICAgcHVibGljIGNyZWF0ZSgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgICAgICBjb25zdCBjb250cm9sID0gbmV3IEZvcm1Db250cm9sKFxuICAgICAgICAgICAgeyB2YWx1ZTogdGhpcy5maWVsZC52YWx1ZSwgZGlzYWJsZWQ6IHRoaXMuZmllbGQuZGlzYWJsZWQgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBub25OdWxsYWJsZTogdGhpcy5maWVsZC5ub25OdWxsYWJsZSB8fCBmYWxzZSxcbiAgICAgICAgICAgICAgICB2YWxpZGF0b3JzOiB0aGlzLmJpbmRWYWxpZGF0aW9ucyh0aGlzLmZpZWxkLnZhbGlkYXRpb25zIHx8IFtdKSxcbiAgICAgICAgICAgICAgICBhc3luY1ZhbGlkYXRvcnM6IHRoaXMuYmluZEFzeW5jVmFsaWRhdGlvbnModGhpcy5maWVsZC5hc3luY1ZhbGlkYXRpb25zIHx8IFtdKSxcbiAgICAgICAgICAgICAgICB1cGRhdGVPbjogdGhpcy5maWVsZC51cGRhdGVPbiB8fCAnY2hhbmdlJyxcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICBpZiAodGhpcy5maWVsZC5hc3luY1ZhbHVlKSB7XG4gICAgICAgICAgICBjb25jYXQoXG4gICAgICAgICAgICAgICAgb2YoeyB2YWx1ZTogbnVsbCwgcGVuZGluZzogdHJ1ZSB9KSxcbiAgICAgICAgICAgICAgICB0aGlzLmZpZWxkLmFzeW5jVmFsdWUucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICBtYXAoKHZhbHVlKSA9PiAoeyB2YWx1ZSwgcGVuZGluZzogZmFsc2UgfSkpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZC5wZW5kaW5nID0gcmVzcG9uc2UucGVuZGluZztcbiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UucGVuZGluZykge1xuICAgICAgICAgICAgICAgICAgICBjb250cm9sLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5maWVsZC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbC5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnRyb2wuc2V0VmFsdWUocmVzcG9uc2UudmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkLnZhbHVlID0gcmVzcG9uc2UudmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29udHJvbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYmluZFZhbGlkYXRpb25zKHZhbGlkYXRpb25zOiBJS2xlc1ZhbGlkYXRvcjxWYWxpZGF0b3JGbj5bXSk6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgaWYgKHZhbGlkYXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbGlkTGlzdCA9IFtdO1xuICAgICAgICAgICAgdmFsaWRhdGlvbnMuZm9yRWFjaCh2YWxpZCA9PiB7XG4gICAgICAgICAgICAgICAgdmFsaWRMaXN0LnB1c2godmFsaWQudmFsaWRhdG9yKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIFZhbGlkYXRvcnMuY29tcG9zZSh2YWxpZExpc3QpO1xuXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGJpbmRBc3luY1ZhbGlkYXRpb25zKHZhbGlkYXRpb25zOiBJS2xlc1ZhbGlkYXRvcjxBc3luY1ZhbGlkYXRvckZuPltdKTogQXN5bmNWYWxpZGF0b3JGbiB7XG4gICAgICAgIGlmICh2YWxpZGF0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCB2YWxpZExpc3QgPSBbXTtcbiAgICAgICAgICAgIHZhbGlkYXRpb25zLmZvckVhY2godmFsaWQgPT4ge1xuICAgICAgICAgICAgICAgIHZhbGlkTGlzdC5wdXNoKHZhbGlkLnZhbGlkYXRvcik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBWYWxpZGF0b3JzLmNvbXBvc2VBc3luYyh2YWxpZExpc3QpO1xuXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuIl19
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5jb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xlcy1tYXRlcmlhbC1keW5hbWljZm9ybXMvc3JjL2xpYi9jb250cm9scy9kZWZhdWx0LmNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU3RCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSx1QkFBdUI7SUFFakQsTUFBTTtRQUNULE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxDQUMzQixFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxFQUFFLEVBQ25FO1lBQ0ksV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLEtBQUs7WUFDNUMsVUFBVSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1lBQzlELGVBQWUsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUM7WUFDN0UsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLFFBQVE7U0FDNUMsQ0FDSixDQUFDO1FBRUYsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRTtZQUN2QixNQUFNLENBQ0YsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUN0QixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDbkIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEIsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQzlDLENBQ0osQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztnQkFDdEMsSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFO29CQUNsQixPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7aUJBQ3pDO3FCQUFNO29CQUNILElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTt3QkFDdEIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO3FCQUN4QztvQkFDRCxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztpQkFDckM7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNOO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgY29uY2F0LCBvZiB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHRha2UgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IEtsZXNBYnN0cmFjdEZvcm1Db250cm9sIH0gZnJvbSBcIi4vY29udHJvbC5hYnN0cmFjdFwiO1xuXG5leHBvcnQgY2xhc3MgS2xlc0Zvcm1Db250cm9sIGV4dGVuZHMgS2xlc0Fic3RyYWN0Rm9ybUNvbnRyb2wge1xuXG4gICAgcHVibGljIGNyZWF0ZSgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgICAgICBjb25zdCBjb250cm9sID0gbmV3IEZvcm1Db250cm9sKFxuICAgICAgICAgICAgeyB2YWx1ZTogdGhpcy5maWVsZC52YWx1ZSwgZGlzYWJsZWQ6IHRoaXMuZmllbGQuZGlzYWJsZWQgfHwgZmFsc2UgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBub25OdWxsYWJsZTogdGhpcy5maWVsZC5ub25OdWxsYWJsZSB8fCBmYWxzZSxcbiAgICAgICAgICAgICAgICB2YWxpZGF0b3JzOiB0aGlzLmJpbmRWYWxpZGF0aW9ucyh0aGlzLmZpZWxkLnZhbGlkYXRpb25zIHx8IFtdKSxcbiAgICAgICAgICAgICAgICBhc3luY1ZhbGlkYXRvcnM6IHRoaXMuYmluZEFzeW5jVmFsaWRhdGlvbnModGhpcy5maWVsZC5hc3luY1ZhbGlkYXRpb25zIHx8IFtdKSxcbiAgICAgICAgICAgICAgICB1cGRhdGVPbjogdGhpcy5maWVsZC51cGRhdGVPbiB8fCAnY2hhbmdlJyxcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICBpZiAodGhpcy5maWVsZC5hc3luY1ZhbHVlKSB7XG4gICAgICAgICAgICBjb25jYXQoXG4gICAgICAgICAgICAgICAgb2YoeyB2YWx1ZTogbnVsbCwgcGVuZGluZzogdHJ1ZSB9KSxcbiAgICAgICAgICAgICAgICB0aGlzLmZpZWxkLmFzeW5jVmFsdWUucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICBtYXAoKHZhbHVlKSA9PiAoeyB2YWx1ZSwgcGVuZGluZzogZmFsc2UgfSkpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZC5wZW5kaW5nID0gcmVzcG9uc2UucGVuZGluZztcbiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UucGVuZGluZykge1xuICAgICAgICAgICAgICAgICAgICBjb250cm9sLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5maWVsZC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbC5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnRyb2wuc2V0VmFsdWUocmVzcG9uc2UudmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkLnZhbHVlID0gcmVzcG9uc2UudmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbnRyb2w7XG4gICAgfVxufVxuIl19
@@ -9,4 +9,4 @@ export function FieldMapper(config) {
9
9
  });
10
10
  };
11
11
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmRlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvZGVjb3JhdG9ycy9jb21wb25lbnQuZGVjb3JhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3JFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FHdEIsRUFBRSxDQUFDO0FBRVQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxNQUczQjtJQUNHLE9BQU8sQ0FBQyxNQUFpQixFQUFFLEVBQUU7UUFDekIsZUFBZSxDQUFDLElBQUksQ0FBQztZQUNqQixTQUFTLEVBQUUsTUFBTTtZQUNqQixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7WUFDakIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLElBQUksdUJBQXVCO1NBQ3JELENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBrbGVzRmllbGRDb250cm9sRmFjdG9yeSB9IGZyb20gJy4uL2ZhY3Rvcmllcy9maWVsZC5mYWN0b3J5JztcbmltcG9ydCB7IElLbGVzRmllbGRDb25maWcgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2ZpZWxkLmNvbmZpZy5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY29uc3QgY29tcG9uZW50TWFwcGVyOiB7XG4gICAgY29tcG9uZW50OiBUeXBlPGFueT47IHR5cGU6IHN0cmluZztcbiAgICBmYWN0b3J5OiAoKGZpZWxkOiBJS2xlc0ZpZWxkQ29uZmlnKSA9PiBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+KVxufVtdID0gW107XG5cbmV4cG9ydCBmdW5jdGlvbiBGaWVsZE1hcHBlcihjb25maWc6IHtcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgZmFjdG9yeT86IChmaWVsZDogSUtsZXNGaWVsZENvbmZpZykgPT4gQWJzdHJhY3RDb250cm9sPGFueSwgYW55PlxufSkge1xuICAgIHJldHVybiAodGFyZ2V0OiBUeXBlPGFueT4pID0+IHtcbiAgICAgICAgY29tcG9uZW50TWFwcGVyLnB1c2goe1xuICAgICAgICAgICAgY29tcG9uZW50OiB0YXJnZXQsXG4gICAgICAgICAgICB0eXBlOiBjb25maWcudHlwZSxcbiAgICAgICAgICAgIGZhY3Rvcnk6IGNvbmZpZy5mYWN0b3J5IHx8IGtsZXNGaWVsZENvbnRyb2xGYWN0b3J5XG4gICAgICAgIH0pO1xuICAgIH07XG59XG4iXX0=
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmRlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvZGVjb3JhdG9ycy9jb21wb25lbnQuZGVjb3JhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3JFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FHdEIsRUFBRSxDQUFDO0FBRVQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxNQUczQjtJQUNHLE9BQU8sQ0FBQyxNQUFpQixFQUFFLEVBQUU7UUFDekIsZUFBZSxDQUFDLElBQUksQ0FBQztZQUNqQixTQUFTLEVBQUUsTUFBTTtZQUNqQixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7WUFDakIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLElBQUksdUJBQXVCO1NBQ3JELENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsga2xlc0ZpZWxkQ29udHJvbEZhY3RvcnkgfSBmcm9tICcuLi9mYWN0b3JpZXMvZmllbGQuZmFjdG9yeSc7XG5pbXBvcnQgeyBJS2xlc0ZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9maWVsZC5jb25maWcuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNvbnN0IGNvbXBvbmVudE1hcHBlcjoge1xuICAgIGNvbXBvbmVudDogVHlwZTxhbnk+OyB0eXBlOiBzdHJpbmc7XG4gICAgZmFjdG9yeTogKChmaWVsZDogSUtsZXNGaWVsZENvbmZpZywgcmVmPzogQ2hhbmdlRGV0ZWN0b3JSZWYpID0+IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT4pXG59W10gPSBbXTtcblxuZXhwb3J0IGZ1bmN0aW9uIEZpZWxkTWFwcGVyKGNvbmZpZzoge1xuICAgIHR5cGU6IHN0cmluZyxcbiAgICBmYWN0b3J5PzogKGZpZWxkOiBJS2xlc0ZpZWxkQ29uZmlnKSA9PiBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+XG59KSB7XG4gICAgcmV0dXJuICh0YXJnZXQ6IFR5cGU8YW55PikgPT4ge1xuICAgICAgICBjb21wb25lbnRNYXBwZXIucHVzaCh7XG4gICAgICAgICAgICBjb21wb25lbnQ6IHRhcmdldCxcbiAgICAgICAgICAgIHR5cGU6IGNvbmZpZy50eXBlLFxuICAgICAgICAgICAgZmFjdG9yeTogY29uZmlnLmZhY3RvcnkgfHwga2xlc0ZpZWxkQ29udHJvbEZhY3RvcnlcbiAgICAgICAgfSk7XG4gICAgfTtcbn1cbiJdfQ==
@@ -24,8 +24,9 @@ export class KlesDynamicFormComponent {
24
24
  get value() {
25
25
  return this.form.value;
26
26
  }
27
- constructor(fb) {
27
+ constructor(fb, ref) {
28
28
  this.fb = fb;
29
+ this.ref = ref;
29
30
  this.fields = [];
30
31
  this.validators = [];
31
32
  this.asyncValidators = [];
@@ -140,11 +141,11 @@ export class KlesDynamicFormComponent {
140
141
  createControl(field) {
141
142
  if (field.type) {
142
143
  return componentMapper.find(c => c.type === field.type)?.factory
143
- ? componentMapper.find(c => c.type === field.type)?.factory(field) : klesFieldControlFactory(field);
144
+ ? componentMapper.find(c => c.type === field.type)?.factory(field, this.ref) : klesFieldControlFactory(field, this.ref);
144
145
  }
145
146
  else {
146
147
  return componentMapper.find(c => c.component === field.component)?.factory ?
147
- componentMapper.find(c => c.component === field.component)?.factory(field) : klesFieldControlFactory(field);
148
+ componentMapper.find(c => c.component === field.component)?.factory(field, this.ref) : klesFieldControlFactory(field, this.ref);
148
149
  }
149
150
  }
150
151
  createForm() {
@@ -165,7 +166,7 @@ export class KlesDynamicFormComponent {
165
166
  control.markAsTouched({ onlySelf: true });
166
167
  });
167
168
  }
168
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KlesDynamicFormComponent, deps: [{ token: i1.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
169
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KlesDynamicFormComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
169
170
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: KlesDynamicFormComponent, selector: "app-kles-dynamic-form", inputs: { fields: "fields", validators: "validators", asyncValidators: "asyncValidators", direction: "direction", formClass: "formClass" }, outputs: { submit: "submit", _onLoaded: "_onLoaded" }, exportAs: ["klesDynamicForm"], usesOnChanges: true, ngImport: i0, template: `
170
171
  <form class="{{orientationClass}}" [ngClass]="formClass" [formGroup]="form" (submit)="onSubmit($event)">
171
172
  @for (field of fields; track field.name) {
@@ -195,7 +196,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
195
196
  }
196
197
  </form>
197
198
  `, styles: [".dynamic-form-column{display:flex;flex-direction:column}\n", ".dynamic-form-column>*{width:100%}\n", ".dynamic-form-row{display:inline-flex;flex-wrap:wrap;gap:10px;align-items:baseline}\n", ".dynamic-form-row>*{width:100%}\n", ".dynamic-form-grid{display:grid}\n", ".dynamic-form-inline-grid{display:inline-grid}\n"] }]
198
- }], ctorParameters: () => [{ type: i1.UntypedFormBuilder }], propDecorators: { fields: [{
199
+ }], ctorParameters: () => [{ type: i1.UntypedFormBuilder }, { type: i0.ChangeDetectorRef }], propDecorators: { fields: [{
199
200
  type: Input
200
201
  }], validators: [{
201
202
  type: Input
@@ -210,4 +211,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
210
211
  }], formClass: [{
211
212
  type: Input
212
213
  }] } });
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvZHluYW1pYy1mb3JtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQThHLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25MLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7QUFJcEUsTUFBTSw0QkFBNEIsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDO0FBQ2hGLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxXQUFXLEdBQUc7SUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDO0lBQ3hFLE9BQU8sNEJBQTRCLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUM7QUFFRixNQUFNLGdDQUFnQyxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDO0FBQy9FLGVBQWUsQ0FBQyxTQUFTLENBQUMsV0FBVyxHQUFHO0lBQ3RDLE1BQU0sTUFBTSxHQUFHLGdDQUFnQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDdkUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FB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QUFPLENBQUMsQ0FBQzthQUN2QztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzNELEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBRXJFLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLHFCQUFxQixDQUFDLFNBQTJCO1FBQ3ZELE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM5QyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBcktVLHdCQUF3QjttR0FBeEIsd0JBQXdCLG9UQXZCekI7Ozs7Ozs7Ozs7OztLQVlQOzs0RkFXUSx3QkFBd0I7a0JBMUJwQyxTQUFTOytCQUNFLGlCQUFpQixZQUNqQix1QkFBdUIsWUFDdkI7Ozs7Ozs7Ozs7OztLQVlQO3VGQVlNLE1BQU07c0JBQWQsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUksTUFBTTtzQkFBZixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBRUUsU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT25Jbml0LCBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwLCBVbnR5cGVkRm9ybUJ1aWxkZXIsIFZhbGlkYXRvckZuLCBBc3luY1ZhbGlkYXRvckZuLCBBYnN0cmFjdENvbnRyb2wsIEZvcm1BcnJheSwgRm9ybUdyb3VwLCBGb3JtQ29udHJvbERpcmVjdGl2ZSwgRm9ybUNvbnRyb2xOYW1lIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29tcG9uZW50TWFwcGVyIH0gZnJvbSAnLi9kZWNvcmF0b3JzL2NvbXBvbmVudC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgRW51bVR5cGUgfSBmcm9tICcuL2VudW1zL3R5cGUuZW51bSc7XG5pbXBvcnQgeyBrbGVzRmllbGRDb250cm9sRmFjdG9yeSB9IGZyb20gJy4vZmFjdG9yaWVzL2ZpZWxkLmZhY3RvcnknO1xuaW1wb3J0IHsgSUtsZXNGaWVsZENvbmZpZyB9IGZyb20gJy4vaW50ZXJmYWNlcy9maWVsZC5jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IElLbGVzVmFsaWRhdG9yIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3ZhbGlkYXRvci5pbnRlcmZhY2UnO1xuXG5jb25zdCBvcmlnaW5Gb3JtQ29udHJvbE5nT25DaGFuZ2VzID0gRm9ybUNvbnRyb2xEaXJlY3RpdmUucHJvdG90eXBlLm5nT25DaGFuZ2VzO1xuRm9ybUNvbnRyb2xEaXJlY3RpdmUucHJvdG90eXBlLm5nT25DaGFuZ2VzID0gZnVuY3Rpb24gKCkge1xuICB0aGlzLmZvcm0ubmF0aXZlRWxlbWVudCA9IHRoaXMudmFsdWVBY2Nlc3Nvci5fZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudDtcbiAgcmV0dXJuIG9yaWdpbkZvcm1Db250cm9sTmdPbkNoYW5nZXMuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn07XG5cbmNvbnN0IG9yaWdpbkZvcm1Db250cm9sTmFtZU5nT25DaGFuZ2VzID0gRm9ybUNvbnRyb2xOYW1lLnByb3RvdHlwZS5uZ09uQ2hhbmdlcztcbkZvcm1Db250cm9sTmFtZS5wcm90b3R5cGUubmdPbkNoYW5nZXMgPSBmdW5jdGlvbiAoKSB7XG4gIGNvbnN0IHJlc3VsdCA9IG9yaWdpbkZvcm1Db250cm9sTmFtZU5nT25DaGFuZ2VzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gIHRoaXMuY29udHJvbC5uYXRpdmVFbGVtZW50ID0gdGhpcy52YWx1ZUFjY2Vzc29yLl9lbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50O1xuICByZXR1cm4gcmVzdWx0O1xufTtcblxuQENvbXBvbmVudCh7XG4gIGV4cG9ydEFzOiAna2xlc0R5bmFtaWNGb3JtJyxcbiAgc2VsZWN0b3I6ICdhcHAta2xlcy1keW5hbWljLWZvcm0nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxmb3JtIGNsYXNzPVwie3tvcmllbnRhdGlvbkNsYXNzfX1cIiBbbmdDbGFzc109XCJmb3JtQ2xhc3NcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiAoc3VibWl0KT1cIm9uU3VibWl0KCRldmVudClcIj5cbiAgICAgICAgQGZvciAoZmllbGQgb2YgZmllbGRzOyB0cmFjayBmaWVsZC5uYW1lKSB7XG4gICAgICAgICAgICBAaWYgKGZpZWxkLnZpc2libGUgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBrbGVzRHluYW1pY0ZpZWxkIFtmaWVsZF09XCJmaWVsZFwiIFtncm91cF09XCJmb3JtXCIgW3NpYmxpbmdGaWVsZHNdPVwiZmllbGRzXCI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChmb3JtICYmIGZvcm0uZXJyb3JzKXtcbiAgICAgICAgICA8bWF0LWVycm9yIG1hdEVycm9yRm9ybSBbZm9ybV09XCJmb3JtXCIgW3ZhbGlkYXRpb25zXT1cInZhbGlkYXRvcnNcIiBbYXN5bmNWYWxpZGF0aW9uc109XCJhc3luY1ZhbGlkYXRvcnNcIj48L21hdC1lcnJvcj5cbiAgICAgICAgfVxuICAgIDwvZm9ybT5cbiAgICBgLFxuICBzdHlsZXM6IFtcbiAgICAnLmR5bmFtaWMtZm9ybS1jb2x1bW4geyBkaXNwbGF5OiBmbGV4O2ZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0nLFxuICAgICcuZHluYW1pYy1mb3JtLWNvbHVtbiA+ICogeyB3aWR0aDogMTAwJTsgfScsXG4gICAgJy5keW5hbWljLWZvcm0tcm93IHsgZGlzcGxheTogaW5saW5lLWZsZXg7IGZsZXgtd3JhcDp3cmFwOyBnYXA6MTBweDsgYWxpZ24taXRlbXM6IGJhc2VsaW5lfScsXG4gICAgJy5keW5hbWljLWZvcm0tcm93ID4gKiB7IHdpZHRoOiAxMDAlOyB9JyxcbiAgICAnLmR5bmFtaWMtZm9ybS1ncmlkIHsgZGlzcGxheTogZ3JpZDsgfScsXG4gICAgJy5keW5hbWljLWZvcm0taW5saW5lLWdyaWQgeyBkaXNwbGF5OiBpbmxpbmUtZ3JpZDsgfScsXG4gIF1cblxufSlcbmV4cG9ydCBjbGFzcyBLbGVzRHluYW1pY0Zvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGZpZWxkczogSUtsZXNGaWVsZENvbmZpZ1tdID0gW107XG4gIEBJbnB1dCgpIHZhbGlkYXRvcnM6IElLbGVzVmFsaWRhdG9yPFZhbGlkYXRvckZuPltdID0gW107XG4gIEBJbnB1dCgpIGFzeW5jVmFsaWRhdG9yczogSUtsZXNWYWxpZGF0b3I8QXN5bmNWYWxpZGF0b3JGbj5bXSA9IFtdO1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLW91dHB1dC1uYXRpdmVcbiAgQE91dHB1dCgpIHN1Ym1pdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIF9vbkxvYWRlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBASW5wdXQoKSBkaXJlY3Rpb246ICdjb2x1bW4nIHwgJ3JvdycgfCAnZ3JpZCcgfCAnaW5saW5lLWdyaWQnID0gJ2NvbHVtbic7XG4gIEBJbnB1dCgpIGZvcm1DbGFzczogc3RyaW5nIHwgc3RyaW5nW10gfCBTZXQ8c3RyaW5nPiB8IHsgW2tsYXNzOiBzdHJpbmddOiBhbnk7IH07XG5cbiAgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgb3JpZW50YXRpb25DbGFzczogJ2R5bmFtaWMtZm9ybS1jb2x1bW4nIHwgJ2R5bmFtaWMtZm9ybS1yb3cnIHwgJ2R5bmFtaWMtZm9ybS1ncmlkJyB8ICdkeW5hbWljLWZvcm0taW5saW5lLWdyaWQnID0gJ2R5bmFtaWMtZm9ybS1jb2x1bW4nO1xuXG4gIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLnZhbHVlO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyKSB7IH1cblxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuY3JlYXRlRm9ybSgpO1xuICAgIHRoaXMuc2V0T3JpZW50YXRpb25DbGFzcygpO1xuICAgIHRoaXMuX29uTG9hZGVkLmVtaXQoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIWNoYW5nZXMuZmllbGRzPy5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy51cGRhdGVGb3JtKCk7XG4gICAgICB0aGlzLl9vbkxvYWRlZC5lbWl0KCk7XG4gICAgfVxuXG4gICAgaWYgKCFjaGFuZ2VzLnZhbGlkYXRvcnM/LmZpcnN0Q2hhbmdlICYmIHRoaXMuZm9ybSkge1xuICAgICAgdGhpcy5mb3JtLnNldFZhbGlkYXRvcnModGhpcy52YWxpZGF0b3JzLm1hcCh2ID0+IHYudmFsaWRhdG9yKSk7XG4gICAgfVxuXG4gICAgaWYgKCFjaGFuZ2VzLmFzeW5jVmFsaWRhdG9ycz8uZmlyc3RDaGFuZ2UgJiYgdGhpcy5mb3JtKSB7XG4gICAgICB0aGlzLmZvcm0uc2V0QXN5bmNWYWxpZGF0b3JzKHRoaXMuYXN5bmNWYWxpZGF0b3JzLm1hcCh2ID0+IHYudmFsaWRhdG9yKSk7XG4gICAgfVxuXG4gICAgaWYgKCFjaGFuZ2VzLmRpcmVjdGlvbj8uZmlyc3RDaGFuZ2UpIHtcbiAgICAgIHRoaXMub3JpZW50YXRpb25DbGFzcyA9IHRoaXMuZGlyZWN0aW9uID09PSAncm93JyA/ICdkeW5hbWljLWZvcm0tcm93JyA6ICdkeW5hbWljLWZvcm0tY29sdW1uJztcbiAgICB9XG5cbiAgfVxuXG4gIG9uU3VibWl0KGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKHRoaXMuZm9ybS52YWxpZCkge1xuICAgICAgdGhpcy5zdWJtaXQuZW1pdCh0aGlzLmZvcm0udmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbGlkYXRlQWxsRm9ybUZpZWxkcyh0aGlzLmZvcm0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0T3JpZW50YXRpb25DbGFzcygpIHtcbiAgICBzd2l0Y2ggKHRoaXMuZGlyZWN0aW9uKSB7XG4gICAgICBjYXNlICdjb2x1bW4nOlxuICAgICAgICB0aGlzLm9yaWVudGF0aW9uQ2xhc3MgPSAnZHluYW1pYy1mb3JtLWNvbHVtbic7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncm93JzpcbiAgICAgICAgdGhpcy5vcmllbnRhdGlvbkNsYXNzID0gJ2R5bmFtaWMtZm9ybS1yb3cnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2dyaWQnOlxuICAgICAgICB0aGlzLm9yaWVudGF0aW9uQ2xhc3MgPSAnZHluYW1pYy1mb3JtLWdyaWQnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2lubGluZS1ncmlkJzpcbiAgICAgICAgdGhpcy5vcmllbnRhdGlvbkNsYXNzID0gJ2R5bmFtaWMtZm9ybS1pbmxpbmUtZ3JpZCc7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVGb3JtKCkge1xuICAgIE9iamVjdC5rZXlzKHRoaXMuZm9ybS5jb250cm9scykuZmlsdGVyKGtleSA9PiB7XG4gICAgICByZXR1cm4gIXRoaXMuZmllbGRzLm1hcChmaWVsZCA9PiBmaWVsZC5uYW1lKS5pbmNsdWRlcyhrZXkpO1xuICAgIH0pLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIHRoaXMuZm9ybS5yZW1vdmVDb250cm9sKGtleSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmZpZWxkc1xuICAgICAgLy8gLmZpbHRlcihmaWVsZCA9PiAhdGhpcy5mb3JtLmNvbnRyb2xzW2ZpZWxkLm5hbWVdKVxuICAgICAgLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gRW51bVR5cGUubGluZUJyZWFrKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZm9ybS5jb250cm9sc1tmaWVsZC5uYW1lXSkge1xuICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLnVwZGF0ZUNvbnRyb2woZmllbGQsIHRoaXMuZm9ybS5jb250cm9sc1tmaWVsZC5uYW1lXSk7XG4gICAgICAgICAgdGhpcy5mb3JtLnNldENvbnRyb2woZmllbGQubmFtZSwgY29udHJvbCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmNyZWF0ZUNvbnRyb2woZmllbGQpO1xuICAgICAgICAgIGlmIChjb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm0uYWRkQ29udHJvbChmaWVsZC5uYW1lLCBjb250cm9sKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUNvbnRyb2woZmllbGQ6IElLbGVzRmllbGRDb25maWcsIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgaWYgKGZpZWxkLnR5cGUgPT09IEVudW1UeXBlLmFycmF5KSB7XG4gICAgICBjb25zdCBhcnJheSA9IGNvbnRyb2wgYXMgRm9ybUFycmF5O1xuICAgICAgLypUT0RPKi9cbiAgICAgIHJldHVybiBhcnJheTtcbiAgICB9IGVsc2UgaWYgKGZpZWxkLnR5cGUgPT09IEVudW1UeXBlLmdyb3VwKSB7XG4gICAgICBjb25zdCBncm91cCA9IGNvbnRyb2wgYXMgRm9ybUdyb3VwO1xuICAgICAgaWYgKGZpZWxkLmNvbGxlY3Rpb25zICYmIEFycmF5LmlzQXJyYXkoZmllbGQuY29sbGVjdGlvbnMpKSB7XG4gICAgICAgIGZpZWxkLmNvbGxlY3Rpb25zLmZvckVhY2goc3ViZmllbGQgPT4ge1xuICAgICAgICAgIGlmIChncm91cC5jb250cm9sc1tzdWJmaWVsZF0pIHtcbiAgICAgICAgICAgIGNvbnRyb2wgPSB0aGlzLnVwZGF0ZUNvbnRyb2woc3ViZmllbGQsIGdyb3VwLmNvbnRyb2xzW3N1YmZpZWxkXSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnRyb2wgPSB0aGlzLmNyZWF0ZUNvbnRyb2woc3ViZmllbGQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoY29udHJvbCkge1xuICAgICAgICAgICAgZ3JvdXAuc2V0Q29udHJvbChzdWJmaWVsZC5uYW1lLCBjb250cm9sLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGdyb3VwO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBjb250cm9sLnNldFZhbGlkYXRvcnModGhpcy5iaW5kVmFsaWRhdGlvbnMoZmllbGQudmFsaWRhdGlvbnMgfHwgW10pKTtcbiAgICAgIC8vIGNvbnRyb2wuc2V0QXN5bmNWYWxpZGF0b3JzKHRoaXMuYmluZEFzeW5jVmFsaWRhdGlvbnMoZmllbGQuYXN5bmNWYWxpZGF0aW9ucyB8fCBbXSkpO1xuICAgICAgLy8gaWYgKGZpZWxkLnZhbHVlICYmIGNvbnRyb2wudmFsdWUgIT09IGZpZWxkLnZhbHVlKSB7XG4gICAgICAvLyAgICAgY29udHJvbC5zZXRWYWx1ZShmaWVsZC52YWx1ZSk7XG4gICAgICAvLyB9XG4gICAgICByZXR1cm4gY29udHJvbDtcbiAgICB9XG5cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQ29udHJvbChmaWVsZDogSUtsZXNGaWVsZENvbmZpZyk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgaWYgKGZpZWxkLnR5cGUpIHtcbiAgICAgIHJldHVybiBjb21wb25lbnRNYXBwZXIuZmluZChjID0+IGMudHlwZSA9PT0gZmllbGQudHlwZSk/LmZhY3RvcnlcbiAgICAgICAgPyBjb21wb25lbnRNYXBwZXIuZmluZChjID0+IGMudHlwZSA9PT0gZmllbGQudHlwZSk/LmZhY3RvcnkoZmllbGQpIDoga2xlc0ZpZWxkQ29udHJvbEZhY3RvcnkoZmllbGQpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gY29tcG9uZW50TWFwcGVyLmZpbmQoYyA9PiBjLmNvbXBvbmVudCA9PT0gZmllbGQuY29tcG9uZW50KT8uZmFjdG9yeSA/XG4gICAgICAgIGNvbXBvbmVudE1hcHBlci5maW5kKGMgPT4gYy5jb21wb25lbnQgPT09IGZpZWxkLmNvbXBvbmVudCk/LmZhY3RvcnkoZmllbGQpIDoga2xlc0ZpZWxkQ29udHJvbEZhY3RvcnkoZmllbGQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRm9ybSgpIHtcbiAgICBjb25zdCBncm91cCA9IHRoaXMuZmIuZ3JvdXAoe30pO1xuXG4gICAgdGhpcy5maWVsZHMuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICBjb25zdCBjb250cm9sID0gdGhpcy5jcmVhdGVDb250cm9sKGZpZWxkKTtcbiAgICAgIGlmIChjb250cm9sKSB7XG4gICAgICAgIGdyb3VwLmFkZENvbnRyb2woZmllbGQubmFtZSwgY29udHJvbCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBncm91cC5zZXRWYWxpZGF0b3JzKHRoaXMudmFsaWRhdG9ycy5tYXAodiA9PiB2LnZhbGlkYXRvcikpO1xuICAgIGdyb3VwLnNldEFzeW5jVmFsaWRhdG9ycyh0aGlzLmFzeW5jVmFsaWRhdG9ycy5tYXAodiA9PiB2LnZhbGlkYXRvcikpO1xuXG4gICAgcmV0dXJuIGdyb3VwO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUFsbEZvcm1GaWVsZHMoZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwKSB7XG4gICAgT2JqZWN0LmtleXMoZm9ybUdyb3VwLmNvbnRyb2xzKS5mb3JFYWNoKGZpZWxkID0+IHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtR3JvdXAuZ2V0KGZpZWxkKTtcbiAgICAgIGNvbnRyb2wubWFya0FzVG91Y2hlZCh7IG9ubHlTZWxmOiB0cnVlIH0pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvZHluYW1pYy1mb3JtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUErQyxNQUFNLGVBQWUsQ0FBQztBQUM1SCxPQUFPLEVBQThHLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25MLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7QUFJcEUsTUFBTSw0QkFBNEIsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDO0FBQ2hGLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxXQUFXLEdBQUc7SUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDO0lBQ3hFLE9BQU8sNEJBQTRCLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUM7QUFFRixNQUFNLGdDQUFnQyxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDO0FBQy9FLGVBQWUsQ0FBQyxTQUFTLENBQUMsV0FBVyxHQUFHO0lBQ3RDLE1BQU0sTUFBTSxHQUFHLGdDQUFnQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDdkUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FB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QkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT25Jbml0LCBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCwgVW50eXBlZEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JGbiwgQXN5bmNWYWxpZGF0b3JGbiwgQWJzdHJhY3RDb250cm9sLCBGb3JtQXJyYXksIEZvcm1Hcm91cCwgRm9ybUNvbnRyb2xEaXJlY3RpdmUsIEZvcm1Db250cm9sTmFtZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNvbXBvbmVudE1hcHBlciB9IGZyb20gJy4vZGVjb3JhdG9ycy9jb21wb25lbnQuZGVjb3JhdG9yJztcbmltcG9ydCB7IEVudW1UeXBlIH0gZnJvbSAnLi9lbnVtcy90eXBlLmVudW0nO1xuaW1wb3J0IHsga2xlc0ZpZWxkQ29udHJvbEZhY3RvcnkgfSBmcm9tICcuL2ZhY3Rvcmllcy9maWVsZC5mYWN0b3J5JztcbmltcG9ydCB7IElLbGVzRmllbGRDb25maWcgfSBmcm9tICcuL2ludGVyZmFjZXMvZmllbGQuY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJS2xlc1ZhbGlkYXRvciB9IGZyb20gJy4vaW50ZXJmYWNlcy92YWxpZGF0b3IuaW50ZXJmYWNlJztcblxuY29uc3Qgb3JpZ2luRm9ybUNvbnRyb2xOZ09uQ2hhbmdlcyA9IEZvcm1Db250cm9sRGlyZWN0aXZlLnByb3RvdHlwZS5uZ09uQ2hhbmdlcztcbkZvcm1Db250cm9sRGlyZWN0aXZlLnByb3RvdHlwZS5uZ09uQ2hhbmdlcyA9IGZ1bmN0aW9uICgpIHtcbiAgdGhpcy5mb3JtLm5hdGl2ZUVsZW1lbnQgPSB0aGlzLnZhbHVlQWNjZXNzb3IuX2VsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQ7XG4gIHJldHVybiBvcmlnaW5Gb3JtQ29udHJvbE5nT25DaGFuZ2VzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG59O1xuXG5jb25zdCBvcmlnaW5Gb3JtQ29udHJvbE5hbWVOZ09uQ2hhbmdlcyA9IEZvcm1Db250cm9sTmFtZS5wcm90b3R5cGUubmdPbkNoYW5nZXM7XG5Gb3JtQ29udHJvbE5hbWUucHJvdG90eXBlLm5nT25DaGFuZ2VzID0gZnVuY3Rpb24gKCkge1xuICBjb25zdCByZXN1bHQgPSBvcmlnaW5Gb3JtQ29udHJvbE5hbWVOZ09uQ2hhbmdlcy5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICB0aGlzLmNvbnRyb2wubmF0aXZlRWxlbWVudCA9IHRoaXMudmFsdWVBY2Nlc3Nvci5fZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudDtcbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbkBDb21wb25lbnQoe1xuICBleHBvcnRBczogJ2tsZXNEeW5hbWljRm9ybScsXG4gIHNlbGVjdG9yOiAnYXBwLWtsZXMtZHluYW1pYy1mb3JtJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8Zm9ybSBjbGFzcz1cInt7b3JpZW50YXRpb25DbGFzc319XCIgW25nQ2xhc3NdPVwiZm9ybUNsYXNzXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgKHN1Ym1pdCk9XCJvblN1Ym1pdCgkZXZlbnQpXCI+XG4gICAgICAgIEBmb3IgKGZpZWxkIG9mIGZpZWxkczsgdHJhY2sgZmllbGQubmFtZSkge1xuICAgICAgICAgICAgQGlmIChmaWVsZC52aXNpYmxlICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIga2xlc0R5bmFtaWNGaWVsZCBbZmllbGRdPVwiZmllbGRcIiBbZ3JvdXBdPVwiZm9ybVwiIFtzaWJsaW5nRmllbGRzXT1cImZpZWxkc1wiPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpZiAoZm9ybSAmJiBmb3JtLmVycm9ycyl7XG4gICAgICAgICAgPG1hdC1lcnJvciBtYXRFcnJvckZvcm0gW2Zvcm1dPVwiZm9ybVwiIFt2YWxpZGF0aW9uc109XCJ2YWxpZGF0b3JzXCIgW2FzeW5jVmFsaWRhdGlvbnNdPVwiYXN5bmNWYWxpZGF0b3JzXCI+PC9tYXQtZXJyb3I+XG4gICAgICAgIH1cbiAgICA8L2Zvcm0+XG4gICAgYCxcbiAgc3R5bGVzOiBbXG4gICAgJy5keW5hbWljLWZvcm0tY29sdW1uIHsgZGlzcGxheTogZmxleDtmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9JyxcbiAgICAnLmR5bmFtaWMtZm9ybS1jb2x1bW4gPiAqIHsgd2lkdGg6IDEwMCU7IH0nLFxuICAgICcuZHluYW1pYy1mb3JtLXJvdyB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBmbGV4LXdyYXA6d3JhcDsgZ2FwOjEwcHg7IGFsaWduLWl0ZW1zOiBiYXNlbGluZX0nLFxuICAgICcuZHluYW1pYy1mb3JtLXJvdyA+ICogeyB3aWR0aDogMTAwJTsgfScsXG4gICAgJy5keW5hbWljLWZvcm0tZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IH0nLFxuICAgICcuZHluYW1pYy1mb3JtLWlubGluZS1ncmlkIHsgZGlzcGxheTogaW5saW5lLWdyaWQ7IH0nLFxuICBdXG5cbn0pXG5leHBvcnQgY2xhc3MgS2xlc0R5bmFtaWNGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBmaWVsZHM6IElLbGVzRmllbGRDb25maWdbXSA9IFtdO1xuICBASW5wdXQoKSB2YWxpZGF0b3JzOiBJS2xlc1ZhbGlkYXRvcjxWYWxpZGF0b3JGbj5bXSA9IFtdO1xuICBASW5wdXQoKSBhc3luY1ZhbGlkYXRvcnM6IElLbGVzVmFsaWRhdG9yPEFzeW5jVmFsaWRhdG9yRm4+W10gPSBbXTtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1vdXRwdXQtbmF0aXZlXG4gIEBPdXRwdXQoKSBzdWJtaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBfb25Mb2FkZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQElucHV0KCkgZGlyZWN0aW9uOiAnY29sdW1uJyB8ICdyb3cnIHwgJ2dyaWQnIHwgJ2lubGluZS1ncmlkJyA9ICdjb2x1bW4nO1xuICBASW5wdXQoKSBmb3JtQ2xhc3M6IHN0cmluZyB8IHN0cmluZ1tdIHwgU2V0PHN0cmluZz4gfCB7IFtrbGFzczogc3RyaW5nXTogYW55OyB9O1xuXG4gIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gIG9yaWVudGF0aW9uQ2xhc3M6ICdkeW5hbWljLWZvcm0tY29sdW1uJyB8ICdkeW5hbWljLWZvcm0tcm93JyB8ICdkeW5hbWljLWZvcm0tZ3JpZCcgfCAnZHluYW1pYy1mb3JtLWlubGluZS1ncmlkJyA9ICdkeW5hbWljLWZvcm0tY29sdW1uJztcblxuICBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS52YWx1ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IFVudHlwZWRGb3JtQnVpbGRlciwgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cblxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuY3JlYXRlRm9ybSgpO1xuICAgIHRoaXMuc2V0T3JpZW50YXRpb25DbGFzcygpO1xuICAgIHRoaXMuX29uTG9hZGVkLmVtaXQoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIWNoYW5nZXMuZmllbGRzPy5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy51cGRhdGVGb3JtKCk7XG4gICAgICB0aGlzLl9vbkxvYWRlZC5lbWl0KCk7XG4gICAgfVxuXG4gICAgaWYgKCFjaGFuZ2VzLnZhbGlkYXRvcnM/LmZpcnN0Q2hhbmdlICYmIHRoaXMuZm9ybSkge1xuICAgICAgdGhpcy5mb3JtLnNldFZhbGlkYXRvcnModGhpcy52YWxpZGF0b3JzLm1hcCh2ID0+IHYudmFsaWRhdG9yKSk7XG4gICAgfVxuXG4gICAgaWYgKCFjaGFuZ2VzLmFzeW5jVmFsaWRhdG9ycz8uZmlyc3RDaGFuZ2UgJiYgdGhpcy5mb3JtKSB7XG4gICAgICB0aGlzLmZvcm0uc2V0QXN5bmNWYWxpZGF0b3JzKHRoaXMuYXN5bmNWYWxpZGF0b3JzLm1hcCh2ID0+IHYudmFsaWRhdG9yKSk7XG4gICAgfVxuXG4gICAgaWYgKCFjaGFuZ2VzLmRpcmVjdGlvbj8uZmlyc3RDaGFuZ2UpIHtcbiAgICAgIHRoaXMub3JpZW50YXRpb25DbGFzcyA9IHRoaXMuZGlyZWN0aW9uID09PSAncm93JyA/ICdkeW5hbWljLWZvcm0tcm93JyA6ICdkeW5hbWljLWZvcm0tY29sdW1uJztcbiAgICB9XG5cbiAgfVxuXG4gIG9uU3VibWl0KGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKHRoaXMuZm9ybS52YWxpZCkge1xuICAgICAgdGhpcy5zdWJtaXQuZW1pdCh0aGlzLmZvcm0udmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbGlkYXRlQWxsRm9ybUZpZWxkcyh0aGlzLmZvcm0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0T3JpZW50YXRpb25DbGFzcygpIHtcbiAgICBzd2l0Y2ggKHRoaXMuZGlyZWN0aW9uKSB7XG4gICAgICBjYXNlICdjb2x1bW4nOlxuICAgICAgICB0aGlzLm9yaWVudGF0aW9uQ2xhc3MgPSAnZHluYW1pYy1mb3JtLWNvbHVtbic7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncm93JzpcbiAgICAgICAgdGhpcy5vcmllbnRhdGlvbkNsYXNzID0gJ2R5bmFtaWMtZm9ybS1yb3cnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2dyaWQnOlxuICAgICAgICB0aGlzLm9yaWVudGF0aW9uQ2xhc3MgPSAnZHluYW1pYy1mb3JtLWdyaWQnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2lubGluZS1ncmlkJzpcbiAgICAgICAgdGhpcy5vcmllbnRhdGlvbkNsYXNzID0gJ2R5bmFtaWMtZm9ybS1pbmxpbmUtZ3JpZCc7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVGb3JtKCkge1xuICAgIE9iamVjdC5rZXlzKHRoaXMuZm9ybS5jb250cm9scykuZmlsdGVyKGtleSA9PiB7XG4gICAgICByZXR1cm4gIXRoaXMuZmllbGRzLm1hcChmaWVsZCA9PiBmaWVsZC5uYW1lKS5pbmNsdWRlcyhrZXkpO1xuICAgIH0pLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIHRoaXMuZm9ybS5yZW1vdmVDb250cm9sKGtleSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmZpZWxkc1xuICAgICAgLy8gLmZpbHRlcihmaWVsZCA9PiAhdGhpcy5mb3JtLmNvbnRyb2xzW2ZpZWxkLm5hbWVdKVxuICAgICAgLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gRW51bVR5cGUubGluZUJyZWFrKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZm9ybS5jb250cm9sc1tmaWVsZC5uYW1lXSkge1xuICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLnVwZGF0ZUNvbnRyb2woZmllbGQsIHRoaXMuZm9ybS5jb250cm9sc1tmaWVsZC5uYW1lXSk7XG4gICAgICAgICAgdGhpcy5mb3JtLnNldENvbnRyb2woZmllbGQubmFtZSwgY29udHJvbCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmNyZWF0ZUNvbnRyb2woZmllbGQpO1xuICAgICAgICAgIGlmIChjb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm0uYWRkQ29udHJvbChmaWVsZC5uYW1lLCBjb250cm9sKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUNvbnRyb2woZmllbGQ6IElLbGVzRmllbGRDb25maWcsIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgaWYgKGZpZWxkLnR5cGUgPT09IEVudW1UeXBlLmFycmF5KSB7XG4gICAgICBjb25zdCBhcnJheSA9IGNvbnRyb2wgYXMgRm9ybUFycmF5O1xuICAgICAgLypUT0RPKi9cbiAgICAgIHJldHVybiBhcnJheTtcbiAgICB9IGVsc2UgaWYgKGZpZWxkLnR5cGUgPT09IEVudW1UeXBlLmdyb3VwKSB7XG4gICAgICBjb25zdCBncm91cCA9IGNvbnRyb2wgYXMgRm9ybUdyb3VwO1xuICAgICAgaWYgKGZpZWxkLmNvbGxlY3Rpb25zICYmIEFycmF5LmlzQXJyYXkoZmllbGQuY29sbGVjdGlvbnMpKSB7XG4gICAgICAgIGZpZWxkLmNvbGxlY3Rpb25zLmZvckVhY2goc3ViZmllbGQgPT4ge1xuICAgICAgICAgIGlmIChncm91cC5jb250cm9sc1tzdWJmaWVsZF0pIHtcbiAgICAgICAgICAgIGNvbnRyb2wgPSB0aGlzLnVwZGF0ZUNvbnRyb2woc3ViZmllbGQsIGdyb3VwLmNvbnRyb2xzW3N1YmZpZWxkXSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnRyb2wgPSB0aGlzLmNyZWF0ZUNvbnRyb2woc3ViZmllbGQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoY29udHJvbCkge1xuICAgICAgICAgICAgZ3JvdXAuc2V0Q29udHJvbChzdWJmaWVsZC5uYW1lLCBjb250cm9sLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGdyb3VwO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBjb250cm9sLnNldFZhbGlkYXRvcnModGhpcy5iaW5kVmFsaWRhdGlvbnMoZmllbGQudmFsaWRhdGlvbnMgfHwgW10pKTtcbiAgICAgIC8vIGNvbnRyb2wuc2V0QXN5bmNWYWxpZGF0b3JzKHRoaXMuYmluZEFzeW5jVmFsaWRhdGlvbnMoZmllbGQuYXN5bmNWYWxpZGF0aW9ucyB8fCBbXSkpO1xuICAgICAgLy8gaWYgKGZpZWxkLnZhbHVlICYmIGNvbnRyb2wudmFsdWUgIT09IGZpZWxkLnZhbHVlKSB7XG4gICAgICAvLyAgICAgY29udHJvbC5zZXRWYWx1ZShmaWVsZC52YWx1ZSk7XG4gICAgICAvLyB9XG4gICAgICByZXR1cm4gY29udHJvbDtcbiAgICB9XG5cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQ29udHJvbChmaWVsZDogSUtsZXNGaWVsZENvbmZpZyk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgaWYgKGZpZWxkLnR5cGUpIHtcbiAgICAgIHJldHVybiBjb21wb25lbnRNYXBwZXIuZmluZChjID0+IGMudHlwZSA9PT0gZmllbGQudHlwZSk/LmZhY3RvcnlcbiAgICAgICAgPyBjb21wb25lbnRNYXBwZXIuZmluZChjID0+IGMudHlwZSA9PT0gZmllbGQudHlwZSk/LmZhY3RvcnkoZmllbGQsIHRoaXMucmVmKSA6IGtsZXNGaWVsZENvbnRyb2xGYWN0b3J5KGZpZWxkLCB0aGlzLnJlZik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBjb21wb25lbnRNYXBwZXIuZmluZChjID0+IGMuY29tcG9uZW50ID09PSBmaWVsZC5jb21wb25lbnQpPy5mYWN0b3J5ID9cbiAgICAgICAgY29tcG9uZW50TWFwcGVyLmZpbmQoYyA9PiBjLmNvbXBvbmVudCA9PT0gZmllbGQuY29tcG9uZW50KT8uZmFjdG9yeShmaWVsZCwgdGhpcy5yZWYpIDoga2xlc0ZpZWxkQ29udHJvbEZhY3RvcnkoZmllbGQsIHRoaXMucmVmKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZvcm0oKSB7XG4gICAgY29uc3QgZ3JvdXAgPSB0aGlzLmZiLmdyb3VwKHt9KTtcblxuICAgIHRoaXMuZmllbGRzLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuY3JlYXRlQ29udHJvbChmaWVsZCk7XG4gICAgICBpZiAoY29udHJvbCkge1xuICAgICAgICBncm91cC5hZGRDb250cm9sKGZpZWxkLm5hbWUsIGNvbnRyb2wpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZ3JvdXAuc2V0VmFsaWRhdG9ycyh0aGlzLnZhbGlkYXRvcnMubWFwKHYgPT4gdi52YWxpZGF0b3IpKTtcbiAgICBncm91cC5zZXRBc3luY1ZhbGlkYXRvcnModGhpcy5hc3luY1ZhbGlkYXRvcnMubWFwKHYgPT4gdi52YWxpZGF0b3IpKTtcblxuICAgIHJldHVybiBncm91cDtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVBbGxGb3JtRmllbGRzKGZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cCkge1xuICAgIE9iamVjdC5rZXlzKGZvcm1Hcm91cC5jb250cm9scykuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmdldChmaWVsZCk7XG4gICAgICBjb250cm9sLm1hcmtBc1RvdWNoZWQoeyBvbmx5U2VsZjogdHJ1ZSB9KTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,6 +1,6 @@
1
1
  import { KlesFormControl } from "../controls/default.control";
2
- export const klesFieldControlFactory = (field) => {
3
- const factory = new KlesFormControl(field);
2
+ export const klesFieldControlFactory = (field, ref) => {
3
+ const factory = new KlesFormControl(field, ref);
4
4
  return factory.create();
5
5
  };
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvZmFjdG9yaWVzL2ZpZWxkLmZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBSTlELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQUMsS0FBdUIsRUFBRSxFQUFFO0lBQy9ELE1BQU0sT0FBTyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLE9BQU8sT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQzVCLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtsZXNGb3JtQ29udHJvbCB9IGZyb20gXCIuLi9jb250cm9scy9kZWZhdWx0LmNvbnRyb2xcIjtcbmltcG9ydCB7IElLbGVzRmllbGRDb25maWcgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9maWVsZC5jb25maWcuaW50ZXJmYWNlXCI7XG5cblxuZXhwb3J0IGNvbnN0IGtsZXNGaWVsZENvbnRyb2xGYWN0b3J5ID0gKGZpZWxkOiBJS2xlc0ZpZWxkQ29uZmlnKSA9PiB7XG4gICAgY29uc3QgZmFjdG9yeSA9IG5ldyBLbGVzRm9ybUNvbnRyb2woZmllbGQpO1xuICAgIHJldHVybiBmYWN0b3J5LmNyZWF0ZSgpO1xufVxuXG5cblxuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvZmFjdG9yaWVzL2ZpZWxkLmZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBSTlELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQUMsS0FBdUIsRUFBRSxHQUF1QixFQUFFLEVBQUU7SUFDeEYsTUFBTSxPQUFPLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2hELE9BQU8sT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQzVCLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEtsZXNGb3JtQ29udHJvbCB9IGZyb20gXCIuLi9jb250cm9scy9kZWZhdWx0LmNvbnRyb2xcIjtcbmltcG9ydCB7IElLbGVzRmllbGRDb25maWcgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9maWVsZC5jb25maWcuaW50ZXJmYWNlXCI7XG5cblxuZXhwb3J0IGNvbnN0IGtsZXNGaWVsZENvbnRyb2xGYWN0b3J5ID0gKGZpZWxkOiBJS2xlc0ZpZWxkQ29uZmlnLCByZWY/OiBDaGFuZ2VEZXRlY3RvclJlZikgPT4ge1xuICAgIGNvbnN0IGZhY3RvcnkgPSBuZXcgS2xlc0Zvcm1Db250cm9sKGZpZWxkLCByZWYpO1xuICAgIHJldHVybiBmYWN0b3J5LmNyZWF0ZSgpO1xufVxuXG5cblxuIl19
@@ -82,6 +82,7 @@ export * from './lib/controls/control.interface';
82
82
  export * from './lib/controls/default.control';
83
83
  export * from './lib/controls/group.control';
84
84
  export * from './lib/controls/range.control';
85
+ export * from './lib/controls/control.abstract';
85
86
  /**SELECTION */
86
87
  export * from './lib/selection/selection-model';
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyx5Q0FBeUMsQ0FBQztBQUV4RCxlQUFlO0FBQ2YsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywwQ0FBMEMsQ0FBQztBQUV6RCxTQUFTO0FBQ1QsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLG9DQUFvQyxDQUFDO0FBRW5ELFlBQVk7QUFDWixjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxXQUFXO0FBQ1gsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELGdCQUFnQjtBQUNoQixjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYywwQ0FBMEMsQ0FBQztBQUV6RCxhQUFhO0FBQ2IsY0FBYyxrQ0FBa0MsQ0FBQztBQUVqRCxnQkFBZ0I7QUFDaEIsY0FBYyx5Q0FBeUMsQ0FBQztBQUV4RCxVQUFVO0FBQ1YsY0FBYyw4QkFBOEIsQ0FBQztBQUU3QyxXQUFXO0FBQ1gsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDJCQUEyQixDQUFDO0FBRTFDLGdCQUFnQjtBQUNoQixjQUFjLHNDQUFzQyxDQUFDO0FBRXJELGVBQWU7QUFDZixjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWM7QUFDZCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsOEJBQThCLENBQUM7QUFFN0MsZUFBZTtBQUNmLGNBQWMsaUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGtsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIva2xlcy1tYXRlcmlhbC1keW5hbWljZm9ybXMubW9kdWxlJztcblxuLyoqRElSRUNUSVZFICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmUvZHluYW1pYy1maWVsZC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlL2R5bmFtaWMtY29tcG9uZW50LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmUvbWF0LWVycm9yLW1lc3NhZ2UuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZS9tYXQtZXJyb3ItZm9ybS5kaXJlY3RpdmUnO1xuXG4vKkZPUk1TKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1zL2J1dHRvbi1jb250cm9sLWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybXMvYnV0dG9uLWNvbnRyb2wuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1zL2J1dHRvbmNoZWNrZXItY29udHJvbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybXMvYnV0dG9uZmlsZS1jb250cm9sLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3Jtcy9mYWItY29udHJvbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybXMvbWluaS1mYWItY29udHJvbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybXMvaWNvbi1idXR0b24tY29udHJvbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybXMvaW5kZXRlcm1pbmF0ZS1jaGVja2JveCc7XG5cbi8qKkZJRUxEUyAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2JhZGdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvYnV0dG9uLWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9idXR0b25jaGVja2VyLWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9idXR0b25maWxlLWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9jaGVja2JveC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2NoZWNrYm94LWluZGV0ZXJtaW5hdGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9jb2xvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2RhdGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9maWVsZC5hYnN0cmFjdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9pbnB1dC5jbGVhcmFibGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9sYWJlbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2xpc3QtZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9yYWRpby5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL3NlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL3RleHRhcmVhLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvdGV4dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2NoaXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2ljb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9zZWxlY3Quc2VhcmNoLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvbGluZS1icmVhay5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2xpbmsuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9zbGlkZS10b2dnbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9zZWxlY3Rpb24tbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2J1dHRvbi10b29nbGUtZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9hcnJheS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL3JhbmdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvY2xlYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9zZWxlY3QubGF6eS1zZWFyY2guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9kYXRlLXRpbWUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9idXR0b24tZmFiLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvYnV0dG9uLW1pbmktZmFiLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvYnV0dG9uLWljb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9zZWxlY3Rpb24tbGlzdC5zZWFyY2guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9jb3B5LmNvbXBvbmVudCc7XG5cbi8qKkVOVU1TICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbnVtcy90eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW51bXMvYnV0dG9uLWF0dHJpYnV0ZS5lbnVtJztcblxuLyoqSU5URVJGQUNFUyAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9jb21wb25lbnQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvZmllbGQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvZmllbGQuY29uZmlnLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL3ZhbGlkYXRvci5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9kaXJlY3RpdmUuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvY2xlYXItY29udHJvbC5pbnRlcmZhY2UnO1xuXG4vKipNQVRDSEVSICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tYXRjaGVyL2Zvcm0tZXJyb3IubWF0Y2hlcic7XG5cbi8qKlZBTElEQVRPUlMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZhbGlkYXRvcnMvYXV0b2NvbXBsZXRlLnZhbGlkYXRvcic7XG5cbi8qKkZPUk0gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2R5bmFtaWMtZm9ybS5jb21wb25lbnQnO1xuXG4vKipQSVBFUyAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZS9hcnJheS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGUvdHJhbnNmb3JtLnBpcGUnO1xuXG4vKipERUNPUkFUT1JTICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kZWNvcmF0b3JzL2NvbXBvbmVudC5kZWNvcmF0b3InO1xuXG4vKipGQUNUT1JJRVMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZhY3Rvcmllcy9maWVsZC5mYWN0b3J5JztcblxuLyoqQ09OVFJPTFMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRyb2xzL2FycmF5LmNvbnRyb2wnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udHJvbHMvY29udHJvbC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udHJvbHMvZGVmYXVsdC5jb250cm9sJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRyb2xzL2dyb3VwLmNvbnRyb2wnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udHJvbHMvcmFuZ2UuY29udHJvbCc7XG5cbi8qKlNFTEVDVElPTiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VsZWN0aW9uL3NlbGVjdGlvbi1tb2RlbCc7XG5cbiJdfQ==
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyx5Q0FBeUMsQ0FBQztBQUV4RCxlQUFlO0FBQ2YsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywwQ0FBMEMsQ0FBQztBQUV6RCxTQUFTO0FBQ1QsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLG9DQUFvQyxDQUFDO0FBRW5ELFlBQVk7QUFDWixjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxXQUFXO0FBQ1gsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELGdCQUFnQjtBQUNoQixjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYywwQ0FBMEMsQ0FBQztBQUV6RCxhQUFhO0FBQ2IsY0FBYyxrQ0FBa0MsQ0FBQztBQUVqRCxnQkFBZ0I7QUFDaEIsY0FBYyx5Q0FBeUMsQ0FBQztBQUV4RCxVQUFVO0FBQ1YsY0FBYyw4QkFBOEIsQ0FBQztBQUU3QyxXQUFXO0FBQ1gsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDJCQUEyQixDQUFDO0FBRTFDLGdCQUFnQjtBQUNoQixjQUFjLHNDQUFzQyxDQUFDO0FBRXJELGVBQWU7QUFDZixjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWM7QUFDZCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRCxlQUFlO0FBQ2YsY0FBYyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Yga2xlcy1tYXRlcmlhbC1keW5hbWljZm9ybXNcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9rbGVzLW1hdGVyaWFsLWR5bmFtaWNmb3Jtcy5tb2R1bGUnO1xuXG4vKipESVJFQ1RJVkUgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZS9keW5hbWljLWZpZWxkLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmUvZHluYW1pYy1jb21wb25lbnQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZS9tYXQtZXJyb3ItbWVzc2FnZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlL21hdC1lcnJvci1mb3JtLmRpcmVjdGl2ZSc7XG5cbi8qRk9STVMqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybXMvYnV0dG9uLWNvbnRyb2wtYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3Jtcy9idXR0b24tY29udHJvbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybXMvYnV0dG9uY2hlY2tlci1jb250cm9sLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3Jtcy9idXR0b25maWxlLWNvbnRyb2wuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1zL2ZhYi1jb250cm9sLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3Jtcy9taW5pLWZhYi1jb250cm9sLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3Jtcy9pY29uLWJ1dHRvbi1jb250cm9sLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3Jtcy9pbmRldGVybWluYXRlLWNoZWNrYm94JztcblxuLyoqRklFTERTICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvYmFkZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9idXR0b24tZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2J1dHRvbmNoZWNrZXItZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2J1dHRvbmZpbGUtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2NoZWNrYm94LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2NvbG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvZGF0ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2ZpZWxkLmFic3RyYWN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2lucHV0LmNsZWFyYWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2xhYmVsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvbGlzdC1maWVsZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL3JhZGlvLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvdGV4dGFyZWEuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy90ZXh0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvY2hpcC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2dyb3VwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvaWNvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL3NlbGVjdC5zZWFyY2guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9saW5lLWJyZWFrLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvbGluay5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL3NsaWRlLXRvZ2dsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL3NlbGVjdGlvbi1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvYnV0dG9uLXRvb2dsZS1ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2FycmF5LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvcmFuZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9jbGVhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL3NlbGVjdC5sYXp5LXNlYXJjaC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2RhdGUtdGltZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2J1dHRvbi1mYWIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9idXR0b24tbWluaS1mYWIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9idXR0b24taWNvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL3NlbGVjdGlvbi1saXN0LnNlYXJjaC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2NvcHkuY29tcG9uZW50JztcblxuLyoqRU5VTVMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2VudW1zL3R5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbnVtcy9idXR0b24tYXR0cmlidXRlLmVudW0nO1xuXG4vKipJTlRFUkZBQ0VTICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2NvbXBvbmVudC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9maWVsZC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9maWVsZC5jb25maWcuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvdmFsaWRhdG9yLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2RpcmVjdGl2ZS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9jbGVhci1jb250cm9sLmludGVyZmFjZSc7XG5cbi8qKk1BVENIRVIgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL21hdGNoZXIvZm9ybS1lcnJvci5tYXRjaGVyJztcblxuLyoqVkFMSURBVE9SUyAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdmFsaWRhdG9ycy9hdXRvY29tcGxldGUudmFsaWRhdG9yJztcblxuLyoqRk9STSAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHluYW1pYy1mb3JtLmNvbXBvbmVudCc7XG5cbi8qKlBJUEVTICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlL2FycmF5LnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZS90cmFuc2Zvcm0ucGlwZSc7XG5cbi8qKkRFQ09SQVRPUlMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RlY29yYXRvcnMvY29tcG9uZW50LmRlY29yYXRvcic7XG5cbi8qKkZBQ1RPUklFUyAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmFjdG9yaWVzL2ZpZWxkLmZhY3RvcnknO1xuXG4vKipDT05UUk9MUyAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udHJvbHMvYXJyYXkuY29udHJvbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250cm9scy9jb250cm9sLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250cm9scy9kZWZhdWx0LmNvbnRyb2wnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udHJvbHMvZ3JvdXAuY29udHJvbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250cm9scy9yYW5nZS5jb250cm9sJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRyb2xzL2NvbnRyb2wuYWJzdHJhY3QnO1xuXG4vKipTRUxFQ1RJT04gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlbGVjdGlvbi9zZWxlY3Rpb24tbW9kZWwnO1xuXG4iXX0=
@@ -3,9 +3,9 @@ import { Component, Injector, Directive, Input, EventEmitter, Output, Injectable
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i2$1 from '@angular/forms';
6
- import { FormControl, Validators, FormControlDirective, FormControlName, FormArray, FormGroup, NG_VALUE_ACCESSOR, UntypedFormGroup, UntypedFormControl, ReactiveFormsModule, FormsModule } from '@angular/forms';
6
+ import { Validators, FormControl, FormControlDirective, FormControlName, FormArray, FormGroup, NG_VALUE_ACCESSOR, UntypedFormGroup, UntypedFormControl, ReactiveFormsModule, FormsModule } from '@angular/forms';
7
7
  import { concat, of, Subject, Observable, combineLatest, BehaviorSubject, ReplaySubject } from 'rxjs';
8
- import { take, catchError, map, takeUntil, distinctUntilChanged, filter, switchMap, startWith, debounceTime, shareReplay } from 'rxjs/operators';
8
+ import { tap, take, catchError, map, takeUntil, distinctUntilChanged, filter, switchMap, startWith, debounceTime, shareReplay } from 'rxjs/operators';
9
9
  import * as i4 from '@angular/material/form-field';
10
10
  import { MatFormFieldModule, MatFormField } from '@angular/material/form-field';
11
11
  import * as i5$1 from '@angular/material/core';
@@ -73,12 +73,38 @@ import * as i7$1 from '@3kles/kles-material-datepicker';
73
73
  import { KlesMaterialDatepickerModule } from '@3kles/kles-material-datepicker';
74
74
  import * as i1$2 from '@angular/cdk/clipboard';
75
75
 
76
- class KlesFormControl {
77
- constructor(field) {
76
+ class KlesAbstractFormControl {
77
+ constructor(field, ref) {
78
78
  this.field = field;
79
+ this.ref = ref;
80
+ }
81
+ bindValidations(validations) {
82
+ if (validations.length > 0) {
83
+ return Validators.compose(validations.map((validation) => validation.validator));
84
+ }
85
+ return null;
86
+ }
87
+ bindAsyncValidations(validations) {
88
+ if (validations.length > 0) {
89
+ return Validators.composeAsync(validations.map((validation) => {
90
+ return ((c) => {
91
+ const validator$ = validation.validator(c);
92
+ if (validator$ instanceof Promise) {
93
+ return validator$.finally(() => this.ref?.markForCheck());
94
+ }
95
+ else {
96
+ return validator$.pipe(tap(() => this.ref?.markForCheck()));
97
+ }
98
+ });
99
+ }));
100
+ }
101
+ return null;
79
102
  }
103
+ }
104
+
105
+ class KlesFormControl extends KlesAbstractFormControl {
80
106
  create() {
81
- const control = new FormControl({ value: this.field.value, disabled: this.field.disabled }, {
107
+ const control = new FormControl({ value: this.field.value, disabled: this.field.disabled || false }, {
82
108
  nonNullable: this.field.nonNullable || false,
83
109
  validators: this.bindValidations(this.field.validations || []),
84
110
  asyncValidators: this.bindAsyncValidations(this.field.asyncValidations || []),
@@ -104,30 +130,10 @@ class KlesFormControl {
104
130
  }
105
131
  return control;
106
132
  }
107
- bindValidations(validations) {
108
- if (validations.length > 0) {
109
- const validList = [];
110
- validations.forEach(valid => {
111
- validList.push(valid.validator);
112
- });
113
- return Validators.compose(validList);
114
- }
115
- return null;
116
- }
117
- bindAsyncValidations(validations) {
118
- if (validations.length > 0) {
119
- const validList = [];
120
- validations.forEach(valid => {
121
- validList.push(valid.validator);
122
- });
123
- return Validators.composeAsync(validList);
124
- }
125
- return null;
126
- }
127
133
  }
128
134
 
129
- const klesFieldControlFactory = (field) => {
130
- const factory = new KlesFormControl(field);
135
+ const klesFieldControlFactory = (field, ref) => {
136
+ const factory = new KlesFormControl(field, ref);
131
137
  return factory.create();
132
138
  };
133
139
 
@@ -348,8 +354,9 @@ class KlesDynamicFormComponent {
348
354
  get value() {
349
355
  return this.form.value;
350
356
  }
351
- constructor(fb) {
357
+ constructor(fb, ref) {
352
358
  this.fb = fb;
359
+ this.ref = ref;
353
360
  this.fields = [];
354
361
  this.validators = [];
355
362
  this.asyncValidators = [];
@@ -464,11 +471,11 @@ class KlesDynamicFormComponent {
464
471
  createControl(field) {
465
472
  if (field.type) {
466
473
  return componentMapper.find(c => c.type === field.type)?.factory
467
- ? componentMapper.find(c => c.type === field.type)?.factory(field) : klesFieldControlFactory(field);
474
+ ? componentMapper.find(c => c.type === field.type)?.factory(field, this.ref) : klesFieldControlFactory(field, this.ref);
468
475
  }
469
476
  else {
470
477
  return componentMapper.find(c => c.component === field.component)?.factory ?
471
- componentMapper.find(c => c.component === field.component)?.factory(field) : klesFieldControlFactory(field);
478
+ componentMapper.find(c => c.component === field.component)?.factory(field, this.ref) : klesFieldControlFactory(field, this.ref);
472
479
  }
473
480
  }
474
481
  createForm() {
@@ -489,7 +496,7 @@ class KlesDynamicFormComponent {
489
496
  control.markAsTouched({ onlySelf: true });
490
497
  });
491
498
  }
492
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KlesDynamicFormComponent, deps: [{ token: i2$1.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
499
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KlesDynamicFormComponent, deps: [{ token: i2$1.UntypedFormBuilder }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
493
500
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: KlesDynamicFormComponent, selector: "app-kles-dynamic-form", inputs: { fields: "fields", validators: "validators", asyncValidators: "asyncValidators", direction: "direction", formClass: "formClass" }, outputs: { submit: "submit", _onLoaded: "_onLoaded" }, exportAs: ["klesDynamicForm"], usesOnChanges: true, ngImport: i0, template: `
494
501
  <form class="{{orientationClass}}" [ngClass]="formClass" [formGroup]="form" (submit)="onSubmit($event)">
495
502
  @for (field of fields; track field.name) {
@@ -519,7 +526,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
519
526
  }
520
527
  </form>
521
528
  `, styles: [".dynamic-form-column{display:flex;flex-direction:column}\n", ".dynamic-form-column>*{width:100%}\n", ".dynamic-form-row{display:inline-flex;flex-wrap:wrap;gap:10px;align-items:baseline}\n", ".dynamic-form-row>*{width:100%}\n", ".dynamic-form-grid{display:grid}\n", ".dynamic-form-inline-grid{display:inline-grid}\n"] }]
522
- }], ctorParameters: () => [{ type: i2$1.UntypedFormBuilder }], propDecorators: { fields: [{
529
+ }], ctorParameters: () => [{ type: i2$1.UntypedFormBuilder }, { type: i0.ChangeDetectorRef }], propDecorators: { fields: [{
523
530
  type: Input
524
531
  }], validators: [{
525
532
  type: Input
@@ -5166,5 +5173,5 @@ function autocompleteStringValidator(validOptions, optional) {
5166
5173
  * Generated bundle index. Do not edit.
5167
5174
  */
5168
5175
 
5169
- export { ArrayFormatPipe, EnumButtonAttribute, EnumType, FieldMapper, KlesButtonBase, KlesButtonCheckerComponent, KlesButtonComponent, KlesButtonFileComponent, KlesComponentDirective, KlesDynamicFieldDirective, KlesDynamicFormComponent, KlesFabComponent, KlesFieldAbstract, KlesFormArray, KlesFormArrayComponent, KlesFormBadgeComponent, KlesFormButtonCheckerComponent, KlesFormButtonComponent, KlesFormButtonFileComponent, KlesFormButtonToogleGroupComponent, KlesFormCheckboxComponent, KlesFormCheckboxIndeterminateComponent, KlesFormChipComponent, KlesFormClearComponent, KlesFormColorComponent, KlesFormControl, KlesFormCopyComponent, KlesFormDateComponent, KlesFormDateTimeComponent, KlesFormErrorStateMatcher, KlesFormFabComponent, KlesFormGroup, KlesFormGroupComponent, KlesFormIconButtonComponent, KlesFormIconComponent, KlesFormInputClearableComponent, KlesFormInputComponent, KlesFormLabelComponent, KlesFormLineBreakComponent, KlesFormLinkComponent, KlesFormListFieldComponent, KlesFormMiniFabComponent, KlesFormRadioComponent, KlesFormRange, KlesFormRangeComponent, KlesFormSelectComponent, KlesFormSelectLazySearchComponent, KlesFormSelectSearchComponent, KlesFormSelectionListComponent, KlesFormSelectionListSearchComponent, KlesFormSlideToggleComponent, KlesFormTextComponent, KlesFormTextareaComponent, KlesIconButtonComponent, KlesIndeterminateCheckboxComponent, KlesMaterialDynamicformsModule, KlesMiniFabComponent, KlesSelectionModel, KlesTransformPipe, MatErrorFormDirective, MatErrorMessageDirective, autocompleteObjectValidator, autocompleteStringValidator, componentMapper, klesFieldControlFactory };
5176
+ export { ArrayFormatPipe, EnumButtonAttribute, EnumType, FieldMapper, KlesAbstractFormControl, KlesButtonBase, KlesButtonCheckerComponent, KlesButtonComponent, KlesButtonFileComponent, KlesComponentDirective, KlesDynamicFieldDirective, KlesDynamicFormComponent, KlesFabComponent, KlesFieldAbstract, KlesFormArray, KlesFormArrayComponent, KlesFormBadgeComponent, KlesFormButtonCheckerComponent, KlesFormButtonComponent, KlesFormButtonFileComponent, KlesFormButtonToogleGroupComponent, KlesFormCheckboxComponent, KlesFormCheckboxIndeterminateComponent, KlesFormChipComponent, KlesFormClearComponent, KlesFormColorComponent, KlesFormControl, KlesFormCopyComponent, KlesFormDateComponent, KlesFormDateTimeComponent, KlesFormErrorStateMatcher, KlesFormFabComponent, KlesFormGroup, KlesFormGroupComponent, KlesFormIconButtonComponent, KlesFormIconComponent, KlesFormInputClearableComponent, KlesFormInputComponent, KlesFormLabelComponent, KlesFormLineBreakComponent, KlesFormLinkComponent, KlesFormListFieldComponent, KlesFormMiniFabComponent, KlesFormRadioComponent, KlesFormRange, KlesFormRangeComponent, KlesFormSelectComponent, KlesFormSelectLazySearchComponent, KlesFormSelectSearchComponent, KlesFormSelectionListComponent, KlesFormSelectionListSearchComponent, KlesFormSlideToggleComponent, KlesFormTextComponent, KlesFormTextareaComponent, KlesIconButtonComponent, KlesIndeterminateCheckboxComponent, KlesMaterialDynamicformsModule, KlesMiniFabComponent, KlesSelectionModel, KlesTransformPipe, MatErrorFormDirective, MatErrorMessageDirective, autocompleteObjectValidator, autocompleteStringValidator, componentMapper, klesFieldControlFactory };
5170
5177
  //# sourceMappingURL=3kles-kles-material-dynamicforms.mjs.map