@kms-ngx-ui/presentational 16.14.2 → 16.14.3

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.
@@ -18,12 +18,13 @@ export class CheckboxComponent {
18
18
  this.name = '';
19
19
  this.change = new EventEmitter();
20
20
  this.onChange = () => { };
21
- this.onTouch = () => { };
21
+ this.onTouched = () => { };
22
22
  }
23
23
  valueChanged(value) {
24
24
  this.onChange(value);
25
25
  this.checked = value;
26
26
  this.change.emit(value);
27
+ this.onTouched();
27
28
  }
28
29
  writeValue(value) {
29
30
  this.checked = value;
@@ -32,7 +33,7 @@ export class CheckboxComponent {
32
33
  this.onChange = fn;
33
34
  }
34
35
  registerOnTouched(fn) {
35
- this.onTouch = fn;
36
+ this.onTouched = fn;
36
37
  }
37
38
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
38
39
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CheckboxComponent, selector: "kms-checkbox", inputs: { infoText: "infoText", checked: "checked", disabled: "disabled", name: "name" }, outputs: { change: "change" }, providers: [
@@ -63,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
63
64
  }], change: [{
64
65
  type: Output
65
66
  }] } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva21zLW5neC11aS1wcmVzZW50YXRpb25hbC9zcmMvbGliL3VpL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQWN6RSxNQUFNLE9BQU8saUJBQWlCO0lBWjlCO1FBYVcsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUUxQjs7O1dBR0c7UUFDTSxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBRVQsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFRdEMsYUFBUSxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUN6QixZQUFPLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0tBYXpCO0lBcEJDLFlBQVksQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUtELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLENBQUM7K0dBaENVLGlCQUFpQjttR0FBakIsaUJBQWlCLGdLQVJqQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7Z0JBQ2hELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkN2QkgsdVFBVUE7OzRGRGVhLGlCQUFpQjtrQkFaN0IsU0FBUzsrQkFDRSxjQUFjLGFBR2I7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7NEJBQ2hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQUdRLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBTUcsSUFBSTtzQkFBWixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGNvcHlyaWdodCBLTVMgR21iSFxuICovXG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAna21zLWNoZWNrYm94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hlY2tib3guY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDaGVja2JveENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDaGVja2JveENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KCkgaW5mb1RleHQgPSAnJztcbiAgQElucHV0KCkgY2hlY2tlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJbnRlcm5hbCBkZXNjcmlwdGlvbiBuYW1lLiBBbGwgY2hlY2tib3hlcyB3aXRoIHRoZSBzYW1lIG5hbWUgYmVsb25nIHRvIHRoZSBzYW1lIGdyb3VwLlxuICAgKiBVc2VyIGNhbiBzZWxlY3Qgbm9uZSwgb25lIG9yIGFsbCBjaGVja2JveGVzIHdpdGggdGhlIHNhbWUgbmFtZS5cbiAgICovXG4gIEBJbnB1dCgpIG5hbWUgPSAnJztcblxuICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHZhbHVlQ2hhbmdlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgIHRoaXMuY2hlY2tlZCA9IHZhbHVlO1xuICAgIHRoaXMuY2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuICBvblRvdWNoOiBhbnkgPSAoKSA9PiB7fTtcblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmNoZWNrZWQgPSB2YWx1ZTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNoZWNrYm94LWNvbnRhaW5lclwiIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICA8bWF0LWNoZWNrYm94XG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbbmFtZV09XCJuYW1lXCJcbiAgICBbKG5nTW9kZWwpXT1cImNoZWNrZWRcIlxuICAgIChjaGFuZ2UpPVwidmFsdWVDaGFuZ2VkKCRldmVudC5jaGVja2VkKVwiXG4gID5cbiAgICB7eyBpbmZvVGV4dCB9fVxuICA8L21hdC1jaGVja2JveD5cbjwvZGl2PlxuIl19
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva21zLW5neC11aS1wcmVzZW50YXRpb25hbC9zcmMvbGliL3VpL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQWN6RSxNQUFNLE9BQU8saUJBQWlCO0lBWjlCO1FBYVcsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUUxQjs7O1dBR0c7UUFDTSxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBRVQsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFTdEMsYUFBUSxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUN6QixjQUFTLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0tBYTNCO0lBckJDLFlBQVksQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFLRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDOytHQWpDVSxpQkFBaUI7bUdBQWpCLGlCQUFpQixnS0FSakI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2dCQUNoRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJDdkJILHVRQVVBOzs0RkRlYSxpQkFBaUI7a0JBWjdCLFNBQVM7K0JBQ0UsY0FBYyxhQUdiO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFDOzRCQUNoRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs4QkFHUSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQU1HLElBQUk7c0JBQVosS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBjb3B5cmlnaHQgS01TIEdtYkhcbiAqL1xuXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ttcy1jaGVja2JveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ2hlY2tib3hDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIGluZm9UZXh0ID0gJyc7XG4gIEBJbnB1dCgpIGNoZWNrZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogSW50ZXJuYWwgZGVzY3JpcHRpb24gbmFtZS4gQWxsIGNoZWNrYm94ZXMgd2l0aCB0aGUgc2FtZSBuYW1lIGJlbG9uZyB0byB0aGUgc2FtZSBncm91cC5cbiAgICogVXNlciBjYW4gc2VsZWN0IG5vbmUsIG9uZSBvciBhbGwgY2hlY2tib3hlcyB3aXRoIHRoZSBzYW1lIG5hbWUuXG4gICAqL1xuICBASW5wdXQoKSBuYW1lID0gJyc7XG5cbiAgQE91dHB1dCgpIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICB2YWx1ZUNoYW5nZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICB0aGlzLmNoZWNrZWQgPSB2YWx1ZTtcbiAgICB0aGlzLmNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICB9XG5cbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHt9O1xuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIHRoaXMuY2hlY2tlZCA9IHZhbHVlO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjaGVja2JveC1jb250YWluZXJcIiBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgPG1hdC1jaGVja2JveFxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW25hbWVdPVwibmFtZVwiXG4gICAgWyhuZ01vZGVsKV09XCJjaGVja2VkXCJcbiAgICAoY2hhbmdlKT1cInZhbHVlQ2hhbmdlZCgkZXZlbnQuY2hlY2tlZClcIlxuICA+XG4gICAge3sgaW5mb1RleHQgfX1cbiAgPC9tYXQtY2hlY2tib3g+XG48L2Rpdj5cbiJdfQ==
@@ -81,12 +81,13 @@ class CheckboxComponent {
81
81
  this.name = '';
82
82
  this.change = new EventEmitter();
83
83
  this.onChange = () => { };
84
- this.onTouch = () => { };
84
+ this.onTouched = () => { };
85
85
  }
86
86
  valueChanged(value) {
87
87
  this.onChange(value);
88
88
  this.checked = value;
89
89
  this.change.emit(value);
90
+ this.onTouched();
90
91
  }
