@onecx/angular-accelerator 5.13.0 → 5.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. package/assets/i18n/de.json +11 -6
  2. package/assets/i18n/en.json +11 -6
  3. package/esm2022/index.mjs +2 -1
  4. package/esm2022/lib/angular-accelerator-primeng.module.mjs +8 -1
  5. package/esm2022/lib/components/column-group-selection/column-group-selection.component.mjs +6 -5
  6. package/esm2022/lib/components/custom-group-column-selector/custom-group-column-selector.component.mjs +47 -10
  7. package/esm2022/lib/components/data-layout-selection/data-layout-selection.component.mjs +26 -8
  8. package/esm2022/lib/components/data-list-grid/data-list-grid.component.mjs +11 -10
  9. package/esm2022/lib/components/data-list-grid-sorting/data-list-grid-sorting.component.mjs +14 -13
  10. package/esm2022/lib/components/interactive-data-view/interactive-data-view.component.mjs +1 -1
  11. package/esm2022/lib/utils/criteria.utils.mjs +28 -0
  12. package/esm2022/testing/custom-group-column-selector.harness.mjs +2 -2
  13. package/esm2022/testing/data-layout-selection.harness.mjs +6 -7
  14. package/fesm2022/onecx-angular-accelerator-testing.mjs +6 -7
  15. package/fesm2022/onecx-angular-accelerator-testing.mjs.map +1 -1
  16. package/fesm2022/onecx-angular-accelerator.mjs +130 -41
  17. package/fesm2022/onecx-angular-accelerator.mjs.map +1 -1
  18. package/index.d.ts +1 -0
  19. package/lib/angular-accelerator-primeng.module.d.ts +3 -2
  20. package/lib/components/custom-group-column-selector/custom-group-column-selector.component.d.ts +13 -1
  21. package/lib/components/data-layout-selection/data-layout-selection.component.d.ts +5 -2
  22. package/lib/components/data-list-grid-sorting/data-list-grid-sorting.component.d.ts +2 -2
  23. package/lib/utils/criteria.utils.d.ts +18 -0
  24. package/package.json +1 -1
@@ -8,9 +8,27 @@ import * as i4 from "primeng/selectbutton";
8
8
  import * as i5 from "@angular/forms";
9
9
  import * as i6 from "@ngx-translate/core";
10
10
  const ALL_VIEW_LAYOUTS = [
11
- { icon: PrimeIcons.LIST, layout: 'list', titleKey: 'OCX_DATA_LAYOUT_SELECTION.LAYOUT.LIST' },
12
- { icon: PrimeIcons.TH_LARGE, layout: 'grid', titleKey: 'OCX_DATA_LAYOUT_SELECTION.LAYOUT.GRID' },
13
- { icon: PrimeIcons.TABLE, layout: 'table', titleKey: 'OCX_DATA_LAYOUT_SELECTION.LAYOUT.TABLE' },
11
+ {
12
+ id: 'ocx-data-layout-selection-list',
13
+ icon: PrimeIcons.LIST,
14
+ layout: 'list',
15
+ tooltipKey: 'OCX_DATA_LAYOUT_SELECTION.LAYOUT.LIST',
16
+ labelKey: 'OCX_DATA_LAYOUT_SELECTION.LAYOUT.LIST',
17
+ },
18
+ {
19
+ id: 'ocx-data-layout-selection-grid',
20
+ icon: PrimeIcons.TH_LARGE,
21
+ layout: 'grid',
22
+ tooltipKey: 'OCX_DATA_LAYOUT_SELECTION.LAYOUT.GRID',
23
+ labelKey: 'OCX_DATA_LAYOUT_SELECTION.LAYOUT.GRID',
24
+ },
25
+ {
26
+ id: 'ocx-data-layout-selection-table',
27
+ icon: PrimeIcons.TABLE,
28
+ layout: 'table',
29
+ tooltipKey: 'OCX_DATA_LAYOUT_SELECTION.LAYOUT.TABLE',
30
+ labelKey: 'OCX_DATA_LAYOUT_SELECTION.LAYOUT.TABLE',
31
+ },
14
32
  ];
