@kms-ngx-ui/presentational 0.0.23 → 0.0.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/bundles/kms-ngx-ui-presentational.umd.js +257 -134
  2. package/bundles/kms-ngx-ui-presentational.umd.js.map +1 -1
  3. package/esm2015/lib/directives/directives.module.js +8 -3
  4. package/esm2015/lib/directives/size.directive.js +21 -0
  5. package/esm2015/lib/parent-components/colorable.component.js +35 -0
  6. package/esm2015/lib/parent-components/form-control.component.js +4 -3
  7. package/esm2015/lib/parent-components/form.component.js +36 -15
  8. package/esm2015/lib/services/viewport.service.js +66 -40
  9. package/esm2015/lib/ui/back-to-top/back-to-top.component.js +1 -1
  10. package/esm2015/lib/ui/file-input/file-input.component.js +6 -6
  11. package/esm2015/lib/ui/flyout/flyout.component.js +5 -4
  12. package/esm2015/lib/ui/icon/icon.component.js +5 -2
  13. package/esm2015/lib/ui/icon/iconSize.enum.js +12 -1
  14. package/esm2015/lib/ui/image-slider/image-slider.component.js +1 -1
  15. package/esm2015/lib/ui/kms-accordion-item/kms-accordion-item.component.js +1 -1
  16. package/esm2015/lib/ui/map/map.component.js +2 -2
  17. package/esm2015/lib/ui/radiobutton/radiobutton.component.js +7 -3
  18. package/esm2015/lib/ui/tooltip-icon/tooltip-icon.component.js +5 -4
  19. package/esm2015/public-api.js +2 -1
  20. package/fesm2015/kms-ngx-ui-presentational.js +242 -123
  21. package/fesm2015/kms-ngx-ui-presentational.js.map +1 -1
  22. package/lib/directives/directives.module.d.ts +4 -2
  23. package/lib/directives/size.directive.d.ts +10 -0
  24. package/lib/parent-components/colorable.component.d.ts +10 -0
  25. package/lib/parent-components/form.component.d.ts +11 -5
  26. package/lib/services/viewport.service.d.ts +13 -4
  27. package/lib/ui/file-input/file-input.component.d.ts +2 -2
  28. package/lib/ui/icon/icon.component.d.ts +7 -1
  29. package/lib/ui/icon/iconSize.enum.d.ts +10 -0
  30. package/lib/ui/radiobutton/radiobutton.component.d.ts +2 -1
  31. package/lib/ui/tooltip-icon/tooltip-icon.component.d.ts +2 -2
  32. package/package.json +1 -1
  33. package/public-api.d.ts +1 -0
  34. package/src/lib/ui/back-to-top/back-to-top.component.scss +2 -3
  35. package/src/lib/ui/icon/icon.component.scss +2 -36
  36. package/src/styles/animations.scss +47 -0
  37. package/src/styles/styles.scss +1 -0
@@ -7,6 +7,7 @@ import { MouseWheelDirective } from './mousewheel.directive';
7
7
  import { GetMaxHeightDirective } from './sum-of-height.directive';
8
8
  import { SwipeDirective } from './swipe.directive';
9
9
  import { TooltipDirective } from './tooltip.directive';
10
+ import { SizeDirective } from './size.directive';
10
11
  import * as i0 from "@angular/core";
11
12
  export class DirectivesModule {
12
13
  }
@@ -14,10 +15,12 @@ DirectivesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version
14
15
  DirectivesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DirectivesModule, declarations: [SwipeDirective,
15
16
  MouseWheelDirective,
16
17
  GetMaxHeightDirective,
17
- TooltipDirective], imports: [CommonModule], exports: [SwipeDirective,
18
+ TooltipDirective,
19
+ SizeDirective], imports: [CommonModule], exports: [SwipeDirective,
18
20
  MouseWheelDirective,
19
21
  GetMaxHeightDirective,
20
- TooltipDirective] });
22
+ TooltipDirective,
23
+ SizeDirective] });
21
24
  DirectivesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DirectivesModule, imports: [[CommonModule]] });
22
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DirectivesModule, decorators: [{
23
26
  type: NgModule,
@@ -27,6 +30,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
27
30
  MouseWheelDirective,
28
31
  GetMaxHeightDirective,
29
32
  TooltipDirective,
33
+ SizeDirective,
30
34
  ],
31
35
  imports: [CommonModule],
32
36
  exports: [
@@ -34,7 +38,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
34
38
  MouseWheelDirective,
35
39
  GetMaxHeightDirective,
36
40
  TooltipDirective,
41
+ SizeDirective,
37
42
  ],
38
43
  }]
39
44
  }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbXMtbmd4LXVpLXByZXNlbnRhdGlvbmFsL3NyYy9saWIvZGlyZWN0aXZlcy9kaXJlY3RpdmVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFpQnZELE1BQU0sT0FBTyxnQkFBZ0I7OzhHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixpQkFiekIsY0FBYztRQUNkLG1CQUFtQjtRQUNuQixxQkFBcUI7UUFDckIsZ0JBQWdCLGFBRVIsWUFBWSxhQUVwQixjQUFjO1FBQ2QsbUJBQW1CO1FBQ25CLHFCQUFxQjtRQUNyQixnQkFBZ0I7K0dBR1AsZ0JBQWdCLFlBUmxCLENBQUMsWUFBWSxDQUFDOzRGQVFaLGdCQUFnQjtrQkFmNUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRTt3QkFDUCxjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIscUJBQXFCO3dCQUNyQixnQkFBZ0I7cUJBQ2pCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBjb3B5cmlnaHQgS01TIEdtYkhcclxuICovXHJcblxyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgTW91c2VXaGVlbERpcmVjdGl2ZSB9IGZyb20gJy4vbW91c2V3aGVlbC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBHZXRNYXhIZWlnaHREaXJlY3RpdmUgfSBmcm9tICcuL3N1bS1vZi1oZWlnaHQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU3dpcGVEaXJlY3RpdmUgfSBmcm9tICcuL3N3aXBlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuL3Rvb2x0aXAuZGlyZWN0aXZlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTd2lwZURpcmVjdGl2ZSxcclxuICAgIE1vdXNlV2hlZWxEaXJlY3RpdmUsXHJcbiAgICBHZXRNYXhIZWlnaHREaXJlY3RpdmUsXHJcbiAgICBUb29sdGlwRGlyZWN0aXZlLFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgU3dpcGVEaXJlY3RpdmUsXHJcbiAgICBNb3VzZVdoZWVsRGlyZWN0aXZlLFxyXG4gICAgR2V0TWF4SGVpZ2h0RGlyZWN0aXZlLFxyXG4gICAgVG9vbHRpcERpcmVjdGl2ZSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlyZWN0aXZlc01vZHVsZSB7fVxyXG4iXX0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbXMtbmd4LXVpLXByZXNlbnRhdGlvbmFsL3NyYy9saWIvZGlyZWN0aXZlcy9kaXJlY3RpdmVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBbUJqRCxNQUFNLE9BQU8sZ0JBQWdCOzs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0IsaUJBZnpCLGNBQWM7UUFDZCxtQkFBbUI7UUFDbkIscUJBQXFCO1FBQ3JCLGdCQUFnQjtRQUNoQixhQUFhLGFBRUwsWUFBWSxhQUVwQixjQUFjO1FBQ2QsbUJBQW1CO1FBQ25CLHFCQUFxQjtRQUNyQixnQkFBZ0I7UUFDaEIsYUFBYTsrR0FHSixnQkFBZ0IsWUFUbEIsQ0FBQyxZQUFZLENBQUM7NEZBU1osZ0JBQWdCO2tCQWpCNUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3dCQUNoQixhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFO3dCQUNQLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLGdCQUFnQjt3QkFDaEIsYUFBYTtxQkFDZDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAY29weXJpZ2h0IEtNUyBHbWJIXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE1vdXNlV2hlZWxEaXJlY3RpdmUgfSBmcm9tICcuL21vdXNld2hlZWwuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgR2V0TWF4SGVpZ2h0RGlyZWN0aXZlIH0gZnJvbSAnLi9zdW0tb2YtaGVpZ2h0LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFN3aXBlRGlyZWN0aXZlIH0gZnJvbSAnLi9zd2lwZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnLi90b29sdGlwLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNpemVEaXJlY3RpdmUgfSBmcm9tICcuL3NpemUuZGlyZWN0aXZlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTd2lwZURpcmVjdGl2ZSxcclxuICAgIE1vdXNlV2hlZWxEaXJlY3RpdmUsXHJcbiAgICBHZXRNYXhIZWlnaHREaXJlY3RpdmUsXHJcbiAgICBUb29sdGlwRGlyZWN0aXZlLFxyXG4gICAgU2l6ZURpcmVjdGl2ZSxcclxuICBdLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFN3aXBlRGlyZWN0aXZlLFxyXG4gICAgTW91c2VXaGVlbERpcmVjdGl2ZSxcclxuICAgIEdldE1heEhlaWdodERpcmVjdGl2ZSxcclxuICAgIFRvb2x0aXBEaXJlY3RpdmUsXHJcbiAgICBTaXplRGlyZWN0aXZlLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEaXJlY3RpdmVzTW9kdWxlIHtTaXplRGlyZWN0aXZlfVxyXG4iXX0=