91
92
  writeValue(value) {
92
93
  this.checked = value;
@@ -95,7 +96,7 @@ class CheckboxComponent {
95
96
  this.onChange = fn;
96
97
  }
97
98
  registerOnTouched(fn) {
98
- this.onTouch = fn;
99
+ this.onTouched = fn;
99
100
  }
100
101
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
101
102
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CheckboxComponent, selector: "kms-checkbox", inputs: { infoText: "infoText", checked: "checked", disabled: "disabled", name: "name" }, outputs: { change: "change" }, providers: [
@@ -1 +1 @@
1
- {"version":3,"file":"kms-ngx-ui-presentational.mjs","sources":["../../../../projects/kms-ngx-ui-presentational/src/lib/kms-ngx-ui-presentational.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/checkbox/checkbox.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/checkbox/checkbox.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/integer-currency.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/safe-html.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/safe-resource-url.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/safe-url.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/trim.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/typeof.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/custom-pipes.module.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/parent-components/form.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/parent-components/form-control.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/icon/iconSize.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/size.directive.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/tooltip.directive.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/icon/icon.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/icon/icon.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/tooltip-icon/tooltip-icon.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/tooltip-icon/tooltip-icon.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/color-input/color-input.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/color-input/color-input.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/enum-radiogroup/enum-radiogroup.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/enum-radiogroup/enum-radiogroup.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/models/is-value.function.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/file-input/file-input.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/file-input/file-input.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/sum-of-height.directive.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/flyout/flyout.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/flyout/flyout.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/kms-accordion-item/kms-accordion-item.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/kms-accordion-item/kms-accordion-item.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/loader/loader.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/loader/loader.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/map/map.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/map/map.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/radiobutton/radiobutton.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/radiobutton/radiobutton.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/models/salutation.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/salutation-dropdown/salutation-dropdown.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/salutation-dropdown/salutation-dropdown.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/models/iconSize.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/time.directive.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/time-input/time-input.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/time-input/time-input.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/yes-no-radiogroup/yes-no-radiogroup.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/yes-no-radiogroup/yes-no-radiogroup.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/swipe.directive.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/directives.module.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/services/viewport.service.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/back-to-top/back-to-top.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/back-to-top/back-to-top.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/confirmation-dialog/dialog-data.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/confirmation-dialog/confirmation-dialog.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/confirmation-dialog/confirmation-dialog.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/dropdown-from-data/dropdown-from-data.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/dropdown-from-data/dropdown-from-data.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/image-slider/image-slider.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/image-slider/image-slider.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/models/image-snippet.model.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/models/types/attached-file-dto.model.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/models/types/nullable.type.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/salutation-radiogroup/salutation-radiogroup.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/salutation-radiogroup/salutation-radiogroup.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/slide-toggle/slide-toggle.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/slide-toggle/slide-toggle.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/slider/slider.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/slider/slider.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/kms-ngx-ui-presentational.module.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/kms-ngx-ui-presentational.service.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/models/button-response-types.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/public-api.ts","../../../../projects/kms-ngx-ui-presentational/src/kms-ngx-ui-presentational.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-kms-ngx-ui-presentational',\n template: `\n <p>\n kms-ngx-ui-presentational works!\n </p>\n `,\n styles: [\n ]\n})\nexport class KmsUiPresentationalComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void { }\n\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'kms-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true,\n },\n ],\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n @Input() infoText = '';\n @Input() checked = false;\n @Input() disabled = false;\n\n /**\n * Internal description name. All checkboxes with the same name belong to the same group.\n * User can select none, one or all checkboxes with the same name.\n */\n @Input() name = '';\n\n @Output() change = new EventEmitter();\n\n valueChanged(value: boolean) {\n this.onChange(value);\n this.checked = value;\n this.change.emit(value);\n }\n\n onChange: any = () => {};\n onTouch: any = () => {};\n\n writeValue(value: any) {\n this.checked = value;\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n}\n","<div class=\"checkbox-container\" [class.disabled]=\"disabled\">\n <mat-checkbox\n [disabled]=\"disabled\"\n [name]=\"name\"\n [(ngModel)]=\"checked\"\n (change)=\"valueChanged($event.checked)\"\n >\n {{ infoText }}\n </mat-checkbox>\n</div>\n","/**\n * @copyright KMS GmbH\n */\n\nimport { CurrencyPipe } from '@angular/common';\nimport { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'kmsIntegerCurrency',\n})\nexport class IntegerCurrency implements PipeTransform {\n constructor(private cp: CurrencyPipe) {}\n transform(value: any, currencyCode?: string, display?: boolean, digitsInfo?: string): string | null {\n const currencyPipeValue = this.cp.transform(value, currencyCode, display, digitsInfo)\n if (currencyPipeValue) {\n const convertedValue = currencyPipeValue.split(',')[0] + ' ' + currencyPipeValue.slice(-1)\n return convertedValue\n } else {\n throw new Error(\"No value provided\");\n }\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'kmsSafeHtml',\n})\nexport class SafeHtmlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n\n@Pipe({\n name: 'kmsSafeResourceSUrl',\n})\nexport class SafeResourceUrlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(url: string): SafeResourceUrl {\n return this.sanitizer.bypassSecurityTrustResourceUrl(url);\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\n\n@Pipe({\n name: 'kmsSafeSUrl',\n})\nexport class SafeUrlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(url: string): SafeUrl {\n return this.sanitizer.bypassSecurityTrustUrl(url);\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Pipe, PipeTransform } from \"@angular/core\";\n\n@Pipe({ name: 'kmsTrim' })\nexport class TrimPipe implements PipeTransform {\n transform(value: any) {\n if (!value) {\n return '';\n }\n\n return value.trim();\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'kmsTypeOf',\n})\nexport class TypeofPipe implements PipeTransform {\n transform(value: any): any {\n return typeof value;\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\n import { CommonModule, CurrencyPipe } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\n import { IntegerCurrency } from './integer-currency.pipe';\nimport { SafeHtmlPipe } from './safe-html.pipe';\nimport { SafeResourceUrlPipe } from './safe-resource-url.pipe';\nimport { SafeUrlPipe } from './safe-url.pipe';\nimport { TrimPipe } from './trim.pipe';\nimport { TypeofPipe } from './typeof.pipe';\n\n @NgModule({\n declarations: [\n IntegerCurrency,\n SafeHtmlPipe,\n SafeUrlPipe,\n TrimPipe,\n SafeResourceUrlPipe,\n TypeofPipe,\n ],\n imports: [CommonModule],\n exports: [\n IntegerCurrency,\n SafeHtmlPipe,\n SafeUrlPipe,\n TrimPipe,\n SafeResourceUrlPipe,\n TypeofPipe,\n ],\n providers: [CurrencyPipe],\n })\n export class CustomPipesModule {}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\n\n@Component({\n selector: 'kms-form',\n template: '',\n})\nexport class FormParentComponent implements OnInit {\n public form!: UntypedFormGroup;\n public formInitialized = false;\n private allowedCharsOnlyNumbers = new Set(\n '0123456789'.split('').map((c) => c.charCodeAt(0))\n );\n\n @Output() formDataChanged: EventEmitter<UntypedFormGroup> =\n new EventEmitter();\n\n @Input() disabled = false;\n\n constructor(public formBuilder: UntypedFormBuilder) {}\n\n // TODO make a service or make own compoennt etc.\n /**\n * Returns if a number was pressed\n * @param e\n * @returns\n */\n checkIfKeyWasNumber(\n e: KeyboardEvent,\n allowDelete = true,\n allowArrows = true,\n allowCutCopyPaste = true\n ) {\n // returns if keycode of numbers-row or numberpad. Or if parameter set, allow delete/backspace key\n const isNumberRow = e.keyCode >= 48 && e.keyCode <= 57;\n const isNumberPad = e.keyCode >= 96 && e.keyCode <= 105;\n const isArrows = e.keyCode >= 37 && e.keyCode <= 40;\n const isDelete = e.keyCode == 8 || e.keyCode == 46;\n const isCutCopyOrPaste =\n (e.ctrlKey || e.metaKey) &&\n (e.keyCode == 86 || e.keyCode == 88 || e.keyCode == 67);\n return (\n isNumberRow ||\n isNumberPad ||\n (allowDelete && isDelete) ||\n (allowArrows && isArrows) ||\n (allowCutCopyPaste && isCutCopyOrPaste)\n );\n }\n\n // TODO make a service or make own compoennt etc.\n /**\n * Prevents to input other chars than numbers in input\n * @param event\n */\n removeNumbersOnType(event: KeyboardEvent) {\n // only allow keydown from numbers-row or numberpad of keybard and block other chars than numbers\n if (\n !this.checkIfKeyWasNumber(event) &&\n !this.allowedCharsOnlyNumbers.has(event.keyCode)\n ) {\n event.preventDefault();\n }\n }\n\n // TODO make a service or make own compoennt etc.\n /**\n * Prevents input when pasting which is not number\n * @param event\n */\n removeNumbersOnPaste(event: ClipboardEvent) {\n const clipboardData = event.clipboardData;\n if (clipboardData) {\n const pastedText = clipboardData.getData('text');\n if (pastedText) {\n const isnum = /^\\d+$/.test(pastedText);\n if (!isnum) {\n event.preventDefault();\n }\n }\n }\n }\n\n ngOnInit() {\n this.formDataChanged.emit(this.form);\n this.form.valueChanges.subscribe(() => {\n this.formDataChanged.emit(this.form);\n });\n }\n}\n","import { Component, ElementRef, Input, EventEmitter, Output, ViewChild, Renderer2 } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormControl } from '@angular/forms';\nimport { FormParentComponent } from './form.component';\n\n@Component({\n selector: 'kms-formControlParent',\n template: '',\n})\nexport class FormControlParentComponent extends FormParentComponent {\n @Input() defaultDataOverride = ''; // when we have NO form around, get default via input to set it manually\n @Output() onSelectItemEmitter = new EventEmitter<string>();\n\n @ViewChild('child') public child?: ElementRef<HTMLInputElement>;\n\n public internalValue = '';\n\n constructor(public formBuilder: UntypedFormBuilder, public renderer: Renderer2) {\n super(formBuilder);\n }\n\n ngOnInit() {\n super.ngOnInit();\n }\n\n change(value: string) {\n this.onChange(value);\n this.onTouched();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public onChange: any = () => {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouch: any = () => {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouched: any = () => {};\n\n get value(): string {\n return this.internalValue;\n }\n\n set value(value: string) {\n this.internalValue = value;\n if (value !== undefined && this.internalValue !== value) {\n if (!this.internalValue && this.defaultDataOverride) {\n this.internalValue = this.defaultDataOverride;\n }\n this.onChange(value);\n this.onTouch(value);\n }\n }\n\n writeValue(value: string) {\n this.internalValue = value;\n this.value = value;\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n setDisabledState?(isDisabled: boolean) {\n if (this.child?.nativeElement) {\n this.renderer.setProperty(this.child.nativeElement, 'disabled', isDisabled);\n }\n }\n\n validate(_: UntypedFormControl) {\n return this.form.valid ? null : false;\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nexport enum IconSize {\n FULLSIZE = 'size-full',\n TINY = 'size-16',\n SMALLER = 'size-20',\n SMALL = 'size-32',\n MEDIUM = 'size-64',\n LARGE = 'size-128',\n XL = 'size-256',\n XXL = 'size-512',\n XXXL = 'size-1024',\n NONE = 'NONE',\n}\n\nexport enum IconSizePx {\n TINY = 16,\n SMALLER = 20,\n SMALL = 32,\n MEDIUM = 64,\n LARGE = 128,\n XL = 256,\n XXL = 512,\n XXXL = 1024,\n}\n","import { Directive, ElementRef, Input } from '@angular/core';\n\n@Directive({ selector: '[size]' })\nexport class SizeDirective {\n @Input() size: string = '';\n\n constructor(private elementRef: ElementRef) { }\n\n ngOnInit() {\n this.elementRef.nativeElement.style.width = this.size + 'px';\n this.elementRef.nativeElement.style.height = this.size + 'px';\n }\n}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n} from '@angular/core';\nimport {\n computePosition,\n Placement,\n arrow,\n autoUpdate,\n offset,\n shift,\n flip,\n} from '@floating-ui/dom';\n\n@Directive({ selector: '[kmsTooltip]' })\nexport class TooltipDirective implements AfterViewInit, OnChanges {\n @Input() kmsTooltip: HTMLElement;\n @Input() placement: Placement = 'bottom';\n @Input() delay: number = 0;\n @Input() alwaysVisible = false;\n\n arrow: HTMLElement;\n showTimeout: NodeJS.Timeout;\n\n @HostListener('mouseover')\n onMouseOver() {\n if (this.alwaysVisible) return;\n\n this.showTimeout = setTimeout(() => {\n this.renderer.addClass(this.kmsTooltip, 'kms-tooltip--show');\n }, this.delay);\n }\n\n @HostListener('mouseout')\n onMouseOut() {\n if (this.alwaysVisible) return;\n\n clearTimeout(this.showTimeout);\n this.renderer.removeClass(this.kmsTooltip, 'kms-tooltip--show');\n }\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n this.renderer.addClass(this.kmsTooltip, 'kms-tooltip');\n this.addArrow();\n this.initTooltip();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.alwaysVisible.currentValue) {\n this.renderer.addClass(this.kmsTooltip, 'kms-tooltip--show');\n } else {\n this.renderer.removeClass(this.kmsTooltip, 'kms-tooltip--show');\n }\n }\n\n initTooltip() {\n autoUpdate(this.elementRef.nativeElement, this.kmsTooltip, () => {\n const arrowLength = this.arrow.offsetWidth;\n // Get half the arrow box's hypotenuse length\n const floatingOffset = Math.sqrt(2 * arrowLength ** 2) / 2;\n\n computePosition(this.elementRef.nativeElement, this.kmsTooltip, {\n placement: this.placement,\n middleware: [\n shift(),\n offset(floatingOffset),\n arrow({ element: this.arrow }),\n flip(),\n ],\n }).then(({ x, y, middlewareData, placement }) => {\n this.positionTooltip(x, y);\n\n if (middlewareData.arrow) {\n this.positionTooltipArrow(\n middlewareData.arrow.x,\n middlewareData.arrow.y,\n placement,\n arrowLength\n );\n }\n });\n });\n }\n\n positionTooltip(x: number, y: number) {\n Object.assign(this.kmsTooltip.style, {\n left: `${x}px`,\n top: `${y}px`,\n });\n }\n\n positionTooltipArrow(\n x: number,\n y: number,\n placement: Placement,\n arrowLength: number\n ) {\n const side = placement.split('-')[0];\n\n const staticSide = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[side];\n\n this.addArrowClass(staticSide);\n\n Object.assign(this.arrow.style, {\n left: x != null ? `${x}px` : '',\n top: y != null ? `${y}px` : '',\n // Ensure the static side gets unset when\n // flipping to other placements' axes.\n right: '',\n bottom: '',\n [staticSide]: `${-arrowLength / 2}px`,\n transform: 'rotate(45deg)',\n });\n }\n\n addArrow() {\n this.arrow = this.renderer.createElement('div');\n this.renderer.addClass(this.arrow, 'kms-tooltip__arrow');\n this.renderer.appendChild(this.kmsTooltip, this.arrow);\n }\n\n addArrowClass(side: string) {\n this.renderer.removeClass(this.arrow, 'kms-tooltip__arrow--left');\n this.renderer.removeClass(this.arrow, 'kms-tooltip__arrow--right');\n this.renderer.removeClass(this.arrow, 'kms-tooltip__arrow--bottom');\n this.renderer.removeClass(this.arrow, 'kms-tooltip__arrow--top');\n\n this.renderer.addClass(this.arrow, 'kms-tooltip__arrow--' + side);\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Component, Input, OnInit, VERSION } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport * as colors from '../../../assets/icons.json';\nimport { IconSize } from './iconSize.enum';\n\n@Component({\n selector: 'kms-icon',\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss'],\n})\nexport class IconComponent implements OnInit {\n /**\n * Required: Name of the SVG icon inside your sprite sheet file with name 'icons.svg'.\n * Pass 'none' if no icon should be rendered.\n */\n @Input() icon!: (typeof colors)[number];\n\n /**\n * Optional: Different appearance via CSS class defined in this component´s style sheet.\n */\n @Input() iconClass!: string | '';\n\n /**\n * Optional: Different appearance via CSS inline style.\n */\n\n @Input() iconStyle: any;\n\n /**\n * Optional: Different size via CSS inline style.\n * @deprecated. Please use size instead\n */\n @Input() iconSize: IconSize = IconSize.FULLSIZE;\n\n /**\n * Optional: Different size via CSS inline style.\n * @deprecated. Please use size instead\n */\n @Input() size?: string;\n\n /**\n * Dont use icon sprite\n */\n\n @Input() dontUseSprite = false;\n\n IconSize = IconSize;\n Version = VERSION.full;\n\n public timestamp = 0;\n\n constructor(public sanitizer: DomSanitizer) {}\n\n ngOnInit() {\n const d = new Date();\n const n = d.getTime();\n this.timestamp = n;\n }\n}\n","<ng-container *ngIf=\"icon !== 'none' && dontUseSprite === false\">\n <span\n class=\"icon {{ iconSize }}\"\n [ngClass]=\"iconClass\"\n [ngStyle]=\"iconStyle\"\n [style.width.px]=\"size\"\n [style.height.px]=\"size\"\n >\n <svg>\n <use\n [attr.xlink:href]=\"'assets/sprite.svg?Version=' + Version + '#' + icon\"\n ></use>\n </svg>\n </span>\n</ng-container>\n<ng-container *ngIf=\"icon !== 'none' && dontUseSprite === true\">\n <object\n [data]=\"\n sanitizer.bypassSecurityTrustResourceUrl('assets/icons/' + icon + '')\n \"\n type=\"image/svg+xml\"\n class=\"icon {{ iconSize }}\"\n [ngClass]=\"iconClass\"\n [ngStyle]=\"iconStyle\"\n ></object>\n</ng-container>\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n HostBinding,\n Input,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport { IconSize } from '../../models';\nimport { IconSizePx } from '../icon/iconSize.enum';\nimport { Placement } from '@floating-ui/dom';\n@Component({\n selector: 'kms-tooltip-icon',\n templateUrl: './tooltip-icon.component.html',\n styleUrls: ['./tooltip-icon.component.scss'],\n})\nexport class TooltipIconComponent {\n @ViewChild('button') button: ElementRef;\n @ViewChild('tooltip') tooltip: ElementRef;\n @Input() tooltipText = '';\n @Input() placement: Placement;\n @Input() delay = 1000;\n @Input() iconSize: IconSizePx = IconSizePx.SMALLER;\n @Input() iconClass = 'color-primary';\n @Input() tooltipAlwaysVisible = false;\n}\n","<div #tooltipContent>\n {{ tooltipText }}\n</div>\n<kms-icon\n icon=\"ic_info\"\n [size]=\"iconSize\"\n [iconClass]=\"iconClass\"\n [kmsTooltip]=\"tooltipContent\"\n [placement]=\"placement\"\n [delay]=\"delay\"\n [alwaysVisible]=\"tooltipAlwaysVisible\"\n></kms-icon>\n","import { Component, forwardRef, Input, OnInit, Renderer2 } from '@angular/core';\nimport {\n ControlValueAccessor,\n UntypedFormBuilder,\n UntypedFormControl,\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\nimport { FormControlParentComponent } from './../../parent-components/form-control.component';\n\n@Component({\n selector: 'kms-color-input',\n templateUrl: './color-input.component.html',\n styleUrls: ['./color-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ColorInputComponent),\n multi: true,\n },\n ],\n})\nexport class ColorInputComponent\n extends FormControlParentComponent\n implements OnInit, ControlValueAccessor\n{\n @Input() label = '';\n @Input() tooltipText = '';\n @Input() placeholder = '';\n valid: boolean | null | undefined;\n\n constructor(\n public formBuilder: UntypedFormBuilder,\n public renderer: Renderer2\n ) {\n super(formBuilder, renderer);\n }\n\n ngOnInit() {\n this.form = this.formBuilder.group({\n color: '',\n });\n\n super.ngOnInit();\n\n this.formInitialized = true;\n\n this.form.valueChanges.subscribe((value) => {\n this.internalValue = value.color;\n this.onChange(value.color);\n });\n }\n\n validate(_: UntypedFormControl) {\n // TODO fix to validate complete form\n this.valid = this.matchesHex(this.form.value) ? null : false;\n return (\n this.valid && {\n invalid: !this.valid,\n }\n );\n }\n\n matchesHex(match?: string) {\n if (match) {\n const ret = match.match(/^#[0-9a-f]{6}$/i);\n this.valid = ret && ret.length > 0;\n return ret;\n }\n return false;\n }\n\n updateSelectedColor(value: any) {\n const color = value.target.value;\n this.value = color;\n this.internalValue = color;\n this.change(color);\n }\n}\n","\n<form [formGroup]=\"form\" *ngIf=\"formInitialized\">\n <div>\n <mat-form-field class=\"colorInput\">\n <kms-tooltip-icon [tooltipText]=\"tooltipText\" *ngIf=\"tooltipText\"></kms-tooltip-icon>\n <mat-label>{{ label }}</mat-label>\n <input type=\"text\" [(ngModel)]=\"value\" matInput formControlName=\"color\" [placeholder]=\"placeholder\" [ngClass]=\"{'my-inValid': !matchesHex(value)}\" />\n <input type=\"color\" [value]=\"value && matchesHex(value) ? value : '#ffffff'\" (change)=\"updateSelectedColor($event)\" [ngClass]=\"{'my-inValid': !matchesHex(value)}\" />\n </mat-form-field>\n </div>\n</form>","import { Component, forwardRef, Input, OnInit, Renderer2 } from '@angular/core';\nimport { ControlValueAccessor, UntypedFormBuilder, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NullAble } from '../../models';\n\nimport { FormControlParentComponent } from './../../parent-components/form-control.component';\n\n@Component({\n selector: 'kms-enum-radiogroup',\n templateUrl: './enum-radiogroup.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EnumRadiogroupComponent),\n multi: true,\n },\n ],\n})\nexport class EnumRadiogroupComponent extends FormControlParentComponent implements OnInit, ControlValueAccessor {\n @Input() header: NullAble<String>;\n @Input() optionsEnum: any;\n @Input() translationPrefix = '';\n\n public optionValues: any;\n \n constructor(public formBuilder: UntypedFormBuilder, public renderer: Renderer2) {\n super(formBuilder, renderer);\n }\n\n ngOnInit(){\n this.optionValues = Object.keys(this.optionsEnum).filter(x => !(parseInt(x) >= 0));\n this.form = this.formBuilder.group({\n enumData: [],\n });\n this.formInitialized = true;\n\n this.form.valueChanges.subscribe((value) => {\n this.internalValue = value.enumData;\n this.onChange(value.enumData);\n });\n\n super.ngOnInit();\n }\n}\n","<form [formGroup]=\"form\">\n <div>{{ header }}</div>\n <mat-radio-group [formControl]=\"form.controls['enumData']\" [disabled]=\"disabled\" #child>\n <mat-radio-button [value]=\"choice\" [checked]=\"value === choice\" *ngFor=\"let choice of optionValues\">{{ translationPrefix + '.' + choice | translate }}</mat-radio-button>\n </mat-radio-group>\n</form>","/**\n * @copyright FLYACTS GmbH 2019\n */\n\nimport { NullAble } from \"./types/nullable.type\";\n\n\n/**\n * Check if null or undefined\n * @param value value that is being checked\n */\nexport function isValue<T>(value: NullAble<T>): value is T {\n if (value === null) {\n return false;\n }\n if (typeof value === 'undefined') {\n return false;\n }\n return true;\n}\n","import { Component, Input, forwardRef, OnInit, ViewChild, Renderer2, EventEmitter, Output, ApplicationRef, ChangeDetectorRef } from '@angular/core';\n\nimport {\n ControlValueAccessor,\n UntypedFormBuilder,\n UntypedFormControl,\n UntypedFormGroup,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\n//import { TranslateService } from '@ngx-translate/core';\nimport { IconSize } from '../../models/iconSize.enum';\nimport { AttachedFileDTO } from '../../models/types/attached-file-dto.model';\nimport { isValue } from '../../models/is-value.function';\nimport { IconSizePx } from '../icon/iconSize.enum';\n\n// Max size in bytes of uploaded image\nconst MAX_SIZE_BYTES = 2097152;\n\n@Component({\n selector: 'kms-file-input',\n templateUrl: './file-input.component.html',\n styleUrls: ['./file-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FileInputComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => FileInputComponent),\n multi: true,\n },\n ],\n})\n\nexport class FileInputComponent implements ControlValueAccessor, OnInit {\n \n @ViewChild('fileInput') public fileInput: any;\n\n @Input() label = '';\n \n @Input() previewImage = true; \n @Input() allowRemove = true; \n @Input() previewImageText = ''; \n @Input() maxSizeBytes = MAX_SIZE_BYTES; \n @Input() resizePixels = 0; \n @Input() acceptedFileMimetypes = 'image/jpeg, image/jpg, image/png'; \n\n form= this.formBuilder.group({\n ImageIdent: new UntypedFormControl(''),\n ImageLink: new UntypedFormControl(''),\n Filename: new UntypedFormControl(''),\n ImageAsDataURL: new UntypedFormControl(''),\n Text: new UntypedFormControl(''),\n });\n\n subscriptions: Subscription[] = [];\n newImageLoading = false\n\n IconSizePx = IconSizePx;\n\n @Output() formDataChanged: EventEmitter<UntypedFormGroup> = new EventEmitter();\n\n /**\n * Constructor\n * @param formBuilder \n * @param appRef \n * @param cd \n * @param translateService \n * @param renderer \n */\n constructor(\n public formBuilder: UntypedFormBuilder, \n public appRef: ApplicationRef,\n public cd: ChangeDetectorRef,\n //private translateService: TranslateService,\n public renderer: Renderer2\n ) {\n \n }\n\n /**\n * Click on button triggers file-input to open OS file dialog\n */\n selectImageOverlay() {\n this.fileInput.nativeElement.click();\n }\n\n /**\n * Function to manage the input image\n * Returns an error if the file exceeds maximum wanted filesize (Mb). \n * @param ev\n * @returns\n */\n selectImage(ev: any) {\n if (ev.target.files && ev.target.files[0]) {\n const file:File = ev.target.files[0];\n\n if (file.size > this.maxSizeBytes) {\n this.clearInputValue(ev);\n //alert(this.translateService.instant('errors.fileTooBig'));\n return;\n } else {\n this.newImageLoading = true;\n\n if(this.resizePixels > 0){\n const logoUrl = URL.createObjectURL(file);\n const imgEl = document.createElement('img');\n imgEl.addEventListener('load', () => {\n const resizedLogo = this.resizeImage(imgEl, this.resizePixels);\n const newFile = this.generateModel(file.name, resizedLogo, this.value.ImageIdent, this.value.ImageLink, this.value.Text);\n this.value=newFile;\n this.newImageLoading = false;\n this.cd.markForCheck();\n });\n imgEl.src = logoUrl;\n }else{\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = (e: any) => {\n const newFile = this.generateModel(file.name, e.target.result, this.value.ImageIdent, this.value.ImageLink, this.value.Text);\n this.value=newFile;\n this.newImageLoading = false;\n this.cd.markForCheck();\n };\n }\n \n }\n }else{\n console.warn(\"No file selected\");\n }\n }\n\n /**\n * Resize an image\n * @param imgEl\n * @param wantedWidth as number\n * @returns string \n */\n private resizeImage(imgEl: any, wantedWidth: number) {\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n const aspect = imgEl.width / imgEl.height;\n canvas.width = wantedWidth;\n canvas.height = wantedWidth / aspect;\n if (isValue(ctx)) ctx.drawImage(imgEl, 0, 0, canvas.width, canvas.height);\n return canvas.toDataURL();\n }\n\n /**\n * Generate default object\n * @param name as string\n * @param content as string\n * @returns AttachedFileDTO\n */\n generateModel(name?: string, content?: string, ident?: string, imageLink?: string, text?: string){\n return {\n ImageIdent: ident ? ident : '',\n Filename: name ? name : '',\n ImageAsDataURL: content ? content : '',\n ImageLink: imageLink ? imageLink : '',\n Text: text ? text : ''\n } as AttachedFileDTO;\n }\n\n /**\n * Remove image \n */\n removeFromList(){\n this.value= this.generateModel('','', '', '');\n }\n\n /**\n * get value\n */\n get value(): AttachedFileDTO {\n return this.form.value;\n }\n\n /**\n * set value\n */\n set value(value: AttachedFileDTO) {\n this.form.setValue(value);\n this.onChange(value);\n this.formDataChanged.emit(this.form);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: any = () => {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouch: any = () => {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n ngOnInit() {}\n\n\n ngOnDestroy() {\n this.subscriptions.forEach(s => s.unsubscribe());\n } \n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n writeValue(value: AttachedFileDTO | null) {\n if (value) {\n this.value = value;\n }\n\n if (value === null) {\n this.form.reset();\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/adjacent-overload-signatures\n validate(_: UntypedFormControl) {\n return this.form.valid ? null : { styles: { valid: false } };\n }\n\n /**\n * OnClick event listener of input#fileInput to clear his input value\n */\n clearInputValue(ev: any) {\n const element = ev.target as HTMLInputElement;\n element.value = '';\n }\n}\n","<form [formGroup]=\"form\" (change)=\"newImageLoading=true\" class=\"fileInput\"> \n\n <div *ngIf=\"form.value.Filename && previewImage\">\n <div *ngIf=\"newImageLoading\">\n {{ 'file-input.loading' | translate }}\n </div>\n <div *ngIf=\"!newImageLoading\">\n <div class=\"\">\n <div class=\"\">\n <img *ngIf=\"form.value.ImageLink && form.value.ImageLink !== '' && !(form.value.ImageAsDataURL && form.value.ImageAsDataURL !== '')\" [src]=\"form.value.ImageAsDataURL\" [src]=\"form.value.ImageLink\" style=\"height: 40px; width: fit-content;\" />\n <img *ngIf=\"form.value.ImageAsDataURL && form.value.ImageAsDataURL !== ''\" [src]=\"form.value.ImageAsDataURL\" style=\"height: 40px; width: fit-content;\" />\n </div>\n <div class=\"\">{{form.value.Filename}}</div>\n <div class=\"\">\n <div (click)=\"removeFromList()\" *ngIf=\"allowRemove\">\n <kms-icon icon=\"trash\" [size]=\"IconSizePx.TINY\" iconClass=\"color-black\"></kms-icon> \n {{ 'file-input.remove' }}\n </div>\n </div>\n </div>\n </div>\n </div>\n <div *ngIf=\"!previewImage\">\n <div class=\"\">{{form.value.Filename}}</div>\n </div>\n\n <button (click)=\"selectImageOverlay()\" class=\"button-primary-font-color\" mat-stroked-button>\n <span>{{ label }}</span>\n </button>\n <input\n type=\"file\"\n [accept]=\"acceptedFileMimetypes\"\n style=\"display: none\"\n #fileInput\n (click)=\"clearInputValue($event)\"\n (change)=\"selectImage($event)\"\n />\n\n <input type=\"hidden\" [formControl]=\"form.controls['ImageIdent']\" />\n <input type=\"hidden\" [formControl]=\"form.controls['ImageLink']\" />\n <input type=\"hidden\" [formControl]=\"form.controls['Filename']\" />\n <input type=\"hidden\" [formControl]=\"form.controls['ImageAsDataURL']\" />\n <input type=\"hidden\" [formControl]=\"form.controls['Text']\" />\n\n</form>","/**\n * @copyright KMS GmbH\n */\n\n// ng\nimport {\n AfterContentChecked,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\n/**\n * Directive to calc the height of all inner elements\n */\n@Directive({\n selector: '[getMaxHeight]',\n})\nexport class GetMaxHeightDirective implements AfterContentChecked {\n /**\n * CSS class name of the child items (markup elements) that should be checked for their height.\n * This is mandatory.\n */\n @Input('getMaxHeight') cssClassName = '';\n\n /**\n * Event that will pass the height of the tallest child inside the container.\n * Useful to calculate the target height of containers with different content (like accordion) for animations.\n */\n @Output() public maxHeightChanged: EventEmitter<number> = new EventEmitter();\n\n /**\n * Event that will pass the complete sum of all height values from each child.\n * Useful to calculate the full target height of a container (like dropdown) for animations.\n */\n @Output() public sumOfHeight: EventEmitter<number> = new EventEmitter();\n\n constructor(private el: ElementRef) {}\n\n ngAfterContentChecked(): void {\n this.checkHeightOfChildren(this.el.nativeElement, this.cssClassName);\n }\n\n private checkHeightOfChildren(parent: HTMLElement, cssClassName: string) {\n if (!parent) {\n return;\n }\n\n // find all the child elements with the selected class name\n const children = parent.getElementsByClassName(cssClassName);\n\n // failsafe\n if (!children) {\n return;\n }\n\n // get all the child elements heights\n const itemHeights = Array.from(children).map(\n (x) => x.getBoundingClientRect().height\n );\n\n // failsafe\n if (itemHeights.length === 0) {\n return;\n }\n\n // find out the tallest element\n const maxHeight = itemHeights.reduce((prev, curr) => {\n return curr > prev ? curr : prev;\n }, 0);\n\n // get sum of heights\n const sumOfHeight = itemHeights.reduce((pv, cv) => pv + cv, 0);\n\n // inform\n this.maxHeightChanged.emit(maxHeight);\n this.sumOfHeight.emit(sumOfHeight);\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { state, style, trigger } from '@angular/animations';\nimport { Component, ElementRef, Input, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'kms-flyout',\n templateUrl: './flyout.component.html',\n styleUrls: ['./flyout.component.scss'],\n animations: [\n trigger('dropdownAnimation', [\n state(\n 'true',\n style({\n height: '{{targetHeight}}',\n transition: 'height {{animationTime}}ms ease-in-out',\n }),\n {\n params: {\n targetHeight: '300px',\n animationTime: 3000,\n },\n }\n ),\n state(\n 'false',\n style({\n height: 0,\n transition: 'height {{animationTime}}ms ease-in-out',\n }),\n {\n params: {\n targetHeight: '300px',\n opacity: 0,\n animationTime: 3000,\n },\n }\n ),\n ]),\n ],\n})\nexport class FlyoutComponent {\n @Input() icon = 'filter';\n\n isDropdownOpened = false;\n targetHeight = '0';\n animationTime = 5000;\n\n @Input() headerCssClass = '';\n @Input() bodyCssClass = '';\n\n @Input() headerTitle = '';\n @Input() headerText = '';\n @Input() hasButtonForMore = false;\n @Input() moreText = '';\n @Input() lessText = '';\n\n @ViewChild('content') content: ElementRef | undefined;\n\n @ViewChild('flyoutHeader') flyoutHeader: ElementRef | undefined;\n\n /**\n * Open/close dropdown if click on header.\n * Except, if mode is set to hasButtonForMore. When there is a extra button to open/close\n */\n toggleDropdownHeader() {\n if (!this.hasButtonForMore) {\n this.toggleDropdown();\n }\n }\n\n /**\n * Open or close the dropdown\n */\n toggleDropdown() {\n this.isDropdownOpened = !this.isDropdownOpened;\n }\n\n /**\n * Set the height of the dropdown list items dynamic - needed for the animation\n */\n setDropdownListHeight(contentHeight: number) {\n this.targetHeight = `${contentHeight}px`;\n }\n}\n","<div class=\"flyout\" [ngClass]=\"{ 'is-active': isDropdownOpened }\">\n <div\n class=\"flyout-header\"\n (click)=\"toggleDropdownHeader()\"\n [ngClass]=\"headerCssClass\"\n >\n <span [innerHtml]=\"headerTitle | kmsSafeHtml\"></span>\n <span [innerHtml]=\"headerText | kmsSafeHtml\"></span>\n\n <ng-content select=\"[header]\"></ng-content>\n\n <div\n *ngIf=\"hasButtonForMore\"\n (click)=\"toggleDropdown()\"\n class=\"flyout-header-more\"\n >\n <span *ngIf=\"!isDropdownOpened\">\n {{ moreText }}\n <kms-icon [icon]=\"'chevron-down'\" [size]=\"16\"> </kms-icon>\n </span>\n <span *ngIf=\"isDropdownOpened\">\n {{ lessText }}\n <kms-icon [icon]=\"'chevron-top'\" [size]=\"16\"> </kms-icon>\n </span>\n </div>\n </div>\n <div\n class=\"flyout-body\"\n [ngClass]=\"bodyCssClass\"\n tabindex=\"0\"\n [@dropdownAnimation]=\"{\n value: isDropdownOpened,\n params: { targetHeight: targetHeight, animationTime: '500' }\n }\"\n getMaxHeight=\"inner\"\n (sumOfHeight)=\"setDropdownListHeight($event)\"\n #flyoutHeader\n >\n <div class=\"inner\" #content *ngIf=\"isDropdownOpened || !hasButtonForMore\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Component, Input, OnInit } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n/**\n * A generic dialog component\n */\n@Component({\n selector: 'kms-accordion-item',\n templateUrl: './kms-accordion-item.component.html',\n styleUrls: ['./kms-accordion-item.component.scss'],\n})\nexport class KMSAccordionItemComponent implements OnInit {\n public itemTitleTrustHtml: SafeHtml | undefined;\n @Input() public showAsCard = false;\n @Input() public isSmall = false;\n @Input() public expanded = false;\n @Input()\n public set itemTitle(val: string) {\n this.itemTitleTrustHtml = this.sanitizer.bypassSecurityTrustHtml(val);\n }\n\n panelOpenState = false;\n\n constructor(public sanitizer: DomSanitizer) {}\n\n ngOnInit() {}\n}\n","<mat-expansion-panel\n class=\"accordion-item\"\n [ngClass]=\"{showAsCard: showAsCard, showFlat: !showAsCard, isSmall: isSmall}\"\n (opened)=\"panelOpenState = true\"\n (closed)=\"panelOpenState = false\"\n [expanded] = \"expanded\"\n hideToggle=\"true\">\n <mat-expansion-panel-header class=\"accordion-item-header\">\n <mat-panel-title class=\"mat-subheading-2 accordion-item-title\">\n <div [innerHtml]=\"itemTitleTrustHtml\"></div>\n <ng-content select=\"[itemTitleElement]\"></ng-content>\n </mat-panel-title>\n <div class=\"accordion-item-header-icon-wrapper\">\n <kms-icon *ngIf=\"!panelOpenState\" icon=\"ic_plus\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-desktop\"></kms-icon>\n <kms-icon *ngIf=\"panelOpenState\" icon=\"ic_minus\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-desktop\"></kms-icon>\n\n <kms-icon *ngIf=\"!panelOpenState\" icon=\"chevron-down\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-mobile\"></kms-icon>\n <kms-icon *ngIf=\"panelOpenState\" icon=\"chevron-top\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-mobile\"></kms-icon>\n </div>\n </mat-expansion-panel-header>\n <ng-content></ng-content>\n</mat-expansion-panel>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'kms-loader',\n templateUrl: './loader.component.html',\n styleUrls: ['./loader.component.scss'],\n})\nexport class LoaderComponent {\n @Input() loading = false;\n}\n","<div class=\"loading-spinner-shade\" *ngIf=\"loading\">\n <mat-spinner class=\"spinnerMargin\" color=\"accent\" diameter=\"44\"></mat-spinner>\n</div>\n","/**\n * @copyright KMS GmbH\n */\nimport { Component, Input, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { Address } from '../../models/address.model';\n\n/**\n * MarkerOptions class for Marker\n */\nexport class MarkerOptions {\n animation!: number;\n}\n\n/**\n * MarkerLabel class for Marker\n */\nexport class MarkerLabel {\n color!: string;\n text!: string;\n}\n\n/**\n * Marker class\n */\nexport class Marker {\n position!: google.maps.LatLngLiteral;\n label!: MarkerLabel;\n title!: string;\n options!: MarkerOptions;\n}\n\n/**\n * Component to show marker on google map for specific address\n */\n@Component({\n selector: 'kms-map',\n templateUrl: './map.component.html',\n styleUrls: ['./map.component.scss'],\n})\nexport class MapComponent implements OnInit {\n @Input() data!: Address;\n\n public markers: Marker[] = [];\n public geoDataFoundForAddress = false;\n public widthSet = false;\n\n public width = '100%';\n public zoom = 15;\n public center: google.maps.LatLngLiteral = {\n lat: 52.097449,\n lng: 12.7436911,\n };\n\n public options: google.maps.MapOptions = {\n mapTypeId: 'roadmap',\n zoomControl: false,\n scrollwheel: false,\n disableDoubleClickZoom: true,\n maxZoom: 15,\n minZoom: 8,\n };\n\n public google: any;\n\n public geocoder: any;\n\n public viewportSubscription?: Subscription;\n\n constructor() {}\n\n ngOnInit() {\n this.findLocation(\n this.data.Street + ' ' + this.data.Zip + ' ' + this.data.City\n );\n }\n\n /**\n * Asks google for geocoordinates of a given address string\n * @input address as string\n */\n findLocation(address: string) {\n if (!this.geocoder) {\n this.geocoder = new google.maps.Geocoder();\n }\n this.geocoder.geocode(\n {\n address: address,\n },\n (\n results: google.maps.GeocoderResult,\n status: google.maps.GeocoderStatus\n ) => {\n if (status === google.maps.GeocoderStatus.OK) {\n this.center.lat = results[0].geometry.location.lat();\n this.center.lng = results[0].geometry.location.lng();\n\n this.addMarker();\n this.geoDataFoundForAddress = true;\n } else {\n console.error(\n 'Sorry, this search of map address produced no results.'\n );\n }\n }\n );\n }\n\n /**\n * Adds a marker to the map\n */\n addMarker() {\n this.markers.push({\n position: {\n lat: this.center.lat,\n lng: this.center.lng,\n },\n label: {\n color: 'blue',\n\n text: this.data.Name1 || '',\n },\n title: this.data.Name1 + ' ' + this.data.Street + ' ' + this.data.Zip,\n options: { animation: google.maps.Animation.DROP },\n });\n }\n\n /**\n * Zooms in into map\n */\n zoomIn() {\n if (this.options.maxZoom && this.zoom < this.options.maxZoom) {\n this.zoom++;\n }\n }\n\n /**\n * Zooms out from map\n */\n zoomOut() {\n if (this.options.minZoom && this.zoom > this.options.minZoom) {\n this.zoom--;\n }\n }\n}\n","<div *ngIf=\"geoDataFoundForAddress\">\n <google-map\n height=\"415px\"\n [width]=\"width\"\n [zoom]=\"zoom\"\n [center]=\"center\"\n [options]=\"options\"\n >\n <map-marker\n *ngFor=\"let marker of markers\"\n [position]=\"marker.position\"\n [label]=\"marker.label\"\n [title]=\"marker.title\"\n [options]=\"marker.options\"\n >\n </map-marker>\n </google-map>\n</div>","/**\n * @copyright KMS GmbH\n */\nimport {\n Component,\n EventEmitter,\n Input,\n Output,\n forwardRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'kms-radiobutton',\n templateUrl: './radiobutton.component.html',\n styleUrls: ['./radiobutton.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioButtonComponent),\n multi: true,\n },\n ],\n})\nexport class RadioButtonComponent implements ControlValueAccessor {\n @Input() label: string = '';\n @Input() checked: boolean = false;\n @Input() disabled: boolean = false;\n @Input() value: any;\n @Input() size: 'small' | 'medium' | 'large' = 'medium';\n @Input() color: 'primary' | 'accent' | 'warn' = 'primary';\n\n @Output() onChange: EventEmitter<void> = new EventEmitter<void>();\n\n onRadioChange(event: any): void {\n this.onChange.emit(event);\n }\n\n writeValue(value: any): void {\n this.checked = value === this.value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onChange = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<mat-radio-button\n [disabled]=\"disabled\"\n [checked]=\"checked\"\n [ngClass]=\"size\"\n [color]=\"color\"\n [value]=\"value\"\n (change)=\"onChange.emit($event)\"\n ngDefaultControl\n>\n {{ label }}\n</mat-radio-button>\n","export enum SalutationEnum {\n NOT_SPECIFIED = 'Keine Anrede',\n MALE = 'Herr',\n FEMALE = 'Frau',\n}\n","import { Component, forwardRef, Input, OnInit, Renderer2 } from '@angular/core';\nimport { ControlValueAccessor, UntypedFormBuilder, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NullAble } from '../../models';\nimport { SalutationEnum } from '../../models/salutation.enum';\n\nimport { FormControlParentComponent } from './../../parent-components/form-control.component';\n\n@Component({\n selector: 'kms-salutation-dropdown',\n templateUrl: './salutation-dropdown.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SalutationDropdownComponent),\n multi: true,\n },\n ],\n})\nexport class SalutationDropdownComponent extends FormControlParentComponent implements OnInit, ControlValueAccessor {\n @Input() placeholder: NullAble<String>;\n\n //For view\n SalutationEnum = SalutationEnum;\n Object = Object;\n\n constructor(public formBuilder: UntypedFormBuilder, public renderer: Renderer2) {\n super(formBuilder, renderer);\n }\n\n ngOnInit() {\n this.form = this.formBuilder.group({\n salut: [],\n });\n this.formInitialized = true;\n \n //somehow for dropowns we have to set value manually with timeout for default value\n setTimeout(() => {\n this.form.controls['salut'].setValue(this.value ? this.value : '');\n }, 1000);\n\n\n this.form.valueChanges.subscribe((value) => {\n this.onChange(value.salut);\n });\n\n super.ngOnInit();\n }\n}\n","<form [formGroup]=\"form\" class=\"row\">\n <mat-form-field class=\"col\">\n <mat-select disableOptionCentering [formControl]=\"form.controls['salut']\" [placeholder]=\"placeholder\" [value]=\"value\" #child>\n <mat-option [value]=\"SalutationEnum.NOT_SPECIFIED\">{{ 'general.salutation.' + Object.keys(SalutationEnum)[0]?.toLowerCase() | translate }}</mat-option>\n <mat-option [value]=\"SalutationEnum.MALE\">{{ 'general.salutation.' + Object.keys(SalutationEnum)[1]?.toLowerCase() | translate }}</mat-option>\n <mat-option [value]=\"SalutationEnum.FEMALE\">{{ 'general.salutation.' + Object.keys(SalutationEnum)[2]?.toLowerCase() | translate }}</mat-option>\n </mat-select>\n </mat-form-field>\n</form>","/**\n * @copyright KMS GmbH\n */\n\nexport enum IconSize {\n FULLSIZE = 'size-full',\n TINY = 'size-16',\n SMALLER = 'size-20',\n SMALL = 'size-32',\n MEDIUM = 'size-64',\n LARGE = 'size-128',\n XL = 'size-256',\n XXL = 'size-512',\n XXXL = 'size-1024',\n NONE = 'NONE',\n}\n","import { Directive, ElementRef, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[kmsTime]',\n})\nexport class TimeDirective {\n constructor(private el: ElementRef) {}\n\n @HostListener('input', ['$event']) onInputChange(event: InputEvent) {\n this.handleInput(event);\n }\n\n @HostListener('beforeinput', ['$event']) onBeforeInput(event: InputEvent) {\n if (\n event.inputType === 'insertFromPaste' ||\n event.inputType === 'insertText'\n ) {\n const isAllTextHighlighted =\n (event.target as HTMLInputElement).selectionStart === 0 &&\n (event.target as HTMLInputElement).selectionEnd === 5;\n const textReachedMax =\n (event.target as HTMLInputElement).value.length > 4;\n const isNotANumber = isNaN(+event.data);\n\n if (isNotANumber || (textReachedMax && !isAllTextHighlighted)) {\n event.preventDefault();\n }\n this.handleInput(event);\n }\n }\n\n public handleInput(event: InputEvent) {\n const inputElement = this.el.nativeElement as HTMLInputElement;\n const originalValue = inputElement.value;\n\n if (originalValue.length === 2 && event.inputType === 'insertText') {\n inputElement.value += ':';\n inputElement.dispatchEvent(new Event('input'));\n }\n }\n}\n","import {\n Component,\n computed,\n forwardRef,\n Input,\n OnChanges,\n OnInit,\n Signal,\n signal,\n SimpleChanges,\n WritableSignal,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\nimport moment from 'moment';\nimport {IconSize} from '../../models/iconSize.enum';\n@Component({\n selector: 'kms-time-input',\n templateUrl: './time-input.component.html',\n styleUrls: ['./time-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TimeInputComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: TimeInputComponent,\n multi: true,\n },\n ],\n})\nexport class TimeInputComponent\n implements OnInit, OnChanges, ControlValueAccessor\n{\n @Input() label = '';\n @Input() value = '';\n @Input() interval = 15;\n\n IconSize = IconSize;\n _value = signal('');\n private options: WritableSignal<Array<string>> = signal([]);\n\n filteredOptions: Signal<Array<string>> = computed(() => {\n return this.options().filter((option) => option.startsWith(this._value()));\n });\n\n ngOnInit() {\n this.options.set(this.getTimeRange());\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.value) {\n this._value.set(changes.value.currentValue);\n }\n }\n\n writeValue(value: string) {\n this._value.set(value);\n }\n\n onChange: any = () => {};\n\n onTouch: any = () => {};\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n getTimeRange() {\n const startTime = moment('00:00', 'HH');\n const endTime = moment('23:45', 'HH:mm:ss');\n const timeSeries = [startTime.format('HH:mm')];\n\n while (startTime.isBefore(endTime)) {\n timeSeries.push(startTime.add(this.interval, 'm').format('HH:mm'));\n }\n\n return timeSeries;\n }\n\n valueChanged(value: string) {\n this._value.set(value);\n this.onChange(value);\n this.onTouch(value);\n }\n\n autocompleteClosed() {\n if (this._value().slice(-1) === ':') {\n this._value.set(this._value() + '00');\n this.valueChanged(this._value());\n }\n }\n\n validate({ value }: FormControl) {\n // validate time format HH:mm and 24 hours and 59 minutes\n const timeRegex = /^(?:[01]\\d|2[0-3]):(?:[0-5]\\d)$/;\n\n if (timeRegex.test(value)) return null;\n else\n return {\n invalid: true,\n };\n }\n}\n","<mat-form-field class=\"kms-time-input\">\n <mat-label>{{ label }}</mat-label>\n <input\n type=\"text\"\n aria-label=\"time\"\n matInput\n kmsTime\n [matAutocomplete]=\"auto\"\n [value]=\"_value()\"\n (input)=\"valueChanged($event.target.value)\"\n />\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"valueChanged($event.option.value)\"\n (closed)=\"autocompleteClosed()\"\n >\n <mat-option *ngFor=\"let option of filteredOptions()\" [value]=\"option\">\n {{ option }}\n </mat-option>\n </mat-autocomplete>\n <kms-icon\n class=\"kms-time-input__suffix\"\n matSuffix\n icon=\"clock\"\n [iconSize]=\"IconSize.TINY\"\n ></kms-icon>\n</mat-form-field>\n","import { Component, ElementRef, forwardRef, Input, OnInit, Renderer2, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, UntypedFormBuilder, UntypedFormGroup, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NullAble } from '../../models';\n\n@Component({\n selector: 'kms-yesno-radiogroup',\n templateUrl: './yes-no-radiogroup.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => YesNoRadiogroupComponent),\n multi: true,\n },\n ],\n})\nexport class YesNoRadiogroupComponent implements OnInit, ControlValueAccessor {\n \n @Input() header: NullAble<String>;\n @Input() disabled = false;\n @Input() textYes = '';\n @Input() textNo = '';\n public form!: UntypedFormGroup;\n \n @ViewChild('child') public child?: ElementRef<HTMLInputElement>;\n\n public internalValue: NullAble<boolean>;\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public onChange: any = () => {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouch: any = () => {};\n\n get value(): NullAble<boolean> {\n return this.internalValue;\n }\n\n set value(value: NullAble<boolean>) {\n this.internalValue = value;\n if (value !== undefined && this.internalValue !== value) {\n this.onChange(value);\n this.onTouch(value);\n }\n }\n\n writeValue(value: any) {\n this.internalValue = value;\n this.value = value;\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n setDisabledState?(isDisabled: boolean) {\n if (this.child) {\n this.renderer.setProperty(this.child.nativeElement, 'disabled', isDisabled);\n }\n }\n\n constructor(public formBuilder: UntypedFormBuilder, public renderer: Renderer2) {\n \n }\n\n ngOnInit() {\n this.form = this.formBuilder.group({\n yesno: [],\n });\n\n this.form.valueChanges.subscribe((value) => {\n this.internalValue = value.yesno;\n this.onChange(value.yesno);\n });\n }\n}\n","<form [formGroup]=\"form\">\n <div>{{ header }}</div>\n <mat-radio-group [formControl]=\"form.controls['yesno']\" [disabled]=\"disabled\" #child>\n <mat-radio-button [value]=\"true\" [checked]=\"internalValue === true\"> {{ textYes }}</mat-radio-button>\n <mat-radio-button [value]=\"false\" [checked]=\"internalValue === false\"> {{ textNo }}</mat-radio-button>\n </mat-radio-group>\n</form>\n","/**\n * @copyright KMS GmbH\n */\n\nimport {\n Directive,\n EventEmitter,\n HostListener,\n Input,\n Output,\n} from '@angular/core';\n\nimport { SwipeMoveEvent, SwipeOptions, SwipeReleaseEvent } from './swipe.model';\n\n@Directive({\n selector: '[swipeDirective]',\n})\nexport class SwipeDirective {\n /**\n * Output Event that is emitted during swipe process (mouse move or touch move event).\n * Can be used for calculation purposes.\n */\n @Output() public moveEvent = new EventEmitter<SwipeMoveEvent>();\n\n /**\n * Output Event that is emitted when swipe process end (mouse up or touch end event).\n * Can be used for calculation purposes.\n */\n @Output() public releaseEvent = new EventEmitter<SwipeReleaseEvent>();\n\n private _swipeOptions: SwipeOptions | undefined;\n\n private _moveEventData: SwipeMoveEvent | undefined;\n private _startPosition = -1;\n\n private _lastPosX = 0;\n\n private _thresholdWasReached = false;\n\n private _isMobile: boolean | undefined;\n\n private _timeStart = 0;\n\n /**\n * Needed config that defines swipe behaviour.\n * @param options SwipeOptions\n */\n @Input('swipeDirective')\n set config(options: SwipeOptions) {\n if (options) {\n this._swipeOptions = options;\n }\n }\n\n @HostListener('mousedown', ['$event'])\n @HostListener('touchstart', ['$event'])\n onMouseDown(event: any) {\n this.calculateStartPosition(event);\n }\n\n @HostListener('mousemove', ['$event'])\n @HostListener('touchmove', ['$event'])\n onMove(event: any) {\n this.move(event);\n }\n\n @HostListener('mouseup', ['$event'])\n @HostListener('mouseleave', ['$event'])\n @HostListener('touchend', ['$event'])\n onRelease(event: any) {\n this.release(event);\n this.reset();\n }\n\n // ** PRIVATE ** //\n\n /**\n * Function checks if the current moving delta is inside the defined threshold.\n * Sets the flag to true if the threshold was reached once.\n */\n private checkThreshold(moveEvent: SwipeMoveEvent) {\n const percentage =\n this._swipeOptions && this._swipeOptions.swipeThresholdType === '%';\n\n if (\n !percentage &&\n this._swipeOptions &&\n moveEvent.swipeDistanceTotal < this._swipeOptions.swipeThreshold\n ) {\n return;\n } else if (\n percentage &&\n this._swipeOptions &&\n moveEvent.swipeDistancePercentage <\n this._swipeOptions.swipeThreshold / 100\n ) {\n return;\n } else {\n this._thresholdWasReached = true;\n }\n }\n\n private calculateStartPosition(event?: any) {\n // detect if touch or click\n this._isMobile = event.type === 'touchstart';\n\n // save start position\n\n if (this._swipeOptions && this._swipeOptions.swipeLocalPosition) {\n if (this._isMobile) {\n const touch: Touch = event.touches[0];\n this._startPosition = this._swipeOptions.swipeLocalPosition\n ? touch.clientX\n : touch.pageX;\n } else {\n this._startPosition = this._swipeOptions.swipeLocalPosition\n ? event.offsetX\n : event.pageX;\n }\n }\n\n this._lastPosX = this._startPosition;\n this._timeStart = event.timeStamp;\n this._thresholdWasReached = false;\n }\n\n private move(event: any) {\n // failsafe\n if (typeof event === 'undefined') {\n return;\n }\n\n let posX = 0;\n\n if (this._swipeOptions) {\n if (this._isMobile && event.type === 'touchmove') {\n const touch: Touch = event.touches[0];\n posX = this._swipeOptions.swipeLocalPosition\n ? touch.clientX\n : touch.pageX;\n } else {\n posX = this._swipeOptions.swipeLocalPosition\n ? event.offsetX\n : event.pageX;\n }\n }\n\n const offsetPerFrame: number = posX - this._lastPosX;\n const swipeDistanceTotal: number = Math.abs(posX - this._startPosition);\n const swipeDistancePercentage: number = Math.abs(\n swipeDistanceTotal / event.target.clientWidth\n );\n const timeDuration: number = Math.abs(event.timeStamp - this._timeStart);\n\n let direction: number;\n let speed: number = 1 - swipeDistanceTotal / timeDuration;\n speed = Math.max(0.1, speed);\n\n if (posX - this._startPosition > 0) {\n direction = 1; // a.k.a LTR\n } else {\n direction = -1; // a.k.a RTL\n }\n\n this._moveEventData = {\n position: posX,\n offsetPerFrame: offsetPerFrame,\n swipeDistanceTotal: swipeDistanceTotal,\n swipeDistancePercentage: swipeDistancePercentage,\n direction: direction,\n speed: speed,\n thresholdWasReached: this._thresholdWasReached,\n };\n\n this.checkThreshold(this._moveEventData);\n\n // update move delta\n this._lastPosX = posX;\n\n // inform\n this.moveEvent.emit(this._moveEventData);\n }\n\n private release(event: any) {\n // case: just a click/touch\n\n if (!this._moveEventData) {\n return;\n }\n\n const releaseEventData: SwipeReleaseEvent = {\n thresholdWasReached: this._thresholdWasReached,\n direction: this._moveEventData.direction,\n speed: this._moveEventData.speed,\n easingType: this.getEasingCurve(this._moveEventData.speed),\n target: event.currentTarget,\n };\n\n // inform\n this.releaseEvent.emit(releaseEventData);\n }\n\n private getEasingCurve(speed: number): string {\n return speed > 0.5 ? 'ease-in' : 'ease-out';\n }\n\n private reset() {\n this._startPosition = -1;\n this._thresholdWasReached = false;\n\n if (this._moveEventData) {\n this._moveEventData = undefined;\n }\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SizeDirective } from './size.directive';\nimport { GetMaxHeightDirective } from './sum-of-height.directive';\nimport { SwipeDirective } from './swipe.directive';\nimport { TimeDirective } from './time.directive';\nimport { TooltipDirective } from './tooltip.directive';\n\n@NgModule({\n declarations: [\n SwipeDirective,\n GetMaxHeightDirective,\n SizeDirective,\n TooltipDirective,\n TimeDirective,\n ],\n imports: [CommonModule],\n exports: [\n SwipeDirective,\n GetMaxHeightDirective,\n SizeDirective,\n TooltipDirective,\n TimeDirective,\n ],\n})\nexport class DirectivesModule {\n SizeDirective;\n}\n","/**\n * @copyright KMS GmbH\n */\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { Inject, Injectable, OnDestroy, PLATFORM_ID } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { NullAble } from '../models';\n\ndeclare const window: any;\ndeclare const document: any;\n\nexport class WindowDimensions {\n constructor(data?: Partial<WindowDimensions>) {\n Object.assign(this, data);\n }\n Height!: number;\n Width!: number;\n Orientation!: \"landscape\" | \"portrait\";\n}\n\nexport class SimpleBreakpoint {\n constructor(data?: Partial<SimpleBreakpoint>) {\n Object.assign(this, data);\n }\n Number!: number;\n Name!: string;\n MaximumPixels!: number;\n}\n\nexport class Breakpoint {\n constructor(data?: Partial<Breakpoint>) {\n Object.assign(this, data);\n }\n Number!: number;\n Name!: string;\n Low!: number;\n High!: number;\n}\n\n/**\n * Service to get viewport\n */\n@Injectable()\nexport class ViewportService implements OnDestroy {\n public readonly simpleBreakpoints: SimpleBreakpoint[] = [\n { Number: 0, Name: 'mobile', MaximumPixels: 768 },\n { Number: 1, Name: 'tablet', MaximumPixels: 1024 },\n { Number: 2, Name: 'desktop', MaximumPixels: 1600 },\n { Number: 3, Name: 'high', MaximumPixels: 2500 },\n ];\n\n public readonly breakpoints: Breakpoint[] = [\n {\n Number: 0,\n Name: 'xs',\n Low: 360,\n High: 990,\n },\n {\n Number: 1,\n Name: 's',\n Low: 991,\n High: 1024,\n },\n {\n Number: 2,\n Name: 'm',\n Low: 1025,\n High: 1200,\n },\n {\n Number: 3,\n Name: 'l',\n Low: 1201,\n High: 1400,\n },\n {\n Number: 4,\n Name: 'xl',\n Low: 1401,\n High: 1600,\n },\n {\n Number: 5,\n Name: 'xxl',\n Low: 1601,\n High: 1920,\n },\n {\n Number: 6,\n Name: 'xxxl',\n Low: 1921,\n High: 99999,\n },\n ];\n\n private viewportChangedSubscriber: Subject<string> = new Subject<string>();\n private viewportResizedSubscriber: Subject<number> = new Subject<number>();\n\n private currentViewport!: string;\n private currentViewportObject!: Breakpoint;\n private isBrowser = false;\n\n constructor(\n @Inject(PLATFORM_ID) private platformId: Object,\n @Inject(DOCUMENT) public document: Document\n ) {\n if (isPlatformBrowser(this.platformId)) {\n window.addEventListener('resize', this.documentSizeChanged.bind(this), {\n passive: true,\n });\n this.isBrowser = true;\n }\n }\n\n /**\n * Get document height\n */\n public getDocumentHeight(): number {\n return this.isBrowser ? document.body.clientHeight : 1200;\n }\n\n /**\n * Get document width\n */\n public getDocumentWidth(): number {\n return this.isBrowser ? document.body.clientWidth : 1200;\n }\n\n /**\n * Get window height\n */\n public getWindowHeight(): number {\n return this.isBrowser ? window.innerHeight : 1200;\n }\n\n /**\n * Get window width\n */\n public getWindowWidth(): number {\n return this.isBrowser ? window.innerWidth : 1200;\n }\n\n /**\n * Returns the current viewport MQ as string\n * @returns string\n */\n public getCurrentViewPort(): string {\n const currentWidth: number = this.isBrowser\n ? document.body.clientWidth\n : 1200;\n this.currentViewport = this.convertWidthToMediaQuery(currentWidth).Name;\n\n return this.currentViewport;\n }\n\n /**\n * Returns the current viewport MQ as object with all informations\n * @returns string\n */\n public getCurrentViewPortObject(): Breakpoint {\n const currentWidth: number = this.isBrowser\n ? document.body.clientWidth\n : 1200;\n this.currentViewportObject = this.convertWidthToMediaQuery(currentWidth);\n\n return this.currentViewportObject;\n }\n\n /**\n * Returns the current viewport as number\n * @deprecated use getCurrentViewPortDimensions instead\n * @returns string\n */\n public getCurrentViewPortNumber(): number {\n return this.isBrowser ? document.body.clientWidth : 1200;\n }\n\n /**\n * Returns the current viewport width as number\n * @returns string\n */\n public getCurrentViewPortWidth(): number {\n return this.isBrowser ? document.body.clientWidth : 1200;\n }\n\n /**\n * Returns the current viewport as number\n * @returns string\n */\n public getCurrentViewPortHeight(): number {\n return this.isBrowser ? document.body.clientHeight : 600;\n }\n\n /**\n * Returns the current viewport dimensions\n * @returns string\n */\n public getCurrentViewPortDimensions(): WindowDimensions {\n return this.isBrowser ? {Width:document.body.clientWidth,Height:document.body.clientWidth,Orientation:this.getOrientationAsString() } as WindowDimensions : {Width:800, Height:600, Orientation: \"landscape\"} as WindowDimensions;\n }\n\n /**\n * Provides mq´s as string\n */\n public getViewportChangedObserver(): Observable<string> {\n return this.viewportChangedSubscriber.asObservable();\n }\n\n /**\n * Provides the current window width as number\n */\n public getViewportResizedObserver(): Observable<number> {\n return this.viewportResizedSubscriber.asObservable();\n }\n\n /**\n * Scroll to element\n */\n public scrollToElementId(el: string, alignCenter = false) {\n if (this.isBrowser) {\n this.scrollToElement(document.querySelector('#' + el), alignCenter);\n }\n }\n\n /**\n * Helper function that scrolls to the given markup element.\n * @param el - nativeElement from markup\n * @param alignCenter - defines if the element needs to be centered on window\n */\n\n public scrollToElement(el: HTMLElement, alignCenter = false) {\n if (this.isBrowser) {\n let extraScrollTop = 0;\n\n if (alignCenter) {\n extraScrollTop = (window.innerHeight - el.clientHeight) / 2;\n }\n\n let offsetLeft = 0;\n let offsetTop = 0;\n\n let elTemp: NullAble<HTMLElement> = el;\n\n while (elTemp) {\n offsetLeft += elTemp.offsetLeft;\n offsetTop += elTemp.offsetTop;\n elTemp = elTemp.parentElement ? elTemp.parentElement : null;\n }\n\n window.scrollTo({\n left: offsetLeft,\n top: offsetTop - extraScrollTop,\n behavior: 'smooth',\n });\n }\n }\n\n /**\n * Scroll to the top position\n * @param top - top position value\n */\n public scrollTop(top: number) {\n if (this.isBrowser) {\n window.scrollTo({ left: 0, top: top, behavior: 'smooth' });\n }\n }\n\n /**\n * If orientation is portrait\n */\n public isPortrait() : boolean|undefined {\n if (this.isBrowser) return window.innerHeight > window.innerWidth;\n else return undefined;\n }\n\n /**\n * If orientation is landscape\n */\n public isLandscape() :boolean|undefined {\n if (this.isBrowser) {\n const isLandscape =\n window.orientation === 90 || window.orientation === -90;\n return isLandscape;\n } else {\n return undefined;\n }\n }\n\n /**\n * Get screen orientation (portrait/landscape)\n */\n public getOrientationAsString() : \"portrait\" | \"landscape\" {\n return this.isPortrait ? \"portrait\" : \"landscape\";\n }\n\n /**\n * If mobile breakpoint (below tablet)\n */\n public isMobile():boolean {\n return this.getCurrentViewPortNumber() < this.breakpoints[2].Low;\n }\n\n /**\n * Get height of an element\n * @deprecated\n */\n public calculateFullscreenElementsheight(\n id: string,\n defaultheight: string,\n extra: number\n ) {\n return this.calculateFullscreenElementsHeight(id, defaultheight, extra);\n }\n\n /**\n * Get height of an element\n */\n public calculateFullscreenElementsHeight(\n id: string,\n defaultheight: string,\n extra: number\n ) {\n \n if (!this.isBrowser || this.isMobile()) {\n return defaultheight;\n } else {\n const map = this.document.getElementById(id);\n const footer = this.document.getElementsByTagName('footer')[0];\n if (map && footer) {\n return `${window.innerHeight - map.offsetTop - footer.offsetHeight - extra\n }px`;\n } else {\n console.warn('could not calculate map height');\n return defaultheight;\n }\n }\n }\n\n /**\n * If viewport changed\n * @event\n */\n private documentSizeChanged(event: any) {\n const currentWindowWidth: number = event.target.innerWidth;\n // inform who´s interested\n this.viewportResizedSubscriber.next(currentWindowWidth);\n\n if (currentWindowWidth > 0) {\n for (const mqs of this.breakpoints) {\n if (currentWindowWidth > mqs.High) {\n continue;\n } else if (\n (currentWindowWidth >= mqs.Low || currentWindowWidth <= mqs.High) &&\n this.currentViewport !== mqs.Name\n ) {\n this.currentViewport = mqs.Name;\n // inform who´s interested\n this.viewportChangedSubscriber.next(mqs.Name);\n break;\n } else if (this.currentViewport === mqs.Name) {\n break;\n } else {\n console.error('ERROR');\n }\n }\n }\n }\n\n /**\n * Get the Media Query for the given width\n * @param width Width to get the according MQ for\n */\n private convertWidthToMediaQuery(width: number): Breakpoint {\n let currentViewport = this.breakpoints[0];\n\n for (const mqs of this.breakpoints) {\n if (width <= mqs.High && width >= mqs.Low) {\n currentViewport = mqs;\n break;\n }\n }\n\n return currentViewport;\n }\n\n /**\n * Get the breakpoint/device name like mobile,tablet,desktop, high\n */\n getSimpleBreakpoint(screenSize: number) :SimpleBreakpoint {\n let actualBreakpoint: SimpleBreakpoint | undefined;\n\n const sizes = this.simpleBreakpoints.slice().reverse(); // we need to reverse it to check step by step from biggest, which breakpoints still fits. Slice is a trick to not mutate the original array and make a copy\n for (const key in sizes) {\n if (screenSize < sizes[key].MaximumPixels) {\n actualBreakpoint = sizes[key];\n }\n }\n if (!actualBreakpoint) {\n actualBreakpoint = sizes[0]; // default screensize is biggest. Will be used if viewport is bigger as maximum. Remember, array is reversed\n }\n\n return actualBreakpoint;\n }\n\n ngOnDestroy() {\n if (this.isBrowser) {\n window.removeEventListener('resize', this.documentSizeChanged);\n }\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Component, HostListener, Inject, PLATFORM_ID } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\n@Component({\n selector: 'kms-back-to-top',\n templateUrl: './back-to-top.component.html',\n})\nexport class BackToTopComponent {\n windowScrolled?: boolean;\n\n constructor(@Inject(PLATFORM_ID) public platformId: Object) {}\n\n @HostListener('window:scroll', [])\n onWindowScroll() {\n if (isPlatformBrowser(this.platformId)) {\n if (\n window.scrollY ||\n document.documentElement.scrollTop ||\n document.body.scrollTop > 100\n ) {\n this.windowScrolled = true;\n } else if (\n (this.windowScrolled && window.scrollY) ||\n document.documentElement.scrollTop ||\n document.body.scrollTop < 10\n ) {\n this.windowScrolled = false;\n }\n }\n }\n\n scrollToTop() {\n if (isPlatformBrowser(this.platformId)) {\n (function smoothscroll() {\n const currentScroll =\n document.documentElement.scrollTop || document.body.scrollTop;\n if (currentScroll > 0) {\n window.requestAnimationFrame(smoothscroll);\n window.scrollTo(0, currentScroll - currentScroll / 8);\n }\n })();\n }\n }\n}\n","<div\n class=\"scrollToTop\"\n [ngClass]=\"{ show: windowScrolled }\"\n (click)=\"scrollToTop()\"\n>\n <div class=\"scrollToTop-inner\">\n <kms-icon icon=\"floating_button_clear\" iconClass=\"color-white\"></kms-icon>\n </div>\n</div>\n","export enum ButtonDialogType {\n primary = 'primary',\n secondary = 'secondary',\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Component, Inject, NgZone } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { ButtonDialogType } from './dialog-data.enum';\nimport { DialogData } from './dialog-data.model';\n\n/**\n * A confirmation dialog component\n */\n@Component({\n selector: 'kms-confirmation-dialog',\n templateUrl: './confirmation-dialog.component.html',\n styleUrls: ['./confirmation-dialog.component.scss'],\n})\nexport class ConfirmationDialogComponent {\n ButtonDialogType = ButtonDialogType;\n\n public constructor(\n public dialogRef: MatDialogRef<ConfirmationDialogComponent>,\n public zone: NgZone,\n @Inject(MAT_DIALOG_DATA) public data: DialogData\n ) {\n data.buttons ?? { primary: 'Yes', secondary: 'No' };\n data.message ?? '';\n data.panelClass ?? 'size-auto';\n }\n\n /**\n * Action called when clicked\n * @param clickedButton Whether the primary or secondary button was clicked\n */\n public onClickAction(clickedButton: ButtonDialogType): void {\n this.zone.run(() => {\n this.dialogRef.close(clickedButton);\n this.dialogRef.afterClosed().subscribe(() => {\n const buttonList = document.querySelectorAll(\n '.mat-flat-button, .mat-button'\n );\n let i = 0;\n for (i; i < buttonList.length; i++) {\n buttonList[i].classList.remove('cdk-focused');\n buttonList[i].classList.remove('cdk-program-focused');\n }\n });\n });\n }\n}\n","<div class=\"dialog-container\">\n <div class=\"dialog-header\">\n <h4>{{ data.title }}</h4>\n </div>\n <div class=\"dialog-content\">\n {{ data.message }}\n </div>\n <div class=\"dialog-footer\">\n <button\n mat-flat-button\n color=\"accent\"\n (click)=\"onClickAction(ButtonDialogType.secondary)\"\n >\n {{ data.buttons.secondary }}\n </button>\n <button\n mat-flat-button\n color=\"primary\"\n (click)=\"onClickAction(ButtonDialogType.primary)\"\n >\n {{ data.buttons.primary }}\n </button>\n </div>\n</div>\n","import {\n Component,\n forwardRef,\n Input,\n OnChanges,\n OnInit,\n Renderer2,\n SimpleChanges,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n FormArray,\n NG_VALUE_ACCESSOR,\n UntypedFormBuilder,\n} from '@angular/forms';\nimport { EnumValues } from 'enum-values/src/enumValues';\nimport { FormControlParentComponent } from '../../parent-components/form-control.component';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\n\n/**\n * Dropdown from data component {@link https://leaseplan-dev.rentoffice.de/styleguide#ui-elements}\n */\n@Component({\n selector: 'kms-dropdown-from-data',\n templateUrl: './dropdown-from-data.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DropdownFromDataComponent),\n multi: true,\n },\n ],\n})\nexport class DropdownFromDataComponent\n extends FormControlParentComponent\n implements OnInit, ControlValueAccessor, OnChanges\n{\n // structured data as a enum set. Can be used in combination with 'optionsPlainArray' to set diferent values by index\n @Input() optionsEnum: any;\n\n // structured data as a simple array of elements\n @Input() optionsPlainArray: any;\n\n // structured data as an array of objects used in combination with the input 'mapKey' and 'mapValue'\n @Input() optionsObjArray: any;\n // key identifier of the obj. If mapValue doesnt exist, mapKey is also the value\n @Input() mapKey?: any;\n // value identifier of the obj\n @Input() mapValue?: any;\n\n // options for the dropdown have a null value at the beginning of the array\n @Input() hasNullOption = false;\n\n // preselected keys of the dropdown\n @Input() preselectedKeys: any;\n\n // translation object for the label and placeholder\n @Input() translation?: ITranslation;\n @Input() placeholder = '';\n @Input() label = '';\n @Input() required = false;\n @Input() useEnumIndexAsValue = false;\n\n // multiple selection\n @Input() multiple = false;\n\n @Input() control?: AbstractControl;\n @Input() selectAllText?: string;\n @Input() disableOptions = false;\n\n public keys: any[] = [];\n public values: any[] = [];\n\n Object = Object;\n\n constructor(\n public formBuilder: UntypedFormBuilder,\n public renderer: Renderer2\n ) {\n super(formBuilder, renderer);\n }\n\n /**\n * Hook used to sync changes on set Label and Type\n * @param changes\n */\n ngOnChanges(changes: SimpleChanges) {\n if (changes.optionsPlainArray) {\n this.values = this.optionsPlainArray;\n this.keys = this.optionsPlainArray;\n }\n this.setKeyValues();\n }\n\n ngOnInit() {\n this.form = this.formBuilder.group({\n dropdownData: [],\n });\n this.formInitialized = true;\n\n this.form.valueChanges.subscribe((value) => {\n this.internalValue = value.dropdownData;\n this.onChange(value.dropdownData);\n });\n\n if (this.preselectedKeys)\n this.form.patchValue({\n dropdownData: this.preselectedKeys,\n });\n\n super.ngOnInit();\n }\n\n /**\n * transofrms the data values to the correct format for be used by the template\n * @param value\n */\n private setKeyValues(): void {\n if (this.optionsObjArray && this.mapKey && this.mapValue) {\n this.keys = this.optionsObjArray.map((obj: any) => obj[`${this.mapKey}`]);\n this.values = this.optionsObjArray.map(\n (obj: any) => obj[`${this.mapValue}`]\n );\n } else if (this.optionsObjArray && this.mapKey) {\n this.keys = this.optionsObjArray.map((obj: any) => obj[`${this.mapKey}`]);\n this.values = this.optionsObjArray.map(\n (obj: any) => obj[`${this.mapKey}`]\n );\n }\n if (this.optionsEnum) {\n this.keys = EnumValues.getNames(this.optionsEnum);\n if (this.optionsPlainArray) {\n this.values = this.optionsPlainArray;\n } else {\n const values = EnumValues.getValues(this.optionsEnum);\n\n // var who defines if enum is componed just with keys or keyValues. E.g enum KeyEnum { VALUE1, VALUE2 } or enum KeyValueEnum { VALUE4 = 'V4', VALUE5 = 'V5' }\n let keyValueEnum = false;\n\n for (let i = 0; i < this.keys.length; i++) {\n if (i !== values[i]) {\n keyValueEnum = true;\n }\n }\n if (keyValueEnum || this.useEnumIndexAsValue) {\n this.values = values;\n } else {\n this.values = EnumValues.getNames(this.optionsEnum);\n }\n }\n }\n if (this.hasNullOption === true) this.keys.unshift(null);\n if (this.hasNullOption === true) this.values.unshift(null);\n }\n\n /**\n * set the value of the dropdown based if translation is set\n * @param key\n */\n public setDisplayKey(key: any) {\n if (this.translation) {\n if (this.translation.isPrefix) {\n return this.translation.service?.instant?.(\n this.translation.path + '.' + key\n );\n } else if (this.translation.useKeyAsValue) {\n return this.translation.service?.instant?.(this.translation.path, {\n key: key,\n });\n } else {\n return this.translation.service?.instant?.(this.translation.path);\n }\n }\n return key;\n }\n\n valueChanged(value: any) {\n this.form.patchValue({\n dropdownData: value,\n });\n this.onSelectItemEmitter.emit(value);\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n get selectedElements() {\n return this.form.controls.dropdownData as FormArray;\n }\n\n allElementsChecked(): boolean {\n return (\n this.values && this.selectedElements?.value?.length === this.values.length\n );\n }\n\n isCheckboxIndeterminate(): boolean {\n return Boolean(\n this.values &&\n this.selectedElements?.value?.length < this.values.length &&\n this.selectedElements?.value?.length !== 0\n );\n }\n\n toggleAllSelection(change: MatCheckboxChange): void {\n if (change.checked) {\n this.checkAllFilters();\n } else {\n this.form.controls.dropdownData.setValue([]);\n }\n }\n\n checkAllFilters() {\n if (this.values) {\n this.form.controls.dropdownData.setValue(this.values);\n }\n }\n}\n\n/**\n * Interface that defines the translation object in template\n */\ninterface ITranslation {\n path: string;\n isPrefix?: boolean;\n useKeyAsValue?: boolean;\n service: any;\n}\n","<form [formGroup]=\"form\">\n <mat-form-field\n [attr.required]=\"required\"\n [floatLabel]=\"placeholder ? 'always' : 'auto'\"\n >\n <mat-label>{{ label }}</mat-label>\n <mat-select\n placeholder=\"{{ placeholder }}\"\n disableOptionCentering\n [(value)]=\"control?.value ? control.value : value\"\n (selectionChange)=\"valueChanged($event?.value)\"\n #child\n [disabled]=\"disabled\"\n [multiple]=\"multiple\"\n >\n <mat-checkbox\n *ngIf=\"selectAllText && !disableOptions\"\n color=\"accent\"\n class=\"dropdown-from-data__checkbox\"\n [indeterminate]=\"isCheckboxIndeterminate()\"\n [checked]=\"allElementsChecked()\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"toggleAllSelection($event)\"\n >\n {{ selectAllText }}\n </mat-checkbox>\n <mat-option\n *ngFor=\"let key of keys; let i = index\"\n [value]=\"values[i]\"\n [disabled]=\"disableOptions\"\n >\n <span *ngIf=\"(hasNullOption && i != 0) || !hasNullOption\">{{\n setDisplayKey(key)\n }}</span>\n </mat-option>\n </mat-select>\n </mat-form-field>\n</form>\n","/**\n * @copyright KMS GmbH\n */\n\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n} from '@angular/core';\nimport { SwiperContainer, register } from 'swiper/element/bundle';\nimport { ImageSnippet } from '../../models/image-snippet';\n\nregister();\n\n@Component({\n selector: 'kms-image-slider',\n templateUrl: './image-slider.component.html',\n})\nexport class ImageSliderComponent implements OnChanges, AfterViewInit {\n @Input() slides!: string[];\n @Input() editMode = false;\n @Input() imagesToSave?: ImageSnippet[];\n @Output() deleteImageEvent: EventEmitter<number> = new EventEmitter();\n @Output() orderChanged: EventEmitter<ImageSnippet[]> = new EventEmitter();\n\n constructor(private el: ElementRef) {}\n\n ngAfterViewInit() {\n this.initializeSwipers();\n }\n\n ngOnChanges() {\n this.updateSwipers();\n }\n\n initializeSwipers() {\n const swiper1 = this.el.nativeElement.children[0]\n .children[0] as SwiperContainer;\n const swiper2 = this.el.nativeElement.children[0]\n .children[1] as SwiperContainer;\n\n Object.assign(swiper1, {\n slidesPerView: 1,\n navigation: true,\n thumbs: {\n swiper: swiper2,\n },\n pagination: {\n clickable: true,\n },\n });\n\n Object.assign(swiper2, {\n slidesPerView: 4,\n freeMode: true,\n navigation: true,\n });\n\n swiper1.initialize();\n swiper2.initialize();\n }\n\n updateSwipers(delayMs = 100) {\n const swiper1 = this.el.nativeElement.children[0]\n .children[0] as SwiperContainer;\n const swiper2 = this.el.nativeElement.children[0]\n .children[1] as SwiperContainer;\n\n if (swiper1.swiper && swiper2.swiper) {\n setTimeout(() => {\n swiper1.swiper.update();\n swiper2.swiper.update();\n }, delayMs);\n }\n }\n\n deleteImage(index: number) {\n this.deleteImageEvent.emit(index);\n this.updateSwipers(2500);\n }\n\n onOrderChanged(event: CdkDragDrop<string[]>) {\n if (this.slides && this.imagesToSave) {\n moveItemInArray(this.slides, event.previousIndex, event.currentIndex);\n moveItemInArray(\n this.imagesToSave,\n event.previousIndex,\n event.currentIndex\n );\n this.orderChanged.emit(this.imagesToSave);\n this.updateSwipers();\n }\n }\n}\n","<div class=\"image-slider-container\">\n <swiper-container\n class=\"swiper-main-view-container\"\n thumbs-swiper=\".swiper-carousel-container\"\n >\n <swiper-slide *ngFor=\"let slide of slides\">\n <img [src]=\"slide\" loading=\"lazy\" />\n </swiper-slide>\n </swiper-container>\n\n <swiper-container\n class=\"swiper-carousel-container\"\n thumbsSlider=\"\"\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"onOrderChanged($event)\"\n >\n <swiper-slide\n *ngFor=\"let slide of slides; let index = index\"\n [class.swiper-slide-default]=\"index === 0 && editMode\"\n >\n <div *ngIf=\"editMode\">\n <button cdkDrag class=\"drag-button\" mat-menu-item></button>\n <button\n class=\"delete-button\"\n mat-menu-item\n (click)=\"deleteImage(index)\"\n >\n <kms-icon icon=\"trash\" [size]=\"15\"></kms-icon>\n </button>\n </div>\n <img [src]=\"slide\" loading=\"lazy\" />\n <div class=\"swiper-slide-default-text\" *ngIf=\"index === 0 && editMode\">\n {{ 'common.defaultImage' | translate }}\n </div>\n </swiper-slide>\n </swiper-container>\n</div>\n","/**\n * General Image Model\n */\nexport class ImageSnippet {\n status = 'init';\n constructor(\n public src: string,\n public fileName: string,\n public srcType = ImageSourceType.ByteArray,\n ) {}\n }\n\nexport enum ImageSourceType {\n Ident = 'Idnet',\n ByteArray = 'ByteArray',\n URL = 'URL'\n}\n","/**\n * Attached File DTO\n */\nexport class AttachedFileDTO {\n ImageIdent?: string;\n ImageLink?: string;\n Filename?: string;\n ImageAsDataURL?: string;\n CreateSmallImage?: boolean;\n Text?: string;\n}\n","/**\n * @copyright KMS GmbH\n */\n\nexport type NullAble<T> = T | null | undefined;\n","import { Component, forwardRef, OnInit, Renderer2 } from '@angular/core';\nimport { ControlValueAccessor, UntypedFormBuilder, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { isValue } from '../../models';\nimport { SalutationEnum } from '../../models/salutation.enum';\nimport { FormControlParentComponent } from '../../parent-components/form-control.component';\n\n@Component({\n selector: 'kms-salutation-radiogroup',\n templateUrl: './salutation-radiogroup.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SalutationRadiogroupComponent),\n multi: true,\n },\n ],\n})\nexport class SalutationRadiogroupComponent extends FormControlParentComponent implements OnInit, ControlValueAccessor {\n \n //For view\n SalutationEnum = SalutationEnum;\n Object = Object;\n\n constructor(public formBuilder: UntypedFormBuilder, public renderer: Renderer2) {\n super(formBuilder, renderer);\n }\n\n ngOnInit() {\n this.form = this.formBuilder.group({\n salut: [isValue(this.value) ? this.value : '', null],\n });\n this.formInitialized = true;\n\n this.form.valueChanges.subscribe((value) => {\n this.internalValue = value.salut;\n this.onChange(value.salut);\n });\n\n super.ngOnInit();\n }\n}\n","<form [formGroup]=\"form\" >\n <mat-radio-group [formControl]=\"form.controls['salut']\" [disabled]=\"disabled\" #radioGroup>\n <mat-radio-button color=\"primary\" [value]=\"SalutationEnum.NOT_SPECIFIED\" [checked]=\"value === SalutationEnum.NOT_SPECIFIED\">\n {{ 'general.salutation.' + Object.keys(SalutationEnum)[0]?.toLowerCase() | translate }}\n </mat-radio-button>\n <mat-radio-button color=\"primary\" [value]=\"SalutationEnum.MALE\" [checked]=\"value === SalutationEnum.MALE\">\n {{ 'general.salutation.' + Object.keys(SalutationEnum)[1]?.toLowerCase() | translate }}\n </mat-radio-button>\n <mat-radio-button color=\"primary\" [value]=\"SalutationEnum.FEMALE\" [checked]=\"value === SalutationEnum.FEMALE\">\n {{ 'general.salutation.' + Object.keys(SalutationEnum)[2]?.toLowerCase() | translate }}\n </mat-radio-button>\n </mat-radio-group>\n</form>","/**\n * @copyright KMS GmbH\n */\n\nimport {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MatSlideToggleChange } from '@angular/material/slide-toggle';\n\n@Component({\n selector: 'kms-slide-toggle',\n templateUrl: './slide-toggle.component.html',\n styleUrls: ['./slide-toggle.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SlideToggleComponent),\n multi: true,\n },\n ],\n})\nexport class SlideToggleComponent implements ControlValueAccessor {\n @Input() leftLabel?: string;\n @Input() rightLabel?: string;\n @Input() checked = false;\n @Input() disabled = false;\n\n @Input() name = '';\n\n @Output() change = new EventEmitter();\n\n onChange: any = () => {};\n\n onTouch: any = () => {};\n\n get value(): boolean {\n return this.checked;\n }\n\n set value(value: boolean) {\n this.checked = value;\n this.onChange(value);\n this.onTouch(value);\n }\n\n writeValue(value: any) {\n this.value = value;\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n emitOnChange($event: MatSlideToggleChange) {\n this.change.emit($event.checked);\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<div class=\"kms-slide-toggle\">\n <mat-label\n *ngIf=\"leftLabel\"\n class=\"kms-slide-toggle__label\"\n [class.kms-slide-toggle__label--bold]=\"rightLabel && !checked\"\n >{{ leftLabel }}</mat-label\n >\n <mat-slide-toggle\n [name]=\"name\"\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [hideIcon]=\"true\"\n (change)=\"emitOnChange($event)\"\n />\n <mat-label\n *ngIf=\"rightLabel\"\n class=\"kms-slide-toggle__label\"\n [class.kms-slide-toggle__label--bold]=\"leftLabel && checked\"\n >{{ rightLabel }}</mat-label\n >\n</div>\n","/**\n * @copyright KMS GmbH\n */\n\nimport { ChangeContext, Options } from '@angular-slider/ngx-slider';\nimport {\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n Output,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'kms-slider',\n templateUrl: './slider.component.html',\n styleUrls: ['./slider.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SliderComponent),\n multi: true,\n },\n ],\n})\nexport class SliderComponent implements ControlValueAccessor {\n @HostBinding('class.kms-slider') kmsSliderClass = true;\n @HostBinding('class.kms-slider--disabled') get disabledClass() {\n return this.disabled;\n }\n\n @Input() disabled = false;\n @Input() options: Options = {};\n @Input() max: number;\n\n @Output() change: EventEmitter<ChangeContext> = new EventEmitter();\n\n private _value = 0;\n\n onChange: any = () => {};\n\n onTouch: any = () => {};\n\n get value(): number {\n return this._value;\n }\n\n set value(value: number) {\n this._value = value;\n this.onChange(value);\n this.onTouch(value);\n }\n\n writeValue(value: any) {\n this._value = value;\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n emitOnChange($event: any) {\n this.change.emit($event);\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<ngx-slider\n [(value)]=\"value\"\n [options]=\"options\"\n [highValue]=\"max\"\n (userChangeEnd)=\"change.emit($event)\"\n></ngx-slider>\n","import { CommonModule } from '@angular/common';\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\n\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { KmsUiPresentationalComponent } from './kms-ngx-ui-presentational.component';\nimport { CheckboxComponent } from './ui/checkbox/checkbox.component';\n\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { CustomPipesModule } from './pipes/custom-pipes.module';\nimport { ColorInputComponent } from './ui/color-input/color-input.component';\nimport { EnumRadiogroupComponent } from './ui/enum-radiogroup/enum-radiogroup.component';\nimport { FileInputComponent } from './ui/file-input/file-input.component';\nimport { FlyoutComponent } from './ui/flyout/flyout.component';\nimport { IconComponent } from './ui/icon/icon.component';\nimport { KMSAccordionItemComponent } from './ui/kms-accordion-item/kms-accordion-item.component';\nimport { LoaderComponent } from './ui/loader/loader.component';\nimport { MapComponent } from './ui/map/map.component';\nimport { RadioButtonComponent } from './ui/radiobutton/radiobutton.component';\nimport { SalutationDropdownComponent } from './ui/salutation-dropdown/salutation-dropdown.component';\nimport { TimeInputComponent } from './ui/time-input/time-input.component';\nimport { TooltipIconComponent } from './ui/tooltip-icon/tooltip-icon.component';\nimport { YesNoRadiogroupComponent } from './ui/yes-no-radiogroup/yes-no-radiogroup.component';\n\nimport { NgxSliderModule } from '@angular-slider/ngx-slider';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { GoogleMapsModule } from '@angular/google-maps';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { DirectivesModule } from './directives/directives.module';\nimport { ViewportService } from './services/viewport.service';\nimport { BackToTopComponent } from './ui/back-to-top/back-to-top.component';\nimport { ConfirmationDialogComponent } from './ui/confirmation-dialog/confirmation-dialog.component';\nimport { DropdownFromDataComponent } from './ui/dropdown-from-data/dropdown-from-data.component';\nimport { ImageSliderComponent } from './ui/image-slider/image-slider.component';\nimport { SalutationRadiogroupComponent } from './ui/salutation-radiogroup/salutation-radiogroup.component';\nimport { SlideToggleComponent } from './ui/slide-toggle/slide-toggle.component';\nimport { SliderComponent } from './ui/slider/slider.component';\n\n@NgModule({\n declarations: [\n BackToTopComponent,\n CheckboxComponent,\n ColorInputComponent,\n DropdownFromDataComponent,\n EnumRadiogroupComponent,\n EnumRadiogroupComponent,\n FileInputComponent,\n FlyoutComponent,\n ConfirmationDialogComponent,\n IconComponent,\n ImageSliderComponent,\n KMSAccordionItemComponent,\n KmsUiPresentationalComponent,\n LoaderComponent,\n MapComponent,\n RadioButtonComponent,\n SalutationDropdownComponent,\n SalutationRadiogroupComponent,\n SlideToggleComponent,\n TimeInputComponent,\n TooltipIconComponent,\n YesNoRadiogroupComponent,\n SliderComponent,\n ],\n imports: [\n CommonModule,\n DragDropModule,\n MatCheckboxModule,\n MatButtonModule,\n MatRadioModule,\n MatDialogModule,\n FormsModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatInputModule,\n MatMenuModule,\n CustomPipesModule,\n GoogleMapsModule,\n MatExpansionModule,\n MatSelectModule,\n MatProgressSpinnerModule,\n DirectivesModule,\n MatSlideToggleModule,\n TranslateModule,\n MatTooltipModule,\n NgxSliderModule,\n MatAutocompleteModule,\n ],\n exports: [\n BackToTopComponent,\n CheckboxComponent,\n ColorInputComponent,\n DropdownFromDataComponent,\n EnumRadiogroupComponent,\n EnumRadiogroupComponent,\n FileInputComponent,\n FlyoutComponent,\n ConfirmationDialogComponent,\n IconComponent,\n ImageSliderComponent,\n KMSAccordionItemComponent,\n KmsUiPresentationalComponent,\n LoaderComponent,\n MapComponent,\n RadioButtonComponent,\n SalutationDropdownComponent,\n SalutationRadiogroupComponent,\n SlideToggleComponent,\n TimeInputComponent,\n TooltipIconComponent,\n YesNoRadiogroupComponent,\n SliderComponent,\n ],\n providers: [ViewportService],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class KmsUiPresentationalModule {}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class KmsUiPresentationalService {\n\n constructor() { }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nexport enum ButtonResponseType {\n primary = 'primary',\n secondary = 'secondary',\n}\n","/*\n * Public API Surface of kms-ngx-ui-presentational\n */\n\nexport * from './lib/kms-ngx-ui-presentational.component';\nexport * from './lib/kms-ngx-ui-presentational.module';\nexport * from './lib/kms-ngx-ui-presentational.service';\n\nexport * from './lib/services/viewport.service';\n\nexport * from './lib/models/button-response-types.enum';\nexport * from './lib/models/iconSize.enum';\nexport * from './lib/models/image-snippet.model';\nexport * from './lib/models/salutation.enum';\n\nexport * from './lib/models/types/nullable.type';\n\nexport * from './lib/ui/back-to-top/back-to-top.component';\nexport * from './lib/ui/checkbox/checkbox.component';\nexport * from './lib/ui/color-input/color-input.component';\nexport * from './lib/ui/confirmation-dialog/confirmation-dialog.component';\nexport * from './lib/ui/confirmation-dialog/dialog-data.model';\nexport * from './lib/ui/dropdown-from-data/dropdown-from-data.component';\nexport * from './lib/ui/enum-radiogroup/enum-radiogroup.component';\nexport * from './lib/ui/file-input/file-input.component';\nexport * from './lib/ui/flyout/flyout.component';\nexport * from './lib/ui/icon/icon.component';\nexport * from './lib/ui/image-slider/image-slider.component';\nexport * from './lib/ui/kms-accordion-item/kms-accordion-item.component';\nexport * from './lib/ui/loader/loader.component';\nexport * from './lib/ui/map/map.component';\nexport * from './lib/ui/radiobutton/radiobutton.component';\nexport * from './lib/ui/salutation-dropdown/salutation-dropdown.component';\nexport * from './lib/ui/salutation-radiogroup/salutation-radiogroup.component';\nexport * from './lib/ui/slide-toggle/slide-toggle.component';\nexport * from './lib/ui/slider/slider.component';\nexport * from './lib/ui/slider/slider.model';\nexport * from './lib/ui/time-input/time-input.component';\nexport * from './lib/ui/tooltip-icon/tooltip-icon.component';\nexport * from './lib/ui/yes-no-radiogroup/yes-no-radiogroup.component';\n\nexport * from './lib/directives/directives.module';\nexport * from './lib/directives/size.directive';\nexport * from './lib/directives/sum-of-height.directive';\nexport * from './lib/directives/swipe.directive';\nexport * from './lib/directives/time.directive';\nexport * from './lib/directives/tooltip.directive';\n\nexport * from './lib/pipes/custom-pipes.module';\nexport * from './lib/pipes/integer-currency.pipe';\nexport * from './lib/pipes/safe-html.pipe';\nexport * from './lib/pipes/safe-resource-url.pipe';\nexport * from './lib/pipes/safe-url.pipe';\nexport * from './lib/pipes/trim.pipe';\nexport * from './lib/pipes/typeof.pipe';\n\nexport * from './lib/parent-components/form.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1","IconSize","i1.SizeDirective","i2.TooltipDirective","i3.IconComponent","i3","i5.TooltipIconComponent","i4","i4.SizeDirective","i5.IconComponent","i2.GetMaxHeightDirective","i3.SizeDirective","i4.IconComponent","i5.SafeHtmlPipe","i5","i5.TimeDirective","i6","i7.IconComponent","i2.IconComponent"],"mappings":"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"}
1
+ {"version":3,"file":"kms-ngx-ui-presentational.mjs","sources":["../../../../projects/kms-ngx-ui-presentational/src/lib/kms-ngx-ui-presentational.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/checkbox/checkbox.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/checkbox/checkbox.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/integer-currency.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/safe-html.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/safe-resource-url.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/safe-url.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/trim.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/typeof.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/custom-pipes.module.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/parent-components/form.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/parent-components/form-control.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/icon/iconSize.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/size.directive.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/tooltip.directive.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/icon/icon.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/icon/icon.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/tooltip-icon/tooltip-icon.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/tooltip-icon/tooltip-icon.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/color-input/color-input.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/color-input/color-input.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/enum-radiogroup/enum-radiogroup.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/enum-radiogroup/enum-radiogroup.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/models/is-value.function.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/file-input/file-input.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/file-input/file-input.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/sum-of-height.directive.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/flyout/flyout.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/flyout/flyout.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/kms-accordion-item/kms-accordion-item.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/kms-accordion-item/kms-accordion-item.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/loader/loader.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/loader/loader.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/map/map.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/map/map.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/radiobutton/radiobutton.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/radiobutton/radiobutton.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/models/salutation.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/salutation-dropdown/salutation-dropdown.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/salutation-dropdown/salutation-dropdown.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/models/iconSize.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/time.directive.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/time-input/time-input.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/time-input/time-input.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/yes-no-radiogroup/yes-no-radiogroup.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/yes-no-radiogroup/yes-no-radiogroup.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/swipe.directive.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/directives.module.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/services/viewport.service.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/back-to-top/back-to-top.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/back-to-top/back-to-top.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/confirmation-dialog/dialog-data.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/confirmation-dialog/confirmation-dialog.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/confirmation-dialog/confirmation-dialog.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/dropdown-from-data/dropdown-from-data.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/dropdown-from-data/dropdown-from-data.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/image-slider/image-slider.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/image-slider/image-slider.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/models/image-snippet.model.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/models/types/attached-file-dto.model.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/models/types/nullable.type.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/salutation-radiogroup/salutation-radiogroup.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/salutation-radiogroup/salutation-radiogroup.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/slide-toggle/slide-toggle.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/slide-toggle/slide-toggle.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/slider/slider.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/slider/slider.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/kms-ngx-ui-presentational.module.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/kms-ngx-ui-presentational.service.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/models/button-response-types.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/public-api.ts","../../../../projects/kms-ngx-ui-presentational/src/kms-ngx-ui-presentational.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-kms-ngx-ui-presentational',\n template: `\n <p>\n kms-ngx-ui-presentational works!\n </p>\n `,\n styles: [\n ]\n})\nexport class KmsUiPresentationalComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void { }\n\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'kms-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true,\n },\n ],\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n @Input() infoText = '';\n @Input() checked = false;\n @Input() disabled = false;\n\n /**\n * Internal description name. All checkboxes with the same name belong to the same group.\n * User can select none, one or all checkboxes with the same name.\n */\n @Input() name = '';\n\n @Output() change = new EventEmitter();\n\n valueChanged(value: boolean) {\n this.onChange(value);\n this.checked = value;\n this.change.emit(value);\n this.onTouched();\n }\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n writeValue(value: any) {\n this.checked = value;\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n}\n","<div class=\"checkbox-container\" [class.disabled]=\"disabled\">\n <mat-checkbox\n [disabled]=\"disabled\"\n [name]=\"name\"\n [(ngModel)]=\"checked\"\n (change)=\"valueChanged($event.checked)\"\n >\n {{ infoText }}\n </mat-checkbox>\n</div>\n","/**\n * @copyright KMS GmbH\n */\n\nimport { CurrencyPipe } from '@angular/common';\nimport { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'kmsIntegerCurrency',\n})\nexport class IntegerCurrency implements PipeTransform {\n constructor(private cp: CurrencyPipe) {}\n transform(value: any, currencyCode?: string, display?: boolean, digitsInfo?: string): string | null {\n const currencyPipeValue = this.cp.transform(value, currencyCode, display, digitsInfo)\n if (currencyPipeValue) {\n const convertedValue = currencyPipeValue.split(',')[0] + ' ' + currencyPipeValue.slice(-1)\n return convertedValue\n } else {\n throw new Error(\"No value provided\");\n }\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'kmsSafeHtml',\n})\nexport class SafeHtmlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n\n@Pipe({\n name: 'kmsSafeResourceSUrl',\n})\nexport class SafeResourceUrlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(url: string): SafeResourceUrl {\n return this.sanitizer.bypassSecurityTrustResourceUrl(url);\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\n\n@Pipe({\n name: 'kmsSafeSUrl',\n})\nexport class SafeUrlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(url: string): SafeUrl {\n return this.sanitizer.bypassSecurityTrustUrl(url);\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Pipe, PipeTransform } from \"@angular/core\";\n\n@Pipe({ name: 'kmsTrim' })\nexport class TrimPipe implements PipeTransform {\n transform(value: any) {\n if (!value) {\n return '';\n }\n\n return value.trim();\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'kmsTypeOf',\n})\nexport class TypeofPipe implements PipeTransform {\n transform(value: any): any {\n return typeof value;\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\n import { CommonModule, CurrencyPipe } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\n import { IntegerCurrency } from './integer-currency.pipe';\nimport { SafeHtmlPipe } from './safe-html.pipe';\nimport { SafeResourceUrlPipe } from './safe-resource-url.pipe';\nimport { SafeUrlPipe } from './safe-url.pipe';\nimport { TrimPipe } from './trim.pipe';\nimport { TypeofPipe } from './typeof.pipe';\n\n @NgModule({\n declarations: [\n IntegerCurrency,\n SafeHtmlPipe,\n SafeUrlPipe,\n TrimPipe,\n SafeResourceUrlPipe,\n TypeofPipe,\n ],\n imports: [CommonModule],\n exports: [\n IntegerCurrency,\n SafeHtmlPipe,\n SafeUrlPipe,\n TrimPipe,\n SafeResourceUrlPipe,\n TypeofPipe,\n ],\n providers: [CurrencyPipe],\n })\n export class CustomPipesModule {}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\n\n@Component({\n selector: 'kms-form',\n template: '',\n})\nexport class FormParentComponent implements OnInit {\n public form!: UntypedFormGroup;\n public formInitialized = false;\n private allowedCharsOnlyNumbers = new Set(\n '0123456789'.split('').map((c) => c.charCodeAt(0))\n );\n\n @Output() formDataChanged: EventEmitter<UntypedFormGroup> =\n new EventEmitter();\n\n @Input() disabled = false;\n\n constructor(public formBuilder: UntypedFormBuilder) {}\n\n // TODO make a service or make own compoennt etc.\n /**\n * Returns if a number was pressed\n * @param e\n * @returns\n */\n checkIfKeyWasNumber(\n e: KeyboardEvent,\n allowDelete = true,\n allowArrows = true,\n allowCutCopyPaste = true\n ) {\n // returns if keycode of numbers-row or numberpad. Or if parameter set, allow delete/backspace key\n const isNumberRow = e.keyCode >= 48 && e.keyCode <= 57;\n const isNumberPad = e.keyCode >= 96 && e.keyCode <= 105;\n const isArrows = e.keyCode >= 37 && e.keyCode <= 40;\n const isDelete = e.keyCode == 8 || e.keyCode == 46;\n const isCutCopyOrPaste =\n (e.ctrlKey || e.metaKey) &&\n (e.keyCode == 86 || e.keyCode == 88 || e.keyCode == 67);\n return (\n isNumberRow ||\n isNumberPad ||\n (allowDelete && isDelete) ||\n (allowArrows && isArrows) ||\n (allowCutCopyPaste && isCutCopyOrPaste)\n );\n }\n\n // TODO make a service or make own compoennt etc.\n /**\n * Prevents to input other chars than numbers in input\n * @param event\n */\n removeNumbersOnType(event: KeyboardEvent) {\n // only allow keydown from numbers-row or numberpad of keybard and block other chars than numbers\n if (\n !this.checkIfKeyWasNumber(event) &&\n !this.allowedCharsOnlyNumbers.has(event.keyCode)\n ) {\n event.preventDefault();\n }\n }\n\n // TODO make a service or make own compoennt etc.\n /**\n * Prevents input when pasting which is not number\n * @param event\n */\n removeNumbersOnPaste(event: ClipboardEvent) {\n const clipboardData = event.clipboardData;\n if (clipboardData) {\n const pastedText = clipboardData.getData('text');\n if (pastedText) {\n const isnum = /^\\d+$/.test(pastedText);\n if (!isnum) {\n event.preventDefault();\n }\n }\n }\n }\n\n ngOnInit() {\n this.formDataChanged.emit(this.form);\n this.form.valueChanges.subscribe(() => {\n this.formDataChanged.emit(this.form);\n });\n }\n}\n","import { Component, ElementRef, Input, EventEmitter, Output, ViewChild, Renderer2 } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormControl } from '@angular/forms';\nimport { FormParentComponent } from './form.component';\n\n@Component({\n selector: 'kms-formControlParent',\n template: '',\n})\nexport class FormControlParentComponent extends FormParentComponent {\n @Input() defaultDataOverride = ''; // when we have NO form around, get default via input to set it manually\n @Output() onSelectItemEmitter = new EventEmitter<string>();\n\n @ViewChild('child') public child?: ElementRef<HTMLInputElement>;\n\n public internalValue = '';\n\n constructor(public formBuilder: UntypedFormBuilder, public renderer: Renderer2) {\n super(formBuilder);\n }\n\n ngOnInit() {\n super.ngOnInit();\n }\n\n change(value: string) {\n this.onChange(value);\n this.onTouched();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public onChange: any = () => {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouch: any = () => {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouched: any = () => {};\n\n get value(): string {\n return this.internalValue;\n }\n\n set value(value: string) {\n this.internalValue = value;\n if (value !== undefined && this.internalValue !== value) {\n if (!this.internalValue && this.defaultDataOverride) {\n this.internalValue = this.defaultDataOverride;\n }\n this.onChange(value);\n this.onTouch(value);\n }\n }\n\n writeValue(value: string) {\n this.internalValue = value;\n this.value = value;\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n setDisabledState?(isDisabled: boolean) {\n if (this.child?.nativeElement) {\n this.renderer.setProperty(this.child.nativeElement, 'disabled', isDisabled);\n }\n }\n\n validate(_: UntypedFormControl) {\n return this.form.valid ? null : false;\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nexport enum IconSize {\n FULLSIZE = 'size-full',\n TINY = 'size-16',\n SMALLER = 'size-20',\n SMALL = 'size-32',\n MEDIUM = 'size-64',\n LARGE = 'size-128',\n XL = 'size-256',\n XXL = 'size-512',\n XXXL = 'size-1024',\n NONE = 'NONE',\n}\n\nexport enum IconSizePx {\n TINY = 16,\n SMALLER = 20,\n SMALL = 32,\n MEDIUM = 64,\n LARGE = 128,\n XL = 256,\n XXL = 512,\n XXXL = 1024,\n}\n","import { Directive, ElementRef, Input } from '@angular/core';\n\n@Directive({ selector: '[size]' })\nexport class SizeDirective {\n @Input() size: string = '';\n\n constructor(private elementRef: ElementRef) { }\n\n ngOnInit() {\n this.elementRef.nativeElement.style.width = this.size + 'px';\n this.elementRef.nativeElement.style.height = this.size + 'px';\n }\n}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n} from '@angular/core';\nimport {\n computePosition,\n Placement,\n arrow,\n autoUpdate,\n offset,\n shift,\n flip,\n} from '@floating-ui/dom';\n\n@Directive({ selector: '[kmsTooltip]' })\nexport class TooltipDirective implements AfterViewInit, OnChanges {\n @Input() kmsTooltip: HTMLElement;\n @Input() placement: Placement = 'bottom';\n @Input() delay: number = 0;\n @Input() alwaysVisible = false;\n\n arrow: HTMLElement;\n showTimeout: NodeJS.Timeout;\n\n @HostListener('mouseover')\n onMouseOver() {\n if (this.alwaysVisible) return;\n\n this.showTimeout = setTimeout(() => {\n this.renderer.addClass(this.kmsTooltip, 'kms-tooltip--show');\n }, this.delay);\n }\n\n @HostListener('mouseout')\n onMouseOut() {\n if (this.alwaysVisible) return;\n\n clearTimeout(this.showTimeout);\n this.renderer.removeClass(this.kmsTooltip, 'kms-tooltip--show');\n }\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n this.renderer.addClass(this.kmsTooltip, 'kms-tooltip');\n this.addArrow();\n this.initTooltip();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.alwaysVisible.currentValue) {\n this.renderer.addClass(this.kmsTooltip, 'kms-tooltip--show');\n } else {\n this.renderer.removeClass(this.kmsTooltip, 'kms-tooltip--show');\n }\n }\n\n initTooltip() {\n autoUpdate(this.elementRef.nativeElement, this.kmsTooltip, () => {\n const arrowLength = this.arrow.offsetWidth;\n // Get half the arrow box's hypotenuse length\n const floatingOffset = Math.sqrt(2 * arrowLength ** 2) / 2;\n\n computePosition(this.elementRef.nativeElement, this.kmsTooltip, {\n placement: this.placement,\n middleware: [\n shift(),\n offset(floatingOffset),\n arrow({ element: this.arrow }),\n flip(),\n ],\n }).then(({ x, y, middlewareData, placement }) => {\n this.positionTooltip(x, y);\n\n if (middlewareData.arrow) {\n this.positionTooltipArrow(\n middlewareData.arrow.x,\n middlewareData.arrow.y,\n placement,\n arrowLength\n );\n }\n });\n });\n }\n\n positionTooltip(x: number, y: number) {\n Object.assign(this.kmsTooltip.style, {\n left: `${x}px`,\n top: `${y}px`,\n });\n }\n\n positionTooltipArrow(\n x: number,\n y: number,\n placement: Placement,\n arrowLength: number\n ) {\n const side = placement.split('-')[0];\n\n const staticSide = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[side];\n\n this.addArrowClass(staticSide);\n\n Object.assign(this.arrow.style, {\n left: x != null ? `${x}px` : '',\n top: y != null ? `${y}px` : '',\n // Ensure the static side gets unset when\n // flipping to other placements' axes.\n right: '',\n bottom: '',\n [staticSide]: `${-arrowLength / 2}px`,\n transform: 'rotate(45deg)',\n });\n }\n\n addArrow() {\n this.arrow = this.renderer.createElement('div');\n this.renderer.addClass(this.arrow, 'kms-tooltip__arrow');\n this.renderer.appendChild(this.kmsTooltip, this.arrow);\n }\n\n addArrowClass(side: string) {\n this.renderer.removeClass(this.arrow, 'kms-tooltip__arrow--left');\n this.renderer.removeClass(this.arrow, 'kms-tooltip__arrow--right');\n this.renderer.removeClass(this.arrow, 'kms-tooltip__arrow--bottom');\n this.renderer.removeClass(this.arrow, 'kms-tooltip__arrow--top');\n\n this.renderer.addClass(this.arrow, 'kms-tooltip__arrow--' + side);\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Component, Input, OnInit, VERSION } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport * as colors from '../../../assets/icons.json';\nimport { IconSize } from './iconSize.enum';\n\n@Component({\n selector: 'kms-icon',\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss'],\n})\nexport class IconComponent implements OnInit {\n /**\n * Required: Name of the SVG icon inside your sprite sheet file with name 'icons.svg'.\n * Pass 'none' if no icon should be rendered.\n */\n @Input() icon!: (typeof colors)[number];\n\n /**\n * Optional: Different appearance via CSS class defined in this component´s style sheet.\n */\n @Input() iconClass!: string | '';\n\n /**\n * Optional: Different appearance via CSS inline style.\n */\n\n @Input() iconStyle: any;\n\n /**\n * Optional: Different size via CSS inline style.\n * @deprecated. Please use size instead\n */\n @Input() iconSize: IconSize = IconSize.FULLSIZE;\n\n /**\n * Optional: Different size via CSS inline style.\n * @deprecated. Please use size instead\n */\n @Input() size?: string;\n\n /**\n * Dont use icon sprite\n */\n\n @Input() dontUseSprite = false;\n\n IconSize = IconSize;\n Version = VERSION.full;\n\n public timestamp = 0;\n\n constructor(public sanitizer: DomSanitizer) {}\n\n ngOnInit() {\n const d = new Date();\n const n = d.getTime();\n this.timestamp = n;\n }\n}\n","<ng-container *ngIf=\"icon !== 'none' && dontUseSprite === false\">\n <span\n class=\"icon {{ iconSize }}\"\n [ngClass]=\"iconClass\"\n [ngStyle]=\"iconStyle\"\n [style.width.px]=\"size\"\n [style.height.px]=\"size\"\n >\n <svg>\n <use\n [attr.xlink:href]=\"'assets/sprite.svg?Version=' + Version + '#' + icon\"\n ></use>\n </svg>\n </span>\n</ng-container>\n<ng-container *ngIf=\"icon !== 'none' && dontUseSprite === true\">\n <object\n [data]=\"\n sanitizer.bypassSecurityTrustResourceUrl('assets/icons/' + icon + '')\n \"\n type=\"image/svg+xml\"\n class=\"icon {{ iconSize }}\"\n [ngClass]=\"iconClass\"\n [ngStyle]=\"iconStyle\"\n ></object>\n</ng-container>\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n HostBinding,\n Input,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport { IconSize } from '../../models';\nimport { IconSizePx } from '../icon/iconSize.enum';\nimport { Placement } from '@floating-ui/dom';\n@Component({\n selector: 'kms-tooltip-icon',\n templateUrl: './tooltip-icon.component.html',\n styleUrls: ['./tooltip-icon.component.scss'],\n})\nexport class TooltipIconComponent {\n @ViewChild('button') button: ElementRef;\n @ViewChild('tooltip') tooltip: ElementRef;\n @Input() tooltipText = '';\n @Input() placement: Placement;\n @Input() delay = 1000;\n @Input() iconSize: IconSizePx = IconSizePx.SMALLER;\n @Input() iconClass = 'color-primary';\n @Input() tooltipAlwaysVisible = false;\n}\n","<div #tooltipContent>\n {{ tooltipText }}\n</div>\n<kms-icon\n icon=\"ic_info\"\n [size]=\"iconSize\"\n [iconClass]=\"iconClass\"\n [kmsTooltip]=\"tooltipContent\"\n [placement]=\"placement\"\n [delay]=\"delay\"\n [alwaysVisible]=\"tooltipAlwaysVisible\"\n></kms-icon>\n","import { Component, forwardRef, Input, OnInit, Renderer2 } from '@angular/core';\nimport {\n ControlValueAccessor,\n UntypedFormBuilder,\n UntypedFormControl,\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\nimport { FormControlParentComponent } from './../../parent-components/form-control.component';\n\n@Component({\n selector: 'kms-color-input',\n templateUrl: './color-input.component.html',\n styleUrls: ['./color-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ColorInputComponent),\n multi: true,\n },\n ],\n})\nexport class ColorInputComponent\n extends FormControlParentComponent\n implements OnInit, ControlValueAccessor\n{\n @Input() label = '';\n @Input() tooltipText = '';\n @Input() placeholder = '';\n valid: boolean | null | undefined;\n\n constructor(\n public formBuilder: UntypedFormBuilder,\n public renderer: Renderer2\n ) {\n super(formBuilder, renderer);\n }\n\n ngOnInit() {\n this.form = this.formBuilder.group({\n color: '',\n });\n\n super.ngOnInit();\n\n this.formInitialized = true;\n\n this.form.valueChanges.subscribe((value) => {\n this.internalValue = value.color;\n this.onChange(value.color);\n });\n }\n\n validate(_: UntypedFormControl) {\n // TODO fix to validate complete form\n this.valid = this.matchesHex(this.form.value) ? null : false;\n return (\n this.valid && {\n invalid: !this.valid,\n }\n );\n }\n\n matchesHex(match?: string) {\n if (match) {\n const ret = match.match(/^#[0-9a-f]{6}$/i);\n this.valid = ret && ret.length > 0;\n return ret;\n }\n return false;\n }\n\n updateSelectedColor(value: any) {\n const color = value.target.value;\n this.value = color;\n this.internalValue = color;\n this.change(color);\n }\n}\n","\n<form [formGroup]=\"form\" *ngIf=\"formInitialized\">\n <div>\n <mat-form-field class=\"colorInput\">\n <kms-tooltip-icon [tooltipText]=\"tooltipText\" *ngIf=\"tooltipText\"></kms-tooltip-icon>\n <mat-label>{{ label }}</mat-label>\n <input type=\"text\" [(ngModel)]=\"value\" matInput formControlName=\"color\" [placeholder]=\"placeholder\" [ngClass]=\"{'my-inValid': !matchesHex(value)}\" />\n <input type=\"color\" [value]=\"value && matchesHex(value) ? value : '#ffffff'\" (change)=\"updateSelectedColor($event)\" [ngClass]=\"{'my-inValid': !matchesHex(value)}\" />\n </mat-form-field>\n </div>\n</form>","import { Component, forwardRef, Input, OnInit, Renderer2 } from '@angular/core';\nimport { ControlValueAccessor, UntypedFormBuilder, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NullAble } from '../../models';\n\nimport { FormControlParentComponent } from './../../parent-components/form-control.component';\n\n@Component({\n selector: 'kms-enum-radiogroup',\n templateUrl: './enum-radiogroup.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EnumRadiogroupComponent),\n multi: true,\n },\n ],\n})\nexport class EnumRadiogroupComponent extends FormControlParentComponent implements OnInit, ControlValueAccessor {\n @Input() header: NullAble<String>;\n @Input() optionsEnum: any;\n @Input() translationPrefix = '';\n\n public optionValues: any;\n \n constructor(public formBuilder: UntypedFormBuilder, public renderer: Renderer2) {\n super(formBuilder, renderer);\n }\n\n ngOnInit(){\n this.optionValues = Object.keys(this.optionsEnum).filter(x => !(parseInt(x) >= 0));\n this.form = this.formBuilder.group({\n enumData: [],\n });\n this.formInitialized = true;\n\n this.form.valueChanges.subscribe((value) => {\n this.internalValue = value.enumData;\n this.onChange(value.enumData);\n });\n\n super.ngOnInit();\n }\n}\n","<form [formGroup]=\"form\">\n <div>{{ header }}</div>\n <mat-radio-group [formControl]=\"form.controls['enumData']\" [disabled]=\"disabled\" #child>\n <mat-radio-button [value]=\"choice\" [checked]=\"value === choice\" *ngFor=\"let choice of optionValues\">{{ translationPrefix + '.' + choice | translate }}</mat-radio-button>\n </mat-radio-group>\n</form>","/**\n * @copyright FLYACTS GmbH 2019\n */\n\nimport { NullAble } from \"./types/nullable.type\";\n\n\n/**\n * Check if null or undefined\n * @param value value that is being checked\n */\nexport function isValue<T>(value: NullAble<T>): value is T {\n if (value === null) {\n return false;\n }\n if (typeof value === 'undefined') {\n return false;\n }\n return true;\n}\n","import { Component, Input, forwardRef, OnInit, ViewChild, Renderer2, EventEmitter, Output, ApplicationRef, ChangeDetectorRef } from '@angular/core';\n\nimport {\n ControlValueAccessor,\n UntypedFormBuilder,\n UntypedFormControl,\n UntypedFormGroup,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\n//import { TranslateService } from '@ngx-translate/core';\nimport { IconSize } from '../../models/iconSize.enum';\nimport { AttachedFileDTO } from '../../models/types/attached-file-dto.model';\nimport { isValue } from '../../models/is-value.function';\nimport { IconSizePx } from '../icon/iconSize.enum';\n\n// Max size in bytes of uploaded image\nconst MAX_SIZE_BYTES = 2097152;\n\n@Component({\n selector: 'kms-file-input',\n templateUrl: './file-input.component.html',\n styleUrls: ['./file-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FileInputComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => FileInputComponent),\n multi: true,\n },\n ],\n})\n\nexport class FileInputComponent implements ControlValueAccessor, OnInit {\n \n @ViewChild('fileInput') public fileInput: any;\n\n @Input() label = '';\n \n @Input() previewImage = true; \n @Input() allowRemove = true; \n @Input() previewImageText = ''; \n @Input() maxSizeBytes = MAX_SIZE_BYTES; \n @Input() resizePixels = 0; \n @Input() acceptedFileMimetypes = 'image/jpeg, image/jpg, image/png'; \n\n form= this.formBuilder.group({\n ImageIdent: new UntypedFormControl(''),\n ImageLink: new UntypedFormControl(''),\n Filename: new UntypedFormControl(''),\n ImageAsDataURL: new UntypedFormControl(''),\n Text: new UntypedFormControl(''),\n });\n\n subscriptions: Subscription[] = [];\n newImageLoading = false\n\n IconSizePx = IconSizePx;\n\n @Output() formDataChanged: EventEmitter<UntypedFormGroup> = new EventEmitter();\n\n /**\n * Constructor\n * @param formBuilder \n * @param appRef \n * @param cd \n * @param translateService \n * @param renderer \n */\n constructor(\n public formBuilder: UntypedFormBuilder, \n public appRef: ApplicationRef,\n public cd: ChangeDetectorRef,\n //private translateService: TranslateService,\n public renderer: Renderer2\n ) {\n \n }\n\n /**\n * Click on button triggers file-input to open OS file dialog\n */\n selectImageOverlay() {\n this.fileInput.nativeElement.click();\n }\n\n /**\n * Function to manage the input image\n * Returns an error if the file exceeds maximum wanted filesize (Mb). \n * @param ev\n * @returns\n */\n selectImage(ev: any) {\n if (ev.target.files && ev.target.files[0]) {\n const file:File = ev.target.files[0];\n\n if (file.size > this.maxSizeBytes) {\n this.clearInputValue(ev);\n //alert(this.translateService.instant('errors.fileTooBig'));\n return;\n } else {\n this.newImageLoading = true;\n\n if(this.resizePixels > 0){\n const logoUrl = URL.createObjectURL(file);\n const imgEl = document.createElement('img');\n imgEl.addEventListener('load', () => {\n const resizedLogo = this.resizeImage(imgEl, this.resizePixels);\n const newFile = this.generateModel(file.name, resizedLogo, this.value.ImageIdent, this.value.ImageLink, this.value.Text);\n this.value=newFile;\n this.newImageLoading = false;\n this.cd.markForCheck();\n });\n imgEl.src = logoUrl;\n }else{\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = (e: any) => {\n const newFile = this.generateModel(file.name, e.target.result, this.value.ImageIdent, this.value.ImageLink, this.value.Text);\n this.value=newFile;\n this.newImageLoading = false;\n this.cd.markForCheck();\n };\n }\n \n }\n }else{\n console.warn(\"No file selected\");\n }\n }\n\n /**\n * Resize an image\n * @param imgEl\n * @param wantedWidth as number\n * @returns string \n */\n private resizeImage(imgEl: any, wantedWidth: number) {\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n const aspect = imgEl.width / imgEl.height;\n canvas.width = wantedWidth;\n canvas.height = wantedWidth / aspect;\n if (isValue(ctx)) ctx.drawImage(imgEl, 0, 0, canvas.width, canvas.height);\n return canvas.toDataURL();\n }\n\n /**\n * Generate default object\n * @param name as string\n * @param content as string\n * @returns AttachedFileDTO\n */\n generateModel(name?: string, content?: string, ident?: string, imageLink?: string, text?: string){\n return {\n ImageIdent: ident ? ident : '',\n Filename: name ? name : '',\n ImageAsDataURL: content ? content : '',\n ImageLink: imageLink ? imageLink : '',\n Text: text ? text : ''\n } as AttachedFileDTO;\n }\n\n /**\n * Remove image \n */\n removeFromList(){\n this.value= this.generateModel('','', '', '');\n }\n\n /**\n * get value\n */\n get value(): AttachedFileDTO {\n return this.form.value;\n }\n\n /**\n * set value\n */\n set value(value: AttachedFileDTO) {\n this.form.setValue(value);\n this.onChange(value);\n this.formDataChanged.emit(this.form);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: any = () => {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouch: any = () => {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n ngOnInit() {}\n\n\n ngOnDestroy() {\n this.subscriptions.forEach(s => s.unsubscribe());\n } \n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n writeValue(value: AttachedFileDTO | null) {\n if (value) {\n this.value = value;\n }\n\n if (value === null) {\n this.form.reset();\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/adjacent-overload-signatures\n validate(_: UntypedFormControl) {\n return this.form.valid ? null : { styles: { valid: false } };\n }\n\n /**\n * OnClick event listener of input#fileInput to clear his input value\n */\n clearInputValue(ev: any) {\n const element = ev.target as HTMLInputElement;\n element.value = '';\n }\n}\n","<form [formGroup]=\"form\" (change)=\"newImageLoading=true\" class=\"fileInput\"> \n\n <div *ngIf=\"form.value.Filename && previewImage\">\n <div *ngIf=\"newImageLoading\">\n {{ 'file-input.loading' | translate }}\n </div>\n <div *ngIf=\"!newImageLoading\">\n <div class=\"\">\n <div class=\"\">\n <img *ngIf=\"form.value.ImageLink && form.value.ImageLink !== '' && !(form.value.ImageAsDataURL && form.value.ImageAsDataURL !== '')\" [src]=\"form.value.ImageAsDataURL\" [src]=\"form.value.ImageLink\" style=\"height: 40px; width: fit-content;\" />\n <img *ngIf=\"form.value.ImageAsDataURL && form.value.ImageAsDataURL !== ''\" [src]=\"form.value.ImageAsDataURL\" style=\"height: 40px; width: fit-content;\" />\n </div>\n <div class=\"\">{{form.value.Filename}}</div>\n <div class=\"\">\n <div (click)=\"removeFromList()\" *ngIf=\"allowRemove\">\n <kms-icon icon=\"trash\" [size]=\"IconSizePx.TINY\" iconClass=\"color-black\"></kms-icon> \n {{ 'file-input.remove' }}\n </div>\n </div>\n </div>\n </div>\n </div>\n <div *ngIf=\"!previewImage\">\n <div class=\"\">{{form.value.Filename}}</div>\n </div>\n\n <button (click)=\"selectImageOverlay()\" class=\"button-primary-font-color\" mat-stroked-button>\n <span>{{ label }}</span>\n </button>\n <input\n type=\"file\"\n [accept]=\"acceptedFileMimetypes\"\n style=\"display: none\"\n #fileInput\n (click)=\"clearInputValue($event)\"\n (change)=\"selectImage($event)\"\n />\n\n <input type=\"hidden\" [formControl]=\"form.controls['ImageIdent']\" />\n <input type=\"hidden\" [formControl]=\"form.controls['ImageLink']\" />\n <input type=\"hidden\" [formControl]=\"form.controls['Filename']\" />\n <input type=\"hidden\" [formControl]=\"form.controls['ImageAsDataURL']\" />\n <input type=\"hidden\" [formControl]=\"form.controls['Text']\" />\n\n</form>","/**\n * @copyright KMS GmbH\n */\n\n// ng\nimport {\n AfterContentChecked,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\n/**\n * Directive to calc the height of all inner elements\n */\n@Directive({\n selector: '[getMaxHeight]',\n})\nexport class GetMaxHeightDirective implements AfterContentChecked {\n /**\n * CSS class name of the child items (markup elements) that should be checked for their height.\n * This is mandatory.\n */\n @Input('getMaxHeight') cssClassName = '';\n\n /**\n * Event that will pass the height of the tallest child inside the container.\n * Useful to calculate the target height of containers with different content (like accordion) for animations.\n */\n @Output() public maxHeightChanged: EventEmitter<number> = new EventEmitter();\n\n /**\n * Event that will pass the complete sum of all height values from each child.\n * Useful to calculate the full target height of a container (like dropdown) for animations.\n */\n @Output() public sumOfHeight: EventEmitter<number> = new EventEmitter();\n\n constructor(private el: ElementRef) {}\n\n ngAfterContentChecked(): void {\n this.checkHeightOfChildren(this.el.nativeElement, this.cssClassName);\n }\n\n private checkHeightOfChildren(parent: HTMLElement, cssClassName: string) {\n if (!parent) {\n return;\n }\n\n // find all the child elements with the selected class name\n const children = parent.getElementsByClassName(cssClassName);\n\n // failsafe\n if (!children) {\n return;\n }\n\n // get all the child elements heights\n const itemHeights = Array.from(children).map(\n (x) => x.getBoundingClientRect().height\n );\n\n // failsafe\n if (itemHeights.length === 0) {\n return;\n }\n\n // find out the tallest element\n const maxHeight = itemHeights.reduce((prev, curr) => {\n return curr > prev ? curr : prev;\n }, 0);\n\n // get sum of heights\n const sumOfHeight = itemHeights.reduce((pv, cv) => pv + cv, 0);\n\n // inform\n this.maxHeightChanged.emit(maxHeight);\n this.sumOfHeight.emit(sumOfHeight);\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { state, style, trigger } from '@angular/animations';\nimport { Component, ElementRef, Input, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'kms-flyout',\n templateUrl: './flyout.component.html',\n styleUrls: ['./flyout.component.scss'],\n animations: [\n trigger('dropdownAnimation', [\n state(\n 'true',\n style({\n height: '{{targetHeight}}',\n transition: 'height {{animationTime}}ms ease-in-out',\n }),\n {\n params: {\n targetHeight: '300px',\n animationTime: 3000,\n },\n }\n ),\n state(\n 'false',\n style({\n height: 0,\n transition: 'height {{animationTime}}ms ease-in-out',\n }),\n {\n params: {\n targetHeight: '300px',\n opacity: 0,\n animationTime: 3000,\n },\n }\n ),\n ]),\n ],\n})\nexport class FlyoutComponent {\n @Input() icon = 'filter';\n\n isDropdownOpened = false;\n targetHeight = '0';\n animationTime = 5000;\n\n @Input() headerCssClass = '';\n @Input() bodyCssClass = '';\n\n @Input() headerTitle = '';\n @Input() headerText = '';\n @Input() hasButtonForMore = false;\n @Input() moreText = '';\n @Input() lessText = '';\n\n @ViewChild('content') content: ElementRef | undefined;\n\n @ViewChild('flyoutHeader') flyoutHeader: ElementRef | undefined;\n\n /**\n * Open/close dropdown if click on header.\n * Except, if mode is set to hasButtonForMore. When there is a extra button to open/close\n */\n toggleDropdownHeader() {\n if (!this.hasButtonForMore) {\n this.toggleDropdown();\n }\n }\n\n /**\n * Open or close the dropdown\n */\n toggleDropdown() {\n this.isDropdownOpened = !this.isDropdownOpened;\n }\n\n /**\n * Set the height of the dropdown list items dynamic - needed for the animation\n */\n setDropdownListHeight(contentHeight: number) {\n this.targetHeight = `${contentHeight}px`;\n }\n}\n","<div class=\"flyout\" [ngClass]=\"{ 'is-active': isDropdownOpened }\">\n <div\n class=\"flyout-header\"\n (click)=\"toggleDropdownHeader()\"\n [ngClass]=\"headerCssClass\"\n >\n <span [innerHtml]=\"headerTitle | kmsSafeHtml\"></span>\n <span [innerHtml]=\"headerText | kmsSafeHtml\"></span>\n\n <ng-content select=\"[header]\"></ng-content>\n\n <div\n *ngIf=\"hasButtonForMore\"\n (click)=\"toggleDropdown()\"\n class=\"flyout-header-more\"\n >\n <span *ngIf=\"!isDropdownOpened\">\n {{ moreText }}\n <kms-icon [icon]=\"'chevron-down'\" [size]=\"16\"> </kms-icon>\n </span>\n <span *ngIf=\"isDropdownOpened\">\n {{ lessText }}\n <kms-icon [icon]=\"'chevron-top'\" [size]=\"16\"> </kms-icon>\n </span>\n </div>\n </div>\n <div\n class=\"flyout-body\"\n [ngClass]=\"bodyCssClass\"\n tabindex=\"0\"\n [@dropdownAnimation]=\"{\n value: isDropdownOpened,\n params: { targetHeight: targetHeight, animationTime: '500' }\n }\"\n getMaxHeight=\"inner\"\n (sumOfHeight)=\"setDropdownListHeight($event)\"\n #flyoutHeader\n >\n <div class=\"inner\" #content *ngIf=\"isDropdownOpened || !hasButtonForMore\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Component, Input, OnInit } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n/**\n * A generic dialog component\n */\n@Component({\n selector: 'kms-accordion-item',\n templateUrl: './kms-accordion-item.component.html',\n styleUrls: ['./kms-accordion-item.component.scss'],\n})\nexport class KMSAccordionItemComponent implements OnInit {\n public itemTitleTrustHtml: SafeHtml | undefined;\n @Input() public showAsCard = false;\n @Input() public isSmall = false;\n @Input() public expanded = false;\n @Input()\n public set itemTitle(val: string) {\n this.itemTitleTrustHtml = this.sanitizer.bypassSecurityTrustHtml(val);\n }\n\n panelOpenState = false;\n\n constructor(public sanitizer: DomSanitizer) {}\n\n ngOnInit() {}\n}\n","<mat-expansion-panel\n class=\"accordion-item\"\n [ngClass]=\"{showAsCard: showAsCard, showFlat: !showAsCard, isSmall: isSmall}\"\n (opened)=\"panelOpenState = true\"\n (closed)=\"panelOpenState = false\"\n [expanded] = \"expanded\"\n hideToggle=\"true\">\n <mat-expansion-panel-header class=\"accordion-item-header\">\n <mat-panel-title class=\"mat-subheading-2 accordion-item-title\">\n <div [innerHtml]=\"itemTitleTrustHtml\"></div>\n <ng-content select=\"[itemTitleElement]\"></ng-content>\n </mat-panel-title>\n <div class=\"accordion-item-header-icon-wrapper\">\n <kms-icon *ngIf=\"!panelOpenState\" icon=\"ic_plus\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-desktop\"></kms-icon>\n <kms-icon *ngIf=\"panelOpenState\" icon=\"ic_minus\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-desktop\"></kms-icon>\n\n <kms-icon *ngIf=\"!panelOpenState\" icon=\"chevron-down\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-mobile\"></kms-icon>\n <kms-icon *ngIf=\"panelOpenState\" icon=\"chevron-top\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-mobile\"></kms-icon>\n </div>\n </mat-expansion-panel-header>\n <ng-content></ng-content>\n</mat-expansion-panel>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'kms-loader',\n templateUrl: './loader.component.html',\n styleUrls: ['./loader.component.scss'],\n})\nexport class LoaderComponent {\n @Input() loading = false;\n}\n","<div class=\"loading-spinner-shade\" *ngIf=\"loading\">\n <mat-spinner class=\"spinnerMargin\" color=\"accent\" diameter=\"44\"></mat-spinner>\n</div>\n","/**\n * @copyright KMS GmbH\n */\nimport { Component, Input, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { Address } from '../../models/address.model';\n\n/**\n * MarkerOptions class for Marker\n */\nexport class MarkerOptions {\n animation!: number;\n}\n\n/**\n * MarkerLabel class for Marker\n */\nexport class MarkerLabel {\n color!: string;\n text!: string;\n}\n\n/**\n * Marker class\n */\nexport class Marker {\n position!: google.maps.LatLngLiteral;\n label!: MarkerLabel;\n title!: string;\n options!: MarkerOptions;\n}\n\n/**\n * Component to show marker on google map for specific address\n */\n@Component({\n selector: 'kms-map',\n templateUrl: './map.component.html',\n styleUrls: ['./map.component.scss'],\n})\nexport class MapComponent implements OnInit {\n @Input() data!: Address;\n\n public markers: Marker[] = [];\n public geoDataFoundForAddress = false;\n public widthSet = false;\n\n public width = '100%';\n public zoom = 15;\n public center: google.maps.LatLngLiteral = {\n lat: 52.097449,\n lng: 12.7436911,\n };\n\n public options: google.maps.MapOptions = {\n mapTypeId: 'roadmap',\n zoomControl: false,\n scrollwheel: false,\n disableDoubleClickZoom: true,\n maxZoom: 15,\n minZoom: 8,\n };\n\n public google: any;\n\n public geocoder: any;\n\n public viewportSubscription?: Subscription;\n\n constructor() {}\n\n ngOnInit() {\n this.findLocation(\n this.data.Street + ' ' + this.data.Zip + ' ' + this.data.City\n );\n }\n\n /**\n * Asks google for geocoordinates of a given address string\n * @input address as string\n */\n findLocation(address: string) {\n if (!this.geocoder) {\n this.geocoder = new google.maps.Geocoder();\n }\n this.geocoder.geocode(\n {\n address: address,\n },\n (\n results: google.maps.GeocoderResult,\n status: google.maps.GeocoderStatus\n ) => {\n if (status === google.maps.GeocoderStatus.OK) {\n this.center.lat = results[0].geometry.location.lat();\n this.center.lng = results[0].geometry.location.lng();\n\n this.addMarker();\n this.geoDataFoundForAddress = true;\n } else {\n console.error(\n 'Sorry, this search of map address produced no results.'\n );\n }\n }\n );\n }\n\n /**\n * Adds a marker to the map\n */\n addMarker() {\n this.markers.push({\n position: {\n lat: this.center.lat,\n lng: this.center.lng,\n },\n label: {\n color: 'blue',\n\n text: this.data.Name1 || '',\n },\n title: this.data.Name1 + ' ' + this.data.Street + ' ' + this.data.Zip,\n options: { animation: google.maps.Animation.DROP },\n });\n }\n\n /**\n * Zooms in into map\n */\n zoomIn() {\n if (this.options.maxZoom && this.zoom < this.options.maxZoom) {\n this.zoom++;\n }\n }\n\n /**\n * Zooms out from map\n */\n zoomOut() {\n if (this.options.minZoom && this.zoom > this.options.minZoom) {\n this.zoom--;\n }\n }\n}\n","<div *ngIf=\"geoDataFoundForAddress\">\n <google-map\n height=\"415px\"\n [width]=\"width\"\n [zoom]=\"zoom\"\n [center]=\"center\"\n [options]=\"options\"\n >\n <map-marker\n *ngFor=\"let marker of markers\"\n [position]=\"marker.position\"\n [label]=\"marker.label\"\n [title]=\"marker.title\"\n [options]=\"marker.options\"\n >\n </map-marker>\n </google-map>\n</div>","/**\n * @copyright KMS GmbH\n */\nimport {\n Component,\n EventEmitter,\n Input,\n Output,\n forwardRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'kms-radiobutton',\n templateUrl: './radiobutton.component.html',\n styleUrls: ['./radiobutton.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioButtonComponent),\n multi: true,\n },\n ],\n})\nexport class RadioButtonComponent implements ControlValueAccessor {\n @Input() label: string = '';\n @Input() checked: boolean = false;\n @Input() disabled: boolean = false;\n @Input() value: any;\n @Input() size: 'small' | 'medium' | 'large' = 'medium';\n @Input() color: 'primary' | 'accent' | 'warn' = 'primary';\n\n @Output() onChange: EventEmitter<void> = new EventEmitter<void>();\n\n onRadioChange(event: any): void {\n this.onChange.emit(event);\n }\n\n writeValue(value: any): void {\n this.checked = value === this.value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onChange = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<mat-radio-button\n [disabled]=\"disabled\"\n [checked]=\"checked\"\n [ngClass]=\"size\"\n [color]=\"color\"\n [value]=\"value\"\n (change)=\"onChange.emit($event)\"\n ngDefaultControl\n>\n {{ label }}\n</mat-radio-button>\n","export enum SalutationEnum {\n NOT_SPECIFIED = 'Keine Anrede',\n MALE = 'Herr',\n FEMALE = 'Frau',\n}\n","import { Component, forwardRef, Input, OnInit, Renderer2 } from '@angular/core';\nimport { ControlValueAccessor, UntypedFormBuilder, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NullAble } from '../../models';\nimport { SalutationEnum } from '../../models/salutation.enum';\n\nimport { FormControlParentComponent } from './../../parent-components/form-control.component';\n\n@Component({\n selector: 'kms-salutation-dropdown',\n templateUrl: './salutation-dropdown.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SalutationDropdownComponent),\n multi: true,\n },\n ],\n})\nexport class SalutationDropdownComponent extends FormControlParentComponent implements OnInit, ControlValueAccessor {\n @Input() placeholder: NullAble<String>;\n\n //For view\n SalutationEnum = SalutationEnum;\n Object = Object;\n\n constructor(public formBuilder: UntypedFormBuilder, public renderer: Renderer2) {\n super(formBuilder, renderer);\n }\n\n ngOnInit() {\n this.form = this.formBuilder.group({\n salut: [],\n });\n this.formInitialized = true;\n \n //somehow for dropowns we have to set value manually with timeout for default value\n setTimeout(() => {\n this.form.controls['salut'].setValue(this.value ? this.value : '');\n }, 1000);\n\n\n this.form.valueChanges.subscribe((value) => {\n this.onChange(value.salut);\n });\n\n super.ngOnInit();\n }\n}\n","<form [formGroup]=\"form\" class=\"row\">\n <mat-form-field class=\"col\">\n <mat-select disableOptionCentering [formControl]=\"form.controls['salut']\" [placeholder]=\"placeholder\" [value]=\"value\" #child>\n <mat-option [value]=\"SalutationEnum.NOT_SPECIFIED\">{{ 'general.salutation.' + Object.keys(SalutationEnum)[0]?.toLowerCase() | translate }}</mat-option>\n <mat-option [value]=\"SalutationEnum.MALE\">{{ 'general.salutation.' + Object.keys(SalutationEnum)[1]?.toLowerCase() | translate }}</mat-option>\n <mat-option [value]=\"SalutationEnum.FEMALE\">{{ 'general.salutation.' + Object.keys(SalutationEnum)[2]?.toLowerCase() | translate }}</mat-option>\n </mat-select>\n </mat-form-field>\n</form>","/**\n * @copyright KMS GmbH\n */\n\nexport enum IconSize {\n FULLSIZE = 'size-full',\n TINY = 'size-16',\n SMALLER = 'size-20',\n SMALL = 'size-32',\n MEDIUM = 'size-64',\n LARGE = 'size-128',\n XL = 'size-256',\n XXL = 'size-512',\n XXXL = 'size-1024',\n NONE = 'NONE',\n}\n","import { Directive, ElementRef, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[kmsTime]',\n})\nexport class TimeDirective {\n constructor(private el: ElementRef) {}\n\n @HostListener('input', ['$event']) onInputChange(event: InputEvent) {\n this.handleInput(event);\n }\n\n @HostListener('beforeinput', ['$event']) onBeforeInput(event: InputEvent) {\n if (\n event.inputType === 'insertFromPaste' ||\n event.inputType === 'insertText'\n ) {\n const isAllTextHighlighted =\n (event.target as HTMLInputElement).selectionStart === 0 &&\n (event.target as HTMLInputElement).selectionEnd === 5;\n const textReachedMax =\n (event.target as HTMLInputElement).value.length > 4;\n const isNotANumber = isNaN(+event.data);\n\n if (isNotANumber || (textReachedMax && !isAllTextHighlighted)) {\n event.preventDefault();\n }\n this.handleInput(event);\n }\n }\n\n public handleInput(event: InputEvent) {\n const inputElement = this.el.nativeElement as HTMLInputElement;\n const originalValue = inputElement.value;\n\n if (originalValue.length === 2 && event.inputType === 'insertText') {\n inputElement.value += ':';\n inputElement.dispatchEvent(new Event('input'));\n }\n }\n}\n","import {\n Component,\n computed,\n forwardRef,\n Input,\n OnChanges,\n OnInit,\n Signal,\n signal,\n SimpleChanges,\n WritableSignal,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\nimport moment from 'moment';\nimport {IconSize} from '../../models/iconSize.enum';\n@Component({\n selector: 'kms-time-input',\n templateUrl: './time-input.component.html',\n styleUrls: ['./time-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TimeInputComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: TimeInputComponent,\n multi: true,\n },\n ],\n})\nexport class TimeInputComponent\n implements OnInit, OnChanges, ControlValueAccessor\n{\n @Input() label = '';\n @Input() value = '';\n @Input() interval = 15;\n\n IconSize = IconSize;\n _value = signal('');\n private options: WritableSignal<Array<string>> = signal([]);\n\n filteredOptions: Signal<Array<string>> = computed(() => {\n return this.options().filter((option) => option.startsWith(this._value()));\n });\n\n ngOnInit() {\n this.options.set(this.getTimeRange());\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.value) {\n this._value.set(changes.value.currentValue);\n }\n }\n\n writeValue(value: string) {\n this._value.set(value);\n }\n\n onChange: any = () => {};\n\n onTouch: any = () => {};\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n getTimeRange() {\n const startTime = moment('00:00', 'HH');\n const endTime = moment('23:45', 'HH:mm:ss');\n const timeSeries = [startTime.format('HH:mm')];\n\n while (startTime.isBefore(endTime)) {\n timeSeries.push(startTime.add(this.interval, 'm').format('HH:mm'));\n }\n\n return timeSeries;\n }\n\n valueChanged(value: string) {\n this._value.set(value);\n this.onChange(value);\n this.onTouch(value);\n }\n\n autocompleteClosed() {\n if (this._value().slice(-1) === ':') {\n this._value.set(this._value() + '00');\n this.valueChanged(this._value());\n }\n }\n\n validate({ value }: FormControl) {\n // validate time format HH:mm and 24 hours and 59 minutes\n const timeRegex = /^(?:[01]\\d|2[0-3]):(?:[0-5]\\d)$/;\n\n if (timeRegex.test(value)) return null;\n else\n return {\n invalid: true,\n };\n }\n}\n","<mat-form-field class=\"kms-time-input\">\n <mat-label>{{ label }}</mat-label>\n <input\n type=\"text\"\n aria-label=\"time\"\n matInput\n kmsTime\n [matAutocomplete]=\"auto\"\n [value]=\"_value()\"\n (input)=\"valueChanged($event.target.value)\"\n />\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"valueChanged($event.option.value)\"\n (closed)=\"autocompleteClosed()\"\n >\n <mat-option *ngFor=\"let option of filteredOptions()\" [value]=\"option\">\n {{ option }}\n </mat-option>\n </mat-autocomplete>\n <kms-icon\n class=\"kms-time-input__suffix\"\n matSuffix\n icon=\"clock\"\n [iconSize]=\"IconSize.TINY\"\n ></kms-icon>\n</mat-form-field>\n","import { Component, ElementRef, forwardRef, Input, OnInit, Renderer2, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, UntypedFormBuilder, UntypedFormGroup, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NullAble } from '../../models';\n\n@Component({\n selector: 'kms-yesno-radiogroup',\n templateUrl: './yes-no-radiogroup.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => YesNoRadiogroupComponent),\n multi: true,\n },\n ],\n})\nexport class YesNoRadiogroupComponent implements OnInit, ControlValueAccessor {\n \n @Input() header: NullAble<String>;\n @Input() disabled = false;\n @Input() textYes = '';\n @Input() textNo = '';\n public form!: UntypedFormGroup;\n \n @ViewChild('child') public child?: ElementRef<HTMLInputElement>;\n\n public internalValue: NullAble<boolean>;\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public onChange: any = () => {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouch: any = () => {};\n\n get value(): NullAble<boolean> {\n return this.internalValue;\n }\n\n set value(value: NullAble<boolean>) {\n this.internalValue = value;\n if (value !== undefined && this.internalValue !== value) {\n this.onChange(value);\n this.onTouch(value);\n }\n }\n\n writeValue(value: any) {\n this.internalValue = value;\n this.value = value;\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n setDisabledState?(isDisabled: boolean) {\n if (this.child) {\n this.renderer.setProperty(this.child.nativeElement, 'disabled', isDisabled);\n }\n }\n\n constructor(public formBuilder: UntypedFormBuilder, public renderer: Renderer2) {\n \n }\n\n ngOnInit() {\n this.form = this.formBuilder.group({\n yesno: [],\n });\n\n this.form.valueChanges.subscribe((value) => {\n this.internalValue = value.yesno;\n this.onChange(value.yesno);\n });\n }\n}\n","<form [formGroup]=\"form\">\n <div>{{ header }}</div>\n <mat-radio-group [formControl]=\"form.controls['yesno']\" [disabled]=\"disabled\" #child>\n <mat-radio-button [value]=\"true\" [checked]=\"internalValue === true\"> {{ textYes }}</mat-radio-button>\n <mat-radio-button [value]=\"false\" [checked]=\"internalValue === false\"> {{ textNo }}</mat-radio-button>\n </mat-radio-group>\n</form>\n","/**\n * @copyright KMS GmbH\n */\n\nimport {\n Directive,\n EventEmitter,\n HostListener,\n Input,\n Output,\n} from '@angular/core';\n\nimport { SwipeMoveEvent, SwipeOptions, SwipeReleaseEvent } from './swipe.model';\n\n@Directive({\n selector: '[swipeDirective]',\n})\nexport class SwipeDirective {\n /**\n * Output Event that is emitted during swipe process (mouse move or touch move event).\n * Can be used for calculation purposes.\n */\n @Output() public moveEvent = new EventEmitter<SwipeMoveEvent>();\n\n /**\n * Output Event that is emitted when swipe process end (mouse up or touch end event).\n * Can be used for calculation purposes.\n */\n @Output() public releaseEvent = new EventEmitter<SwipeReleaseEvent>();\n\n private _swipeOptions: SwipeOptions | undefined;\n\n private _moveEventData: SwipeMoveEvent | undefined;\n private _startPosition = -1;\n\n private _lastPosX = 0;\n\n private _thresholdWasReached = false;\n\n private _isMobile: boolean | undefined;\n\n private _timeStart = 0;\n\n /**\n * Needed config that defines swipe behaviour.\n * @param options SwipeOptions\n */\n @Input('swipeDirective')\n set config(options: SwipeOptions) {\n if (options) {\n this._swipeOptions = options;\n }\n }\n\n @HostListener('mousedown', ['$event'])\n @HostListener('touchstart', ['$event'])\n onMouseDown(event: any) {\n this.calculateStartPosition(event);\n }\n\n @HostListener('mousemove', ['$event'])\n @HostListener('touchmove', ['$event'])\n onMove(event: any) {\n this.move(event);\n }\n\n @HostListener('mouseup', ['$event'])\n @HostListener('mouseleave', ['$event'])\n @HostListener('touchend', ['$event'])\n onRelease(event: any) {\n this.release(event);\n this.reset();\n }\n\n // ** PRIVATE ** //\n\n /**\n * Function checks if the current moving delta is inside the defined threshold.\n * Sets the flag to true if the threshold was reached once.\n */\n private checkThreshold(moveEvent: SwipeMoveEvent) {\n const percentage =\n this._swipeOptions && this._swipeOptions.swipeThresholdType === '%';\n\n if (\n !percentage &&\n this._swipeOptions &&\n moveEvent.swipeDistanceTotal < this._swipeOptions.swipeThreshold\n ) {\n return;\n } else if (\n percentage &&\n this._swipeOptions &&\n moveEvent.swipeDistancePercentage <\n this._swipeOptions.swipeThreshold / 100\n ) {\n return;\n } else {\n this._thresholdWasReached = true;\n }\n }\n\n private calculateStartPosition(event?: any) {\n // detect if touch or click\n this._isMobile = event.type === 'touchstart';\n\n // save start position\n\n if (this._swipeOptions && this._swipeOptions.swipeLocalPosition) {\n if (this._isMobile) {\n const touch: Touch = event.touches[0];\n this._startPosition = this._swipeOptions.swipeLocalPosition\n ? touch.clientX\n : touch.pageX;\n } else {\n this._startPosition = this._swipeOptions.swipeLocalPosition\n ? event.offsetX\n : event.pageX;\n }\n }\n\n this._lastPosX = this._startPosition;\n this._timeStart = event.timeStamp;\n this._thresholdWasReached = false;\n }\n\n private move(event: any) {\n // failsafe\n if (typeof event === 'undefined') {\n return;\n }\n\n let posX = 0;\n\n if (this._swipeOptions) {\n if (this._isMobile && event.type === 'touchmove') {\n const touch: Touch = event.touches[0];\n posX = this._swipeOptions.swipeLocalPosition\n ? touch.clientX\n : touch.pageX;\n } else {\n posX = this._swipeOptions.swipeLocalPosition\n ? event.offsetX\n : event.pageX;\n }\n }\n\n const offsetPerFrame: number = posX - this._lastPosX;\n const swipeDistanceTotal: number = Math.abs(posX - this._startPosition);\n const swipeDistancePercentage: number = Math.abs(\n swipeDistanceTotal / event.target.clientWidth\n );\n const timeDuration: number = Math.abs(event.timeStamp - this._timeStart);\n\n let direction: number;\n let speed: number = 1 - swipeDistanceTotal / timeDuration;\n speed = Math.max(0.1, speed);\n\n if (posX - this._startPosition > 0) {\n direction = 1; // a.k.a LTR\n } else {\n direction = -1; // a.k.a RTL\n }\n\n this._moveEventData = {\n position: posX,\n offsetPerFrame: offsetPerFrame,\n swipeDistanceTotal: swipeDistanceTotal,\n swipeDistancePercentage: swipeDistancePercentage,\n direction: direction,\n speed: speed,\n thresholdWasReached: this._thresholdWasReached,\n };\n\n this.checkThreshold(this._moveEventData);\n\n // update move delta\n this._lastPosX = posX;\n\n // inform\n this.moveEvent.emit(this._moveEventData);\n }\n\n private release(event: any) {\n // case: just a click/touch\n\n if (!this._moveEventData) {\n return;\n }\n\n const releaseEventData: SwipeReleaseEvent = {\n thresholdWasReached: this._thresholdWasReached,\n direction: this._moveEventData.direction,\n speed: this._moveEventData.speed,\n easingType: this.getEasingCurve(this._moveEventData.speed),\n target: event.currentTarget,\n };\n\n // inform\n this.releaseEvent.emit(releaseEventData);\n }\n\n private getEasingCurve(speed: number): string {\n return speed > 0.5 ? 'ease-in' : 'ease-out';\n }\n\n private reset() {\n this._startPosition = -1;\n this._thresholdWasReached = false;\n\n if (this._moveEventData) {\n this._moveEventData = undefined;\n }\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SizeDirective } from './size.directive';\nimport { GetMaxHeightDirective } from './sum-of-height.directive';\nimport { SwipeDirective } from './swipe.directive';\nimport { TimeDirective } from './time.directive';\nimport { TooltipDirective } from './tooltip.directive';\n\n@NgModule({\n declarations: [\n SwipeDirective,\n GetMaxHeightDirective,\n SizeDirective,\n TooltipDirective,\n TimeDirective,\n ],\n imports: [CommonModule],\n exports: [\n SwipeDirective,\n GetMaxHeightDirective,\n SizeDirective,\n TooltipDirective,\n TimeDirective,\n ],\n})\nexport class DirectivesModule {\n SizeDirective;\n}\n","/**\n * @copyright KMS GmbH\n */\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { Inject, Injectable, OnDestroy, PLATFORM_ID } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { NullAble } from '../models';\n\ndeclare const window: any;\ndeclare const document: any;\n\nexport class WindowDimensions {\n constructor(data?: Partial<WindowDimensions>) {\n Object.assign(this, data);\n }\n Height!: number;\n Width!: number;\n Orientation!: \"landscape\" | \"portrait\";\n}\n\nexport class SimpleBreakpoint {\n constructor(data?: Partial<SimpleBreakpoint>) {\n Object.assign(this, data);\n }\n Number!: number;\n Name!: string;\n MaximumPixels!: number;\n}\n\nexport class Breakpoint {\n constructor(data?: Partial<Breakpoint>) {\n Object.assign(this, data);\n }\n Number!: number;\n Name!: string;\n Low!: number;\n High!: number;\n}\n\n/**\n * Service to get viewport\n */\n@Injectable()\nexport class ViewportService implements OnDestroy {\n public readonly simpleBreakpoints: SimpleBreakpoint[] = [\n { Number: 0, Name: 'mobile', MaximumPixels: 768 },\n { Number: 1, Name: 'tablet', MaximumPixels: 1024 },\n { Number: 2, Name: 'desktop', MaximumPixels: 1600 },\n { Number: 3, Name: 'high', MaximumPixels: 2500 },\n ];\n\n public readonly breakpoints: Breakpoint[] = [\n {\n Number: 0,\n Name: 'xs',\n Low: 360,\n High: 990,\n },\n {\n Number: 1,\n Name: 's',\n Low: 991,\n High: 1024,\n },\n {\n Number: 2,\n Name: 'm',\n Low: 1025,\n High: 1200,\n },\n {\n Number: 3,\n Name: 'l',\n Low: 1201,\n High: 1400,\n },\n {\n Number: 4,\n Name: 'xl',\n Low: 1401,\n High: 1600,\n },\n {\n Number: 5,\n Name: 'xxl',\n Low: 1601,\n High: 1920,\n },\n {\n Number: 6,\n Name: 'xxxl',\n Low: 1921,\n High: 99999,\n },\n ];\n\n private viewportChangedSubscriber: Subject<string> = new Subject<string>();\n private viewportResizedSubscriber: Subject<number> = new Subject<number>();\n\n private currentViewport!: string;\n private currentViewportObject!: Breakpoint;\n private isBrowser = false;\n\n constructor(\n @Inject(PLATFORM_ID) private platformId: Object,\n @Inject(DOCUMENT) public document: Document\n ) {\n if (isPlatformBrowser(this.platformId)) {\n window.addEventListener('resize', this.documentSizeChanged.bind(this), {\n passive: true,\n });\n this.isBrowser = true;\n }\n }\n\n /**\n * Get document height\n */\n public getDocumentHeight(): number {\n return this.isBrowser ? document.body.clientHeight : 1200;\n }\n\n /**\n * Get document width\n */\n public getDocumentWidth(): number {\n return this.isBrowser ? document.body.clientWidth : 1200;\n }\n\n /**\n * Get window height\n */\n public getWindowHeight(): number {\n return this.isBrowser ? window.innerHeight : 1200;\n }\n\n /**\n * Get window width\n */\n public getWindowWidth(): number {\n return this.isBrowser ? window.innerWidth : 1200;\n }\n\n /**\n * Returns the current viewport MQ as string\n * @returns string\n */\n public getCurrentViewPort(): string {\n const currentWidth: number = this.isBrowser\n ? document.body.clientWidth\n : 1200;\n this.currentViewport = this.convertWidthToMediaQuery(currentWidth).Name;\n\n return this.currentViewport;\n }\n\n /**\n * Returns the current viewport MQ as object with all informations\n * @returns string\n */\n public getCurrentViewPortObject(): Breakpoint {\n const currentWidth: number = this.isBrowser\n ? document.body.clientWidth\n : 1200;\n this.currentViewportObject = this.convertWidthToMediaQuery(currentWidth);\n\n return this.currentViewportObject;\n }\n\n /**\n * Returns the current viewport as number\n * @deprecated use getCurrentViewPortDimensions instead\n * @returns string\n */\n public getCurrentViewPortNumber(): number {\n return this.isBrowser ? document.body.clientWidth : 1200;\n }\n\n /**\n * Returns the current viewport width as number\n * @returns string\n */\n public getCurrentViewPortWidth(): number {\n return this.isBrowser ? document.body.clientWidth : 1200;\n }\n\n /**\n * Returns the current viewport as number\n * @returns string\n */\n public getCurrentViewPortHeight(): number {\n return this.isBrowser ? document.body.clientHeight : 600;\n }\n\n /**\n * Returns the current viewport dimensions\n * @returns string\n */\n public getCurrentViewPortDimensions(): WindowDimensions {\n return this.isBrowser ? {Width:document.body.clientWidth,Height:document.body.clientWidth,Orientation:this.getOrientationAsString() } as WindowDimensions : {Width:800, Height:600, Orientation: \"landscape\"} as WindowDimensions;\n }\n\n /**\n * Provides mq´s as string\n */\n public getViewportChangedObserver(): Observable<string> {\n return this.viewportChangedSubscriber.asObservable();\n }\n\n /**\n * Provides the current window width as number\n */\n public getViewportResizedObserver(): Observable<number> {\n return this.viewportResizedSubscriber.asObservable();\n }\n\n /**\n * Scroll to element\n */\n public scrollToElementId(el: string, alignCenter = false) {\n if (this.isBrowser) {\n this.scrollToElement(document.querySelector('#' + el), alignCenter);\n }\n }\n\n /**\n * Helper function that scrolls to the given markup element.\n * @param el - nativeElement from markup\n * @param alignCenter - defines if the element needs to be centered on window\n */\n\n public scrollToElement(el: HTMLElement, alignCenter = false) {\n if (this.isBrowser) {\n let extraScrollTop = 0;\n\n if (alignCenter) {\n extraScrollTop = (window.innerHeight - el.clientHeight) / 2;\n }\n\n let offsetLeft = 0;\n let offsetTop = 0;\n\n let elTemp: NullAble<HTMLElement> = el;\n\n while (elTemp) {\n offsetLeft += elTemp.offsetLeft;\n offsetTop += elTemp.offsetTop;\n elTemp = elTemp.parentElement ? elTemp.parentElement : null;\n }\n\n window.scrollTo({\n left: offsetLeft,\n top: offsetTop - extraScrollTop,\n behavior: 'smooth',\n });\n }\n }\n\n /**\n * Scroll to the top position\n * @param top - top position value\n */\n public scrollTop(top: number) {\n if (this.isBrowser) {\n window.scrollTo({ left: 0, top: top, behavior: 'smooth' });\n }\n }\n\n /**\n * If orientation is portrait\n */\n public isPortrait() : boolean|undefined {\n if (this.isBrowser) return window.innerHeight > window.innerWidth;\n else return undefined;\n }\n\n /**\n * If orientation is landscape\n */\n public isLandscape() :boolean|undefined {\n if (this.isBrowser) {\n const isLandscape =\n window.orientation === 90 || window.orientation === -90;\n return isLandscape;\n } else {\n return undefined;\n }\n }\n\n /**\n * Get screen orientation (portrait/landscape)\n */\n public getOrientationAsString() : \"portrait\" | \"landscape\" {\n return this.isPortrait ? \"portrait\" : \"landscape\";\n }\n\n /**\n * If mobile breakpoint (below tablet)\n */\n public isMobile():boolean {\n return this.getCurrentViewPortNumber() < this.breakpoints[2].Low;\n }\n\n /**\n * Get height of an element\n * @deprecated\n */\n public calculateFullscreenElementsheight(\n id: string,\n defaultheight: string,\n extra: number\n ) {\n return this.calculateFullscreenElementsHeight(id, defaultheight, extra);\n }\n\n /**\n * Get height of an element\n */\n public calculateFullscreenElementsHeight(\n id: string,\n defaultheight: string,\n extra: number\n ) {\n \n if (!this.isBrowser || this.isMobile()) {\n return defaultheight;\n } else {\n const map = this.document.getElementById(id);\n const footer = this.document.getElementsByTagName('footer')[0];\n if (map && footer) {\n return `${window.innerHeight - map.offsetTop - footer.offsetHeight - extra\n }px`;\n } else {\n console.warn('could not calculate map height');\n return defaultheight;\n }\n }\n }\n\n /**\n * If viewport changed\n * @event\n */\n private documentSizeChanged(event: any) {\n const currentWindowWidth: number = event.target.innerWidth;\n // inform who´s interested\n this.viewportResizedSubscriber.next(currentWindowWidth);\n\n if (currentWindowWidth > 0) {\n for (const mqs of this.breakpoints) {\n if (currentWindowWidth > mqs.High) {\n continue;\n } else if (\n (currentWindowWidth >= mqs.Low || currentWindowWidth <= mqs.High) &&\n this.currentViewport !== mqs.Name\n ) {\n this.currentViewport = mqs.Name;\n // inform who´s interested\n this.viewportChangedSubscriber.next(mqs.Name);\n break;\n } else if (this.currentViewport === mqs.Name) {\n break;\n } else {\n console.error('ERROR');\n }\n }\n }\n }\n\n /**\n * Get the Media Query for the given width\n * @param width Width to get the according MQ for\n */\n private convertWidthToMediaQuery(width: number): Breakpoint {\n let currentViewport = this.breakpoints[0];\n\n for (const mqs of this.breakpoints) {\n if (width <= mqs.High && width >= mqs.Low) {\n currentViewport = mqs;\n break;\n }\n }\n\n return currentViewport;\n }\n\n /**\n * Get the breakpoint/device name like mobile,tablet,desktop, high\n */\n getSimpleBreakpoint(screenSize: number) :SimpleBreakpoint {\n let actualBreakpoint: SimpleBreakpoint | undefined;\n\n const sizes = this.simpleBreakpoints.slice().reverse(); // we need to reverse it to check step by step from biggest, which breakpoints still fits. Slice is a trick to not mutate the original array and make a copy\n for (const key in sizes) {\n if (screenSize < sizes[key].MaximumPixels) {\n actualBreakpoint = sizes[key];\n }\n }\n if (!actualBreakpoint) {\n actualBreakpoint = sizes[0]; // default screensize is biggest. Will be used if viewport is bigger as maximum. Remember, array is reversed\n }\n\n return actualBreakpoint;\n }\n\n ngOnDestroy() {\n if (this.isBrowser) {\n window.removeEventListener('resize', this.documentSizeChanged);\n }\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Component, HostListener, Inject, PLATFORM_ID } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\n@Component({\n selector: 'kms-back-to-top',\n templateUrl: './back-to-top.component.html',\n})\nexport class BackToTopComponent {\n windowScrolled?: boolean;\n\n constructor(@Inject(PLATFORM_ID) public platformId: Object) {}\n\n @HostListener('window:scroll', [])\n onWindowScroll() {\n if (isPlatformBrowser(this.platformId)) {\n if (\n window.scrollY ||\n document.documentElement.scrollTop ||\n document.body.scrollTop > 100\n ) {\n this.windowScrolled = true;\n } else if (\n (this.windowScrolled && window.scrollY) ||\n document.documentElement.scrollTop ||\n document.body.scrollTop < 10\n ) {\n this.windowScrolled = false;\n }\n }\n }\n\n scrollToTop() {\n if (isPlatformBrowser(this.platformId)) {\n (function smoothscroll() {\n const currentScroll =\n document.documentElement.scrollTop || document.body.scrollTop;\n if (currentScroll > 0) {\n window.requestAnimationFrame(smoothscroll);\n window.scrollTo(0, currentScroll - currentScroll / 8);\n }\n })();\n }\n }\n}\n","<div\n class=\"scrollToTop\"\n [ngClass]=\"{ show: windowScrolled }\"\n (click)=\"scrollToTop()\"\n>\n <div class=\"scrollToTop-inner\">\n <kms-icon icon=\"floating_button_clear\" iconClass=\"color-white\"></kms-icon>\n </div>\n</div>\n","export enum ButtonDialogType {\n primary = 'primary',\n secondary = 'secondary',\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Component, Inject, NgZone } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { ButtonDialogType } from './dialog-data.enum';\nimport { DialogData } from './dialog-data.model';\n\n/**\n * A confirmation dialog component\n */\n@Component({\n selector: 'kms-confirmation-dialog',\n templateUrl: './confirmation-dialog.component.html',\n styleUrls: ['./confirmation-dialog.component.scss'],\n})\nexport class ConfirmationDialogComponent {\n ButtonDialogType = ButtonDialogType;\n\n public constructor(\n public dialogRef: MatDialogRef<ConfirmationDialogComponent>,\n public zone: NgZone,\n @Inject(MAT_DIALOG_DATA) public data: DialogData\n ) {\n data.buttons ?? { primary: 'Yes', secondary: 'No' };\n data.message ?? '';\n data.panelClass ?? 'size-auto';\n }\n\n /**\n * Action called when clicked\n * @param clickedButton Whether the primary or secondary button was clicked\n */\n public onClickAction(clickedButton: ButtonDialogType): void {\n this.zone.run(() => {\n this.dialogRef.close(clickedButton);\n this.dialogRef.afterClosed().subscribe(() => {\n const buttonList = document.querySelectorAll(\n '.mat-flat-button, .mat-button'\n );\n let i = 0;\n for (i; i < buttonList.length; i++) {\n buttonList[i].classList.remove('cdk-focused');\n buttonList[i].classList.remove('cdk-program-focused');\n }\n });\n });\n }\n}\n","<div class=\"dialog-container\">\n <div class=\"dialog-header\">\n <h4>{{ data.title }}</h4>\n </div>\n <div class=\"dialog-content\">\n {{ data.message }}\n </div>\n <div class=\"dialog-footer\">\n <button\n mat-flat-button\n color=\"accent\"\n (click)=\"onClickAction(ButtonDialogType.secondary)\"\n >\n {{ data.buttons.secondary }}\n </button>\n <button\n mat-flat-button\n color=\"primary\"\n (click)=\"onClickAction(ButtonDialogType.primary)\"\n >\n {{ data.buttons.primary }}\n </button>\n </div>\n</div>\n","import {\n Component,\n forwardRef,\n Input,\n OnChanges,\n OnInit,\n Renderer2,\n SimpleChanges,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n FormArray,\n NG_VALUE_ACCESSOR,\n UntypedFormBuilder,\n} from '@angular/forms';\nimport { EnumValues } from 'enum-values/src/enumValues';\nimport { FormControlParentComponent } from '../../parent-components/form-control.component';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\n\n/**\n * Dropdown from data component {@link https://leaseplan-dev.rentoffice.de/styleguide#ui-elements}\n */\n@Component({\n selector: 'kms-dropdown-from-data',\n templateUrl: './dropdown-from-data.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DropdownFromDataComponent),\n multi: true,\n },\n ],\n})\nexport class DropdownFromDataComponent\n extends FormControlParentComponent\n implements OnInit, ControlValueAccessor, OnChanges\n{\n // structured data as a enum set. Can be used in combination with 'optionsPlainArray' to set diferent values by index\n @Input() optionsEnum: any;\n\n // structured data as a simple array of elements\n @Input() optionsPlainArray: any;\n\n // structured data as an array of objects used in combination with the input 'mapKey' and 'mapValue'\n @Input() optionsObjArray: any;\n // key identifier of the obj. If mapValue doesnt exist, mapKey is also the value\n @Input() mapKey?: any;\n // value identifier of the obj\n @Input() mapValue?: any;\n\n // options for the dropdown have a null value at the beginning of the array\n @Input() hasNullOption = false;\n\n // preselected keys of the dropdown\n @Input() preselectedKeys: any;\n\n // translation object for the label and placeholder\n @Input() translation?: ITranslation;\n @Input() placeholder = '';\n @Input() label = '';\n @Input() required = false;\n @Input() useEnumIndexAsValue = false;\n\n // multiple selection\n @Input() multiple = false;\n\n @Input() control?: AbstractControl;\n @Input() selectAllText?: string;\n @Input() disableOptions = false;\n\n public keys: any[] = [];\n public values: any[] = [];\n\n Object = Object;\n\n constructor(\n public formBuilder: UntypedFormBuilder,\n public renderer: Renderer2\n ) {\n super(formBuilder, renderer);\n }\n\n /**\n * Hook used to sync changes on set Label and Type\n * @param changes\n */\n ngOnChanges(changes: SimpleChanges) {\n if (changes.optionsPlainArray) {\n this.values = this.optionsPlainArray;\n this.keys = this.optionsPlainArray;\n }\n this.setKeyValues();\n }\n\n ngOnInit() {\n this.form = this.formBuilder.group({\n dropdownData: [],\n });\n this.formInitialized = true;\n\n this.form.valueChanges.subscribe((value) => {\n this.internalValue = value.dropdownData;\n this.onChange(value.dropdownData);\n });\n\n if (this.preselectedKeys)\n this.form.patchValue({\n dropdownData: this.preselectedKeys,\n });\n\n super.ngOnInit();\n }\n\n /**\n * transofrms the data values to the correct format for be used by the template\n * @param value\n */\n private setKeyValues(): void {\n if (this.optionsObjArray && this.mapKey && this.mapValue) {\n this.keys = this.optionsObjArray.map((obj: any) => obj[`${this.mapKey}`]);\n this.values = this.optionsObjArray.map(\n (obj: any) => obj[`${this.mapValue}`]\n );\n } else if (this.optionsObjArray && this.mapKey) {\n this.keys = this.optionsObjArray.map((obj: any) => obj[`${this.mapKey}`]);\n this.values = this.optionsObjArray.map(\n (obj: any) => obj[`${this.mapKey}`]\n );\n }\n if (this.optionsEnum) {\n this.keys = EnumValues.getNames(this.optionsEnum);\n if (this.optionsPlainArray) {\n this.values = this.optionsPlainArray;\n } else {\n const values = EnumValues.getValues(this.optionsEnum);\n\n // var who defines if enum is componed just with keys or keyValues. E.g enum KeyEnum { VALUE1, VALUE2 } or enum KeyValueEnum { VALUE4 = 'V4', VALUE5 = 'V5' }\n let keyValueEnum = false;\n\n for (let i = 0; i < this.keys.length; i++) {\n if (i !== values[i]) {\n keyValueEnum = true;\n }\n }\n if (keyValueEnum || this.useEnumIndexAsValue) {\n this.values = values;\n } else {\n this.values = EnumValues.getNames(this.optionsEnum);\n }\n }\n }\n if (this.hasNullOption === true) this.keys.unshift(null);\n if (this.hasNullOption === true) this.values.unshift(null);\n }\n\n /**\n * set the value of the dropdown based if translation is set\n * @param key\n */\n public setDisplayKey(key: any) {\n if (this.translation) {\n if (this.translation.isPrefix) {\n return this.translation.service?.instant?.(\n this.translation.path + '.' + key\n );\n } else if (this.translation.useKeyAsValue) {\n return this.translation.service?.instant?.(this.translation.path, {\n key: key,\n });\n } else {\n return this.translation.service?.instant?.(this.translation.path);\n }\n }\n return key;\n }\n\n valueChanged(value: any) {\n this.form.patchValue({\n dropdownData: value,\n });\n this.onSelectItemEmitter.emit(value);\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n get selectedElements() {\n return this.form.controls.dropdownData as FormArray;\n }\n\n allElementsChecked(): boolean {\n return (\n this.values && this.selectedElements?.value?.length === this.values.length\n );\n }\n\n isCheckboxIndeterminate(): boolean {\n return Boolean(\n this.values &&\n this.selectedElements?.value?.length < this.values.length &&\n this.selectedElements?.value?.length !== 0\n );\n }\n\n toggleAllSelection(change: MatCheckboxChange): void {\n if (change.checked) {\n this.checkAllFilters();\n } else {\n this.form.controls.dropdownData.setValue([]);\n }\n }\n\n checkAllFilters() {\n if (this.values) {\n this.form.controls.dropdownData.setValue(this.values);\n }\n }\n}\n\n/**\n * Interface that defines the translation object in template\n */\ninterface ITranslation {\n path: string;\n isPrefix?: boolean;\n useKeyAsValue?: boolean;\n service: any;\n}\n","<form [formGroup]=\"form\">\n <mat-form-field\n [attr.required]=\"required\"\n [floatLabel]=\"placeholder ? 'always' : 'auto'\"\n >\n <mat-label>{{ label }}</mat-label>\n <mat-select\n placeholder=\"{{ placeholder }}\"\n disableOptionCentering\n [(value)]=\"control?.value ? control.value : value\"\n (selectionChange)=\"valueChanged($event?.value)\"\n #child\n [disabled]=\"disabled\"\n [multiple]=\"multiple\"\n >\n <mat-checkbox\n *ngIf=\"selectAllText && !disableOptions\"\n color=\"accent\"\n class=\"dropdown-from-data__checkbox\"\n [indeterminate]=\"isCheckboxIndeterminate()\"\n [checked]=\"allElementsChecked()\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"toggleAllSelection($event)\"\n >\n {{ selectAllText }}\n </mat-checkbox>\n <mat-option\n *ngFor=\"let key of keys; let i = index\"\n [value]=\"values[i]\"\n [disabled]=\"disableOptions\"\n >\n <span *ngIf=\"(hasNullOption && i != 0) || !hasNullOption\">{{\n setDisplayKey(key)\n }}</span>\n </mat-option>\n </mat-select>\n </mat-form-field>\n</form>\n","/**\n * @copyright KMS GmbH\n */\n\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n} from '@angular/core';\nimport { SwiperContainer, register } from 'swiper/element/bundle';\nimport { ImageSnippet } from '../../models/image-snippet';\n\nregister();\n\n@Component({\n selector: 'kms-image-slider',\n templateUrl: './image-slider.component.html',\n})\nexport class ImageSliderComponent implements OnChanges, AfterViewInit {\n @Input() slides!: string[];\n @Input() editMode = false;\n @Input() imagesToSave?: ImageSnippet[];\n @Output() deleteImageEvent: EventEmitter<number> = new EventEmitter();\n @Output() orderChanged: EventEmitter<ImageSnippet[]> = new EventEmitter();\n\n constructor(private el: ElementRef) {}\n\n ngAfterViewInit() {\n this.initializeSwipers();\n }\n\n ngOnChanges() {\n this.updateSwipers();\n }\n\n initializeSwipers() {\n const swiper1 = this.el.nativeElement.children[0]\n .children[0] as SwiperContainer;\n const swiper2 = this.el.nativeElement.children[0]\n .children[1] as SwiperContainer;\n\n Object.assign(swiper1, {\n slidesPerView: 1,\n navigation: true,\n thumbs: {\n swiper: swiper2,\n },\n pagination: {\n clickable: true,\n },\n });\n\n Object.assign(swiper2, {\n slidesPerView: 4,\n freeMode: true,\n navigation: true,\n });\n\n swiper1.initialize();\n swiper2.initialize();\n }\n\n updateSwipers(delayMs = 100) {\n const swiper1 = this.el.nativeElement.children[0]\n .children[0] as SwiperContainer;\n const swiper2 = this.el.nativeElement.children[0]\n .children[1] as SwiperContainer;\n\n if (swiper1.swiper && swiper2.swiper) {\n setTimeout(() => {\n swiper1.swiper.update();\n swiper2.swiper.update();\n }, delayMs);\n }\n }\n\n deleteImage(index: number) {\n this.deleteImageEvent.emit(index);\n this.updateSwipers(2500);\n }\n\n onOrderChanged(event: CdkDragDrop<string[]>) {\n if (this.slides && this.imagesToSave) {\n moveItemInArray(this.slides, event.previousIndex, event.currentIndex);\n moveItemInArray(\n this.imagesToSave,\n event.previousIndex,\n event.currentIndex\n );\n this.orderChanged.emit(this.imagesToSave);\n this.updateSwipers();\n }\n }\n}\n","<div class=\"image-slider-container\">\n <swiper-container\n class=\"swiper-main-view-container\"\n thumbs-swiper=\".swiper-carousel-container\"\n >\n <swiper-slide *ngFor=\"let slide of slides\">\n <img [src]=\"slide\" loading=\"lazy\" />\n </swiper-slide>\n </swiper-container>\n\n <swiper-container\n class=\"swiper-carousel-container\"\n thumbsSlider=\"\"\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"onOrderChanged($event)\"\n >\n <swiper-slide\n *ngFor=\"let slide of slides; let index = index\"\n [class.swiper-slide-default]=\"index === 0 && editMode\"\n >\n <div *ngIf=\"editMode\">\n <button cdkDrag class=\"drag-button\" mat-menu-item></button>\n <button\n class=\"delete-button\"\n mat-menu-item\n (click)=\"deleteImage(index)\"\n >\n <kms-icon icon=\"trash\" [size]=\"15\"></kms-icon>\n </button>\n </div>\n <img [src]=\"slide\" loading=\"lazy\" />\n <div class=\"swiper-slide-default-text\" *ngIf=\"index === 0 && editMode\">\n {{ 'common.defaultImage' | translate }}\n </div>\n </swiper-slide>\n </swiper-container>\n</div>\n","/**\n * General Image Model\n */\nexport class ImageSnippet {\n status = 'init';\n constructor(\n public src: string,\n public fileName: string,\n public srcType = ImageSourceType.ByteArray,\n ) {}\n }\n\nexport enum ImageSourceType {\n Ident = 'Idnet',\n ByteArray = 'ByteArray',\n URL = 'URL'\n}\n","/**\n * Attached File DTO\n */\nexport class AttachedFileDTO {\n ImageIdent?: string;\n ImageLink?: string;\n Filename?: string;\n ImageAsDataURL?: string;\n CreateSmallImage?: boolean;\n Text?: string;\n}\n","/**\n * @copyright KMS GmbH\n */\n\nexport type NullAble<T> = T | null | undefined;\n","import { Component, forwardRef, OnInit, Renderer2 } from '@angular/core';\nimport { ControlValueAccessor, UntypedFormBuilder, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { isValue } from '../../models';\nimport { SalutationEnum } from '../../models/salutation.enum';\nimport { FormControlParentComponent } from '../../parent-components/form-control.component';\n\n@Component({\n selector: 'kms-salutation-radiogroup',\n templateUrl: './salutation-radiogroup.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SalutationRadiogroupComponent),\n multi: true,\n },\n ],\n})\nexport class SalutationRadiogroupComponent extends FormControlParentComponent implements OnInit, ControlValueAccessor {\n \n //For view\n SalutationEnum = SalutationEnum;\n Object = Object;\n\n constructor(public formBuilder: UntypedFormBuilder, public renderer: Renderer2) {\n super(formBuilder, renderer);\n }\n\n ngOnInit() {\n this.form = this.formBuilder.group({\n salut: [isValue(this.value) ? this.value : '', null],\n });\n this.formInitialized = true;\n\n this.form.valueChanges.subscribe((value) => {\n this.internalValue = value.salut;\n this.onChange(value.salut);\n });\n\n super.ngOnInit();\n }\n}\n","<form [formGroup]=\"form\" >\n <mat-radio-group [formControl]=\"form.controls['salut']\" [disabled]=\"disabled\" #radioGroup>\n <mat-radio-button color=\"primary\" [value]=\"SalutationEnum.NOT_SPECIFIED\" [checked]=\"value === SalutationEnum.NOT_SPECIFIED\">\n {{ 'general.salutation.' + Object.keys(SalutationEnum)[0]?.toLowerCase() | translate }}\n </mat-radio-button>\n <mat-radio-button color=\"primary\" [value]=\"SalutationEnum.MALE\" [checked]=\"value === SalutationEnum.MALE\">\n {{ 'general.salutation.' + Object.keys(SalutationEnum)[1]?.toLowerCase() | translate }}\n </mat-radio-button>\n <mat-radio-button color=\"primary\" [value]=\"SalutationEnum.FEMALE\" [checked]=\"value === SalutationEnum.FEMALE\">\n {{ 'general.salutation.' + Object.keys(SalutationEnum)[2]?.toLowerCase() | translate }}\n </mat-radio-button>\n </mat-radio-group>\n</form>","/**\n * @copyright KMS GmbH\n */\n\nimport {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MatSlideToggleChange } from '@angular/material/slide-toggle';\n\n@Component({\n selector: 'kms-slide-toggle',\n templateUrl: './slide-toggle.component.html',\n styleUrls: ['./slide-toggle.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SlideToggleComponent),\n multi: true,\n },\n ],\n})\nexport class SlideToggleComponent implements ControlValueAccessor {\n @Input() leftLabel?: string;\n @Input() rightLabel?: string;\n @Input() checked = false;\n @Input() disabled = false;\n\n @Input() name = '';\n\n @Output() change = new EventEmitter();\n\n onChange: any = () => {};\n\n onTouch: any = () => {};\n\n get value(): boolean {\n return this.checked;\n }\n\n set value(value: boolean) {\n this.checked = value;\n this.onChange(value);\n this.onTouch(value);\n }\n\n writeValue(value: any) {\n this.value = value;\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n emitOnChange($event: MatSlideToggleChange) {\n this.change.emit($event.checked);\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<div class=\"kms-slide-toggle\">\n <mat-label\n *ngIf=\"leftLabel\"\n class=\"kms-slide-toggle__label\"\n [class.kms-slide-toggle__label--bold]=\"rightLabel && !checked\"\n >{{ leftLabel }}</mat-label\n >\n <mat-slide-toggle\n [name]=\"name\"\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [hideIcon]=\"true\"\n (change)=\"emitOnChange($event)\"\n />\n <mat-label\n *ngIf=\"rightLabel\"\n class=\"kms-slide-toggle__label\"\n [class.kms-slide-toggle__label--bold]=\"leftLabel && checked\"\n >{{ rightLabel }}</mat-label\n >\n</div>\n","/**\n * @copyright KMS GmbH\n */\n\nimport { ChangeContext, Options } from '@angular-slider/ngx-slider';\nimport {\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n Output,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'kms-slider',\n templateUrl: './slider.component.html',\n styleUrls: ['./slider.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SliderComponent),\n multi: true,\n },\n ],\n})\nexport class SliderComponent implements ControlValueAccessor {\n @HostBinding('class.kms-slider') kmsSliderClass = true;\n @HostBinding('class.kms-slider--disabled') get disabledClass() {\n return this.disabled;\n }\n\n @Input() disabled = false;\n @Input() options: Options = {};\n @Input() max: number;\n\n @Output() change: EventEmitter<ChangeContext> = new EventEmitter();\n\n private _value = 0;\n\n onChange: any = () => {};\n\n onTouch: any = () => {};\n\n get value(): number {\n return this._value;\n }\n\n set value(value: number) {\n this._value = value;\n this.onChange(value);\n this.onTouch(value);\n }\n\n writeValue(value: any) {\n this._value = value;\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n emitOnChange($event: any) {\n this.change.emit($event);\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<ngx-slider\n [(value)]=\"value\"\n [options]=\"options\"\n [highValue]=\"max\"\n (userChangeEnd)=\"change.emit($event)\"\n></ngx-slider>\n","import { CommonModule } from '@angular/common';\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\n\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { KmsUiPresentationalComponent } from './kms-ngx-ui-presentational.component';\nimport { CheckboxComponent } from './ui/checkbox/checkbox.component';\n\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { CustomPipesModule } from './pipes/custom-pipes.module';\nimport { ColorInputComponent } from './ui/color-input/color-input.component';\nimport { EnumRadiogroupComponent } from './ui/enum-radiogroup/enum-radiogroup.component';\nimport { FileInputComponent } from './ui/file-input/file-input.component';\nimport { FlyoutComponent } from './ui/flyout/flyout.component';\nimport { IconComponent } from './ui/icon/icon.component';\nimport { KMSAccordionItemComponent } from './ui/kms-accordion-item/kms-accordion-item.component';\nimport { LoaderComponent } from './ui/loader/loader.component';\nimport { MapComponent } from './ui/map/map.component';\nimport { RadioButtonComponent } from './ui/radiobutton/radiobutton.component';\nimport { SalutationDropdownComponent } from './ui/salutation-dropdown/salutation-dropdown.component';\nimport { TimeInputComponent } from './ui/time-input/time-input.component';\nimport { TooltipIconComponent } from './ui/tooltip-icon/tooltip-icon.component';\nimport { YesNoRadiogroupComponent } from './ui/yes-no-radiogroup/yes-no-radiogroup.component';\n\nimport { NgxSliderModule } from '@angular-slider/ngx-slider';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { GoogleMapsModule } from '@angular/google-maps';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { DirectivesModule } from './directives/directives.module';\nimport { ViewportService } from './services/viewport.service';\nimport { BackToTopComponent } from './ui/back-to-top/back-to-top.component';\nimport { ConfirmationDialogComponent } from './ui/confirmation-dialog/confirmation-dialog.component';\nimport { DropdownFromDataComponent } from './ui/dropdown-from-data/dropdown-from-data.component';\nimport { ImageSliderComponent } from './ui/image-slider/image-slider.component';\nimport { SalutationRadiogroupComponent } from './ui/salutation-radiogroup/salutation-radiogroup.component';\nimport { SlideToggleComponent } from './ui/slide-toggle/slide-toggle.component';\nimport { SliderComponent } from './ui/slider/slider.component';\n\n@NgModule({\n declarations: [\n BackToTopComponent,\n CheckboxComponent,\n ColorInputComponent,\n DropdownFromDataComponent,\n EnumRadiogroupComponent,\n EnumRadiogroupComponent,\n FileInputComponent,\n FlyoutComponent,\n ConfirmationDialogComponent,\n IconComponent,\n ImageSliderComponent,\n KMSAccordionItemComponent,\n KmsUiPresentationalComponent,\n LoaderComponent,\n MapComponent,\n RadioButtonComponent,\n SalutationDropdownComponent,\n SalutationRadiogroupComponent,\n SlideToggleComponent,\n TimeInputComponent,\n TooltipIconComponent,\n YesNoRadiogroupComponent,\n SliderComponent,\n ],\n imports: [\n CommonModule,\n DragDropModule,\n MatCheckboxModule,\n MatButtonModule,\n MatRadioModule,\n MatDialogModule,\n FormsModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatInputModule,\n MatMenuModule,\n CustomPipesModule,\n GoogleMapsModule,\n MatExpansionModule,\n MatSelectModule,\n MatProgressSpinnerModule,\n DirectivesModule,\n MatSlideToggleModule,\n TranslateModule,\n MatTooltipModule,\n NgxSliderModule,\n MatAutocompleteModule,\n ],\n exports: [\n BackToTopComponent,\n CheckboxComponent,\n ColorInputComponent,\n DropdownFromDataComponent,\n EnumRadiogroupComponent,\n EnumRadiogroupComponent,\n FileInputComponent,\n FlyoutComponent,\n ConfirmationDialogComponent,\n IconComponent,\n ImageSliderComponent,\n KMSAccordionItemComponent,\n KmsUiPresentationalComponent,\n LoaderComponent,\n MapComponent,\n RadioButtonComponent,\n SalutationDropdownComponent,\n SalutationRadiogroupComponent,\n SlideToggleComponent,\n TimeInputComponent,\n TooltipIconComponent,\n YesNoRadiogroupComponent,\n SliderComponent,\n ],\n providers: [ViewportService],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class KmsUiPresentationalModule {}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class KmsUiPresentationalService {\n\n constructor() { }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nexport enum ButtonResponseType {\n primary = 'primary',\n secondary = 'secondary',\n}\n","/*\n * Public API Surface of kms-ngx-ui-presentational\n */\n\nexport * from './lib/kms-ngx-ui-presentational.component';\nexport * from './lib/kms-ngx-ui-presentational.module';\nexport * from './lib/kms-ngx-ui-presentational.service';\n\nexport * from './lib/services/viewport.service';\n\nexport * from './lib/models/button-response-types.enum';\nexport * from './lib/models/iconSize.enum';\nexport * from './lib/models/image-snippet.model';\nexport * from './lib/models/salutation.enum';\n\nexport * from './lib/models/types/nullable.type';\n\nexport * from './lib/ui/back-to-top/back-to-top.component';\nexport * from './lib/ui/checkbox/checkbox.component';\nexport * from './lib/ui/color-input/color-input.component';\nexport * from './lib/ui/confirmation-dialog/confirmation-dialog.component';\nexport * from './lib/ui/confirmation-dialog/dialog-data.model';\nexport * from './lib/ui/dropdown-from-data/dropdown-from-data.component';\nexport * from './lib/ui/enum-radiogroup/enum-radiogroup.component';\nexport * from './lib/ui/file-input/file-input.component';\nexport * from './lib/ui/flyout/flyout.component';\nexport * from './lib/ui/icon/icon.component';\nexport * from './lib/ui/image-slider/image-slider.component';\nexport * from './lib/ui/kms-accordion-item/kms-accordion-item.component';\nexport * from './lib/ui/loader/loader.component';\nexport * from './lib/ui/map/map.component';\nexport * from './lib/ui/radiobutton/radiobutton.component';\nexport * from './lib/ui/salutation-dropdown/salutation-dropdown.component';\nexport * from './lib/ui/salutation-radiogroup/salutation-radiogroup.component';\nexport * from './lib/ui/slide-toggle/slide-toggle.component';\nexport * from './lib/ui/slider/slider.component';\nexport * from './lib/ui/slider/slider.model';\nexport * from './lib/ui/time-input/time-input.component';\nexport * from './lib/ui/tooltip-icon/tooltip-icon.component';\nexport * from './lib/ui/yes-no-radiogroup/yes-no-radiogroup.component';\n\nexport * from './lib/directives/directives.module';\nexport * from './lib/directives/size.directive';\nexport * from './lib/directives/sum-of-height.directive';\nexport * from './lib/directives/swipe.directive';\nexport * from './lib/directives/time.directive';\nexport * from './lib/directives/tooltip.directive';\n\nexport * from './lib/pipes/custom-pipes.module';\nexport * from './lib/pipes/integer-currency.pipe';\nexport * from './lib/pipes/safe-html.pipe';\nexport * from './lib/pipes/safe-resource-url.pipe';\nexport * from './lib/pipes/safe-url.pipe';\nexport * from './lib/pipes/trim.pipe';\nexport * from './lib/pipes/typeof.pipe';\n\nexport * from './lib/parent-components/form.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1","IconSize","i1.SizeDirective","i2.TooltipDirective","i3.IconComponent","i3","i5.TooltipIconComponent","i4","i4.SizeDirective","i5.IconComponent","i2.GetMaxHeightDirective","i3.SizeDirective","i4.IconComponent","i5.SafeHtmlPipe","i5","i5.TimeDirective","i6","i7.IconComponent","i2.IconComponent"],"mappings":"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"}
@@ -16,7 +16,7 @@ export declare class CheckboxComponent implements ControlValueAccessor {
16
16
  change: EventEmitter<any>;
17
17
  valueChanged(value: boolean): void;
18
18
  onChange: any;
19
- onTouch: any;
19
+ onTouched: any;
20
20
  writeValue(value: any): void;
21
21
  registerOnChange(fn: any): void;
22
22
  registerOnTouched(fn: any): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kms-ngx-ui/presentational",
3
- "version": "16.14.2",
3
+ "version": "16.14.3",
4
4
  "peerDependencies": {
5
5
  "@angular-slider/ngx-slider": "16.0.1",
6
6
  "@angular/cdk": "~16.2.12",