@3kles/kles-material-dynamicforms 17.7.0 → 17.7.2

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 (53) hide show
  1. package/esm2022/lib/directive/dynamic-component.directive.mjs +3 -3
  2. package/esm2022/lib/directive/dynamic-field.directive.mjs +10 -5
  3. package/esm2022/lib/directive/mat-error-message.directive.mjs +3 -3
  4. package/esm2022/lib/dynamic-form.component.mjs +3 -3
  5. package/esm2022/lib/fields/array.component.mjs +3 -3
  6. package/esm2022/lib/fields/badge.component.mjs +3 -3
  7. package/esm2022/lib/fields/button-fab.component.mjs +3 -3
  8. package/esm2022/lib/fields/button-form.component.mjs +3 -3
  9. package/esm2022/lib/fields/button-icon.component.mjs +3 -3
  10. package/esm2022/lib/fields/button-mini-fab.component.mjs +3 -3
  11. package/esm2022/lib/fields/button-toogle-group.component.mjs +3 -3
  12. package/esm2022/lib/fields/buttonchecker-form.component.mjs +3 -3
  13. package/esm2022/lib/fields/buttonfile-form.component.mjs +3 -3
  14. package/esm2022/lib/fields/checkbox.component.mjs +3 -3
  15. package/esm2022/lib/fields/chip.component.mjs +3 -3
  16. package/esm2022/lib/fields/clear.component.mjs +3 -3
  17. package/esm2022/lib/fields/color.component.mjs +3 -3
  18. package/esm2022/lib/fields/date-time.component.mjs +8 -8
  19. package/esm2022/lib/fields/date.component.mjs +9 -9
  20. package/esm2022/lib/fields/field.abstract.mjs +3 -3
  21. package/esm2022/lib/fields/group.component.mjs +3 -3
  22. package/esm2022/lib/fields/icon.component.mjs +3 -3
  23. package/esm2022/lib/fields/input.clearable.component.mjs +3 -3
  24. package/esm2022/lib/fields/input.component.mjs +3 -3
  25. package/esm2022/lib/fields/label.component.mjs +3 -3
  26. package/esm2022/lib/fields/line-break.component.mjs +3 -3
  27. package/esm2022/lib/fields/link.component.mjs +3 -3
  28. package/esm2022/lib/fields/list-field.component.mjs +3 -3
  29. package/esm2022/lib/fields/radio.component.mjs +3 -3
  30. package/esm2022/lib/fields/range.component.mjs +3 -3
  31. package/esm2022/lib/fields/select.component.mjs +3 -3
  32. package/esm2022/lib/fields/select.lazy-search.component.mjs +3 -3
  33. package/esm2022/lib/fields/select.search.component.mjs +3 -3
  34. package/esm2022/lib/fields/selection-list.component.mjs +3 -3
  35. package/esm2022/lib/fields/selection-list.search.component.mjs +3 -3
  36. package/esm2022/lib/fields/slide-toggle.component.mjs +3 -3
  37. package/esm2022/lib/fields/text.component.mjs +3 -3
  38. package/esm2022/lib/fields/textarea.component.mjs +3 -3
  39. package/esm2022/lib/forms/button-control-base.mjs +3 -3
  40. package/esm2022/lib/forms/button-control.component.mjs +3 -3
  41. package/esm2022/lib/forms/buttonchecker-control.component.mjs +3 -3
  42. package/esm2022/lib/forms/buttonfile-control.component.mjs +3 -3
  43. package/esm2022/lib/forms/fab-control.component.mjs +3 -3
  44. package/esm2022/lib/forms/icon-button-control.component.mjs +3 -3
  45. package/esm2022/lib/forms/mini-fab-control.component.mjs +3 -3
  46. package/esm2022/lib/kles-material-dynamicforms.module.mjs +4 -4
  47. package/esm2022/lib/matcher/form-error.matcher.mjs +3 -3
  48. package/esm2022/lib/modules/material.module.mjs +4 -4
  49. package/esm2022/lib/pipe/array.pipe.mjs +3 -3
  50. package/esm2022/lib/pipe/transform.pipe.mjs +3 -3
  51. package/fesm2022/3kles-kles-material-dynamicforms.mjs +167 -162
  52. package/fesm2022/3kles-kles-material-dynamicforms.mjs.map +1 -1
  53. package/package.json +1 -1
@@ -26,10 +26,10 @@ export class KlesComponentDirective {
26
26
  this.componentRef.instance.value = this.value;
27
27
  this.componentRef.instance.field = this.field;
28
28
  }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesComponentDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
