@bcgov/nr-ngx-component-lib 0.0.32 → 0.0.34

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.
@@ -1,19 +1,41 @@
1
- import { booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from "@angular/core";
1
+ import { booleanAttribute, ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Input, Output, ViewChild } from "@angular/core";
2
2
  import { of } from "rxjs";
3
3
  import { RowListBase } from "../../directives/row-list.base";
4
+ import { MatColumnDef, MatTable } from "@angular/material/table";
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/material/table";
6
- import * as i2 from "../filter-search/filter-search.component";
7
- import * as i3 from "../filters-panel/filters-panel.component";
8
- import * as i4 from "../row-list-desktop/row-list-desktop.component";
9
- import * as i5 from "../row-list-pagination/row-list-pagination.component";
10
- import * as i6 from "../indicator-select/indicator-select.component";
7
+ import * as i2 from "../cell-content/cell-content.component";
8
+ import * as i3 from "../filter-search/filter-search.component";
9
+ import * as i4 from "../filters-panel/filters-panel.component";
10
+ import * as i5 from "../row-list-desktop/row-list-desktop.component";
11
+ import * as i6 from "../row-list-pagination/row-list-pagination.component";
12
+ import * as i7 from "../indicator-select/indicator-select.component";
11
13
  export class ListSelectComponent extends RowListBase {
12
14
  constructor() {
13
15
  super(...arguments);
14
16
  this.descriptionLabel = 'Description';
15
17
  this.noRowsMessage = "No items have been added.";
18
+ this.displayColumnsProvider = (cols) => cols;
19
+ this.filterProvider = () => true;
16
20
  this.valueChange = new EventEmitter();
21
+ this.filterClear = new EventEmitter();
22
+ this.defaultDisplayColumns = ['description', 'addRemove'];
23
+ this.displayColumns = [];
24
+ }
25
+ ngOnChanges(changes) {
26
+ // console.log(changes)
27
+ if (changes.options) {
28
+ this.refreshRowList();
29
+ }
30
+ }
31
+ ngAfterContentInit() {
32
+ // console.log('ngAfterContentInit')
33
+ this.columnDefs.forEach(columnDef => this.table.addColumnDef(columnDef));
34
+ setTimeout(() => {
35
+ this.displayColumns = this.displayColumnsProvider([...this.defaultDisplayColumns]);
36
+ // console.log( this.displayColumns )
37
+ // this.changeDetectorRef.detectChanges()
38
+ });
17
39
  }
18
40
  get initialPageState() {
19
41
  return {
@@ -25,12 +47,7 @@ export class ListSelectComponent extends RowListBase {
25
47
  };
26
48
  }
27
49
  fetchRowListPage() {
28
- if (this.searchRegexp) {
29
- return of(this.options.filter(o => this.searchRegexp.test(o.description)));
30
- }
31
- else {
32
- return of(this.options);
33
- }
50
+ return of(this.options.filter(o => this.filterOption(o)));
34
51
  }
35
52
  displayRowListPage(res) {
36
53
  return {
@@ -64,6 +81,7 @@ export class ListSelectComponent extends RowListBase {
64
81
  onClearFilters() {
65
82
  this.searchText = null;
66
83
  this.searchRegexp = null;
84
+ this.filterClear.emit();
67
85
  this.refreshRowList();
68
86
  }
69
87
  onSearchTextChange(ev) {
@@ -78,12 +96,17 @@ export class ListSelectComponent extends RowListBase {
78
96
  }
79
97
  this.refreshRowList();
80
98
  }
99
+ filterOption(option) {
100
+ if (this.searchRegexp && !this.searchRegexp.test(option.description))
101
+ return false;
102
+ return this.filterProvider(option);
103
+ }
81
104
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ListSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
82
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ListSelectComponent, selector: "nrcl-list-select", inputs: { options: "options", value: "value", descriptionLabel: "descriptionLabel", single: ["single", "single", booleanAttribute], noRowsMessage: "noRowsMessage" }, outputs: { valueChange: "valueChange" }, usesInheritance: true, ngImport: i0, template: "@if ( !single ) {\n <div class=\"summary\">\n <h3>{{ value?.length || '0' }} Selected</h3>\n </div>\n}\n\n<nrcl-filters-panel (clearFilters)=\"onClearFilters()\">\n <nrcl-filter-search\n [(value)]=\"searchText\"\n (valueChange)=\"onSearchTextChange( $event )\">\n </nrcl-filter-search>\n</nrcl-filters-panel>\n\n<nrcl-row-list-desktop>\n @if ( rows?.length > 0 ) {\n <mat-table [dataSource]=\"rows\">\n <ng-container matColumnDef=\"description\">\n <mat-header-cell *matHeaderCellDef>{{ descriptionLabel }}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.description }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"addRemove\">\n <mat-header-cell *matHeaderCellDef>Add Remove</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-indicator-select [selected]=\"isSelected( item )\"></nrcl-indicator-select>\n </mat-cell>\n </ng-container>\n\n <mat-header-row *matHeaderRowDef=\"[ 'description', 'addRemove' ]; sticky: true\"></mat-header-row>\n\n <mat-row\n *matRowDef=\"let item; columns: [ 'description', 'addRemove' ]\"\n [class.selected]=\"isSelected( item )\"\n (click)=\"onRowClick( item )\"\n (keypress)=\"onRowClick( item )\"\n ></mat-row>\n </mat-table>\n }\n</nrcl-row-list-desktop>\n\n@if ( totalRowCount == 0 ) {\n <nrcl-row-list-pagination\n paginationId=\"list-select\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n [noRowsMessage]=\"noRowsMessage\"\n ></nrcl-row-list-pagination>\n}\n", styles: [":host{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size)}:host .summary{display:flex;justify-content:flex-end}:host .summary h3{font-size:var(--nrcl-font-size-h3);font-weight:400;padding:0;margin:0;padding-bottom:var(--nrcl-gutter-space)}:host .mat-mdc-table .mat-column-description{flex-grow:1}:host .mat-mdc-table .mat-column-addRemove{flex-basis:70px;flex-grow:0;flex-shrink:0;display:flex;justify-content:center;text-align:center}\n"], dependencies: [{ kind: "component", type: i1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i2.FilterSearchComponent, selector: "nrcl-filter-search", inputs: ["label", "placeholder", "hint", "value", "wide"], outputs: ["valueChange"] }, { kind: "component", type: i3.FiltersPanelComponent, selector: "nrcl-filters-panel", inputs: ["showClear", "showFilters", "hasAdvancedFilters", "showAdvancedFilters"], outputs: ["clearFilters", "showFiltersChange", "showAdvancedFiltersChange"] }, { kind: "component", type: i4.RowListDesktopComponent, selector: "nrcl-row-list-desktop" }, { kind: "component", type: i5.RowListPaginationComponent, selector: "nrcl-row-list-pagination", inputs: ["paginationId", "pageSizeOptions", "pageSize", "pageNumber", "rowCount", "showPageSize", "noRowsMessage"], outputs: ["pageSizeChange", "pageNumberChange"] }, { kind: "component", type: i6.IndicatorSelectComponent, selector: "nrcl-indicator-select", inputs: ["selected"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
105
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ListSelectComponent, selector: "nrcl-list-select", inputs: { options: "options", value: "value", descriptionLabel: "descriptionLabel", single: ["single", "single", booleanAttribute], noRowsMessage: "noRowsMessage", displayColumnsProvider: "displayColumnsProvider", filterProvider: "filterProvider" }, outputs: { valueChange: "valueChange", filterClear: "filterClear" }, queries: [{ propertyName: "columnDefs", predicate: MatColumnDef }], viewQueries: [{ propertyName: "table", first: true, predicate: MatTable, descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if ( !single ) {\n <div class=\"summary\">\n <h3>{{ value?.length || '0' }} Selected</h3>\n </div>\n}\n\n<nrcl-filters-panel (clearFilters)=\"onClearFilters()\">\n <nrcl-filter-search\n [(value)]=\"searchText\"\n (valueChange)=\"onSearchTextChange( $event )\">\n </nrcl-filter-search>\n\n <ng-content select=\"[filter]\"></ng-content>\n</nrcl-filters-panel>\n\n<nrcl-row-list-desktop [class.empty]=\"rows?.length == 0\">\n <mat-table [dataSource]=\"rows\" >\n <ng-container matColumnDef=\"description\">\n <mat-header-cell *matHeaderCellDef>{{ descriptionLabel }}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content>{{ item.description }}</nrcl-cell-content>\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"addRemove\">\n <mat-header-cell *matHeaderCellDef>Add Remove</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-indicator-select [selected]=\"isSelected( item )\"></nrcl-indicator-select>\n </mat-cell>\n </ng-container>\n\n <ng-content></ng-content>\n\n <mat-header-row *matHeaderRowDef=\"displayColumns; sticky: true\"></mat-header-row>\n\n <mat-row\n *matRowDef=\"let item; columns: displayColumns\"\n [class.selected]=\"isSelected( item )\"\n (click)=\"onRowClick( item )\"\n (keypress)=\"onRowClick( item )\"\n ></mat-row>\n </mat-table>\n</nrcl-row-list-desktop>\n\n@if ( totalRowCount == 0 ) {\n <nrcl-row-list-pagination\n paginationId=\"list-select\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n [noRowsMessage]=\"noRowsMessage\"\n ></nrcl-row-list-pagination>\n}\n", styles: [":host{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size)}:host .summary{display:flex;justify-content:flex-end}:host .summary h3{font-size:var(--nrcl-font-size-h3);font-weight:400;padding:0;margin:0;padding-bottom:var(--nrcl-gutter-space)}:host .nrcl-row-list-desktop.empty{display:none}:host .nrcl-row-list-desktop .mat-mdc-table .mat-column-description{flex-grow:1}:host .nrcl-row-list-desktop .mat-mdc-table .mat-column-addRemove{flex-basis:70px;flex-grow:0;flex-shrink:0;display:flex;justify-content:center;text-align:center}\n"], dependencies: [{ kind: "component", type: i1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i2.CellContentComponent, selector: "nrcl-cell-content", inputs: ["tooltip", "content"] }, { kind: "component", type: i3.FilterSearchComponent, selector: "nrcl-filter-search", inputs: ["label", "placeholder", "hint", "value", "wide"], outputs: ["valueChange"] }, { kind: "component", type: i4.FiltersPanelComponent, selector: "nrcl-filters-panel", inputs: ["showClear", "showFilters", "hasAdvancedFilters", "showAdvancedFilters"], outputs: ["clearFilters", "showFiltersChange", "showAdvancedFiltersChange"] }, { kind: "component", type: i5.RowListDesktopComponent, selector: "nrcl-row-list-desktop", inputs: ["showRowHover"] }, { kind: "component", type: i6.RowListPaginationComponent, selector: "nrcl-row-list-pagination", inputs: ["paginationId", "pageSizeOptions", "pageSize", "pageNumber", "rowCount", "showPageSize", "noRowsMessage"], outputs: ["pageSizeChange", "pageNumberChange"] }, { kind: "component", type: i7.IndicatorSelectComponent, selector: "nrcl-indicator-select", inputs: ["selected"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
83
106
  }
84
107
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ListSelectComponent, decorators: [{
85
108
  type: Component,
86
- args: [{ selector: "nrcl-list-select", changeDetection: ChangeDetectionStrategy.OnPush, template: "@if ( !single ) {\n <div class=\"summary\">\n <h3>{{ value?.length || '0' }} Selected</h3>\n </div>\n}\n\n<nrcl-filters-panel (clearFilters)=\"onClearFilters()\">\n <nrcl-filter-search\n [(value)]=\"searchText\"\n (valueChange)=\"onSearchTextChange( $event )\">\n </nrcl-filter-search>\n</nrcl-filters-panel>\n\n<nrcl-row-list-desktop>\n @if ( rows?.length > 0 ) {\n <mat-table [dataSource]=\"rows\">\n <ng-container matColumnDef=\"description\">\n <mat-header-cell *matHeaderCellDef>{{ descriptionLabel }}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.description }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"addRemove\">\n <mat-header-cell *matHeaderCellDef>Add Remove</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-indicator-select [selected]=\"isSelected( item )\"></nrcl-indicator-select>\n </mat-cell>\n </ng-container>\n\n <mat-header-row *matHeaderRowDef=\"[ 'description', 'addRemove' ]; sticky: true\"></mat-header-row>\n\n <mat-row\n *matRowDef=\"let item; columns: [ 'description', 'addRemove' ]\"\n [class.selected]=\"isSelected( item )\"\n (click)=\"onRowClick( item )\"\n (keypress)=\"onRowClick( item )\"\n ></mat-row>\n </mat-table>\n }\n</nrcl-row-list-desktop>\n\n@if ( totalRowCount == 0 ) {\n <nrcl-row-list-pagination\n paginationId=\"list-select\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n [noRowsMessage]=\"noRowsMessage\"\n ></nrcl-row-list-pagination>\n}\n", styles: [":host{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size)}:host .summary{display:flex;justify-content:flex-end}:host .summary h3{font-size:var(--nrcl-font-size-h3);font-weight:400;padding:0;margin:0;padding-bottom:var(--nrcl-gutter-space)}:host .mat-mdc-table .mat-column-description{flex-grow:1}:host .mat-mdc-table .mat-column-addRemove{flex-basis:70px;flex-grow:0;flex-shrink:0;display:flex;justify-content:center;text-align:center}\n"] }]
109
+ args: [{ selector: "nrcl-list-select", changeDetection: ChangeDetectionStrategy.OnPush, template: "@if ( !single ) {\n <div class=\"summary\">\n <h3>{{ value?.length || '0' }} Selected</h3>\n </div>\n}\n\n<nrcl-filters-panel (clearFilters)=\"onClearFilters()\">\n <nrcl-filter-search\n [(value)]=\"searchText\"\n (valueChange)=\"onSearchTextChange( $event )\">\n </nrcl-filter-search>\n\n <ng-content select=\"[filter]\"></ng-content>\n</nrcl-filters-panel>\n\n<nrcl-row-list-desktop [class.empty]=\"rows?.length == 0\">\n <mat-table [dataSource]=\"rows\" >\n <ng-container matColumnDef=\"description\">\n <mat-header-cell *matHeaderCellDef>{{ descriptionLabel }}</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content>{{ item.description }}</nrcl-cell-content>\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"addRemove\">\n <mat-header-cell *matHeaderCellDef>Add Remove</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-indicator-select [selected]=\"isSelected( item )\"></nrcl-indicator-select>\n </mat-cell>\n </ng-container>\n\n <ng-content></ng-content>\n\n <mat-header-row *matHeaderRowDef=\"displayColumns; sticky: true\"></mat-header-row>\n\n <mat-row\n *matRowDef=\"let item; columns: displayColumns\"\n [class.selected]=\"isSelected( item )\"\n (click)=\"onRowClick( item )\"\n (keypress)=\"onRowClick( item )\"\n ></mat-row>\n </mat-table>\n</nrcl-row-list-desktop>\n\n@if ( totalRowCount == 0 ) {\n <nrcl-row-list-pagination\n paginationId=\"list-select\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n [noRowsMessage]=\"noRowsMessage\"\n ></nrcl-row-list-pagination>\n}\n", styles: [":host{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size)}:host .summary{display:flex;justify-content:flex-end}:host .summary h3{font-size:var(--nrcl-font-size-h3);font-weight:400;padding:0;margin:0;padding-bottom:var(--nrcl-gutter-space)}:host .nrcl-row-list-desktop.empty{display:none}:host .nrcl-row-list-desktop .mat-mdc-table .mat-column-description{flex-grow:1}:host .nrcl-row-list-desktop .mat-mdc-table .mat-column-addRemove{flex-basis:70px;flex-grow:0;flex-shrink:0;display:flex;justify-content:center;text-align:center}\n"] }]
87
110
  }], propDecorators: { options: [{
88
111
  type: Input
89
112
  }], value: [{
@@ -95,7 +118,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
95
118
  args: [{ transform: booleanAttribute }]
96
119
  }], noRowsMessage: [{
97
120
  type: Input
121
+ }], displayColumnsProvider: [{
122
+ type: Input
123
+ }], filterProvider: [{
124
+ type: Input
98
125
  }], valueChange: [{
99
126
  type: Output
127
+ }], filterClear: [{
128
+ type: Output
129
+ }], table: [{
130
+ type: ViewChild,
131
+ args: [MatTable, { static: true }]
132
+ }], columnDefs: [{
133
+ type: ContentChildren,
134
+ args: [MatColumnDef]
100
135
  }] } });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvbGlzdC1zZWxlY3QvbGlzdC1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvbGlzdC1zZWxlY3QvbGlzdC1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFtQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkksT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQXFCLFdBQVcsRUFBZ0IsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7QUFTOUYsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFdBQStCO0lBTnhFOztRQVNhLHFCQUFnQixHQUFHLGFBQWEsQ0FBQTtRQUVoQyxrQkFBYSxHQUFHLDJCQUEyQixDQUFBO1FBRTFDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztLQThFeEQ7SUF6RUcsSUFBSSxnQkFBZ0I7UUFDaEIsT0FBTztZQUNILE1BQU0sRUFBRSxFQUFFO1lBQ1YsUUFBUSxFQUFFLFNBQVM7WUFDbkIsVUFBVSxFQUFFLENBQUM7WUFDYixVQUFVLEVBQUUsSUFBSTtZQUNoQixhQUFhLEVBQUUsTUFBTTtTQUN4QixDQUFBO0lBQ0wsQ0FBQztJQUVELGdCQUFnQjtRQUNaLElBQUssSUFBSSxDQUFDLFlBQVksRUFBRyxDQUFDO1lBQ3RCLE9BQU8sRUFBRSxDQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFB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InNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJvb2xlYW5BdHRyaWJ1dGUsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIG51bWJlckF0dHJpYnV0ZSwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IExvYWRSb3dMaXN0UmVzdWx0LCBSb3dMaXN0QmFzZSwgUm93TGlzdFN0YXRlIH0gZnJvbSBcIi4uLy4uL2RpcmVjdGl2ZXMvcm93LWxpc3QuYmFzZVwiO1xuaW1wb3J0IHsgQ29kZURlc2NyaXB0aW9uIH0gZnJvbSBcIi4uLy4uL3V0aWxzL2NvZGUtdGFibGUudXRpbFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJucmNsLWxpc3Qtc2VsZWN0XCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9saXN0LXNlbGVjdC5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsOiBcIi4vbGlzdC1zZWxlY3QuY29tcG9uZW50LnNjc3NcIixcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBMaXN0U2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgUm93TGlzdEJhc2U8e30sQ29kZURlc2NyaXB0aW9uPiB7XG4gICAgQElucHV0KCkgb3B0aW9uczogQ29kZURlc2NyaXB0aW9uW11cbiAgICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nW11cbiAgICBASW5wdXQoKSBkZXNjcmlwdGlvbkxhYmVsID0gJ0Rlc2NyaXB0aW9uJ1xuICAgIEBJbnB1dCggeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSApIHNpbmdsZSBcbiAgICBASW5wdXQoKSBub1Jvd3NNZXNzYWdlID0gXCJObyBpdGVtcyBoYXZlIGJlZW4gYWRkZWQuXCJcbiAgIFxuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XG4gICAgXG4gICAgc2VhcmNoVGV4dFxuICAgIHNlYXJjaFJlZ2V4cDogUmVnRXhwXG5cbiAgICBnZXQgaW5pdGlhbFBhZ2VTdGF0ZSgpOiBSb3dMaXN0U3RhdGU8e30+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGZpbHRlcjoge30sXG4gICAgICAgICAgICBwYWdlU2l6ZTogdW5kZWZpbmVkLFxuICAgICAgICAgICAgcGFnZU51bWJlcjogMSxcbiAgICAgICAgICAgIHNvcnRBY3RpdmU6IG51bGwsXG4gICAgICAgICAgICBzb3J0RGlyZWN0aW9uOiAnZGVzYycsXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmZXRjaFJvd0xpc3RQYWdlKCk6IE9ic2VydmFibGU8Q29kZURlc2NyaXB0aW9uW10+IHtcbiAgICAgICAgaWYgKCB0aGlzLnNlYXJjaFJlZ2V4cCApIHtcbiAgICAgICAgICAgIHJldHVybiBvZiggdGhpcy5vcHRpb25zLmZpbHRlciggbyA9PiB0aGlzLnNlYXJjaFJlZ2V4cC50ZXN0KCBvLmRlc2NyaXB0aW9uICkgKSApXG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoIHRoaXMub3B0aW9ucyApXG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgZGlzcGxheVJvd0xpc3RQYWdlKCByZXM6IENvZGVEZXNjcmlwdGlvbltdICk6IExvYWRSb3dMaXN0UmVzdWx0PENvZGVEZXNjcmlwdGlvbj4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdG90YWxSb3dDb3VudDogcmVzLmxlbmd0aCxcbiAgICAgICAgICAgIHJvd3M6IHJlc1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNTZWxlY3RlZCggaXRlbTogQ29kZURlc2NyaXB0aW9uICkge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZT8uaW5jbHVkZXMoIGl0ZW0uY29kZSApXG4gICAgfVxuXG4gICAgb25Sb3dDbGljayggaXRlbTogQ29kZURlc2NyaXB0aW9uICkgeyAgICAgICBcbiAgICAgICAgaWYgKCB0aGlzLnNpbmdsZSApIHtcbiAgICAgICAgICAgIGlmICggdGhpcy5pc1NlbGVjdGVkKCBpdGVtICkgKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IFtdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gWyBpdGVtLmNvZGUgXVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgbGV0IHZhbCA9IHRoaXMudmFsdWUgfHwgW11cblxuICAgICAgICAgICAgaWYgKCB0aGlzLmlzU2VsZWN0ZWQoIGl0ZW0gKSApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsLmZpbHRlciggYyA9PiBjICE9IGl0ZW0uY29kZSApXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsLmNvbmNhdCggaXRlbS5jb2RlIClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCggdGhpcy52YWx1ZSApXG4gICAgfSAgICBcblxuICAgIG9uQ2xlYXJGaWx0ZXJzKCkge1xuICAgICAgICB0aGlzLnNlYXJjaFRleHQgPSBudWxsXG4gICAgICAgIHRoaXMuc2VhcmNoUmVnZXhwID0gbnVsbFxuICAgICAgICB0aGlzLnJlZnJlc2hSb3dMaXN0KClcbiAgICB9XG5cbiAgICBvblNlYXJjaFRleHRDaGFuZ2UoIGV2ICkge1xuICAgICAgICB0aGlzLnNlYXJjaFRleHQgPSBldlxuXG4gICAgICAgIGxldCB0ID0gdGhpcy5zZWFyY2hUZXh0Py50cmltKClcbiAgICAgICAgaWYgKCB0ICkge1xuICAgICAgICAgICAgdCA9IHQudG9Mb3dlckNhc2UoKS5yZXBsYWNlKCAvXFxzKy9nLCAnLionIClcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoUmVnZXhwID0gbmV3IFJlZ0V4cCggdCwgJ2dpJyApIFxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hSZWdleHAgPSBudWxsXG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJlZnJlc2hSb3dMaXN0KClcbiAgICB9XG59XG4iLCJAaWYgKCAhc2luZ2xlICkge1xuICAgIDxkaXYgY2xhc3M9XCJzdW1tYXJ5XCI+XG4gICAgICAgIDxoMz57eyB2YWx1ZT8ubGVuZ3RoIHx8ICcwJyB9fSBTZWxlY3RlZDwvaDM+XG4gICAgPC9kaXY+XG59XG5cbjxucmNsLWZpbHRlcnMtcGFuZWwgKGNsZWFyRmlsdGVycyk9XCJvbkNsZWFyRmlsdGVycygpXCI+XG4gICAgPG5yY2wtZmlsdGVyLXNlYXJjaFxuICAgICAgICBbKHZhbHVlKV09XCJzZWFyY2hUZXh0XCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uU2VhcmNoVGV4dENoYW5nZSggJGV2ZW50IClcIj5cbiAgICA8L25yY2wtZmlsdGVyLXNlYXJjaD5cbjwvbnJjbC1maWx0ZXJzLXBhbmVsPlxuXG48bnJjbC1yb3ctbGlzdC1kZXNrdG9wPlxuICAgIEBpZiAoIHJvd3M/Lmxlbmd0aCA+IDAgKSB7XG4gICAgICAgIDxtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwicm93c1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJkZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+e3sgZGVzY3JpcHRpb25MYWJlbCB9fTwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0uZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiYWRkUmVtb3ZlXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5BZGQgUmVtb3ZlPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgPG5yY2wtaW5kaWNhdG9yLXNlbGVjdCBbc2VsZWN0ZWRdPVwiaXNTZWxlY3RlZCggaXRlbSApXCI+PC9ucmNsLWluZGljYXRvci1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cIlsgJ2Rlc2NyaXB0aW9uJywgJ2FkZFJlbW92ZScgXTsgc3RpY2t5OiB0cnVlXCI+PC9tYXQtaGVhZGVyLXJvdz5cblxuICAgICAgICAgICAgPG1hdC1yb3dcbiAgICAgICAgICAgICAgICAqbWF0Um93RGVmPVwibGV0IGl0ZW07IGNvbHVtbnM6IFsgJ2Rlc2NyaXB0aW9uJywgJ2FkZFJlbW92ZScgXVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImlzU2VsZWN0ZWQoIGl0ZW0gKVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uUm93Q2xpY2soIGl0ZW0gKVwiXG4gICAgICAgICAgICAgICAgKGtleXByZXNzKT1cIm9uUm93Q2xpY2soIGl0ZW0gKVwiXG4gICAgICAgICAgICA+PC9tYXQtcm93PlxuICAgICAgICA8L21hdC10YWJsZT5cbiAgICB9XG48L25yY2wtcm93LWxpc3QtZGVza3RvcD5cblxuQGlmICggdG90YWxSb3dDb3VudCA9PSAwICkge1xuICAgIDxucmNsLXJvdy1saXN0LXBhZ2luYXRpb25cbiAgICAgICAgcGFnaW5hdGlvbklkPVwibGlzdC1zZWxlY3RcIlxuICAgICAgICBbcGFnZVNpemVdPVwicGFnZVNpemVcIlxuICAgICAgICBbcGFnZU51bWJlcl09XCJwYWdlTnVtYmVyXCJcbiAgICAgICAgW3Jvd0NvdW50XT1cInRvdGFsUm93Q291bnRcIlxuICAgICAgICAocGFnZU51bWJlckNoYW5nZSk9XCJvblBhZ2VOdW1iZXJDaGFuZ2UoICRldmVudCApXCJcbiAgICAgICAgKHBhZ2VTaXplQ2hhbmdlKT1cIm9uUGFnZVNpemVDaGFuZ2UoICRldmVudCApXCJcbiAgICAgICAgW25vUm93c01lc3NhZ2VdPVwibm9Sb3dzTWVzc2FnZVwiXG4gICAgPjwvbnJjbC1yb3ctbGlzdC1wYWdpbmF0aW9uPlxufVxuIl19
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvbGlzdC1zZWxlY3QvbGlzdC1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvbGlzdC1zZWxlY3QvbGlzdC1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQThCLE1BQU0sRUFBNEIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ROLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFxQixXQUFXLEVBQWdCLE1BQU0sZ0NBQWdDLENBQUM7QUFFOUYsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7O0FBUWpFLE1BQU0sT0FBTyxtQkFBdUIsU0FBUSxXQUErQjtJQU4zRTs7UUFTYSxxQkFBZ0IsR0FBRyxhQUFhLENBQUE7UUFFaEMsa0JBQWEsR0FBRywyQkFBMkIsQ0FBQTtRQUMzQywyQkFBc0IsR0FBbUMsQ0FBRSxJQUFJLEVBQUcsRUFBRSxDQUFDLElBQUksQ0FBQTtRQUN6RSxtQkFBYyxHQUEyQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUE7UUFFbEUsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBQzNDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQVFqRCwwQkFBcUIsR0FBRyxDQUFFLGFBQWEsRUFBRSxXQUFXLENBQUUsQ0FBQTtRQUN0RCxtQkFBYyxHQUFHLEVBQUUs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RWdDLEtBQUs7c0JBQTNDLFNBQVM7dUJBQUUsUUFBUSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFFSCxVQUFVO3NCQUExQyxlQUFlO3VCQUFFLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBib29sZWFuQXR0cmlidXRlLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEV2ZW50RW1pdHRlciwgSW5wdXQsIG51bWJlckF0dHJpYnV0ZSwgT25DaGFuZ2VzLCBPdXRwdXQsIFF1ZXJ5TGlzdCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IExvYWRSb3dMaXN0UmVzdWx0LCBSb3dMaXN0QmFzZSwgUm93TGlzdFN0YXRlIH0gZnJvbSBcIi4uLy4uL2RpcmVjdGl2ZXMvcm93LWxpc3QuYmFzZVwiO1xuaW1wb3J0IHsgQ29kZURlc2NyaXB0aW9uIH0gZnJvbSBcIi4uLy4uL3V0aWxzL2NvZGUtdGFibGUudXRpbFwiO1xuaW1wb3J0IHsgTWF0Q29sdW1uRGVmLCBNYXRUYWJsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90YWJsZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJucmNsLWxpc3Qtc2VsZWN0XCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9saXN0LXNlbGVjdC5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsOiBcIi4vbGlzdC1zZWxlY3QuY29tcG9uZW50LnNjc3NcIixcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBMaXN0U2VsZWN0Q29tcG9uZW50PFQ+IGV4dGVuZHMgUm93TGlzdEJhc2U8e30sQ29kZURlc2NyaXB0aW9uPiBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgQElucHV0KCkgb3B0aW9uczogQ29kZURlc2NyaXB0aW9uW11cbiAgICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nW11cbiAgICBASW5wdXQoKSBkZXNjcmlwdGlvbkxhYmVsID0gJ0Rlc2NyaXB0aW9uJ1xuICAgIEBJbnB1dCggeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSApIHNpbmdsZSBcbiAgICBASW5wdXQoKSBub1Jvd3NNZXNzYWdlID0gXCJObyBpdGVtcyBoYXZlIGJlZW4gYWRkZWQuXCJcbiAgICBASW5wdXQoKSBkaXNwbGF5Q29sdW1uc1Byb3ZpZGVyOiAoIGNvbHM6IHN0cmluZ1tdICkgPT4gc3RyaW5nW10gPSAoIGNvbHMgKSA9PiBjb2xzXG4gICAgQElucHV0KCkgZmlsdGVyUHJvdmlkZXI6ICggb3B0aW9uOiBDb2RlRGVzY3JpcHRpb24gKSA9PiBib29sZWFuID0gKCkgPT4gdHJ1ZVxuICAgXG4gICAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcbiAgICBAT3V0cHV0KCkgZmlsdGVyQ2xlYXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgXG4gICAgQFZpZXdDaGlsZCggTWF0VGFibGUsIHtzdGF0aWM6IHRydWV9ICkgdGFibGUhOiBNYXRUYWJsZTxUPjtcbiAgICBcbiAgICBAQ29udGVudENoaWxkcmVuKCBNYXRDb2x1bW5EZWYgKSBjb2x1bW5EZWZzITogUXVlcnlMaXN0PE1hdENvbHVtbkRlZj47XG4gICAgXG4gICAgc2VhcmNoVGV4dFxuICAgIHNlYXJjaFJlZ2V4cDogUmVnRXhwXG4gICAgZGVmYXVsdERpc3BsYXlDb2x1bW5zID0gWyAnZGVzY3JpcHRpb24nLCAnYWRkUmVtb3ZlJyBdXG4gICAgZGlzcGxheUNvbHVtbnMgPSBbXVxuXG4gICAgbmdPbkNoYW5nZXMoIGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMgKTogdm9pZCB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGNoYW5nZXMpXG5cbiAgICAgICAgaWYgKCBjaGFuZ2VzLm9wdGlvbnMgKSB7XG4gICAgICAgICAgICB0aGlzLnJlZnJlc2hSb3dMaXN0KClcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ25nQWZ0ZXJDb250ZW50SW5pdCcpXG4gICAgICAgIHRoaXMuY29sdW1uRGVmcy5mb3JFYWNoKGNvbHVtbkRlZiA9PiB0aGlzLnRhYmxlLmFkZENvbHVtbkRlZihjb2x1bW5EZWYpKTtcblxuICAgICAgICBzZXRUaW1lb3V0KCAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlDb2x1bW5zID0gdGhpcy5kaXNwbGF5Q29sdW1uc1Byb3ZpZGVyKCBbIC4uLnRoaXMuZGVmYXVsdERpc3BsYXlDb2x1bW5zIF0gKVxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coIHRoaXMuZGlzcGxheUNvbHVtbnMgKVxuICAgICAgICAgICAgLy8gdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCkgICAgICAgICAgICBcbiAgICAgICAgfSApXG4gICAgfVxuXG4gICAgZ2V0IGluaXRpYWxQYWdlU3RhdGUoKTogUm93TGlzdFN0YXRlPHt9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBmaWx0ZXI6IHt9LFxuICAgICAgICAgICAgcGFnZVNpemU6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHBhZ2VOdW1iZXI6IDEsXG4gICAgICAgICAgICBzb3J0QWN0aXZlOiBudWxsLFxuICAgICAgICAgICAgc29ydERpcmVjdGlvbjogJ2Rlc2MnLFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZmV0Y2hSb3dMaXN0UGFnZSgpOiBPYnNlcnZhYmxlPENvZGVEZXNjcmlwdGlvbltdPiB7XG4gICAgICAgIHJldHVybiBvZiggdGhpcy5vcHRpb25zLmZpbHRlciggbyA9PiB0aGlzLmZpbHRlck9wdGlvbiggbyApICkgKVxuICAgIH1cbiAgICBcbiAgICBkaXNwbGF5Um93TGlzdFBhZ2UoIHJlczogQ29kZURlc2NyaXB0aW9uW10gKTogTG9hZFJvd0xpc3RSZXN1bHQ8Q29kZURlc2NyaXB0aW9uPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0b3RhbFJvd0NvdW50OiByZXMubGVuZ3RoLFxuICAgICAgICAgICAgcm93czogcmVzXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc1NlbGVjdGVkKCBpdGVtOiBDb2RlRGVzY3JpcHRpb24gKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlPy5pbmNsdWRlcyggaXRlbS5jb2RlIClcbiAgICB9XG5cbiAgICBvblJvd0NsaWNrKCBpdGVtOiBDb2RlRGVzY3JpcHRpb24gKSB7ICAgICAgIFxuICAgICAgICBpZiAoIHRoaXMuc2luZ2xlICkge1xuICAgICAgICAgICAgaWYgKCB0aGlzLmlzU2VsZWN0ZWQoIGl0ZW0gKSApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gW11cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBbIGl0ZW0uY29kZSBdXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBsZXQgdmFsID0gdGhpcy52YWx1ZSB8fCBbXVxuXG4gICAgICAgICAgICBpZiAoIHRoaXMuaXNTZWxlY3RlZCggaXRlbSApICkge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWwuZmlsdGVyKCBjID0+IGMgIT0gaXRlbS5jb2RlIClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWwuY29uY2F0KCBpdGVtLmNvZGUgKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KCB0aGlzLnZhbHVlIClcbiAgICB9ICAgIFxuXG4gICAgb25DbGVhckZpbHRlcnMoKSB7XG4gICAgICAgIHRoaXMuc2VhcmNoVGV4dCA9IG51bGxcbiAgICAgICAgdGhpcy5zZWFyY2hSZWdleHAgPSBudWxsXG4gICAgICAgIHRoaXMuZmlsdGVyQ2xlYXIuZW1pdCgpXG4gICAgICAgIHRoaXMucmVmcmVzaFJvd0xpc3QoKVxuICAgIH1cblxuICAgIG9uU2VhcmNoVGV4dENoYW5nZSggZXYgKSB7XG4gICAgICAgIHRoaXMuc2VhcmNoVGV4dCA9IGV2XG5cbiAgICAgICAgbGV0IHQgPSB0aGlzLnNlYXJjaFRleHQ/LnRyaW0oKVxuICAgICAgICBpZiAoIHQgKSB7XG4gICAgICAgICAgICB0ID0gdC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoIC9cXHMrL2csICcuKicgKVxuICAgICAgICAgICAgdGhpcy5zZWFyY2hSZWdleHAgPSBuZXcgUmVnRXhwKCB0LCAnZ2knICkgXG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaFJlZ2V4cCA9IG51bGxcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmVmcmVzaFJvd0xpc3QoKVxuICAgIH1cblxuICAgIGZpbHRlck9wdGlvbiggb3B0aW9uOiBDb2RlRGVzY3JpcHRpb24gKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICggdGhpcy5zZWFyY2hSZWdleHAgJiYgIXRoaXMuc2VhcmNoUmVnZXhwLnRlc3QoIG9wdGlvbi5kZXNjcmlwdGlvbiApICkgcmV0dXJuIGZhbHNlXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyUHJvdmlkZXIoIG9wdGlvbiApXG4gICAgfVxuXG4gICAgLy8gcHJpdmF0ZSBfb3B0aW9uc0ZpbHRlcjogKCBvcHRpb246IENvZGVEZXNjcmlwdGlvbiApID0+IGJvb2xlYW4gPSAoKSA9PiB0cnVlXG5cbiAgICAvLyBzZXRPcHRpb25zRmlsdGVyKCBmaWx0ZXI6ICggb3B0aW9uOiBDb2RlRGVzY3JpcHRpb24gKSA9PiBib29sZWFuICkge1xuICAgIC8vICAgICB0aGlzLl9vcHRpb25zRmlsdGVyID0gZmlsdGVyXG4gICAgLy8gfVxufVxuIiwiQGlmICggIXNpbmdsZSApIHtcbiAgICA8ZGl2IGNsYXNzPVwic3VtbWFyeVwiPlxuICAgICAgICA8aDM+e3sgdmFsdWU/Lmxlbmd0aCB8fCAnMCcgfX0gU2VsZWN0ZWQ8L2gzPlxuICAgIDwvZGl2PlxufVxuXG48bnJjbC1maWx0ZXJzLXBhbmVsIChjbGVhckZpbHRlcnMpPVwib25DbGVhckZpbHRlcnMoKVwiPlxuICAgIDxucmNsLWZpbHRlci1zZWFyY2hcbiAgICAgICAgWyh2YWx1ZSldPVwic2VhcmNoVGV4dFwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblNlYXJjaFRleHRDaGFuZ2UoICRldmVudCApXCI+XG4gICAgPC9ucmNsLWZpbHRlci1zZWFyY2g+XG5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmlsdGVyXVwiPjwvbmctY29udGVudD5cbjwvbnJjbC1maWx0ZXJzLXBhbmVsPlxuXG48bnJjbC1yb3ctbGlzdC1kZXNrdG9wIFtjbGFzcy5lbXB0eV09XCJyb3dzPy5sZW5ndGggPT0gMFwiPlxuICAgIDxtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwicm93c1wiID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJkZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj57eyBkZXNjcmlwdGlvbkxhYmVsIH19PC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiPlxuICAgICAgICAgICAgICAgIDxucmNsLWNlbGwtY29udGVudD57eyBpdGVtLmRlc2NyaXB0aW9uIH19PC9ucmNsLWNlbGwtY29udGVudD5cbiAgICAgICAgICAgIDwvbWF0LWNlbGw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiYWRkUmVtb3ZlXCI+XG4gICAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPkFkZCBSZW1vdmU8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCI+XG4gICAgICAgICAgICAgICAgPG5yY2wtaW5kaWNhdG9yLXNlbGVjdCBbc2VsZWN0ZWRdPVwiaXNTZWxlY3RlZCggaXRlbSApXCI+PC9ucmNsLWluZGljYXRvci1zZWxlY3Q+XG4gICAgICAgICAgICA8L21hdC1jZWxsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbiAgICAgICAgPG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5Q29sdW1uczsgc3RpY2t5OiB0cnVlXCI+PC9tYXQtaGVhZGVyLXJvdz5cblxuICAgICAgICA8bWF0LXJvd1xuICAgICAgICAgICAgKm1hdFJvd0RlZj1cImxldCBpdGVtOyBjb2x1bW5zOiBkaXNwbGF5Q29sdW1uc1wiXG4gICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiaXNTZWxlY3RlZCggaXRlbSApXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvblJvd0NsaWNrKCBpdGVtIClcIlxuICAgICAgICAgICAgKGtleXByZXNzKT1cIm9uUm93Q2xpY2soIGl0ZW0gKVwiXG4gICAgICAgID48L21hdC1yb3c+XG4gICAgPC9tYXQtdGFibGU+XG48L25yY2wtcm93LWxpc3QtZGVza3RvcD5cblxuQGlmICggdG90YWxSb3dDb3VudCA9PSAwICkge1xuICAgIDxucmNsLXJvdy1saXN0LXBhZ2luYXRpb25cbiAgICAgICAgcGFnaW5hdGlvbklkPVwibGlzdC1zZWxlY3RcIlxuICAgICAgICBbcGFnZVNpemVdPVwicGFnZVNpemVcIlxuICAgICAgICBbcGFnZU51bWJlcl09XCJwYWdlTnVtYmVyXCJcbiAgICAgICAgW3Jvd0NvdW50XT1cInRvdGFsUm93Q291bnRcIlxuICAgICAgICAocGFnZU51bWJlckNoYW5nZSk9XCJvblBhZ2VOdW1iZXJDaGFuZ2UoICRldmVudCApXCJcbiAgICAgICAgKHBhZ2VTaXplQ2hhbmdlKT1cIm9uUGFnZVNpemVDaGFuZ2UoICRldmVudCApXCJcbiAgICAgICAgW25vUm93c01lc3NhZ2VdPVwibm9Sb3dzTWVzc2FnZVwiXG4gICAgPjwvbnJjbC1yb3ctbGlzdC1wYWdpbmF0aW9uPlxufVxuIl19
@@ -1,12 +1,20 @@
1
- import { ChangeDetectionStrategy, Component } from "@angular/core";
1
+ import { ChangeDetectionStrategy, Component, Input } from "@angular/core";
2
2
  import { NrclBase } from "../../directives/nrcl.base";
3
3
  import * as i0 from "@angular/core";
4
4
  export class RowListDesktopComponent extends NrclBase {
5
+ constructor() {
6
+ super(...arguments);
7
+ this.showRowHover = true;
8
+ }
5
9
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RowListDesktopComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: RowListDesktopComponent, selector: "nrcl-row-list-desktop", usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:block;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid #c6c8cb}:host:empty{border-bottom:none}:host ::ng-deep .mat-mdc-table{width:100%}:host ::ng-deep .mat-mdc-table .mat-mdc-row{background-color:#fff;cursor:pointer}:host ::ng-deep .mat-mdc-table .mat-mdc-row .mat-mdc-cell{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);padding:5px;color:#000;overflow-wrap:break-word}:host ::ng-deep .mat-mdc-table .mat-mdc-row:hover{background-color:#d7d7d7}:host ::ng-deep .mat-mdc-table .mat-mdc-row:nth-child(odd):not(:hover):not(.selected){background-color:#f2f2f2}:host ::ng-deep .mat-mdc-table .mat-mdc-row:nth-child(2n):not(:hover):not(.selected){background-color:#fff}:host ::ng-deep .mat-mdc-table .mat-mdc-row.selected{background-color:#b6d7a8}:host ::ng-deep .mat-mdc-table .mat-mdc-header-cell{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);padding:5px;color:#000}:host ::ng-deep .mat-mdc-table .mat-mdc-header-cell .mat-sort-header-content{text-align:left;align-items:flex-end;font-size:15px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: RowListDesktopComponent, selector: "nrcl-row-list-desktop", inputs: { showRowHover: "showRowHover" }, host: { properties: { "class.show-row-hover": "showRowHover" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: ["::ng-deep :root{--nrcl-row-list-background-color: white;--nrcl-row-list-alternate-background-color: #f2f2f2;--nrcl-row-list-hover-background-color: #d7d7d7;--nrcl-row-list-selected-background-color: #b6d7a8}:host{display:block;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid #c6c8cb}:host:empty{border-bottom:none}:host ::ng-deep .mat-mdc-table{width:100%}:host ::ng-deep .mat-mdc-table .mat-mdc-row{background-color:var(--nrcl-row-list-background-color);cursor:default}:host ::ng-deep .mat-mdc-table .mat-mdc-row .mat-mdc-cell{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);padding:5px;color:#000;overflow-wrap:break-word}:host ::ng-deep .mat-mdc-table .mat-mdc-row:nth-child(odd):not(.selected){background-color:var(--nrcl-row-list-background-color)}:host ::ng-deep .mat-mdc-table .mat-mdc-row:nth-child(2n):not(.selected){background-color:var(--nrcl-row-list-alternate-background-color)}:host ::ng-deep .mat-mdc-table .mat-mdc-row.selected{background-color:var(--nrcl-row-list-selected-background-color)}:host ::ng-deep .mat-mdc-table .mat-mdc-header-cell{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);padding:5px;color:#000}:host ::ng-deep .mat-mdc-table .mat-mdc-header-cell .mat-sort-header-content{text-align:left;align-items:flex-end;font-size:var(--nrcl-font-size)}:host ::ng-deep table.mat-mdc-table .mat-mdc-row:nth-child(odd):not(.selected){background-color:var(--nrcl-row-list-alternate-background-color)}:host ::ng-deep table.mat-mdc-table .mat-mdc-row:nth-child(2n):not(.selected){background-color:var(--nrcl-row-list-background-color)}:host.show-row-hover ::ng-deep .mat-mdc-table .mat-mdc-row,:host.show-row-hover ::ng-deep table.mat-mdc-table .mat-mdc-row{cursor:pointer}:host.show-row-hover ::ng-deep .mat-mdc-table .mat-mdc-row:hover,:host.show-row-hover ::ng-deep table.mat-mdc-table .mat-mdc-row:hover{background-color:var(--nrcl-row-list-hover-background-color)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7
11
  }
8
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RowListDesktopComponent, decorators: [{
9
13
  type: Component,
10
- args: [{ selector: "nrcl-row-list-desktop", changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n", styles: [":host{display:block;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid #c6c8cb}:host:empty{border-bottom:none}:host ::ng-deep .mat-mdc-table{width:100%}:host ::ng-deep .mat-mdc-table .mat-mdc-row{background-color:#fff;cursor:pointer}:host ::ng-deep .mat-mdc-table .mat-mdc-row .mat-mdc-cell{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);padding:5px;color:#000;overflow-wrap:break-word}:host ::ng-deep .mat-mdc-table .mat-mdc-row:hover{background-color:#d7d7d7}:host ::ng-deep .mat-mdc-table .mat-mdc-row:nth-child(odd):not(:hover):not(.selected){background-color:#f2f2f2}:host ::ng-deep .mat-mdc-table .mat-mdc-row:nth-child(2n):not(:hover):not(.selected){background-color:#fff}:host ::ng-deep .mat-mdc-table .mat-mdc-row.selected{background-color:#b6d7a8}:host ::ng-deep .mat-mdc-table .mat-mdc-header-cell{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);padding:5px;color:#000}:host ::ng-deep .mat-mdc-table .mat-mdc-header-cell .mat-sort-header-content{text-align:left;align-items:flex-end;font-size:15px}\n"] }]
11
- }] });
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWxpc3QtZGVza3RvcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uci1uZ3gtY29tcG9uZW50LWxpYi9zcmMvY29tcG9uZW50cy9yb3ctbGlzdC1kZXNrdG9wL3Jvdy1saXN0LWRlc2t0b3AuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvcm93LWxpc3QtZGVza3RvcC9yb3ctbGlzdC1kZXNrdG9wLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFRdEQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLFFBQVE7K0dBQXhDLHVCQUF1QjttR0FBdkIsdUJBQXVCLG9GQ1pwQyw2QkFDQTs7NEZEV2EsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNJLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50XG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBOcmNsQmFzZSB9IGZyb20gXCIuLi8uLi9kaXJlY3RpdmVzL25yY2wuYmFzZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJucmNsLXJvdy1saXN0LWRlc2t0b3BcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3Jvdy1saXN0LWRlc2t0b3AuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybDogXCIuL3Jvdy1saXN0LWRlc2t0b3AuY29tcG9uZW50LnNjc3NcIixcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBSb3dMaXN0RGVza3RvcENvbXBvbmVudCBleHRlbmRzIE5yY2xCYXNlIHtcbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
14
+ args: [{ selector: "nrcl-row-list-desktop", changeDetection: ChangeDetectionStrategy.OnPush, host: {
15
+ '[class.show-row-hover]': 'showRowHover'
16
+ }, template: "<ng-content></ng-content>\n", styles: ["::ng-deep :root{--nrcl-row-list-background-color: white;--nrcl-row-list-alternate-background-color: #f2f2f2;--nrcl-row-list-hover-background-color: #d7d7d7;--nrcl-row-list-selected-background-color: #b6d7a8}:host{display:block;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid #c6c8cb}:host:empty{border-bottom:none}:host ::ng-deep .mat-mdc-table{width:100%}:host ::ng-deep .mat-mdc-table .mat-mdc-row{background-color:var(--nrcl-row-list-background-color);cursor:default}:host ::ng-deep .mat-mdc-table .mat-mdc-row .mat-mdc-cell{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);padding:5px;color:#000;overflow-wrap:break-word}:host ::ng-deep .mat-mdc-table .mat-mdc-row:nth-child(odd):not(.selected){background-color:var(--nrcl-row-list-background-color)}:host ::ng-deep .mat-mdc-table .mat-mdc-row:nth-child(2n):not(.selected){background-color:var(--nrcl-row-list-alternate-background-color)}:host ::ng-deep .mat-mdc-table .mat-mdc-row.selected{background-color:var(--nrcl-row-list-selected-background-color)}:host ::ng-deep .mat-mdc-table .mat-mdc-header-cell{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);padding:5px;color:#000}:host ::ng-deep .mat-mdc-table .mat-mdc-header-cell .mat-sort-header-content{text-align:left;align-items:flex-end;font-size:var(--nrcl-font-size)}:host ::ng-deep table.mat-mdc-table .mat-mdc-row:nth-child(odd):not(.selected){background-color:var(--nrcl-row-list-alternate-background-color)}:host ::ng-deep table.mat-mdc-table .mat-mdc-row:nth-child(2n):not(.selected){background-color:var(--nrcl-row-list-background-color)}:host.show-row-hover ::ng-deep .mat-mdc-table .mat-mdc-row,:host.show-row-hover ::ng-deep table.mat-mdc-table .mat-mdc-row{cursor:pointer}:host.show-row-hover ::ng-deep .mat-mdc-table .mat-mdc-row:hover,:host.show-row-hover ::ng-deep table.mat-mdc-table .mat-mdc-row:hover{background-color:var(--nrcl-row-list-hover-background-color)}\n"] }]
17
+ }], propDecorators: { showRowHover: [{
18
+ type: Input
19
+ }] } });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWxpc3QtZGVza3RvcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uci1uZ3gtY29tcG9uZW50LWxpYi9zcmMvY29tcG9uZW50cy9yb3ctbGlzdC1kZXNrdG9wL3Jvdy1saXN0LWRlc2t0b3AuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvcm93LWxpc3QtZGVza3RvcC9yb3ctbGlzdC1kZXNrdG9wLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBV3RELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxRQUFRO0lBVHJEOztRQVVhLGlCQUFZLEdBQUcsSUFBSSxDQUFBO0tBQy9COytHQUZZLHVCQUF1QjttR0FBdkIsdUJBQXVCLGdNQ2hCcEMsNkJBQ0E7OzRGRGVhLHVCQUF1QjtrQkFUbkMsU0FBUzsrQkFDSSx1QkFBdUIsbUJBR2hCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0Ysd0JBQXdCLEVBQUUsY0FBYztxQkFDM0M7OEJBR1EsWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIElucHV0XG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBOcmNsQmFzZSB9IGZyb20gXCIuLi8uLi9kaXJlY3RpdmVzL25yY2wuYmFzZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJucmNsLXJvdy1saXN0LWRlc2t0b3BcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3Jvdy1saXN0LWRlc2t0b3AuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybDogXCIuL3Jvdy1saXN0LWRlc2t0b3AuY29tcG9uZW50LnNjc3NcIixcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3Muc2hvdy1yb3ctaG92ZXJdJzogJ3Nob3dSb3dIb3ZlcidcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJvd0xpc3REZXNrdG9wQ29tcG9uZW50IGV4dGVuZHMgTnJjbEJhc2Uge1xuICAgIEBJbnB1dCgpIHNob3dSb3dIb3ZlciA9IHRydWVcbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
@@ -77,7 +77,7 @@ export class RowListPaginationComponent extends NrclBase {
77
77
  return this.rowCount;
78
78
  }
79
79
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RowListPaginationComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
80
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: RowListPaginationComponent, selector: "nrcl-row-list-pagination", inputs: { paginationId: "paginationId", pageSizeOptions: "pageSizeOptions", pageSize: "pageSize", pageNumber: "pageNumber", rowCount: "rowCount", showPageSize: "showPageSize", noRowsMessage: "noRowsMessage" }, outputs: { pageSizeChange: "pageSizeChange", pageNumberChange: "pageNumberChange" }, host: { listeners: { "window:resize": "onResize($event)" }, properties: { "class.width-sufficient": "componentWidth == 'sufficient'", "class.width-tight": "componentWidth == 'tight'", "class.width-restrictive": "componentWidth == 'restrictive'" } }, usesInheritance: true, ngImport: i0, template: "@if ( hasRows ) {\n <nrcl-filter-container class=\"summary\"\n label=\"Showing Rows\"\n >\n <span>{{ firstRow }} to {{ lastRow }} <small>(of {{ rowCount }})</small></span>\n </nrcl-filter-container>\n}\n@else {\n <div class=\"no-rows\">{{ noRowsMessage }}</div>\n}\n\n@if ( hasRows ) {\n <div class=\"pagination\">\n <pagination-controls \n [id]=\"paginationId\" \n [maxSize]=\"paginationMaxSize\"\n [responsive]=\"false\"\n [directionLinks]=\"true\"\n previousLabel=\"\"\n nextLabel=\"\"\n [autoHide]=\"false\"\n (pageChange)=\"onPageNumberChange( $event )\"\n ></pagination-controls>\n </div>\n}\n\n@if ( hasRows && showPageSize ) {\n <nrcl-filter-select class=\"page-size\"\n label=\"Page Size\"\n [value]=\"[ pageSize ]\"\n [options]=\"pageSizeOptions\"\n (valueChange)=\"onPageSizeChange( $event[ 0 ] )\"\n selectMax=\"1\"\n [clear]=\"false\"\n [filter]=\"false\"\n placeholder=\"Select...\"\n ></nrcl-filter-select>\n}\n", styles: [":host{display:flex;align-items:center;font-family:var(--nrcl-font-family);position:relative;min-height:40px}:host .summary{--nrcl-filter-container-width: 180px;position:absolute;top:0;left:0;bottom:0;white-space:nowrap}:host .no-rows{font-size:var(--nrcl-font-size);grid-column:span 2}:host .pagination{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}:host .pagination ::ng-deep .ngx-pagination{text-align:center;padding-inline-start:0;margin:0}:host .pagination ::ng-deep .ngx-pagination li{border-left:#c6c8cb solid 1px;border-top:#c6c8cb solid 1px;border-bottom:#c6c8cb solid 1px;border-right:none;vertical-align:middle;margin:0;height:35px;padding:0}:host .pagination ::ng-deep .ngx-pagination li a{padding:0;line-height:35px;text-decoration:none}:host .pagination ::ng-deep .ngx-pagination li>*>span{padding:0 15px;line-height:35px}:host .pagination ::ng-deep .ngx-pagination li.current{color:#036;font-weight:700;background:#fff;border:2px solid #003366;border-radius:2px}:host .pagination ::ng-deep .ngx-pagination li.disabled span{display:none}:host .pagination ::ng-deep .ngx-pagination li:first-child{border-left:none;border-top:none;border-bottom:none}:host .pagination ::ng-deep .ngx-pagination li:last-child{border-top:none;border-bottom:none}:host .pagination ::ng-deep .ngx-pagination a:hover,:host .pagination ::ng-deep .ngx-pagination button:hover{color:#131313;background-color:#ffd3a0}:host .pagination ::ng-deep .ngx-pagination .pagination-next a:after,:host .pagination ::ng-deep .ngx-pagination .pagination-next a:before,:host .pagination ::ng-deep .ngx-pagination .pagination-next.disabled:after,:host .pagination ::ng-deep .ngx-pagination .pagination-next.disabled:before,:host .pagination ::ng-deep .ngx-pagination .pagination-previous a:after,:host .pagination ::ng-deep .ngx-pagination .pagination-previous a:before,:host .pagination ::ng-deep .ngx-pagination .pagination-previous.disabled:after,:host .pagination ::ng-deep .ngx-pagination .pagination-previous.disabled:before{font-family:Material Symbols Outlined;vertical-align:middle;display:inline;font-size:25px;margin:0;line-height:40px;padding:0 10px}:host .pagination ::ng-deep .ngx-pagination .pagination-previous a:before,:host .pagination ::ng-deep .ngx-pagination .pagination-previous.disabled:before{content:\"arrow_back\"}:host .pagination ::ng-deep .ngx-pagination .pagination-next a:after,:host .pagination ::ng-deep .ngx-pagination .pagination-next.disabled:after{content:\"arrow_forward\"}:host .page-size{--nrcl-filter-select-width: 180px;position:absolute;top:0;right:0;bottom:0;display:flex;gap:8px;align-items:center;pointer-events:auto}:host.width-restrictive{display:grid;grid-template-columns:1fr 1fr;gap:8px}:host.width-restrictive .summary{--nrcl-filter-container-width: auto;position:static;grid-column:1;grid-row:1}:host.width-restrictive .page-size{--nrcl-filter-select-width: auto;position:static;grid-column:2;grid-row:1}:host.width-restrictive .pagination{position:static;grid-column:1/span 2;grid-row:2}\n"], dependencies: [{ kind: "component", type: i1.PaginationControlsComponent, selector: "pagination-controls", inputs: ["id", "maxSize", "directionLinks", "autoHide", "responsive", "previousLabel", "nextLabel", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel"], outputs: ["pageChange", "pageBoundsCorrection"] }, { kind: "component", type: i2.FilterContainerComponent, selector: "nrcl-filter-container", inputs: ["label", "hint", "wide"] }, { kind: "component", type: i3.FilterSelectComponent, selector: "nrcl-filter-select", inputs: ["label", "placeholder", "hint", "options", "value", "selectMax", "tooltips", "summary", "clear", "filter", "filterCharsMin", "optionFormatter", "overlayClass", "wide", "filterCharsMinMessage"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
80
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: RowListPaginationComponent, selector: "nrcl-row-list-pagination", inputs: { paginationId: "paginationId", pageSizeOptions: "pageSizeOptions", pageSize: "pageSize", pageNumber: "pageNumber", rowCount: "rowCount", showPageSize: "showPageSize", noRowsMessage: "noRowsMessage" }, outputs: { pageSizeChange: "pageSizeChange", pageNumberChange: "pageNumberChange" }, host: { listeners: { "window:resize": "onResize($event)" }, properties: { "class.width-sufficient": "componentWidth == 'sufficient'", "class.width-tight": "componentWidth == 'tight'", "class.width-restrictive": "componentWidth == 'restrictive'" } }, usesInheritance: true, ngImport: i0, template: "@if ( hasRows ) {\n <nrcl-filter-container class=\"summary\"\n label=\"Showing Rows\"\n >\n <span>{{ firstRow }} to {{ lastRow }} <small>(of {{ rowCount }})</small></span>\n </nrcl-filter-container>\n}\n@else {\n <div class=\"no-rows\">{{ noRowsMessage }}</div>\n}\n\n@if ( hasRows ) {\n <div class=\"pagination\">\n <pagination-controls \n [id]=\"paginationId\" \n [maxSize]=\"paginationMaxSize\"\n [responsive]=\"false\"\n [directionLinks]=\"true\"\n previousLabel=\"\"\n nextLabel=\"\"\n [autoHide]=\"false\"\n (pageChange)=\"onPageNumberChange( $event )\"\n ></pagination-controls>\n </div>\n}\n\n@if ( hasRows && showPageSize ) {\n <nrcl-filter-select class=\"page-size\"\n label=\"Page Size\"\n [value]=\"[ pageSize ]\"\n [options]=\"pageSizeOptions\"\n (valueChange)=\"onPageSizeChange( $event[ 0 ] )\"\n selectMax=\"1\"\n [clear]=\"false\"\n [filter]=\"false\"\n placeholder=\"Select...\"\n ></nrcl-filter-select>\n}\n", styles: [":host{display:flex;align-items:center;font-family:var(--nrcl-font-family);position:relative;min-height:40px}:host .summary{--nrcl-filter-container-width: 180px;position:absolute;top:0;left:0;bottom:0;white-space:nowrap}:host .no-rows{font-size:var(--nrcl-font-size);grid-column:span 2}:host .pagination{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}:host .pagination ::ng-deep .ngx-pagination{text-align:center;padding-inline-start:0;margin:0}:host .pagination ::ng-deep .ngx-pagination li{border-left:#c6c8cb solid 1px;border-top:#c6c8cb solid 1px;border-bottom:#c6c8cb solid 1px;border-right:none;vertical-align:middle;margin:0;height:35px;padding:0}:host .pagination ::ng-deep .ngx-pagination li a{padding:0;line-height:35px;text-decoration:none}:host .pagination ::ng-deep .ngx-pagination li>*>span{padding:0 15px;line-height:35px}:host .pagination ::ng-deep .ngx-pagination li.current{color:#036;font-weight:700;background:#fff;border:2px solid #003366;border-radius:2px}:host .pagination ::ng-deep .ngx-pagination li.disabled span{display:none}:host .pagination ::ng-deep .ngx-pagination li:first-child{border-left:none;border-top:none;border-bottom:none}:host .pagination ::ng-deep .ngx-pagination li:last-child{border-top:none;border-bottom:none}:host .pagination ::ng-deep .ngx-pagination a:hover,:host .pagination ::ng-deep .ngx-pagination button:hover{color:#131313;background-color:#ffd3a0}:host .pagination ::ng-deep .ngx-pagination .pagination-next a:after,:host .pagination ::ng-deep .ngx-pagination .pagination-next a:before,:host .pagination ::ng-deep .ngx-pagination .pagination-next.disabled:after,:host .pagination ::ng-deep .ngx-pagination .pagination-next.disabled:before,:host .pagination ::ng-deep .ngx-pagination .pagination-previous a:after,:host .pagination ::ng-deep .ngx-pagination .pagination-previous a:before,:host .pagination ::ng-deep .ngx-pagination .pagination-previous.disabled:after,:host .pagination ::ng-deep .ngx-pagination .pagination-previous.disabled:before{font-family:Material Symbols Outlined;vertical-align:middle;display:inline;font-size:25px;margin:0;line-height:40px;padding:0 10px}:host .pagination ::ng-deep .ngx-pagination .pagination-previous a:before,:host .pagination ::ng-deep .ngx-pagination .pagination-previous.disabled:before{content:\"arrow_back\"}:host .pagination ::ng-deep .ngx-pagination .pagination-next a:after,:host .pagination ::ng-deep .ngx-pagination .pagination-next.disabled:after{content:\"arrow_forward\"}:host .page-size{--nrcl-filter-select-width: 180px;position:absolute;top:0;right:0;bottom:0;display:flex;gap:8px;align-items:center;pointer-events:auto}:host.width-restrictive{display:grid;grid-template-columns:1fr 1fr;gap:8px}:host.width-restrictive .summary{--nrcl-filter-container-width: auto;position:static;grid-column:1;grid-row:1}:host.width-restrictive .page-size{--nrcl-filter-select-width: auto;position:static;grid-column:2;grid-row:1}:host.width-restrictive .pagination{position:static;grid-column:1/span 2;grid-row:2}\n"], dependencies: [{ kind: "component", type: i1.PaginationControlsComponent, selector: "pagination-controls", inputs: ["id", "maxSize", "directionLinks", "autoHide", "responsive", "previousLabel", "nextLabel", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel"], outputs: ["pageChange", "pageBoundsCorrection"] }, { kind: "component", type: i2.FilterContainerComponent, selector: "nrcl-filter-container", inputs: ["label", "hint", "wide"] }, { kind: "component", type: i3.FilterSelectComponent, selector: "nrcl-filter-select", inputs: ["label", "placeholder", "hint", "options", "value", "selectMax", "tooltips", "summary", "clear", "filter", "filterCharsMin", "optionFormatter", "optionTemplate", "overlayClass", "wide", "filterCharsMinMessage"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
81
81
  }
82
82
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RowListPaginationComponent, decorators: [{
83
83
  type: Component,
@@ -29,7 +29,7 @@ export class RowListSortingComponent extends NrclBase {
29
29
  });
30
30
  }
31
31
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RowListSortingComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
32
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: RowListSortingComponent, selector: "nrcl-row-list-sorting", inputs: { sortColumn: "sortColumn", sortColumnOptions: "sortColumnOptions", sortDirection: "sortDirection" }, outputs: { sortChange: "sortChange" }, usesInheritance: true, ngImport: i0, template: "<nrcl-filter-select class=\"sort-order\" \n label=\"Sort By\"\n [value]=\"wrapFilterValue( sortColumn )\"\n [options]=\"sortColumnOptions\"\n (valueChange)=\"onSortColumnChange( unwrapFilterValue( $event ) )\"\n selectMax=\"1\" \n></nrcl-filter-select>\n\n<nrcl-filter-container class=\"sort-direction\" \n label=\"Sort Order\"\n>\n <mat-radio-group\n [(ngModel)]=\"sortDirection\" \n (ngModelChange)=\"onSortDirectionChange()\"\n [disabled]=\"!sortColumn\"\n >\n <mat-radio-button aria-label=\"Sort A to Z\" value=\"asc\">A &rarr; Z</mat-radio-button>\n <mat-radio-button aria-label=\"Sort Z to A\" value=\"desc\">Z &rarr; A</mat-radio-button>\n </mat-radio-group>\n</nrcl-filter-container>\n", styles: [":host{gap:8px;width:100%;display:grid;grid-template-columns:1fr 1fr}:host .sort-order{--nrcl-filter-select-width: auto;grid-column:1}:host .sort-direction{--nrcl-filter-container-width: auto;grid-column:2}:host .sort-direction ::ng-deep .content .mat-mdc-radio-group{justify-content:space-evenly;width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i2.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "component", type: i3.FilterContainerComponent, selector: "nrcl-filter-container", inputs: ["label", "hint", "wide"] }, { kind: "component", type: i4.FilterSelectComponent, selector: "nrcl-filter-select", inputs: ["label", "placeholder", "hint", "options", "value", "selectMax", "tooltips", "summary", "clear", "filter", "filterCharsMin", "optionFormatter", "overlayClass", "wide", "filterCharsMinMessage"], outputs: ["valueChange"] }] }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: RowListSortingComponent, selector: "nrcl-row-list-sorting", inputs: { sortColumn: "sortColumn", sortColumnOptions: "sortColumnOptions", sortDirection: "sortDirection" }, outputs: { sortChange: "sortChange" }, usesInheritance: true, ngImport: i0, template: "<nrcl-filter-select class=\"sort-order\" \n label=\"Sort By\"\n [value]=\"wrapFilterValue( sortColumn )\"\n [options]=\"sortColumnOptions\"\n (valueChange)=\"onSortColumnChange( unwrapFilterValue( $event ) )\"\n selectMax=\"1\" \n></nrcl-filter-select>\n\n<nrcl-filter-container class=\"sort-direction\" \n label=\"Sort Order\"\n>\n <mat-radio-group\n [(ngModel)]=\"sortDirection\" \n (ngModelChange)=\"onSortDirectionChange()\"\n [disabled]=\"!sortColumn\"\n >\n <mat-radio-button aria-label=\"Sort A to Z\" value=\"asc\">A &rarr; Z</mat-radio-button>\n <mat-radio-button aria-label=\"Sort Z to A\" value=\"desc\">Z &rarr; A</mat-radio-button>\n </mat-radio-group>\n</nrcl-filter-container>\n", styles: [":host{gap:8px;width:100%;display:grid;grid-template-columns:1fr 1fr}:host .sort-order{--nrcl-filter-select-width: auto;grid-column:1}:host .sort-direction{--nrcl-filter-container-width: auto;grid-column:2}:host .sort-direction ::ng-deep .content .mat-mdc-radio-group{justify-content:space-evenly;width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i2.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "component", type: i3.FilterContainerComponent, selector: "nrcl-filter-container", inputs: ["label", "hint", "wide"] }, { kind: "component", type: i4.FilterSelectComponent, selector: "nrcl-filter-select", inputs: ["label", "placeholder", "hint", "options", "value", "selectMax", "tooltips", "summary", "clear", "filter", "filterCharsMin", "optionFormatter", "optionTemplate", "overlayClass", "wide", "filterCharsMinMessage"], outputs: ["valueChange"] }] }); }
33
33
  }
34
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RowListSortingComponent, decorators: [{
35
35
  type: Component,
@@ -2,7 +2,8 @@ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from
2
2
  import { NrclBase } from "../../directives/nrcl.base";
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/material/chips";
5
- import * as i2 from "../icon/icon.component";
5
+ import * as i2 from "@angular/material/tooltip";
6
+ import * as i3 from "../icon/icon.component";
6
7
  export class TagListComponent extends NrclBase {
7
8
  constructor() {
8
9
  super(...arguments);
@@ -14,11 +15,11 @@ export class TagListComponent extends NrclBase {
14
15
  this.itemRemoved.emit(this.items.find(i => i.id == id));
15
16
  }
16
17
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TagListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TagListComponent, selector: "nrcl-tag-list", inputs: { items: "items", removable: "removable", noItemsMessage: "noItemsMessage" }, outputs: { itemRemoved: "itemRemoved" }, usesInheritance: true, ngImport: i0, template: "@if ( items?.length > 0 ) {\n <mat-chip-set>\n @for ( item of items; track item.id ) {\n <mat-chip\n (removed)=\"onRemoveItem( item.id )\"\n >\n {{ item.description }}\n\n @if ( removable ) {\n <nrcl-icon small matChipRemove>cancel</nrcl-icon>\n }\n </mat-chip>\n }\n </mat-chip-set>\n} \n@else {\n <span>{{ noItemsMessage }}</span>\n}\n", styles: [":host{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size)}:host ::ng-deep .mat-mdc-chip.mat-mdc-standard-chip{border-radius:5px;border:1px solid #c6c8cb;--mdc-chip-focus-state-layer-opacity: 0;--mdc-chip-label-text-weight: 800;--mdc-chip-elevated-container-color: #f2f2f2}\n"], dependencies: [{ kind: "component", type: i1.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: i1.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i1.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "component", type: i2.IconComponent, selector: "nrcl-icon", inputs: ["small", "large"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TagListComponent, selector: "nrcl-tag-list", inputs: { items: "items", removable: "removable", noItemsMessage: "noItemsMessage" }, outputs: { itemRemoved: "itemRemoved" }, usesInheritance: true, ngImport: i0, template: "@if ( items?.length > 0 ) {\n <mat-chip-set>\n @for ( item of items; track item.id ) {\n <mat-chip\n (removed)=\"onRemoveItem( item.id )\"\n [matTooltip]=\"item.tooltip\"\n >\n @if ( item.icon ) {\n <nrcl-icon small matChipAvatar>{{ item.icon }}</nrcl-icon>\n }\n\n {{ item.description }}\n\n @if ( removable ) {\n <nrcl-icon small matChipRemove>cancel</nrcl-icon>\n }\n </mat-chip>\n }\n </mat-chip-set>\n} \n@else {\n <span>{{ noItemsMessage }}</span>\n}\n", styles: [":host{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size)}:host ::ng-deep .mat-mdc-chip.mat-mdc-standard-chip{border-radius:5px;border:1px solid #c6c8cb;--mdc-chip-focus-state-layer-opacity: 0;--mdc-chip-label-text-weight: 800;--mdc-chip-elevated-container-color: #f2f2f2}\n"], dependencies: [{ kind: "component", type: i1.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: i1.MatChipAvatar, selector: "mat-chip-avatar, [matChipAvatar]" }, { kind: "directive", type: i1.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i1.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i3.IconComponent, selector: "nrcl-icon", inputs: ["small", "large"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18
19
  }
19
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TagListComponent, decorators: [{
20
21
  type: Component,
21
- args: [{ selector: "nrcl-tag-list", changeDetection: ChangeDetectionStrategy.OnPush, template: "@if ( items?.length > 0 ) {\n <mat-chip-set>\n @for ( item of items; track item.id ) {\n <mat-chip\n (removed)=\"onRemoveItem( item.id )\"\n >\n {{ item.description }}\n\n @if ( removable ) {\n <nrcl-icon small matChipRemove>cancel</nrcl-icon>\n }\n </mat-chip>\n }\n </mat-chip-set>\n} \n@else {\n <span>{{ noItemsMessage }}</span>\n}\n", styles: [":host{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size)}:host ::ng-deep .mat-mdc-chip.mat-mdc-standard-chip{border-radius:5px;border:1px solid #c6c8cb;--mdc-chip-focus-state-layer-opacity: 0;--mdc-chip-label-text-weight: 800;--mdc-chip-elevated-container-color: #f2f2f2}\n"] }]
22
+ args: [{ selector: "nrcl-tag-list", changeDetection: ChangeDetectionStrategy.OnPush, template: "@if ( items?.length > 0 ) {\n <mat-chip-set>\n @for ( item of items; track item.id ) {\n <mat-chip\n (removed)=\"onRemoveItem( item.id )\"\n [matTooltip]=\"item.tooltip\"\n >\n @if ( item.icon ) {\n <nrcl-icon small matChipAvatar>{{ item.icon }}</nrcl-icon>\n }\n\n {{ item.description }}\n\n @if ( removable ) {\n <nrcl-icon small matChipRemove>cancel</nrcl-icon>\n }\n </mat-chip>\n }\n </mat-chip-set>\n} \n@else {\n <span>{{ noItemsMessage }}</span>\n}\n", styles: [":host{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size)}:host ::ng-deep .mat-mdc-chip.mat-mdc-standard-chip{border-radius:5px;border:1px solid #c6c8cb;--mdc-chip-focus-state-layer-opacity: 0;--mdc-chip-label-text-weight: 800;--mdc-chip-elevated-container-color: #f2f2f2}\n"] }]
22
23
  }], propDecorators: { items: [{
23
24
  type: Input
24
25
  }], removable: [{
@@ -28,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
28
29
  }], itemRemoved: [{
29
30
  type: Output
30
31
  }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvdGFnLWxpc3QvdGFnLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvdGFnLWxpc3QvdGFnLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBY3RELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxRQUFRO0lBTjlDOztRQVFhLGNBQVMsR0FBRyxJQUFJLENBQUE7UUFDaEIsbUJBQWMsR0FBRywyQkFBMkIsQ0FBQTtRQUUzQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUE7S0FLdEQ7SUFIRyxZQUFZLENBQUUsRUFBRTtRQUNaLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUUsQ0FBRSxDQUFBO0lBQy9ELENBQUM7K0dBVFEsZ0JBQWdCO21HQUFoQixnQkFBZ0IsMk1DckI3QiwwZEFrQkE7OzRGREdhLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDSSxlQUFlLG1CQUdSLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE5yY2xCYXNlIH0gZnJvbSBcIi4uLy4uL2RpcmVjdGl2ZXMvbnJjbC5iYXNlXCI7XG5cbmV4cG9ydCB0eXBlIFRhZ0l0ZW0gPSB7XG4gICAgaWQ6IHN0cmluZ1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmdcbiAgICB0b29sdGlwOiBzdHJpbmdcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwibnJjbC10YWctbGlzdFwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vdGFnLWxpc3QuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybDogXCIuL3RhZy1saXN0LmNvbXBvbmVudC5zY3NzXCIsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVGFnTGlzdENvbXBvbmVudCBleHRlbmRzIE5yY2xCYXNlIHtcbiAgICBASW5wdXQoKSBpdGVtczogVGFnSXRlbVtdXG4gICAgQElucHV0KCkgcmVtb3ZhYmxlID0gdHJ1ZVxuICAgIEBJbnB1dCgpIG5vSXRlbXNNZXNzYWdlID0gJ05vIGl0ZW1zIGhhdmUgYmVlbiBhZGRlZC4nXG5cbiAgICBAT3V0cHV0KCkgaXRlbVJlbW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFRhZ0l0ZW0+KClcbiAgICBcbiAgICBvblJlbW92ZUl0ZW0oIGlkICkge1xuICAgICAgICB0aGlzLml0ZW1SZW1vdmVkLmVtaXQoIHRoaXMuaXRlbXMuZmluZCggaSA9PiBpLmlkID09IGlkICkgKVxuICAgIH1cbn1cbiIsIkBpZiAoIGl0ZW1zPy5sZW5ndGggPiAwICkge1xuICAgIDxtYXQtY2hpcC1zZXQ+XG4gICAgICAgIEBmb3IgKCBpdGVtIG9mIGl0ZW1zOyB0cmFjayBpdGVtLmlkICkge1xuICAgICAgICAgICAgPG1hdC1jaGlwXG4gICAgICAgICAgICAgICAgKHJlbW92ZWQpPVwib25SZW1vdmVJdGVtKCBpdGVtLmlkIClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0uZGVzY3JpcHRpb24gfX1cblxuICAgICAgICAgICAgICAgIEBpZiAoIHJlbW92YWJsZSApIHtcbiAgICAgICAgICAgICAgICAgICAgPG5yY2wtaWNvbiBzbWFsbCBtYXRDaGlwUmVtb3ZlPmNhbmNlbDwvbnJjbC1pY29uPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgIH1cbiAgICA8L21hdC1jaGlwLXNldD5cbn0gXG5AZWxzZSB7XG4gICAgPHNwYW4+e3sgbm9JdGVtc01lc3NhZ2UgfX08L3NwYW4+XG59XG4iXX0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvdGFnLWxpc3QvdGFnLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvdGFnLWxpc3QvdGFnLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7OztBQWV0RCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsUUFBUTtJQU45Qzs7UUFRYSxjQUFTLEdBQUcsSUFBSSxDQUFBO1FBQ2hCLG1CQUFjLEdBQUcsMkJBQTJCLENBQUE7UUFFM0MsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFBO0tBS3REO0lBSEcsWUFBWSxDQUFFLEVBQUU7UUFDWixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFFLENBQUUsQ0FBQTtJQUMvRCxDQUFDOytHQVRRLGdCQUFnQjttR0FBaEIsZ0JBQWdCLDJNQ3RCN0IsbXBCQXVCQTs7NEZERGEsZ0JBQWdCO2tCQU41QixTQUFTOytCQUNJLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTnJjbEJhc2UgfSBmcm9tIFwiLi4vLi4vZGlyZWN0aXZlcy9ucmNsLmJhc2VcIjtcblxuZXhwb3J0IHR5cGUgVGFnSXRlbSA9IHtcbiAgICBpZDogc3RyaW5nXG4gICAgZGVzY3JpcHRpb246IHN0cmluZ1xuICAgIHRvb2x0aXA6IHN0cmluZ1xuICAgIGljb246IHN0cmluZ1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJucmNsLXRhZy1saXN0XCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi90YWctbGlzdC5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsOiBcIi4vdGFnLWxpc3QuY29tcG9uZW50LnNjc3NcIixcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUYWdMaXN0Q29tcG9uZW50IGV4dGVuZHMgTnJjbEJhc2Uge1xuICAgIEBJbnB1dCgpIGl0ZW1zOiBUYWdJdGVtW11cbiAgICBASW5wdXQoKSByZW1vdmFibGUgPSB0cnVlXG4gICAgQElucHV0KCkgbm9JdGVtc01lc3NhZ2UgPSAnTm8gaXRlbXMgaGF2ZSBiZWVuIGFkZGVkLidcblxuICAgIEBPdXRwdXQoKSBpdGVtUmVtb3ZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VGFnSXRlbT4oKVxuICAgIFxuICAgIG9uUmVtb3ZlSXRlbSggaWQgKSB7XG4gICAgICAgIHRoaXMuaXRlbVJlbW92ZWQuZW1pdCggdGhpcy5pdGVtcy5maW5kKCBpID0+IGkuaWQgPT0gaWQgKSApXG4gICAgfVxufVxuIiwiQGlmICggaXRlbXM/Lmxlbmd0aCA+IDAgKSB7XG4gICAgPG1hdC1jaGlwLXNldD5cbiAgICAgICAgQGZvciAoIGl0ZW0gb2YgaXRlbXM7IHRyYWNrIGl0ZW0uaWQgKSB7XG4gICAgICAgICAgICA8bWF0LWNoaXBcbiAgICAgICAgICAgICAgICAocmVtb3ZlZCk9XCJvblJlbW92ZUl0ZW0oIGl0ZW0uaWQgKVwiXG4gICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiaXRlbS50b29sdGlwXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBAaWYgKCBpdGVtLmljb24gKSB7XG4gICAgICAgICAgICAgICAgICAgIDxucmNsLWljb24gc21hbGwgbWF0Q2hpcEF2YXRhcj57eyBpdGVtLmljb24gfX08L25yY2wtaWNvbj5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB7eyBpdGVtLmRlc2NyaXB0aW9uIH19XG5cbiAgICAgICAgICAgICAgICBAaWYgKCByZW1vdmFibGUgKSB7XG4gICAgICAgICAgICAgICAgICAgIDxucmNsLWljb24gc21hbGwgbWF0Q2hpcFJlbW92ZT5jYW5jZWw8L25yY2wtaWNvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICB9XG4gICAgPC9tYXQtY2hpcC1zZXQ+XG59IFxuQGVsc2Uge1xuICAgIDxzcGFuPnt7IG5vSXRlbXNNZXNzYWdlIH19PC9zcGFuPlxufVxuIl19
@@ -15,20 +15,20 @@ export class SnackbarUtilService {
15
15
  }
16
16
  });
17
17
  }
18
- successfullySaved(message, duration = 5000) {
19
- this.successful(`${message} saved successfully.`, duration);
18
+ successfullySaved(item, duration = 5000) {
19
+ this.successful(`${item} saved successfully.`, duration);
20
20
  }
21
- successfullyDeleted(message, duration = 5000) {
22
- this.successful(`${message} deleted successfully.`, duration);
21
+ successfullyDeleted(item, duration = 5000) {
22
+ this.successful(`${item} deleted successfully.`, duration);
23
23
  }
24
- successfullyRemoved(message, duration = 5000) {
25
- this.successful(`${message} removed successfully.`, duration);
24
+ successfullyRemoved(item, duration = 5000) {
25
+ this.successful(`${item} removed successfully.`, duration);
26
26
  }
27
- successfullyCreated(message, duration = 5000) {
28
- this.successful(`${message} created successfully.`, duration);
27
+ successfullyCreated(item, duration = 5000) {
28
+ this.successful(`${item} created successfully.`, duration);
29
29
  }
30
- successfullyAdded(message, duration = 5000) {
31
- this.successful(`${message} added successfully.`, duration);
30
+ successfullyAdded(item, duration = 5000) {
31
+ this.successful(`${item} added successfully.`, duration);
32
32
  }
33
33
  information(message, duration = null) {
34
34
  this.snackbar.openFromComponent(SnackbarComponent, {
@@ -66,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
66
66
  providedIn: 'root'
67
67
  }]
68
68
  }] });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXItdXRpbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL3NlcnZpY2VzL3NuYWNrYmFyLXV0aWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFrQixNQUFNLDJDQUEyQyxDQUFDOztBQUs5RixNQUFNLE9BQU8sbUJBQW1CO0lBSGhDO1FBSUksYUFBUSxHQUFHLE1BQU0sQ0FBRSxXQUFXLENBQUUsQ0FBQTtLQXlFbkM7SUF2RUcsVUFBVSxDQUFFLE9BQWUsRUFBRSxRQUFRLEdBQUcsSUFBSTtRQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUMzQixpQkFBaUIsRUFDakI7WUFDSSxRQUFRLEVBQUUsUUFBUTtZQUNsQixJQUFJLEVBQUU7Z0JBQ0YsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLE9BQU87YUFDbkI7U0FDSixDQUNKLENBQUE7SUFDTCxDQUFDO0lBRUQsaUJBQWlCLENBQUUsT0FBZSxFQUFFLFFBQVEsR0FBRyxJQUFJO1FBQy9DLElBQUksQ0FBQyxVQUFVLENBQUUsR0FBSSxPQUFRLHNCQUFzQixFQUFFLFFBQVEsQ0FBRSxDQUFBO0lBQ25FLENBQUM7SUFFRCxtQkFBbUIsQ0FBRSxPQUFlLEVBQUUsUUFBUSxHQUFHLElBQUk7UUFDakQsSUFBSSxDQUFDLFVBQVUsQ0FBRSxHQUFJLE9BQVEsd0JBQXdCLEVBQUUsUUFBUSxDQUFFLENBQUE7SUFDckUsQ0FBQztJQUVELG1CQUFtQixDQUFFLE9BQWUsRUFBRSxRQUFRLEdBQUcsSUFBSTtRQUNqRCxJQUFJLENBQUMsVUFBVSxDQUFFLEdBQUksT0FBUSx3QkFBd0IsRUFBRSxRQUFRLENBQUUsQ0FBQTtJQUNyRSxDQUFDO0lBRUQsbUJBQW1CLENBQUUsT0FBZSxFQUFFLFFBQVEsR0FBRyxJQUFJO1FBQ2pELElBQUksQ0FBQyxVQUFVLENBQUUsR0FBSSxPQUFRLHdCQUF3QixFQUFFLFFBQVEsQ0FBRSxDQUFBO0lBQ3JFLENBQUM7SUFFRCxpQkFBaUIsQ0FBRSxPQUFlLEVBQUUsUUFBUSxHQUFHLElBQUk7UUFDL0MsSUFBSSxDQUFDLFVBQVUsQ0FBRSxHQUFJLE9BQVEsc0JBQXNCLEVBQUUsUUFBUSxDQUFFLENBQUE7SUFDbkUsQ0FBQztJQUVELFdBQVcsQ0FBRSxPQUFlLEVBQUUsUUFBUSxHQUFHLElBQUk7UUFDekMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FDM0IsaUJBQWlCLEVBQ2pCO1lBQ0ksUUFBUSxFQUFFLFFBQVE7WUFDbEIsSUFBSSxFQUFFO2dCQUNGLElBQUksRUFBRSxNQUFNO2dCQUNaLE9BQU8sRUFBRSxPQUFPO2FBQ25CO1NBQ0osQ0FDSixDQUFBO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBRSxPQUFlLEVBQUUsUUFBUSxHQUFHLElBQUk7UUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FDM0IsaUJBQWlCLEVBQ2pCO1lBQ0ksUUFBUSxFQUFFLFFBQVE7WUFDbEIsSUFBSSxFQUFFO2dCQUNGLElBQUksRUFBRSxPQUFPO2dCQUNiLE9BQU8sRUFBRSxPQUFPO2FBQ25CO1NBQ0osQ0FDSixDQUFBO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FBRSxPQUFlLEVBQUUsUUFBUSxHQUFHLElBQUk7UUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FDM0IsaUJBQWlCLEVBQ2pCO1lBQ0ksUUFBUSxFQUFFLFFBQVE7WUFDbEIsSUFBSSxFQUFFO2dCQUNGLElBQUksRUFBRSxRQUFRO2dCQUNkLE9BQU8sRUFBRSxPQUFPO2FBQ25CO1NBQ0osQ0FDSixDQUFBO0lBQ0wsQ0FBQzsrR0F6RVEsbUJBQW1CO21IQUFuQixtQkFBbUIsY0FGaEIsTUFBTTs7NEZBRVQsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXJcIjtcbmltcG9ydCB7IFNuYWNrYmFyQ29tcG9uZW50LCBTbmFja2JhckNvbmZpZyB9IGZyb20gXCIuLi9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrYmFyLmNvbXBvbmVudFwiO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNuYWNrYmFyVXRpbFNlcnZpY2Uge1xuICAgIHNuYWNrYmFyID0gaW5qZWN0KCBNYXRTbmFja0JhciApXG5cbiAgICBzdWNjZXNzZnVsKCBtZXNzYWdlOiBzdHJpbmcsIGR1cmF0aW9uID0gNTAwMCApIHtcbiAgICAgICAgdGhpcy5zbmFja2Jhci5vcGVuRnJvbUNvbXBvbmVudDxTbmFja2JhckNvbXBvbmVudCxTbmFja2JhckNvbmZpZz4oXG4gICAgICAgICAgICBTbmFja2JhckNvbXBvbmVudCwgXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZHVyYXRpb246IGR1cmF0aW9uLFxuICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBtZXNzYWdlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICApXG4gICAgfVxuXG4gICAgc3VjY2Vzc2Z1bGx5U2F2ZWQoIG1lc3NhZ2U6IHN0cmluZywgZHVyYXRpb24gPSA1MDAwICkge1xuICAgICAgICB0aGlzLnN1Y2Nlc3NmdWwoIGAkeyBtZXNzYWdlIH0gc2F2ZWQgc3VjY2Vzc2Z1bGx5LmAsIGR1cmF0aW9uIClcbiAgICB9XG5cbiAgICBzdWNjZXNzZnVsbHlEZWxldGVkKCBtZXNzYWdlOiBzdHJpbmcsIGR1cmF0aW9uID0gNTAwMCApIHtcbiAgICAgICAgdGhpcy5zdWNjZXNzZnVsKCBgJHsgbWVzc2FnZSB9IGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5LmAsIGR1cmF0aW9uIClcbiAgICB9XG5cbiAgICBzdWNjZXNzZnVsbHlSZW1vdmVkKCBtZXNzYWdlOiBzdHJpbmcsIGR1cmF0aW9uID0gNTAwMCApIHtcbiAgICAgICAgdGhpcy5zdWNjZXNzZnVsKCBgJHsgbWVzc2FnZSB9IHJlbW92ZWQgc3VjY2Vzc2Z1bGx5LmAsIGR1cmF0aW9uIClcbiAgICB9XG5cbiAgICBzdWNjZXNzZnVsbHlDcmVhdGVkKCBtZXNzYWdlOiBzdHJpbmcsIGR1cmF0aW9uID0gNTAwMCApIHtcbiAgICAgICAgdGhpcy5zdWNjZXNzZnVsKCBgJHsgbWVzc2FnZSB9IGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5LmAsIGR1cmF0aW9uIClcbiAgICB9XG5cbiAgICBzdWNjZXNzZnVsbHlBZGRlZCggbWVzc2FnZTogc3RyaW5nLCBkdXJhdGlvbiA9IDUwMDAgKSB7XG4gICAgICAgIHRoaXMuc3VjY2Vzc2Z1bCggYCR7IG1lc3NhZ2UgfSBhZGRlZCBzdWNjZXNzZnVsbHkuYCwgZHVyYXRpb24gKVxuICAgIH1cblxuICAgIGluZm9ybWF0aW9uKCBtZXNzYWdlOiBzdHJpbmcsIGR1cmF0aW9uID0gbnVsbCApIHtcbiAgICAgICAgdGhpcy5zbmFja2Jhci5vcGVuRnJvbUNvbXBvbmVudDxTbmFja2JhckNvbXBvbmVudCxTbmFja2JhckNvbmZpZz4oXG4gICAgICAgICAgICBTbmFja2JhckNvbXBvbmVudCwgXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZHVyYXRpb246IGR1cmF0aW9uLFxuICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2luZm8nLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBtZXNzYWdlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICApXG4gICAgfVxuXG4gICAgZXJyb3IoIG1lc3NhZ2U6IHN0cmluZywgZHVyYXRpb24gPSBudWxsICkge1xuICAgICAgICB0aGlzLnNuYWNrYmFyLm9wZW5Gcm9tQ29tcG9uZW50PFNuYWNrYmFyQ29tcG9uZW50LFNuYWNrYmFyQ29uZmlnPihcbiAgICAgICAgICAgIFNuYWNrYmFyQ29tcG9uZW50LCBcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBkdXJhdGlvbjogZHVyYXRpb24sXG4gICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnZXJyb3InLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBtZXNzYWdlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICApXG4gICAgfVxuXG4gICAgdXBkYXRlZCggbWVzc2FnZTogc3RyaW5nLCBkdXJhdGlvbiA9IG51bGwgKSB7XG4gICAgICAgIHRoaXMuc25hY2tiYXIub3BlbkZyb21Db21wb25lbnQ8U25hY2tiYXJDb21wb25lbnQsU25hY2tiYXJDb25maWc+KFxuICAgICAgICAgICAgU25hY2tiYXJDb21wb25lbnQsIFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGR1cmF0aW9uOiBkdXJhdGlvbixcbiAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICd1cGRhdGUnLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBtZXNzYWdlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICApXG4gICAgfVxufVxuIl19
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXItdXRpbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL3NlcnZpY2VzL3NuYWNrYmFyLXV0aWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFrQixNQUFNLDJDQUEyQyxDQUFDOztBQUs5RixNQUFNLE9BQU8sbUJBQW1CO0lBSGhDO1FBSUksYUFBUSxHQUFHLE1BQU0sQ0FBRSxXQUFXLENBQUUsQ0FBQTtLQXlFbkM7SUF2RUcsVUFBVSxDQUFFLE9BQWUsRUFBRSxRQUFRLEdBQUcsSUFBSTtRQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUMzQixpQkFBaUIsRUFDakI7WUFDSSxRQUFRLEVBQUUsUUFBUTtZQUNsQixJQUFJLEVBQUU7Z0JBQ0YsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLE9BQU87YUFDbkI7U0FDSixDQUNKLENBQUE7SUFDTCxDQUFDO0lBRUQsaUJBQWlCLENBQUUsSUFBWSxFQUFFLFFBQVEsR0FBRyxJQUFJO1FBQzVDLElBQUksQ0FBQyxVQUFVLENBQUUsR0FBSSxJQUFLLHNCQUFzQixFQUFFLFFBQVEsQ0FBRSxDQUFBO0lBQ2hFLENBQUM7SUFFRCxtQkFBbUIsQ0FBRSxJQUFZLEVBQUUsUUFBUSxHQUFHLElBQUk7UUFDOUMsSUFBSSxDQUFDLFVBQVUsQ0FBRSxHQUFJLElBQUssd0JBQXdCLEVBQUUsUUFBUSxDQUFFLENBQUE7SUFDbEUsQ0FBQztJQUVELG1CQUFtQixDQUFFLElBQVksRUFBRSxRQUFRLEdBQUcsSUFBSTtRQUM5QyxJQUFJLENBQUMsVUFBVSxDQUFFLEdBQUksSUFBSyx3QkFBd0IsRUFBRSxRQUFRLENBQUUsQ0FBQTtJQUNsRSxDQUFDO0lBRUQsbUJBQW1CLENBQUUsSUFBWSxFQUFFLFFBQVEsR0FBRyxJQUFJO1FBQzlDLElBQUksQ0FBQyxVQUFVLENBQUUsR0FBSSxJQUFLLHdCQUF3QixFQUFFLFFBQVEsQ0FBRSxDQUFBO0lBQ2xFLENBQUM7SUFFRCxpQkFBaUIsQ0FBRSxJQUFZLEVBQUUsUUFBUSxHQUFHLElBQUk7UUFDNUMsSUFBSSxDQUFDLFVBQVUsQ0FBRSxHQUFJLElBQUssc0JBQXNCLEVBQUUsUUFBUSxDQUFFLENBQUE7SUFDaEUsQ0FBQztJQUVELFdBQVcsQ0FBRSxPQUFlLEVBQUUsUUFBUSxHQUFHLElBQUk7UUFDekMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FDM0IsaUJBQWlCLEVBQ2pCO1lBQ0ksUUFBUSxFQUFFLFFBQVE7WUFDbEIsSUFBSSxFQUFFO2dCQUNGLElBQUksRUFBRSxNQUFNO2dCQUNaLE9BQU8sRUFBRSxPQUFPO2FBQ25CO1NBQ0osQ0FDSixDQUFBO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBRSxPQUFlLEVBQUUsUUFBUSxHQUFHLElBQUk7UUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FDM0IsaUJBQWlCLEVBQ2pCO1lBQ0ksUUFBUSxFQUFFLFFBQVE7WUFDbEIsSUFBSSxFQUFFO2dCQUNGLElBQUksRUFBRSxPQUFPO2dCQUNiLE9BQU8sRUFBRSxPQUFPO2FBQ25CO1NBQ0osQ0FDSixDQUFBO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FBRSxPQUFlLEVBQUUsUUFBUSxHQUFHLElBQUk7UUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FDM0IsaUJBQWlCLEVBQ2pCO1lBQ0ksUUFBUSxFQUFFLFFBQVE7WUFDbEIsSUFBSSxFQUFFO2dCQUNGLElBQUksRUFBRSxRQUFRO2dCQUNkLE9BQU8sRUFBRSxPQUFPO2FBQ25CO1NBQ0osQ0FDSixDQUFBO0lBQ0wsQ0FBQzsrR0F6RVEsbUJBQW1CO21IQUFuQixtQkFBbUIsY0FGaEIsTUFBTTs7NEZBRVQsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXJcIjtcbmltcG9ydCB7IFNuYWNrYmFyQ29tcG9uZW50LCBTbmFja2JhckNvbmZpZyB9IGZyb20gXCIuLi9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrYmFyLmNvbXBvbmVudFwiO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNuYWNrYmFyVXRpbFNlcnZpY2Uge1xuICAgIHNuYWNrYmFyID0gaW5qZWN0KCBNYXRTbmFja0JhciApXG5cbiAgICBzdWNjZXNzZnVsKCBtZXNzYWdlOiBzdHJpbmcsIGR1cmF0aW9uID0gNTAwMCApIHtcbiAgICAgICAgdGhpcy5zbmFja2Jhci5vcGVuRnJvbUNvbXBvbmVudDxTbmFja2JhckNvbXBvbmVudCxTbmFja2JhckNvbmZpZz4oXG4gICAgICAgICAgICBTbmFja2JhckNvbXBvbmVudCwgXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZHVyYXRpb246IGR1cmF0aW9uLFxuICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBtZXNzYWdlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICApXG4gICAgfVxuXG4gICAgc3VjY2Vzc2Z1bGx5U2F2ZWQoIGl0ZW06IHN0cmluZywgZHVyYXRpb24gPSA1MDAwICkge1xuICAgICAgICB0aGlzLnN1Y2Nlc3NmdWwoIGAkeyBpdGVtIH0gc2F2ZWQgc3VjY2Vzc2Z1bGx5LmAsIGR1cmF0aW9uIClcbiAgICB9XG5cbiAgICBzdWNjZXNzZnVsbHlEZWxldGVkKCBpdGVtOiBzdHJpbmcsIGR1cmF0aW9uID0gNTAwMCApIHtcbiAgICAgICAgdGhpcy5zdWNjZXNzZnVsKCBgJHsgaXRlbSB9IGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5LmAsIGR1cmF0aW9uIClcbiAgICB9XG5cbiAgICBzdWNjZXNzZnVsbHlSZW1vdmVkKCBpdGVtOiBzdHJpbmcsIGR1cmF0aW9uID0gNTAwMCApIHtcbiAgICAgICAgdGhpcy5zdWNjZXNzZnVsKCBgJHsgaXRlbSB9IHJlbW92ZWQgc3VjY2Vzc2Z1bGx5LmAsIGR1cmF0aW9uIClcbiAgICB9XG5cbiAgICBzdWNjZXNzZnVsbHlDcmVhdGVkKCBpdGVtOiBzdHJpbmcsIGR1cmF0aW9uID0gNTAwMCApIHtcbiAgICAgICAgdGhpcy5zdWNjZXNzZnVsKCBgJHsgaXRlbSB9IGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5LmAsIGR1cmF0aW9uIClcbiAgICB9XG5cbiAgICBzdWNjZXNzZnVsbHlBZGRlZCggaXRlbTogc3RyaW5nLCBkdXJhdGlvbiA9IDUwMDAgKSB7XG4gICAgICAgIHRoaXMuc3VjY2Vzc2Z1bCggYCR7IGl0ZW0gfSBhZGRlZCBzdWNjZXNzZnVsbHkuYCwgZHVyYXRpb24gKVxuICAgIH1cblxuICAgIGluZm9ybWF0aW9uKCBtZXNzYWdlOiBzdHJpbmcsIGR1cmF0aW9uID0gbnVsbCApIHtcbiAgICAgICAgdGhpcy5zbmFja2Jhci5vcGVuRnJvbUNvbXBvbmVudDxTbmFja2JhckNvbXBvbmVudCxTbmFja2JhckNvbmZpZz4oXG4gICAgICAgICAgICBTbmFja2JhckNvbXBvbmVudCwgXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZHVyYXRpb246IGR1cmF0aW9uLFxuICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2luZm8nLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBtZXNzYWdlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICApXG4gICAgfVxuXG4gICAgZXJyb3IoIG1lc3NhZ2U6IHN0cmluZywgZHVyYXRpb24gPSBudWxsICkge1xuICAgICAgICB0aGlzLnNuYWNrYmFyLm9wZW5Gcm9tQ29tcG9uZW50PFNuYWNrYmFyQ29tcG9uZW50LFNuYWNrYmFyQ29uZmlnPihcbiAgICAgICAgICAgIFNuYWNrYmFyQ29tcG9uZW50LCBcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBkdXJhdGlvbjogZHVyYXRpb24sXG4gICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnZXJyb3InLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBtZXNzYWdlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICApXG4gICAgfVxuXG4gICAgdXBkYXRlZCggbWVzc2FnZTogc3RyaW5nLCBkdXJhdGlvbiA9IG51bGwgKSB7XG4gICAgICAgIHRoaXMuc25hY2tiYXIub3BlbkZyb21Db21wb25lbnQ8U25hY2tiYXJDb21wb25lbnQsU25hY2tiYXJDb25maWc+KFxuICAgICAgICAgICAgU25hY2tiYXJDb21wb25lbnQsIFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGR1cmF0aW9uOiBkdXJhdGlvbixcbiAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICd1cGRhdGUnLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBtZXNzYWdlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICApXG4gICAgfVxufVxuIl19