ngx-edu-sharing-metaqs2 0.9.36 → 0.9.37

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.
@@ -104,7 +104,7 @@ export class CollectionCountHistoryComponent {
104
104
  }), finalize(() => this.isLoading.set(false)));
105
105
  }
106
106
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CollectionCountHistoryComponent, deps: [{ token: i1.MetaApiService }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component }); }
107
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CollectionCountHistoryComponent, isStandalone: true, selector: "metaqs2-collection-count-history", inputs: { pageTitle: "pageTitle" }, viewQueries: [{ propertyName: "chart", first: true, predicate: BaseChartDirective, descendants: true }], ngImport: i0, template: "<mat-card appearance=\"outlined\">\n <mat-card-header *ngIf=\"pageTitle\">\n <mat-card-title>\n {{ pageTitle }}{{ isLoading() ? \": Lade neue Daten.\" : \"\" }}\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <div style=\"display: flex; gap: 0.5rem; align-items: center\">\n <mat-slide-toggle [(ngModel)]=\"isHistoryEnabled\" [disabled]=\"isLoading()\">\n <label>Zeige historische Daten</label>\n </mat-slide-toggle>\n <metaqs2-monthpicker *ngIf=\"isHistoryEnabled()\"\n [inputGroup]=\"range\"></metaqs2-monthpicker>\n </div>\n <metaqs2-progress-spinner [displayProgressSpinner]=\"isLoading()\"></metaqs2-progress-spinner>\n\n <div [class.while-loading]=\"isLoading()\">\n <canvas\n baseChart\n [datasets]=\"(datapoints$ | async) || []\"\n [options]=\"lineChartOptions\"\n [type]=\"'line'\"\n ></canvas>\n </div>\n </mat-card-content>\n</mat-card>\n", styles: [".while-loading{filter:blur(2px)}\n"], dependencies: [{ kind: "directive", type: BaseChartDirective, selector: "canvas[baseChart]", inputs: ["type", "legend", "data", "options", "plugins", "labels", "datasets"], outputs: ["chartClick", "chartHover"], exportAs: ["base-chart"] }, { kind: "component", type: MonthpickerComponent, selector: "metaqs2-monthpicker", inputs: ["startView", "inputGroup", "disabled"] }, { kind: "component", type: MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: MatCardContent, selector: "mat-card-content" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ProgressSpinnerComponent, selector: "metaqs2-progress-spinner", inputs: ["color", "diameter", "strokeWidth", "backdropEnabled", "positionGloballyCenter", "displayProgressSpinner"] }] }); }
107
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CollectionCountHistoryComponent, isStandalone: true, selector: "metaqs2-collection-count-history", inputs: { pageTitle: "pageTitle" }, viewQueries: [{ propertyName: "chart", first: true, predicate: BaseChartDirective, descendants: true }], ngImport: i0, template: "<mat-card appearance=\"outlined\">\n <mat-card-header *ngIf=\"pageTitle\">\n <mat-card-title>\n {{ pageTitle }}{{ isLoading() ? \": Lade neue Daten.\" : \"\" }}\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <div style=\"display: flex; gap: 0.5rem; align-items: center\">\n <div style=\"flex: 1 1 auto\"></div>\n <metaqs2-monthpicker *ngIf=\"isHistoryEnabled()\" [inputGroup]=\"range\"></metaqs2-monthpicker>\n <mat-slide-toggle [ngModel]=\"isHistoryEnabled()\" (ngModelChange)=\"isHistoryEnabled.set($event)\" [disabled]=\"isLoading()\">\n <label>Zeige historische Daten</label>\n </mat-slide-toggle>\n </div>\n <metaqs2-progress-spinner [displayProgressSpinner]=\"isLoading()\"></metaqs2-progress-spinner>\n\n <div [class.while-loading]=\"isLoading()\">\n <canvas\n baseChart\n [datasets]=\"(datapoints$ | async) || []\"\n [options]=\"lineChartOptions\"\n [type]=\"'line'\"\n ></canvas>\n </div>\n </mat-card-content>\n</mat-card>\n", styles: [".while-loading{filter:blur(2px)}\n"], dependencies: [{ kind: "directive", type: BaseChartDirective, selector: "canvas[baseChart]", inputs: ["type", "legend", "data", "options", "plugins", "labels", "datasets"], outputs: ["chartClick", "chartHover"], exportAs: ["base-chart"] }, { kind: "component", type: MonthpickerComponent, selector: "metaqs2-monthpicker", inputs: ["startView", "inputGroup", "disabled"] }, { kind: "component", type: MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: MatCardContent, selector: "mat-card-content" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ProgressSpinnerComponent, selector: "metaqs2-progress-spinner", inputs: ["color", "diameter", "strokeWidth", "backdropEnabled", "positionGloballyCenter", "displayProgressSpinner"] }] }); }
108
108
  }
