ngx-edu-sharing-metaqs2 0.9.33 → 0.9.35

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 (52) hide show
  1. package/README.md +31 -0
  2. package/_index.scss +8 -0
  3. package/esm2022/lib/collection-count-history/collection-count-history.component.mjs +3 -3
  4. package/esm2022/lib/components/donut-chart/donut-chart.component.mjs +6 -6
  5. package/esm2022/lib/components/donut-chart/donut-chart.model.mjs +1 -1
  6. package/esm2022/lib/components/donut-chart/donut-chart.pipe.mjs +6 -5
  7. package/esm2022/lib/components/donut-chart-tooltip/donut-chart-tooltip.component.mjs +79 -0
  8. package/esm2022/lib/components/filter/datepicker/datepicker.component.mjs +3 -8
  9. package/esm2022/lib/components/node-list/node-list.component.mjs +13 -9
  10. package/esm2022/lib/components/quality-matrix/quality_matrix.mjs +195 -36
  11. package/esm2022/lib/components/quality-matrix/scroll-marker.directive.mjs +17 -0
  12. package/esm2022/lib/config-helper.service.mjs +5 -4
  13. package/esm2022/lib/core/tooltip.service.mjs +146 -0
  14. package/esm2022/lib/counts-with-history/counts-with-history.component.mjs +4 -4
  15. package/esm2022/lib/java-api/api/authProxyController.service.mjs +12 -93
  16. package/esm2022/lib/java-api/api/collectionAPI.service.mjs +91 -178
  17. package/esm2022/lib/java-api/api/editorsAPI.service.mjs +14 -102
  18. package/esm2022/lib/java-api/api/filterAPI.service.mjs +50 -129
  19. package/esm2022/lib/java-api/api/replicationSourceAPI.service.mjs +20 -130
  20. package/esm2022/lib/java-api/api.base.service.mjs +66 -0
  21. package/esm2022/lib/java-api/configuration.mjs +9 -1
  22. package/esm2022/lib/java-api/model/missingAttributeResult.mjs +2 -0
  23. package/esm2022/lib/java-api/model/models.mjs +2 -1
  24. package/esm2022/lib/ng-meta-widgets-lib.module.mjs +18 -11
  25. package/esm2022/lib/tree-collection-details/tree-collection-details.component.mjs +3 -7
  26. package/esm2022/lib/tree-search-counts/tree-search-counts.component.mjs +4 -6
  27. package/esm2022/public-api.mjs +6 -3
  28. package/esm2022/web-components.mjs +36 -0
  29. package/fesm2022/ngx-edu-sharing-metaqs2.mjs +1051 -1003
  30. package/fesm2022/ngx-edu-sharing-metaqs2.mjs.map +1 -1
  31. package/lib/components/donut-chart/donut-chart.component.d.ts +1 -1
  32. package/lib/components/donut-chart/donut-chart.model.d.ts +1 -0
  33. package/lib/components/donut-chart/donut-chart.pipe.d.ts +1 -1
  34. package/lib/components/donut-chart-tooltip/donut-chart-tooltip.component.d.ts +14 -0
  35. package/lib/components/node-list/node-list.component.d.ts +9 -5
  36. package/lib/components/quality-matrix/quality_matrix.d.ts +25 -6
  37. package/lib/components/quality-matrix/scroll-marker.directive.d.ts +7 -0
  38. package/lib/config-helper.service.d.ts +2 -0
  39. package/lib/core/tooltip.service.d.ts +61 -0
  40. package/lib/java-api/api/authProxyController.service.d.ts +4 -9
  41. package/lib/java-api/api/collectionAPI.service.d.ts +47 -25
  42. package/lib/java-api/api/editorsAPI.service.d.ts +5 -10
  43. package/lib/java-api/api/filterAPI.service.d.ts +27 -9
  44. package/lib/java-api/api/replicationSourceAPI.service.d.ts +4 -9
  45. package/lib/java-api/api.base.service.d.ts +12 -0
  46. package/lib/java-api/configuration.d.ts +3 -1
  47. package/lib/java-api/model/missingAttributeResult.d.ts +16 -0
  48. package/lib/java-api/model/models.d.ts +1 -0
  49. package/lib/ng-meta-widgets-lib.module.d.ts +34 -32
  50. package/package.json +4 -1
  51. package/public-api.d.ts +5 -2
  52. package/web-components.d.ts +7 -0
package/README.md CHANGED
@@ -39,6 +39,9 @@ You need to install the lib with the `--force` flag:
39
39
  `npm install ngx-edu-sharing-metaqs2 --save --force`
40
40
 
41
41
  ## Usage
42
+
43
+ ### Module
44
+
42
45
  This library is provided as an Angular module.
43
46
  To use it in your application, import the `NgMetaWidgetsModule` in your `app.module.ts` file:
44
47
 