@@ -0,0 +1,21 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class SizeDirective {
4
+ constructor(elementRef) {
5
+ this.elementRef = elementRef;
6
+ this.size = '';
7
+ }
8
+ ngOnInit() {
9
+ this.elementRef.nativeElement.style.width(this.size + 'px');
10
+ this.elementRef.nativeElement.style.height(this.size + 'px');
11
+ }
12
+ }
13
+ SizeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SizeDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
14
+ SizeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: SizeDirective, selector: "[size]", inputs: { size: "size" }, ngImport: i0 });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SizeDirective, decorators: [{
16
+ type: Directive,
17
+ args: [{ selector: '[size]' }]
18
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { size: [{
19
+ type: Input
20
+ }] } });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbXMtbmd4LXVpLXByZXNlbnRhdGlvbmFsL3NyYy9saWIvZGlyZWN0aXZlcy9zaXplLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHN0QsTUFBTSxPQUFPLGFBQWE7SUFFdEIsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQURqQyxTQUFJLEdBQVcsRUFBRSxDQUFDO0lBQ21CLENBQUM7SUFFL0MsUUFBUTtRQUNKLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDakUsQ0FBQzs7MkdBUFEsYUFBYTsrRkFBYixhQUFhOzRGQUFiLGFBQWE7a0JBRHpCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFO2lHQUVwQixJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbc2l6ZV0nIH0pXHJcbmV4cG9ydCBjbGFzcyBTaXplRGlyZWN0aXZlIHtcclxuICAgIEBJbnB1dCgpIHNpemU6IHN0cmluZyA9ICcnO1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7IH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS53aWR0aCh0aGlzLnNpemUgKyAncHgnKTtcclxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5oZWlnaHQodGhpcy5zaXplICsgJ3B4Jyk7XHJcbiAgICB9XHJcbn0iXX0=
@@ -0,0 +1,35 @@
1
+ /*!
2
+ * @copyright FLYACTS GmbH 2019
3
+ */
4
+ import { Component, Input } from '@angular/core';
5
+ import * as i0 from "@angular/core";
6
+ export class ColorableParentComponent {
7
+ setupColors(elementRef) {
8
+ if (this.color) {
9
+ let color1;
10
+ let color2;
11
+ if (this.color === 'primary' || this.color === 'accent') {
12
+ color1 = 'var(--' + this.color + 'Color)';
13
+ color2 = 'var(--' + this.color + 'ColorHover)';
14
+ }
15
+ else {
16
+ color1 = this.color;
17
+ color2 = this.color;
18
+ }
19
+ elementRef.style.setProperty('--componentColor', color1);
20
+ elementRef.style.setProperty('--componentColorHover', color2);
21
+ }
22
+ }
23
+ }
24
+ ColorableParentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ColorableParentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
25
+ ColorableParentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ColorableParentComponent, selector: "ng-component", inputs: { color: "color" }, ngImport: i0, template: '', isInline: true });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ColorableParentComponent, decorators: [{
27
+ type: Component,
28
+ args: [{
29
+ selector: '',
30
+ template: '',
31
+ }]
32
+ }], propDecorators: { color: [{
33
+ type: Input
34
+ }] } });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi9wYXJlbnQtY29tcG9uZW50cy9jb2xvcmFibGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTWpELE1BQU0sT0FBTyx3QkFBd0I7SUFNakMsV0FBVyxDQUFDLFVBQXVCO1FBQy9CLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNaLElBQUksTUFBTSxDQUFDO1lBQ1gsSUFBSSxNQUFNLENBQUM7WUFDWCxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFO2dCQUNyRCxNQUFNLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO2dCQUMxQyxNQUFNLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDO2FBQ2xEO2lCQUFNO2dCQUNILE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO2dCQUNwQixNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQzthQUN2QjtZQUNELFVBQVUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLGtCQUFrQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3pELFVBQVUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ2pFO0lBQ0wsQ0FBQzs7c0hBcEJRLHdCQUF3QjswR0FBeEIsd0JBQXdCLGdGQUZ2QixFQUFFOzRGQUVILHdCQUF3QjtrQkFKcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsRUFBRTtvQkFDWixRQUFRLEVBQUUsRUFBRTtpQkFDZjs4QkFLWSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcclxuICogQGNvcHlyaWdodCBGTFlBQ1RTIEdtYkggMjAxOVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICcnLFxyXG4gICAgdGVtcGxhdGU6ICcnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29sb3JhYmxlUGFyZW50Q29tcG9uZW50IHtcclxuICAgIC8qKlxyXG4gICAgICogRGVmaW5lcyB0aGUgY29sb3IgcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgY29sb3I/OiBzdHJpbmc7XHJcblxyXG4gICAgc2V0dXBDb2xvcnMoZWxlbWVudFJlZjogSFRNTEVsZW1lbnQpIHtcclxuICAgICAgICBpZiAodGhpcy5jb2xvcikge1xyXG4gICAgICAgICAgICBsZXQgY29sb3IxO1xyXG4gICAgICAgICAgICBsZXQgY29sb3IyO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5jb2xvciA9PT0gJ3ByaW1hcnknIHx8IHRoaXMuY29sb3IgPT09ICdhY2NlbnQnKSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjEgPSAndmFyKC0tJyArIHRoaXMuY29sb3IgKyAnQ29sb3IpJztcclxuICAgICAgICAgICAgICAgIGNvbG9yMiA9ICd2YXIoLS0nICsgdGhpcy5jb2xvciArICdDb2xvckhvdmVyKSc7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjEgPSB0aGlzLmNvbG9yO1xyXG4gICAgICAgICAgICAgICAgY29sb3IyID0gdGhpcy5jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbGVtZW50UmVmLnN0eWxlLnNldFByb3BlcnR5KCctLWNvbXBvbmVudENvbG9yJywgY29sb3IxKTtcclxuICAgICAgICAgICAgZWxlbWVudFJlZi5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1jb21wb25lbnRDb2xvckhvdmVyJywgY29sb3IyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,4 +1,4 @@
1
- import { Component, Input, EventEmitter, Output, ViewChild } from '@angular/core';
1
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
2
  import { FormParentComponent } from './form.component';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/forms";
@@ -48,7 +48,8 @@ export class FormControlParentComponent extends FormParentComponent {
48
48
  this.onTouch = fn;
49
49
  }
50
50
  setDisabledState(isDisabled) {
51
- if (this.child) {
51
+ var _a;
52
+ if ((_a = this.child) === null || _a === void 0 ? void 0 : _a.nativeElement) {
52
53
  this.renderer.setProperty(this.child.nativeElement, 'disabled', isDisabled);
53
54
  }
54
55
  }
@@ -72,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
72
73
  type: ViewChild,
73
74
  args: ['child']
74
75
  }] } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi9wYXJlbnQtY29tcG9uZW50cy9mb3JtLWNvbnRyb2wuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXpHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFNdkQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLG1CQUFtQjtJQVEvRCxZQUFtQixXQUF3QixFQUFTLFFBQW1CO1FBQ25FLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQURKLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQVA5RCx3QkFBbUIsR0FBRyxFQUFFLENBQUMsQ0FBQyx3RUFBd0U7UUFDakcsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUlwRCxrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQWUxQixnRUFBZ0U7UUFDekQsYUFBUSxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUVoQyxnRUFBZ0U7UUFDaEUsWUFBTyxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUV4QixnRUFBZ0U7UUFDaEUsY0FBUyxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQWxCMUIsQ0FBQztJQUVELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFhO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFXRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEtBQWE7UUFDbkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssS0FBSyxFQUFFO1lBQ3JELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtnQkFDakQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7YUFDakQ7WUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdkI7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWE7UUFDcEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGdCQUFnQixDQUFFLFVBQW1CO1FBQ2pDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztTQUMvRTtJQUNMLENBQUM7SUFFRCxRQUFRLENBQUMsQ0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUMxQyxDQUFDOzt3SEFsRVEsMEJBQTBCOzRHQUExQiwwQkFBMEIscVNBRnpCLEVBQUU7NEZBRUgsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRSxFQUFFO2lCQUNmOzBIQUVZLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDSSxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBRW9CLEtBQUs7c0JBQS9CLFNBQVM7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBWaWV3Q2hpbGQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZvcm1QYXJlbnRDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0uY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdrbXMtZm9ybUNvbnRyb2xQYXJlbnQnLFxyXG4gICAgdGVtcGxhdGU6ICcnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybUNvbnRyb2xQYXJlbnRDb21wb25lbnQgZXh0ZW5kcyBGb3JtUGFyZW50Q29tcG9uZW50IHtcclxuICAgIEBJbnB1dCgpIGRlZmF1bHREYXRhT3ZlcnJpZGUgPSAnJzsgLy8gd2hlbiB3ZSBoYXZlIE5PIGZvcm0gYXJvdW5kLCBnZXQgZGVmYXVsdCB2aWEgaW5wdXQgdG8gc2V0IGl0IG1hbnVhbGx5XHJcbiAgICBAT3V0cHV0KCkgb25TZWxlY3RJdGVtRW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2NoaWxkJykgcHVibGljIGNoaWxkPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuXHJcbiAgICBwdWJsaWMgaW50ZXJuYWxWYWx1ZSA9ICcnO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyKSB7XHJcbiAgICAgICAgc3VwZXIoZm9ybUJ1aWxkZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCl7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBjaGFuZ2UodmFsdWU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xyXG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxyXG4gICAgcHVibGljIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7fTtcclxuXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXHJcbiAgICBvblRvdWNoOiBhbnkgPSAoKSA9PiB7fTtcclxuXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXHJcbiAgICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHt9O1xyXG5cclxuICAgIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmludGVybmFsVmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmludGVybmFsVmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmludGVybmFsVmFsdWUgIT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5pbnRlcm5hbFZhbHVlICYmIHRoaXMuZGVmYXVsdERhdGFPdmVycmlkZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbnRlcm5hbFZhbHVlID0gdGhpcy5kZWZhdWx0RGF0YU92ZXJyaWRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xyXG4gICAgICAgICAgICB0aGlzLm9uVG91Y2godmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmludGVybmFsVmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2ggPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY2hpbGQpIHtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmNoaWxkLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcsIGlzRGlzYWJsZWQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB2YWxpZGF0ZShfOiBGb3JtQ29udHJvbCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm0udmFsaWQgPyBudWxsIDogZmFsc2U7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi9wYXJlbnQtY29tcG9uZW50cy9mb3JtLWNvbnRyb2wuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFNdkQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLG1CQUFtQjtJQVEvRCxZQUFtQixXQUF3QixFQUFTLFFBQW1CO1FBQ25FLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQURKLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQVA5RCx3QkFBbUIsR0FBRyxFQUFFLENBQUMsQ0FBQyx3RUFBd0U7UUFDakcsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUlwRCxrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQWUxQixnRUFBZ0U7UUFDekQsYUFBUSxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUVoQyxnRUFBZ0U7UUFDaEUsWUFBTyxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUV4QixnRUFBZ0U7UUFDaEUsY0FBUyxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQWxCMUIsQ0FBQztJQUVELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFhO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFXRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEtBQWE7UUFDbkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssS0FBSyxFQUFFO1lBQ3JELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtnQkFDakQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7YUFDakQ7WUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdkI7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWE7UUFDcEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGdCQUFnQixDQUFFLFVBQW1COztRQUNqQyxJQUFJLE1BQUEsSUFBSSxDQUFDLEtBQUssMENBQUUsYUFBYSxFQUFFO1lBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztTQUMvRTtJQUNMLENBQUM7SUFFRCxRQUFRLENBQUMsQ0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUMxQyxDQUFDOzt3SEFsRVEsMEJBQTBCOzRHQUExQiwwQkFBMEIscVNBRnpCLEVBQUU7NEZBRUgsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRSxFQUFFO2lCQUNmOzBIQUVZLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDSSxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBRW9CLEtBQUs7c0JBQS9CLFNBQVM7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZvcm1QYXJlbnRDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0uY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdrbXMtZm9ybUNvbnRyb2xQYXJlbnQnLFxyXG4gICAgdGVtcGxhdGU6ICcnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybUNvbnRyb2xQYXJlbnRDb21wb25lbnQgZXh0ZW5kcyBGb3JtUGFyZW50Q29tcG9uZW50IHtcclxuICAgIEBJbnB1dCgpIGRlZmF1bHREYXRhT3ZlcnJpZGUgPSAnJzsgLy8gd2hlbiB3ZSBoYXZlIE5PIGZvcm0gYXJvdW5kLCBnZXQgZGVmYXVsdCB2aWEgaW5wdXQgdG8gc2V0IGl0IG1hbnVhbGx5XHJcbiAgICBAT3V0cHV0KCkgb25TZWxlY3RJdGVtRW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2NoaWxkJykgcHVibGljIGNoaWxkPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuXHJcbiAgICBwdWJsaWMgaW50ZXJuYWxWYWx1ZSA9ICcnO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyKSB7XHJcbiAgICAgICAgc3VwZXIoZm9ybUJ1aWxkZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgY2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcclxuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cclxuICAgIHB1YmxpYyBvbkNoYW5nZTogYW55ID0gKCkgPT4ge307XHJcblxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxyXG4gICAgb25Ub3VjaDogYW55ID0gKCkgPT4ge307XHJcblxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxyXG4gICAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7fTtcclxuXHJcbiAgICBnZXQgdmFsdWUoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcm5hbFZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5pbnRlcm5hbFZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5pbnRlcm5hbFZhbHVlICE9PSB2YWx1ZSkge1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMuaW50ZXJuYWxWYWx1ZSAmJiB0aGlzLmRlZmF1bHREYXRhT3ZlcnJpZGUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxWYWx1ZSA9IHRoaXMuZGVmYXVsdERhdGFPdmVycmlkZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcclxuICAgICAgICAgICAgdGhpcy5vblRvdWNoKHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5pbnRlcm5hbFZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbikge1xyXG4gICAgICAgIGlmICh0aGlzLmNoaWxkPy5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5jaGlsZC5uYXRpdmVFbGVtZW50LCAnZGlzYWJsZWQnLCBpc0Rpc2FibGVkKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdmFsaWRhdGUoXzogRm9ybUNvbnRyb2wpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtLnZhbGlkID8gbnVsbCA6IGZhbHNlO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -2,17 +2,22 @@