109
109
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CollectionCountHistoryComponent, decorators: [{
110
110
  type: Component,
@@ -121,11 +121,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
121
121
  MatSlideToggle,
122
122
  FormsModule,
123
123
  ProgressSpinnerComponent,
124
- ], template: "<mat-card appearance=\"outlined\">\n <mat-card-header *ngIf=\"pageTitle\">\n <mat-card-title>\n {{ pageTitle }}{{ isLoading() ? \": Lade neue Daten.\" : \"\" }}\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <div style=\"display: flex; gap: 0.5rem; align-items: center\">\n <mat-slide-toggle [(ngModel)]=\"isHistoryEnabled\" [disabled]=\"isLoading()\">\n <label>Zeige historische Daten</label>\n </mat-slide-toggle>\n <metaqs2-monthpicker *ngIf=\"isHistoryEnabled()\"\n [inputGroup]=\"range\"></metaqs2-monthpicker>\n </div>\n <metaqs2-progress-spinner [displayProgressSpinner]=\"isLoading()\"></metaqs2-progress-spinner>\n\n <div [class.while-loading]=\"isLoading()\">\n <canvas\n baseChart\n [datasets]=\"(datapoints$ | async) || []\"\n [options]=\"lineChartOptions\"\n [type]=\"'line'\"\n ></canvas>\n </div>\n </mat-card-content>\n</mat-card>\n", styles: [".while-loading{filter:blur(2px)}\n"] }]
124
+ ], template: "<mat-card appearance=\"outlined\">\n <mat-card-header *ngIf=\"pageTitle\">\n <mat-card-title>\n {{ pageTitle }}{{ isLoading() ? \": Lade neue Daten.\" : \"\" }}\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <div style=\"display: flex; gap: 0.5rem; align-items: center\">\n <div style=\"flex: 1 1 auto\"></div>\n <metaqs2-monthpicker *ngIf=\"isHistoryEnabled()\" [inputGroup]=\"range\"></metaqs2-monthpicker>\n <mat-slide-toggle [ngModel]=\"isHistoryEnabled()\" (ngModelChange)=\"isHistoryEnabled.set($event)\" [disabled]=\"isLoading()\">\n <label>Zeige historische Daten</label>\n </mat-slide-toggle>\n </div>\n <metaqs2-progress-spinner [displayProgressSpinner]=\"isLoading()\"></metaqs2-progress-spinner>\n\n <div [class.while-loading]=\"isLoading()\">\n <canvas\n baseChart\n [datasets]=\"(datapoints$ | async) || []\"\n [options]=\"lineChartOptions\"\n [type]=\"'line'\"\n ></canvas>\n </div>\n </mat-card-content>\n</mat-card>\n", styles: [".while-loading{filter:blur(2px)}\n"] }]
125
125
  }], ctorParameters: () => [{ type: i1.MetaApiService }, { type: i0.DestroyRef }], propDecorators: { chart: [{
126
126
  type: ViewChild,
127
127
  args: [BaseChartDirective]
128
128
  }], pageTitle: [{
129
129
  type: Input
130
130
  }] } });
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1jb3VudC1oaXN0b3J5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1ldGEtd2lkZ2V0cy1saWIvc3JjL2xpYi9jb2xsZWN0aW9uLWNvdW50LWhpc3RvcnkvY29sbGVjdGlvbi1jb3VudC1oaXN0b3J5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1ldGEtd2lkZ2V0cy1saWIvc3JjL2xpYi9jb2xsZWN0aW9uLWNvdW50LWhpc3RvcnkvY29sbGVjdGlvbi1jb3VudC1oaXN0b3J5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNoRCxPQUFPLEVBQUUsUUFBUSxFQUFnQixNQUFNLE9BQU8sQ0FBQztBQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFB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VUFBVSxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLEVBQ0YsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQzFDLENBQUM7SUFDSixDQUFDOytHQTVHVSwrQkFBK0I7bUdBQS9CLCtCQUErQix1S0FDL0Isa0JBQWtCLGdEQ3RDL0IsbzhCQTBCQSw0RkRMSSxrQkFBa0IsK01BQ2xCLG9CQUFvQixpSEFDcEIsT0FBTyxvR0FDUCxhQUFhLDREQUNiLFlBQVksNkZBQ1osY0FBYyx3REFDZCxTQUFTLDZDQUNULG1CQUFtQix1SUFDbkIsSUFBSSw2RkFDSixjQUFjLHlVQUNkLFdBQVcsdVBBQ1gsd0JBQXdCOzs0RkFLZiwrQkFBK0I7a0JBcEIzQyxTQUFTOytCQUNFLGtDQUFrQyxjQUNoQyxJQUFJLFdBQ1A7d0JBQ1Asa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLE9BQU87d0JBQ1AsYUFBYTt3QkFDYixZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsU0FBUzt3QkFDVCxtQkFBbUI7d0JBQ25CLElBQUk7d0JBQ0osY0FBYzt3QkFDZCxXQUFXO3dCQUNYLHdCQUF3QjtxQkFDekI7NEdBSzhCLEtBQUs7c0JBQW5DLFNBQVM7dUJBQUMsa0JBQWtCO2dCQXdCN0IsU0FBUztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBEZXN0cm95UmVmLCBlZmZlY3QsIElucHV0LCBPbkluaXQsIHNpZ25hbCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGFydENvbmZpZ3VyYXRpb24sIENoYXJ0RGF0YXNldCB9IGZyb20gJ2NoYXJ0LmpzJztcbmltcG9ydCB7IEJhc2VDaGFydERpcmVjdGl2ZSB9IGZyb20gJ25nMi1jaGFydHMnO1xuaW1wb3J0IHsgRGF0ZVRpbWUsIERhdGVUaW1lVW5pdCB9IGZyb20gJ2x1eG9uJztcbmltcG9ydCB7IE1hdENhcmQsIE1hdENhcmRDb250ZW50LCBNYXRDYXJkSGVhZGVyLCBNYXRDYXJkVGl0bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBNb250aHBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vbW9udGhwaWNrZXIvbW9udGhwaWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IENvdW50LCBNYXRlcmlhbENvdW50RmlsdGVyIH0gZnJvbSAnLi4vamF2YS1hcGknO1xuaW1wb3J0IHsgTWV0YUFwaVNlcnZpY2UgfSBmcm9tICcuLi9tZXRhLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIGZpbmFsaXplLCBtYXAsIHN3aXRjaE1hcCwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NTcGlubmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9sb2FkaW5nX2luZGljYXRvci9wcm9ncmVzcy1zcGlubmVyL3Byb2dyZXNzLXNwaW5uZXIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWV0YXFzMi1jb2xsZWN0aW9uLWNvdW50LWhpc3RvcnknLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQmFzZUNoYXJ0RGlyZWN0aXZlLFxuICAgIE1vbnRocGlja2VyQ29tcG9uZW50LFxuICAgIE1hdENhcmQsXG4gICAgTWF0Q2FyZEhlYWRlcixcbiAgICBNYXRDYXJkVGl0bGUsXG4gICAgTWF0Q2FyZENvbnRlbnQsXG4gICAgQXN5bmNQaXBlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTmdJZixcbiAgICBNYXRTbGlkZVRvZ2dsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBQcm9ncmVzc1NwaW5uZXJDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2xsZWN0aW9uLWNvdW50LWhpc3RvcnkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vY29sbGVjdGlvbi1jb3VudC1oaXN0b3J5LmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgQ29sbGVjdGlvbkNvdW50SGlzdG9yeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoQmFzZUNoYXJ0RGlyZWN0aXZlKSBjaGFydD86IEJhc2VDaGFydERpcmVjdGl2ZTtcbiAgcHJvdGVjdGVkIGxpbmVDaGFydE9wdGlvbnM6IENoYXJ0Q29uZmlndXJhdGlvblsnb3B0aW9ucyddID0ge1xuICAgIHBhcnNpbmc6IHtcbiAgICAgIHhBeGlzS2V5OiAnZGF0ZScsXG4gICAgICB5QXhpc0tleTogJ2NvdW50JyxcbiAgICB9LFxuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogJ01vbnRzZXJyYXQnLFxuICAgIH0sXG4gICAgYW5pbWF0aW9uOiBmYWxzZSxcbiAgfTtcbiAgcHJvdGVjdGVkIGRhdGFwb2ludHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDaGFydERhdGFzZXQ8J2xpbmUnLCBDb3VudFtdPltdPihbXSk7XG4gIHByb3RlY3RlZCBpc0xvYWRpbmcgPSBzaWduYWwodHJ1ZSk7XG4gIHJlYWRvbmx5IHJhbmdlOiBGb3JtR3JvdXA8e1xuICAgIHN0YXJ0OiBGb3JtQ29udHJvbDxEYXRlVGltZTxib29sZWFuPj47XG4gICAgZW5kOiBGb3JtQ29udHJvbDxEYXRlVGltZTxib29sZWFuPj47XG4gIH0+ID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgc3RhcnQ6IG5ldyBGb3JtQ29udHJvbCgpLFxuICAgIGVuZDogbmV3IEZvcm1Db250cm9sKCksXG4gIH0pO1xuICBwcm90ZWN0ZWQgZ3JhbnVsYXJpdGllczogRGF0ZVRpbWVVbml0W10gPSBbJ3llYXInLCAnbW9udGgnLCAnd2VlaycsICdkYXknXTtcbiAgcHJvdGVjdGVkIGdyYW51bGFyaXR5ID0gbmV3IEZvcm1Db250cm9sPERhdGVUaW1lVW5pdD4oJ21vbnRoJywgeyBub25OdWxsYWJsZTogdHJ1ZSB9KTtcblxuICBASW5wdXQoKVxuICBwYWdlVGl0bGU6IHN0cmluZztcbiAgaXNIaXN0b3J5RW5hYmxlZCA9IHNpZ25hbCh0cnVlKTtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBtZXRhQXBpOiBNZXRhQXBpU2VydmljZSwgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmOiBEZXN0cm95UmVmKSB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIHRoaXMucmFuZ2UuY29udHJvbHMuZW5kLnJlc2V0KCk7XG4gICAgICBpZiAoIXRoaXMuaXNIaXN0b3J5RW5hYmxlZCgpKSB7XG4gICAgICAgIHRoaXMucmFuZ2UuY29udHJvbHMuc3RhcnQuc2V0VmFsdWUodGhpcy5yYW5nZS5jb250cm9scy5lbmQudmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yYW5nZS5jb250cm9scy5zdGFydC5yZXNldCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZWdpc3RlckRhdGVSYW5nZUZpbHRlcigpO1xuICB9XG5cbiAgcmVnaXN0ZXJEYXRlUmFuZ2VGaWx0ZXIoKSB7XG4gICAgdGhpcy5yYW5nZS52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKHJhbmdlKTogcmFuZ2UgaXMgeyBzdGFydDogRGF0ZVRpbWU7IGVuZDogRGF0ZVRpbWUgfSA9PiAhIXJhbmdlLnN0YXJ0ICYmICEhcmFuZ2UuZW5kKSxcbiAgICAgICAgLy90aGUgTWF0ZXJpYWwgRGF0ZXBpY2tlciBlbWl0cyB0aGUgaW5pdGlhbCB2YWx1ZXMgNCB0aW1lcyB3aGVuIGl0IHN0YXJ0cywgc28gd2UgbmVlZCB0byBkaXN0aW5jdCB0aGVtXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2LCBjdXJyKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHByZXYuc3RhcnQgPT09IGN1cnIuc3RhcnQgJiYgcHJldi5lbmQgPT09IGN1cnIuZW5kO1xuICAgICAgICB9KSxcbiAgICAgICAgc3dpdGNoTWFwKChyYW5nZSkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLmlzSGlzdG9yeUVuYWJsZWQoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9hZERhdGEocmFuZ2Uuc3RhcnQsIHJhbmdlLmVuZCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxvYWREYXRhKHJhbmdlLmVuZC5zdGFydE9mKHRoaXMuZ3JhbnVsYXJpdHkudmFsdWUpLCByYW5nZS5lbmQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5tZXRhQXBpXG4gICAgICAuZ2V0VGltZXJhbmdlRmlsdGVyKClcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChyYW5nZUZpbHRlcikgPT4ge1xuICAgICAgICBpZiAocmFuZ2VGaWx0ZXIpIHtcbiAgICAgICAgICBjb25zdCBzdGFydERhdGUgPSBEYXRlVGltZS5mcm9tSVNPKHJhbmdlRmlsdGVyLnZhbHVlcy5maW5kKCh2KSA9PiB2LmlkID09PSAncmFuZ2VTdGFydCcpPy5sYWJlbCEsIHtcbiAgICAgICAgICAgIHpvbmU6ICd1dGMnLFxuICAgICAgICAgIH0pLnN0YXJ0T2YodGhpcy5ncmFudWxhcml0eS52YWx1ZSk7XG4gICAgICAgICAgY29uc3QgZW5kRGF0ZSA9IERhdGVUaW1lLmZyb21JU08ocmFuZ2VGaWx0ZXIudmFsdWVzLmZpbmQoKHYpID0+IHYuaWQgPT09ICdyYW5nZUVuZCcpPy5sYWJlbCEsIHtcbiAgICAgICAgICAgIHpvbmU6ICd1dGMnLFxuICAgICAgICAgIH0pLmVuZE9mKHRoaXMuZ3JhbnVsYXJpdHkudmFsdWUpO1xuICAgICAgICAgIHRoaXMucmFuZ2Uuc2V0Q29udHJvbCgnc3RhcnQnLCBuZXcgRm9ybUNvbnRyb2w8RGF0ZVRpbWU+KHN0YXJ0RGF0ZSwgeyBub25OdWxsYWJsZTogdHJ1ZSB9KSwge1xuICAgICAgICAgICAgZW1pdEV2ZW50OiBmYWxzZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLnJhbmdlLnNldENvbnRyb2woJ2VuZCcsIG5ldyBGb3JtQ29udHJvbDxEYXRlVGltZT4oZW5kRGF0ZSwgeyBub25OdWxsYWJsZTogdHJ1ZSB9KSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZERhdGEoc3RhcnQ/OiBEYXRlVGltZTxib29sZWFuPiwgZW5kPzogRGF0ZVRpbWU8Ym9vbGVhbj4pIHtcbiAgICB0aGlzLmlzTG9hZGluZy5zZXQodHJ1ZSk7XG5cbiAgICBjb25zdCByZXF1ZXN0OiBNYXRlcmlhbENvdW50RmlsdGVyID0ge1xuICAgICAgc3RhcnREYXRlOiBzdGFydD8udG9JU08oKSEsXG4gICAgICBlbmREYXRlOiBlbmQ/LnRvSVNPKCkhLFxuICAgICAgZ3JhbnVsYXJpdHk6IHRoaXMuZ3JhbnVsYXJpdHkudmFsdWUsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLm1ldGFBcGkuZ2V0RWRpdG9yaWFsTWF0ZXJpYWxDb3VudHMocmVxdWVzdCkucGlwZShcbiAgICAgIG1hcCgocmVzcG9uc2UpID0+XG4gICAgICAgIHJlc3BvbnNlLm1hcCgoZGF0YSkgPT4ge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkYXRhOiBkYXRhLmNvdW50cy5tYXAoKGNvdW50KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZGF0ZTogRGF0ZVRpbWUuZnJvbUlTTyhjb3VudC5kYXRlKS50b0Zvcm1hdCgnTExMTCB5eXl5JykhLFxuICAgICAgICAgICAgICAgIGNvdW50OiBjb3VudC5jb3VudCxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbGFiZWw6IGRhdGEubmFtZSxcbiAgICAgICAgICB9O1xuICAgICAgICB9KVxuICAgICAgKSxcbiAgICAgIHRha2UoMSksXG4gICAgICB0YXAoKGRhdGFwb2ludHMpID0+IHtcbiAgICAgICAgdGhpcy5kYXRhcG9pbnRzJC5uZXh0KGRhdGFwb2ludHMpO1xuICAgICAgfSksXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmlzTG9hZGluZy5zZXQoZmFsc2UpKVxuICAgICk7XG4gIH1cbn1cbiIsIjxtYXQtY2FyZCBhcHBlYXJhbmNlPVwib3V0bGluZWRcIj5cbiAgPG1hdC1jYXJkLWhlYWRlciAqbmdJZj1cInBhZ2VUaXRsZVwiPlxuICAgIDxtYXQtY2FyZC10aXRsZT5cbiAgICAgIHt7IHBhZ2VUaXRsZSB9fXt7IGlzTG9hZGluZygpID8gXCI6IExhZGUgbmV1ZSBEYXRlbi5cIiA6IFwiXCIgfX1cbiAgICA8L21hdC1jYXJkLXRpdGxlPlxuICA8L21hdC1jYXJkLWhlYWRlcj5cbiAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGdhcDogMC41cmVtOyBhbGlnbi1pdGVtczogY2VudGVyXCI+XG4gICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBbKG5nTW9kZWwpXT1cImlzSGlzdG9yeUVuYWJsZWRcIiBbZGlzYWJsZWRdPVwiaXNMb2FkaW5nKClcIj5cbiAgICAgICAgPGxhYmVsPlplaWdlIGhpc3RvcmlzY2hlIERhdGVuPC9sYWJlbD5cbiAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDxtZXRhcXMyLW1vbnRocGlja2VyICpuZ0lmPVwiaXNIaXN0b3J5RW5hYmxlZCgpXCJcbiAgICAgICAgW2lucHV0R3JvdXBdPVwicmFuZ2VcIj48L21ldGFxczItbW9udGhwaWNrZXI+XG4gICAgPC9kaXY+XG4gICAgPG1ldGFxczItcHJvZ3Jlc3Mtc3Bpbm5lciBbZGlzcGxheVByb2dyZXNzU3Bpbm5lcl09XCJpc0xvYWRpbmcoKVwiPjwvbWV0YXFzMi1wcm9ncmVzcy1zcGlubmVyPlxuXG4gICAgPGRpdiBbY2xhc3Mud2hpbGUtbG9hZGluZ109XCJpc0xvYWRpbmcoKVwiPlxuICAgICAgPGNhbnZhc1xuICAgICAgICBiYXNlQ2hhcnRcbiAgICAgICAgW2RhdGFzZXRzXT1cIihkYXRhcG9pbnRzJCB8IGFzeW5jKSB8fCBbXVwiXG4gICAgICAgIFtvcHRpb25zXT1cImxpbmVDaGFydE9wdGlvbnNcIlxuICAgICAgICBbdHlwZV09XCInbGluZSdcIlxuICAgICAgPjwvY2FudmFzPlxuICAgIDwvZGl2PlxuICA8L21hdC1jYXJkLWNvbnRlbnQ+XG48L21hdC1jYXJkPlxuIl19
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1jb3VudC1oaXN0b3J5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1ldGEtd2lkZ2V0cy1saWIvc3JjL2xpYi9jb2xsZWN0aW9uLWNvdW50LWhpc3RvcnkvY29sbGVjdGlvbi1jb3VudC1oaXN0b3J5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1ldGEtd2lkZ2V0cy1saWIvc3JjL2xpYi9jb2xsZWN0aW9uLWNvdW50LWhpc3RvcnkvY29sbGVjdGlvbi1jb3VudC1oaXN0b3J5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNoRCxPQUFPLEVBQUUsUUFBUSxFQUFnQixNQUFNLE9BQU8sQ0FBQztBQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFB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VUFBVSxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLEVBQ0YsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQzFDLENBQUM7SUFDSixDQUFDOytHQTVHVSwrQkFBK0I7bUdBQS9CLCtCQUErQix1S0FDL0Isa0JBQWtCLGdEQ3JDL0Isd2hDQTBCQSw0RkROSSxrQkFBa0IsK01BQ2xCLG9CQUFvQixpSEFDcEIsT0FBTyxvR0FDUCxhQUFhLDREQUNiLFlBQVksNkZBQ1osY0FBYyx3REFDZCxTQUFTLDZDQUNULG1CQUFtQix1SUFDbkIsSUFBSSw2RkFDSixjQUFjLHlVQUNkLFdBQVcsdVBBQ1gsd0JBQXdCOzs0RkFLZiwrQkFBK0I7a0JBcEIzQyxTQUFTOytCQUNFLGtDQUFrQyxjQUNoQyxJQUFJLFdBQ1A7d0JBQ1Asa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLE9BQU87d0JBQ1AsYUFBYTt3QkFDYixZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsU0FBUzt3QkFDVCxtQkFBbUI7d0JBQ25CLElBQUk7d0JBQ0osY0FBYzt3QkFDZCxXQUFXO3dCQUNYLHdCQUF3QjtxQkFDekI7NEdBSzhCLEtBQUs7c0JBQW5DLFNBQVM7dUJBQUMsa0JBQWtCO2dCQXdCN0IsU0FBUztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBEZXN0cm95UmVmLCBlZmZlY3QsIElucHV0LCBPbkluaXQsIHNpZ25hbCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGFydENvbmZpZ3VyYXRpb24sIENoYXJ0RGF0YXNldCB9IGZyb20gJ2NoYXJ0LmpzJztcbmltcG9ydCB7IEJhc2VDaGFydERpcmVjdGl2ZSB9IGZyb20gJ25nMi1jaGFydHMnO1xuaW1wb3J0IHsgRGF0ZVRpbWUsIERhdGVUaW1lVW5pdCB9IGZyb20gJ2x1eG9uJztcbmltcG9ydCB7IE1hdENhcmQsIE1hdENhcmRDb250ZW50LCBNYXRDYXJkSGVhZGVyLCBNYXRDYXJkVGl0bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTW9udGhwaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL21vbnRocGlja2VyL21vbnRocGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb3VudCwgTWF0ZXJpYWxDb3VudEZpbHRlciB9IGZyb20gJy4uL2phdmEtYXBpJztcbmltcG9ydCB7IE1ldGFBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vbWV0YS1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFzeW5jUGlwZSwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBmaW5hbGl6ZSwgbWFwLCBzd2l0Y2hNYXAsIHRha2UsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcbmltcG9ydCB7IFByb2dyZXNzU3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvbG9hZGluZ19pbmRpY2F0b3IvcHJvZ3Jlc3Mtc3Bpbm5lci9wcm9ncmVzcy1zcGlubmVyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21ldGFxczItY29sbGVjdGlvbi1jb3VudC1oaXN0b3J5JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEJhc2VDaGFydERpcmVjdGl2ZSxcbiAgICBNb250aHBpY2tlckNvbXBvbmVudCxcbiAgICBNYXRDYXJkLFxuICAgIE1hdENhcmRIZWFkZXIsXG4gICAgTWF0Q2FyZFRpdGxlLFxuICAgIE1hdENhcmRDb250ZW50LFxuICAgIEFzeW5jUGlwZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE5nSWYsXG4gICAgTWF0U2xpZGVUb2dnbGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUHJvZ3Jlc3NTcGlubmVyQ29tcG9uZW50LFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vY29sbGVjdGlvbi1jb3VudC1oaXN0b3J5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2NvbGxlY3Rpb24tY291bnQtaGlzdG9yeS5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIENvbGxlY3Rpb25Db3VudEhpc3RvcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAVmlld0NoaWxkKEJhc2VDaGFydERpcmVjdGl2ZSkgY2hhcnQ/OiBCYXNlQ2hhcnREaXJlY3RpdmU7XG4gIHByb3RlY3RlZCBsaW5lQ2hhcnRPcHRpb25zOiBDaGFydENvbmZpZ3VyYXRpb25bJ29wdGlvbnMnXSA9IHtcbiAgICBwYXJzaW5nOiB7XG4gICAgICB4QXhpc0tleTogJ2RhdGUnLFxuICAgICAgeUF4aXNLZXk6ICdjb3VudCcsXG4gICAgfSxcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6ICdNb250c2VycmF0JyxcbiAgICB9LFxuICAgIGFuaW1hdGlvbjogZmFsc2UsXG4gIH07XG4gIHByb3RlY3RlZCBkYXRhcG9pbnRzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q2hhcnREYXRhc2V0PCdsaW5lJywgQ291bnRbXT5bXT4oW10pO1xuICBwcm90ZWN0ZWQgaXNMb2FkaW5nID0gc2lnbmFsKHRydWUpO1xuICByZWFkb25seSByYW5nZTogRm9ybUdyb3VwPHtcbiAgICBzdGFydDogRm9ybUNvbnRyb2w8RGF0ZVRpbWU8Ym9vbGVhbj4+O1xuICAgIGVuZDogRm9ybUNvbnRyb2w8RGF0ZVRpbWU8Ym9vbGVhbj4+O1xuICB9PiA9IG5ldyBGb3JtR3JvdXAoe1xuICAgIHN0YXJ0OiBuZXcgRm9ybUNvbnRyb2woKSxcbiAgICBlbmQ6IG5ldyBGb3JtQ29udHJvbCgpLFxuICB9KTtcbiAgcHJvdGVjdGVkIGdyYW51bGFyaXRpZXM6IERhdGVUaW1lVW5pdFtdID0gWyd5ZWFyJywgJ21vbnRoJywgJ3dlZWsnLCAnZGF5J107XG4gIHByb3RlY3RlZCBncmFudWxhcml0eSA9IG5ldyBGb3JtQ29udHJvbDxEYXRlVGltZVVuaXQ+KCdtb250aCcsIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG5cbiAgQElucHV0KClcbiAgcGFnZVRpdGxlOiBzdHJpbmc7XG4gIGlzSGlzdG9yeUVuYWJsZWQgPSBzaWduYWwodHJ1ZSk7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbWV0YUFwaTogTWV0YUFwaVNlcnZpY2UsIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZjogRGVzdHJveVJlZikge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLnJhbmdlLmNvbnRyb2xzLmVuZC5yZXNldCgpO1xuICAgICAgaWYgKCF0aGlzLmlzSGlzdG9yeUVuYWJsZWQoKSkge1xuICAgICAgICB0aGlzLnJhbmdlLmNvbnRyb2xzLnN0YXJ0LnNldFZhbHVlKHRoaXMucmFuZ2UuY29udHJvbHMuZW5kLnZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmFuZ2UuY29udHJvbHMuc3RhcnQucmVzZXQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVnaXN0ZXJEYXRlUmFuZ2VGaWx0ZXIoKTtcbiAgfVxuXG4gIHJlZ2lzdGVyRGF0ZVJhbmdlRmlsdGVyKCkge1xuICAgIHRoaXMucmFuZ2UudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChyYW5nZSk6IHJhbmdlIGlzIHsgc3RhcnQ6IERhdGVUaW1lOyBlbmQ6IERhdGVUaW1lIH0gPT4gISFyYW5nZS5zdGFydCAmJiAhIXJhbmdlLmVuZCksXG4gICAgICAgIC8vdGhlIE1hdGVyaWFsIERhdGVwaWNrZXIgZW1pdHMgdGhlIGluaXRpYWwgdmFsdWVzIDQgdGltZXMgd2hlbiBpdCBzdGFydHMsIHNvIHdlIG5lZWQgdG8gZGlzdGluY3QgdGhlbVxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgocHJldiwgY3VycikgPT4ge1xuICAgICAgICAgIHJldHVybiBwcmV2LnN0YXJ0ID09PSBjdXJyLnN0YXJ0ICYmIHByZXYuZW5kID09PSBjdXJyLmVuZDtcbiAgICAgICAgfSksXG4gICAgICAgIHN3aXRjaE1hcCgocmFuZ2UpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5pc0hpc3RvcnlFbmFibGVkKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxvYWREYXRhKHJhbmdlLnN0YXJ0LCByYW5nZS5lbmQpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkRGF0YShyYW5nZS5lbmQuc3RhcnRPZih0aGlzLmdyYW51bGFyaXR5LnZhbHVlKSwgcmFuZ2UuZW5kKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICAgIHRoaXMubWV0YUFwaVxuICAgICAgLmdldFRpbWVyYW5nZUZpbHRlcigpXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgocmFuZ2VGaWx0ZXIpID0+IHtcbiAgICAgICAgaWYgKHJhbmdlRmlsdGVyKSB7XG4gICAgICAgICAgY29uc3Qgc3RhcnREYXRlID0gRGF0ZVRpbWUuZnJvbUlTTyhyYW5nZUZpbHRlci52YWx1ZXMuZmluZCgodikgPT4gdi5pZCA9PT0gJ3JhbmdlU3RhcnQnKT8ubGFiZWwhLCB7XG4gICAgICAgICAgICB6b25lOiAndXRjJyxcbiAgICAgICAgICB9KS5zdGFydE9mKHRoaXMuZ3JhbnVsYXJpdHkudmFsdWUpO1xuICAgICAgICAgIGNvbnN0IGVuZERhdGUgPSBEYXRlVGltZS5mcm9tSVNPKHJhbmdlRmlsdGVyLnZhbHVlcy5maW5kKCh2KSA9PiB2LmlkID09PSAncmFuZ2VFbmQnKT8ubGFiZWwhLCB7XG4gICAgICAgICAgICB6b25lOiAndXRjJyxcbiAgICAgICAgICB9KS5lbmRPZih0aGlzLmdyYW51bGFyaXR5LnZhbHVlKTtcbiAgICAgICAgICB0aGlzLnJhbmdlLnNldENvbnRyb2woJ3N0YXJ0JywgbmV3IEZvcm1Db250cm9sPERhdGVUaW1lPihzdGFydERhdGUsIHsgbm9uTnVsbGFibGU6IHRydWUgfSksIHtcbiAgICAgICAgICAgIGVtaXRFdmVudDogZmFsc2UsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5yYW5nZS5zZXRDb250cm9sKCdlbmQnLCBuZXcgRm9ybUNvbnRyb2w8RGF0ZVRpbWU+KGVuZERhdGUsIHsgbm9uTnVsbGFibGU6IHRydWUgfSksIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxvYWREYXRhKHN0YXJ0PzogRGF0ZVRpbWU8Ym9vbGVhbj4sIGVuZD86IERhdGVUaW1lPGJvb2xlYW4+KSB7XG4gICAgdGhpcy5pc0xvYWRpbmcuc2V0KHRydWUpO1xuXG4gICAgY29uc3QgcmVxdWVzdDogTWF0ZXJpYWxDb3VudEZpbHRlciA9IHtcbiAgICAgIHN0YXJ0RGF0ZTogc3RhcnQ/LnRvSVNPKCkhLFxuICAgICAgZW5kRGF0ZTogZW5kPy50b0lTTygpISxcbiAgICAgIGdyYW51bGFyaXR5OiB0aGlzLmdyYW51bGFyaXR5LnZhbHVlLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5tZXRhQXBpLmdldEVkaXRvcmlhbE1hdGVyaWFsQ291bnRzKHJlcXVlc3QpLnBpcGUoXG4gICAgICBtYXAoKHJlc3BvbnNlKSA9PlxuICAgICAgICByZXNwb25zZS5tYXAoKGRhdGEpID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZGF0YTogZGF0YS5jb3VudHMubWFwKChjb3VudCkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGRhdGU6IERhdGVUaW1lLmZyb21JU08oY291bnQuZGF0ZSkudG9Gb3JtYXQoJ0xMTEwgeXl5eScpISxcbiAgICAgICAgICAgICAgICBjb3VudDogY291bnQuY291bnQsXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGxhYmVsOiBkYXRhLm5hbWUsXG4gICAgICAgICAgfTtcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgICB0YWtlKDEpLFxuICAgICAgdGFwKChkYXRhcG9pbnRzKSA9PiB7XG4gICAgICAgIHRoaXMuZGF0YXBvaW50cyQubmV4dChkYXRhcG9pbnRzKTtcbiAgICAgIH0pLFxuICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5pc0xvYWRpbmcuc2V0KGZhbHNlKSlcbiAgICApO1xuICB9XG59XG4iLCI8bWF0LWNhcmQgYXBwZWFyYW5jZT1cIm91dGxpbmVkXCI+XG4gIDxtYXQtY2FyZC1oZWFkZXIgKm5nSWY9XCJwYWdlVGl0bGVcIj5cbiAgICA8bWF0LWNhcmQtdGl0bGU+XG4gICAgICB7eyBwYWdlVGl0bGUgfX17eyBpc0xvYWRpbmcoKSA/IFwiOiBMYWRlIG5ldWUgRGF0ZW4uXCIgOiBcIlwiIH19XG4gICAgPC9tYXQtY2FyZC10aXRsZT5cbiAgPC9tYXQtY2FyZC1oZWFkZXI+XG4gIDxtYXQtY2FyZC1jb250ZW50PlxuICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBnYXA6IDAuNXJlbTsgYWxpZ24taXRlbXM6IGNlbnRlclwiPlxuICAgICAgPGRpdiBzdHlsZT1cImZsZXg6IDEgMSBhdXRvXCI+PC9kaXY+XG4gICAgICA8bWV0YXFzMi1tb250aHBpY2tlciAqbmdJZj1cImlzSGlzdG9yeUVuYWJsZWQoKVwiIFtpbnB1dEdyb3VwXT1cInJhbmdlXCI+PC9tZXRhcXMyLW1vbnRocGlja2VyPlxuICAgICAgPG1hdC1zbGlkZS10b2dnbGUgW25nTW9kZWxdPVwiaXNIaXN0b3J5RW5hYmxlZCgpXCIgKG5nTW9kZWxDaGFuZ2UpPVwiaXNIaXN0b3J5RW5hYmxlZC5zZXQoJGV2ZW50KVwiIFtkaXNhYmxlZF09XCJpc0xvYWRpbmcoKVwiPlxuICAgICAgICA8bGFiZWw+WmVpZ2UgaGlzdG9yaXNjaGUgRGF0ZW48L2xhYmVsPlxuICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgIDwvZGl2PlxuICAgIDxtZXRhcXMyLXByb2dyZXNzLXNwaW5uZXIgW2Rpc3BsYXlQcm9ncmVzc1NwaW5uZXJdPVwiaXNMb2FkaW5nKClcIj48L21ldGFxczItcHJvZ3Jlc3Mtc3Bpbm5lcj5cblxuICAgIDxkaXYgW2NsYXNzLndoaWxlLWxvYWRpbmddPVwiaXNMb2FkaW5nKClcIj5cbiAgICAgIDxjYW52YXNcbiAgICAgICAgYmFzZUNoYXJ0XG4gICAgICAgIFtkYXRhc2V0c109XCIoZGF0YXBvaW50cyQgfCBhc3luYykgfHwgW11cIlxuICAgICAgICBbb3B0aW9uc109XCJsaW5lQ2hhcnRPcHRpb25zXCJcbiAgICAgICAgW3R5cGVdPVwiJ2xpbmUnXCJcbiAgICAgID48L2NhbnZhcz5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtY2FyZC1jb250ZW50PlxuPC9tYXQtY2FyZD5cbiJdfQ==
@@ -1,10 +1,10 @@
1
- import { Component, Input, LOCALE_ID } from '@angular/core';
1
+ import { Component, ElementRef, Input, LOCALE_ID, ViewChild } from '@angular/core';
2
2
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
3
3
  import { MatDatepicker, MatDatepickerInput, MatDatepickerToggle } from '@angular/material/datepicker';
4
4
  import { MatFormField, MatLabel, MatSuffix } from '@angular/material/form-field';
5
5
  import { MatInput } from '@angular/material/input';
6
6
  import { LuxonDateAdapter, MAT_LUXON_DATE_ADAPTER_OPTIONS } from '@angular/material-luxon-adapter';
7
- import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';
7
+ import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE, MatRipple } from '@angular/material/core';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@angular/forms";
10
10
  export const datePickerFormats = {
@@ -35,10 +35,23 @@ export class MonthpickerComponent {
35
35
  this.inputGroup.controls.end.setValue(date.endOf('month'));
36
36
  picker.close();
37
37
  }
38
+ ngOnInit() {
39
+ this.focus();
40
+ }
38
41
  ngOnDestroy() {
39
42
  //defer this to avoid an ExpressionChangedAfterItHasBeenCheckedError on the parent component
40
43
  Promise.resolve().then(() => this.inputGroup.reset());
41
44
  }
45
+ focus() {
46
+ this.start?.nativeElement.focus();
47
+ this.ripple.launch({
48
+ centered: true, // Material bug: disabled ripples do not trigger unless centered
49
+ radius: 1000,
50
+ animation: {
51
+ exitDuration: 1000,
52
+ },
53
+ });
54
+ }
42
55
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonthpickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
43
56
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MonthpickerComponent, isStandalone: true, selector: "metaqs2-monthpicker", inputs: { startView: "startView", inputGroup: "inputGroup", disabled: "disabled" }, providers: [
44
57
  {
@@ -51,7 +64,7 @@ export class MonthpickerComponent {
51
64
  { provide: LOCALE_ID, useValue: 'de-DE' },
52
65
  { provide: MAT_DATE_LOCALE, useValue: 'de-DE' },
53
66
  { provide: MAT_LUXON_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true, firstDayOfWeek: 1 } },
54
- ], ngImport: i0, template: "<!--\n<mat-card>\n <mat-card-header>\n <mat-card-title> Monatlicher Vergleich </mat-card-title>\n </mat-card-header>\n <mat-card-content [formGroup]=\"inputGroup\">\n </!-- start date --/>\n -->\n<ng-container [formGroup]=\"inputGroup\" >\n <mat-form-field>\n <mat-label>Zeitpunkt 1</mat-label>\n <input matInput\n [disabled]=\"disabled\"\n [min]=\"inputGroup.controls.start.defaultValue\"\n [max]=\"inputGroup.controls.end.defaultValue\"\n [matDatepicker]=\"picker1\" formControlName=\"start\"\n placeholder=\"Starts date\"\n >\n <mat-datepicker-toggle matIconSuffix [for]=\"picker1\"></mat-datepicker-toggle>\n <mat-datepicker\n [disabled]=\"disabled\"\n #picker1\n [startAt]=\"inputGroup.controls.start.defaultValue\"\n [startView]=\"startView\"\n (monthSelected)=\"setStart($event, picker1)\"\n\n >\n </mat-datepicker>\n </mat-form-field>\n <!-- /start date -->\n <!-- end date -->\n <mat-form-field>\n <mat-label>Zeitpunkt2</mat-label>\n <input matInput\n [disabled]=\"disabled\"\n [min]=\"inputGroup.controls.start.defaultValue\"\n [max]=\"inputGroup.controls.end.defaultValue\"\n [matDatepicker]=\"picker2\"\n formControlName=\"end\"\n placeholder=\"End date\"\n >\n <mat-datepicker-toggle matIconSuffix [for]=\"picker2\"></mat-datepicker-toggle>\n <mat-datepicker\n [disabled]=\"disabled\"\n #picker2\n [startAt]=\"inputGroup.controls.end.value\"\n [startView]=\"startView\"\n (monthSelected)=\"setEnd($event, picker2)\"\n >\n </mat-datepicker>\n </mat-form-field>\n <!-- /end date -->\n</ng-container>\n<!--\n </mat-card-content>\n</mat-card>\n-->\n", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
67
+ ], viewQueries: [{ propertyName: "start", first: true, predicate: ["start"], descendants: true, read: ElementRef, static: true }, { propertyName: "ripple", first: true, predicate: ["ripple"], descendants: true, read: MatRipple, static: true }], ngImport: i0, template: "<!--\n<mat-card>\n <mat-card-header>\n <mat-card-title> Monatlicher Vergleich </mat-card-title>\n </mat-card-header>\n <mat-card-content [formGroup]=\"inputGroup\">\n </!-- start date --/>\n -->\n<div [formGroup]=\"inputGroup\" matRipple #ripple=\"matRipple\" [matRippleDisabled]=\"true\">\n <mat-form-field>\n <mat-label>Zeitpunkt 1</mat-label>\n <input matInput\n #start\n [disabled]=\"disabled\"\n [min]=\"inputGroup.controls.start.defaultValue\"\n [max]=\"inputGroup.controls.end.defaultValue\"\n [matDatepicker]=\"picker1\" formControlName=\"start\"\n placeholder=\"Starts date\"\n >\n <mat-datepicker-toggle matIconSuffix [for]=\"picker1\"></mat-datepicker-toggle>\n <mat-datepicker\n [disabled]=\"disabled\"\n #picker1\n [startAt]=\"inputGroup.controls.start.defaultValue\"\n [startView]=\"startView\"\n (monthSelected)=\"setStart($event, picker1)\"\n\n >\n </mat-datepicker>\n </mat-form-field>\n <!-- /start date -->\n <!-- end date -->\n <mat-form-field>\n <mat-label>Zeitpunkt2</mat-label>\n <input matInput\n [disabled]=\"disabled\"\n [min]=\"inputGroup.controls.start.defaultValue\"\n [max]=\"inputGroup.controls.end.defaultValue\"\n [matDatepicker]=\"picker2\"\n formControlName=\"end\"\n placeholder=\"End date\"\n >\n <mat-datepicker-toggle matIconSuffix [for]=\"picker2\"></mat-datepicker-toggle>\n <mat-datepicker\n [disabled]=\"disabled\"\n #picker2\n [startAt]=\"inputGroup.controls.end.value\"\n [startView]=\"startView\"\n (monthSelected)=\"setEnd($event, picker2)\"\n >\n </mat-datepicker>\n </mat-form-field>\n <!-- /end date -->\n</div>\n<!--\n </mat-card-content>\n</mat-card>\n-->\n", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }] }); }
55
68
  }