30
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: KlesComponentDirective, selector: "[klesComponent]", inputs: { component: "component", value: "value", field: "field" }, usesOnChanges: true, ngImport: i0 }); }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesComponentDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
30
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.8", type: KlesComponentDirective, selector: "[klesComponent]", inputs: { component: "component", value: "value", field: "field" }, usesOnChanges: true, ngImport: i0 }); }
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesComponentDirective, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesComponentDirective, decorators: [{
33
33
  type: Directive,
34
34
  args: [{
35
35
  selector: '[klesComponent]'
@@ -61,7 +61,12 @@ export class KlesDynamicFieldDirective {
61
61
  const componentRef = this.container.createComponent(this.field.component
62
62
  || componentMapper.find(element => element.type === this.field.type)?.component, { injector, projectableNodes: [this.subComponents.map(sub => sub.location.nativeElement)] });
63
63
  if (this.field.hostClass) {
64
- componentRef.location.nativeElement.classList.add(this.field.hostClass);
64
+ if (Array.isArray(this.field.hostClass)) {
65
+ componentRef.location.nativeElement.classList.add(...this.field.hostClass);
66
+ }
67
+ else {
68
+ componentRef.location.nativeElement.classList.add(this.field.hostClass);
69
+ }
65
70
  }
66
71
  return componentRef;
67
72
  }
@@ -72,10 +77,10 @@ export class KlesDynamicFieldDirective {
72
77
  component.instance.siblingFields = this.siblingFields;
73
78
  return component;
74
79
  }
75
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesDynamicFieldDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
76
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: KlesDynamicFieldDirective, selector: "[klesDynamicField]", inputs: { field: "field", group: "group", siblingFields: "siblingFields" }, usesOnChanges: true, ngImport: i0 }); }
80
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesDynamicFieldDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
81
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.8", type: KlesDynamicFieldDirective, selector: "[klesDynamicField]", inputs: { field: "field", group: "group", siblingFields: "siblingFields" }, usesOnChanges: true, ngImport: i0 }); }
77
82
  }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesDynamicFieldDirective, decorators: [{
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesDynamicFieldDirective, decorators: [{
79
84
  type: Directive,
80
85
  args: [{
81
86
  selector: '[klesDynamicField]'
@@ -87,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
87
92
  }], siblingFields: [{
88
93
  type: Input
89
94
  }] } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbGVzLW1hdGVyaWFsLWR5bmFtaWNmb3Jtcy9zcmMvbGliL2RpcmVjdGl2ZS9keW5hbWljLWZpZWxkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUFFLEtBQUssRUFBcUYsUUFBUSxFQUNoSCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFNbkUsTUFBTSxPQUFPLHlCQUF5QjtJQVFsQyxZQUFzQixTQUEyQixFQUFVLFFBQWtCO1FBQXZELGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUY3RSxrQkFBYSxHQUEwQixFQUFFLENBQUM7SUFFdUMsQ0FBQztJQUVsRixXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDL0I7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUM7U0FDM0M7UUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxD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YUFBYSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFakcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRTtZQUN0QixZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDM0U7UUFFRCxPQUFPLFlBQVksQ0FBQztJQUN4QixDQUFDO0lBRU8sa0JBQWtCLENBQUMsYUFBd0I7UUFDL0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDaEUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN0QyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3RDLFNBQVMsQ0FBQyxRQUFRLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdEQsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQzs4R0F6RlEseUJBQXlCO2tHQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBSHJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG9CQUFvQjtpQkFDakM7NEdBRVksS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsIElucHV0LCBPbkluaXQsIFZpZXdDb250YWluZXJSZWYsIENvbXBvbmVudFJlZiwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBPbkRlc3Ryb3ksIFR5cGUsIEluamVjdG9yLCBTdGF0aWNQcm92aWRlclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNQVRfREFURV9MT0NBTEUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IGNvbXBvbmVudE1hcHBlciB9IGZyb20gJy4uL2RlY29yYXRvcnMvY29tcG9uZW50LmRlY29yYXRvcic7XG5pbXBvcnQgeyBLbGVzRm9ybUNsZWFyQ29tcG9uZW50IH0gZnJvbSAnLi4vZmllbGRzL2NsZWFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJS2xlc0ZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9maWVsZC5jb25maWcuaW50ZXJmYWNlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdba2xlc0R5bmFtaWNGaWVsZF0nXG59KVxuZXhwb3J0IGNsYXNzIEtsZXNEeW5hbWljRmllbGREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBmaWVsZDogSUtsZXNGaWVsZENvbmZpZztcbiAgICBASW5wdXQoKSBncm91cDogVW50eXBlZEZvcm1Hcm91cDtcbiAgICBASW5wdXQoKSBzaWJsaW5nRmllbGRzOiBJS2xlc0ZpZWxkQ29uZmlnW107XG5cbiAgICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+O1xuICAgIHN1YkNvbXBvbmVudHM6IChDb21wb25lbnRSZWY8YW55PilbXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHsgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZikge1xuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnQoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLmdyb3VwKSB7XG4gICAgICAgICAgICB0aGlzLmdyb3VwID0gY2hhbmdlcy5ncm91cC5jdXJyZW50VmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYW5nZXMuZmllbGQpIHtcbiAgICAgICAgICAgIHRoaXMuZmllbGQgPSBjaGFuZ2VzLmZpZWxkLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJ1aWxkQ29tcG9uZW50KCkge1xuICAgICAgICBpZiAodGhpcy5jb21wb25lbnRSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuc3ViQ29tcG9uZW50cy5mb3JFYWNoKGMgPT4gYy5kZXN0cm95KCkpO1xuICAgICAgICAgICAgdGhpcy5zdWJDb21wb25lbnRzID0gW107XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvcHRpb25zOiB7XG4gICAgICAgICAgICBwcm92aWRlcnM6IFN0YXRpY1Byb3ZpZGVyW107XG4gICAgICAgICAgICBwYXJlbnQ/OiBJbmplY3RvcjtcbiAgICAgICAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgICAgIH0gPSB7XG4gICAgICAgICAgICBwcm92aWRlcnM6IHRoaXMuZmllbGQuZGF0ZU9wdGlvbnMgPyBbXG4gICAgICAgICAgICAgICAgLi4uKHRoaXMuZmllbGQuZGF0ZU9wdGlvbnMuYWRhcHRlciA/IFt7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IERhdGVBZGFwdGVyLFxuICAgICAgICAgICAgICAgICAgICB1c2VDbGFzczogdGhpcy5maWVsZC5kYXRlT3B0aW9ucy5hZGFwdGVyLmNsYXNzLFxuICAgICAgICAgICAgICAgICAgICBkZXBzOiB0aGlzLmZpZWxkLmRhdGVPcHRpb25zLmFkYXB0ZXIuZGVwcyB8fCBbXSxcbiAgICAgICAgICAgICAgICB9XSA6IFtdKSxcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0xPQ0FMRSwgdXNlVmFsdWU6IHRoaXMuZmllbGQuZGF0ZU9wdGlvbnMubGFuZ3VhZ2UgfSxcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiB0aGlzLmZpZWxkLmRhdGVPcHRpb25zLmRhdGVGb3JtYXQgfSxcbiAgICAgICAgICAgIF0gOiBbXSxcbiAgICAgICAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvclxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGluamVjdG9yOiBJbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZShvcHRpb25zKTtcblxuICAgICAgICBpZiAodGhpcy5maWVsZC5jbGVhcmFibGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvc2FudCA9IHRoaXMuY3JlYXRlU3ViQ29tcG9uZW50KHRoaXMuZmllbGQuY2xlYXJhYmxlQ29tcG9uZW50IHx8IEtsZXNGb3JtQ2xlYXJDb21wb25lbnQpO1xuICAgICAgICAgICAgdGhpcy5zdWJDb21wb25lbnRzLnB1c2goY29tcG9zYW50KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5maWVsZC5zdWJDb21wb25lbnRzKSB7XG4gICAgICAgICAgICB0aGlzLnN1YkNvbXBvbmVudHMucHVzaCguLi50aGlzLmZpZWxkLnN1YkNvbXBvbmVudHMubWFwKChzdWJDb21wb25lbnQpID0+IHRoaXMuY3JlYXRlU3ViQ29tcG9uZW50KHN1YkNvbXBvbmVudCkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy5jcmVhdGVDb21wb25lbnRSZWYoaW5qZWN0b3IpO1xuXG4gICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmZpZWxkID0gdGhpcy5maWVsZDtcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuZ3JvdXAgPSB0aGlzLmdyb3VwO1xuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5zaWJsaW5nRmllbGRzID0gdGhpcy5zaWJsaW5nRmllbGRzO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVDb21wb25lbnRSZWYoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudCh0aGlzLmZpZWxkLmNvbXBvbmVudFxuICAgICAgICAgICAgfHwgY29tcG9uZW50TWFwcGVyLmZpbmQoZWxlbWVudCA9PiBlbGVtZW50LnR5cGUgPT09IHRoaXMuZmllbGQudHlwZSk/LmNvbXBvbmVudCxcbiAgICAgICAgICAgIHsgaW5qZWN0b3IsIHByb2plY3RhYmxlTm9kZXM6IFt0aGlzLnN1YkNvbXBvbmVudHMubWFwKHN1YiA9PiBzdWIubG9jYXRpb24ubmF0aXZlRWxlbWVudCldIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLmZpZWxkLmhvc3RDbGFzcykge1xuICAgICAgICAgICAgY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCh0aGlzLmZpZWxkLmhvc3RDbGFzcyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29tcG9uZW50UmVmO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlU3ViQ29tcG9uZW50KGNvbXBvbmVudFR5cGU6IFR5cGU8YW55Pik6IENvbXBvbmVudFJlZjxhbnk+IHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudFR5cGUpO1xuICAgICAgICBjb21wb25lbnQuaW5zdGFuY2UuZmllbGQgPSB0aGlzLmZpZWxkO1xuICAgICAgICBjb21wb25lbnQuaW5zdGFuY2UuZ3JvdXAgPSB0aGlzLmdyb3VwO1xuICAgICAgICBjb21wb25lbnQuaW5zdGFuY2Uuc2libGluZ0ZpZWxkcyA9IHRoaXMuc2libGluZ0ZpZWxkcztcbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudDtcbiAgICB9XG59XG4iXX0=
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbGVzLW1hdGVyaWFsLWR5bmFtaWNmb3Jtcy9zcmMvbGliL2RpcmVjdGl2ZS9keW5hbWljLWZpZWxkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUFFLEtBQUssRUFBcUYsUUFBUSxFQUNoSCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFNbkUsTUFBTSxPQUFPLHlCQUF5QjtJQVFsQyxZQUFzQixTQUEyQixFQUFVLFFBQWtCO1FBQXZELGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUY3RSxrQkFBYSxHQUEwQixFQUFFLENBQUM7SUFFdUMsQ0FBQztJQUVsRixXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDL0I7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUM7U0FDM0M7UUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxD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bnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsIElucHV0LCBPbkluaXQsIFZpZXdDb250YWluZXJSZWYsIENvbXBvbmVudFJlZiwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBPbkRlc3Ryb3ksIFR5cGUsIEluamVjdG9yLCBTdGF0aWNQcm92aWRlclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNQVRfREFURV9MT0NBTEUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IGNvbXBvbmVudE1hcHBlciB9IGZyb20gJy4uL2RlY29yYXRvcnMvY29tcG9uZW50LmRlY29yYXRvcic7XG5pbXBvcnQgeyBLbGVzRm9ybUNsZWFyQ29tcG9uZW50IH0gZnJvbSAnLi4vZmllbGRzL2NsZWFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJS2xlc0ZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9maWVsZC5jb25maWcuaW50ZXJmYWNlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdba2xlc0R5bmFtaWNGaWVsZF0nXG59KVxuZXhwb3J0IGNsYXNzIEtsZXNEeW5hbWljRmllbGREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBmaWVsZDogSUtsZXNGaWVsZENvbmZpZztcbiAgICBASW5wdXQoKSBncm91cDogVW50eXBlZEZvcm1Hcm91cDtcbiAgICBASW5wdXQoKSBzaWJsaW5nRmllbGRzOiBJS2xlc0ZpZWxkQ29uZmlnW107XG5cbiAgICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+O1xuICAgIHN1YkNvbXBvbmVudHM6IChDb21wb25lbnRSZWY8YW55PilbXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHsgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZikge1xuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnQoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLmdyb3VwKSB7XG4gICAgICAgICAgICB0aGlzLmdyb3VwID0gY2hhbmdlcy5ncm91cC5jdXJyZW50VmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYW5nZXMuZmllbGQpIHtcbiAgICAgICAgICAgIHRoaXMuZmllbGQgPSBjaGFuZ2VzLmZpZWxkLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJ1aWxkQ29tcG9uZW50KCkge1xuICAgICAgICBpZiAodGhpcy5jb21wb25lbnRSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuc3ViQ29tcG9uZW50cy5mb3JFYWNoKGMgPT4gYy5kZXN0cm95KCkpO1xuICAgICAgICAgICAgdGhpcy5zdWJDb21wb25lbnRzID0gW107XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvcHRpb25zOiB7XG4gICAgICAgICAgICBwcm92aWRlcnM6IFN0YXRpY1Byb3ZpZGVyW107XG4gICAgICAgICAgICBwYXJlbnQ/OiBJbmplY3RvcjtcbiAgICAgICAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgICAgIH0gPSB7XG4gICAgICAgICAgICBwcm92aWRlcnM6IHRoaXMuZmllbGQuZGF0ZU9wdGlvbnMgPyBbXG4gICAgICAgICAgICAgICAgLi4uKHRoaXMuZmllbGQuZGF0ZU9wdGlvbnMuYWRhcHRlciA/IFt7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IERhdGVBZGFwdGVyLFxuICAgICAgICAgICAgICAgICAgICB1c2VDbGFzczogdGhpcy5maWVsZC5kYXRlT3B0aW9ucy5hZGFwdGVyLmNsYXNzLFxuICAgICAgICAgICAgICAgICAgICBkZXBzOiB0aGlzLmZpZWxkLmRhdGVPcHRpb25zLmFkYXB0ZXIuZGVwcyB8fCBbXSxcbiAgICAgICAgICAgICAgICB9XSA6IFtdKSxcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0xPQ0FMRSwgdXNlVmFsdWU6IHRoaXMuZmllbGQuZGF0ZU9wdGlvbnMubGFuZ3VhZ2UgfSxcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiB0aGlzLmZpZWxkLmRhdGVPcHRpb25zLmRhdGVGb3JtYXQgfSxcbiAgICAgICAgICAgIF0gOiBbXSxcbiAgICAgICAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvclxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGluamVjdG9yOiBJbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZShvcHRpb25zKTtcblxuICAgICAgICBpZiAodGhpcy5maWVsZC5jbGVhcmFibGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvc2FudCA9IHRoaXMuY3JlYXRlU3ViQ29tcG9uZW50KHRoaXMuZmllbGQuY2xlYXJhYmxlQ29tcG9uZW50IHx8IEtsZXNGb3JtQ2xlYXJDb21wb25lbnQpO1xuICAgICAgICAgICAgdGhpcy5zdWJDb21wb25lbnRzLnB1c2goY29tcG9zYW50KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5maWVsZC5zdWJDb21wb25lbnRzKSB7XG4gICAgICAgICAgICB0aGlzLnN1YkNvbXBvbmVudHMucHVzaCguLi50aGlzLmZpZWxkLnN1YkNvbXBvbmVudHMubWFwKChzdWJDb21wb25lbnQpID0+IHRoaXMuY3JlYXRlU3ViQ29tcG9uZW50KHN1YkNvbXBvbmVudCkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy5jcmVhdGVDb21wb25lbnRSZWYoaW5qZWN0b3IpO1xuXG4gICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmZpZWxkID0gdGhpcy5maWVsZDtcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuZ3JvdXAgPSB0aGlzLmdyb3VwO1xuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5zaWJsaW5nRmllbGRzID0gdGhpcy5zaWJsaW5nRmllbGRzO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVDb21wb25lbnRSZWYoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudCh0aGlzLmZpZWxkLmNvbXBvbmVudFxuICAgICAgICAgICAgfHwgY29tcG9uZW50TWFwcGVyLmZpbmQoZWxlbWVudCA9PiBlbGVtZW50LnR5cGUgPT09IHRoaXMuZmllbGQudHlwZSk/LmNvbXBvbmVudCxcbiAgICAgICAgICAgIHsgaW5qZWN0b3IsIHByb2plY3RhYmxlTm9kZXM6IFt0aGlzLnN1YkNvbXBvbmVudHMubWFwKHN1YiA9PiBzdWIubG9jYXRpb24ubmF0aXZlRWxlbWVudCldIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLmZpZWxkLmhvc3RDbGFzcykge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5maWVsZC5ob3N0Q2xhc3MpKSB7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCguLi50aGlzLmZpZWxkLmhvc3RDbGFzcyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQodGhpcy5maWVsZC5ob3N0Q2xhc3MpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29tcG9uZW50UmVmO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlU3ViQ29tcG9uZW50KGNvbXBvbmVudFR5cGU6IFR5cGU8YW55Pik6IENvbXBvbmVudFJlZjxhbnk+IHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudFR5cGUpO1xuICAgICAgICBjb21wb25lbnQuaW5zdGFuY2UuZmllbGQgPSB0aGlzLmZpZWxkO1xuICAgICAgICBjb21wb25lbnQuaW5zdGFuY2UuZ3JvdXAgPSB0aGlzLmdyb3VwO1xuICAgICAgICBjb21wb25lbnQuaW5zdGFuY2Uuc2libGluZ0ZpZWxkcyA9IHRoaXMuc2libGluZ0ZpZWxkcztcbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudDtcbiAgICB9XG59XG4iXX0=
@@ -12,8 +12,8 @@ export class MatErrorMessageDirective {
12
12
  let container = this._inj.get(MatFormField, null, { optional: true });
13
13
  this.inputRef = container?._control;
14
14
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: MatErrorMessageDirective, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: MatErrorMessageDirective, selector: "[matErrorMessage]", inputs: { validations: "validations", asyncValidations: "asyncValidations" }, ngImport: i0, template: `
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: MatErrorMessageDirective, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: MatErrorMessageDirective, selector: "[matErrorMessage]", inputs: { validations: "validations", asyncValidations: "asyncValidations" }, ngImport: i0, template: `
17
17
  @for (validation of validations; track validation.name) {
18
18
  @if (inputRef?.ngControl.hasError(validation.name) && validation.message) {
19
19
  {{validation.message | translate}}
@@ -26,7 +26,7 @@ export class MatErrorMessageDirective {
26
26
  }
27
27
  `, isInline: true, dependencies: [{ kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
28
28
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: MatErrorMessageDirective, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: MatErrorMessageDirective, decorators: [{
30
30
  type: Component,
31
31
  args: [{
32
32
  selector: '[matErrorMessage]',
@@ -163,8 +163,8 @@ export class KlesDynamicFormComponent {
163
163
  control.markAsTouched({ onlySelf: true });
164
164
  });
165
165
  }
166
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesDynamicFormComponent, deps: [{ token: i1.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
167
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", 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: `
166
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesDynamicFormComponent, deps: [{ token: i1.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
167
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", 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: `
168
168
  <form class="{{orientationClass}}" [ngClass]="formClass" [formGroup]="form" (submit)="onSubmit($event)">
169
169
  @for (field of fields; track field.name) {
170
170
  @if (field.visible !== false) {
@@ -175,7 +175,7 @@ export class KlesDynamicFormComponent {
175
175
  </form>
176
176
  `, isInline: true, 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}\n", ".dynamic-form-row>*{width:100%}\n", ".dynamic-form-grid{display:grid}\n", ".dynamic-form-inline-grid{display:inline-grid}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.KlesDynamicFieldDirective, selector: "[klesDynamicField]", inputs: ["field", "group", "siblingFields"] }] }); }
177
177
  }
178
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesDynamicFormComponent, decorators: [{
178
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesDynamicFormComponent, decorators: [{
179
179
  type: Component,
180
180
  args: [{ exportAs: 'klesDynamicForm', selector: 'app-kles-dynamic-form', template: `
181
181
  <form class="{{orientationClass}}" [ngClass]="formClass" [formGroup]="form" (submit)="onSubmit($event)">
@@ -17,8 +17,8 @@ let KlesFormArrayComponent = class KlesFormArrayComponent extends KlesFieldAbstr
17
17
  ngOnDestroy() {
18
18
  super.ngOnDestroy();
19
19
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesFormArrayComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: KlesFormArrayComponent, selector: "kles-array", usesInheritance: true, ngImport: i0, template: `
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesFormArrayComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KlesFormArrayComponent, selector: "kles-array", usesInheritance: true, ngImport: i0, template: `
22
22
  <div [formGroup]="group" class="container" [ngClass]="{'container-column': field.direction ==='column'}">
23
23
  <ng-container [formArrayName]="field.name">
24
24
  @for (subGroup of formArray.controls; track subGroup.value._id) {
@@ -39,7 +39,7 @@ KlesFormArrayComponent = __decorate([
39
39
  FieldMapper({ type: EnumType.array, factory: (field) => (new KlesFormArray(field).create()) })
40
40
  ], KlesFormArrayComponent);
41
41
  export { KlesFormArrayComponent };
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesFormArrayComponent, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesFormArrayComponent, decorators: [{
43
43
  type: Component,
44
44
  args: [{ selector: 'kles-array', template: `
45
45
  <div [formGroup]="group" class="container" [ngClass]="{'container-column': field.direction ==='column'}">
@@ -14,8 +14,8 @@ let KlesFormBadgeComponent = class KlesFormBadgeComponent extends KlesFieldAbstr
14
14
  ngOnDestroy() {
15
15
  super.ngOnDestroy();
16
16
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesFormBadgeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: KlesFormBadgeComponent, selector: "kles-form-badge", usesInheritance: true, ngImport: i0, template: `
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesFormBadgeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KlesFormBadgeComponent, selector: "kles-form-badge", usesInheritance: true, ngImport: i0, template: `
19
19
  <span matTooltip="{{field.tooltip}}" [attr.id]="field.id" [ngClass]="field.ngClass"
20
20
  matBadge="{{group.controls[field.name].value}}" matBadgeOverlap="false" matBadgeColor="{{field.color}}">
21
21
  </span>
@@ -25,7 +25,7 @@ KlesFormBadgeComponent = __decorate([
25
25
  FieldMapper({ type: EnumType.badge })
26
26
  ], KlesFormBadgeComponent);
27
27
  export { KlesFormBadgeComponent };
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesFormBadgeComponent, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesFormBadgeComponent, decorators: [{
29
29
  type: Component,
30
30
  args: [{
31
31
  selector: 'kles-form-badge',
@@ -10,8 +10,8 @@ export class KlesFormFabComponent extends KlesFieldAbstract {
10
10
  ngOnDestroy() {
11
11
  super.ngOnDestroy();
12
12
  }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesFormFabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: KlesFormFabComponent, selector: "kles-form-fab", usesInheritance: true, ngImport: i0, template: `
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesFormFabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KlesFormFabComponent, selector: "kles-form-fab", usesInheritance: true, ngImport: i0, template: `
15
15
  <div [formGroup]="group">
16
16
  <kles-fab
17
17
  [attr.id]="field.id" [classButton]="field.ngClass"
@@ -27,7 +27,7 @@ export class KlesFormFabComponent extends KlesFieldAbstract {
27
27
  </div>
28
28
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.KlesFabComponent, selector: "kles-fab" }] }); }
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesFormFabComponent, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesFormFabComponent, decorators: [{
31
31
  type: Component,
32
32
  args: [{ selector: 'kles-form-fab', template: `
33
33
  <div [formGroup]="group">
@@ -10,8 +10,8 @@ export class KlesFormButtonComponent extends KlesFieldAbstract {
10
10
  ngOnDestroy() {
11
11
  super.ngOnDestroy();
12
12
  }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesFormButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: KlesFormButtonComponent, selector: "kles-form-button", usesInheritance: true, ngImport: i0, template: `
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesFormButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KlesFormButtonComponent, selector: "kles-form-button", usesInheritance: true, ngImport: i0, template: `
15
15
  <div [formGroup]="group">
16
16
  <kles-button
17
17
  [attr.id]="field.id" [classButton]="field.ngClass"
@@ -28,7 +28,7 @@ export class KlesFormButtonComponent extends KlesFieldAbstract {
28
28
  </div>
29
29
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.KlesButtonComponent, selector: "kles-button", inputs: ["attribute"] }] }); }
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesFormButtonComponent, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesFormButtonComponent, decorators: [{
32
32
  type: Component,
33
33
  args: [{ selector: 'kles-form-button', template: `
34
34
  <div [formGroup]="group">
@@ -10,8 +10,8 @@ export class KlesFormIconButtonComponent extends KlesFieldAbstract {
10
10
  ngOnDestroy() {
11
11
  super.ngOnDestroy();
12
12
  }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesFormIconButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: KlesFormIconButtonComponent, selector: "kles-form-icon-button", usesInheritance: true, ngImport: i0, template: `
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesFormIconButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KlesFormIconButtonComponent, selector: "kles-form-icon-button", usesInheritance: true, ngImport: i0, template: `
15
15
  <div [formGroup]="group">
16
16
  <kles-icon-button
17
17
  [attr.id]="field.id" [classButton]="field.ngClass"
@@ -27,7 +27,7 @@ export class KlesFormIconButtonComponent extends KlesFieldAbstract {
27
27
  </div>
28
28
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.KlesIconButtonComponent, selector: "kles-icon-button" }] }); }
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesFormIconButtonComponent, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesFormIconButtonComponent, decorators: [{
31
31
  type: Component,
32
32
  args: [{ selector: 'kles-form-icon-button', template: `
33
33
  <div [formGroup]="group">
@@ -10,8 +10,8 @@ export class KlesFormMiniFabComponent extends KlesFieldAbstract {
10
10
  ngOnDestroy() {
11
11
  super.ngOnDestroy();
12
12
  }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesFormMiniFabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: KlesFormMiniFabComponent, selector: "kles-form-mini-fab", usesInheritance: true, ngImport: i0, template: `
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesFormMiniFabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KlesFormMiniFabComponent, selector: "kles-form-mini-fab", usesInheritance: true, ngImport: i0, template: `
15
15
  <div [formGroup]="group">
16
16
  <kles-mini-fab
17
17
  [attr.id]="field.id" [classButton]="field.ngClass"
@@ -27,7 +27,7 @@ export class KlesFormMiniFabComponent extends KlesFieldAbstract {
27
27
  </div>
28
28
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.KlesMiniFabComponent, selector: "kles-mini-fab" }] }); }
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesFormMiniFabComponent, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesFormMiniFabComponent, decorators: [{
31
31
  type: Component,
32
32
  args: [{ selector: 'kles-form-mini-fab', template: `
33
33
  <div [formGroup]="group">
@@ -22,8 +22,8 @@ export class KlesFormButtonToogleGroupComponent extends KlesFieldAbstract {
22
22
  ngOnDestroy() {
23
23
  super.ngOnDestroy();
24
24
  }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesFormButtonToogleGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
26
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: KlesFormButtonToogleGroupComponent, selector: "kles-form-button-toogle-group", usesInheritance: true, ngImport: i0, template: `
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesFormButtonToogleGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
26
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KlesFormButtonToogleGroupComponent, selector: "kles-form-button-toogle-group", usesInheritance: true, ngImport: i0, template: `
27
27
  <div [formGroup]="group" class="form-element">
28
28
  <mat-button-toggle-group [formControlName]="field.name" [multiple]="field.multiple" [attr.id]="field.id" [ngClass]="field.ngClass">
29
29
  @for (item of options$ | async; track item) {
@@ -35,7 +35,7 @@ export class KlesFormButtonToogleGroupComponent extends KlesFieldAbstract {
35
35
  </div>
36
36
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i3.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.KlesTransformPipe, name: "klesTransform" }] }); }
37
37
  }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesFormButtonToogleGroupComponent, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesFormButtonToogleGroupComponent, decorators: [{
39
39
  type: Component,
40
40
  args: [{
41
41
  selector: 'kles-form-button-toogle-group',
@@ -10,8 +10,8 @@ export class KlesFormButtonCheckerComponent extends KlesFieldAbstract {
10
10
  ngOnDestroy() {
11
11
  super.ngOnDestroy();
12
12
  }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesFormButtonCheckerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: KlesFormButtonCheckerComponent, selector: "kles-form-button-checker", usesInheritance: true, ngImport: i0, template: `
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesFormButtonCheckerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KlesFormButtonCheckerComponent, selector: "kles-form-button-checker", usesInheritance: true, ngImport: i0, template: `
15
15
  <div [formGroup]="group">
16
16
  <kles-button-checker
17
17
  [attr.id]="field.id" [classButton]="field.ngClass"
@@ -27,7 +27,7 @@ export class KlesFormButtonCheckerComponent extends KlesFieldAbstract {
27
27
  </div>
28
28
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.KlesButtonCheckerComponent, selector: "kles-button-checker" }] }); }
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesFormButtonCheckerComponent, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesFormButtonCheckerComponent, decorators: [{
31
31
  type: Component,
32
32
  args: [{ selector: 'kles-form-button-checker', template: `
33
33
  <div [formGroup]="group">
@@ -11,8 +11,8 @@ export class KlesFormButtonFileComponent extends KlesFieldAbstract {
11
11
  ngOnDestroy() {
12
12
  super.ngOnDestroy();
13
13
  }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesFormButtonFileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: KlesFormButtonFileComponent, selector: "kles-form-button-file", usesInheritance: true, ngImport: i0, template: `
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesFormButtonFileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KlesFormButtonFileComponent, selector: "kles-form-button-file", usesInheritance: true, ngImport: i0, template: `
16
16
  <div [formGroup]="group">
17
17
  <kles-button-file
18
18
  [attr.id]="field.id" [classButton]="field.ngClass"
@@ -29,7 +29,7 @@ export class KlesFormButtonFileComponent extends KlesFieldAbstract {
29
29
  </div>
30
30
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.KlesButtonFileComponent, selector: "kles-button-file", inputs: ["accept"] }] }); }
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesFormButtonFileComponent, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesFormButtonFileComponent, decorators: [{
33
33
  type: Component,
34
34
  args: [{ selector: 'kles-form-button-file', template: `
35
35
  <div [formGroup]="group">
@@ -21,8 +21,8 @@ let KlesFormCheckboxComponent = class KlesFormCheckboxComponent extends KlesFiel
21
21
  ngOnDestroy() {
22
22
  super.ngOnDestroy();
23
23
  }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesFormCheckboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: KlesFormCheckboxComponent, selector: "kles-form-checkbox", usesInheritance: true, ngImport: i0, template: `
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesFormCheckboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KlesFormCheckboxComponent, selector: "kles-form-checkbox", usesInheritance: true, ngImport: i0, template: `
26
26
  <div [formGroup]="group" >
27
27
  <mat-checkbox matTooltip="{{field.tooltip}}" [attr.id]="field.id"
28
28
  [ngClass]="field.ngClass" [(indeterminate)]="field.indeterminate"
@@ -34,7 +34,7 @@ KlesFormCheckboxComponent = __decorate([
34
34
  FieldMapper({ type: EnumType.checkbox })
35
35
  ], KlesFormCheckboxComponent);
36
36
  export { KlesFormCheckboxComponent };
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesFormCheckboxComponent, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesFormCheckboxComponent, decorators: [{
38
38
  type: Component,
39
39
  args: [{ selector: 'kles-form-checkbox', template: `
40
40
  <div [formGroup]="group" >
@@ -12,8 +12,8 @@ export class KlesFormChipComponent extends KlesFieldAbstract {
12
12
  ngOnDestroy() {
13
13
  super.ngOnDestroy();
14
14
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesFormChipComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: KlesFormChipComponent, selector: "kles-form-chip", usesInheritance: true, ngImport: i0, template: `
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesFormChipComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KlesFormChipComponent, selector: "kles-form-chip", usesInheritance: true, ngImport: i0, template: `
17
17
  <div [formGroup]="group">
18
18
  <mat-chip-listbox>
19
19
  <mat-chip-option [color]="field.color" matTooltip="{{field.tooltip}}" [attr.id]="field.id" selected [ngClass]="field.ngClass" [ngStyle]="field.ngStyle">
@@ -26,7 +26,7 @@ export class KlesFormChipComponent extends KlesFieldAbstract {
26
26
  </div>
27
27
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatChipListbox, selector: "mat-chip-listbox", inputs: ["multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "component", type: i4.MatChipOption, selector: "mat-basic-chip-option, [mat-basic-chip-option], mat-chip-option, [mat-chip-option]", inputs: ["selectable", "selected"], outputs: ["selectionChange"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: i6.KlesTransformPipe, name: "klesTransform" }] }); }
28
28
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesFormChipComponent, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesFormChipComponent, decorators: [{
30
30
  type: Component,
31
31
  args: [{ selector: "kles-form-chip", template: `
32
32
  <div [formGroup]="group">
@@ -7,15 +7,15 @@ export class KlesFormClearComponent {
7
7
  event.stopPropagation();
8
8
  this.group.controls[this.field.name].reset();
9
9
  }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesFormClearComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: KlesFormClearComponent, selector: "kles-form-clear", ngImport: i0, template: `
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesFormClearComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KlesFormClearComponent, selector: "kles-form-clear", ngImport: i0, template: `
12
12
  <button [disabled]="!group.get(field.name).value || group.get(field.name).disabled" mat-icon-button aria-label="Clear" type="button"
13
13
  (click)="clear($event)">
14
14
  <mat-icon>close</mat-icon>
15
15
  </button>
16
16
  `, isInline: true, dependencies: [{ kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesFormClearComponent, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesFormClearComponent, decorators: [{
19
19
  type: Component,
20
20
  args: [{
21
21
  selector: 'kles-form-clear',
@@ -74,8 +74,8 @@ export class KlesFormColorComponent extends KlesFieldAbstract {
74
74
  ngOnDestroy() {
75
75
  super.ngOnDestroy();
76
76
  }
77
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesFormColorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
78
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: KlesFormColorComponent, selector: "kles-form-color", usesInheritance: true, ngImport: i0, template: `
77
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesFormColorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
78
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KlesFormColorComponent, selector: "kles-form-color", usesInheritance: true, ngImport: i0, template: `
79
79
  <mat-form-field [subscriptSizing]="field.subscriptSizing" [formGroup]="group" class="form-element"
80
80
  [colorPicker]="group.get(field.name).value"
81
81
  (colorPickerChange)="group.get(field.name).setValue($event)"
@@ -102,7 +102,7 @@ export class KlesFormColorComponent extends KlesFieldAbstract {
102
102
  </mat-form-field>
103
103
  `, isInline: true, styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i6.ColorPickerDirective, selector: "[colorPicker]", inputs: ["colorPicker", "cpWidth", "cpHeight", "cpToggle", "cpDisabled", "cpIgnoredElements", "cpFallbackColor", "cpColorMode", "cpCmykEnabled", "cpOutputFormat", "cpAlphaChannel", "cpDisableInput", "cpDialogDisplay", "cpSaveClickOutside", "cpCloseClickOutside", "cpUseRootViewContainer", "cpPosition", "cpPositionOffset", "cpPositionRelativeToArrow", "cpOKButton", "cpOKButtonText", "cpOKButtonClass", "cpCancelButton", "cpCancelButtonText", "cpCancelButtonClass", "cpEyeDropper", "cpPresetLabel", "cpPresetColors", "cpPresetColorsClass", "cpMaxPresetColorsLength", "cpPresetEmptyMessage", "cpPresetEmptyMessageClass", "cpAddColorButton", "cpAddColorButtonText", "cpAddColorButtonClass", "cpRemoveColorButtonClass", "cpArrowPosition", "cpExtraTemplate"], outputs: ["cpInputChange", "cpToggleChange", "cpSliderChange", "cpSliderDragEnd", "cpSliderDragStart", "colorPickerOpen", "colorPickerClose", "colorPickerCancel", "colorPickerSelect", "colorPickerChange", "cpCmykColorChange", "cpPresetColorsChange"], exportAs: ["ngxColorPicker"] }, { kind: "component", type: i7.MatErrorMessageDirective, selector: "[matErrorMessage]", inputs: ["validations", "asyncValidations"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
104
104
  }
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesFormColorComponent, decorators: [{
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesFormColorComponent, decorators: [{
106
106
  type: Component,
107
107
  args: [{ selector: 'kles-form-color', template: `
108
108
  <mat-form-field [subscriptSizing]="field.subscriptSizing" [formGroup]="group" class="form-element"
@@ -15,15 +15,15 @@ export class KlesFormDateTimeComponent extends KlesFieldAbstract {
15
15
  ngOnDestroy() {
16
16
  super.ngOnDestroy();
17
17
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesFormDateTimeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: KlesFormDateTimeComponent, selector: "kles-form-datetimepicker", usesInheritance: true, ngImport: i0, template: `
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesFormDateTimeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KlesFormDateTimeComponent, selector: "kles-form-datetimepicker", usesInheritance: true, ngImport: i0, template: `
20
20
  <mat-form-field [subscriptSizing]="field.subscriptSizing" class="margin-top" [color]="field.color" [formGroup]="group" [appearance]="field.appearance">
21
21
  @if (field.label) {
22
22
  <mat-label>{{field.label}}</mat-label>
23
23
  }
24
24
  <input matInput matTooltip="{{field.tooltip}}" [attr.id]="field.id" [ngClass]="field.ngClass" [matDatepicker]="picker" [formControlName]="field.name" [placeholder]="field.placeholder | translate"
25
25
  [min]="field.min" [max]="field.max">
26
- <div matSuffix>
26
+ <div matSuffix class="suffix">
27
27
  <mat-datepicker-toggle [for]="picker"></mat-datepicker-toggle>
28
28
  <ng-content></ng-content>
29
29
  </div>
@@ -34,9 +34,9 @@ export class KlesFormDateTimeComponent extends KlesFieldAbstract {
34
34
 
35
35
  <mat-error matErrorMessage [validations]="field.validations" [asyncValidations]="field.asyncValidations"></mat-error>
36
36
  </mat-form-field>
37
- `, isInline: true, styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i5.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i5.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i7.KlesMatDatepicker, selector: "kles-mat-datepicker", outputs: ["timeSelected"], exportAs: ["klesMatDatepicker"] }, { kind: "component", type: i8.MatErrorMessageDirective, selector: "[matErrorMessage]", inputs: ["validations", "asyncValidations"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] }); }
37
+ `, isInline: true, styles: ["mat-form-field{width:100%}\n", ".suffix{display:flex;flex-direction:row}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i5.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i5.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i7.KlesMatDatepicker, selector: "kles-mat-datepicker", outputs: ["timeSelected"], exportAs: ["klesMatDatepicker"] }, { kind: "component", type: i8.MatErrorMessageDirective, selector: "[matErrorMessage]", inputs: ["validations", "asyncValidations"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: KlesFormDateTimeComponent, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KlesFormDateTimeComponent, decorators: [{
40
40
  type: Component,
41
41
  args: [{ selector: "kles-form-datetimepicker", template: `
42
42
  <mat-form-field [subscriptSizing]="field.subscriptSizing" class="margin-top" [color]="field.color" [formGroup]="group" [appearance]="field.appearance">
@@ -45,7 +45,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
45
45
  }
46
46
  <input matInput matTooltip="{{field.tooltip}}" [attr.id]="field.id" [ngClass]="field.ngClass" [matDatepicker]="picker" [formControlName]="field.name" [placeholder]="field.placeholder | translate"
47
47
  [min]="field.min" [max]="field.max">
48
- <div matSuffix>
48
+ <div matSuffix class="suffix">
49
49
  <mat-datepicker-toggle [for]="picker"></mat-datepicker-toggle>
50
50
  <ng-content></ng-content>
51
51
  </div>
@@ -56,6 +56,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
56
56
 
57
57
  <mat-error matErrorMessage [validations]="field.validations" [asyncValidations]="field.asyncValidations"></mat-error>
58
58
  </mat-form-field>
59
- `, styles: ["mat-form-field{width:100%}\n"] }]
59
+ `, styles: ["mat-form-field{width:100%}\n", ".suffix{display:flex;flex-direction:row}\n"] }]
60
60
  }] });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvZmllbGRzL2RhdGUtdGltZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7Ozs7O0FBeUJyRCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsaUJBQWlCO0lBQzVELFFBQVEsS0FBSyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRWhDLFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs4R0FMUSx5QkFBeUI7a0dBQXpCLHlCQUF5Qix1RkFyQnhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FrQlQ7OzJGQUdRLHlCQUF5QjtrQkF2QnJDLFNBQVM7K0JBQ0ksMEJBQTBCLFlBQzFCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FrQlQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEtsZXNGaWVsZEFic3RyYWN0IH0gZnJvbSAnLi9maWVsZC5hYnN0cmFjdCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcImtsZXMtZm9ybS1kYXRldGltZXBpY2tlclwiLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgPG1hdC1mb3JtLWZpZWxkIFtzdWJzY3JpcHRTaXppbmddPVwiZmllbGQuc3Vic2NyaXB0U2l6aW5nXCIgY2xhc3M9XCJtYXJnaW4tdG9wXCIgW2NvbG9yXT1cImZpZWxkLmNvbG9yXCIgW2Zvcm1Hcm91cF09XCJncm91cFwiIFthcHBlYXJhbmNlXT1cImZpZWxkLmFwcGVhcmFuY2VcIj5cbiAgICAgICAgQGlmIChmaWVsZC5sYWJlbCkge1xuICAgICAgICAgICAgPG1hdC1sYWJlbD57e2ZpZWxkLmxhYmVsfX08L21hdC1sYWJlbD5cbiAgICAgICAgfVxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbWF0VG9vbHRpcD1cInt7ZmllbGQudG9vbHRpcH19XCIgW2F0dHIuaWRdPVwiZmllbGQuaWRcIiBbbmdDbGFzc109XCJmaWVsZC5uZ0NsYXNzXCIgW21hdERhdGVwaWNrZXJdPVwicGlja2VyXCIgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5uYW1lXCIgW3BsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW21pbl09XCJmaWVsZC5taW5cIiBbbWF4XT1cImZpZWxkLm1heFwiPlxuICAgICAgICA8ZGl2IG1hdFN1ZmZpeD5cbiAgICAgICAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgW2Zvcl09XCJwaWNrZXJcIj48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxrbGVzLW1hdC1kYXRlcGlja2VyICNwaWNrZXIgW2hhc0JhY2tkcm9wXT1cImZhbHNlXCI+PC9rbGVzLW1hdC1kYXRlcGlja2VyPlxuICAgICAgICBAaWYgKGZpZWxkLmhpbnQpIHtcbiAgICAgICAgICAgIDxtYXQtaGludD57e2ZpZWxkLmhpbnR9fTwvbWF0LWhpbnQ+XG4gICAgICAgIH1cblxuICAgICAgICA8bWF0LWVycm9yIG1hdEVycm9yTWVzc2FnZSBbdmFsaWRhdGlvbnNdPVwiZmllbGQudmFsaWRhdGlvbnNcIiBbYXN5bmNWYWxpZGF0aW9uc109XCJmaWVsZC5hc3luY1ZhbGlkYXRpb25zXCI+PC9tYXQtZXJyb3I+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgYCxcbiAgICBzdHlsZXM6IFsnbWF0LWZvcm0tZmllbGQge3dpZHRoOiBjYWxjKDEwMCUpfSddXG59KVxuZXhwb3J0IGNsYXNzIEtsZXNGb3JtRGF0ZVRpbWVDb21wb25lbnQgZXh0ZW5kcyBLbGVzRmllbGRBYnN0cmFjdCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBuZ09uSW5pdCgpIHsgc3VwZXIubmdPbkluaXQoKTsgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIl19
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvZmllbGRzL2RhdGUtdGltZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7Ozs7O0FBMEJyRCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsaUJBQWlCO0lBQzVELFFBQVEsS0FBSyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRWhDLFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs4R0FMUSx5QkFBeUI7a0dBQXpCLHlCQUF5Qix1RkF0QnhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FrQlQ7OzJGQUlRLHlCQUF5QjtrQkF4QnJDLFNBQVM7K0JBQ0ksMEJBQTBCLFlBQzFCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FrQlQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEtsZXNGaWVsZEFic3RyYWN0IH0gZnJvbSAnLi9maWVsZC5hYnN0cmFjdCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcImtsZXMtZm9ybS1kYXRldGltZXBpY2tlclwiLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgPG1hdC1mb3JtLWZpZWxkIFtzdWJzY3JpcHRTaXppbmddPVwiZmllbGQuc3Vic2NyaXB0U2l6aW5nXCIgY2xhc3M9XCJtYXJnaW4tdG9wXCIgW2NvbG9yXT1cImZpZWxkLmNvbG9yXCIgW2Zvcm1Hcm91cF09XCJncm91cFwiIFthcHBlYXJhbmNlXT1cImZpZWxkLmFwcGVhcmFuY2VcIj5cbiAgICAgICAgQGlmIChmaWVsZC5sYWJlbCkge1xuICAgICAgICAgICAgPG1hdC1sYWJlbD57e2ZpZWxkLmxhYmVsfX08L21hdC1sYWJlbD5cbiAgICAgICAgfVxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbWF0VG9vbHRpcD1cInt7ZmllbGQudG9vbHRpcH19XCIgW2F0dHIuaWRdPVwiZmllbGQuaWRcIiBbbmdDbGFzc109XCJmaWVsZC5uZ0NsYXNzXCIgW21hdERhdGVwaWNrZXJdPVwicGlja2VyXCIgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5uYW1lXCIgW3BsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW21pbl09XCJmaWVsZC5taW5cIiBbbWF4XT1cImZpZWxkLm1heFwiPlxuICAgICAgICA8ZGl2IG1hdFN1ZmZpeCBjbGFzcz1cInN1ZmZpeFwiPlxuICAgICAgICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBbZm9yXT1cInBpY2tlclwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGtsZXMtbWF0LWRhdGVwaWNrZXIgI3BpY2tlciBbaGFzQmFja2Ryb3BdPVwiZmFsc2VcIj48L2tsZXMtbWF0LWRhdGVwaWNrZXI+XG4gICAgICAgIEBpZiAoZmllbGQuaGludCkge1xuICAgICAgICAgICAgPG1hdC1oaW50Pnt7ZmllbGQuaGludH19PC9tYXQtaGludD5cbiAgICAgICAgfVxuXG4gICAgICAgIDxtYXQtZXJyb3IgbWF0RXJyb3JNZXNzYWdlIFt2YWxpZGF0aW9uc109XCJmaWVsZC52YWxpZGF0aW9uc1wiIFthc3luY1ZhbGlkYXRpb25zXT1cImZpZWxkLmFzeW5jVmFsaWRhdGlvbnNcIj48L21hdC1lcnJvcj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICBgLFxuICAgIHN0eWxlczogWydtYXQtZm9ybS1maWVsZCB7d2lkdGg6IGNhbGMoMTAwJSl9JyxcbiAgICAgICAgJy5zdWZmaXggeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogcm93fSddXG59KVxuZXhwb3J0IGNsYXNzIEtsZXNGb3JtRGF0ZVRpbWVDb21wb25lbnQgZXh0ZW5kcyBLbGVzRmllbGRBYnN0cmFjdCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBuZ09uSW5pdCgpIHsgc3VwZXIubmdPbkluaXQoKTsgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIl19