ngx-st-tables 18.0.16 → 18.0.18

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.
@@ -111,6 +111,12 @@
111
111
 
112
112
  td {
113
113
  border-bottom-width: 0;
114
+
115
+ & > div {
116
+ max-height: 300px;
117
+ overflow: hidden;
118
+ overflow-y: auto;
119
+ }
114
120
  }
115
121
  }
116
122
 
@@ -130,14 +136,6 @@
130
136
  }
131
137
  }
132
138
 
133
- td {
134
- & > div {
135
- max-height: 300px;
136
- overflow: hidden;
137
- overflow-y: auto;
138
- }
139
- }
140
-
141
139
  &:last-child td {
142
140
  border-bottom-color: var(
143
141
  --mat-table-row-item-outline-color,
@@ -11,22 +11,22 @@ export class MaterialTableSelectedRowsComponent {
11
11
  this.stTableTranslations = stTableTranslations;
12
12
  this.allowSelectRow = input.required();
13
13
  this.selectRowOnlyOne = input.required();
14
- this.selection = input.required();
14
+ this.selectedRows = input.required();
15
15
  this.selectionFieldLabel = input.required();
16
16
  this.selectRowValueDisplay = input();
17
17
  this.removeSelectedRow = output();
18
18
  }
19
19
  onRemoveSelectedRow(event, row) {
20
- if (!this.selectRowOnlyOne() && this.selection().selected.length > 1) {
20
+ if (!this.selectRowOnlyOne() && this.selectedRows().length > 1) {
21
21
  event.stopPropagation();
22
22
  }
23
23
  this.removeSelectedRow.emit(row);
24
24
  }
25
25
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MaterialTableSelectedRowsComponent, deps: [{ token: i1.StTablesTranslationsService }], target: i0.ɵɵFactoryTarget.Component }); }
26
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: MaterialTableSelectedRowsComponent, selector: "st-material-table-selected-rows", inputs: { allowSelectRow: { classPropertyName: "allowSelectRow", publicName: "allowSelectRow", isSignal: true, isRequired: true, transformFunction: null }, selectRowOnlyOne: { classPropertyName: "selectRowOnlyOne", publicName: "selectRowOnlyOne", isSignal: true, isRequired: true, transformFunction: null }, selection: { classPropertyName: "selection", publicName: "selection", isSignal: true, isRequired: true, transformFunction: null }, selectionFieldLabel: { classPropertyName: "selectionFieldLabel", publicName: "selectionFieldLabel", isSignal: true, isRequired: true, transformFunction: null }, selectRowValueDisplay: { classPropertyName: "selectRowValueDisplay", publicName: "selectRowValueDisplay", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { removeSelectedRow: "removeSelectedRow" }, ngImport: i0, template: "@if (allowSelectRow()) {\r\n <div class=\"st-material-table-selected-rows\">\r\n @if (!selectRowOnlyOne()) {\r\n <button type=\"button\" mat-stroked-button [matMenuTriggerFor]=\"menu\">\r\n {{ selection().selected.length }}\r\n {{ stTableTranslations.getTranslations()().rowSelected }}\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n @for (row of selection().selected; track row.id) {\r\n <button\r\n type=\"button\"\r\n mat-menu-item\r\n [disabled]=\"selection().selected.length <= 0\"\r\n (click)=\"onRemoveSelectedRow($event, row)\"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"selectedFieldLabel\"\r\n [ngTemplateOutletContext]=\"{ $implicit: row }\"\r\n />\r\n <mat-icon class=\"delete-icon\">delete</mat-icon>\r\n </button>\r\n }\r\n </mat-menu>\r\n } @else {\r\n @if (selection().hasValue()) {\r\n <mat-chip>\r\n <ng-container\r\n [ngTemplateOutlet]=\"selectedFieldLabel\"\r\n [ngTemplateOutletContext]=\"{ $implicit: selection().selected[0] }\"\r\n />\r\n <button\r\n matChipRemove\r\n type=\"button\"\r\n aria-label=\"Remove selected item\"\r\n (click)=\"onRemoveSelectedRow($event, selection().selected[0])\"\r\n >\r\n <mat-icon>cancel</mat-icon>\r\n </button>\r\n </mat-chip>\r\n }\r\n }\r\n </div>\r\n}\r\n\r\n<ng-template #selectedFieldLabel let-row>\r\n @if (selectRowValueDisplay()) {\r\n {{ selectRowValueDisplay()!(row) }}\r\n } @else {\r\n {{ row[selectionFieldLabel()] }}\r\n }\r\n</ng-template>\r\n", styles: [".st-material-table-selected-rows{position:absolute;bottom:12px;left:5px}.st-material-table-selected-rows .delete-icon{margin-right:0;margin-left:10px}\n"], dependencies: [{ kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i6.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: i6.MatChipRemove, selector: "[matChipRemove]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
26
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: MaterialTableSelectedRowsComponent, selector: "st-material-table-selected-rows", inputs: { allowSelectRow: { classPropertyName: "allowSelectRow", publicName: "allowSelectRow", isSignal: true, isRequired: true, transformFunction: null }, selectRowOnlyOne: { classPropertyName: "selectRowOnlyOne", publicName: "selectRowOnlyOne", isSignal: true, isRequired: true, transformFunction: null }, selectedRows: { classPropertyName: "selectedRows", publicName: "selectedRows", isSignal: true, isRequired: true, transformFunction: null }, selectionFieldLabel: { classPropertyName: "selectionFieldLabel", publicName: "selectionFieldLabel", isSignal: true, isRequired: true, transformFunction: null }, selectRowValueDisplay: { classPropertyName: "selectRowValueDisplay", publicName: "selectRowValueDisplay", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { removeSelectedRow: "removeSelectedRow" }, ngImport: i0, template: "@if (allowSelectRow()) {\r\n <div class=\"st-material-table-selected-rows\">\r\n @if (!selectRowOnlyOne()) {\r\n <button type=\"button\" mat-stroked-button [matMenuTriggerFor]=\"menu\">\r\n {{ selectedRows().length }}\r\n {{ stTableTranslations.getTranslations()().rowSelected }}\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n @for (row of selectedRows(); track row.id) {\r\n <button\r\n type=\"button\"\r\n mat-menu-item\r\n [disabled]=\"selectedRows().length <= 0\"\r\n (click)=\"onRemoveSelectedRow($event, row)\"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"selectedFieldLabel\"\r\n [ngTemplateOutletContext]=\"{ $implicit: row }\"\r\n />\r\n <mat-icon class=\"delete-icon\">delete</mat-icon>\r\n </button>\r\n }\r\n </mat-menu>\r\n } @else {\r\n @if (selectedRows().length > 0) {\r\n <mat-chip>\r\n <ng-container\r\n [ngTemplateOutlet]=\"selectedFieldLabel\"\r\n [ngTemplateOutletContext]=\"{ $implicit: selectedRows()[0] }\"\r\n />\r\n <button\r\n matChipRemove\r\n type=\"button\"\r\n aria-label=\"Remove selected item\"\r\n (click)=\"onRemoveSelectedRow($event, selectedRows()[0])\"\r\n >\r\n <mat-icon>cancel</mat-icon>\r\n </button>\r\n </mat-chip>\r\n }\r\n }\r\n </div>\r\n}\r\n\r\n<ng-template #selectedFieldLabel let-row>\r\n @if (selectRowValueDisplay()) {\r\n {{ selectRowValueDisplay()!(row) }}\r\n } @else {\r\n {{ row[selectionFieldLabel()] }}\r\n }\r\n</ng-template>\r\n", styles: [".st-material-table-selected-rows{position:absolute;bottom:12px;left:5px}.st-material-table-selected-rows .delete-icon{margin-right:0;margin-left:10px}\n"], dependencies: [{ kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i6.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: i6.MatChipRemove, selector: "[matChipRemove]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
27
  }
28
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MaterialTableSelectedRowsComponent, decorators: [{
29
29
  type: Component,
30
- args: [{ selector: 'st-material-table-selected-rows', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (allowSelectRow()) {\r\n <div class=\"st-material-table-selected-rows\">\r\n @if (!selectRowOnlyOne()) {\r\n <button type=\"button\" mat-stroked-button [matMenuTriggerFor]=\"menu\">\r\n {{ selection().selected.length }}\r\n {{ stTableTranslations.getTranslations()().rowSelected }}\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n @for (row of selection().selected; track row.id) {\r\n <button\r\n type=\"button\"\r\n mat-menu-item\r\n [disabled]=\"selection().selected.length <= 0\"\r\n (click)=\"onRemoveSelectedRow($event, row)\"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"selectedFieldLabel\"\r\n [ngTemplateOutletContext]=\"{ $implicit: row }\"\r\n />\r\n <mat-icon class=\"delete-icon\">delete</mat-icon>\r\n </button>\r\n }\r\n </mat-menu>\r\n } @else {\r\n @if (selection().hasValue()) {\r\n <mat-chip>\r\n <ng-container\r\n [ngTemplateOutlet]=\"selectedFieldLabel\"\r\n [ngTemplateOutletContext]=\"{ $implicit: selection().selected[0] }\"\r\n />\r\n <button\r\n matChipRemove\r\n type=\"button\"\r\n aria-label=\"Remove selected item\"\r\n (click)=\"onRemoveSelectedRow($event, selection().selected[0])\"\r\n >\r\n <mat-icon>cancel</mat-icon>\r\n </button>\r\n </mat-chip>\r\n }\r\n }\r\n </div>\r\n}\r\n\r\n<ng-template #selectedFieldLabel let-row>\r\n @if (selectRowValueDisplay()) {\r\n {{ selectRowValueDisplay()!(row) }}\r\n } @else {\r\n {{ row[selectionFieldLabel()] }}\r\n }\r\n</ng-template>\r\n", styles: [".st-material-table-selected-rows{position:absolute;bottom:12px;left:5px}.st-material-table-selected-rows .delete-icon{margin-right:0;margin-left:10px}\n"] }]
30
+ args: [{ selector: 'st-material-table-selected-rows', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (allowSelectRow()) {\r\n <div class=\"st-material-table-selected-rows\">\r\n @if (!selectRowOnlyOne()) {\r\n <button type=\"button\" mat-stroked-button [matMenuTriggerFor]=\"menu\">\r\n {{ selectedRows().length }}\r\n {{ stTableTranslations.getTranslations()().rowSelected }}\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n @for (row of selectedRows(); track row.id) {\r\n <button\r\n type=\"button\"\r\n mat-menu-item\r\n [disabled]=\"selectedRows().length <= 0\"\r\n (click)=\"onRemoveSelectedRow($event, row)\"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"selectedFieldLabel\"\r\n [ngTemplateOutletContext]=\"{ $implicit: row }\"\r\n />\r\n <mat-icon class=\"delete-icon\">delete</mat-icon>\r\n </button>\r\n }\r\n </mat-menu>\r\n } @else {\r\n @if (selectedRows().length > 0) {\r\n <mat-chip>\r\n <ng-container\r\n [ngTemplateOutlet]=\"selectedFieldLabel\"\r\n [ngTemplateOutletContext]=\"{ $implicit: selectedRows()[0] }\"\r\n />\r\n <button\r\n matChipRemove\r\n type=\"button\"\r\n aria-label=\"Remove selected item\"\r\n (click)=\"onRemoveSelectedRow($event, selectedRows()[0])\"\r\n >\r\n <mat-icon>cancel</mat-icon>\r\n </button>\r\n </mat-chip>\r\n }\r\n }\r\n </div>\r\n}\r\n\r\n<ng-template #selectedFieldLabel let-row>\r\n @if (selectRowValueDisplay()) {\r\n {{ selectRowValueDisplay()!(row) }}\r\n } @else {\r\n {{ row[selectionFieldLabel()] }}\r\n }\r\n</ng-template>\r\n", styles: [".st-material-table-selected-rows{position:absolute;bottom:12px;left:5px}.st-material-table-selected-rows .delete-icon{margin-right:0;margin-left:10px}\n"] }]
31
31
  }], ctorParameters: () => [{ type: i1.StTablesTranslationsService }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtdGFibGUtc2VsZWN0ZWQtcm93cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3QtdGFibGVzL3NyYy9saWIvY29tcG9uZW50cy9tYXRlcmlhbC10YWJsZS9tYXRlcmlhbC10YWJsZS1zZWxlY3RlZC1yb3dzL21hdGVyaWFsLXRhYmxlLXNlbGVjdGVkLXJvd3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN0LXRhYmxlcy9zcmMvbGliL2NvbXBvbmVudHMvbWF0ZXJpYWwtdGFibGUvbWF0ZXJpYWwtdGFibGUtc2VsZWN0ZWQtcm93cy9tYXRlcmlhbC10YWJsZS1zZWxlY3RlZC1yb3dzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBVXZCLE1BQU0sT0FBTyxrQ0FBa0M7SUFTN0MsWUFBbUIsbUJBQWdEO1FBQWhELHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBNkI7UUFSbkUsbUJBQWMsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFXLENBQUM7UUFDM0MscUJBQWdCLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVyxDQUFDO1FBQzdDLGNBQVMsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUF1QixDQUFDO1FBQ2xELHdCQUFtQixHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUMvQywwQkFBcUIsR0FBRyxLQUFLLEVBQXdCLENBQUM7UUFFdEQsc0JBQWlCLEdBQUcsTUFBTSxFQUFPLENBQUM7SUFFb0MsQ0FBQztJQUV2RSxtQkFBbUIsQ0FBQyxLQUFVLEVBQUUsR0FBUTtRQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckUsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzFCLENBQUM7UUFFRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7K0dBakJVLGtDQUFrQzttR0FBbEMsa0NBQWtDLDgzQkNmL0MsMnVEQW1EQTs7NEZEcENhLGtDQUFrQztrQkFOOUMsU0FBUzsrQkFDRSxpQ0FBaUMsbUJBRzFCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBpbnB1dCxcclxuICBvdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcclxuaW1wb3J0IHsgU3RUYWJsZXNUcmFuc2xhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvc3QtdGFibGVzLXRyYW5zbGF0aW9ucy5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3QtbWF0ZXJpYWwtdGFibGUtc2VsZWN0ZWQtcm93cycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21hdGVyaWFsLXRhYmxlLXNlbGVjdGVkLXJvd3MuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL21hdGVyaWFsLXRhYmxlLXNlbGVjdGVkLXJvd3MuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsVGFibGVTZWxlY3RlZFJvd3NDb21wb25lbnQge1xyXG4gIGFsbG93U2VsZWN0Um93ID0gaW5wdXQucmVxdWlyZWQ8Ym9vbGVhbj4oKTtcclxuICBzZWxlY3RSb3dPbmx5T25lID0gaW5wdXQucmVxdWlyZWQ8Ym9vbGVhbj4oKTtcclxuICBzZWxlY3Rpb24gPSBpbnB1dC5yZXF1aXJlZDxTZWxlY3Rpb25Nb2RlbDxhbnk+PigpO1xyXG4gIHNlbGVjdGlvbkZpZWxkTGFiZWwgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XHJcbiAgc2VsZWN0Um93VmFsdWVEaXNwbGF5ID0gaW5wdXQ8KHJvdzogYW55KSA9PiBzdHJpbmc+KCk7XHJcblxyXG4gIHJlbW92ZVNlbGVjdGVkUm93ID0gb3V0cHV0PGFueT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHN0VGFibGVUcmFuc2xhdGlvbnM6IFN0VGFibGVzVHJhbnNsYXRpb25zU2VydmljZSkge31cclxuXHJcbiAgb25SZW1vdmVTZWxlY3RlZFJvdyhldmVudDogYW55LCByb3c6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnNlbGVjdFJvd09ubHlPbmUoKSAmJiB0aGlzLnNlbGVjdGlvbigpLnNlbGVjdGVkLmxlbmd0aCA+IDEpIHtcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5yZW1vdmVTZWxlY3RlZFJvdy5lbWl0KHJvdyk7XHJcbiAgfVxyXG59XHJcbiIsIkBpZiAoYWxsb3dTZWxlY3RSb3coKSkge1xyXG4gIDxkaXYgY2xhc3M9XCJzdC1tYXRlcmlhbC10YWJsZS1zZWxlY3RlZC1yb3dzXCI+XHJcbiAgICBAaWYgKCFzZWxlY3RSb3dPbmx5T25lKCkpIHtcclxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LXN0cm9rZWQtYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCI+XHJcbiAgICAgICAge3sgc2VsZWN0aW9uKCkuc2VsZWN0ZWQubGVuZ3RoIH19XHJcbiAgICAgICAge3sgc3RUYWJsZVRyYW5zbGF0aW9ucy5nZXRUcmFuc2xhdGlvbnMoKSgpLnJvd1NlbGVjdGVkIH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCI+XHJcbiAgICAgICAgQGZvciAocm93IG9mIHNlbGVjdGlvbigpLnNlbGVjdGVkOyB0cmFjayByb3cuaWQpIHtcclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgIG1hdC1tZW51LWl0ZW1cclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cInNlbGVjdGlvbigpLnNlbGVjdGVkLmxlbmd0aCA8PSAwXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uUmVtb3ZlU2VsZWN0ZWRSb3coJGV2ZW50LCByb3cpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNlbGVjdGVkRmllbGRMYWJlbFwiXHJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiByb3cgfVwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImRlbGV0ZS1pY29uXCI+ZGVsZXRlPC9tYXQtaWNvbj5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIH1cclxuICAgICAgPC9tYXQtbWVudT5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBAaWYgKHNlbGVjdGlvbigpLmhhc1ZhbHVlKCkpIHtcclxuICAgICAgICA8bWF0LWNoaXA+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNlbGVjdGVkRmllbGRMYWJlbFwiXHJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogc2VsZWN0aW9uKCkuc2VsZWN0ZWRbMF0gfVwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBtYXRDaGlwUmVtb3ZlXHJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiUmVtb3ZlIHNlbGVjdGVkIGl0ZW1cIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25SZW1vdmVTZWxlY3RlZFJvdygkZXZlbnQsIHNlbGVjdGlvbigpLnNlbGVjdGVkWzBdKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbj5jYW5jZWw8L21hdC1pY29uPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9tYXQtY2hpcD5cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG59XHJcblxyXG48bmctdGVtcGxhdGUgI3NlbGVjdGVkRmllbGRMYWJlbCBsZXQtcm93PlxyXG4gIEBpZiAoc2VsZWN0Um93VmFsdWVEaXNwbGF5KCkpIHtcclxuICAgIHt7IHNlbGVjdFJvd1ZhbHVlRGlzcGxheSgpIShyb3cpIH19XHJcbiAgfSBAZWxzZSB7XHJcbiAgICB7eyByb3dbc2VsZWN0aW9uRmllbGRMYWJlbCgpXSB9fVxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtdGFibGUtc2VsZWN0ZWQtcm93cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3QtdGFibGVzL3NyYy9saWIvY29tcG9uZW50cy9tYXRlcmlhbC10YWJsZS9tYXRlcmlhbC10YWJsZS1zZWxlY3RlZC1yb3dzL21hdGVyaWFsLXRhYmxlLXNlbGVjdGVkLXJvd3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN0LXRhYmxlcy9zcmMvbGliL2NvbXBvbmVudHMvbWF0ZXJpYWwtdGFibGUvbWF0ZXJpYWwtdGFibGUtc2VsZWN0ZWQtcm93cy9tYXRlcmlhbC10YWJsZS1zZWxlY3RlZC1yb3dzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBU3ZCLE1BQU0sT0FBTyxrQ0FBa0M7SUFTN0MsWUFBbUIsbUJBQWdEO1FBQWhELHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBNkI7UUFSbkUsbUJBQWMsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFXLENBQUM7UUFDM0MscUJBQWdCLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVyxDQUFDO1FBQzdDLGlCQUFZLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBUyxDQUFDO1FBQ3ZDLHdCQUFtQixHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUMvQywwQkFBcUIsR0FBRyxLQUFLLEVBQXdCLENBQUM7UUFFdEQsc0JBQWlCLEdBQUcsTUFBTSxFQUFPLENBQUM7SUFFb0MsQ0FBQztJQUV2RSxtQkFBbUIsQ0FBQyxLQUFVLEVBQUUsR0FBUTtRQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMvRCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDMUIsQ0FBQztRQUVELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQzsrR0FqQlUsa0NBQWtDO21HQUFsQyxrQ0FBa0MsdTRCQ2QvQyxndERBbURBOzs0RkRyQ2Esa0NBQWtDO2tCQU45QyxTQUFTOytCQUNFLGlDQUFpQyxtQkFHMUIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIGlucHV0LFxyXG4gIG91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3RUYWJsZXNUcmFuc2xhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvc3QtdGFibGVzLXRyYW5zbGF0aW9ucy5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3QtbWF0ZXJpYWwtdGFibGUtc2VsZWN0ZWQtcm93cycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21hdGVyaWFsLXRhYmxlLXNlbGVjdGVkLXJvd3MuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL21hdGVyaWFsLXRhYmxlLXNlbGVjdGVkLXJvd3MuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsVGFibGVTZWxlY3RlZFJvd3NDb21wb25lbnQge1xyXG4gIGFsbG93U2VsZWN0Um93ID0gaW5wdXQucmVxdWlyZWQ8Ym9vbGVhbj4oKTtcclxuICBzZWxlY3RSb3dPbmx5T25lID0gaW5wdXQucmVxdWlyZWQ8Ym9vbGVhbj4oKTtcclxuICBzZWxlY3RlZFJvd3MgPSBpbnB1dC5yZXF1aXJlZDxhbnlbXT4oKTtcclxuICBzZWxlY3Rpb25GaWVsZExhYmVsID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xyXG4gIHNlbGVjdFJvd1ZhbHVlRGlzcGxheSA9IGlucHV0PChyb3c6IGFueSkgPT4gc3RyaW5nPigpO1xyXG5cclxuICByZW1vdmVTZWxlY3RlZFJvdyA9IG91dHB1dDxhbnk+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBzdFRhYmxlVHJhbnNsYXRpb25zOiBTdFRhYmxlc1RyYW5zbGF0aW9uc1NlcnZpY2UpIHt9XHJcblxyXG4gIG9uUmVtb3ZlU2VsZWN0ZWRSb3coZXZlbnQ6IGFueSwgcm93OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5zZWxlY3RSb3dPbmx5T25lKCkgJiYgdGhpcy5zZWxlY3RlZFJvd3MoKS5sZW5ndGggPiAxKSB7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWRSb3cuZW1pdChyb3cpO1xyXG4gIH1cclxufVxyXG4iLCJAaWYgKGFsbG93U2VsZWN0Um93KCkpIHtcclxuICA8ZGl2IGNsYXNzPVwic3QtbWF0ZXJpYWwtdGFibGUtc2VsZWN0ZWQtcm93c1wiPlxyXG4gICAgQGlmICghc2VsZWN0Um93T25seU9uZSgpKSB7XHJcbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1zdHJva2VkLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiPlxyXG4gICAgICAgIHt7IHNlbGVjdGVkUm93cygpLmxlbmd0aCB9fVxyXG4gICAgICAgIHt7IHN0VGFibGVUcmFuc2xhdGlvbnMuZ2V0VHJhbnNsYXRpb25zKCkoKS5yb3dTZWxlY3RlZCB9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiPlxyXG4gICAgICAgIEBmb3IgKHJvdyBvZiBzZWxlY3RlZFJvd3MoKTsgdHJhY2sgcm93LmlkKSB7XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBtYXQtbWVudS1pdGVtXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJzZWxlY3RlZFJvd3MoKS5sZW5ndGggPD0gMFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvblJlbW92ZVNlbGVjdGVkUm93KCRldmVudCwgcm93KVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJzZWxlY3RlZEZpZWxkTGFiZWxcIlxyXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogcm93IH1cIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJkZWxldGUtaWNvblwiPmRlbGV0ZTwvbWF0LWljb24+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvbWF0LW1lbnU+XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgQGlmIChzZWxlY3RlZFJvd3MoKS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgPG1hdC1jaGlwPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJzZWxlY3RlZEZpZWxkTGFiZWxcIlxyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHNlbGVjdGVkUm93cygpWzBdIH1cIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgbWF0Q2hpcFJlbW92ZVxyXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlJlbW92ZSBzZWxlY3RlZCBpdGVtXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uUmVtb3ZlU2VsZWN0ZWRSb3coJGV2ZW50LCBzZWxlY3RlZFJvd3MoKVswXSlcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8bWF0LWljb24+Y2FuY2VsPC9tYXQtaWNvbj5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvbWF0LWNoaXA+XHJcbiAgICAgIH1cclxuICAgIH1cclxuICA8L2Rpdj5cclxufVxyXG5cclxuPG5nLXRlbXBsYXRlICNzZWxlY3RlZEZpZWxkTGFiZWwgbGV0LXJvdz5cclxuICBAaWYgKHNlbGVjdFJvd1ZhbHVlRGlzcGxheSgpKSB7XHJcbiAgICB7eyBzZWxlY3RSb3dWYWx1ZURpc3BsYXkoKSEocm93KSB9fVxyXG4gIH0gQGVsc2Uge1xyXG4gICAge3sgcm93W3NlbGVjdGlvbkZpZWxkTGFiZWwoKV0gfX1cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==