56
69
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonthpickerComponent, decorators: [{
57
70
  type: Component,
@@ -65,6 +78,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
65
78
  MatLabel,
66
79
  MatSuffix,
67
80
  ReactiveFormsModule,
81
+ MatRipple,
68
82
  ], providers: [
69
83
  {
70
84
  provide: DateAdapter,
@@ -76,7 +90,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
76
90
  { provide: LOCALE_ID, useValue: 'de-DE' },
77
91
  { provide: MAT_DATE_LOCALE, useValue: 'de-DE' },
78
92
  { provide: MAT_LUXON_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true, firstDayOfWeek: 1 } },
79
- ], template: "<!--\n<mat-card>\n <mat-card-header>\n <mat-card-title> Monatlicher Vergleich </mat-card-title>\n </mat-card-header>\n <mat-card-content [formGroup]=\"inputGroup\">\n </!-- start date --/>\n -->\n<ng-container [formGroup]=\"inputGroup\" >\n <mat-form-field>\n <mat-label>Zeitpunkt 1</mat-label>\n <input matInput\n [disabled]=\"disabled\"\n [min]=\"inputGroup.controls.start.defaultValue\"\n [max]=\"inputGroup.controls.end.defaultValue\"\n [matDatepicker]=\"picker1\" formControlName=\"start\"\n placeholder=\"Starts date\"\n >\n <mat-datepicker-toggle matIconSuffix [for]=\"picker1\"></mat-datepicker-toggle>\n <mat-datepicker\n [disabled]=\"disabled\"\n #picker1\n [startAt]=\"inputGroup.controls.start.defaultValue\"\n [startView]=\"startView\"\n (monthSelected)=\"setStart($event, picker1)\"\n\n >\n </mat-datepicker>\n </mat-form-field>\n <!-- /start date -->\n <!-- end date -->\n <mat-form-field>\n <mat-label>Zeitpunkt2</mat-label>\n <input matInput\n [disabled]=\"disabled\"\n [min]=\"inputGroup.controls.start.defaultValue\"\n [max]=\"inputGroup.controls.end.defaultValue\"\n [matDatepicker]=\"picker2\"\n formControlName=\"end\"\n placeholder=\"End date\"\n >\n <mat-datepicker-toggle matIconSuffix [for]=\"picker2\"></mat-datepicker-toggle>\n <mat-datepicker\n [disabled]=\"disabled\"\n #picker2\n [startAt]=\"inputGroup.controls.end.value\"\n [startView]=\"startView\"\n (monthSelected)=\"setEnd($event, picker2)\"\n >\n </mat-datepicker>\n </mat-form-field>\n <!-- /end date -->\n</ng-container>\n<!--\n </mat-card-content>\n</mat-card>\n-->\n" }]
93
+ ], template: "<!--\n<mat-card>\n <mat-card-header>\n <mat-card-title> Monatlicher Vergleich </mat-card-title>\n </mat-card-header>\n <mat-card-content [formGroup]=\"inputGroup\">\n </!-- start date --/>\n -->\n<div [formGroup]=\"inputGroup\" matRipple #ripple=\"matRipple\" [matRippleDisabled]=\"true\">\n <mat-form-field>\n <mat-label>Zeitpunkt 1</mat-label>\n <input matInput\n #start\n [disabled]=\"disabled\"\n [min]=\"inputGroup.controls.start.defaultValue\"\n [max]=\"inputGroup.controls.end.defaultValue\"\n [matDatepicker]=\"picker1\" formControlName=\"start\"\n placeholder=\"Starts date\"\n >\n <mat-datepicker-toggle matIconSuffix [for]=\"picker1\"></mat-datepicker-toggle>\n <mat-datepicker\n [disabled]=\"disabled\"\n #picker1\n [startAt]=\"inputGroup.controls.start.defaultValue\"\n [startView]=\"startView\"\n (monthSelected)=\"setStart($event, picker1)\"\n\n >\n </mat-datepicker>\n </mat-form-field>\n <!-- /start date -->\n <!-- end date -->\n <mat-form-field>\n <mat-label>Zeitpunkt2</mat-label>\n <input matInput\n [disabled]=\"disabled\"\n [min]=\"inputGroup.controls.start.defaultValue\"\n [max]=\"inputGroup.controls.end.defaultValue\"\n [matDatepicker]=\"picker2\"\n formControlName=\"end\"\n placeholder=\"End date\"\n >\n <mat-datepicker-toggle matIconSuffix [for]=\"picker2\"></mat-datepicker-toggle>\n <mat-datepicker\n [disabled]=\"disabled\"\n #picker2\n [startAt]=\"inputGroup.controls.end.value\"\n [startView]=\"startView\"\n (monthSelected)=\"setEnd($event, picker2)\"\n >\n </mat-datepicker>\n </mat-form-field>\n <!-- /end date -->\n</div>\n<!--\n </mat-card-content>\n</mat-card>\n-->\n" }]
80
94
  }], ctorParameters: () => [], propDecorators: { startView: [{
81
95
  type: Input
82
96
  }], inputGroup: [{
@@ -84,5 +98,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
84
98
  args: [{ required: true }]
85
99
  }], disabled: [{
86
100
  type: Input
101
+ }], start: [{
102
+ type: ViewChild,
103
+ args: ['start', {
104
+ read: ElementRef,
105
+ static: true,
106
+ }]
107
+ }], ripple: [{
108
+ type: ViewChild,
109
+ args: ['ripple', {
110
+ read: MatRipple,
111
+ static: true,
112
+ }]
87
113
  }] } });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGhwaWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWV0YS13aWRnZXRzLWxpYi9zcmMvbGliL2NvbGxlY3Rpb24tY291bnQtaGlzdG9yeS9tb250aHBpY2tlci9tb250aHBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1tZXRhLXdpZGdldHMtbGliL3NyYy9saWIvY29sbGVjdGlvbi1jb3VudC1oaXN0b3J5L21vbnRocGlja2VyL21vbnRocGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQTBCLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RyxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLDhCQUE4QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkcsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQWtCLE1BQU0sd0JBQXdCLENBQUM7OztBQUV4RyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBbUI7SUFDL0MsS0FBSyxFQUFFO1FBQ0wsU0FBUyxFQUFFLFdBQVc7S0FDdkI7SUFDRCxPQUFPLEVBQUU7UUFDUCxTQUFTLEVBQUUsV0FBVztRQUN0QixjQUFjLEVBQUUsV0FBVztRQUMzQixhQUFhLEVBQUUs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bXBvbmVudCwgSW5wdXQsIExPQ0FMRV9JRCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdERhdGVwaWNrZXIsIE1hdERhdGVwaWNrZXJJbnB1dCwgTWF0RGF0ZXBpY2tlclRvZ2dsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkLCBNYXRMYWJlbCwgTWF0U3VmZml4IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nO1xuaW1wb3J0IHsgTHV4b25EYXRlQWRhcHRlciwgTUFUX0xVWE9OX0RBVEVfQURBUFRFUl9PUFRJT05TIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwtbHV4b24tYWRhcHRlcic7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTUFUX0RBVEVfRk9STUFUUywgTUFUX0RBVEVfTE9DQUxFLCBNYXREYXRlRm9ybWF0cyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgZGF0ZVBpY2tlckZvcm1hdHM6IE1hdERhdGVGb3JtYXRzID0ge1xuICBwYXJzZToge1xuICAgIGRhdGVJbnB1dDogJ0xMTEwgeXl5eScsXG4gIH0sXG4gIGRpc3BsYXk6IHtcbiAgICBkYXRlSW5wdXQ6ICdMTExMIHl5eXknLFxuICAgIG1vbnRoWWVhckxhYmVsOiAnTExMTCB5eXl5JyxcbiAgICBkYXRlQTExeUxhYmVsOiAnTExMJyxcbiAgICBtb250aFllYXJBMTF5TGFiZWw6ICdNTU1NIHl5eXknLFxuICB9LFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWV0YXFzMi1tb250aHBpY2tlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXREYXRlcGlja2VyLFxuICAgIE1hdERhdGVwaWNrZXJJbnB1dCxcbiAgICBNYXREYXRlcGlja2VyVG9nZ2xlLFxuICAgIE1hdEZvcm1GaWVsZCxcbiAgICBNYXRJbnB1dCxcbiAgICBNYXRMYWJlbCxcbiAgICBNYXRTdWZmaXgsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogRGF0ZUFkYXB0ZXIsXG4gICAgICB1c2VDbGFzczogTHV4b25EYXRlQWRhcHRlcixcbiAgICAgIGRlcHM6IFtNQVRfREFURV9MT0NBTEUsIE1BVF9MVVhPTl9EQVRFX0FEQVBURVJfT1BUSU9OU10sXG4gICAgfSxcbiAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBkYXRlUGlja2VyRm9ybWF0cyB9LFxuICAgIC8vcHJvdmlkZUx1eG9uRGF0ZUFkYXB0ZXIoZGF0ZVBpY2tlckZvcm1hdHMpLFxuICAgIHsgcHJvdmlkZTogTE9DQUxFX0lELCB1c2VWYWx1ZTogJ2RlLURFJyB9LFxuICAgIHsgcHJvdmlkZTogTUFUX0RBVEVfTE9DQUxFLCB1c2VWYWx1ZTogJ2RlLURFJyB9LFxuICAgIHsgcHJvdmlkZTogTUFUX0xVWE9OX0RBVEVfQURBUFRFUl9PUFRJT05TLCB1c2VWYWx1ZTogeyB1c2VVdGM6IHRydWUsIGZpcnN0RGF5T2ZXZWVrOiAxIH0gfSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21vbnRocGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL21vbnRocGlja2VyLmNvbXBvbmVudC5jc3MnLFxufSlcbi8qKlxuICogVGhlb3JldGljYWxseSwgdGhpcyBjb21wb25lbnQgc2hvdWxkIGJlIGFibGUgdG8gaGFuZGxlIGJvdGggbW9udGhseSBhbmQgZGFpbHkgZGF0ZSByYW5nZXMuXG4gKiBCdXQgSSBhbSB1bmFibGUgdG8gZmluZCBhIHdheSB0byBjaGFuZ2UgdGhlIGRhdGUgZm9ybWF0IG9mIHRoZSBkYXRlcGlja2VyXG4gKi9cbmV4cG9ydCBjbGFzcyBNb250aHBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIHN0YXJ0VmlldzogJ21vbnRoJyB8ICd5ZWFyJyB8ICdtdWx0aS15ZWFyJyA9ICd5ZWFyJztcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgaW5wdXRHcm91cDogRm9ybUdyb3VwPHsgc3RhcnQ6IEZvcm1Db250cm9sPERhdGVUaW1lPGJvb2xlYW4+PjsgZW5kOiBGb3JtQ29udHJvbDxEYXRlVGltZTxib29sZWFuPj4gfT47XG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHByb3RlY3RlZCBzZXRTdGFydChkYXRlOiBEYXRlVGltZTxib29sZWFuPiwgcGlja2VyOiBNYXREYXRlcGlja2VyPERhdGVUaW1lPGJvb2xlYW4+Pik6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRHcm91cC5jb250cm9scy5zdGFydC5zZXRWYWx1ZShkYXRlKTtcbiAgICBwaWNrZXIuY2xvc2UoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRFbmQoZGF0ZTogRGF0ZVRpbWU8Ym9vbGVhbj4sIHBpY2tlcjogTWF0RGF0ZXBpY2tlcjxEYXRlVGltZTxib29sZWFuPj4pOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0R3JvdXAuY29udHJvbHMuZW5kLnNldFZhbHVlKGRhdGUuZW5kT2YoJ21vbnRoJykpO1xuICAgIHBpY2tlci5jbG9zZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy9kZWZlciB0aGlzIHRvIGF2b2lkIGFuIEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkRXJyb3Igb24gdGhlIHBhcmVudCBjb21wb25lbnRcbiAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHRoaXMuaW5wdXRHcm91cC5yZXNldCgpKTtcbiAgfVxufVxuIiwiPCEtLVxuPG1hdC1jYXJkPlxuICA8bWF0LWNhcmQtaGVhZGVyPlxuICAgIDxtYXQtY2FyZC10aXRsZT4gTW9uYXRsaWNoZXIgVmVyZ2xlaWNoIDwvbWF0LWNhcmQtdGl0bGU+XG4gIDwvbWF0LWNhcmQtaGVhZGVyPlxuICA8bWF0LWNhcmQtY29udGVudCBbZm9ybUdyb3VwXT1cImlucHV0R3JvdXBcIj5cbiAgICA8LyEtLSBzdGFydCBkYXRlIC0tLz5cbiAgICAtLT5cbjxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09XCJpbnB1dEdyb3VwXCIgPlxuICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtbGFiZWw+WmVpdHB1bmt0IDE8L21hdC1sYWJlbD5cbiAgICAgIDxpbnB1dCBtYXRJbnB1dFxuICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgW21pbl09XCJpbnB1dEdyb3VwLmNvbnRyb2xzLnN0YXJ0LmRlZmF1bHRWYWx1ZVwiXG4gICAgICAgICAgICAgW21heF09XCJpbnB1dEdyb3VwLmNvbnRyb2xzLmVuZC5kZWZhdWx0VmFsdWVcIlxuICAgICAgICAgICAgIFttYXREYXRlcGlja2VyXT1cInBpY2tlcjFcIiBmb3JtQ29udHJvbE5hbWU9XCJzdGFydFwiXG4gICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTdGFydHMgZGF0ZVwiXG4gICAgICA+XG4gICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdEljb25TdWZmaXggW2Zvcl09XCJwaWNrZXIxXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG4gICAgICA8bWF0LWRhdGVwaWNrZXJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgI3BpY2tlcjFcbiAgICAgICAgW3N0YXJ0QXRdPVwiaW5wdXRHcm91cC5jb250cm9scy5zdGFydC5kZWZhdWx0VmFsdWVcIlxuICAgICAgICBbc3RhcnRWaWV3XT1cInN0YXJ0Vmlld1wiXG4gICAgICAgIChtb250aFNlbGVjdGVkKT1cInNldFN0YXJ0KCRldmVudCwgcGlja2VyMSlcIlxuXG4gICAgICA+XG4gICAgICA8L21hdC1kYXRlcGlja2VyPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPCEtLSAvc3RhcnQgZGF0ZSAtLT5cbiAgICA8IS0tIGVuZCBkYXRlIC0tPlxuICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtbGFiZWw+WmVpdHB1bmt0MjwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IG1hdElucHV0XG4gICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICBbbWluXT1cImlucHV0R3JvdXAuY29udHJvbHMuc3RhcnQuZGVmYXVsdFZhbHVlXCJcbiAgICAgICAgICAgICBbbWF4XT1cImlucHV0R3JvdXAuY29udHJvbHMuZW5kLmRlZmF1bHRWYWx1ZVwiXG4gICAgICAgICAgICAgW21hdERhdGVwaWNrZXJdPVwicGlja2VyMlwiXG4gICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZW5kXCJcbiAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkVuZCBkYXRlXCJcbiAgICAgID5cbiAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0SWNvblN1ZmZpeCBbZm9yXT1cInBpY2tlcjJcIj48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cbiAgICAgIDxtYXQtZGF0ZXBpY2tlclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAjcGlja2VyMlxuICAgICAgICBbc3RhcnRBdF09XCJpbnB1dEdyb3VwLmNvbnRyb2xzLmVuZC52YWx1ZVwiXG4gICAgICAgIFtzdGFydFZpZXddPVwic3RhcnRWaWV3XCJcbiAgICAgICAgKG1vbnRoU2VsZWN0ZWQpPVwic2V0RW5kKCRldmVudCwgcGlja2VyMilcIlxuICAgICAgPlxuICAgICAgPC9tYXQtZGF0ZXBpY2tlcj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwhLS0gL2VuZCBkYXRlIC0tPlxuPC9uZy1jb250YWluZXI+XG48IS0tXG4gIDwvbWF0LWNhcmQtY29udGVudD5cbjwvbWF0LWNhcmQ+XG4tLT5cbiJdfQ==
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGhwaWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWV0YS13aWRnZXRzLWxpYi9zcmMvbGliL2NvbGxlY3Rpb24tY291bnQtaGlzdG9yeS9tb250aHBpY2tlci9tb250aHBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1tZXRhLXdpZGdldHMtbGliL3NyYy9saWIvY29sbGVjdGlvbi1jb3VudC1oaXN0b3J5L21vbnRocGlja2VyL21vbnRocGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQTBCLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RyxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLDhCQUE4QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkcsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQWtCLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFFbkgsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQW1CO0lBQy9DLEtBQUssRUFBRTtRQUNMLFNBQVMsRUFBRSxXQUFXO0tBQ3ZCO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsU0FBUyxFQUFFLFdBQVc7UUFDdEIs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QkFDMUQsNkNBQTZDO3dCQUM3QyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTt3QkFDekMsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7d0JBQy9DLEVBQUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLENBQUMsRUFBRSxFQUFFO3FCQUMzRjt3REFVRCxTQUFTO3NCQURSLEtBQUs7Z0JBR04sVUFBVTtzQkFEVCxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFHekIsUUFBUTtzQkFEUCxLQUFLO2dCQU9JLEtBQUs7c0JBSmQsU0FBUzt1QkFBQyxPQUFPLEVBQUU7d0JBQ2xCLElBQUksRUFBRSxVQUFVO3dCQUNoQixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkFPa0IsTUFBTTtzQkFKeEIsU0FBUzt1QkFBQyxRQUFRLEVBQUU7d0JBQ25CLElBQUksRUFBRSxTQUFTO3dCQUNmLE1BQU0sRUFBRSxJQUFJO3FCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgTE9DQUxFX0lELCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdERhdGVwaWNrZXIsIE1hdERhdGVwaWNrZXJJbnB1dCwgTWF0RGF0ZXBpY2tlclRvZ2dsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkLCBNYXRMYWJlbCwgTWF0U3VmZml4IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nO1xuaW1wb3J0IHsgTHV4b25EYXRlQWRhcHRlciwgTUFUX0xVWE9OX0RBVEVfQURBUFRFUl9PUFRJT05TIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwtbHV4b24tYWRhcHRlcic7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTUFUX0RBVEVfRk9STUFUUywgTUFUX0RBVEVfTE9DQUxFLCBNYXREYXRlRm9ybWF0cywgTWF0UmlwcGxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBkYXRlUGlja2VyRm9ybWF0czogTWF0RGF0ZUZvcm1hdHMgPSB7XG4gIHBhcnNlOiB7XG4gICAgZGF0ZUlucHV0OiAnTExMTCB5eXl5JyxcbiAgfSxcbiAgZGlzcGxheToge1xuICAgIGRhdGVJbnB1dDogJ0xMTEwgeXl5eScsXG4gICAgbW9udGhZZWFyTGFiZWw6ICdMTExMIHl5eXknLFxuICAgIGRhdGVBMTF5TGFiZWw6ICdMTEwnLFxuICAgIG1vbnRoWWVhckExMXlMYWJlbDogJ01NTU0geXl5eScsXG4gIH0sXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZXRhcXMyLW1vbnRocGlja2VyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXIsXG4gICAgTWF0RGF0ZXBpY2tlcklucHV0LFxuICAgIE1hdERhdGVwaWNrZXJUb2dnbGUsXG4gICAgTWF0Rm9ybUZpZWxkLFxuICAgIE1hdElucHV0LFxuICAgIE1hdExhYmVsLFxuICAgIE1hdFN1ZmZpeCxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdFJpcHBsZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogRGF0ZUFkYXB0ZXIsXG4gICAgICB1c2VDbGFzczogTHV4b25EYXRlQWRhcHRlcixcbiAgICAgIGRlcHM6IFtNQVRfREFURV9MT0NBTEUsIE1BVF9MVVhPTl9EQVRFX0FEQVBURVJfT1BUSU9OU10sXG4gICAgfSxcbiAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBkYXRlUGlja2VyRm9ybWF0cyB9LFxuICAgIC8vcHJvdmlkZUx1eG9uRGF0ZUFkYXB0ZXIoZGF0ZVBpY2tlckZvcm1hdHMpLFxuICAgIHsgcHJvdmlkZTogTE9DQUxFX0lELCB1c2VWYWx1ZTogJ2RlLURFJyB9LFxuICAgIHsgcHJvdmlkZTogTUFUX0RBVEVfTE9DQUxFLCB1c2VWYWx1ZTogJ2RlLURFJyB9LFxuICAgIHsgcHJvdmlkZTogTUFUX0xVWE9OX0RBVEVfQURBUFRFUl9PUFRJT05TLCB1c2VWYWx1ZTogeyB1c2VVdGM6IHRydWUsIGZpcnN0RGF5T2ZXZWVrOiAxIH0gfSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21vbnRocGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL21vbnRocGlja2VyLmNvbXBvbmVudC5jc3MnLFxufSlcbi8qKlxuICogVGhlb3JldGljYWxseSwgdGhpcyBjb21wb25lbnQgc2hvdWxkIGJlIGFibGUgdG8gaGFuZGxlIGJvdGggbW9udGhseSBhbmQgZGFpbHkgZGF0ZSByYW5nZXMuXG4gKiBCdXQgSSBhbSB1bmFibGUgdG8gZmluZCBhIHdheSB0byBjaGFuZ2UgdGhlIGRhdGUgZm9ybWF0IG9mIHRoZSBkYXRlcGlja2VyXG4gKi9cbmV4cG9ydCBjbGFzcyBNb250aHBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgc3RhcnRWaWV3OiAnbW9udGgnIHwgJ3llYXInIHwgJ211bHRpLXllYXInID0gJ3llYXInO1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICBpbnB1dEdyb3VwOiBGb3JtR3JvdXA8eyBzdGFydDogRm9ybUNvbnRyb2w8RGF0ZVRpbWU8Ym9vbGVhbj4+OyBlbmQ6IEZvcm1Db250cm9sPERhdGVUaW1lPGJvb2xlYW4+PiB9PjtcbiAgQElucHV0KClcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdzdGFydCcsIHtcbiAgICByZWFkOiBFbGVtZW50UmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHJvdGVjdGVkIHN0YXJ0ITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCdyaXBwbGUnLCB7XG4gICAgcmVhZDogTWF0UmlwcGxlLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJpcHBsZSE6IE1hdFJpcHBsZTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHJvdGVjdGVkIHNldFN0YXJ0KGRhdGU6IERhdGVUaW1lPGJvb2xlYW4+LCBwaWNrZXI6IE1hdERhdGVwaWNrZXI8RGF0ZVRpbWU8Ym9vbGVhbj4+KTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dEdyb3VwLmNvbnRyb2xzLnN0YXJ0LnNldFZhbHVlKGRhdGUpO1xuICAgIHBpY2tlci5jbG9zZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldEVuZChkYXRlOiBEYXRlVGltZTxib29sZWFuPiwgcGlja2VyOiBNYXREYXRlcGlja2VyPERhdGVUaW1lPGJvb2xlYW4+Pik6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRHcm91cC5jb250cm9scy5lbmQuc2V0VmFsdWUoZGF0ZS5lbmRPZignbW9udGgnKSk7XG4gICAgcGlja2VyLmNsb3NlKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZvY3VzKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAvL2RlZmVyIHRoaXMgdG8gYXZvaWQgYW4gRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvciBvbiB0aGUgcGFyZW50IGNvbXBvbmVudFxuICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4gdGhpcy5pbnB1dEdyb3VwLnJlc2V0KCkpO1xuICB9XG5cbiAgZm9jdXMoKSB7XG4gICAgdGhpcy5zdGFydD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIHRoaXMucmlwcGxlLmxhdW5jaCh7XG4gICAgICBjZW50ZXJlZDogdHJ1ZSwgLy8gTWF0ZXJpYWwgYnVnOiBkaXNhYmxlZCByaXBwbGVzIGRvIG5vdCB0cmlnZ2VyIHVubGVzcyBjZW50ZXJlZFxuICAgICAgcmFkaXVzOiAxMDAwLFxuICAgICAgYW5pbWF0aW9uOiB7XG4gICAgICAgIGV4aXREdXJhdGlvbjogMTAwMCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiIsIjwhLS1cbjxtYXQtY2FyZD5cbiAgPG1hdC1jYXJkLWhlYWRlcj5cbiAgICA8bWF0LWNhcmQtdGl0bGU+IE1vbmF0bGljaGVyIFZlcmdsZWljaCA8L21hdC1jYXJkLXRpdGxlPlxuICA8L21hdC1jYXJkLWhlYWRlcj5cbiAgPG1hdC1jYXJkLWNvbnRlbnQgW2Zvcm1Hcm91cF09XCJpbnB1dEdyb3VwXCI+XG4gICAgPC8hLS0gc3RhcnQgZGF0ZSAtLS8+XG4gICAgLS0+XG48ZGl2IFtmb3JtR3JvdXBdPVwiaW5wdXRHcm91cFwiIG1hdFJpcHBsZSAjcmlwcGxlPVwibWF0UmlwcGxlXCIgW21hdFJpcHBsZURpc2FibGVkXT1cInRydWVcIj5cbiAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICA8bWF0LWxhYmVsPlplaXRwdW5rdCAxPC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgICAgICAgICAjc3RhcnRcbiAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgIFttaW5dPVwiaW5wdXRHcm91cC5jb250cm9scy5zdGFydC5kZWZhdWx0VmFsdWVcIlxuICAgICAgICAgICAgIFttYXhdPVwiaW5wdXRHcm91cC5jb250cm9scy5lbmQuZGVmYXVsdFZhbHVlXCJcbiAgICAgICAgICAgICBbbWF0RGF0ZXBpY2tlcl09XCJwaWNrZXIxXCIgZm9ybUNvbnRyb2xOYW1lPVwic3RhcnRcIlxuICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU3RhcnRzIGRhdGVcIlxuICAgICAgPlxuICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRJY29uU3VmZml4IFtmb3JdPVwicGlja2VyMVwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgICAgPG1hdC1kYXRlcGlja2VyXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICNwaWNrZXIxXG4gICAgICAgIFtzdGFydEF0XT1cImlucHV0R3JvdXAuY29udHJvbHMuc3RhcnQuZGVmYXVsdFZhbHVlXCJcbiAgICAgICAgW3N0YXJ0Vmlld109XCJzdGFydFZpZXdcIlxuICAgICAgICAobW9udGhTZWxlY3RlZCk9XCJzZXRTdGFydCgkZXZlbnQsIHBpY2tlcjEpXCJcblxuICAgICAgPlxuICAgICAgPC9tYXQtZGF0ZXBpY2tlcj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwhLS0gL3N0YXJ0IGRhdGUgLS0+XG4gICAgPCEtLSBlbmQgZGF0ZSAtLT5cbiAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICA8bWF0LWxhYmVsPlplaXRwdW5rdDI8L21hdC1sYWJlbD5cbiAgICAgIDxpbnB1dCBtYXRJbnB1dFxuICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgW21pbl09XCJpbnB1dEdyb3VwLmNvbnRyb2xzLnN0YXJ0LmRlZmF1bHRWYWx1ZVwiXG4gICAgICAgICAgICAgW21heF09XCJpbnB1dEdyb3VwLmNvbnRyb2xzLmVuZC5kZWZhdWx0VmFsdWVcIlxuICAgICAgICAgICAgIFttYXREYXRlcGlja2VyXT1cInBpY2tlcjJcIlxuICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImVuZFwiXG4gICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJFbmQgZGF0ZVwiXG4gICAgICA+XG4gICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdEljb25TdWZmaXggW2Zvcl09XCJwaWNrZXIyXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG4gICAgICA8bWF0LWRhdGVwaWNrZXJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgI3BpY2tlcjJcbiAgICAgICAgW3N0YXJ0QXRdPVwiaW5wdXRHcm91cC5jb250cm9scy5lbmQudmFsdWVcIlxuICAgICAgICBbc3RhcnRWaWV3XT1cInN0YXJ0Vmlld1wiXG4gICAgICAgIChtb250aFNlbGVjdGVkKT1cInNldEVuZCgkZXZlbnQsIHBpY2tlcjIpXCJcbiAgICAgID5cbiAgICAgIDwvbWF0LWRhdGVwaWNrZXI+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8IS0tIC9lbmQgZGF0ZSAtLT5cbjwvZGl2PlxuPCEtLVxuICA8L21hdC1jYXJkLWNvbnRlbnQ+XG48L21hdC1jYXJkPlxuLS0+XG4iXX0=
@@ -1,10 +1,10 @@
1
- import { Component, Input, LOCALE_ID } from '@angular/core';
1
+ import { Component, ElementRef, Input, LOCALE_ID, ViewChild } from '@angular/core';
2
2
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
3
3
  import { MatDatepicker, MatDatepickerInput, MatDatepickerToggle } from '@angular/material/datepicker';
4
4
  import { MatFormField, MatLabel, MatSuffix } from '@angular/material/form-field';
5
5
  import { MatInput } from '@angular/material/input';
6
6
  import { LuxonDateAdapter, MAT_LUXON_DATE_ADAPTER_OPTIONS } from '@angular/material-luxon-adapter';
7
- import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';
7
+ import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE, MatRipple } from '@angular/material/core';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@angular/forms";
10
10
  const datePickerFormats = {
@@ -22,10 +22,23 @@ export class DatepickerComponent {
22
22
  constructor() {
23
23
  this.disabled = false;
24
24
  }
25
+ ngOnInit() {
26
+ this.focus();
27
+ }
25
28
  ngOnDestroy() {
26
29
  //defer this to avoid an ExpressionChangedAfterItHasBeenCheckedError on the parent component
27
30
  Promise.resolve().then(() => this.inputGroup.reset());
28
31
  }
32
+ focus() {
33
+ this.start?.nativeElement.focus();
34
+ this.ripple.launch({
35
+ centered: true, // Angular Material bug: disabled ripples do not trigger unless centered
36
+ radius: 1000,
37
+ animation: {
38
+ exitDuration: 1000,
39
+ },
40
+ });
41
+ }
29
42
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30
43
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DatepickerComponent, isStandalone: true, selector: "metaqs2-datepicker", inputs: { disabled: "disabled", inputGroup: "inputGroup" }, providers: [
31
44
  {
@@ -38,7 +51,7 @@ export class DatepickerComponent {
38
51
  { provide: LOCALE_ID, useValue: 'de-DE' },
39
52
  { provide: MAT_DATE_LOCALE, useValue: 'de-DE' },
40
53
  { provide: MAT_LUXON_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true, firstDayOfWeek: 1 } },
41
- ], ngImport: i0, template: "<div [formGroup]=\"inputGroup\">\n <!-- start date -->\n <mat-form-field>\n <mat-label>Zeitpunkt 1</mat-label>\n <input matInput\n [disabled]=\"disabled\"\n [min]=\"inputGroup.controls.start.defaultValue\"\n [max]=\"inputGroup.controls.end.defaultValue\"\n [matDatepicker]=\"picker1\" formControlName=\"start\"\n placeholder=\"Starts date\"\n >\n <!--\n <mat-hint>d.M.yyyy</mat-hint>\n -->\n <mat-datepicker-toggle matIconSuffix [for]=\"picker1\"></mat-datepicker-toggle>\n <mat-datepicker [disabled]=\"disabled\" #picker1 [startAt]=\"inputGroup.controls.start.defaultValue\">\n </mat-datepicker>\n </mat-form-field>\n <!-- /start date -->\n <!-- end date -->\n <mat-form-field>\n <mat-label>Zeitpunkt2</mat-label>\n <input matInput\n [disabled]=\"disabled\"\n [min]=\"inputGroup.controls.start.defaultValue\"\n [max]=\"inputGroup.controls.end.defaultValue\"\n [matDatepicker]=\"picker2\"\n formControlName=\"end\"\n placeholder=\"End date\"\n >\n <!--\n <mat-hint>d.M.yyyy</mat-hint>\n -->\n <mat-datepicker-toggle matIconSuffix [for]=\"picker2\"></mat-datepicker-toggle>\n <mat-datepicker [disabled]=\"disabled\" #picker2 [startAt]=\"inputGroup.controls.end.value\">\n </mat-datepicker>\n </mat-form-field>\n <!-- /end date -->\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
54
+ ], viewQueries: [{ propertyName: "start", first: true, predicate: ["start"], descendants: true, read: ElementRef, static: true }, { propertyName: "ripple", first: true, predicate: ["ripple"], descendants: true, read: MatRipple, static: true }], ngImport: i0, template: "<div [formGroup]=\"inputGroup\" matRipple #ripple=\"matRipple\" [matRippleDisabled]=\"true\">\n <!-- start date -->\n <mat-form-field>\n <mat-label>Zeitpunkt 1</mat-label>\n <input matInput\n #start\n [disabled]=\"disabled\"\n [min]=\"inputGroup.controls.start.defaultValue\"\n [max]=\"inputGroup.controls.end.defaultValue\"\n [matDatepicker]=\"picker1\" formControlName=\"start\"\n placeholder=\"Starts date\"\n >\n <!--\n <mat-hint>d.M.yyyy</mat-hint>\n -->\n <mat-datepicker-toggle matIconSuffix [for]=\"picker1\"></mat-datepicker-toggle>\n <mat-datepicker [disabled]=\"disabled\" #picker1 [startAt]=\"inputGroup.controls.start.defaultValue\">\n </mat-datepicker>\n </mat-form-field>\n <!-- /start date -->\n <!-- end date -->\n <mat-form-field>\n <mat-label>Zeitpunkt2</mat-label>\n <input matInput\n [disabled]=\"disabled\"\n [min]=\"inputGroup.controls.start.defaultValue\"\n [max]=\"inputGroup.controls.end.defaultValue\"\n [matDatepicker]=\"picker2\"\n formControlName=\"end\"\n placeholder=\"End date\"\n >\n <!--\n <mat-hint>d.M.yyyy</mat-hint>\n -->\n <mat-datepicker-toggle matIconSuffix [for]=\"picker2\"></mat-datepicker-toggle>\n <mat-datepicker [disabled]=\"disabled\" #picker2 [startAt]=\"inputGroup.controls.end.value\">\n </mat-datepicker>\n </mat-form-field>\n <!-- /end date -->\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }] }); }
42
55
  }
43
56
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatepickerComponent, decorators: [{
44
57
  type: Component,
@@ -52,6 +65,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
52
65
  MatLabel,
53
66
  MatSuffix,
54
67
  ReactiveFormsModule,
68
+ MatRipple,
55
69
  ], providers: [
56
70
  {
57
71
  provide: DateAdapter,
@@ -63,11 +77,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
63
77
  { provide: LOCALE_ID, useValue: 'de-DE' },
64
78
  { provide: MAT_DATE_LOCALE, useValue: 'de-DE' },
65
79
  { provide: MAT_LUXON_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true, firstDayOfWeek: 1 } },
66
- ], template: "<div [formGroup]=\"inputGroup\">\n <!-- start date -->\n <mat-form-field>\n <mat-label>Zeitpunkt 1</mat-label>\n <input matInput\n [disabled]=\"disabled\"\n [min]=\"inputGroup.controls.start.defaultValue\"\n [max]=\"inputGroup.controls.end.defaultValue\"\n [matDatepicker]=\"picker1\" formControlName=\"start\"\n placeholder=\"Starts date\"\n >\n <!--\n <mat-hint>d.M.yyyy</mat-hint>\n -->\n <mat-datepicker-toggle matIconSuffix [for]=\"picker1\"></mat-datepicker-toggle>\n <mat-datepicker [disabled]=\"disabled\" #picker1 [startAt]=\"inputGroup.controls.start.defaultValue\">\n </mat-datepicker>\n </mat-form-field>\n <!-- /start date -->\n <!-- end date -->\n <mat-form-field>\n <mat-label>Zeitpunkt2</mat-label>\n <input matInput\n [disabled]=\"disabled\"\n [min]=\"inputGroup.controls.start.defaultValue\"\n [max]=\"inputGroup.controls.end.defaultValue\"\n [matDatepicker]=\"picker2\"\n formControlName=\"end\"\n placeholder=\"End date\"\n >\n <!--\n <mat-hint>d.M.yyyy</mat-hint>\n -->\n <mat-datepicker-toggle matIconSuffix [for]=\"picker2\"></mat-datepicker-toggle>\n <mat-datepicker [disabled]=\"disabled\" #picker2 [startAt]=\"inputGroup.controls.end.value\">\n </mat-datepicker>\n </mat-form-field>\n <!-- /end date -->\n</div>\n" }]
67
- }], ctorParameters: () => [], propDecorators: { disabled: [{
80
+ ], template: "<div [formGroup]=\"inputGroup\" matRipple #ripple=\"matRipple\" [matRippleDisabled]=\"true\">\n <!-- start date -->\n <mat-form-field>\n <mat-label>Zeitpunkt 1</mat-label>\n <input matInput\n #start\n [disabled]=\"disabled\"\n [min]=\"inputGroup.controls.start.defaultValue\"\n [max]=\"inputGroup.controls.end.defaultValue\"\n [matDatepicker]=\"picker1\" formControlName=\"start\"\n placeholder=\"Starts date\"\n >\n <!--\n <mat-hint>d.M.yyyy</mat-hint>\n -->\n <mat-datepicker-toggle matIconSuffix [for]=\"picker1\"></mat-datepicker-toggle>\n <mat-datepicker [disabled]=\"disabled\" #picker1 [startAt]=\"inputGroup.controls.start.defaultValue\">\n </mat-datepicker>\n </mat-form-field>\n <!-- /start date -->\n <!-- end date -->\n <mat-form-field>\n <mat-label>Zeitpunkt2</mat-label>\n <input matInput\n [disabled]=\"disabled\"\n [min]=\"inputGroup.controls.start.defaultValue\"\n [max]=\"inputGroup.controls.end.defaultValue\"\n [matDatepicker]=\"picker2\"\n formControlName=\"end\"\n placeholder=\"End date\"\n >\n <!--\n <mat-hint>d.M.yyyy</mat-hint>\n -->\n <mat-datepicker-toggle matIconSuffix [for]=\"picker2\"></mat-datepicker-toggle>\n <mat-datepicker [disabled]=\"disabled\" #picker2 [startAt]=\"inputGroup.controls.end.value\">\n </mat-datepicker>\n </mat-form-field>\n <!-- /end date -->\n</div>\n" }]
81
+ }], propDecorators: { disabled: [{
68
82
  type: Input
69
83
  }], inputGroup: [{
70
84
  type: Input,
71
85
  args: [{ required: true }]
86
+ }], start: [{
87
+ type: ViewChild,
88
+ args: ['start', {
89
+ read: ElementRef,
90
+ static: true,
91
+ }]
92
+ }], ripple: [{
93
+ type: ViewChild,
94
+ args: ['ripple', {
95
+ read: MatRipple,
96
+ static: true,
97
+ }]
72
98
  }] } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1tZXRhLXdpZGdldHMtbGliL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXIvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1ldGEtd2lkZ2V0cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlci9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBMEIsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RHLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRyxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBa0IsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBRXhHLE1BQU0saUJBQWlCLEdBQW1CO0lBQ3hDLEtBQUssRUFBRTtRQUNMLFNBQVMsRUFBRSxHQUFHO0tBQ2Y7SUFDRCxPQUFPLEVBQUU7UUFDUCxTQUFTLEVBQUUsR0FBRztRQUNkLGNBQWMsRUFBRSxXQUFXO1FBQzNCLGFBQWEsRUFBRSxLQUFLO1FBQ3BCLGtCQUFrQixFQUFFLFdBQVc7S0FDaEM7Q0FDRixDQUFDO0FBZ0NGLE1BQU0sT0FBTyxtQkFBbUI7SUFPOUI7UUFMQSxhQUFRLEdBQVksS0FBSyxDQUFDO0lBS1gsQ0FBQztJQUVoQixXQUFXO1FBQ1QsNEZBQTRGO1FBQzVGLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7K0dBWlUsbUJBQW1CO21HQUFuQixtQkFBbUIsNkhBaEJuQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxXQUFXO2dCQUNwQixRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixJQUFJLEVBQUUsQ0FBQyxlQUFlLEVBQUUsOEJBQThCLENBQUM7YUFDeEQ7WUFDRCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUU7WUFFMUQsNkNBQTZDO1lBQzdDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFO1lBQ3pDLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFO1lBQy9DLEVBQUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLENBQUMsRUFBRSxFQUFFO1NBQzNGLDBCQy9DSCwyNENBdUNBLHlERGRJLFdBQVcsbWpCQUNYLGFBQWEsd0ZBQ2Isa0JBQWtCLG1LQUNsQixtQkFBbUIsNktBQ25CLFlBQVksNExBQ1osUUFBUSxpVUFDUixRQUFRLHNEQUNSLFNBQVMsb0hBQ1QsbUJBQW1COzs0RkFrQlYsbUJBQW1CO2tCQTlCL0IsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQO3dCQUNQLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWixRQUFRO3dCQUNSLFFBQVE7d0JBQ1IsU0FBUzt3QkFDVCxtQkFBbUI7cUJBQ3BCLGFBQ1U7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLFdBQVc7NEJBQ3BCLFFBQVEsRUFBRSxnQkFBZ0I7NEJBQzFCLElBQUksRUFBRSxDQUFDLGVBQWUsRUFBRSw4QkFBOEIsQ0FBQzt5QkFDeEQ7d0JBQ0QsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFO3dCQUUxRCw2Q0FBNkM7d0JBQzdDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFO3dCQUN6QyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTt3QkFDL0MsRUFBRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsQ0FBQyxFQUFFLEVBQUU7cUJBQzNGO3dEQU1ELFFBQVE7c0JBRFAsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgTE9DQUxFX0lELCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlciwgTWF0RGF0ZXBpY2tlcklucHV0LCBNYXREYXRlcGlja2VyVG9nZ2xlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGQsIE1hdExhYmVsLCBNYXRTdWZmaXggfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tICdsdXhvbic7XG5pbXBvcnQgeyBMdXhvbkRhdGVBZGFwdGVyLCBNQVRfTFVYT05fREFURV9BREFQVEVSX09QVElPTlMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC1sdXhvbi1hZGFwdGVyJztcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNQVRfREFURV9MT0NBTEUsIE1hdERhdGVGb3JtYXRzIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5cbmNvbnN0IGRhdGVQaWNrZXJGb3JtYXRzOiBNYXREYXRlRm9ybWF0cyA9IHtcbiAgcGFyc2U6IHtcbiAgICBkYXRlSW5wdXQ6ICdEJyxcbiAgfSxcbiAgZGlzcGxheToge1xuICAgIGRhdGVJbnB1dDogJ0QnLFxuICAgIG1vbnRoWWVhckxhYmVsOiAnTU1NTSB5eXl5JyxcbiAgICBkYXRlQTExeUxhYmVsOiAnREREJyxcbiAgICBtb250aFllYXJBMTF5TGFiZWw6ICdNTU1NIHl5eXknLFxuICB9LFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWV0YXFzMi1kYXRlcGlja2VyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXIsXG4gICAgTWF0RGF0ZXBpY2tlcklucHV0LFxuICAgIE1hdERhdGVwaWNrZXJUb2dnbGUsXG4gICAgTWF0Rm9ybUZpZWxkLFxuICAgIE1hdElucHV0LFxuICAgIE1hdExhYmVsLFxuICAgIE1hdFN1ZmZpeCxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBEYXRlQWRhcHRlcixcbiAgICAgIHVzZUNsYXNzOiBMdXhvbkRhdGVBZGFwdGVyLFxuICAgICAgZGVwczogW01BVF9EQVRFX0xPQ0FMRSwgTUFUX0xVWE9OX0RBVEVfQURBUFRFUl9PUFRJT05TXSxcbiAgICB9LFxuICAgIHsgcHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUywgdXNlVmFsdWU6IGRhdGVQaWNrZXJGb3JtYXRzIH0sXG5cbiAgICAvL3Byb3ZpZGVMdXhvbkRhdGVBZGFwdGVyKGRhdGVQaWNrZXJGb3JtYXRzKSxcbiAgICB7IHByb3ZpZGU6IExPQ0FMRV9JRCwgdXNlVmFsdWU6ICdkZS1ERScgfSxcbiAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0xPQ0FMRSwgdXNlVmFsdWU6ICdkZS1ERScgfSxcbiAgICB7IHByb3ZpZGU6IE1BVF9MVVhPTl9EQVRFX0FEQVBURVJfT1BUSU9OUywgdXNlVmFsdWU6IHsgdXNlVXRjOiB0cnVlLCBmaXJzdERheU9mV2VlazogMSB9IH0sXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2RhdGVwaWNrZXIuY29tcG9uZW50LmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIERhdGVwaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gIGlucHV0R3JvdXAhOiBGb3JtR3JvdXA8eyBzdGFydDogRm9ybUNvbnRyb2w8RGF0ZVRpbWU8Ym9vbGVhbj4+OyBlbmQ6IEZvcm1Db250cm9sPERhdGVUaW1lPGJvb2xlYW4+PiB9PjtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy9kZWZlciB0aGlzIHRvIGF2b2lkIGFuIEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkRXJyb3Igb24gdGhlIHBhcmVudCBjb21wb25lbnRcbiAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHRoaXMuaW5wdXRHcm91cC5yZXNldCgpKTtcbiAgfVxufVxuIiwiPGRpdiBbZm9ybUdyb3VwXT1cImlucHV0R3JvdXBcIj5cbiAgPCEtLSBzdGFydCBkYXRlIC0tPlxuICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1sYWJlbD5aZWl0cHVua3QgMTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dFxuICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICBbbWluXT1cImlucHV0R3JvdXAuY29udHJvbHMuc3RhcnQuZGVmYXVsdFZhbHVlXCJcbiAgICAgICAgICAgW21heF09XCJpbnB1dEdyb3VwLmNvbnRyb2xzLmVuZC5kZWZhdWx0VmFsdWVcIlxuICAgICAgICAgICBbbWF0RGF0ZXBpY2tlcl09XCJwaWNrZXIxXCIgZm9ybUNvbnRyb2xOYW1lPVwic3RhcnRcIlxuICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlN0YXJ0cyBkYXRlXCJcbiAgICA+XG4gICAgPCEtLVxuICAgICAgICAgIDxtYXQtaGludD5kLk0ueXl5eTwvbWF0LWhpbnQ+XG4gICAgLS0+XG4gICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRJY29uU3VmZml4IFtmb3JdPVwicGlja2VyMVwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgIDxtYXQtZGF0ZXBpY2tlciBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAjcGlja2VyMSBbc3RhcnRBdF09XCJpbnB1dEdyb3VwLmNvbnRyb2xzLnN0YXJ0LmRlZmF1bHRWYWx1ZVwiPlxuICAgIDwvbWF0LWRhdGVwaWNrZXI+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwhLS0gL3N0YXJ0IGRhdGUgLS0+XG4gIDwhLS0gZW5kIGRhdGUgLS0+XG4gIDxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsPlplaXRwdW5rdDI8L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgW21pbl09XCJpbnB1dEdyb3VwLmNvbnRyb2xzLnN0YXJ0LmRlZmF1bHRWYWx1ZVwiXG4gICAgICAgICAgIFttYXhdPVwiaW5wdXRHcm91cC5jb250cm9scy5lbmQuZGVmYXVsdFZhbHVlXCJcbiAgICAgICAgICAgW21hdERhdGVwaWNrZXJdPVwicGlja2VyMlwiXG4gICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImVuZFwiXG4gICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRW5kIGRhdGVcIlxuICAgID5cbiAgICA8IS0tXG4gICAgPG1hdC1oaW50PmQuTS55eXl5PC9tYXQtaGludD5cbiAgICAtLT5cbiAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdEljb25TdWZmaXggW2Zvcl09XCJwaWNrZXIyXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG4gICAgPG1hdC1kYXRlcGlja2VyIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiICNwaWNrZXIyIFtzdGFydEF0XT1cImlucHV0R3JvdXAuY29udHJvbHMuZW5kLnZhbHVlXCI+XG4gICAgPC9tYXQtZGF0ZXBpY2tlcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPCEtLSAvZW5kIGRhdGUgLS0+XG48L2Rpdj5cbiJdfQ==
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1tZXRhLXdpZGdldHMtbGliL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXIvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1ldGEtd2lkZ2V0cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlci9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBMEIsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RHLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRyxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBa0IsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQUVuSCxNQUFNLGlCQUFpQixHQUFtQjtJQUN4QyxLQUFLLEVBQUU7UUFDTCxTQUFTLEVBQUUsR0FBRztLQUNmO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsU0FBUyxFQUFFLEdBQUc7UUFDZCxjQUFjLEVBQUUsV0FBVztRQUMzQixhQUFh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QU9TLE1BQU07c0JBSmYsU0FBUzt1QkFBQyxRQUFRLEVBQUU7d0JBQ25CLElBQUksRUFBRSxTQUFTO3dCQUNmLE1BQU0sRUFBRSxJQUFJO3FCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgTE9DQUxFX0lELCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdERhdGVwaWNrZXIsIE1hdERhdGVwaWNrZXJJbnB1dCwgTWF0RGF0ZXBpY2tlclRvZ2dsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkLCBNYXRMYWJlbCwgTWF0U3VmZml4IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nO1xuaW1wb3J0IHsgTHV4b25EYXRlQWRhcHRlciwgTUFUX0xVWE9OX0RBVEVfQURBUFRFUl9PUFRJT05TIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwtbHV4b24tYWRhcHRlcic7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTUFUX0RBVEVfRk9STUFUUywgTUFUX0RBVEVfTE9DQUxFLCBNYXREYXRlRm9ybWF0cywgTWF0UmlwcGxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5cbmNvbnN0IGRhdGVQaWNrZXJGb3JtYXRzOiBNYXREYXRlRm9ybWF0cyA9IHtcbiAgcGFyc2U6IHtcbiAgICBkYXRlSW5wdXQ6ICdEJyxcbiAgfSxcbiAgZGlzcGxheToge1xuICAgIGRhdGVJbnB1dDogJ0QnLFxuICAgIG1vbnRoWWVhckxhYmVsOiAnTU1NTSB5eXl5JyxcbiAgICBkYXRlQTExeUxhYmVsOiAnREREJyxcbiAgICBtb250aFllYXJBMTF5TGFiZWw6ICdNTU1NIHl5eXknLFxuICB9LFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWV0YXFzMi1kYXRlcGlja2VyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXIsXG4gICAgTWF0RGF0ZXBpY2tlcklucHV0LFxuICAgIE1hdERhdGVwaWNrZXJUb2dnbGUsXG4gICAgTWF0Rm9ybUZpZWxkLFxuICAgIE1hdElucHV0LFxuICAgIE1hdExhYmVsLFxuICAgIE1hdFN1ZmZpeCxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdFJpcHBsZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogRGF0ZUFkYXB0ZXIsXG4gICAgICB1c2VDbGFzczogTHV4b25EYXRlQWRhcHRlcixcbiAgICAgIGRlcHM6IFtNQVRfREFURV9MT0NBTEUsIE1BVF9MVVhPTl9EQVRFX0FEQVBURVJfT1BUSU9OU10sXG4gICAgfSxcbiAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBkYXRlUGlja2VyRm9ybWF0cyB9LFxuXG4gICAgLy9wcm92aWRlTHV4b25EYXRlQWRhcHRlcihkYXRlUGlja2VyRm9ybWF0cyksXG4gICAgeyBwcm92aWRlOiBMT0NBTEVfSUQsIHVzZVZhbHVlOiAnZGUtREUnIH0sXG4gICAgeyBwcm92aWRlOiBNQVRfREFURV9MT0NBTEUsIHVzZVZhbHVlOiAnZGUtREUnIH0sXG4gICAgeyBwcm92aWRlOiBNQVRfTFVYT05fREFURV9BREFQVEVSX09QVElPTlMsIHVzZVZhbHVlOiB7IHVzZVV0YzogdHJ1ZSwgZmlyc3REYXlPZldlZWs6IDEgfSB9LFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9kYXRlcGlja2VyLmNvbXBvbmVudC5jc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlcGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gIGlucHV0R3JvdXAhOiBGb3JtR3JvdXA8eyBzdGFydDogRm9ybUNvbnRyb2w8RGF0ZVRpbWU8Ym9vbGVhbj4+OyBlbmQ6IEZvcm1Db250cm9sPERhdGVUaW1lPGJvb2xlYW4+PiB9PjtcblxuICBAVmlld0NoaWxkKCdzdGFydCcsIHtcbiAgICByZWFkOiBFbGVtZW50UmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHJvdGVjdGVkIHN0YXJ0ITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCdyaXBwbGUnLCB7XG4gICAgcmVhZDogTWF0UmlwcGxlLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHJvdGVjdGVkIHJpcHBsZSE6IE1hdFJpcHBsZTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZvY3VzKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAvL2RlZmVyIHRoaXMgdG8gYXZvaWQgYW4gRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvciBvbiB0aGUgcGFyZW50IGNvbXBvbmVudFxuICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4gdGhpcy5pbnB1dEdyb3VwLnJlc2V0KCkpO1xuICB9XG5cbiAgZm9jdXMoKSB7XG4gICAgdGhpcy5zdGFydD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIHRoaXMucmlwcGxlLmxhdW5jaCh7XG4gICAgICBjZW50ZXJlZDogdHJ1ZSwgLy8gQW5ndWxhciBNYXRlcmlhbCBidWc6IGRpc2FibGVkIHJpcHBsZXMgZG8gbm90IHRyaWdnZXIgdW5sZXNzIGNlbnRlcmVkXG4gICAgICByYWRpdXM6IDEwMDAsXG4gICAgICBhbmltYXRpb246IHtcbiAgICAgICAgZXhpdER1cmF0aW9uOiAxMDAwLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBbZm9ybUdyb3VwXT1cImlucHV0R3JvdXBcIiBtYXRSaXBwbGUgI3JpcHBsZT1cIm1hdFJpcHBsZVwiIFttYXRSaXBwbGVEaXNhYmxlZF09XCJ0cnVlXCI+XG4gIDwhLS0gc3RhcnQgZGF0ZSAtLT5cbiAgPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtbGFiZWw+WmVpdHB1bmt0IDE8L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgICAgICAgI3N0YXJ0XG4gICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgIFttaW5dPVwiaW5wdXRHcm91cC5jb250cm9scy5zdGFydC5kZWZhdWx0VmFsdWVcIlxuICAgICAgICAgICBbbWF4XT1cImlucHV0R3JvdXAuY29udHJvbHMuZW5kLmRlZmF1bHRWYWx1ZVwiXG4gICAgICAgICAgIFttYXREYXRlcGlja2VyXT1cInBpY2tlcjFcIiBmb3JtQ29udHJvbE5hbWU9XCJzdGFydFwiXG4gICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU3RhcnRzIGRhdGVcIlxuICAgID5cbiAgICA8IS0tXG4gICAgICAgICAgPG1hdC1oaW50PmQuTS55eXl5PC9tYXQtaGludD5cbiAgICAtLT5cbiAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdEljb25TdWZmaXggW2Zvcl09XCJwaWNrZXIxXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG4gICAgPG1hdC1kYXRlcGlja2VyIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiICNwaWNrZXIxIFtzdGFydEF0XT1cImlucHV0R3JvdXAuY29udHJvbHMuc3RhcnQuZGVmYXVsdFZhbHVlXCI+XG4gICAgPC9tYXQtZGF0ZXBpY2tlcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPCEtLSAvc3RhcnQgZGF0ZSAtLT5cbiAgPCEtLSBlbmQgZGF0ZSAtLT5cbiAgPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtbGFiZWw+WmVpdHB1bmt0MjwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dFxuICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICBbbWluXT1cImlucHV0R3JvdXAuY29udHJvbHMuc3RhcnQuZGVmYXVsdFZhbHVlXCJcbiAgICAgICAgICAgW21heF09XCJpbnB1dEdyb3VwLmNvbnRyb2xzLmVuZC5kZWZhdWx0VmFsdWVcIlxuICAgICAgICAgICBbbWF0RGF0ZXBpY2tlcl09XCJwaWNrZXIyXCJcbiAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZW5kXCJcbiAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJFbmQgZGF0ZVwiXG4gICAgPlxuICAgIDwhLS1cbiAgICA8bWF0LWhpbnQ+ZC5NLnl5eXk8L21hdC1oaW50PlxuICAgIC0tPlxuICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0SWNvblN1ZmZpeCBbZm9yXT1cInBpY2tlcjJcIj48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cbiAgICA8bWF0LWRhdGVwaWNrZXIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgI3BpY2tlcjIgW3N0YXJ0QXRdPVwiaW5wdXRHcm91cC5jb250cm9scy5lbmQudmFsdWVcIj5cbiAgICA8L21hdC1kYXRlcGlja2VyPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8IS0tIC9lbmQgZGF0ZSAtLT5cbjwvZGl2PlxuIl19