@@ -68,8 +71,36 @@ export const appConfig: ApplicationConfig = {
68
71
 
69
72
  ```
70
73
 
74
+ or as webcomponents in your `script.js` file (as an example we use the `CountsWithHistoryComponent`):
75
+ ```javascript
76
+ import { createRegister, CountsWithHistoryComponent, … } from 'ngx-edu-sharing-metaqs2';
77
+
78
+ // create the register function once and use it for all component registrations
79
+ const register = createRegister({
80
+ eduSharingPath: environment.eduSharingPath,
81
+ apiPath: environment.apiPath,
82
+ production: true
83
+ });
84
+
85
+ // register as many components as you like
86
+ register('metaqs2-counts-with-history', CountsWithHistoryComponent);
87
+
88
+ ```
89
+
71
90
  where `eduSharingPath` and `apiPath` are the base paths to the edu-sharing frontend (e.g. https://redaktion.openeduhub.net/edu-sharing) and the MetaDataQualityService backend (e.g. https://metaqs-2.staging.openeduhub.net) respectively.
72
91
 
92
+ ### Theming
93
+
94
+ The library provides mixins for theming. To use them, import the `_index.scss` file in your main `styles.scss` file and include the mixins in your own styles:
95
+
96
+ ```scss
97
+ @use '~ngx-edu-sharing-metaqs2' as metaqs2-widgets;
98
+
99
+ :root {
100
+ @include metaqs2-widgets.donut-chart-tooltip-background-color(white);
101
+ }
102
+ ```
103
+
73
104
  ## Widgets
74
105
  This library provides the following widgets:
75
106
 
package/_index.scss ADDED
@@ -0,0 +1,8 @@
1
+ @mixin donut-chart-tooltip-background-color($color) {
2
+ --metaqs2-donut-chart-tooltip-background-color: #{$color};
3
+ }
4
+ .donut-chart-tooltip {
5
+ background-color: var(--metaqs2-donut-chart-tooltip-background-color);
6
+ box-shadow: 0 0.75rem 1rem rgba(0, 0, 0, 0.3);
7
+ border-radius: 0 0.5rem 0.5rem 0.5rem;
8
+ }
@@ -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 [disabled]=\"!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 <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"] }] }); }
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 [disabled]=\"!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 <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"] }]
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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VUFBVSxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLEVBQ0YsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQzFDLENBQUM7SUFDSixDQUFDOytHQTVHVSwrQkFBK0I7bUdBQS9CLCtCQUErQix1S0FDL0Isa0JBQWtCLGdEQ3RDL0IsMDhCQTBCQSw0RkRMSSxrQkFBa0IsK01BQ2xCLG9CQUFvQixpSEFDcEIsT0FBTyxvR0FDUCxhQUFhLDREQUNiLFlBQVksNkZBQ1osY0FBYyx3REFDZCxTQUFTLDZDQUNULG1CQUFtQix1SUFDbkIsSUFBSSw2RkFDSixjQUFjLHlVQUNkLFdBQVcsdVBBQ1gsd0JBQXdCOzs0RkFLZiwrQkFBK0I7a0JBcEIzQyxTQUFTOytCQUNFLGtDQUFrQyxjQUNoQyxJQUFJLFdBQ1A7d0JBQ1Asa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLE9BQU87d0JBQ1AsYUFBYTt3QkFDYixZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsU0FBUzt3QkFDVCxtQkFBbUI7d0JBQ25CLElBQUk7d0JBQ0osY0FBYzt3QkFDZCxXQUFXO3dCQUNYLHdCQUF3QjtxQkFDekI7NEdBSzhCLEtBQUs7c0JBQW5DLFNBQVM7dUJBQUMsa0JBQWtCO2dCQXdCN0IsU0FBUztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBEZXN0cm95UmVmLCBlZmZlY3QsIElucHV0LCBPbkluaXQsIHNpZ25hbCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGFydENvbmZpZ3VyYXRpb24sIENoYXJ0RGF0YXNldCB9IGZyb20gJ2NoYXJ0LmpzJztcbmltcG9ydCB7IEJhc2VDaGFydERpcmVjdGl2ZSB9IGZyb20gJ25nMi1jaGFydHMnO1xuaW1wb3J0IHsgRGF0ZVRpbWUsIERhdGVUaW1lVW5pdCB9IGZyb20gJ2x1eG9uJztcbmltcG9ydCB7IE1hdENhcmQsIE1hdENhcmRDb250ZW50LCBNYXRDYXJkSGVhZGVyLCBNYXRDYXJkVGl0bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBNb250aHBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vbW9udGhwaWNrZXIvbW9udGhwaWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IENvdW50LCBNYXRlcmlhbENvdW50RmlsdGVyIH0gZnJvbSAnLi4vamF2YS1hcGknO1xuaW1wb3J0IHsgTWV0YUFwaVNlcnZpY2UgfSBmcm9tICcuLi9tZXRhLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIGZpbmFsaXplLCBtYXAsIHN3aXRjaE1hcCwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NTcGlubmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9sb2FkaW5nX2luZGljYXRvci9wcm9ncmVzcy1zcGlubmVyL3Byb2dyZXNzLXNwaW5uZXIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWV0YXFzMi1jb2xsZWN0aW9uLWNvdW50LWhpc3RvcnknLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQmFzZUNoYXJ0RGlyZWN0aXZlLFxuICAgIE1vbnRocGlja2VyQ29tcG9uZW50LFxuICAgIE1hdENhcmQsXG4gICAgTWF0Q2FyZEhlYWRlcixcbiAgICBNYXRDYXJkVGl0bGUsXG4gICAgTWF0Q2FyZENvbnRlbnQsXG4gICAgQXN5bmNQaXBlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTmdJZixcbiAgICBNYXRTbGlkZVRvZ2dsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBQcm9ncmVzc1NwaW5uZXJDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2xsZWN0aW9uLWNvdW50LWhpc3RvcnkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vY29sbGVjdGlvbi1jb3VudC1oaXN0b3J5LmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgQ29sbGVjdGlvbkNvdW50SGlzdG9yeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoQmFzZUNoYXJ0RGlyZWN0aXZlKSBjaGFydD86IEJhc2VDaGFydERpcmVjdGl2ZTtcbiAgcHJvdGVjdGVkIGxpbmVDaGFydE9wdGlvbnM6IENoYXJ0Q29uZmlndXJhdGlvblsnb3B0aW9ucyddID0ge1xuICAgIHBhcnNpbmc6IHtcbiAgICAgIHhBeGlzS2V5OiAnZGF0ZScsXG4gICAgICB5QXhpc0tleTogJ2NvdW50JyxcbiAgICB9LFxuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogJ01vbnRzZXJyYXQnLFxuICAgIH0sXG4gICAgYW5pbWF0aW9uOiBmYWxzZSxcbiAgfTtcbiAgcHJvdGVjdGVkIGRhdGFwb2ludHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDaGFydERhdGFzZXQ8J2xpbmUnLCBDb3VudFtdPltdPihbXSk7XG4gIHByb3RlY3RlZCBpc0xvYWRpbmcgPSBzaWduYWwodHJ1ZSk7XG4gIHJlYWRvbmx5IHJhbmdlOiBGb3JtR3JvdXA8e1xuICAgIHN0YXJ0OiBGb3JtQ29udHJvbDxEYXRlVGltZTxib29sZWFuPj47XG4gICAgZW5kOiBGb3JtQ29udHJvbDxEYXRlVGltZTxib29sZWFuPj47XG4gIH0+ID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgc3RhcnQ6IG5ldyBGb3JtQ29udHJvbCgpLFxuICAgIGVuZDogbmV3IEZvcm1Db250cm9sKCksXG4gIH0pO1xuICBwcm90ZWN0ZWQgZ3JhbnVsYXJpdGllczogRGF0ZVRpbWVVbml0W10gPSBbJ3llYXInLCAnbW9udGgnLCAnd2VlaycsICdkYXknXTtcbiAgcHJvdGVjdGVkIGdyYW51bGFyaXR5ID0gbmV3IEZvcm1Db250cm9sPERhdGVUaW1lVW5pdD4oJ21vbnRoJywgeyBub25OdWxsYWJsZTogdHJ1ZSB9KTtcblxuICBASW5wdXQoKVxuICBwYWdlVGl0bGU6IHN0cmluZztcbiAgaXNIaXN0b3J5RW5hYmxlZCA9IHNpZ25hbCh0cnVlKTtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBtZXRhQXBpOiBNZXRhQXBpU2VydmljZSwgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmOiBEZXN0cm95UmVmKSB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIHRoaXMucmFuZ2UuY29udHJvbHMuZW5kLnJlc2V0KCk7XG4gICAgICBpZiAoIXRoaXMuaXNIaXN0b3J5RW5hYmxlZCgpKSB7XG4gICAgICAgIHRoaXMucmFuZ2UuY29udHJvbHMuc3RhcnQuc2V0VmFsdWUodGhpcy5yYW5nZS5jb250cm9scy5lbmQudmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yYW5nZS5jb250cm9scy5zdGFydC5yZXNldCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZWdpc3RlckRhdGVSYW5nZUZpbHRlcigpO1xuICB9XG5cbiAgcmVnaXN0ZXJEYXRlUmFuZ2VGaWx0ZXIoKSB7XG4gICAgdGhpcy5yYW5nZS52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKHJhbmdlKTogcmFuZ2UgaXMgeyBzdGFydDogRGF0ZVRpbWU7IGVuZDogRGF0ZVRpbWUgfSA9PiAhIXJhbmdlLnN0YXJ0ICYmICEhcmFuZ2UuZW5kKSxcbiAgICAgICAgLy90aGUgTWF0ZXJpYWwgRGF0ZXBpY2tlciBlbWl0cyB0aGUgaW5pdGlhbCB2YWx1ZXMgNCB0aW1lcyB3aGVuIGl0IHN0YXJ0cywgc28gd2UgbmVlZCB0byBkaXN0aW5jdCB0aGVtXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2LCBjdXJyKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHByZXYuc3RhcnQgPT09IGN1cnIuc3RhcnQgJiYgcHJldi5lbmQgPT09IGN1cnIuZW5kO1xuICAgICAgICB9KSxcbiAgICAgICAgc3dpdGNoTWFwKChyYW5nZSkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLmlzSGlzdG9yeUVuYWJsZWQoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9hZERhdGEocmFuZ2Uuc3RhcnQsIHJhbmdlLmVuZCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxvYWREYXRhKHJhbmdlLmVuZC5zdGFydE9mKHRoaXMuZ3JhbnVsYXJpdHkudmFsdWUpLCByYW5nZS5lbmQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5tZXRhQXBpXG4gICAgICAuZ2V0VGltZXJhbmdlRmlsdGVyKClcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChyYW5nZUZpbHRlcikgPT4ge1xuICAgICAgICBpZiAocmFuZ2VGaWx0ZXIpIHtcbiAgICAgICAgICBjb25zdCBzdGFydERhdGUgPSBEYXRlVGltZS5mcm9tSVNPKHJhbmdlRmlsdGVyLnZhbHVlcy5maW5kKCh2KSA9PiB2LmlkID09PSAncmFuZ2VTdGFydCcpPy5sYWJlbCEsIHtcbiAgICAgICAgICAgIHpvbmU6ICd1dGMnLFxuICAgICAgICAgIH0pLnN0YXJ0T2YodGhpcy5ncmFudWxhcml0eS52YWx1ZSk7XG4gICAgICAgICAgY29uc3QgZW5kRGF0ZSA9IERhdGVUaW1lLmZyb21JU08ocmFuZ2VGaWx0ZXIudmFsdWVzLmZpbmQoKHYpID0+IHYuaWQgPT09ICdyYW5nZUVuZCcpPy5sYWJlbCEsIHtcbiAgICAgICAgICAgIHpvbmU6ICd1dGMnLFxuICAgICAgICAgIH0pLmVuZE9mKHRoaXMuZ3JhbnVsYXJpdHkudmFsdWUpO1xuICAgICAgICAgIHRoaXMucmFuZ2Uuc2V0Q29udHJvbCgnc3RhcnQnLCBuZXcgRm9ybUNvbnRyb2w8RGF0ZVRpbWU+KHN0YXJ0RGF0ZSwgeyBub25OdWxsYWJsZTogdHJ1ZSB9KSwge1xuICAgICAgICAgICAgZW1pdEV2ZW50OiBmYWxzZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLnJhbmdlLnNldENvbnRyb2woJ2VuZCcsIG5ldyBGb3JtQ29udHJvbDxEYXRlVGltZT4oZW5kRGF0ZSwgeyBub25OdWxsYWJsZTogdHJ1ZSB9KSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZERhdGEoc3RhcnQ/OiBEYXRlVGltZTxib29sZWFuPiwgZW5kPzogRGF0ZVRpbWU8Ym9vbGVhbj4pIHtcbiAgICB0aGlzLmlzTG9hZGluZy5zZXQodHJ1ZSk7XG5cbiAgICBjb25zdCByZXF1ZXN0OiBNYXRlcmlhbENvdW50RmlsdGVyID0ge1xuICAgICAgc3RhcnREYXRlOiBzdGFydD8udG9JU08oKSEsXG4gICAgICBlbmREYXRlOiBlbmQ/LnRvSVNPKCkhLFxuICAgICAgZ3JhbnVsYXJpdHk6IHRoaXMuZ3JhbnVsYXJpdHkudmFsdWUsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLm1ldGFBcGkuZ2V0RWRpdG9yaWFsTWF0ZXJpYWxDb3VudHMocmVxdWVzdCkucGlwZShcbiAgICAgIG1hcCgocmVzcG9uc2UpID0+XG4gICAgICAgIHJlc3BvbnNlLm1hcCgoZGF0YSkgPT4ge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkYXRhOiBkYXRhLmNvdW50cy5tYXAoKGNvdW50KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZGF0ZTogRGF0ZVRpbWUuZnJvbUlTTyhjb3VudC5kYXRlKS50b0Zvcm1hdCgnTExMTCB5eXl5JykhLFxuICAgICAgICAgICAgICAgIGNvdW50OiBjb3VudC5jb3VudCxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbGFiZWw6IGRhdGEubmFtZSxcbiAgICAgICAgICB9O1xuICAgICAgICB9KVxuICAgICAgKSxcbiAgICAgIHRha2UoMSksXG4gICAgICB0YXAoKGRhdGFwb2ludHMpID0+IHtcbiAgICAgICAgdGhpcy5kYXRhcG9pbnRzJC5uZXh0KGRhdGFwb2ludHMpO1xuICAgICAgfSksXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmlzTG9hZGluZy5zZXQoZmFsc2UpKVxuICAgICk7XG4gIH1cbn1cbiIsIjxtYXQtY2FyZCBhcHBlYXJhbmNlPVwib3V0bGluZWRcIj5cbiAgPG1hdC1jYXJkLWhlYWRlciAqbmdJZj1cInBhZ2VUaXRsZVwiPlxuICAgIDxtYXQtY2FyZC10aXRsZT5cbiAgICAgIHt7IHBhZ2VUaXRsZSB9fXt7IGlzTG9hZGluZygpID8gXCI6IExhZGUgbmV1ZSBEYXRlbi5cIiA6IFwiXCIgfX1cbiAgICA8L21hdC1jYXJkLXRpdGxlPlxuICA8L21hdC1jYXJkLWhlYWRlcj5cbiAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGdhcDogMC41cmVtOyBhbGlnbi1pdGVtczogY2VudGVyXCI+XG4gICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBbKG5nTW9kZWwpXT1cImlzSGlzdG9yeUVuYWJsZWRcIiBbZGlzYWJsZWRdPVwiaXNMb2FkaW5nKClcIj5cbiAgICAgICAgPGxhYmVsPlplaWdlIGhpc3RvcmlzY2hlIERhdGVuPC9sYWJlbD5cbiAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDxtZXRhcXMyLW1vbnRocGlja2VyIFtkaXNhYmxlZF09XCIhaXNIaXN0b3J5RW5hYmxlZCgpXCJcbiAgICAgICAgW2lucHV0R3JvdXBdPVwicmFuZ2VcIj48L21ldGFxczItbW9udGhwaWNrZXI+XG4gICAgPC9kaXY+XG4gICAgPG1ldGFxczItcHJvZ3Jlc3Mtc3Bpbm5lciBbZGlzcGxheVByb2dyZXNzU3Bpbm5lcl09XCJpc0xvYWRpbmcoKVwiPjwvbWV0YXFzMi1wcm9ncmVzcy1zcGlubmVyPlxuXG4gICAgPGRpdiBbY2xhc3Mud2hpbGUtbG9hZGluZ109XCJpc0xvYWRpbmcoKVwiPlxuICAgICAgPGNhbnZhc1xuICAgICAgICBiYXNlQ2hhcnRcbiAgICAgICAgW2RhdGFzZXRzXT1cIihkYXRhcG9pbnRzJCB8IGFzeW5jKSB8fCBbXVwiXG4gICAgICAgIFtvcHRpb25zXT1cImxpbmVDaGFydE9wdGlvbnNcIlxuICAgICAgICBbdHlwZV09XCInbGluZSdcIlxuICAgICAgPjwvY2FudmFzPlxuICAgIDwvZGl2PlxuICA8L21hdC1jYXJkLWNvbnRlbnQ+XG48L21hdC1jYXJkPlxuIl19
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
@@ -1,7 +1,7 @@
1
1
  import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { DonutChartPipe } from './donut-chart.pipe';
3
+ import { NgForOf, NgIf } from '@angular/common';
2
4
  import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "./donut-chart.pipe";
5
5
  /**
6
6
  * A donut chart component that displays a list of slices.
7
7
  * The chart is divided into slices, each slice has a color and a label.
@@ -26,7 +26,7 @@ export class DonutChartComponent {
26
26
  return slice.id;
27
27
  }
28
28
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DonutChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
29
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DonutChartComponent, selector: "metaqs2-donut-chart", inputs: { radius: "radius", viewBox: "viewBox", borderSize: "borderSize", strokeWidth: "strokeWidth", data: "data" }, ngImport: i0, template: `
29
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DonutChartComponent, isStandalone: true, selector: "metaqs2-donut-chart", inputs: { radius: "radius", viewBox: "viewBox", borderSize: "borderSize", strokeWidth: "strokeWidth", data: "data" }, ngImport: i0, template: `
30
30
  <svg [attr.viewBox]="'0 0 ' + viewBox + ' ' + viewBox" *ngIf="data">
31
31
  <path
32
32
  *ngFor="
@@ -46,7 +46,7 @@ export class DonutChartComponent {
46
46
  <title>{{ slice.label }}</title>
47
47
  </path>
48
48
  </svg>
49
- `, isInline: true, styles: [":host{display:block}svg{overflow:visible;transform-origin:center;width:3.5rem;aspect-ratio:1/1;rotate:-90deg}path{transform-origin:center;fill-opacity:.7;cursor:pointer}path:hover{fill-opacity:1}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.DonutChartPipe, name: "slicesWithCommandsAndOffset" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
49
+ `, isInline: true, styles: [":host{display:block}svg{overflow:visible;transform-origin:center;width:3.5rem;aspect-ratio:1/1;rotate:-90deg}path{transform-origin:center;fill-opacity:.7;cursor:pointer}path:hover{fill-opacity:1}\n"], dependencies: [{ kind: "pipe", type: DonutChartPipe, name: "slicesWithCommandsAndOffset" }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
50
50
  }
51
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DonutChartComponent, decorators: [{
52
52
  type: Component,
@@ -70,7 +70,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
70
70
  <title>{{ slice.label }}</title>
71
71
  </path>
72
72
  </svg>
73
- `, styles: [":host{display:block}svg{overflow:visible;transform-origin:center;width:3.5rem;aspect-ratio:1/1;rotate:-90deg}path{transform-origin:center;fill-opacity:.7;cursor:pointer}path:hover{fill-opacity:1}\n"] }]
73
+ `, imports: [DonutChartPipe, NgForOf, NgIf], standalone: true, styles: [":host{display:block}svg{overflow:visible;transform-origin:center;width:3.5rem;aspect-ratio:1/1;rotate:-90deg}path{transform-origin:center;fill-opacity:.7;cursor:pointer}path:hover{fill-opacity:1}\n"] }]
74
74
  }], propDecorators: { radius: [{
75
75
  type: Input
76
76
  }], viewBox: [{
@@ -82,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
82
82
  }], data: [{
83
83
  type: Input
84
84
  }] } });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9udXQtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWV0YS13aWRnZXRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZG9udXQtY2hhcnQvZG9udXQtY2hhcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7O0FBR2xGOzs7OztHQUtHO0FBMkJILE1BQU0sT0FBTyxtQkFBbUI7SUExQmhDO1FBMkJXLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFDWixZQUFPLEdBQUcsR0FBRyxDQUFDO1FBQ2QsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUNoQixTQUFJLEdBQWlCLEVBQUUsQ0FBQztLQVlsQztJQVZDLFFBQVE7UUFDTixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3hFLElBQUksR0FBRyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUVBQXVFLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDakcsQ0FBQztJQUNILENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYSxFQUFFLEtBQWlCO1FBQ3hDLE9BQU8sS0FBSyxDQUFDLEVBQUUsQ0FBQztJQUNsQixDQUFDOytHQWhCVSxtQkFBbUI7bUdBQW5CLG1CQUFtQixpTEF0QnBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CVDs7NEZBRVUsbUJBQW1CO2tCQTFCL0IsU0FBUzsrQkFDRSxxQkFBcUIsbUJBRWQsdUJBQXVCLENBQUMsTUFBTSxZQUNyQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQlQ7OEJBR1EsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9udXRTbGljZSB9IGZyb20gJy4vZG9udXQtY2hhcnQubW9kZWwnO1xuXG4vKipcbiAqIEEgZG9udXQgY2hhcnQgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgYSBsaXN0IG9mIHNsaWNlcy5cbiAqIFRoZSBjaGFydCBpcyBkaXZpZGVkIGludG8gc2xpY2VzLCBlYWNoIHNsaWNlIGhhcyBhIGNvbG9yIGFuZCBhIGxhYmVsLlxuICogRWFjaCBzbGljZSBpcyByZXByZXNlbnRlZCBieSBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHRvdGFsIGNoYXJ0LlxuICogYm9ycm93ZWQgZnJvbSBodHRwczovL21lZGl1bS5jb20vQHRoZUFuZ3VsYXJHdXkvaG93LXRvLWNyZWF0ZS1hbi1pbnRlcmFjdGl2ZS1kb251dC1jaGFydC11c2luZy1zdmctMTA3Y2JmMGI1YjZcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWV0YXFzMi1kb251dC1jaGFydCcsXG4gIHN0eWxlVXJsczogWycuL2RvbnV0LWNoYXJ0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxzdmcgW2F0dHIudmlld0JveF09XCInMCAwICcgKyB2aWV3Qm94ICsgJyAnICsgdmlld0JveFwiICpuZ0lmPVwiZGF0YVwiPlxuICAgICAgPHBhdGhcbiAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgbGV0IHNsaWNlIG9mIGRhdGEgfCBzbGljZXNXaXRoQ29tbWFuZHNBbmRPZmZzZXQgOiByYWRpdXMgOiB2aWV3Qm94IDogYm9yZGVyU2l6ZTtcbiAgICAgICAgICB0cmFja0J5OiB0cmFja0J5Rm47XG4gICAgICAgICAgbGV0IGluZGV4ID0gaW5kZXhcbiAgICAgICAgXCJcbiAgICAgICAgW2F0dHIuZmlsbF09XCJzbGljZS5jb2xvclwiXG4gICAgICAgIHN0cm9rZT1cIndoaXRlXCJcbiAgICAgICAgcGFpbnQtb3JkZXI9XCJzdHJva2VcIlxuICAgICAgICBzdHJva2Utb3BhY2l0eT1cIjFcIlxuICAgICAgICBbYXR0ci5zdHJva2Utd2lkdGhdPVwic3Ryb2tlV2lkdGhcIlxuICAgICAgICBbYXR0ci5kXT1cInNsaWNlLmNvbW1hbmRzXCJcbiAgICAgICAgW2F0dHIudHJhbnNmb3JtXT1cIidyb3RhdGUoJyArIHNsaWNlLm9mZnNldCArICcpJ1wiXG4gICAgICAgIChjbGljayk9XCJzbGljZS5vbkNsaWNrQ2I/LigpXCJcbiAgICAgID5cbiAgICAgICAgPHRpdGxlPnt7IHNsaWNlLmxhYmVsIH19PC90aXRsZT5cbiAgICAgIDwvcGF0aD5cbiAgICA8L3N2Zz5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgRG9udXRDaGFydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHJhZGl1cyA9IDUwO1xuICBASW5wdXQoKSB2aWV3Qm94ID0gMTAwO1xuICBASW5wdXQoKSBib3JkZXJTaXplID0gMjA7XG4gIEBJbnB1dCgpIHN0cm9rZVdpZHRoID0gNTtcbiAgQElucHV0KCkgZGF0YTogRG9udXRTbGljZVtdID0gW107XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3Qgc3VtID0gdGhpcy5kYXRhPy5yZWR1Y2UoKGFjY3UsIHNsaWNlKSA9PiBhY2N1ICsgc2xpY2UucGVyY2VudCwgMCk7XG4gICAgaWYgKHN1bSAhPT0gMTAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSBzdW0gb2YgYWxsIHNsaWNlcyBvZiB0aGUgZG9udXQgY2hhcnQgbXVzdCBlcXVhbCB0byAxMDAlLiBGb3VuZDogJHtzdW19LmApO1xuICAgIH1cbiAgfVxuXG4gIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBzbGljZTogRG9udXRTbGljZSkge1xuICAgIHJldHVybiBzbGljZS5pZDtcbiAgfVxufVxuIl19
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9udXQtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWV0YS13aWRnZXRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZG9udXQtY2hhcnQvZG9udXQtY2hhcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUVoRDs7Ozs7R0FLRztBQTZCSCxNQUFNLE9BQU8sbUJBQW1CO0lBNUJoQztRQTZCVyxXQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ1osWUFBTyxHQUFHLEdBQUcsQ0FBQztRQUNkLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFDaEIsU0FBSSxHQUFpQixFQUFFLENBQUM7S0FZbEM7SUFWQyxRQUFRO1FBQ04sTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4RSxJQUFJLEdBQUcsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLHVFQUF1RSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ2pHLENBQUM7SUFDSCxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWEsRUFBRSxLQUFpQjtRQUN4QyxPQUFPLEtBQUssQ0FBQyxFQUFFLENBQUM7SUFDbEIsQ0FBQzsrR0FoQlUsbUJBQW1CO21HQUFuQixtQkFBbUIscU1BeEJwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQlQsMFFBQ1MsY0FBYyxvRUFBRSxPQUFPLG1IQUFFLElBQUk7OzRGQUc1QixtQkFBbUI7a0JBNUIvQixTQUFTOytCQUNFLHFCQUFxQixtQkFFZCx1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CVCxXQUNRLENBQUMsY0FBYyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsY0FDNUIsSUFBSTs4QkFHUCxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb251dFNsaWNlIH0gZnJvbSAnLi9kb251dC1jaGFydC5tb2RlbCc7XG5pbXBvcnQgeyBEb251dENoYXJ0UGlwZSB9IGZyb20gJy4vZG9udXQtY2hhcnQucGlwZSc7XG5pbXBvcnQgeyBOZ0Zvck9mLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuLyoqXG4gKiBBIGRvbnV0IGNoYXJ0IGNvbXBvbmVudCB0aGF0IGRpc3BsYXlzIGEgbGlzdCBvZiBzbGljZXMuXG4gKiBUaGUgY2hhcnQgaXMgZGl2aWRlZCBpbnRvIHNsaWNlcywgZWFjaCBzbGljZSBoYXMgYSBjb2xvciBhbmQgYSBsYWJlbC5cbiAqIEVhY2ggc2xpY2UgaXMgcmVwcmVzZW50ZWQgYnkgYSBwZXJjZW50YWdlIG9mIHRoZSB0b3RhbCBjaGFydC5cbiAqIGJvcnJvd2VkIGZyb20gaHR0cHM6Ly9tZWRpdW0uY29tL0B0aGVBbmd1bGFyR3V5L2hvdy10by1jcmVhdGUtYW4taW50ZXJhY3RpdmUtZG9udXQtY2hhcnQtdXNpbmctc3ZnLTEwN2NiZjBiNWI2XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21ldGFxczItZG9udXQtY2hhcnQnLFxuICBzdHlsZVVybHM6IFsnLi9kb251dC1jaGFydC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6IGBcbiAgICA8c3ZnIFthdHRyLnZpZXdCb3hdPVwiJzAgMCAnICsgdmlld0JveCArICcgJyArIHZpZXdCb3hcIiAqbmdJZj1cImRhdGFcIj5cbiAgICAgIDxwYXRoXG4gICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgIGxldCBzbGljZSBvZiBkYXRhIHwgc2xpY2VzV2l0aENvbW1hbmRzQW5kT2Zmc2V0IDogcmFkaXVzIDogdmlld0JveCA6IGJvcmRlclNpemU7XG4gICAgICAgICAgdHJhY2tCeTogdHJhY2tCeUZuO1xuICAgICAgICAgIGxldCBpbmRleCA9IGluZGV4XG4gICAgICAgIFwiXG4gICAgICAgIFthdHRyLmZpbGxdPVwic2xpY2UuY29sb3JcIlxuICAgICAgICBzdHJva2U9XCJ3aGl0ZVwiXG4gICAgICAgIHBhaW50LW9yZGVyPVwic3Ryb2tlXCJcbiAgICAgICAgc3Ryb2tlLW9wYWNpdHk9XCIxXCJcbiAgICAgICAgW2F0dHIuc3Ryb2tlLXdpZHRoXT1cInN0cm9rZVdpZHRoXCJcbiAgICAgICAgW2F0dHIuZF09XCJzbGljZS5jb21tYW5kc1wiXG4gICAgICAgIFthdHRyLnRyYW5zZm9ybV09XCIncm90YXRlKCcgKyBzbGljZS5vZmZzZXQgKyAnKSdcIlxuICAgICAgICAoY2xpY2spPVwic2xpY2Uub25DbGlja0NiPy4oKVwiXG4gICAgICA+XG4gICAgICAgIDx0aXRsZT57eyBzbGljZS5sYWJlbCB9fTwvdGl0bGU+XG4gICAgICA8L3BhdGg+XG4gICAgPC9zdmc+XG4gIGAsXG4gIGltcG9ydHM6IFtEb251dENoYXJ0UGlwZSwgTmdGb3JPZiwgTmdJZl0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIERvbnV0Q2hhcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSByYWRpdXMgPSA1MDtcbiAgQElucHV0KCkgdmlld0JveCA9IDEwMDtcbiAgQElucHV0KCkgYm9yZGVyU2l6ZSA9IDIwO1xuICBASW5wdXQoKSBzdHJva2VXaWR0aCA9IDU7XG4gIEBJbnB1dCgpIGRhdGE6IERvbnV0U2xpY2VbXSA9IFtdO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IHN1bSA9IHRoaXMuZGF0YT8ucmVkdWNlKChhY2N1LCBzbGljZSkgPT4gYWNjdSArIHNsaWNlLnBlcmNlbnQsIDApO1xuICAgIGlmIChzdW0gIT09IDEwMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgc3VtIG9mIGFsbCBzbGljZXMgb2YgdGhlIGRvbnV0IGNoYXJ0IG11c3QgZXF1YWwgdG8gMTAwJS4gRm91bmQ6ICR7c3VtfS5gKTtcbiAgICB9XG4gIH1cblxuICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgc2xpY2U6IERvbnV0U2xpY2UpIHtcbiAgICByZXR1cm4gc2xpY2UuaWQ7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9udXQtY2hhcnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1tZXRhLXdpZGdldHMtbGliL3NyYy9saWIvY29tcG9uZW50cy9kb251dC1jaGFydC9kb251dC1jaGFydC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBEb251dFNsaWNlIHtcbiAgaWQ6IG51bWJlcjtcbiAgcGVyY2VudDogbnVtYmVyO1xuICBjb2xvcjogc3RyaW5nO1xuICBsYWJlbD86IHN0cmluZztcbiAgb25DbGlja0NiPzogKCkgPT4gdm9pZDtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9udXQtY2hhcnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1tZXRhLXdpZGdldHMtbGliL3NyYy9saWIvY29tcG9uZW50cy9kb251dC1jaGFydC9kb251dC1jaGFydC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBEb251dFNsaWNlIHtcbiAgaWQ6IG51bWJlcjtcbiAgcGVyY2VudDogbnVtYmVyO1xuICBjb2xvcjogc3RyaW5nO1xuICBsYWJlbD86IHN0cmluZztcbiAgdmVyYm9zZUxhYmVsPzogc3RyaW5nO1xuICBvbkNsaWNrQ2I/OiAoKSA9PiB2b2lkO1xufVxuIl19
@@ -3,7 +3,7 @@ import * as i0 from "@angular/core";
3
3
  export class DonutChartPipe {
4
4
  transform(donutSlices, radius, svgSize, borderSize) {
5
5
  let previousPercent = 0;
6
- return donutSlices.map(slice => {
6
+ return donutSlices.map((slice) => {
7
7
  // this is a hack to that the circle is rendered when the percent is 100
8
8
  slice.percent = slice.percent === 100 ? 99.999 : slice.percent;
9
9
  const sliceWithCommands = {
@@ -27,8 +27,8 @@ export class DonutChartPipe {
27
27
  return commands.join(' ');
28
28
  }
29
29
  getCoordFromDegrees(angle, radius, svgSize) {
30
- const x = Math.cos(angle * Math.PI / 180);
31
- const y = Math.sin(angle * Math.PI / 180);
30
+ const x = Math.cos((angle * Math.PI) / 180);
31
+ const y = Math.sin((angle * Math.PI) / 180);
32
32
  const coordX = x * radius + svgSize / 2;
33
33
  const coordY = y * -radius + svgSize / 2;
34
34
  return `${coordX} ${coordY}`;
@@ -37,13 +37,14 @@ export class DonutChartPipe {
37
37
  return percent * 3.6;
38
38
  }
39
39
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DonutChartPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
40
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DonutChartPipe, name: "slicesWithCommandsAndOffset" }); }
40
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DonutChartPipe, isStandalone: true, name: "slicesWithCommandsAndOffset" }); }
41
41
  }
42
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DonutChartPipe, decorators: [{
43
43
  type: Pipe,
44
44
  args: [{
45
45
  name: 'slicesWithCommandsAndOffset',
46
46
  pure: true,
47
+ standalone: true,
47
48
  }]
48
49
  }] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9udXQtY2hhcnQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1ldGEtd2lkZ2V0cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2RvbnV0LWNoYXJ0L2RvbnV0LWNoYXJ0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBWXBELE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFNBQVMsQ0FBQyxXQUF5QixFQUFFLE1BQWMsRUFBRSxPQUFlLEVBQUUsVUFBa0I7UUFDdEYsSUFBSSxlQUFlLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM3Qix3RUFBd0U7WUFDeEUsS0FBSyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxLQUFLLEdBQUcsQ0FBQSxDQUFDLENBQUEsTUFBTSxDQUFBLENBQUMsQ0FBQSxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQzNELE1BQU0saUJBQWlCLEdBQTJCO2dCQUNoRCxHQUFHLEtBQUs7Z0JBQ1IsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxJQUFJO2dCQUMxRSxNQUFNLEVBQUUsZUFBZSxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7YUFDbkMsQ0FBQztZQUNGLGVBQWUsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ2pDLE9BQU8saUJBQWlCLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBc0IsRUFBRSxNQUFjLEVBQUUsT0FBZSxFQUFFLFVBQWtCO1FBQzFGLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUQsTUFBTSxZQUFZLEdBQUcsT0FBTyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0MsTUFBTSxXQUFXLEdBQUcsTUFBTSxHQUFHLFVBQVUsQ0FBQztRQUV4QyxNQUFNLFFBQVEsR0FBYSxFQUFFLENBQUM7UUFDOUIsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFNLE9BQU8sR0FBRyxDQUFDLEdBQUcsTUFBTyxJQUFLLE9BQU8sR0FBRyxDQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzlELFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBTSxNQUFPLElBQUssTUFBTyxNQUFPLFlBQWEsTUFBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUUsRUFBRSxDQUFDLENBQUM7UUFDekgsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBRSxFQUFFLENBQUMsQ0FBQztRQUNoRixRQUFRLENBQUMsSUFBSSxDQUFDLEtBQU0sV0FBWSxJQUFLLFdBQVksTUFBTyxZQUFhLE1BQU8sT0FBTyxHQUFHLENBQUMsR0FBRyxXQUFZLElBQUssT0FBTyxHQUFHLENBQUUsRUFBRSxDQUFDLENBQUM7UUFDM0gsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFhLEVBQUUsTUFBYyxFQUFFLE9BQWU7UUFDaEUsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUMxQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBRyxNQUFNLEdBQUcsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUN4QyxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUN6QyxPQUFPLEdBQUcsTUFBTSxJQUFJLE1BQU0sRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxPQUFlO1FBQzlCLE9BQU8sT0FBTyxHQUFHLEdBQUcsQ0FBQztJQUN2QixDQUFDOytHQXZDVSxjQUFjOzZHQUFkLGNBQWM7OzRGQUFkLGNBQWM7a0JBSjFCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLDZCQUE2QjtvQkFDbkMsSUFBSSxFQUFFLElBQUk7aUJBQ1giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb251dFNsaWNlIH0gZnJvbSAnLi9kb251dC1jaGFydC5tb2RlbCc7XG5cbmludGVyZmFjZSBEb251dFNsaWNlV2l0aENvbW1hbmRzIGV4dGVuZHMgRG9udXRTbGljZSB7XG4gIG9mZnNldDogbnVtYmVyO1xuICBjb21tYW5kczogc3RyaW5nO1xufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdzbGljZXNXaXRoQ29tbWFuZHNBbmRPZmZzZXQnLFxuICBwdXJlOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBEb251dENoYXJ0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0oZG9udXRTbGljZXM6IERvbnV0U2xpY2VbXSwgcmFkaXVzOiBudW1iZXIsIHN2Z1NpemU6IG51bWJlciwgYm9yZGVyU2l6ZTogbnVtYmVyKTogRG9udXRTbGljZVdpdGhDb21tYW5kc1tdIHtcbiAgICBsZXQgcHJldmlvdXNQZXJjZW50ID0gMDtcbiAgICByZXR1cm4gZG9udXRTbGljZXMubWFwKHNsaWNlID0+IHtcbiAgICAgIC8vIHRoaXMgaXMgYSBoYWNrIHRvIHRoYXQgdGhlIGNpcmNsZSBpcyByZW5kZXJlZCB3aGVuIHRoZSBwZXJjZW50IGlzIDEwMFxuICAgICAgc2xpY2UucGVyY2VudCA9IHNsaWNlLnBlcmNlbnQgPT09IDEwMD85OS45OTk6c2xpY2UucGVyY2VudDtcbiAgICAgIGNvbnN0IHNsaWNlV2l0aENvbW1hbmRzOiBEb251dFNsaWNlV2l0aENvbW1hbmRzID0ge1xuICAgICAgICAuLi5zbGljZSxcbiAgICAgICAgY29tbWFuZHM6IGAke3RoaXMuZ2V0U2xpY2VDb21tYW5kcyhzbGljZSwgcmFkaXVzLCBzdmdTaXplLCBib3JkZXJTaXplKX0gemAsXG4gICAgICAgIG9mZnNldDogcHJldmlvdXNQZXJjZW50ICogMy42ICogLTEsXG4gICAgICB9O1xuICAgICAgcHJldmlvdXNQZXJjZW50ICs9IHNsaWNlLnBlcmNlbnQ7XG4gICAgICByZXR1cm4gc2xpY2VXaXRoQ29tbWFuZHM7XG4gICAgfSk7XG4gIH1cblxuICBnZXRTbGljZUNvbW1hbmRzKGRvbnV0U2xpY2U6IERvbnV0U2xpY2UsIHJhZGl1czogbnVtYmVyLCBzdmdTaXplOiBudW1iZXIsIGJvcmRlclNpemU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3QgZGVncmVlcyA9IHRoaXMucGVyY2VudFRvRGVncmVlcyhkb251dFNsaWNlLnBlcmNlbnQpO1xuICAgIGNvbnN0IGxvbmdQYXRoRmxhZyA9IGRlZ3JlZXMgPiAxODAgPyAxIDogMDtcbiAgICBjb25zdCBpbm5lclJhZGl1cyA9IHJhZGl1cyAtIGJvcmRlclNpemU7XG5cbiAgICBjb25zdCBjb21tYW5kczogc3RyaW5nW10gPSBbXTtcbiAgICBjb21tYW5kcy5wdXNoKGBNICR7IHN2Z1NpemUgLyAyICsgcmFkaXVzIH0gJHsgc3ZnU2l6ZSAvIDIgfWApO1xuICAgIGNvbW1hbmRzLnB1c2goYEEgJHsgcmFkaXVzIH0gJHsgcmFkaXVzIH0gMCAkeyBsb25nUGF0aEZsYWcgfSAwICR7IHRoaXMuZ2V0Q29vcmRGcm9tRGVncmVlcyhkZWdyZWVzLCByYWRpdXMsIHN2Z1NpemUpIH1gKTtcbiAgICBjb21tYW5kcy5wdXNoKGBMICR7IHRoaXMuZ2V0Q29vcmRGcm9tRGVncmVlcyhkZWdyZWVzLCBpbm5lclJhZGl1cywgc3ZnU2l6ZSkgfWApO1xuICAgIGNvbW1hbmRzLnB1c2goYEEgJHsgaW5uZXJSYWRpdXMgfSAkeyBpbm5lclJhZGl1cyB9IDAgJHsgbG9uZ1BhdGhGbGFnIH0gMSAkeyBzdmdTaXplIC8gMiArIGlubmVyUmFkaXVzIH0gJHsgc3ZnU2l6ZSAvIDIgfWApO1xuICAgIHJldHVybiBjb21tYW5kcy5qb2luKCcgJyk7XG4gIH1cblxuICBnZXRDb29yZEZyb21EZWdyZWVzKGFuZ2xlOiBudW1iZXIsIHJhZGl1czogbnVtYmVyLCBzdmdTaXplOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IHggPSBNYXRoLmNvcyhhbmdsZSAqIE1hdGguUEkgLyAxODApO1xuICAgIGNvbnN0IHkgPSBNYXRoLnNpbihhbmdsZSAqIE1hdGguUEkgLyAxODApO1xuICAgIGNvbnN0IGNvb3JkWCA9IHggKiByYWRpdXMgKyBzdmdTaXplIC8gMjtcbiAgICBjb25zdCBjb29yZFkgPSB5ICogLXJhZGl1cyArIHN2Z1NpemUgLyAyO1xuICAgIHJldHVybiBgJHtjb29yZFh9ICR7Y29vcmRZfWA7XG4gIH1cblxuICBwZXJjZW50VG9EZWdyZWVzKHBlcmNlbnQ6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIHBlcmNlbnQgKiAzLjY7XG4gIH1cblxufVxuIl19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9udXQtY2hhcnQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1ldGEtd2lkZ2V0cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2RvbnV0LWNoYXJ0L2RvbnV0LWNoYXJ0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBYXBELE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFNBQVMsQ0FBQyxXQUF5QixFQUFFLE1BQWMsRUFBRSxPQUFlLEVBQUUsVUFBa0I7UUFDdEYsSUFBSSxlQUFlLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQy9CLHdFQUF3RTtZQUN4RSxLQUFLLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDL0QsTUFBTSxpQkFBaUIsR0FBMkI7Z0JBQ2hELEdBQUcsS0FBSztnQkFDUixRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLElBQUk7Z0JBQzFFLE1BQU0sRUFBRSxlQUFlLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQzthQUNuQyxDQUFDO1lBQ0YsZUFBZSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDakMsT0FBTyxpQkFBaUIsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFzQixFQUFFLE1BQWMsRUFBRSxPQUFlLEVBQUUsVUFBa0I7UUFDMUYsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxRCxNQUFNLFlBQVksR0FBRyxPQUFPLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQyxNQUFNLFdBQVcsR0FBRyxNQUFNLEdBQUcsVUFBVSxDQUFDO1FBRXhDLE1BQU0sUUFBUSxHQUFhLEVBQUUsQ0FBQztRQUM5QixRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssT0FBTyxHQUFHLENBQUMsR0FBRyxNQUFNLElBQUksT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUQsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLE1BQU0sSUFBSSxNQUFNLE1BQU0sWUFBWSxNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqSCxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlFLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxXQUFXLElBQUksV0FBVyxNQUFNLFlBQVksTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFHLFdBQVcsSUFBSSxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqSCxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQWEsRUFBRSxNQUFjLEVBQUUsT0FBZTtRQUNoRSxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUM1QyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUM1QyxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQUcsTUFBTSxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDeEMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDekMsT0FBTyxHQUFHLE1BQU0sSUFBSSxNQUFNLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsT0FBZTtRQUM5QixPQUFPLE9BQU8sR0FBRyxHQUFHLENBQUM7SUFDdkIsQ0FBQzsrR0F2Q1UsY0FBYzs2R0FBZCxjQUFjOzs0RkFBZCxjQUFjO2tCQUwxQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSw2QkFBNkI7b0JBQ25DLElBQUksRUFBRSxJQUFJO29CQUNWLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbnV0U2xpY2UgfSBmcm9tICcuL2RvbnV0LWNoYXJ0Lm1vZGVsJztcblxuaW50ZXJmYWNlIERvbnV0U2xpY2VXaXRoQ29tbWFuZHMgZXh0ZW5kcyBEb251dFNsaWNlIHtcbiAgb2Zmc2V0OiBudW1iZXI7XG4gIGNvbW1hbmRzOiBzdHJpbmc7XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3NsaWNlc1dpdGhDb21tYW5kc0FuZE9mZnNldCcsXG4gIHB1cmU6IHRydWUsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIERvbnV0Q2hhcnRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShkb251dFNsaWNlczogRG9udXRTbGljZVtdLCByYWRpdXM6IG51bWJlciwgc3ZnU2l6ZTogbnVtYmVyLCBib3JkZXJTaXplOiBudW1iZXIpOiBEb251dFNsaWNlV2l0aENvbW1hbmRzW10ge1xuICAgIGxldCBwcmV2aW91c1BlcmNlbnQgPSAwO1xuICAgIHJldHVybiBkb251dFNsaWNlcy5tYXAoKHNsaWNlKSA9PiB7XG4gICAgICAvLyB0aGlzIGlzIGEgaGFjayB0byB0aGF0IHRoZSBjaXJjbGUgaXMgcmVuZGVyZWQgd2hlbiB0aGUgcGVyY2VudCBpcyAxMDBcbiAgICAgIHNsaWNlLnBlcmNlbnQgPSBzbGljZS5wZXJjZW50ID09PSAxMDAgPyA5OS45OTkgOiBzbGljZS5wZXJjZW50O1xuICAgICAgY29uc3Qgc2xpY2VXaXRoQ29tbWFuZHM6IERvbnV0U2xpY2VXaXRoQ29tbWFuZHMgPSB7XG4gICAgICAgIC4uLnNsaWNlLFxuICAgICAgICBjb21tYW5kczogYCR7dGhpcy5nZXRTbGljZUNvbW1hbmRzKHNsaWNlLCByYWRpdXMsIHN2Z1NpemUsIGJvcmRlclNpemUpfSB6YCxcbiAgICAgICAgb2Zmc2V0OiBwcmV2aW91c1BlcmNlbnQgKiAzLjYgKiAtMSxcbiAgICAgIH07XG4gICAgICBwcmV2aW91c1BlcmNlbnQgKz0gc2xpY2UucGVyY2VudDtcbiAgICAgIHJldHVybiBzbGljZVdpdGhDb21tYW5kcztcbiAgICB9KTtcbiAgfVxuXG4gIGdldFNsaWNlQ29tbWFuZHMoZG9udXRTbGljZTogRG9udXRTbGljZSwgcmFkaXVzOiBudW1iZXIsIHN2Z1NpemU6IG51bWJlciwgYm9yZGVyU2l6ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBkZWdyZWVzID0gdGhpcy5wZXJjZW50VG9EZWdyZWVzKGRvbnV0U2xpY2UucGVyY2VudCk7XG4gICAgY29uc3QgbG9uZ1BhdGhGbGFnID0gZGVncmVlcyA+IDE4MCA/IDEgOiAwO1xuICAgIGNvbnN0IGlubmVyUmFkaXVzID0gcmFkaXVzIC0gYm9yZGVyU2l6ZTtcblxuICAgIGNvbnN0IGNvbW1hbmRzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbW1hbmRzLnB1c2goYE0gJHtzdmdTaXplIC8gMiArIHJhZGl1c30gJHtzdmdTaXplIC8gMn1gKTtcbiAgICBjb21tYW5kcy5wdXNoKGBBICR7cmFkaXVzfSAke3JhZGl1c30gMCAke2xvbmdQYXRoRmxhZ30gMCAke3RoaXMuZ2V0Q29vcmRGcm9tRGVncmVlcyhkZWdyZWVzLCByYWRpdXMsIHN2Z1NpemUpfWApO1xuICAgIGNvbW1hbmRzLnB1c2goYEwgJHt0aGlzLmdldENvb3JkRnJvbURlZ3JlZXMoZGVncmVlcywgaW5uZXJSYWRpdXMsIHN2Z1NpemUpfWApO1xuICAgIGNvbW1hbmRzLnB1c2goYEEgJHtpbm5lclJhZGl1c30gJHtpbm5lclJhZGl1c30gMCAke2xvbmdQYXRoRmxhZ30gMSAke3N2Z1NpemUgLyAyICsgaW5uZXJSYWRpdXN9ICR7c3ZnU2l6ZSAvIDJ9YCk7XG4gICAgcmV0dXJuIGNvbW1hbmRzLmpvaW4oJyAnKTtcbiAgfVxuXG4gIGdldENvb3JkRnJvbURlZ3JlZXMoYW5nbGU6IG51bWJlciwgcmFkaXVzOiBudW1iZXIsIHN2Z1NpemU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3QgeCA9IE1hdGguY29zKChhbmdsZSAqIE1hdGguUEkpIC8gMTgwKTtcbiAgICBjb25zdCB5ID0gTWF0aC5zaW4oKGFuZ2xlICogTWF0aC5QSSkgLyAxODApO1xuICAgIGNvbnN0IGNvb3JkWCA9IHggKiByYWRpdXMgKyBzdmdTaXplIC8gMjtcbiAgICBjb25zdCBjb29yZFkgPSB5ICogLXJhZGl1cyArIHN2Z1NpemUgLyAyO1xuICAgIHJldHVybiBgJHtjb29yZFh9ICR7Y29vcmRZfWA7XG4gIH1cblxuICBwZXJjZW50VG9EZWdyZWVzKHBlcmNlbnQ6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIHBlcmNlbnQgKiAzLjY7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,79 @@
1
+ import { Component, HostBinding, inject } from '@angular/core';
2
+ import { TOOLTIP_DATA } from '../../core/tooltip.service';
3
+ import { animate, style, transition, trigger } from '@angular/animations';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "../donut-chart/donut-chart.component";
7
+ export function transformDonutChartData(data) {
8
+ return data.map((slice) => [
9
+ // inverted order is necessary for the donut chart to go clockwise
10
+ {
11
+ percent: 100 - slice.percent,
12
+ color: 'transparent',
13
+ id: 999999,
14
+ },
15
+ slice,
16
+ ]);
17
+ }
18
+ export class DonutChartTooltipComponent {
19
+ constructor() {
20
+ this.animationState = true;
21
+ this.data = inject(TOOLTIP_DATA);
22
+ }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DonutChartTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DonutChartTooltipComponent, selector: "metaqs2-donut-chart-tooltip", host: { properties: { "@fadeInOut": "this.animationState" } }, ngImport: i0, template: "<h4>{{ data.label }}</h4>\n<p>Status</p>\n<ng-container *ngFor=\"let slicePair of data.data\">\n <ng-container *ngIf=\"slicePair[1].percent > 0\">\n <div style=\"display: flex; justify-content: flex-start; align-items: center; gap: 0.25rem\">\n <metaqs2-donut-chart [data]=\"slicePair\" [borderSize]=\"25\"></metaqs2-donut-chart>\n <p>{{ slicePair[1].verboseLabel }}</p>\n </div>\n </ng-container>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;margin:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.DonutChartComponent, selector: "metaqs2-donut-chart", inputs: ["radius", "viewBox", "borderSize", "strokeWidth", "data"] }], animations: [
25
+ trigger('fadeInOut', [
26
+ transition(':enter', [
27
+ style({
28
+ opacity: 0,
29
+ scale: 0.5,
30
+ }),
31
+ animate('100ms ease-in', style({
32
+ opacity: 1,
33
+ scale: 1,
34
+ })),
35
+ ]),
36
+ transition(':leave', [
37
+ style({
38
+ opacity: 1,
39
+ scale: 1,
40
+ }),
41
+ animate('100ms ease-out', style({
42
+ opacity: 0,
43
+ scale: 0.5,
44
+ })),
45
+ ]),
46
+ ]),
47
+ ] }); }
48
+ }
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DonutChartTooltipComponent, decorators: [{
50
+ type: Component,
51
+ args: [{ selector: 'metaqs2-donut-chart-tooltip', animations: [
52
+ trigger('fadeInOut', [
53
+ transition(':enter', [
54
+ style({
55
+ opacity: 0,
56
+ scale: 0.5,
57
+ }),
58
+ animate('100ms ease-in', style({
59
+ opacity: 1,
60
+ scale: 1,
61
+ })),
62
+ ]),
63
+ transition(':leave', [
64
+ style({
65
+ opacity: 1,
66
+ scale: 1,
67
+ }),
68
+ animate('100ms ease-out', style({
69
+ opacity: 0,
70
+ scale: 0.5,
71
+ })),
72
+ ]),
73
+ ]),
74
+ ], template: "<h4>{{ data.label }}</h4>\n<p>Status</p>\n<ng-container *ngFor=\"let slicePair of data.data\">\n <ng-container *ngIf=\"slicePair[1].percent > 0\">\n <div style=\"display: flex; justify-content: flex-start; align-items: center; gap: 0.25rem\">\n <metaqs2-donut-chart [data]=\"slicePair\" [borderSize]=\"25\"></metaqs2-donut-chart>\n <p>{{ slicePair[1].verboseLabel }}</p>\n </div>\n </ng-container>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;margin:1rem}\n"] }]
75
+ }], propDecorators: { animationState: [{
76
+ type: HostBinding,
77
+ args: ['@fadeInOut']
78
+ }] } });
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9udXQtY2hhcnQtdG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1tZXRhLXdpZGdldHMtbGliL3NyYy9saWIvY29tcG9uZW50cy9kb251dC1jaGFydC10b29sdGlwL2RvbnV0LWNoYXJ0LXRvb2x0aXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWV0YS13aWRnZXRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZG9udXQtY2hhcnQtdG9vbHRpcC9kb251dC1jaGFydC10b29sdGlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRCxPQUFPLEVBQWUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBTzFFLE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxJQUFrQjtJQUN4RCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQTRCLEVBQUUsQ0FBQztRQUNuRCxrRUFBa0U7UUFDbEU7WUFDRSxPQUFPLEVBQUUsR0FBRyxHQUFHLEtBQUssQ0FBQyxPQUFPO1lBQzVCLEtBQUssRUFBRSxhQUFhO1lBQ3BCLEVBQUUsRUFBRSxNQUFNO1NBQ1g7UUFDRCxLQUFLO0tBQ04sQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQXFDRCxNQUFNLE9BQU8sMEJBQTBCO0lBbkN2QztRQW9DNkIsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDakMsU0FBSSxHQUFHLE1BQU0sQ0FBd0IsWUFBWSxDQUFDLENBQUM7S0FDcEU7K0dBSFksMEJBQTBCO21HQUExQiwwQkFBMEIsa0lDekR2QyxvYkFVQSw2Z0JEZ0JjO1lBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTtnQkFDbkIsVUFBVSxDQUFDLFFBQVEsRUFBRTtvQkFDbkIsS0FBSyxDQUFDO3dCQUNKLE9BQU8sRUFBRSxDQUFDO3dCQUNWLEtBQUssRUFBRSxHQUFHO3FCQUNYLENBQUM7b0JBQ0YsT0FBTyxDQUNMLGVBQWUsRUFDZixLQUFLLENBQUM7d0JBQ0osT0FBTyxFQUFFLENBQUM7d0JBQ1YsS0FBSyxFQUFFLENBQUM7cUJBQ1QsQ0FBQyxDQUNIO2lCQUNGLENBQUM7Z0JBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRTtvQkFDbkIsS0FBSyxDQUFDO3dCQUNKLE9BQU8sRUFBRSxDQUFDO3dCQUNWLEtBQUssRUFBRSxDQUFDO3FCQUNULENBQUM7b0JBQ0YsT0FBTyxDQUNMLGdCQUFnQixFQUNoQixLQUFLLENBQUM7d0JBQ0osT0FBTyxFQUFFLENBQUM7d0JBQ1YsS0FBSyxFQUFFLEdBQUc7cUJBQ1gsQ0FBQyxDQUNIO2lCQUNGLENBQUM7YUFDSCxDQUFDO1NBQ0g7OzRGQUVVLDBCQUEwQjtrQkFuQ3RDLFNBQVM7K0JBQ0UsNkJBQTZCLGNBRzNCO3dCQUNWLE9BQU8sQ0FBQyxXQUFXLEVBQUU7NEJBQ25CLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0NBQ25CLEtBQUssQ0FBQztvQ0FDSixPQUFPLEVBQUUsQ0FBQztvQ0FDVixLQUFLLEVBQUUsR0FBRztpQ0FDWCxDQUFDO2dDQUNGLE9BQU8sQ0FDTCxlQUFlLEVBQ2YsS0FBSyxDQUFDO29DQUNKLE9BQU8sRUFBRSxDQUFDO29DQUNWLEtBQUssRUFBRSxDQUFDO2lDQUNULENBQUMsQ0FDSDs2QkFDRixDQUFDOzRCQUNGLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0NBQ25CLEtBQUssQ0FBQztvQ0FDSixPQUFPLEVBQUUsQ0FBQztvQ0FDVixLQUFLLEVBQUUsQ0FBQztpQ0FDVCxDQUFDO2dDQUNGLE9BQU8sQ0FDTCxnQkFBZ0IsRUFDaEIsS0FBSyxDQUFDO29DQUNKLE9BQU8sRUFBRSxDQUFDO29DQUNWLEtBQUssRUFBRSxHQUFHO2lDQUNYLENBQUMsQ0FDSDs2QkFDRixDQUFDO3lCQUNILENBQUM7cUJBQ0g7OEJBRzBCLGNBQWM7c0JBQXhDLFdBQVc7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9udXRTbGljZSB9IGZyb20gJy4uL2RvbnV0LWNoYXJ0L2RvbnV0LWNoYXJ0Lm1vZGVsJztcbmltcG9ydCB7IERhdGFUb29sdGlwLCBUT09MVElQX0RBVEEgfSBmcm9tICcuLi8uLi9jb3JlL3Rvb2x0aXAuc2VydmljZSc7XG5pbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERvbnV0Q2hhcnRUb29sdGlwRGF0YSB7XG4gIGRhdGE6IEFycmF5PFtEb251dFNsaWNlLCBEb251dFNsaWNlXT47XG4gIGxhYmVsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1Eb251dENoYXJ0RGF0YShkYXRhOiBEb251dFNsaWNlW10pOiBBcnJheTxbRG9udXRTbGljZSwgRG9udXRTbGljZV0+IHtcbiAgcmV0dXJuIGRhdGEubWFwKChzbGljZSk6IFtEb251dFNsaWNlLCBEb251dFNsaWNlXSA9PiBbXG4gICAgLy8gaW52ZXJ0ZWQgb3JkZXIgaXMgbmVjZXNzYXJ5IGZvciB0aGUgZG9udXQgY2hhcnQgdG8gZ28gY2xvY2t3aXNlXG4gICAge1xuICAgICAgcGVyY2VudDogMTAwIC0gc2xpY2UucGVyY2VudCxcbiAgICAgIGNvbG9yOiAndHJhbnNwYXJlbnQnLFxuICAgICAgaWQ6IDk5OTk5OSxcbiAgICB9LFxuICAgIHNsaWNlLFxuICBdKTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWV0YXFzMi1kb251dC1jaGFydC10b29sdGlwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RvbnV0LWNoYXJ0LXRvb2x0aXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZG9udXQtY2hhcnQtdG9vbHRpcC5jb21wb25lbnQuY3NzJyxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2ZhZGVJbk91dCcsIFtcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgIG9wYWNpdHk6IDAsXG4gICAgICAgICAgc2NhbGU6IDAuNSxcbiAgICAgICAgfSksXG4gICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgJzEwMG1zIGVhc2UtaW4nLFxuICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgICAgICBzY2FsZTogMSxcbiAgICAgICAgICB9KVxuICAgICAgICApLFxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgICAgIHNjYWxlOiAxLFxuICAgICAgICB9KSxcbiAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAnMTAwbXMgZWFzZS1vdXQnLFxuICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAsXG4gICAgICAgICAgICBzY2FsZTogMC41LFxuICAgICAgICAgIH0pXG4gICAgICAgICksXG4gICAgICBdKSxcbiAgICBdKSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRG9udXRDaGFydFRvb2x0aXBDb21wb25lbnQgaW1wbGVtZW50cyBEYXRhVG9vbHRpcDxEb251dENoYXJ0VG9vbHRpcERhdGE+IHtcbiAgQEhvc3RCaW5kaW5nKCdAZmFkZUluT3V0JykgYW5pbWF0aW9uU3RhdGUgPSB0cnVlO1xuICBwdWJsaWMgcmVhZG9ubHkgZGF0YSA9IGluamVjdDxEb251dENoYXJ0VG9vbHRpcERhdGE+KFRPT0xUSVBfREFUQSk7XG59XG4iLCI8aDQ+e3sgZGF0YS5sYWJlbCB9fTwvaDQ+XG48cD5TdGF0dXM8L3A+XG48bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzbGljZVBhaXIgb2YgZGF0YS5kYXRhXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJzbGljZVBhaXJbMV0ucGVyY2VudCA+IDBcIj5cbiAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDAuMjVyZW1cIj5cbiAgICAgIDxtZXRhcXMyLWRvbnV0LWNoYXJ0IFtkYXRhXT1cInNsaWNlUGFpclwiIFtib3JkZXJTaXplXT1cIjI1XCI+PC9tZXRhcXMyLWRvbnV0LWNoYXJ0PlxuICAgICAgPHA+e3sgc2xpY2VQYWlyWzFdLnZlcmJvc2VMYWJlbCB9fTwvcD5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -1,6 +1,5 @@
1
1
  import { Component, Input, LOCALE_ID } from '@angular/core';
2
2
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
3
- import { MatCard, MatCardContent, MatCardHeader, MatCardTitle } from '@angular/material/card';
4
3
  import { MatDatepicker, MatDatepickerInput, MatDatepickerToggle } from '@angular/material/datepicker';
5
4
  import { MatFormField, MatLabel, MatSuffix } from '@angular/material/form-field';
6
5
  import { MatInput } from '@angular/material/input';
@@ -39,16 +38,12 @@ export class DatepickerComponent {
39
38
  { provide: LOCALE_ID, useValue: 'de-DE' },
40
39
  { provide: MAT_DATE_LOCALE, useValue: 'de-DE' },
41
40
  { provide: MAT_LUXON_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true, firstDayOfWeek: 1 } },
42
- ], ngImport: i0, template: "<mat-card>\n <mat-card-header>\n <mat-card-title> Zeitlicher Vergleich </mat-card-title>\n </mat-card-header>\n <mat-card-content [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 </mat-card-content>\n</mat-card>\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: MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: MatCardContent, selector: "mat-card-content" }, { kind: "component", type: MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { 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"] }] }); }
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"] }] }); }
43
42
  }
44
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatepickerComponent, decorators: [{
45
44
  type: Component,
46
45
  args: [{ selector: 'metaqs2-datepicker', standalone: true, imports: [
47
46
  FormsModule,
48
- MatCard,
49
- MatCardContent,
50
- MatCardHeader,
51
- MatCardTitle,
52
47
  MatDatepicker,
53
48
  MatDatepickerInput,
54
49
  MatDatepickerToggle,
@@ -68,11 +63,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
68
63
  { provide: LOCALE_ID, useValue: 'de-DE' },
69
64
  { provide: MAT_DATE_LOCALE, useValue: 'de-DE' },
70
65
  { provide: MAT_LUXON_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true, firstDayOfWeek: 1 } },
71
- ], template: "<mat-card>\n <mat-card-header>\n <mat-card-title> Zeitlicher Vergleich </mat-card-title>\n </mat-card-header>\n <mat-card-content [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 </mat-card-content>\n</mat-card>\n" }]
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" }]
72
67
  }], ctorParameters: () => [], propDecorators: { disabled: [{
73
68
  type: Input
74
69
  }], inputGroup: [{
75
70
  type: Input,
76
71
  args: [{ required: true }]
77
72
  }] } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1tZXRhLXdpZGdldHMtbGliL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXIvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1ldGEtd2lkZ2V0cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlci9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBMEIsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlGLE9BQU8sRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RyxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLDhCQUE4QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkcsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQWtCLE1BQU0sd0JBQXdCLENBQUM7OztBQUV4RyxNQUFNLGlCQUFpQixHQUFtQjtJQUN4QyxLQUFLLEVBQUU7UUFDTCxTQUFTLEVBQUUsR0FBRztLQUNmO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsU0FBUyxFQUFFLEdBQUc7UUFDZCxjQUFjLEVBQUUsV0FBVztRQUMzQixhQUFhLEVBQUUsS0FBSztRQUNwQixrQkFBa0IsRUFBRSxXQUFXO0tBQ2hDO0NBQ0YsQ0FBQztBQW9DRixNQUFNLE9BQU8sbUJBQW1CO0lBTzlCO1FBTEEsYUFBUSxHQUFZLEtBQUssQ0FBQztJQUtYLENBQUM7SUFFaEIsV0FBVztRQUNULDRGQUE0RjtRQUM1RixPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDOytHQVpVLG1CQUFtQjttR0FBbkIsbUJBQW1CLDZIQWhCbkI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsV0FBVztnQkFDcEIsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsSUFBSSxFQUFFLENBQUMsZUFBZSxFQUFFLDhCQUE4QixDQUFDO2FBQ3hEO1lBQ0QsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFO1lBRTFELDZDQUE2QztZQUM3QyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTtZQUN6QyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTtZQUMvQyxFQUFFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxDQUFDLEVBQUUsRUFBRTtTQUMzRiwwQkNwREgsa21EQTRDQSx5RERsQkksV0FBVyxtakJBQ1gsT0FBTyxvR0FDUCxjQUFjLDZEQUNkLGFBQWEsNERBQ2IsWUFBWSw2RkFDWixhQUFhLHdGQUNiLGtCQUFrQixtS0FDbEIsbUJBQW1CLDZLQUNuQixZQUFZLDRMQUNaLFFBQVEsaVVBQ1IsUUFBUSxzREFDUixTQUFTLG9IQUNULG1CQUFtQjs7NEZBa0JWLG1CQUFtQjtrQkFsQy9CLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUDt3QkFDUCxXQUFXO3dCQUNYLE9BQU87d0JBQ1AsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWixRQUFRO3dCQUNSLFFBQVE7d0JBQ1IsU0FBUzt3QkFDVCxtQkFBbUI7cUJBQ3BCLGFBQ1U7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLFdBQVc7NEJBQ3BCLFFBQVEsRUFBRSxnQkFBZ0I7NEJBQzFCLElBQUksRUFBRSxDQUFDLGVBQWUsRUFBRSw4QkFBOEIsQ0FBQzt5QkFDeEQ7d0JBQ0QsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFO3dCQUUxRCw2Q0FBNkM7d0JBQzdDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFO3dCQUN6QyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTt3QkFDL0MsRUFBRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsQ0FBQyxFQUFFLEVBQUU7cUJBQzNGO3dEQU1ELFFBQVE7c0JBRFAsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgTE9DQUxFX0lELCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0Q2FyZCwgTWF0Q2FyZENvbnRlbnQsIE1hdENhcmRIZWFkZXIsIE1hdENhcmRUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlciwgTWF0RGF0ZXBpY2tlcklucHV0LCBNYXREYXRlcGlja2VyVG9nZ2xlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGQsIE1hdExhYmVsLCBNYXRTdWZmaXggfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tICdsdXhvbic7XG5pbXBvcnQgeyBMdXhvbkRhdGVBZGFwdGVyLCBNQVRfTFVYT05fREFURV9BREFQVEVSX09QVElPTlMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC1sdXhvbi1hZGFwdGVyJztcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNQVRfREFURV9MT0NBTEUsIE1hdERhdGVGb3JtYXRzIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5cbmNvbnN0IGRhdGVQaWNrZXJGb3JtYXRzOiBNYXREYXRlRm9ybWF0cyA9IHtcbiAgcGFyc2U6IHtcbiAgICBkYXRlSW5wdXQ6ICdEJyxcbiAgfSxcbiAgZGlzcGxheToge1xuICAgIGRhdGVJbnB1dDogJ0QnLFxuICAgIG1vbnRoWWVhckxhYmVsOiAnTU1NTSB5eXl5JyxcbiAgICBkYXRlQTExeUxhYmVsOiAnREREJyxcbiAgICBtb250aFllYXJBMTF5TGFiZWw6ICdNTU1NIHl5eXknLFxuICB9LFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWV0YXFzMi1kYXRlcGlja2VyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdENhcmQsXG4gICAgTWF0Q2FyZENvbnRlbnQsXG4gICAgTWF0Q2FyZEhlYWRlcixcbiAgICBNYXRDYXJkVGl0bGUsXG4gICAgTWF0RGF0ZXBpY2tlcixcbiAgICBNYXREYXRlcGlja2VySW5wdXQsXG4gICAgTWF0RGF0ZXBpY2tlclRvZ2dsZSxcbiAgICBNYXRGb3JtRmllbGQsXG4gICAgTWF0SW5wdXQsXG4gICAgTWF0TGFiZWwsXG4gICAgTWF0U3VmZml4LFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IERhdGVBZGFwdGVyLFxuICAgICAgdXNlQ2xhc3M6IEx1eG9uRGF0ZUFkYXB0ZXIsXG4gICAgICBkZXBzOiBbTUFUX0RBVEVfTE9DQUxFLCBNQVRfTFVYT05fREFURV9BREFQVEVSX09QVElPTlNdLFxuICAgIH0sXG4gICAgeyBwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogZGF0ZVBpY2tlckZvcm1hdHMgfSxcblxuICAgIC8vcHJvdmlkZUx1eG9uRGF0ZUFkYXB0ZXIoZGF0ZVBpY2tlckZvcm1hdHMpLFxuICAgIHsgcHJvdmlkZTogTE9DQUxFX0lELCB1c2VWYWx1ZTogJ2RlLURFJyB9LFxuICAgIHsgcHJvdmlkZTogTUFUX0RBVEVfTE9DQUxFLCB1c2VWYWx1ZTogJ2RlLURFJyB9LFxuICAgIHsgcHJvdmlkZTogTUFUX0xVWE9OX0RBVEVfQURBUFRFUl9PUFRJT05TLCB1c2VWYWx1ZTogeyB1c2VVdGM6IHRydWUsIGZpcnN0RGF5T2ZXZWVrOiAxIH0gfSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZGF0ZXBpY2tlci5jb21wb25lbnQuY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZXBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgaW5wdXRHcm91cCE6IEZvcm1Hcm91cDx7IHN0YXJ0OiBGb3JtQ29udHJvbDxEYXRlVGltZTxib29sZWFuPj47IGVuZDogRm9ybUNvbnRyb2w8RGF0ZVRpbWU8Ym9vbGVhbj4+IH0+O1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAvL2RlZmVyIHRoaXMgdG8gYXZvaWQgYW4gRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvciBvbiB0aGUgcGFyZW50IGNvbXBvbmVudFxuICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4gdGhpcy5pbnB1dEdyb3VwLnJlc2V0KCkpO1xuICB9XG59XG4iLCI8bWF0LWNhcmQ+XG4gIDxtYXQtY2FyZC1oZWFkZXI+XG4gICAgPG1hdC1jYXJkLXRpdGxlPiBaZWl0bGljaGVyIFZlcmdsZWljaCA8L21hdC1jYXJkLXRpdGxlPlxuICA8L21hdC1jYXJkLWhlYWRlcj5cbiAgPG1hdC1jYXJkLWNvbnRlbnQgW2Zvcm1Hcm91cF09XCJpbnB1dEdyb3VwXCI+XG4gICAgPCEtLSBzdGFydCBkYXRlIC0tPlxuICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtbGFiZWw+WmVpdHB1bmt0IDE8L21hdC1sYWJlbD5cbiAgICAgIDxpbnB1dCBtYXRJbnB1dFxuICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgW21pbl09XCJpbnB1dEdyb3VwLmNvbnRyb2xzLnN0YXJ0LmRlZmF1bHRWYWx1ZVwiXG4gICAgICAgICAgICAgW21heF09XCJpbnB1dEdyb3VwLmNvbnRyb2xzLmVuZC5kZWZhdWx0VmFsdWVcIlxuICAgICAgICAgICAgIFttYXREYXRlcGlja2VyXT1cInBpY2tlcjFcIiBmb3JtQ29udHJvbE5hbWU9XCJzdGFydFwiXG4gICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTdGFydHMgZGF0ZVwiXG4gICAgICA+XG48IS0tXG4gICAgICA8bWF0LWhpbnQ+ZC5NLnl5eXk8L21hdC1oaW50PlxuLS0+XG4gICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdEljb25TdWZmaXggW2Zvcl09XCJwaWNrZXIxXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG4gICAgICA8bWF0LWRhdGVwaWNrZXIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgI3BpY2tlcjEgW3N0YXJ0QXRdPVwiaW5wdXRHcm91cC5jb250cm9scy5zdGFydC5kZWZhdWx0VmFsdWVcIj5cbiAgICAgIDwvbWF0LWRhdGVwaWNrZXI+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8IS0tIC9zdGFydCBkYXRlIC0tPlxuICAgIDwhLS0gZW5kIGRhdGUgLS0+XG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1sYWJlbD5aZWl0cHVua3QyPC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgIFttaW5dPVwiaW5wdXRHcm91cC5jb250cm9scy5zdGFydC5kZWZhdWx0VmFsdWVcIlxuICAgICAgICAgICAgIFttYXhdPVwiaW5wdXRHcm91cC5jb250cm9scy5lbmQuZGVmYXVsdFZhbHVlXCJcbiAgICAgICAgICAgICBbbWF0RGF0ZXBpY2tlcl09XCJwaWNrZXIyXCJcbiAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJlbmRcIlxuICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRW5kIGRhdGVcIlxuICAgICAgPlxuICAgICAgPCEtLVxuICAgICAgPG1hdC1oaW50PmQuTS55eXl5PC9tYXQtaGludD5cbiAgICAgIC0tPlxuICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRJY29uU3VmZml4IFtmb3JdPVwicGlja2VyMlwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgICAgPG1hdC1kYXRlcGlja2VyIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiICNwaWNrZXIyIFtzdGFydEF0XT1cImlucHV0R3JvdXAuY29udHJvbHMuZW5kLnZhbHVlXCI+XG4gICAgICA8L21hdC1kYXRlcGlja2VyPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPCEtLSAvZW5kIGRhdGUgLS0+XG4gIDwvbWF0LWNhcmQtY29udGVudD5cbjwvbWF0LWNhcmQ+XG4iXX0=
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1tZXRhLXdpZGdldHMtbGliL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXIvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1ldGEtd2lkZ2V0cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlci9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBMEIsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RHLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRyxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBa0IsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBRXhHLE1BQU0saUJBQWlCLEdBQW1CO0lBQ3hDLEtBQUssRUFBRTtRQUNMLFNBQVMsRUFBRSxHQUFHO0tBQ2Y7SUFDRCxPQUFPLEVBQUU7UUFDUCxTQUFTLEVBQUUsR0FBRztRQUNkLGNBQWMsRUFBRSxXQUFXO1FBQzNCLGFBQWEsRUFBRSxLQUFLO1FBQ3BCLGtCQUFrQixFQUFFLFdBQVc7S0FDaEM7Q0FDRixDQUFDO0FBZ0NGLE1BQU0sT0FBTyxtQkFBbUI7SUFPOUI7UUFMQSxhQUFRLEdBQVksS0FBSyxDQUFDO0lBS1gsQ0FBQztJQUVoQixXQUFXO1FBQ1QsNEZBQTRGO1FBQzVGLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7K0dBWlUsbUJBQW1CO21HQUFuQixtQkFBbUIsNkhBaEJuQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxXQUFXO2dCQUNwQixRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixJQUFJLEVBQUUsQ0FBQyxlQUFlLEVBQUUsOEJBQThCLENBQUM7YUFDeEQ7WUFDRCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUU7WUFFMUQsNkNBQTZDO1lBQzdDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFO1lBQ3pDLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFO1lBQy9DLEVBQUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLENBQUMsRUFBRSxFQUFFO1NBQzNGLDBCQy9DSCwyNENBdUNBLHlERGRJLFdBQVcsbWpCQUNYLGFBQWEsd0ZBQ2Isa0JBQWtCLG1LQUNsQixtQkFBbUIsNktBQ25CLFlBQVksNExBQ1osUUFBUSxpVUFDUixRQUFRLHNEQUNSLFNBQVMsb0hBQ1QsbUJBQW1COzs0RkFrQlYsbUJBQW1CO2tCQTlCL0IsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQO3dCQUNQLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWixRQUFRO3dCQUNSLFFBQVE7d0JBQ1IsU0FBUzt3QkFDVCxtQkFBbUI7cUJBQ3BCLGFBQ1U7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLFdBQVc7NEJBQ3BCLFFBQVEsRUFBRSxnQkFBZ0I7NEJBQzFCLElBQUksRUFBRSxDQUFDLGVBQWUsRUFBRSw4QkFBOEIsQ0FBQzt5QkFDeEQ7d0JBQ0QsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFO3dCQUUxRCw2Q0FBNkM7d0JBQzdDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFO3dCQUN6QyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTt3QkFDL0MsRUFBRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsQ0FBQyxFQUFFLEVBQUU7cUJBQzNGO3dEQU1ELFFBQVE7c0JBRFAsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgTE9DQUxFX0lELCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlciwgTWF0RGF0ZXBpY2tlcklucHV0LCBNYXREYXRlcGlja2VyVG9nZ2xlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGQsIE1hdExhYmVsLCBNYXRTdWZmaXggfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tICdsdXhvbic7XG5pbXBvcnQgeyBMdXhvbkRhdGVBZGFwdGVyLCBNQVRfTFVYT05fREFURV9BREFQVEVSX09QVElPTlMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC1sdXhvbi1hZGFwdGVyJztcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNQVRfREFURV9MT0NBTEUsIE1hdERhdGVGb3JtYXRzIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5cbmNvbnN0IGRhdGVQaWNrZXJGb3JtYXRzOiBNYXREYXRlRm9ybWF0cyA9IHtcbiAgcGFyc2U6IHtcbiAgICBkYXRlSW5wdXQ6ICdEJyxcbiAgfSxcbiAgZGlzcGxheToge1xuICAgIGRhdGVJbnB1dDogJ0QnLFxuICAgIG1vbnRoWWVhckxhYmVsOiAnTU1NTSB5eXl5JyxcbiAgICBkYXRlQTExeUxhYmVsOiAnREREJyxcbiAgICBtb250aFllYXJBMTF5TGFiZWw6ICdNTU1NIHl5eXknLFxuICB9LFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWV0YXFzMi1kYXRlcGlja2VyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXIsXG4gICAgTWF0RGF0ZXBpY2tlcklucHV0LFxuICAgIE1hdERhdGVwaWNrZXJUb2dnbGUsXG4gICAgTWF0Rm9ybUZpZWxkLFxuICAgIE1hdElucHV0LFxuICAgIE1hdExhYmVsLFxuICAgIE1hdFN1ZmZpeCxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBEYXRlQWRhcHRlcixcbiAgICAgIHVzZUNsYXNzOiBMdXhvbkRhdGVBZGFwdGVyLFxuICAgICAgZGVwczogW01BVF9EQVRFX0xPQ0FMRSwgTUFUX0xVWE9OX0RBVEVfQURBUFRFUl9PUFRJT05TXSxcbiAgICB9LFxuICAgIHsgcHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUywgdXNlVmFsdWU6IGRhdGVQaWNrZXJGb3JtYXRzIH0sXG5cbiAgICAvL3Byb3ZpZGVMdXhvbkRhdGVBZGFwdGVyKGRhdGVQaWNrZXJGb3JtYXRzKSxcbiAgICB7IHByb3ZpZGU6IExPQ0FMRV9JRCwgdXNlVmFsdWU6ICdkZS1ERScgfSxcbiAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0xPQ0FMRSwgdXNlVmFsdWU6ICdkZS1ERScgfSxcbiAgICB7IHByb3ZpZGU6IE1BVF9MVVhPTl9EQVRFX0FEQVBURVJfT1BUSU9OUywgdXNlVmFsdWU6IHsgdXNlVXRjOiB0cnVlLCBmaXJzdERheU9mV2VlazogMSB9IH0sXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2RhdGVwaWNrZXIuY29tcG9uZW50LmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIERhdGVwaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gIGlucHV0R3JvdXAhOiBGb3JtR3JvdXA8eyBzdGFydDogRm9ybUNvbnRyb2w8RGF0ZVRpbWU8Ym9vbGVhbj4+OyBlbmQ6IEZvcm1Db250cm9sPERhdGVUaW1lPGJvb2xlYW4+PiB9PjtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy9kZWZlciB0aGlzIHRvIGF2b2lkIGFuIEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkRXJyb3Igb24gdGhlIHBhcmVudCBjb21wb25lbnRcbiAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHRoaXMuaW5wdXRHcm91cC5yZXNldCgpKTtcbiAgfVxufVxuIiwiPGRpdiBbZm9ybUdyb3VwXT1cImlucHV0R3JvdXBcIj5cbiAgPCEtLSBzdGFydCBkYXRlIC0tPlxuICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1sYWJlbD5aZWl0cHVua3QgMTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dFxuICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICBbbWluXT1cImlucHV0R3JvdXAuY29udHJvbHMuc3RhcnQuZGVmYXVsdFZhbHVlXCJcbiAgICAgICAgICAgW21heF09XCJpbnB1dEdyb3VwLmNvbnRyb2xzLmVuZC5kZWZhdWx0VmFsdWVcIlxuICAgICAgICAgICBbbWF0RGF0ZXBpY2tlcl09XCJwaWNrZXIxXCIgZm9ybUNvbnRyb2xOYW1lPVwic3RhcnRcIlxuICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlN0YXJ0cyBkYXRlXCJcbiAgICA+XG4gICAgPCEtLVxuICAgICAgICAgIDxtYXQtaGludD5kLk0ueXl5eTwvbWF0LWhpbnQ+XG4gICAgLS0+XG4gICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRJY29uU3VmZml4IFtmb3JdPVwicGlja2VyMVwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgIDxtYXQtZGF0ZXBpY2tlciBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAjcGlja2VyMSBbc3RhcnRBdF09XCJpbnB1dEdyb3VwLmNvbnRyb2xzLnN0YXJ0LmRlZmF1bHRWYWx1ZVwiPlxuICAgIDwvbWF0LWRhdGVwaWNrZXI+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwhLS0gL3N0YXJ0IGRhdGUgLS0+XG4gIDwhLS0gZW5kIGRhdGUgLS0+XG4gIDxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsPlplaXRwdW5rdDI8L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgW21pbl09XCJpbnB1dEdyb3VwLmNvbnRyb2xzLnN0YXJ0LmRlZmF1bHRWYWx1ZVwiXG4gICAgICAgICAgIFttYXhdPVwiaW5wdXRHcm91cC5jb250cm9scy5lbmQuZGVmYXVsdFZhbHVlXCJcbiAgICAgICAgICAgW21hdERhdGVwaWNrZXJdPVwicGlja2VyMlwiXG4gICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImVuZFwiXG4gICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRW5kIGRhdGVcIlxuICAgID5cbiAgICA8IS0tXG4gICAgPG1hdC1oaW50PmQuTS55eXl5PC9tYXQtaGludD5cbiAgICAtLT5cbiAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdEljb25TdWZmaXggW2Zvcl09XCJwaWNrZXIyXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG4gICAgPG1hdC1kYXRlcGlja2VyIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiICNwaWNrZXIyIFtzdGFydEF0XT1cImlucHV0R3JvdXAuY29udHJvbHMuZW5kLnZhbHVlXCI+XG4gICAgPC9tYXQtZGF0ZXBpY2tlcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPCEtLSAvZW5kIGRhdGUgLS0+XG48L2Rpdj5cbiJdfQ==