2
2
  * @copyright FLYACTS GmbH 2019
3
3
  */
4
4
  import { Component, EventEmitter, Input, Output } from '@angular/core';
5
+ import { SubSink } from 'subsink';
6
+ import { ColorableParentComponent } from './colorable.component';
5
7
  import * as i0 from "@angular/core";
6
8
  import * as i1 from "@angular/forms";
7
- export class FormParentComponent {
9
+ export class FormParentComponent extends ColorableParentComponent {
8
10
  constructor(formBuilder) {
11
+ super();
9
12
  this.formBuilder = formBuilder;
13
+ this.disabled = false;
14
+ this.showRequired = false;
10
15
  this.formInitialized = false;
11
- this.allowedCharsOnlyNumbers = new Set('0123456789'.split('').map(c => c.charCodeAt(0)));
16
+ this.allowedCharsOnlyNumbers = new Set('0123456789'.split('').map((c) => c.charCodeAt(0)));
17
+ this.subs = new SubSink();
12
18
  this.formDataChanged = new EventEmitter();
13
- this.disabled = false;
14
19
  }
15
- // TODO make a service or make own compoennt etc.
20
+ // TODO make a service or make own component etc.
16
21
  /**
17
22
  * Returns if a number was pressed
18
23
  * @param e
@@ -25,9 +30,15 @@ export class FormParentComponent {
25
30
  const isArrows = e.keyCode >= 37 && e.keyCode <= 40;
26
31
  const isDelete = e.keyCode == 8 || e.keyCode == 46;
27
32
  const isCutCopyOrPaste = (e.ctrlKey || e.metaKey) && (e.keyCode == 86 || e.keyCode == 88 || e.keyCode == 67);
28
- return (isNumberRow) || (isNumberPad) || (allowDelete && isDelete) || (allowArrows && isArrows) || (allowCutCopyPaste && isCutCopyOrPaste);
33
+ const isTab = 9;
34
+ return (isNumberRow ||
35
+ isNumberPad ||
36
+ isTab ||
37
+ (allowDelete && isDelete) ||
38
+ (allowArrows && isArrows) ||
39
+ (allowCutCopyPaste && isCutCopyOrPaste));
29
40
  }
30
- // TODO make a service or make own compoennt etc.
41
+ // TODO make a service or make own component etc.
31
42
  /**
32
43
  * Prevents to input other chars than numbers in input
33
44
  * @param event
@@ -38,7 +49,7 @@ export class FormParentComponent {
38
49
  event.preventDefault();
39
50
  }
40
51
  }
41
- // TODO make a service or make own compoennt etc.
52
+ // TODO make a service or make own component etc.
42
53
  /**
43
54
  * Prevents input when pasting which is not number
44
55
  * @param event
@@ -56,23 +67,33 @@ export class FormParentComponent {
56
67
  }
57
68
  }
58
69
  ngOnInit() {
59
- this.formDataChanged.emit(this.form);
60
- this.form.valueChanges.subscribe(() => {
70
+ this.initFormEvent();
71
+ }
72
+ ngOnDestroy() {
73
+ this.subs.unsubscribe();
74
+ }
75
+ initFormEvent() {
76
+ if (this.form) {
61
77
  this.formDataChanged.emit(this.form);
62
- });
78
+ this.form.valueChanges.subscribe(() => {
79
+ this.formDataChanged.emit(this.form);
80
+ });
81
+ }
63
82
  }
64
83
  }
65
84
  FormParentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FormParentComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
66
- FormParentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FormParentComponent, selector: "kms-form", inputs: { disabled: "disabled" }, outputs: { formDataChanged: "formDataChanged" }, ngImport: i0, template: '', isInline: true });
85
+ FormParentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FormParentComponent, selector: "kms-form", inputs: { disabled: "disabled", showRequired: "showRequired" }, outputs: { formDataChanged: "formDataChanged" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
67
86
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FormParentComponent, decorators: [{
68
87
  type: Component,
69
88
  args: [{
70
89
  selector: 'kms-form',
71
90
  template: '',
72
91
  }]
73
- }], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { formDataChanged: [{
74
- type: Output
75
- }], disabled: [{
92
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { disabled: [{
76
93
  type: Input
94
+ }], showRequired: [{
95
+ type: Input
96
+ }], formDataChanged: [{
97
+ type: Output
77
98
  }] } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbXMtbmd4LXVpLXByZXNlbnRhdGlvbmFsL3NyYy9saWIvcGFyZW50LWNvbXBvbmVudHMvZm9ybS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPL0UsTUFBTSxPQUFPLG1CQUFtQjtJQVM1QixZQUNXLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBUjVCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLDRCQUF1QixHQUFHLElBQUksR0FBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFbEYsb0JBQWUsR0FBNEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUvRCxhQUFRLEdBQUcsS0FBSyxDQUFDO0lBTTFCLENBQUM7SUFFRCxpREFBaUQ7SUFDakQ7Ozs7T0FJRztJQUNILG1CQUFtQixDQUFDLENBQWdCLEVBQUUsV0FBVyxHQUFHLElBQUksRUFBRSxXQUFXLEdBQUcsSUFBSSxFQUFFLGlCQUFpQixHQUFHLElBQUk7UUFDbEcsa0dBQWtHO1FBQ2xHLE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQyxPQUFPLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ3ZELE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQyxPQUFPLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDO1FBQ3hELE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxPQUFPLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ3BELE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ25ELE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUM7UUFDN0csT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQy9JLENBQUM7SUFFRCxpREFBaUQ7SUFDakQ7OztPQUdHO0lBQ0gsbUJBQW1CLENBQUMsS0FBb0I7UUFDcEMsaUdBQWlHO1FBQ2pHLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN0RixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDMUI7SUFDTCxDQUFDO0lBRUQsaURBQWlEO0lBQ2pEOzs7T0FHRztJQUNILG9CQUFvQixDQUFDLEtBQXFCO1FBQ3RDLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFDMUMsSUFBRyxhQUFhLEVBQUM7WUFDYixNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pELElBQUcsVUFBVSxFQUFDO2dCQUNWLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3ZDLElBQUcsQ0FBQyxLQUFLLEVBQUU7b0JBQ1AsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2lCQUMxQjthQUNKO1NBQ0o7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O2lIQWxFUSxtQkFBbUI7cUdBQW5CLG1CQUFtQixtSUFGbEIsRUFBRTs0RkFFSCxtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFFBQVEsRUFBRSxFQUFFO2lCQUNmO2tHQU1hLGVBQWU7c0JBQXhCLE1BQU07Z0JBRUUsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxyXG4gKiBAY29weXJpZ2h0IEZMWUFDVFMgR21iSCAyMDE5XHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2ttcy1mb3JtJyxcclxuICAgIHRlbXBsYXRlOiAnJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1QYXJlbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgcHVibGljIGZvcm0hOiBGb3JtR3JvdXA7XHJcbiAgICBwdWJsaWMgZm9ybUluaXRpYWxpemVkID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIGFsbG93ZWRDaGFyc09ubHlOdW1iZXJzID0gbmV3IFNldCgnMDEyMzQ1Njc4OScuc3BsaXQoJycpLm1hcChjID0+IGMuY2hhckNvZGVBdCgwKSkpO1xyXG5cclxuICAgIEBPdXRwdXQoKSBmb3JtRGF0YUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxGb3JtR3JvdXA+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlclxyXG4gICAgKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC8vIFRPRE8gbWFrZSBhIHNlcnZpY2Ugb3IgbWFrZSBvd24gY29tcG9lbm50IGV0Yy5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyBpZiBhIG51bWJlciB3YXMgcHJlc3NlZFxyXG4gICAgICogQHBhcmFtIGUgXHJcbiAgICAgKiBAcmV0dXJucyBcclxuICAgICAqL1xyXG4gICAgY2hlY2tJZktleVdhc051bWJlcihlOiBLZXlib2FyZEV2ZW50LCBhbGxvd0RlbGV0ZSA9IHRydWUsIGFsbG93QXJyb3dzID0gdHJ1ZSwgYWxsb3dDdXRDb3B5UGFzdGUgPSB0cnVlKXtcclxuICAgICAgICAvLyByZXR1cm5zIGlmIGtleWNvZGUgb2YgbnVtYmVycy1yb3cgb3IgbnVtYmVycGFkLiBPciBpZiBwYXJhbWV0ZXIgc2V0LCBhbGxvdyBkZWxldGUvYmFja3NwYWNlIGtleVxyXG4gICAgICAgIGNvbnN0IGlzTnVtYmVyUm93ID0gZS5rZXlDb2RlID49IDQ4ICYmIGUua2V5Q29kZSA8PSA1NztcclxuICAgICAgICBjb25zdCBpc051bWJlclBhZCA9IGUua2V5Q29kZSA+PSA5NiAmJiBlLmtleUNvZGUgPD0gMTA1O1xyXG4gICAgICAgIGNvbnN0IGlzQXJyb3dzID0gZS5rZXlDb2RlID49IDM3ICYmIGUua2V5Q29kZSA8PSA0MDtcclxuICAgICAgICBjb25zdCBpc0RlbGV0ZSA9IGUua2V5Q29kZSA9PSA4IHx8IGUua2V5Q29kZSA9PSA0NjtcclxuICAgICAgICBjb25zdCBpc0N1dENvcHlPclBhc3RlID0gKGUuY3RybEtleSB8fCBlLm1ldGFLZXkpICYmIChlLmtleUNvZGUgPT0gODYgfHwgZS5rZXlDb2RlID09IDg4IHx8IGUua2V5Q29kZSA9PSA2Nyk7XHJcbiAgICAgICAgcmV0dXJuIChpc051bWJlclJvdykgfHwgKGlzTnVtYmVyUGFkKSB8fCAoYWxsb3dEZWxldGUgJiYgaXNEZWxldGUpIHx8IChhbGxvd0Fycm93cyAmJiBpc0Fycm93cykgfHwgKGFsbG93Q3V0Q29weVBhc3RlICYmIGlzQ3V0Q29weU9yUGFzdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFRPRE8gbWFrZSBhIHNlcnZpY2Ugb3IgbWFrZSBvd24gY29tcG9lbm50IGV0Yy5cclxuICAgIC8qKlxyXG4gICAgICogUHJldmVudHMgdG8gaW5wdXQgb3RoZXIgY2hhcnMgdGhhbiBudW1iZXJzIGluIGlucHV0XHJcbiAgICAgKiBAcGFyYW0gZXZlbnQgXHJcbiAgICAgKi9cclxuICAgIHJlbW92ZU51bWJlcnNPblR5cGUoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgICAgICAvLyBvbmx5IGFsbG93IGtleWRvd24gZnJvbSBudW1iZXJzLXJvdyBvciBudW1iZXJwYWQgb2Yga2V5YmFyZCBhbmQgYmxvY2sgb3RoZXIgY2hhcnMgdGhhbiBudW1iZXJzXHJcbiAgICAgICAgaWYgKCF0aGlzLmNoZWNrSWZLZXlXYXNOdW1iZXIoZXZlbnQpICYmICF0aGlzLmFsbG93ZWRDaGFyc09ubHlOdW1iZXJzLmhhcyhldmVudC5rZXlDb2RlKSkge1xyXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBUT0RPIG1ha2UgYSBzZXJ2aWNlIG9yIG1ha2Ugb3duIGNvbXBvZW5udCBldGMuXHJcbiAgICAvKipcclxuICAgICAqIFByZXZlbnRzIGlucHV0IHdoZW4gcGFzdGluZyB3aGljaCBpcyBub3QgbnVtYmVyXHJcbiAgICAgKiBAcGFyYW0gZXZlbnRcclxuICAgICAqL1xyXG4gICAgcmVtb3ZlTnVtYmVyc09uUGFzdGUoZXZlbnQ6IENsaXBib2FyZEV2ZW50KXtcclxuICAgICAgICBjb25zdCBjbGlwYm9hcmREYXRhID0gZXZlbnQuY2xpcGJvYXJkRGF0YTtcclxuICAgICAgICBpZihjbGlwYm9hcmREYXRhKXtcclxuICAgICAgICAgICAgY29uc3QgcGFzdGVkVGV4dCA9IGNsaXBib2FyZERhdGEuZ2V0RGF0YSgndGV4dCcpO1xyXG4gICAgICAgICAgICBpZihwYXN0ZWRUZXh0KXtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGlzbnVtID0gL15cXGQrJC8udGVzdChwYXN0ZWRUZXh0KTtcclxuICAgICAgICAgICAgICAgIGlmKCFpc251bSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtRGF0YUNoYW5nZWQuZW1pdCh0aGlzLmZvcm0pO1xyXG4gICAgICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtRGF0YUNoYW5nZWQuZW1pdCh0aGlzLmZvcm0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbXMtbmd4LXVpLXByZXNlbnRhdGlvbmFsL3NyYy9saWIvcGFyZW50LWNvbXBvbmVudHMvZm9ybS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFNakUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHdCQUF3QjtJQVk3RCxZQUFtQixXQUF3QjtRQUN2QyxLQUFLLEVBQUUsQ0FBQztRQURPLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBWGxDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFHdkIsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDdkIsNEJBQXVCLEdBQUcsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXZGLFNBQUksR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRWxCLG9CQUFlLEdBQTRCLElBQUksWUFBWSxFQUFFLENBQUM7SUFJeEUsQ0FBQztJQUVELGlEQUFpRDtJQUNqRDs7OztPQUlHO0lBQ0gsbUJBQW1CLENBQUMsQ0FBZ0IsRUFBRSxXQUFXLEdBQUcsSUFBSSxFQUFFLFdBQVcsR0FBRyxJQUFJLEVBQUUsaUJBQWlCLEdBQUcsSUFBSTtRQUNsRyxrR0FBa0c7UUFD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bnRlbnQiOlsiLyohXHJcbiAqIEBjb3B5cmlnaHQgRkxZQUNUUyBHbWJIIDIwMTlcclxuICovXHJcblxyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3ViU2luayB9IGZyb20gJ3N1YnNpbmsnO1xyXG5pbXBvcnQgeyBDb2xvcmFibGVQYXJlbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbG9yYWJsZS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2ttcy1mb3JtJyxcclxuICAgIHRlbXBsYXRlOiAnJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1QYXJlbnRDb21wb25lbnQgZXh0ZW5kcyBDb2xvcmFibGVQYXJlbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgc2hvd1JlcXVpcmVkID0gZmFsc2U7XHJcblxyXG4gICAgcHVibGljIGZvcm0hOiBGb3JtR3JvdXA7XHJcbiAgICBwdWJsaWMgZm9ybUluaXRpYWxpemVkID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIGFsbG93ZWRDaGFyc09ubHlOdW1iZXJzID0gbmV3IFNldCgnMDEyMzQ1Njc4OScuc3BsaXQoJycpLm1hcCgoYykgPT4gYy5jaGFyQ29kZUF0KDApKSk7XHJcblxyXG4gICAgcHVibGljIHN1YnMgPSBuZXcgU3ViU2luaygpO1xyXG5cclxuICAgIEBPdXRwdXQoKSBmb3JtRGF0YUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxGb3JtR3JvdXA+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFRPRE8gbWFrZSBhIHNlcnZpY2Ugb3IgbWFrZSBvd24gY29tcG9uZW50IGV0Yy5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyBpZiBhIG51bWJlciB3YXMgcHJlc3NlZFxyXG4gICAgICogQHBhcmFtIGVcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgIGNoZWNrSWZLZXlXYXNOdW1iZXIoZTogS2V5Ym9hcmRFdmVudCwgYWxsb3dEZWxldGUgPSB0cnVlLCBhbGxvd0Fycm93cyA9IHRydWUsIGFsbG93Q3V0Q29weVBhc3RlID0gdHJ1ZSkge1xyXG4gICAgICAgIC8vIHJldHVybnMgaWYga2V5Y29kZSBvZiBudW1iZXJzLXJvdyBvciBudW1iZXJwYWQuIE9yIGlmIHBhcmFtZXRlciBzZXQsIGFsbG93IGRlbGV0ZS9iYWNrc3BhY2Uga2V5XHJcbiAgICAgICAgY29uc3QgaXNOdW1iZXJSb3cgPSBlLmtleUNvZGUgPj0gNDggJiYgZS5rZXlDb2RlIDw9IDU3O1xyXG4gICAgICAgIGNvbnN0IGlzTnVtYmVyUGFkID0gZS5rZXlDb2RlID49IDk2ICYmIGUua2V5Q29kZSA8PSAxMDU7XHJcbiAgICAgICAgY29uc3QgaXNBcnJvd3MgPSBlLmtleUNvZGUgPj0gMzcgJiYgZS5rZXlDb2RlIDw9IDQwO1xyXG4gICAgICAgIGNvbnN0IGlzRGVsZXRlID0gZS5rZXlDb2RlID09IDggfHwgZS5rZXlDb2RlID09IDQ2O1xyXG4gICAgICAgIGNvbnN0IGlzQ3V0Q29weU9yUGFzdGUgPSAoZS5jdHJsS2V5IHx8IGUubWV0YUtleSkgJiYgKGUua2V5Q29kZSA9PSA4NiB8fCBlLmtleUNvZGUgPT0gODggfHwgZS5rZXlDb2RlID09IDY3KTtcclxuICAgICAgICBjb25zdCBpc1RhYiA9IDk7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgaXNOdW1iZXJSb3cgfHxcclxuICAgICAgICAgICAgaXNOdW1iZXJQYWQgfHxcclxuICAgICAgICAgICAgaXNUYWIgfHxcclxuICAgICAgICAgICAgKGFsbG93RGVsZXRlICYmIGlzRGVsZXRlKSB8fFxyXG4gICAgICAgICAgICAoYWxsb3dBcnJvd3MgJiYgaXNBcnJvd3MpIHx8XHJcbiAgICAgICAgICAgIChhbGxvd0N1dENvcHlQYXN0ZSAmJiBpc0N1dENvcHlPclBhc3RlKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVE9ETyBtYWtlIGEgc2VydmljZSBvciBtYWtlIG93biBjb21wb25lbnQgZXRjLlxyXG4gICAgLyoqXHJcbiAgICAgKiBQcmV2ZW50cyB0byBpbnB1dCBvdGhlciBjaGFycyB0aGFuIG51bWJlcnMgaW4gaW5wdXRcclxuICAgICAqIEBwYXJhbSBldmVudFxyXG4gICAgICovXHJcbiAgICByZW1vdmVOdW1iZXJzT25UeXBlKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICAgICAgLy8gb25seSBhbGxvdyBrZXlkb3duIGZyb20gbnVtYmVycy1yb3cgb3IgbnVtYmVycGFkIG9mIGtleWJhcmQgYW5kIGJsb2NrIG90aGVyIGNoYXJzIHRoYW4gbnVtYmVyc1xyXG4gICAgICAgIGlmICghdGhpcy5jaGVja0lmS2V5V2FzTnVtYmVyKGV2ZW50KSAmJiAhdGhpcy5hbGxvd2VkQ2hhcnNPbmx5TnVtYmVycy5oYXMoZXZlbnQua2V5Q29kZSkpIHtcclxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVE9ETyBtYWtlIGEgc2VydmljZSBvciBtYWtlIG93biBjb21wb25lbnQgZXRjLlxyXG4gICAgLyoqXHJcbiAgICAgKiBQcmV2ZW50cyBpbnB1dCB3aGVuIHBhc3Rpbmcgd2hpY2ggaXMgbm90IG51bWJlclxyXG4gICAgICogQHBhcmFtIGV2ZW50XHJcbiAgICAgKi9cclxuICAgIHJlbW92ZU51bWJlcnNPblBhc3RlKGV2ZW50OiBDbGlwYm9hcmRFdmVudCkge1xyXG4gICAgICAgIGNvbnN0IGNsaXBib2FyZERhdGEgPSBldmVudC5jbGlwYm9hcmREYXRhO1xyXG4gICAgICAgIGlmIChjbGlwYm9hcmREYXRhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBhc3RlZFRleHQgPSBjbGlwYm9hcmREYXRhLmdldERhdGEoJ3RleHQnKTtcclxuICAgICAgICAgICAgaWYgKHBhc3RlZFRleHQpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGlzbnVtID0gL15cXGQrJC8udGVzdChwYXN0ZWRUZXh0KTtcclxuICAgICAgICAgICAgICAgIGlmICghaXNudW0pIHtcclxuICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuaW5pdEZvcm1FdmVudCgpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMuc3Vicy51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXRGb3JtRXZlbnQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZm9ybSkge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1EYXRhQ2hhbmdlZC5lbWl0KHRoaXMuZm9ybSk7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZm9ybURhdGFDaGFuZ2VkLmVtaXQodGhpcy5mb3JtKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @copyright KMS GmbH
3
3
  */
4
- import { isPlatformBrowser } from '@angular/common';
4
+ import { DOCUMENT, isPlatformBrowser } from '@angular/common';
5
5
  import { Inject, Injectable, PLATFORM_ID } from '@angular/core';
6
6
  import { Subject } from 'rxjs';
7
7
  import * as i0 from "@angular/core";
@@ -9,12 +9,13 @@ import * as i0 from "@angular/core";
9
9
  * Service to get viewport
10
10
  */
11
11
  export class ViewportService {
12
- constructor(platformId) {
12
+ constructor(platformId, document) {
13
13
  this.platformId = platformId;
14
+ this.document = document;
14
15
  this.viewports = [
15
16
  {
16
17
  name: 'xs',
17
- low: 420,
18
+ low: 360,
18
19
  high: 990,
19
20
  },
20
21
  {
@@ -29,7 +30,7 @@ export class ViewportService {
29
30
  },
30
31
  {
31
32
  name: 'l',
32
- low: 12001,
33
+ low: 1201,
33
34
  high: 1400,
34
35
  },
35
36
  {
@@ -50,45 +51,52 @@ export class ViewportService {
50
51
  ];
51
52
  this.viewportChangedSubscriber = new Subject();
52
53
  this.viewportResizedSubscriber = new Subject();
54
+ this.isBrowser = false;
53
55
  if (isPlatformBrowser(this.platformId)) {
54
56
  window.addEventListener('resize', this.documentSizeChanged.bind(this), { passive: true });
57
+ this.isBrowser = true;
55
58
  }
56
59
  }
57
60
  /**
58
61
  * Get window height
59
62
  */
60
63
  getDocumentHeight() {
61
- return isPlatformBrowser(this.platformId) ? document.body.clientHeight : 1200;
64
+ return this.isBrowser ? document.body.clientHeight : 1200;
62
65
  }
63
66
  /**
64
67
  * Get window width
65
68
  */
66
69
  getDocumentWidth() {
67
- return isPlatformBrowser(this.platformId) ? document.body.clientWidth : 1200;
70
+ return this.isBrowser ? document.body.clientWidth : 1200;
68
71
  }
69
72
  /**
70
73
  * Get window height
71
74
  */
72
75
  getWindowHeight() {
73
- return isPlatformBrowser(this.platformId) ? window.innerHeight : 1200;
76
+ return this.isBrowser ? window.innerHeight : 1200;
74
77
  }
75
78
  /**
76
79
  * Get window width
77
80
  */
78
81
  getWindowWidth() {
79
- return isPlatformBrowser(this.platformId) ? window.innerWidth : 1200;
82
+ return this.isBrowser ? window.innerWidth : 1200;
80
83
  }
81
84
  /**
82
85
  * Returns the current viewport MQ as string
83
86
  * @returns string
84
87
  */
85
88
  getCurrentViewPort() {
86
- if (!this.currentViewport) {
87
- const currentWidth = isPlatformBrowser(this.platformId) ? document.body.clientWidth : 1200;
88
- this.currentViewport = this.convertWidthToMediaQuery(currentWidth);
89
- }
89
+ const currentWidth = this.isBrowser ? document.body.clientWidth : 1200;
90
+ this.currentViewport = this.convertWidthToMediaQuery(currentWidth);
90
91
  return this.currentViewport;
91
92
  }
93
+ /**
94
+ * Returns the current viewport MQ as string
95
+ * @returns string
96
+ */
97
+ getCurrentViewPortNumber() {
98
+ return this.isBrowser ? document.body.clientWidth : 1200;
99
+ }
92
100
  /**
93
101
  * Provides mq´s as string
94
102
  */
@@ -102,7 +110,7 @@ export class ViewportService {
102
110
  return this.viewportResizedSubscriber.asObservable();
103
111
  }
104
112
  scrollToElementId(el, alignCenter = false) {
105
- if (isPlatformBrowser(this.platformId)) {
113
+ if (this.isBrowser) {
106
114
  this.scrollToElement(document.querySelector('#' + el), alignCenter);
107
115
  }
108
116
  }
@@ -112,24 +120,20 @@ export class ViewportService {
112
120
  * @param alignCenter - defines if the element needs to be centered on window
113
121
  */
114
122
  scrollToElement(el, alignCenter = false) {
115
- if (isPlatformBrowser(this.platformId)) {
123
+ if (this.isBrowser) {
116
124
  let extraScrollTop = 0;
117
125
  if (alignCenter) {
118
126
  extraScrollTop = (window.innerHeight - el.clientHeight) / 2;
119
127
  }
120
- /*
121
- const elementPos: DOMRect = el.getBoundingClientRect();
122
- const scrollTopPosition = elementPos.x - extraScrollTop;
123
- */
124
- //let offsetLeft = 0;
128
+ let offsetLeft = 0;
125
129
  let offsetTop = 0;
126
130
  let elTemp = el;
127
131
  while (elTemp) {
128
- //offsetLeft += elTemp.offsetLeft;
132
+ offsetLeft += elTemp.offsetLeft;
129
133
  offsetTop += elTemp.offsetTop;
130
134
  elTemp = elTemp.parentElement ? elTemp.parentElement : null;
131
135
  }
132
- window.scrollTo({ left: 0, top: offsetTop - extraScrollTop, behavior: 'smooth' });
136
+ window.scrollTo({ left: offsetLeft, top: offsetTop - extraScrollTop, behavior: 'smooth' });
133
137
  }
134
138
  }
135
139
  /**
@@ -137,13 +141,42 @@ export class ViewportService {
137
141
  * @param top - top position value
138
142
  */
139
143
  scrollTop(top) {
140
- if (isPlatformBrowser(this.platformId)) {
144
+ if (this.isBrowser) {
141
145
  window.scrollTo({ left: 0, top: top, behavior: 'smooth' });
142
146
  }
143
147
  }
144
- ngOnDestroy() {
145
- if (isPlatformBrowser(this.platformId)) {
146
- window.removeEventListener('resize', this.documentSizeChanged);
148
+ isPortrait() {
149
+ if (this.isBrowser)
150
+ return window.innerHeight > window.innerWidth;
151
+ else
152
+ return;
153
+ }
154
+ isLandscape() {
155
+ if (this.isBrowser) {
156
+ const isLandscape = window.orientation === 90 || window.orientation === -90;
157
+ return isLandscape;
158
+ }
159
+ else {
160
+ return;
161
+ }
162
+ }
163
+ isMobile() {
164
+ return this.getCurrentViewPortNumber() < this.viewports[2].low;
165
+ }
166
+ calculateFullscreenElementsheight(id, defaultheight, extra) {
167
+ if (!this.isBrowser || this.isMobile()) {
168
+ return defaultheight;
169
+ }
170
+ else {
171
+ const map = this.document.getElementById(id);
172
+ const footer = this.document.getElementsByTagName('footer')[0];
173
+ if (map && footer) {
174
+ return `${window.innerHeight - map.offsetTop - footer.offsetHeight - extra}px`;
175
+ }
176
+ else {
177
+ console.warn('could not calculate map height');
178
+ return defaultheight;
179
+ }
147
180
  }
148
181
  }
149
182
  /**
@@ -189,28 +222,21 @@ export class ViewportService {
189
222
  }
190
223
  return currentViewport;
191
224
  }
192
- isPortrait() {
193
- if (isPlatformBrowser(this.platformId))
194
- return window.innerHeight > window.innerWidth;
195
- else
196
- return;
197
- }
198
- isLandscape() {
199
- if (isPlatformBrowser(this.platformId)) {
200
- const isLandscape = window.orientation === 90 || window.orientation === -90;
201
- return isLandscape;
202
- }
203
- else {
204
- return;
225
+ ngOnDestroy() {
226
+ if (this.isBrowser) {
227
+ window.removeEventListener('resize', this.documentSizeChanged);
205
228
  }
206
229
  }
207
230
  }
208
- ViewportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ViewportService, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });
231
+ ViewportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ViewportService, deps: [{ token: PLATFORM_ID }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
209
232
  ViewportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ViewportService });
210
233
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ViewportService, decorators: [{
211
234
  type: Injectable
212
235
  }], ctorParameters: function () { return [{ type: Object, decorators: [{
213
236
  type: Inject,
214
237
  args: [PLATFORM_ID]
238
+ }] }, { type: Document, decorators: [{
239
+ type: Inject,
240
+ args: [DOCUMENT]
215
241
  }] }]; } });
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi9zZXJ2aWNlcy92aWV3cG9ydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWEsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBUzNDOztHQUVHO0FBRUgsTUFBTSxPQUFPLGVBQWU7SUEyQ3hCLFlBQXlDLFVBQWtCO1FBQWxCLGVBQVUsR0FBVixVQUFVLENBQVE7UUExQzNDLGNBQVMsR0FBRztZQUN4QjtnQkFDSSxJQUFJLEVBQUUsSUFBSTtnQkFDVixHQUFHLEVBQUUsR0FBRztnQkFDUixJQUFJLEVBQUUsR0FBRzthQUNaO1lBQ0Q7Z0JBQ0ksSUFBSSxFQUFFLEdBQUc7Z0JBQ1QsR0FBRyxFQUFFLEdBQUc7Z0JBQ1IsSUFBSSxFQUFFLElBQUk7YUFDYjtZQUNEO2dCQUNJLElBQUksRUFBRSxHQUFHO2dCQUNULEdBQUcsRUFBRSxJQUFJO2dCQUNULElBQUksRUFBRSxJQUFJO2FBQ2I7WUFDRDtnQkFDSSxJQUFJLEVBQUUsR0FBRztnQkFDVCxHQUFHLEVBQUUsS0FBSztnQkFDVixJQUFJLEVBQUUsSUFBSTthQUNiO1lBQ0Q7Z0JBQ0ksSUFBSSxFQUFFLElBQUk7Z0JBQ1YsR0FBRyxFQUFFLElBQUk7Z0JBQ1QsSUFBSSxFQUFFLElBQUk7YUFDYjtZQUNEO2dCQUNJLElBQUksRUFBRSxLQUFLO2dCQUNYLEdBQUcsRUFBRSxJQUFJO2dCQUNULElBQUksRUFBRSxJQUFJO2FBQ2I7WUFDRDtnQkFDSSxJQUFJLEVBQUUsTUFB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QyxVQUFVLENBQUMsRUFBRTtZQUNwQyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxLQUFLLEVBQUUsSUFBSSxNQUFNLENBQUMsV0FBVyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzVFLE9BQU8sV0FBVyxDQUFDO1NBQ3RCO2FBQU07WUFDSCxPQUFPO1NBQ1Y7SUFDTCxDQUFDOzs2R0E1TlEsZUFBZSxrQkEyQ0osV0FBVztpSEEzQ3RCLGVBQWU7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVTswREE0QzhDLE1BQU07MEJBQTlDLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAY29weXJpZ2h0IEtNUyBHbWJIXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBOdWxsQWJsZSB9IGZyb20gJy4uL21vZGVscyc7XHJcblxyXG4vLyBuZWVkZWQgZm9yIHNjcm9sbFRvRWxlbWVudCBmdW5jdGlvbmFsaXR5XHJcblxyXG5kZWNsYXJlIGNvbnN0IHdpbmRvdzogYW55O1xyXG5cclxuZGVjbGFyZSBjb25zdCBkb2N1bWVudDogYW55O1xyXG5cclxuLyoqXHJcbiAqIFNlcnZpY2UgdG8gZ2V0IHZpZXdwb3J0XHJcbiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBWaWV3cG9ydFNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gICAgcHVibGljIHJlYWRvbmx5IHZpZXdwb3J0cyA9IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIG5hbWU6ICd4cycsXHJcbiAgICAgICAgICAgIGxvdzogNDIwLFxyXG4gICAgICAgICAgICBoaWdoOiA5OTAsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIG5hbWU6ICdzJyxcclxuICAgICAgICAgICAgbG93OiA5OTEsXHJcbiAgICAgICAgICAgIGhpZ2g6IDEwMjQsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIG5hbWU6ICdtJyxcclxuICAgICAgICAgICAgbG93OiAxMDI1LFxyXG4gICAgICAgICAgICBoaWdoOiAxMjAwLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBuYW1lOiAnbCcsXHJcbiAgICAgICAgICAgIGxvdzogMTIwMDEsXHJcbiAgICAgICAgICAgIGhpZ2g6IDE0MDAsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIG5hbWU6ICd4bCcsXHJcbiAgICAgICAgICAgIGxvdzogMTQwMSxcclxuICAgICAgICAgICAgaGlnaDogMTYwMCxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgbmFtZTogJ3h4bCcsXHJcbiAgICAgICAgICAgIGxvdzogMTYwMSxcclxuICAgICAgICAgICAgaGlnaDogMTkyMCxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgbmFtZTogJ3h4eGwnLFxyXG4gICAgICAgICAgICBsb3c6IDE5MjEsXHJcbiAgICAgICAgICAgIGhpZ2g6IDk5OTk5LFxyXG4gICAgICAgIH0sXHJcbiAgICBdO1xyXG5cclxuICAgIHByaXZhdGUgdmlld3BvcnRDaGFuZ2VkU3Vic2NyaWJlcjogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gICAgcHJpdmF0ZSB2aWV3cG9ydFJlc2l6ZWRTdWJzY3JpYmVyOiBTdWJqZWN0PG51bWJlcj4gPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XHJcbiAgICBwcml2YXRlIGN1cnJlbnRWaWV3cG9ydCE6IHN0cmluZztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IE9iamVjdCkge1xyXG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XHJcbiAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLmRvY3VtZW50U2l6ZUNoYW5nZWQuYmluZCh0aGlzKSwgeyBwYXNzaXZlOiB0cnVlIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldCB3aW5kb3cgaGVpZ2h0XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXREb2N1bWVudEhlaWdodCgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpID8gZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQgOiAxMjAwO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0IHdpbmRvdyB3aWR0aFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0RG9jdW1lbnRXaWR0aCgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpID8gZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aCA6IDEyMDA7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgd2luZG93IGhlaWdodFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0V2luZG93SGVpZ2h0KCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgPyB3aW5kb3cuaW5uZXJIZWlnaHQgOiAxMjAwO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0IHdpbmRvdyB3aWR0aFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0V2luZG93V2lkdGgoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSA/IHdpbmRvdy5pbm5lcldpZHRoIDogMTIwMDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdGhlIGN1cnJlbnQgdmlld3BvcnQgTVEgYXMgc3RyaW5nXHJcbiAgICAgKiBAcmV0dXJucyBzdHJpbmdcclxuICAgICAqL1xyXG4gICAgZ2V0Q3VycmVudFZpZXdQb3J0KCk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnRWaWV3cG9ydCkge1xyXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50V2lkdGg6IG51bWJlciA9IGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgPyBkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoIDogMTIwMDtcclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50Vmlld3BvcnQgPSB0aGlzLmNvbnZlcnRXaWR0aFRvTWVkaWFRdWVyeShjdXJyZW50V2lkdGgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFZpZXdwb3J0O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUHJvdmlkZXMgbXHCtHMgYXMgc3RyaW5nXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRWaWV3cG9ydENoYW5nZWRPYnNlcnZlcigpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnZpZXdwb3J0Q2hhbmdlZFN1YnNjcmliZXIuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQcm92aWRlcyB0aGUgY3VycmVudCB3aW5kb3cgd2lkdGggYXMgbnVtYmVyXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRWaWV3cG9ydFJlc2l6ZWRPYnNlcnZlcigpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnZpZXdwb3J0UmVzaXplZFN1YnNjcmliZXIuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNjcm9sbFRvRWxlbWVudElkKGVsOiBzdHJpbmcsIGFsaWduQ2VudGVyID0gZmFsc2UpIHtcclxuICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xyXG4gICAgICAgICAgICB0aGlzLnNjcm9sbFRvRWxlbWVudChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjJyArIGVsKSwgYWxpZ25DZW50ZXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEhlbHBlciBmdW5jdGlvbiB0aGF0IHNjcm9sbHMgdG8gdGhlIGdpdmVuIG1hcmt1cCBlbGVtZW50LlxyXG4gICAgICogQHBhcmFtIGVsIC0gbmF0aXZlRWxlbWVudCBmcm9tIG1hcmt1cFxyXG4gICAgICogQHBhcmFtIGFsaWduQ2VudGVyIC0gZGVmaW5lcyBpZiB0aGUgZWxlbWVudCBuZWVkcyB0byBiZSBjZW50ZXJlZCBvbiB3aW5kb3dcclxuICAgICAqL1xyXG5cclxuICAgIHB1YmxpYyBzY3JvbGxUb0VsZW1lbnQoZWw6IEhUTUxFbGVtZW50LCBhbGlnbkNlbnRlciA9IGZhbHNlKSB7XHJcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcclxuICAgICAgICAgICAgbGV0IGV4dHJhU2Nyb2xsVG9wID0gMDtcclxuXHJcbiAgICAgICAgICAgIGlmIChhbGlnbkNlbnRlcikge1xyXG4gICAgICAgICAgICAgICAgZXh0cmFTY3JvbGxUb3AgPSAod2luZG93LmlubmVySGVpZ2h0IC0gZWwuY2xpZW50SGVpZ2h0KSAvIDI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8qXHJcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRQb3M6IERPTVJlY3QgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgICAgICAgY29uc3Qgc2Nyb2xsVG9wUG9zaXRpb24gPSBlbGVtZW50UG9zLnggLSBleHRyYVNjcm9sbFRvcDtcclxuICAgICAgICAgICAgKi9cclxuXHJcbiAgICAgICAgICAgIC8vbGV0IG9mZnNldExlZnQgPSAwO1xyXG4gICAgICAgICAgICBsZXQgb2Zmc2V0VG9wID0gMDtcclxuXHJcbiAgICAgICAgICAgIGxldCBlbFRlbXA6IE51bGxBYmxlPEhUTUxFbGVtZW50PiA9IGVsO1xyXG5cclxuICAgICAgICAgICAgd2hpbGUgKGVsVGVtcCkge1xyXG4gICAgICAgICAgICAgICAgLy9vZmZzZXRMZWZ0ICs9IGVsVGVtcC5vZmZzZXRMZWZ0O1xyXG4gICAgICAgICAgICAgICAgb2Zmc2V0VG9wICs9IGVsVGVtcC5vZmZzZXRUb3A7XHJcbiAgICAgICAgICAgICAgICBlbFRlbXAgPSBlbFRlbXAucGFyZW50RWxlbWVudCA/IGVsVGVtcC5wYXJlbnRFbGVtZW50IDogbnVsbDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgd2luZG93LnNjcm9sbFRvKHsgbGVmdDogMCwgdG9wOiBvZmZzZXRUb3AgLSBleHRyYVNjcm9sbFRvcCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNjcm9sbCB0byB0aGUgdG9wIHBvc2l0aW9uXHJcbiAgICAgKiBAcGFyYW0gdG9wIC0gdG9wIHBvc2l0aW9uIHZhbHVlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzY3JvbGxUb3AodG9wOiBudW1iZXIpIHtcclxuICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xyXG4gICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oeyBsZWZ0OiAwLCB0b3A6IHRvcCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xyXG4gICAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5kb2N1bWVudFNpemVDaGFuZ2VkKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJZiB2aWV3cG9ydCBjaGFuZ2VkXHJcbiAgICAgKiBAZXZlbnRcclxuICAgICAqL1xyXG5cclxuICAgIHByaXZhdGUgZG9jdW1lbnRTaXplQ2hhbmdlZChldmVudDogYW55KSB7XHJcbiAgICAgICAgY29uc3QgY3VycmVudFdpbmRvd1dpZHRoOiBudW1iZXIgPSBldmVudC50YXJnZXQuaW5uZXJXaWR0aDtcclxuICAgICAgICAvLyBpbmZvcm0gd2hvwrRzIGludGVyZXN0ZWRcclxuICAgICAgICB0aGlzLnZpZXdwb3J0UmVzaXplZFN1YnNjcmliZXIubmV4dChjdXJyZW50V2luZG93V2lkdGgpO1xyXG5cclxuICAgICAgICBpZiAoY3VycmVudFdpbmRvd1dpZHRoID4gMCkge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IG1xcyBvZiB0aGlzLnZpZXdwb3J0cykge1xyXG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRXaW5kb3dXaWR0aCA+IG1xcy5oaWdoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKFxyXG4gICAgICAgICAgICAgICAgICAgIChjdXJyZW50V2luZG93V2lkdGggPj0gbXFzLmxvdyB8fCBjdXJyZW50V2luZG93V2lkdGggPD0gbXFzLmhpZ2gpICYmXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50Vmlld3BvcnQgIT09IG1xcy5uYW1lXHJcbiAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRWaWV3cG9ydCA9IG1xcy5uYW1lO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGluZm9ybSB3aG/CtHMgaW50ZXJlc3RlZFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmlld3BvcnRDaGFuZ2VkU3Vic2NyaWJlci5uZXh0KG1xcy5uYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5jdXJyZW50Vmlld3BvcnQgPT09IG1xcy5uYW1lKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0VSUk9SJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgdGhlIE1lZGlhIFF1ZXJ5IGZvciB0aGUgZ2l2ZW4gd2lkdGhcclxuICAgICAqIEBwYXJhbSB3aWR0aCBXaWR0aCB0byBnZXQgdGhlIGFjY29yZGluZyBNUSBmb3JcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBjb252ZXJ0V2lkdGhUb01lZGlhUXVlcnkod2lkdGg6IG51bWJlcikge1xyXG4gICAgICAgIGxldCBjdXJyZW50Vmlld3BvcnQgPSAnJztcclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBtcXMgb2YgdGhpcy52aWV3cG9ydHMpIHtcclxuICAgICAgICAgICAgaWYgKHdpZHRoIDw9IG1xcy5oaWdoICYmIHdpZHRoID49IG1xcy5sb3cpIHtcclxuICAgICAgICAgICAgICAgIGN1cnJlbnRWaWV3cG9ydCA9IG1xcy5uYW1lO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBjdXJyZW50Vmlld3BvcnQ7XHJcbiAgICB9XHJcblxyXG4gICAgaXNQb3J0cmFpdCgpIHtcclxuICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkgcmV0dXJuIHdpbmRvdy5pbm5lckhlaWdodCA+IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gICAgICAgIGVsc2UgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlzTGFuZHNjYXBlKCkge1xyXG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlzTGFuZHNjYXBlID0gd2luZG93Lm9yaWVudGF0aW9uID09PSA5MCB8fCB3aW5kb3cub3JpZW50YXRpb24gPT09IC05MDtcclxuICAgICAgICAgICAgcmV0dXJuIGlzTGFuZHNjYXBlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi9zZXJ2aWNlcy92aWV3cG9ydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQU0zQzs7R0FFRztBQUVILE1BQU0sT0FBTyxlQUFlO0lBNEN4QixZQUF5QyxVQUFrQixFQUEyQixRQUFrQjtRQUEvRCxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQTJCLGFBQVEsR0FBUixRQUFRLENBQVU7UUEzQ3hGLGNBQVMsR0FBRztZQUN4QjtnQkFDSSxJQUFJLEVBQUUsSUFBSTtnQkFDVixHQUFHLEVBQUUsR0FBRztnQkFDUixJQUFJLEVBQUUsR0FBRzthQUNaO1lBQ0Q7Z0JBQ0ksSUFBSSxFQUFFLEdBQUc7Z0JBQ1QsR0FBRyxFQUFFLEdBQUc7Z0JBQ1IsSUFBSSxFQUFFLElBQUk7YUFDYjtZQUNEO2dCQUNJLElBQUksRUFBRSxHQUFHO2dCQUNULEdBQUcsRUFBRSxJQUFJO2dCQUNULElBQUksRUFBRSxJQUFJO2FBQ2I7WUFDRDtnQkFDSSxJQUFJLEVBQUUsR0FBRztnQkFDVCxHQUFHLEVBQUUsSUFBSTtnQkFDVCxJQUFJLEVBQUUsSUFBSTthQUNiO1lBQ0Q7Z0JBQ0ksSUFBSSxFQUFFLElBQUk7Z0JBQ1YsR0FBRyxFQUFFLElBQUk7Z0JBQ1QsSUFBSSxFQUFFLElBQUk7YUFDYjtZQUNEO2dCQUNJLElBQUksRUFBRSxLQUFLO2dCQUNYLEdBQUcsRUFBRSxJQUFJO2dC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TTsyQkFBQyxXQUFXOzhCQUFpRSxRQUFROzBCQUExQyxNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGNvcHlyaWdodCBLTVMgR21iSFxyXG4gKi9cclxuaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTnVsbEFibGUgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5cclxuZGVjbGFyZSBjb25zdCB3aW5kb3c6IGFueTtcclxuZGVjbGFyZSBjb25zdCBkb2N1bWVudDogYW55O1xyXG5cclxuLyoqXHJcbiAqIFNlcnZpY2UgdG8gZ2V0IHZpZXdwb3J0XHJcbiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBWaWV3cG9ydFNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gICAgcHVibGljIHJlYWRvbmx5IHZpZXdwb3J0cyA9IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIG5hbWU6ICd4cycsXHJcbiAgICAgICAgICAgIGxvdzogMzYwLFxyXG4gICAgICAgICAgICBoaWdoOiA5OTAsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIG5hbWU6ICdzJyxcclxuICAgICAgICAgICAgbG93OiA5OTEsXHJcbiAgICAgICAgICAgIGhpZ2g6IDEwMjQsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIG5hbWU6ICdtJyxcclxuICAgICAgICAgICAgbG93OiAxMDI1LFxyXG4gICAgICAgICAgICBoaWdoOiAxMjAwLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBuYW1lOiAnbCcsXHJcbiAgICAgICAgICAgIGxvdzogMTIwMSxcclxuICAgICAgICAgICAgaGlnaDogMTQwMCxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgbmFtZTogJ3hsJyxcclxuICAgICAgICAgICAgbG93OiAxNDAxLFxyXG4gICAgICAgICAgICBoaWdoOiAxNjAwLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBuYW1lOiAneHhsJyxcclxuICAgICAgICAgICAgbG93OiAxNjAxLFxyXG4gICAgICAgICAgICBoaWdoOiAxOTIwLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBuYW1lOiAneHh4bCcsXHJcbiAgICAgICAgICAgIGxvdzogMTkyMSxcclxuICAgICAgICAgICAgaGlnaDogOTk5OTksXHJcbiAgICAgICAgfSxcclxuICAgIF07XHJcblxyXG4gICAgcHJpdmF0ZSB2aWV3cG9ydENoYW5nZWRTdWJzY3JpYmVyOiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcbiAgICBwcml2YXRlIHZpZXdwb3J0UmVzaXplZFN1YnNjcmliZXI6IFN1YmplY3Q8bnVtYmVyPiA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcclxuICAgIHByaXZhdGUgY3VycmVudFZpZXdwb3J0ITogc3RyaW5nO1xyXG4gICAgcHJpdmF0ZSBpc0Jyb3dzZXIgPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IE9iamVjdCwgQEluamVjdChET0NVTUVOVCkgcHVibGljIGRvY3VtZW50OiBEb2N1bWVudCkge1xyXG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XHJcbiAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLmRvY3VtZW50U2l6ZUNoYW5nZWQuYmluZCh0aGlzKSwgeyBwYXNzaXZlOiB0cnVlIH0pO1xyXG4gICAgICAgICAgICB0aGlzLmlzQnJvd3NlciA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0IHdpbmRvdyBoZWlnaHRcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldERvY3VtZW50SGVpZ2h0KCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNCcm93c2VyID8gZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQgOiAxMjAwO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0IHdpbmRvdyB3aWR0aFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0RG9jdW1lbnRXaWR0aCgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmlzQnJvd3NlciA/IGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGggOiAxMjAwO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0IHdpbmRvdyBoZWlnaHRcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldFdpbmRvd0hlaWdodCgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmlzQnJvd3NlciA/IHdpbmRvdy5pbm5lckhlaWdodCA6IDEyMDA7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgd2luZG93IHdpZHRoXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRXaW5kb3dXaWR0aCgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmlzQnJvd3NlciA/IHdpbmRvdy5pbm5lcldpZHRoIDogMTIwMDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdGhlIGN1cnJlbnQgdmlld3BvcnQgTVEgYXMgc3RyaW5nXHJcbiAgICAgKiBAcmV0dXJucyBzdHJpbmdcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldEN1cnJlbnRWaWV3UG9ydCgpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRXaWR0aDogbnVtYmVyID0gdGhpcy5pc0Jyb3dzZXIgPyBkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoIDogMTIwMDtcclxuICAgICAgICB0aGlzLmN1cnJlbnRWaWV3cG9ydCA9IHRoaXMuY29udmVydFdpZHRoVG9NZWRpYVF1ZXJ5KGN1cnJlbnRXaWR0aCk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRWaWV3cG9ydDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdGhlIGN1cnJlbnQgdmlld3BvcnQgTVEgYXMgc3RyaW5nXHJcbiAgICAgKiBAcmV0dXJucyBzdHJpbmdcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldEN1cnJlbnRWaWV3UG9ydE51bWJlcigpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmlzQnJvd3NlciA/IGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGggOiAxMjAwO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUHJvdmlkZXMgbXHCtHMgYXMgc3RyaW5nXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRWaWV3cG9ydENoYW5nZWRPYnNlcnZlcigpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnZpZXdwb3J0Q2hhbmdlZFN1YnNjcmliZXIuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQcm92aWRlcyB0aGUgY3VycmVudCB3aW5kb3cgd2lkdGggYXMgbnVtYmVyXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRWaWV3cG9ydFJlc2l6ZWRPYnNlcnZlcigpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnZpZXdwb3J0UmVzaXplZFN1YnNjcmliZXIuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNjcm9sbFRvRWxlbWVudElkKGVsOiBzdHJpbmcsIGFsaWduQ2VudGVyID0gZmFsc2UpIHtcclxuICAgICAgICBpZiAodGhpcy5pc0Jyb3dzZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5zY3JvbGxUb0VsZW1lbnQoZG9jdW1lbnQucXVlcnlTZWxlY3RvcignIycgKyBlbCksIGFsaWduQ2VudGVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBIZWxwZXIgZnVuY3Rpb24gdGhhdCBzY3JvbGxzIHRvIHRoZSBnaXZlbiBtYXJrdXAgZWxlbWVudC5cclxuICAgICAqIEBwYXJhbSBlbCAtIG5hdGl2ZUVsZW1lbnQgZnJvbSBtYXJrdXBcclxuICAgICAqIEBwYXJhbSBhbGlnbkNlbnRlciAtIGRlZmluZXMgaWYgdGhlIGVsZW1lbnQgbmVlZHMgdG8gYmUgY2VudGVyZWQgb24gd2luZG93XHJcbiAgICAgKi9cclxuXHJcbiAgICBwdWJsaWMgc2Nyb2xsVG9FbGVtZW50KGVsOiBIVE1MRWxlbWVudCwgYWxpZ25DZW50ZXIgPSBmYWxzZSkge1xyXG4gICAgICAgIGlmICh0aGlzLmlzQnJvd3Nlcikge1xyXG4gICAgICAgICAgICBsZXQgZXh0cmFTY3JvbGxUb3AgPSAwO1xyXG5cclxuICAgICAgICAgICAgaWYgKGFsaWduQ2VudGVyKSB7XHJcbiAgICAgICAgICAgICAgICBleHRyYVNjcm9sbFRvcCA9ICh3aW5kb3cuaW5uZXJIZWlnaHQgLSBlbC5jbGllbnRIZWlnaHQpIC8gMjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbGV0IG9mZnNldExlZnQgPSAwO1xyXG4gICAgICAgICAgICBsZXQgb2Zmc2V0VG9wID0gMDtcclxuXHJcbiAgICAgICAgICAgIGxldCBlbFRlbXA6IE51bGxBYmxlPEhUTUxFbGVtZW50PiA9IGVsO1xyXG5cclxuICAgICAgICAgICAgd2hpbGUgKGVsVGVtcCkge1xyXG4gICAgICAgICAgICAgICAgb2Zmc2V0TGVmdCArPSBlbFRlbXAub2Zmc2V0TGVmdDtcclxuICAgICAgICAgICAgICAgIG9mZnNldFRvcCArPSBlbFRlbXAub2Zmc2V0VG9wO1xyXG4gICAgICAgICAgICAgICAgZWxUZW1wID0gZWxUZW1wLnBhcmVudEVsZW1lbnQgPyBlbFRlbXAucGFyZW50RWxlbWVudCA6IG51bGw7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7IGxlZnQ6IG9mZnNldExlZnQsIHRvcDogb2Zmc2V0VG9wIC0gZXh0cmFTY3JvbGxUb3AsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTY3JvbGwgdG8gdGhlIHRvcCBwb3NpdGlvblxyXG4gICAgICogQHBhcmFtIHRvcCAtIHRvcCBwb3NpdGlvbiB2YWx1ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2Nyb2xsVG9wKHRvcDogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNCcm93c2VyKSB7XHJcbiAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7IGxlZnQ6IDAsIHRvcDogdG9wLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBpc1BvcnRyYWl0KCkge1xyXG4gICAgICAgIGlmICh0aGlzLmlzQnJvd3NlcikgcmV0dXJuIHdpbmRvdy5pbm5lckhlaWdodCA+IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gICAgICAgIGVsc2UgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBpc0xhbmRzY2FwZSgpIHtcclxuICAgICAgICBpZiAodGhpcy5pc0Jyb3dzZXIpIHtcclxuICAgICAgICAgICAgY29uc3QgaXNMYW5kc2NhcGUgPSB3aW5kb3cub3JpZW50YXRpb24gPT09IDkwIHx8IHdpbmRvdy5vcmllbnRhdGlvbiA9PT0gLTkwO1xyXG4gICAgICAgICAgICByZXR1cm4gaXNMYW5kc2NhcGU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaXNNb2JpbGUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q3VycmVudFZpZXdQb3J0TnVtYmVyKCkgPCB0aGlzLnZpZXdwb3J0c1syXS5sb3c7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNhbGN1bGF0ZUZ1bGxzY3JlZW5FbGVtZW50c2hlaWdodChpZDogc3RyaW5nLCBkZWZhdWx0aGVpZ2h0OiBzdHJpbmcsIGV4dHJhOiBudW1iZXIpIHtcclxuICAgICAgICBpZiAoIXRoaXMuaXNCcm93c2VyIHx8IHRoaXMuaXNNb2JpbGUoKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZGVmYXVsdGhlaWdodDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zdCBtYXAgPSB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtcclxuICAgICAgICAgICAgY29uc3QgZm9vdGVyID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnZm9vdGVyJylbMF07XHJcbiAgICAgICAgICAgIGlmIChtYXAgJiYgZm9vdGVyKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7d2luZG93LmlubmVySGVpZ2h0IC0gbWFwLm9mZnNldFRvcCAtIGZvb3Rlci5vZmZzZXRIZWlnaHQgLSBleHRyYX1weGA7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ2NvdWxkIG5vdCBjYWxjdWxhdGUgbWFwIGhlaWdodCcpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHRoZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJZiB2aWV3cG9ydCBjaGFuZ2VkXHJcbiAgICAgKiBAZXZlbnRcclxuICAgICAqL1xyXG5cclxuICAgIHByaXZhdGUgZG9jdW1lbnRTaXplQ2hhbmdlZChldmVudDogYW55KSB7XHJcbiAgICAgICAgY29uc3QgY3VycmVudFdpbmRvd1dpZHRoOiBudW1iZXIgPSBldmVudC50YXJnZXQuaW5uZXJXaWR0aDtcclxuICAgICAgICAvLyBpbmZvcm0gd2hvwrRzIGludGVyZXN0ZWRcclxuICAgICAgICB0aGlzLnZpZXdwb3J0UmVzaXplZFN1YnNjcmliZXIubmV4dChjdXJyZW50V2luZG93V2lkdGgpO1xyXG5cclxuICAgICAgICBpZiAoY3VycmVudFdpbmRvd1dpZHRoID4gMCkge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IG1xcyBvZiB0aGlzLnZpZXdwb3J0cykge1xyXG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRXaW5kb3dXaWR0aCA+IG1xcy5oaWdoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKFxyXG4gICAgICAgICAgICAgICAgICAgIChjdXJyZW50V2luZG93V2lkdGggPj0gbXFzLmxvdyB8fCBjdXJyZW50V2luZG93V2lkdGggPD0gbXFzLmhpZ2gpICYmXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50Vmlld3BvcnQgIT09IG1xcy5uYW1lXHJcbiAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRWaWV3cG9ydCA9IG1xcy5uYW1lO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGluZm9ybSB3aG/CtHMgaW50ZXJlc3RlZFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmlld3BvcnRDaGFuZ2VkU3Vic2NyaWJlci5uZXh0KG1xcy5uYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5jdXJyZW50Vmlld3BvcnQgPT09IG1xcy5uYW1lKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0VSUk9SJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgdGhlIE1lZGlhIFF1ZXJ5IGZvciB0aGUgZ2l2ZW4gd2lkdGhcclxuICAgICAqIEBwYXJhbSB3aWR0aCBXaWR0aCB0byBnZXQgdGhlIGFjY29yZGluZyBNUSBmb3JcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBjb252ZXJ0V2lkdGhUb01lZGlhUXVlcnkod2lkdGg6IG51bWJlcikge1xyXG4gICAgICAgIGxldCBjdXJyZW50Vmlld3BvcnQgPSAnJztcclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBtcXMgb2YgdGhpcy52aWV3cG9ydHMpIHtcclxuICAgICAgICAgICAgaWYgKHdpZHRoIDw9IG1xcy5oaWdoICYmIHdpZHRoID49IG1xcy5sb3cpIHtcclxuICAgICAgICAgICAgICAgIGN1cnJlbnRWaWV3cG9ydCA9IG1xcy5uYW1lO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBjdXJyZW50Vmlld3BvcnQ7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNCcm93c2VyKSB7XHJcbiAgICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLmRvY3VtZW50U2l6ZUNoYW5nZWQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
@@ -35,7 +35,7 @@ export class BackToTopComponent {
35
35
  }
36
36
  }
37
37
  BackToTopComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BackToTopComponent, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
38
- BackToTopComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: BackToTopComponent, selector: "kms-back-to-top", host: { listeners: { "window:scroll": "onWindowScroll()" } }, ngImport: i0, template: "<div class=\"scrollToTop\"\r\n [ngClass]=\"{'show': windowScrolled}\"\r\n (click)=\"scrollToTop()\">\r\n <div class=\"scrollToTop-inner\">\r\n <kms-icon icon=\"floating_button_clear\" iconClass=\"color-white\"></kms-icon>\r\n </div>\r\n</div>", components: [{ type: i1.IconComponent, selector: "kms-icon", inputs: ["icon", "iconClass", "iconStyle", "iconSize", "dontUseSprite"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
38
+ BackToTopComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: BackToTopComponent, selector: "kms-back-to-top", host: { listeners: { "window:scroll": "onWindowScroll()" } }, ngImport: i0, template: "<div class=\"scrollToTop\"\r\n [ngClass]=\"{'show': windowScrolled}\"\r\n (click)=\"scrollToTop()\">\r\n <div class=\"scrollToTop-inner\">\r\n <kms-icon icon=\"floating_button_clear\" iconClass=\"color-white\"></kms-icon>\r\n </div>\r\n</div>", components: [{ type: i1.IconComponent, selector: "kms-icon", inputs: ["icon", "iconClass", "iconStyle", "iconSize", "size", "dontUseSprite"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
39
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BackToTopComponent, decorators: [{
40
40
  type: Component,
41
41
  args: [{