15
33
  export class DataLayoutSelectionComponent {
16
34
  constructor() {
@@ -28,21 +46,21 @@ export class DataLayoutSelectionComponent {
28
46
  ngOnInit() {
29
47
  this.viewingLayouts = ALL_VIEW_LAYOUTS.filter((vl) => this.supportedViewLayouts.includes(vl.layout));
30
48
  this.componentStateChanged.emit({
31
- layout: this.layout
49
+ layout: this.layout,
32
50
  });
33
51
  }
34
52
  onDataViewLayoutChange(event) {
35
53
  this.dataViewLayoutChange.emit(event.layout);
36
54
  this.componentStateChanged.emit({
37
- layout: event.layout
55
+ layout: event.layout,
38
56
  });
39
57
  }
40
58
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: DataLayoutSelectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
41
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: DataLayoutSelectionComponent, selector: "ocx-data-layout-selection", inputs: { supportedViewLayouts: "supportedViewLayouts", layout: "layout" }, outputs: { dataViewLayoutChange: "dataViewLayoutChange", componentStateChanged: "componentStateChanged" }, ngImport: i0, template: "<div class=\"flex flex-wrap justify-content-between align-items-center py-1 gap-2\">\n <p-selectButton\n *ngIf=\"viewingLayouts.length > 1\"\n [options]=\"viewingLayouts\"\n [(ngModel)]=\"selectedViewLayout\"\n optionLabel=\"icon\"\n (onChange)=\"onDataViewLayoutChange($event.value)\"\n >\n <ng-template let-item pTemplate>\n <i [class]=\"item.icon\" [pTooltip]=\"item.title || (item.titleKey | translate)\" tooltipPosition=\"top\"></i>\n </ng-template>\n </p-selectButton>\n</div>\n", styles: ["::ng-deep .p-buttonset .p-button{min-width:auto}::ng-deep .p-buttonset{display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4.SelectButton, selector: "p-selectButton", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "unselectable", "tabindex", "multiple", "allowEmpty", "style", "styleClass", "ariaLabelledBy", "disabled", "dataKey", "autofocus"], outputs: ["onOptionClick", "onChange"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
59
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: DataLayoutSelectionComponent, selector: "ocx-data-layout-selection", inputs: { supportedViewLayouts: "supportedViewLayouts", layout: "layout" }, outputs: { dataViewLayoutChange: "dataViewLayoutChange", componentStateChanged: "componentStateChanged" }, ngImport: i0, template: "<div class=\"flex flex-wrap justify-content-between align-items-center py-1 gap-2\">\n <p-selectButton\n *ngIf=\"viewingLayouts.length > 1\"\n [options]=\"viewingLayouts\"\n [(ngModel)]=\"selectedViewLayout\"\n optionLabel=\"id\"\n (onChange)=\"onDataViewLayoutChange($event.value)\"\n >\n <ng-template let-item pTemplate>\n <i [class]=\"item.icon\" [pTooltip]=\"item.tooltip || (item.tooltipKey | translate)\" tooltipPosition=\"top\"></i>\n <label style=\"display: none\" id=\"{{item.id}}\">{{item.labelKey | translate}}</label>\n </ng-template>\n </p-selectButton>\n</div>\n", styles: ["::ng-deep .p-buttonset .p-button{min-width:auto}::ng-deep .p-buttonset{display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4.SelectButton, selector: "p-selectButton", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "unselectable", "tabindex", "multiple", "allowEmpty", "style", "styleClass", "ariaLabelledBy", "disabled", "dataKey", "autofocus"], outputs: ["onOptionClick", "onChange"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
42
60
  }
43
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: DataLayoutSelectionComponent, decorators: [{
44
62
  type: Component,
45
- args: [{ selector: 'ocx-data-layout-selection', template: "<div class=\"flex flex-wrap justify-content-between align-items-center py-1 gap-2\">\n <p-selectButton\n *ngIf=\"viewingLayouts.length > 1\"\n [options]=\"viewingLayouts\"\n [(ngModel)]=\"selectedViewLayout\"\n optionLabel=\"icon\"\n (onChange)=\"onDataViewLayoutChange($event.value)\"\n >\n <ng-template let-item pTemplate>\n <i [class]=\"item.icon\" [pTooltip]=\"item.title || (item.titleKey | translate)\" tooltipPosition=\"top\"></i>\n </ng-template>\n </p-selectButton>\n</div>\n", styles: ["::ng-deep .p-buttonset .p-button{min-width:auto}::ng-deep .p-buttonset{display:flex}\n"] }]
63
+ args: [{ selector: 'ocx-data-layout-selection', template: "<div class=\"flex flex-wrap justify-content-between align-items-center py-1 gap-2\">\n <p-selectButton\n *ngIf=\"viewingLayouts.length > 1\"\n [options]=\"viewingLayouts\"\n [(ngModel)]=\"selectedViewLayout\"\n optionLabel=\"id\"\n (onChange)=\"onDataViewLayoutChange($event.value)\"\n >\n <ng-template let-item pTemplate>\n <i [class]=\"item.icon\" [pTooltip]=\"item.tooltip || (item.tooltipKey | translate)\" tooltipPosition=\"top\"></i>\n <label style=\"display: none\" id=\"{{item.id}}\">{{item.labelKey | translate}}</label>\n </ng-template>\n </p-selectButton>\n</div>\n", styles: ["::ng-deep .p-buttonset .p-button{min-width:auto}::ng-deep .p-buttonset{display:flex}\n"] }]
46
64
  }], propDecorators: { supportedViewLayouts: [{
47
65
  type: Input
48
66
  }], layout: [{
@@ -52,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
52
70
  }], componentStateChanged: [{
53
71
  type: Output
54
72
  }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1sYXlvdXQtc2VsZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1hY2NlbGVyYXRvci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS1sYXlvdXQtc2VsZWN0aW9uL2RhdGEtbGF5b3V0LXNlbGVjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtbGF5b3V0LXNlbGVjdGlvbi9kYXRhLWxheW91dC1zZWxlY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM5RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFBOzs7Ozs7OztBQVV4QyxNQUFNLGdCQUFnQixHQUFxQjtJQUN6QyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLHVDQUF1QyxFQUFFO0lBQzVGLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsdUNBQXVDLEVBQUU7SUFDaEcsRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSx3Q0FBd0MsRUFBRTtDQUNoRyxDQUFBO0FBVUQsTUFBTSxPQUFPLDRCQUE0QjtJQUx6QztRQU1XLHlCQUFvQixHQUFrQixFQUFFLENBQUE7UUFTdkMseUJBQW9CLEdBQTRDLElBQUksWUFBWSxFQUFFLENBQUE7UUFDbEYsMEJBQXFCLEdBQW9ELElBQUksWUFBWSxFQUFFLENBQUE7UUFFckcsbUJBQWMsR0FBcUIsRUFBRSxDQUFBO0tBZ0J0QztJQTNCQyxJQUNJLE1BQU0sQ0FBQyxLQUFnQztRQUN6QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxDQUFBO0lBQzVFLENBQUM7SUFDRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLElBQUksT0FBTyxDQUFBO0lBQ25ELENBQUM7SUFRRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7UUFDcEcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQztZQUM5QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELHNCQUFzQixDQUFDLEtBQTZEO1FBQ2xGLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQzVDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7WUFDOUIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1NBQ3JCLENBQUMsQ0FBQTtJQUNKLENBQUM7OEdBNUJVLDRCQUE0QjtrR0FBNUIsNEJBQTRCLHdQQ3pCekMsbWdCQWFBOzsyRkRZYSw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0UsMkJBQTJCOzhCQUs1QixvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBRUYsTUFBTTtzQkFEVCxLQUFLO2dCQVFJLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFByaW1lSWNvbnMgfSBmcm9tICdwcmltZW5nL2FwaSdcbmltcG9ydCB7IFByaW1lSWNvbiB9IGZyb20gJy4uLy4uL3V0aWxzL3ByaW1laWNvbi51dGlscydcblxuaW50ZXJmYWNlIFZpZXdpbmdMYXlvdXRzIHtcbiAgaWNvbjogUHJpbWVJY29uXG4gIGxheW91dDogJ2dyaWQnIHwgJ2xpc3QnIHwgJ3RhYmxlJ1xuICB0aXRsZT86IHN0cmluZ1xuICB0aXRsZUtleTogc3RyaW5nXG59XG5cbmNvbnN0IEFMTF9WSUVXX0xBWU9VVFM6IFZpZXdpbmdMYXlvdXRzW10gPSBbXG4gIHsgaWNvbjogUHJpbWVJY29ucy5MSVNULCBsYXlvdXQ6ICdsaXN0JywgdGl0bGVLZXk6ICdPQ1hfREFUQV9MQVlPVVRfU0VMRUNUSU9OLkxBWU9VVC5MSVNUJyB9LFxuICB7IGljb246IFByaW1lSWNvbnMuVEhfTEFSR0UsIGxheW91dDogJ2dyaWQnLCB0aXRsZUtleTogJ09DWF9EQVRBX0xBWU9VVF9TRUxFQ1RJT04uTEFZT1VULkdSSUQnIH0sXG4gIHsgaWNvbjogUHJpbWVJY29ucy5UQUJMRSwgbGF5b3V0OiAndGFibGUnLCB0aXRsZUtleTogJ09DWF9EQVRBX0xBWU9VVF9TRUxFQ1RJT04uTEFZT1VULlRBQkxFJyB9LFxuXVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFMYXlvdXRTZWxlY3Rpb25Db21wb25lbnRTdGF0ZSB7XG4gIGxheW91dD86ICdncmlkJyB8ICdsaXN0JyB8ICd0YWJsZSdcbn1cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29jeC1kYXRhLWxheW91dC1zZWxlY3Rpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS1sYXlvdXQtc2VsZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YS1sYXlvdXQtc2VsZWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERhdGFMYXlvdXRTZWxlY3Rpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBzdXBwb3J0ZWRWaWV3TGF5b3V0czogQXJyYXk8c3RyaW5nPiA9IFtdXG4gIEBJbnB1dCgpXG4gIHNldCBsYXlvdXQodmFsdWU6ICdncmlkJyB8ICdsaXN0JyB8ICd0YWJsZScpIHtcbiAgICB0aGlzLnNlbGVjdGVkVmlld0xheW91dCA9IEFMTF9WSUVXX0xBWU9VVFMuZmluZCgodikgPT4gdi5sYXlvdXQgPT09IHZhbHVlKVxuICB9XG4gIGdldCBsYXlvdXQoKTogJ2dyaWQnIHwgJ2xpc3QnIHwgJ3RhYmxlJyB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRWaWV3TGF5b3V0Py5sYXlvdXQgfHwgJ3RhYmxlJ1xuICB9XG5cbiAgQE91dHB1dCgpIGRhdGFWaWV3TGF5b3V0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8J2dyaWQnIHwgJ2xpc3QnIHwgJ3RhYmxlJz4gPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgQE91dHB1dCgpIGNvbXBvbmVudFN0YXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPERhdGFMYXlvdXRTZWxlY3Rpb25Db21wb25lbnRTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICB2aWV3aW5nTGF5b3V0czogVmlld2luZ0xheW91dHNbXSA9IFtdXG4gIHNlbGVjdGVkVmlld0xheW91dDogVmlld2luZ0xheW91dHMgfCB1bmRlZmluZWRcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXdpbmdMYXlvdXRzID0gQUxMX1ZJRVdfTEFZT1VUUy5maWx0ZXIoKHZsKSA9PiB0aGlzLnN1cHBvcnRlZFZpZXdMYXlvdXRzLmluY2x1ZGVzKHZsLmxheW91dCkpXG4gICAgdGhpcy5jb21wb25lbnRTdGF0ZUNoYW5nZWQuZW1pdCh7XG4gICAgICBsYXlvdXQ6IHRoaXMubGF5b3V0XG4gICAgfSlcbiAgfVxuXG4gIG9uRGF0YVZpZXdMYXlvdXRDaGFuZ2UoZXZlbnQ6IHsgaWNvbjogUHJpbWVJY29uOyBsYXlvdXQ6ICdncmlkJyB8ICdsaXN0JyB8ICd0YWJsZScgfSk6IHZvaWQge1xuICAgIHRoaXMuZGF0YVZpZXdMYXlvdXRDaGFuZ2UuZW1pdChldmVudC5sYXlvdXQpXG4gICAgdGhpcy5jb21wb25lbnRTdGF0ZUNoYW5nZWQuZW1pdCh7XG4gICAgICBsYXlvdXQ6IGV2ZW50LmxheW91dFxuICAgIH0pXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgcHktMSBnYXAtMlwiPlxuICA8cC1zZWxlY3RCdXR0b25cbiAgICAqbmdJZj1cInZpZXdpbmdMYXlvdXRzLmxlbmd0aCA+IDFcIlxuICAgIFtvcHRpb25zXT1cInZpZXdpbmdMYXlvdXRzXCJcbiAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkVmlld0xheW91dFwiXG4gICAgb3B0aW9uTGFiZWw9XCJpY29uXCJcbiAgICAob25DaGFuZ2UpPVwib25EYXRhVmlld0xheW91dENoYW5nZSgkZXZlbnQudmFsdWUpXCJcbiAgPlxuICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbSBwVGVtcGxhdGU+XG4gICAgICA8aSBbY2xhc3NdPVwiaXRlbS5pY29uXCIgW3BUb29sdGlwXT1cIml0ZW0udGl0bGUgfHwgKGl0ZW0udGl0bGVLZXkgfCB0cmFuc2xhdGUpXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCI+PC9pPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvcC1zZWxlY3RCdXR0b24+XG48L2Rpdj5cbiJdfQ==
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1sYXlvdXQtc2VsZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1hY2NlbGVyYXRvci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS1sYXlvdXQtc2VsZWN0aW9uL2RhdGEtbGF5b3V0LXNlbGVjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtbGF5b3V0LXNlbGVjdGlvbi9kYXRhLWxheW91dC1zZWxlY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM5RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFBOzs7Ozs7OztBQWF4QyxNQUFNLGdCQUFnQixHQUFxQjtJQUN6QztRQUNFLEVBQUUsRUFBRSxnQ0FBZ0M7UUFDcEMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJO1FBQ3JCLE1BQU0sRUFBRSxNQUFNO1FBQ2QsVUFBVSxFQUFFLHVDQUF1QztRQUNuRCxRQUFRLEVBQUUsdUNBQXVDO0tBQ2xEO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsZ0NBQWdDO1FBQ3BDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUTtRQUN6QixNQUFNLEVBQUUsTUFBTTtRQUNkLFVBQVUsRUFBRSx1Q0FBdUM7UUFDbkQsUUFBUSxFQUFFLHVDQUF1QztLQUNsRDtJQUNEO1FBQ0UsRUFBRSxFQUFFLGlDQUFpQztRQUNyQyxJQUFJLEVBQUUsVUFBVSxDQUFDLEtBQUs7UUFDdEIsTUFBTSxFQUFFLE9BQU87UUFDZixVQUFVLEVBQUUsd0NBQXdDO1FBQ3BELFFBQVEsRUFBRSx3Q0FBd0M7S0FDbkQ7Q0FDRixDQUFBO0FBVUQsTUFBTSxPQUFPLDRCQUE0QjtJQUx6QztRQU1XLHlCQUFvQixHQUFrQixFQUFFLENBQUE7UUFTdkMseUJBQW9CLEdBQTRDLElBQUksWUFBWSxFQUFFLENBQUE7UUFDbEYsMEJBQXFCLEdBQW9ELElBQUksWUFBWSxFQUFFLENBQUE7UUFFckcsbUJBQWMsR0FBcUIsRUFBRSxDQUFBO0tBZ0J0QztJQTNCQyxJQUNJLE1BQU0sQ0FBQyxLQUFnQztRQUN6QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxDQUFBO0lBQzVFLENBQUM7SUFDRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLElBQUksT0FBTyxDQUFBO0lBQ25ELENBQUM7SUFRRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7UUFDcEcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQztZQUM5QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELHNCQUFzQixDQUFDLEtBQTZEO1FBQ2xGLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQzVDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7WUFDOUIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1NBQ3JCLENBQUMsQ0FBQTtJQUNKLENBQUM7OEdBNUJVLDRCQUE0QjtrR0FBNUIsNEJBQTRCLHdQQzlDekMsb21CQWNBOzsyRkRnQ2EsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLDJCQUEyQjs4QkFLNUIsb0JBQW9CO3NCQUE1QixLQUFLO2dCQUVGLE1BQU07c0JBRFQsS0FBSztnQkFRSSxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBQcmltZUljb25zIH0gZnJvbSAncHJpbWVuZy9hcGknXG5pbXBvcnQgeyBQcmltZUljb24gfSBmcm9tICcuLi8uLi91dGlscy9wcmltZWljb24udXRpbHMnXG5cbmludGVyZmFjZSBWaWV3aW5nTGF5b3V0cyB7XG4gIGlkOiBzdHJpbmdcbiAgaWNvbjogUHJpbWVJY29uXG4gIGxheW91dDogJ2dyaWQnIHwgJ2xpc3QnIHwgJ3RhYmxlJ1xuICB0b29sdGlwPzogc3RyaW5nXG4gIHRvb2x0aXBLZXk6IHN0cmluZ1xuICBsYWJlbD86IHN0cmluZ1xuICBsYWJlbEtleTogc3RyaW5nXG59XG5cbmNvbnN0IEFMTF9WSUVXX0xBWU9VVFM6IFZpZXdpbmdMYXlvdXRzW10gPSBbXG4gIHtcbiAgICBpZDogJ29jeC1kYXRhLWxheW91dC1zZWxlY3Rpb24tbGlzdCcsXG4gICAgaWNvbjogUHJpbWVJY29ucy5MSVNULFxuICAgIGxheW91dDogJ2xpc3QnLFxuICAgIHRvb2x0aXBLZXk6ICdPQ1hfREFUQV9MQVlPVVRfU0VMRUNUSU9OLkxBWU9VVC5MSVNUJyxcbiAgICBsYWJlbEtleTogJ09DWF9EQVRBX0xBWU9VVF9TRUxFQ1RJT04uTEFZT1VULkxJU1QnLFxuICB9LFxuICB7XG4gICAgaWQ6ICdvY3gtZGF0YS1sYXlvdXQtc2VsZWN0aW9uLWdyaWQnLFxuICAgIGljb246IFByaW1lSWNvbnMuVEhfTEFSR0UsXG4gICAgbGF5b3V0OiAnZ3JpZCcsXG4gICAgdG9vbHRpcEtleTogJ09DWF9EQVRBX0xBWU9VVF9TRUxFQ1RJT04uTEFZT1VULkdSSUQnLFxuICAgIGxhYmVsS2V5OiAnT0NYX0RBVEFfTEFZT1VUX1NFTEVDVElPTi5MQVlPVVQuR1JJRCcsXG4gIH0sXG4gIHtcbiAgICBpZDogJ29jeC1kYXRhLWxheW91dC1zZWxlY3Rpb24tdGFibGUnLFxuICAgIGljb246IFByaW1lSWNvbnMuVEFCTEUsXG4gICAgbGF5b3V0OiAndGFibGUnLFxuICAgIHRvb2x0aXBLZXk6ICdPQ1hfREFUQV9MQVlPVVRfU0VMRUNUSU9OLkxBWU9VVC5UQUJMRScsXG4gICAgbGFiZWxLZXk6ICdPQ1hfREFUQV9MQVlPVVRfU0VMRUNUSU9OLkxBWU9VVC5UQUJMRScsXG4gIH0sXG5dXG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YUxheW91dFNlbGVjdGlvbkNvbXBvbmVudFN0YXRlIHtcbiAgbGF5b3V0PzogJ2dyaWQnIHwgJ2xpc3QnIHwgJ3RhYmxlJ1xufVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb2N4LWRhdGEtbGF5b3V0LXNlbGVjdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLWxheW91dC1zZWxlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhLWxheW91dC1zZWxlY3Rpb24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0YUxheW91dFNlbGVjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHN1cHBvcnRlZFZpZXdMYXlvdXRzOiBBcnJheTxzdHJpbmc+ID0gW11cbiAgQElucHV0KClcbiAgc2V0IGxheW91dCh2YWx1ZTogJ2dyaWQnIHwgJ2xpc3QnIHwgJ3RhYmxlJykge1xuICAgIHRoaXMuc2VsZWN0ZWRWaWV3TGF5b3V0ID0gQUxMX1ZJRVdfTEFZT1VUUy5maW5kKCh2KSA9PiB2LmxheW91dCA9PT0gdmFsdWUpXG4gIH1cbiAgZ2V0IGxheW91dCgpOiAnZ3JpZCcgfCAnbGlzdCcgfCAndGFibGUnIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFZpZXdMYXlvdXQ/LmxheW91dCB8fCAndGFibGUnXG4gIH1cblxuICBAT3V0cHV0KCkgZGF0YVZpZXdMYXlvdXRDaGFuZ2U6IEV2ZW50RW1pdHRlcjwnZ3JpZCcgfCAnbGlzdCcgfCAndGFibGUnPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBAT3V0cHV0KCkgY29tcG9uZW50U3RhdGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8RGF0YUxheW91dFNlbGVjdGlvbkNvbXBvbmVudFN0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIHZpZXdpbmdMYXlvdXRzOiBWaWV3aW5nTGF5b3V0c1tdID0gW11cbiAgc2VsZWN0ZWRWaWV3TGF5b3V0OiBWaWV3aW5nTGF5b3V0cyB8IHVuZGVmaW5lZFxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudmlld2luZ0xheW91dHMgPSBBTExfVklFV19MQVlPVVRTLmZpbHRlcigodmwpID0+IHRoaXMuc3VwcG9ydGVkVmlld0xheW91dHMuaW5jbHVkZXModmwubGF5b3V0KSlcbiAgICB0aGlzLmNvbXBvbmVudFN0YXRlQ2hhbmdlZC5lbWl0KHtcbiAgICAgIGxheW91dDogdGhpcy5sYXlvdXQsXG4gICAgfSlcbiAgfVxuXG4gIG9uRGF0YVZpZXdMYXlvdXRDaGFuZ2UoZXZlbnQ6IHsgaWNvbjogUHJpbWVJY29uOyBsYXlvdXQ6ICdncmlkJyB8ICdsaXN0JyB8ICd0YWJsZScgfSk6IHZvaWQge1xuICAgIHRoaXMuZGF0YVZpZXdMYXlvdXRDaGFuZ2UuZW1pdChldmVudC5sYXlvdXQpXG4gICAgdGhpcy5jb21wb25lbnRTdGF0ZUNoYW5nZWQuZW1pdCh7XG4gICAgICBsYXlvdXQ6IGV2ZW50LmxheW91dCxcbiAgICB9KVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXAganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIHB5LTEgZ2FwLTJcIj5cbiAgPHAtc2VsZWN0QnV0dG9uXG4gICAgKm5nSWY9XCJ2aWV3aW5nTGF5b3V0cy5sZW5ndGggPiAxXCJcbiAgICBbb3B0aW9uc109XCJ2aWV3aW5nTGF5b3V0c1wiXG4gICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFZpZXdMYXlvdXRcIlxuICAgIG9wdGlvbkxhYmVsPVwiaWRcIlxuICAgIChvbkNoYW5nZSk9XCJvbkRhdGFWaWV3TGF5b3V0Q2hhbmdlKCRldmVudC52YWx1ZSlcIlxuICA+XG4gICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtIHBUZW1wbGF0ZT5cbiAgICAgIDxpIFtjbGFzc109XCJpdGVtLmljb25cIiBbcFRvb2x0aXBdPVwiaXRlbS50b29sdGlwIHx8IChpdGVtLnRvb2x0aXBLZXkgfCB0cmFuc2xhdGUpXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCI+PC9pPlxuICAgICAgPGxhYmVsIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiIGlkPVwie3tpdGVtLmlkfX1cIj57e2l0ZW0ubGFiZWxLZXkgfCB0cmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9wLXNlbGVjdEJ1dHRvbj5cbjwvZGl2PlxuIl19