@lumeer/pivot 0.0.1 → 0.0.2

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 (56) hide show
  1. package/esm2022/lib/directives/lmr-templates.directive.mjs +27 -0
  2. package/esm2022/lib/lmr-pivot-table.component.mjs +81 -0
  3. package/esm2022/lib/lmr-pivot-table.module.mjs +42 -0
  4. package/esm2022/lib/pipes/contrast-color.pipe.mjs +41 -0
  5. package/esm2022/lib/pipes/pivot-data-empty.pipe.mjs +38 -0
  6. package/esm2022/lib/pipes/pivot-table-value.pipe.mjs +35 -0
  7. package/esm2022/lib/util/lmr-pivot-config.mjs +12 -0
  8. package/esm2022/lib/util/lmr-pivot-constants.mjs +12 -0
  9. package/esm2022/lib/util/lmr-pivot-data.mjs +2 -0
  10. package/esm2022/lib/util/lmr-pivot-table.mjs +2 -0
  11. package/esm2022/lib/util/pivot-data-converter.mjs +502 -0
  12. package/esm2022/lib/util/pivot-table-converter.mjs +803 -0
  13. package/esm2022/lib/util/pivot-util.mjs +72 -0
  14. package/esm2022/lumeer-pivot.mjs +5 -0
  15. package/esm2022/public-api.mjs +11 -0
  16. package/fesm2022/lumeer-pivot.mjs +1644 -0
  17. package/fesm2022/lumeer-pivot.mjs.map +1 -0
  18. package/index.d.ts +5 -0
  19. package/lib/directives/lmr-templates.directive.d.ts +14 -0
  20. package/lib/lmr-pivot-table.component.d.ts +31 -0
  21. package/lib/lmr-pivot-table.module.d.ts +12 -0
  22. package/lib/pipes/contrast-color.pipe.d.ts +11 -0
  23. package/lib/pipes/pivot-data-empty.pipe.d.ts +8 -0
  24. package/lib/pipes/pivot-table-value.pipe.d.ts +8 -0
  25. package/lib/util/lmr-pivot-config.d.ts +57 -0
  26. package/lib/util/lmr-pivot-constants.d.ts +11 -0
  27. package/lib/util/lmr-pivot-data.d.ts +34 -0
  28. package/lib/util/lmr-pivot-table.d.ts +18 -0
  29. package/lib/util/pivot-data-converter.d.ts +46 -0
  30. package/lib/util/pivot-table-converter.d.ts +62 -0
  31. package/lib/util/pivot-util.d.ts +12 -0
  32. package/lumeer-pivot-0.0.2.tgz +0 -0
  33. package/package.json +16 -3
  34. package/{src/public-api.ts → public-api.d.ts} +0 -4
  35. package/.eslintrc.json +0 -35
  36. package/ng-package.json +0 -7
  37. package/src/lib/directives/lmr-templates.directive.ts +0 -11
  38. package/src/lib/lmr-pivot-table.component.html +0 -69
  39. package/src/lib/lmr-pivot-table.component.scss +0 -69
  40. package/src/lib/lmr-pivot-table.component.ts +0 -108
  41. package/src/lib/lmr-pivot-table.module.ts +0 -28
  42. package/src/lib/pipes/contrast-color.pipe.ts +0 -33
  43. package/src/lib/pipes/pivot-data-empty.pipe.ts +0 -36
  44. package/src/lib/pipes/pivot-table-value.pipe.ts +0 -32
  45. package/src/lib/util/lmr-pivot-config.ts +0 -68
  46. package/src/lib/util/lmr-pivot-constants.ts +0 -13
  47. package/src/lib/util/lmr-pivot-data.ts +0 -57
  48. package/src/lib/util/lmr-pivot-table.ts +0 -38
  49. package/src/lib/util/pivot-data-converter.spec.ts +0 -647
  50. package/src/lib/util/pivot-data-converter.ts +0 -803
  51. package/src/lib/util/pivot-table-converter.spec.ts +0 -1045
  52. package/src/lib/util/pivot-table-converter.ts +0 -1118
  53. package/src/lib/util/pivot-util.ts +0 -92
  54. package/tsconfig.lib.json +0 -14
  55. package/tsconfig.lib.prod.json +0 -10
  56. package/tsconfig.spec.json +0 -14
@@ -0,0 +1,27 @@
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class LmrEmptyTablesTemplateDirective {
4
+ template;
5
+ constructor(template) {
6
+ this.template = template;
7
+ }
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LmrEmptyTablesTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: LmrEmptyTablesTemplateDirective, selector: "[lmr-empty-tables-tmp]", ngImport: i0 });
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LmrEmptyTablesTemplateDirective, decorators: [{
12
+ type: Directive,
13
+ args: [{ selector: '[lmr-empty-tables-tmp]' }]
14
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
15
+ export class LmrTableCellTemplateDirective {
16
+ template;
17
+ constructor(template) {
18
+ this.template = template;
19
+ }
20
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LmrTableCellTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
21
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: LmrTableCellTemplateDirective, selector: "[lmr-table-cell-tmp]", ngImport: i0 });
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LmrTableCellTemplateDirective, decorators: [{
24
+ type: Directive,
25
+ args: [{ selector: '[lmr-table-cell-tmp]' }]
26
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG1yLXRlbXBsYXRlcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sbXItcGl2b3QtdGFibGUvc3JjL2xpYi9kaXJlY3RpdmVzL2xtci10ZW1wbGF0ZXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7O0FBR3JELE1BQU0sT0FBTywrQkFBK0I7SUFDdkI7SUFBbkIsWUFBbUIsUUFBMEI7UUFBMUIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7SUFBSSxDQUFDO3dHQUR2QywrQkFBK0I7NEZBQS9CLCtCQUErQjs7NEZBQS9CLCtCQUErQjtrQkFEM0MsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSx3QkFBd0IsRUFBRTs7QUFNakQsTUFBTSxPQUFPLDZCQUE2QjtJQUNyQjtJQUFuQixZQUFtQixRQUEwQjtRQUExQixhQUFRLEdBQVIsUUFBUSxDQUFrQjtJQUFJLENBQUM7d0dBRHZDLDZCQUE2Qjs0RkFBN0IsNkJBQTZCOzs0RkFBN0IsNkJBQTZCO2tCQUR6QyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIFRlbXBsYXRlUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2xtci1lbXB0eS10YWJsZXMtdG1wXScgfSlcbmV4cG9ydCBjbGFzcyBMbXJFbXB0eVRhYmxlc1RlbXBsYXRlRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7IH1cbn1cblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2xtci10YWJsZS1jZWxsLXRtcF0nIH0pXG5leHBvcnQgY2xhc3MgTG1yVGFibGVDZWxsVGVtcGxhdGVEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHsgfVxufVxuIl19
@@ -0,0 +1,81 @@
1
+ import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, Input, Output, TemplateRef } from '@angular/core';
2
+ import { PivotDataConverter } from './util/pivot-data-converter';
3
+ import { asyncScheduler, BehaviorSubject, filter, map, tap, throttleTime } from 'rxjs';
4
+ import { PivotTableConverter } from './util/pivot-table-converter';
5
+ import { LmrEmptyTablesTemplateDirective, LmrTableCellTemplateDirective } from './directives/lmr-templates.directive';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ import * as i2 from "./pipes/pivot-data-empty.pipe";
9
+ import * as i3 from "./pipes/pivot-table-value.pipe";
10
+ import * as i4 from "./pipes/contrast-color.pipe";
11
+ export class LmrPivotTableComponent {
12
+ collections;
13
+ data;
14
+ linkTypes;
15
+ query;
16
+ constraintData;
17
+ config;
18
+ transform;
19
+ strings;
20
+ cellClick = new EventEmitter();
21
+ pivotDataChange = new EventEmitter();
22
+ emptyTablesTemplate;
23
+ tableCellTemplate;
24
+ pivotTransformer = new PivotDataConverter();
25
+ pivotTableConverter = new PivotTableConverter();
26
+ dataSubject = new BehaviorSubject(null);
27
+ pivotData$;
28
+ pivotTables$;
29
+ ngOnInit() {
30
+ const observable = this.dataSubject.pipe(filter(data => !!data));
31
+ this.pivotData$ = observable.pipe(throttleTime(200, asyncScheduler, { trailing: true, leading: true }), map(data => this.handleData(data)), tap(data => this.pivotDataChange.emit(data)));
32
+ this.pivotTables$ = this.pivotData$.pipe(map(data => this.pivotTableConverter.createTables(data, this.strings)));
33
+ }
34
+ handleData(data) {
35
+ return this.pivotTransformer.createData(data.config, data.transform, data.collections, data.linkTypes, data.data, data.query, data.constraintData);
36
+ }
37
+ ngOnChanges(changes) {
38
+ this.dataSubject.next({
39
+ config: this.config,
40
+ transform: this.transform,
41
+ collections: this.collections,
42
+ linkTypes: this.linkTypes,
43
+ data: this.data,
44
+ query: this.query,
45
+ constraintData: this.constraintData,
46
+ });
47
+ }
48
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LmrPivotTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
49
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LmrPivotTableComponent, selector: "lmr-pivot-table", inputs: { collections: "collections", data: "data", linkTypes: "linkTypes", query: "query", constraintData: "constraintData", config: "config", transform: "transform", strings: "strings" }, outputs: { cellClick: "cellClick", pivotDataChange: "pivotDataChange" }, queries: [{ propertyName: "emptyTablesTemplate", first: true, predicate: LmrEmptyTablesTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "tableCellTemplate", first: true, predicate: LmrTableCellTemplateDirective, descendants: true, read: TemplateRef }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"{pivotTables: pivotTables$ | async, pivotData: pivotData$ | async} as data\">\n <ng-container *ngIf=\"data.pivotTables?.length && !(data.pivotData | pivotDataEmpty)\">\n <table *ngFor=\"let pivotTable of data.pivotTables; let first\"\n class=\"table table-without-padding table-borderless table-md\"\n [class.mt-4]=\"!first\">\n <tr *ngFor=\"let rowCells of pivotTable.cells; let rowIndex = index\">\n\n <ng-container *ngFor=\"let cell of rowCells; let cellIndex = index\">\n <td *ngIf=\"cell && {hasValue: cell | pivotTableCellHasValue} as cellData\"\n class=\"cell {{cell.constraint ? (cell.constraint.type | lowercase) : ''}} text-truncate\"\n [style.max-width.px]=\"300\"\n [class.sticky-start]=\"cell.stickyStart\"\n [class.sticky-top]=\"cell.stickyTop\"\n [rowSpan]=\"cell.rowSpan\"\n [colSpan]=\"cell.colSpan\"\n [style.top.px]=\"cell.stickyTop ? (rowIndex * 40) : undefined\"\n [style.left.px]=\"cell.stickyStart ? (cellIndex * 150) : undefined\"\n [ngClass]=\"cell.cssClass\"\n [style.background]=\"cell.background\"\n [style.color]=\"cell.background && (cell.background | contrastColor)\">\n <ng-container *ngIf=\"cell.summary\">\n <div class=\"d-flex align-items-center h-100\">\n <span class=\"summary\" [class.me-2]=\"cellData.hasValue\">{{cell.summary}}</span>\n <ng-container *ngIf=\"cellData.hasValue\">\n <ng-template #defaultTableCellTemplate>\n <span class=\"flex-grow-1 h-100 text-truncate d-inline-block\">\n {{ cell.value }}\n </span>\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"tableCellTemplate || defaultTableCellTemplate\"\n [ngTemplateOutletContext]=\"{ value: cell.value, cell: cell }\">\n </ng-template>\n </ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!cell.summary\">\n <ng-container *ngIf=\"cellData.hasValue\">\n <ng-template #defaultTableCellTemplate>\n <span class=\"d-inline-block\">\n {{ cell.value }}\n </span>\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"tableCellTemplate || defaultTableCellTemplate\"\n [ngTemplateOutletContext]=\"{ value: cell.value, cell: cell }\">\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!cellData.hasValue\">&nbsp;</ng-container>\n </ng-container>\n </td>\n </ng-container>\n </tr>\n </table>\n </ng-container>\n\n <ng-container *ngIf=\"!data.pivotTables?.length || (data.pivotData | pivotDataEmpty)\">\n <ng-template #defaultEmptyTablesTemplate>\n <div>&nbsp;</div>\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"emptyTablesTemplate || defaultEmptyTablesTemplate\"\n [ngTemplateOutletContext]=\"{ }\">\n </ng-template>\n </ng-container>\n</ng-container>\n", styles: [".table{border-spacing:0;border-collapse:separate}.pivot-data-cell,.pivot-data-group-cell{text-align:right}.pivot-column-header-cell,.pivot-row-header-cell,.pivot-data-group-cell,.pivot-row-group-header-cell,.pivot-column-group-header-cell{font-weight:700;border:1px #f8f9fa solid}.pivot-row-header-cell.sticky-start,.pivot-row-group-header-cell.sticky-start,.pivot-empty-cell.sticky-start{position:sticky;width:150px;min-width:150px;max-width:150px!important;z-index:9}.pivot-column-header-cell.sticky-top,.pivot-column-group-header-cell.sticky-top,.pivot-empty-cell.sticky-top{position:sticky;z-index:10}.pivot-empty-cell{background:white;border:1px white solid}.pivot-empty-cell.sticky-top{z-index:11}.cell.color{padding:0!important;height:30px}.cell.color .summary{padding-left:.5rem}data-input-preview.clickable-cell{cursor:pointer}data-input-preview.clickable-cell:hover{text-decoration:underline}.data-input{min-height:30px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i2.PivotDataEmptyPipe, name: "pivotDataEmpty" }, { kind: "pipe", type: i3.PivotTableCellHasValuePipe, name: "pivotTableCellHasValue" }, { kind: "pipe", type: i4.ContrastColorPipe, name: "contrastColor" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
50
+ }
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LmrPivotTableComponent, decorators: [{
52
+ type: Component,
53
+ args: [{ selector: 'lmr-pivot-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"{pivotTables: pivotTables$ | async, pivotData: pivotData$ | async} as data\">\n <ng-container *ngIf=\"data.pivotTables?.length && !(data.pivotData | pivotDataEmpty)\">\n <table *ngFor=\"let pivotTable of data.pivotTables; let first\"\n class=\"table table-without-padding table-borderless table-md\"\n [class.mt-4]=\"!first\">\n <tr *ngFor=\"let rowCells of pivotTable.cells; let rowIndex = index\">\n\n <ng-container *ngFor=\"let cell of rowCells; let cellIndex = index\">\n <td *ngIf=\"cell && {hasValue: cell | pivotTableCellHasValue} as cellData\"\n class=\"cell {{cell.constraint ? (cell.constraint.type | lowercase) : ''}} text-truncate\"\n [style.max-width.px]=\"300\"\n [class.sticky-start]=\"cell.stickyStart\"\n [class.sticky-top]=\"cell.stickyTop\"\n [rowSpan]=\"cell.rowSpan\"\n [colSpan]=\"cell.colSpan\"\n [style.top.px]=\"cell.stickyTop ? (rowIndex * 40) : undefined\"\n [style.left.px]=\"cell.stickyStart ? (cellIndex * 150) : undefined\"\n [ngClass]=\"cell.cssClass\"\n [style.background]=\"cell.background\"\n [style.color]=\"cell.background && (cell.background | contrastColor)\">\n <ng-container *ngIf=\"cell.summary\">\n <div class=\"d-flex align-items-center h-100\">\n <span class=\"summary\" [class.me-2]=\"cellData.hasValue\">{{cell.summary}}</span>\n <ng-container *ngIf=\"cellData.hasValue\">\n <ng-template #defaultTableCellTemplate>\n <span class=\"flex-grow-1 h-100 text-truncate d-inline-block\">\n {{ cell.value }}\n </span>\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"tableCellTemplate || defaultTableCellTemplate\"\n [ngTemplateOutletContext]=\"{ value: cell.value, cell: cell }\">\n </ng-template>\n </ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!cell.summary\">\n <ng-container *ngIf=\"cellData.hasValue\">\n <ng-template #defaultTableCellTemplate>\n <span class=\"d-inline-block\">\n {{ cell.value }}\n </span>\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"tableCellTemplate || defaultTableCellTemplate\"\n [ngTemplateOutletContext]=\"{ value: cell.value, cell: cell }\">\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!cellData.hasValue\">&nbsp;</ng-container>\n </ng-container>\n </td>\n </ng-container>\n </tr>\n </table>\n </ng-container>\n\n <ng-container *ngIf=\"!data.pivotTables?.length || (data.pivotData | pivotDataEmpty)\">\n <ng-template #defaultEmptyTablesTemplate>\n <div>&nbsp;</div>\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"emptyTablesTemplate || defaultEmptyTablesTemplate\"\n [ngTemplateOutletContext]=\"{ }\">\n </ng-template>\n </ng-container>\n</ng-container>\n", styles: [".table{border-spacing:0;border-collapse:separate}.pivot-data-cell,.pivot-data-group-cell{text-align:right}.pivot-column-header-cell,.pivot-row-header-cell,.pivot-data-group-cell,.pivot-row-group-header-cell,.pivot-column-group-header-cell{font-weight:700;border:1px #f8f9fa solid}.pivot-row-header-cell.sticky-start,.pivot-row-group-header-cell.sticky-start,.pivot-empty-cell.sticky-start{position:sticky;width:150px;min-width:150px;max-width:150px!important;z-index:9}.pivot-column-header-cell.sticky-top,.pivot-column-group-header-cell.sticky-top,.pivot-empty-cell.sticky-top{position:sticky;z-index:10}.pivot-empty-cell{background:white;border:1px white solid}.pivot-empty-cell.sticky-top{z-index:11}.cell.color{padding:0!important;height:30px}.cell.color .summary{padding-left:.5rem}data-input-preview.clickable-cell{cursor:pointer}data-input-preview.clickable-cell:hover{text-decoration:underline}.data-input{min-height:30px}\n"] }]
54
+ }], propDecorators: { collections: [{
55
+ type: Input
56
+ }], data: [{
57
+ type: Input
58
+ }], linkTypes: [{
59
+ type: Input
60
+ }], query: [{
61
+ type: Input
62
+ }], constraintData: [{
63
+ type: Input
64
+ }], config: [{
65
+ type: Input
66
+ }], transform: [{
67
+ type: Input
68
+ }], strings: [{
69
+ type: Input
70
+ }], cellClick: [{
71
+ type: Output
72
+ }], pivotDataChange: [{
73
+ type: Output
74
+ }], emptyTablesTemplate: [{
75
+ type: ContentChild,
76
+ args: [LmrEmptyTablesTemplateDirective, { read: TemplateRef }]
77
+ }], tableCellTemplate: [{
78
+ type: ContentChild,
79
+ args: [LmrTableCellTemplateDirective, { read: TemplateRef }]
80
+ }] } });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG1yLXBpdm90LXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2xtci1waXZvdC10YWJsZS9zcmMvbGliL2xtci1waXZvdC10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9sbXItcGl2b3QtdGFibGUvc3JjL2xpYi9sbXItcGl2b3QtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHM0osT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFL0QsT0FBTyxFQUFDLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxHQUFHLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRWpHLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBQywrQkFBK0IsRUFBRSw2QkFBNkIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7QUFrQnBILE1BQU0sT0FBTyxzQkFBc0I7SUFHMUIsV0FBVyxDQUFlO0lBRzFCLElBQUksQ0FBd0I7SUFHNUIsU0FBUyxDQUFhO0lBR3RCLEtBQUssQ0FBUTtJQUdiLGNBQWMsQ0FBaUI7SUFHL0IsTUFBTSxDQUFpQjtJQUd2QixTQUFTLENBQW9CO0lBRzdCLE9BQU8sQ0FBa0I7SUFHekIsU0FBUyxHQUFHLElBQUksWUFBWSxFQUFxQixDQUFDO0lBR2xELGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztJQUVZLG1CQUFtQixDQUFtQjtJQUN4QyxpQkFBaUIsQ0FBbUI7SUFFdkYsZ0JBQWdCLEdBQUcsSUFBSSxrQkFBa0Is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cmF0ZWd5LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVGVtcGxhdGVSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMbXJQaXZvdENvbmZpZywgTG1yUGl2b3RTdHJpbmdzLCBMbXJQaXZvdFRyYW5zZm9ybX0gZnJvbSAnLi91dGlsL2xtci1waXZvdC1jb25maWcnO1xuaW1wb3J0IHtDb2xsZWN0aW9uLCBDb25zdHJhaW50RGF0YSwgRG9jdW1lbnRzQW5kTGlua3NEYXRhLCBMaW5rVHlwZSwgUXVlcnl9IGZyb20gJ0BsdW1lZXIvZGF0YS1maWx0ZXJzJztcbmltcG9ydCB7UGl2b3REYXRhQ29udmVydGVyfSBmcm9tICcuL3V0aWwvcGl2b3QtZGF0YS1jb252ZXJ0ZXInO1xuaW1wb3J0IHtMbXJQaXZvdERhdGF9IGZyb20gJy4vdXRpbC9sbXItcGl2b3QtZGF0YSc7XG5pbXBvcnQge2FzeW5jU2NoZWR1bGVyLCBCZWhhdmlvclN1YmplY3QsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCB0YXAsIHRocm90dGxlVGltZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0xtclBpdm90VGFibGUsIExtclBpdm90VGFibGVDZWxsfSBmcm9tICcuL3V0aWwvbG1yLXBpdm90LXRhYmxlJztcbmltcG9ydCB7UGl2b3RUYWJsZUNvbnZlcnRlcn0gZnJvbSAnLi91dGlsL3Bpdm90LXRhYmxlLWNvbnZlcnRlcic7XG5pbXBvcnQge0xtckVtcHR5VGFibGVzVGVtcGxhdGVEaXJlY3RpdmUsIExtclRhYmxlQ2VsbFRlbXBsYXRlRGlyZWN0aXZlfSBmcm9tICcuL2RpcmVjdGl2ZXMvbG1yLXRlbXBsYXRlcy5kaXJlY3RpdmUnO1xuXG5pbnRlcmZhY2UgRGF0YSB7XG4gIGNvbGxlY3Rpb25zOiBDb2xsZWN0aW9uW107XG4gIGxpbmtUeXBlczogTGlua1R5cGVbXTtcbiAgZGF0YTogRG9jdW1lbnRzQW5kTGlua3NEYXRhO1xuICBxdWVyeTogUXVlcnk7XG4gIGNvbnN0cmFpbnREYXRhOiBDb25zdHJhaW50RGF0YTtcbiAgY29uZmlnOiBMbXJQaXZvdENvbmZpZztcbiAgdHJhbnNmb3JtOiBMbXJQaXZvdFRyYW5zZm9ybTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbG1yLXBpdm90LXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICdsbXItcGl2b3QtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sbXItcGl2b3QtdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIExtclBpdm90VGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbGxlY3Rpb25zOiBDb2xsZWN0aW9uW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIGRhdGE6IERvY3VtZW50c0FuZExpbmtzRGF0YTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbGlua1R5cGVzOiBMaW5rVHlwZVtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBxdWVyeTogUXVlcnk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbnN0cmFpbnREYXRhOiBDb25zdHJhaW50RGF0YTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY29uZmlnOiBMbXJQaXZvdENvbmZpZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdHJhbnNmb3JtOiBMbXJQaXZvdFRyYW5zZm9ybTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc3RyaW5nczogTG1yUGl2b3RTdHJpbmdzO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY2VsbENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxMbXJQaXZvdFRhYmxlQ2VsbD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHBpdm90RGF0YUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TG1yUGl2b3REYXRhPigpO1xuXG4gIEBDb250ZW50Q2hpbGQoTG1yRW1wdHlUYWJsZXNUZW1wbGF0ZURpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBlbXB0eVRhYmxlc1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAQ29udGVudENoaWxkKExtclRhYmxlQ2VsbFRlbXBsYXRlRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIHRhYmxlQ2VsbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcGl2b3RUcmFuc2Zvcm1lciA9IG5ldyBQaXZvdERhdGFDb252ZXJ0ZXIoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBwaXZvdFRhYmxlQ29udmVydGVyOiBQaXZvdFRhYmxlQ29udmVydGVyID0gbmV3IFBpdm90VGFibGVDb252ZXJ0ZXIoKTtcblxuICBwcml2YXRlIGRhdGFTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXRhPihudWxsKTtcblxuICBwdWJsaWMgcGl2b3REYXRhJDogT2JzZXJ2YWJsZTxMbXJQaXZvdERhdGE+O1xuICBwdWJsaWMgcGl2b3RUYWJsZXMkOiBPYnNlcnZhYmxlPExtclBpdm90VGFibGVbXT47XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IG9ic2VydmFibGUgPSB0aGlzLmRhdGFTdWJqZWN0LnBpcGUoZmlsdGVyKGRhdGEgPT4gISFkYXRhKSk7XG5cbiAgICB0aGlzLnBpdm90RGF0YSQgPSBvYnNlcnZhYmxlLnBpcGUoXG4gICAgICB0aHJvdHRsZVRpbWUoMjAwLCBhc3luY1NjaGVkdWxlciwge3RyYWlsaW5nOiB0cnVlLCBsZWFkaW5nOiB0cnVlfSksXG4gICAgICBtYXAoZGF0YSA9PiB0aGlzLmhhbmRsZURhdGEoZGF0YSkpLFxuICAgICAgdGFwKGRhdGEgPT4gdGhpcy5waXZvdERhdGFDaGFuZ2UuZW1pdChkYXRhKSksXG4gICAgKTtcblxuICAgIHRoaXMucGl2b3RUYWJsZXMkID0gdGhpcy5waXZvdERhdGEkLnBpcGUoXG4gICAgICBtYXAoZGF0YSA9PiB0aGlzLnBpdm90VGFibGVDb252ZXJ0ZXIuY3JlYXRlVGFibGVzKGRhdGEsIHRoaXMuc3RyaW5ncykpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRGF0YShkYXRhOiBEYXRhKTogTG1yUGl2b3REYXRhIHtcbiAgICByZXR1cm4gdGhpcy5waXZvdFRyYW5zZm9ybWVyLmNyZWF0ZURhdGEoXG4gICAgICBkYXRhLmNvbmZpZyxcbiAgICAgIGRhdGEudHJhbnNmb3JtLFxuICAgICAgZGF0YS5jb2xsZWN0aW9ucyxcbiAgICAgIGRhdGEubGlua1R5cGVzLFxuICAgICAgZGF0YS5kYXRhLFxuICAgICAgZGF0YS5xdWVyeSxcbiAgICAgIGRhdGEuY29uc3RyYWludERhdGFcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICB0aGlzLmRhdGFTdWJqZWN0Lm5leHQoe1xuICAgICAgY29uZmlnOiB0aGlzLmNvbmZpZyxcbiAgICAgIHRyYW5zZm9ybTogdGhpcy50cmFuc2Zvcm0sXG4gICAgICBjb2xsZWN0aW9uczogdGhpcy5jb2xsZWN0aW9ucyxcbiAgICAgIGxpbmtUeXBlczogdGhpcy5saW5rVHlwZXMsXG4gICAgICBkYXRhOiB0aGlzLmRhdGEsXG4gICAgICBxdWVyeTogdGhpcy5xdWVyeSxcbiAgICAgIGNvbnN0cmFpbnREYXRhOiB0aGlzLmNvbnN0cmFpbnREYXRhLFxuICAgIH0pO1xuICB9XG5cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ7cGl2b3RUYWJsZXM6IHBpdm90VGFibGVzJCB8IGFzeW5jLCBwaXZvdERhdGE6IHBpdm90RGF0YSQgfCBhc3luY30gYXMgZGF0YVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5waXZvdFRhYmxlcz8ubGVuZ3RoICYmICEoZGF0YS5waXZvdERhdGEgfCBwaXZvdERhdGFFbXB0eSlcIj5cbiAgICA8dGFibGUgKm5nRm9yPVwibGV0IHBpdm90VGFibGUgb2YgZGF0YS5waXZvdFRhYmxlczsgbGV0IGZpcnN0XCJcbiAgICAgICAgICAgY2xhc3M9XCJ0YWJsZSB0YWJsZS13aXRob3V0LXBhZGRpbmcgdGFibGUtYm9yZGVybGVzcyB0YWJsZS1tZFwiXG4gICAgICAgICAgIFtjbGFzcy5tdC00XT1cIiFmaXJzdFwiPlxuICAgICAgPHRyICpuZ0Zvcj1cImxldCByb3dDZWxscyBvZiBwaXZvdFRhYmxlLmNlbGxzOyBsZXQgcm93SW5kZXggPSBpbmRleFwiPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNlbGwgb2Ygcm93Q2VsbHM7IGxldCBjZWxsSW5kZXggPSBpbmRleFwiPlxuICAgICAgICAgIDx0ZCAqbmdJZj1cImNlbGwgJiYge2hhc1ZhbHVlOiBjZWxsIHwgcGl2b3RUYWJsZUNlbGxIYXNWYWx1ZX0gYXMgY2VsbERhdGFcIlxuICAgICAgICAgICAgICBjbGFzcz1cImNlbGwge3tjZWxsLmNvbnN0cmFpbnQgPyAoY2VsbC5jb25zdHJhaW50LnR5cGUgfCBsb3dlcmNhc2UpIDogJyd9fSB0ZXh0LXRydW5jYXRlXCJcbiAgICAgICAgICAgICAgW3N0eWxlLm1heC13aWR0aC5weF09XCIzMDBcIlxuICAgICAgICAgICAgICBbY2xhc3Muc3RpY2t5LXN0YXJ0XT1cImNlbGwuc3RpY2t5U3RhcnRcIlxuICAgICAgICAgICAgICBbY2xhc3Muc3RpY2t5LXRvcF09XCJjZWxsLnN0aWNreVRvcFwiXG4gICAgICAgICAgICAgIFtyb3dTcGFuXT1cImNlbGwucm93U3BhblwiXG4gICAgICAgICAgICAgIFtjb2xTcGFuXT1cImNlbGwuY29sU3BhblwiXG4gICAgICAgICAgICAgIFtzdHlsZS50b3AucHhdPVwiY2VsbC5zdGlja3lUb3AgPyAocm93SW5kZXggKiA0MCkgOiB1bmRlZmluZWRcIlxuICAgICAgICAgICAgICBbc3R5bGUubGVmdC5weF09XCJjZWxsLnN0aWNreVN0YXJ0ID8gKGNlbGxJbmRleCAqIDE1MCkgOiB1bmRlZmluZWRcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJjZWxsLmNzc0NsYXNzXCJcbiAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwiY2VsbC5iYWNrZ3JvdW5kXCJcbiAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cImNlbGwuYmFja2dyb3VuZCAmJiAoY2VsbC5iYWNrZ3JvdW5kIHwgY29udHJhc3RDb2xvcilcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjZWxsLnN1bW1hcnlcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgaC0xMDBcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1bW1hcnlcIiBbY2xhc3MubWUtMl09XCJjZWxsRGF0YS5oYXNWYWx1ZVwiPnt7Y2VsbC5zdW1tYXJ5fX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNlbGxEYXRhLmhhc1ZhbHVlXCI+XG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUYWJsZUNlbGxUZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmxleC1ncm93LTEgaC0xMDAgdGV4dC10cnVuY2F0ZSBkLWlubGluZS1ibG9ja1wiPlxuICAgICAgICAgICAgICAgICAgICB7eyBjZWxsLnZhbHVlIH19XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFibGVDZWxsVGVtcGxhdGUgfHwgZGVmYXVsdFRhYmxlQ2VsbFRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgdmFsdWU6IGNlbGwudmFsdWUsIGNlbGw6IGNlbGwgfVwiPlxuICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY2VsbC5zdW1tYXJ5XCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjZWxsRGF0YS5oYXNWYWx1ZVwiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRhYmxlQ2VsbFRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkLWlubGluZS1ibG9ja1wiPlxuICAgICAgICAgICAgICAgICAgICB7eyBjZWxsLnZhbHVlIH19XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFibGVDZWxsVGVtcGxhdGUgfHwgZGVmYXVsdFRhYmxlQ2VsbFRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHZhbHVlOiBjZWxsLnZhbHVlLCBjZWxsOiBjZWxsIH1cIj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjZWxsRGF0YS5oYXNWYWx1ZVwiPiZuYnNwOzwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L3RyPlxuICAgIDwvdGFibGU+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZGF0YS5waXZvdFRhYmxlcz8ubGVuZ3RoIHx8IChkYXRhLnBpdm90RGF0YSB8IHBpdm90RGF0YUVtcHR5KVwiPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdEVtcHR5VGFibGVzVGVtcGxhdGU+XG4gICAgICA8ZGl2PiZuYnNwOzwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImVtcHR5VGFibGVzVGVtcGxhdGUgfHwgZGVmYXVsdEVtcHR5VGFibGVzVGVtcGxhdGVcIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgIH1cIj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -0,0 +1,42 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { LmrPivotTableComponent } from './lmr-pivot-table.component';
4
+ import { PivotDataEmptyPipe } from './pipes/pivot-data-empty.pipe';
5
+ import { PivotTableCellHasValuePipe } from './pipes/pivot-table-value.pipe';
6
+ import { ContrastColorPipe } from './pipes/contrast-color.pipe';
7
+ import { LmrEmptyTablesTemplateDirective, LmrTableCellTemplateDirective } from './directives/lmr-templates.directive';
8
+ import * as i0 from "@angular/core";
9
+ export class LmrPivotTableModule {
10
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LmrPivotTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: LmrPivotTableModule, declarations: [LmrPivotTableComponent,
12
+ PivotDataEmptyPipe,
13
+ PivotTableCellHasValuePipe,
14
+ ContrastColorPipe,
15
+ LmrEmptyTablesTemplateDirective,
16
+ LmrTableCellTemplateDirective], imports: [CommonModule], exports: [LmrPivotTableComponent,
17
+ LmrEmptyTablesTemplateDirective,
18
+ LmrTableCellTemplateDirective] });
19
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LmrPivotTableModule, imports: [CommonModule] });
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LmrPivotTableModule, decorators: [{
22
+ type: NgModule,
23
+ args: [{
24
+ declarations: [
25
+ LmrPivotTableComponent,
26
+ PivotDataEmptyPipe,
27
+ PivotTableCellHasValuePipe,
28
+ ContrastColorPipe,
29
+ LmrEmptyTablesTemplateDirective,
30
+ LmrTableCellTemplateDirective,
31
+ ],
32
+ imports: [
33
+ CommonModule,
34
+ ],
35
+ exports: [
36
+ LmrPivotTableComponent,
37
+ LmrEmptyTablesTemplateDirective,
38
+ LmrTableCellTemplateDirective,
39
+ ]
40
+ }]
41
+ }] });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG1yLXBpdm90LXRhYmxlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2xtci1waXZvdC10YWJsZS9zcmMvbGliL2xtci1waXZvdC10YWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDbkUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFDLCtCQUErQixFQUFFLDZCQUE2QixFQUFDLE1BQU0sc0NBQXNDLENBQUM7O0FBb0JwSCxNQUFNLE9BQU8sbUJBQW1CO3dHQUFuQixtQkFBbUI7eUdBQW5CLG1CQUFtQixpQkFoQjVCLHNCQUFzQjtZQUN0QixrQkFBa0I7WUFDbEIsMEJBQTBCO1lBQzFCLGlCQUFpQjtZQUNqQiwrQkFBK0I7WUFDL0IsNkJBQTZCLGFBRzdCLFlBQVksYUFHWixzQkFBc0I7WUFDdEIsK0JBQStCO1lBQy9CLDZCQUE2Qjt5R0FHcEIsbUJBQW1CLFlBUjVCLFlBQVk7OzRGQVFILG1CQUFtQjtrQkFsQi9CLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHNCQUFzQjt3QkFDdEIsa0JBQWtCO3dCQUNsQiwwQkFBMEI7d0JBQzFCLGlCQUFpQjt3QkFDakIsK0JBQStCO3dCQUMvQiw2QkFBNkI7cUJBQzlCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3FCQUNiO29CQUNELE9BQU8sRUFBRTt3QkFDUCxzQkFBc0I7d0JBQ3RCLCtCQUErQjt3QkFDL0IsNkJBQTZCO3FCQUM5QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0xtclBpdm90VGFibGVDb21wb25lbnR9IGZyb20gJy4vbG1yLXBpdm90LXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQge1Bpdm90RGF0YUVtcHR5UGlwZX0gZnJvbSAnLi9waXBlcy9waXZvdC1kYXRhLWVtcHR5LnBpcGUnO1xuaW1wb3J0IHtQaXZvdFRhYmxlQ2VsbEhhc1ZhbHVlUGlwZX0gZnJvbSAnLi9waXBlcy9waXZvdC10YWJsZS12YWx1ZS5waXBlJztcbmltcG9ydCB7Q29udHJhc3RDb2xvclBpcGV9IGZyb20gJy4vcGlwZXMvY29udHJhc3QtY29sb3IucGlwZSc7XG5pbXBvcnQge0xtckVtcHR5VGFibGVzVGVtcGxhdGVEaXJlY3RpdmUsIExtclRhYmxlQ2VsbFRlbXBsYXRlRGlyZWN0aXZlfSBmcm9tICcuL2RpcmVjdGl2ZXMvbG1yLXRlbXBsYXRlcy5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBMbXJQaXZvdFRhYmxlQ29tcG9uZW50LFxuICAgIFBpdm90RGF0YUVtcHR5UGlwZSxcbiAgICBQaXZvdFRhYmxlQ2VsbEhhc1ZhbHVlUGlwZSxcbiAgICBDb250cmFzdENvbG9yUGlwZSxcbiAgICBMbXJFbXB0eVRhYmxlc1RlbXBsYXRlRGlyZWN0aXZlLFxuICAgIExtclRhYmxlQ2VsbFRlbXBsYXRlRGlyZWN0aXZlLFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTG1yUGl2b3RUYWJsZUNvbXBvbmVudCxcbiAgICBMbXJFbXB0eVRhYmxlc1RlbXBsYXRlRGlyZWN0aXZlLFxuICAgIExtclRhYmxlQ2VsbFRlbXBsYXRlRGlyZWN0aXZlLFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIExtclBpdm90VGFibGVNb2R1bGUge1xufVxuIl19
@@ -0,0 +1,41 @@
1
+ /*
2
+ * Lumeer: Modern Data Definition and Processing Platform
3
+ *
4
+ * Copyright (C) since 2017 Lumeer.io, s.r.o. and/or its affiliates.
5
+ *
6
+ * This program is free software: you can redistribute it and/or modify
7
+ * it under the terms of the GNU General Public License as published by
8
+ * the Free Software Foundation, either version 3 of the License, or
9
+ * (at your option) any later version.
10
+ *
11
+ * This program is distributed in the hope that it will be useful,
12
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ * GNU General Public License for more details.
15
+ *
16
+ * You should have received a copy of the GNU General Public License
17
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
18
+ */
19
+ import { Injectable, Pipe } from '@angular/core';
20
+ import { contrastColor } from '../util/pivot-util';
21
+ import * as i0 from "@angular/core";
22
+ export class ContrastColorPipe {
23
+ transform(color, returnCodes, opacity) {
24
+ return contrastColor(color, returnCodes, opacity);
25
+ }
26
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ContrastColorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
27
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ContrastColorPipe, name: "contrastColor" });
28
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ContrastColorPipe, providedIn: 'root' });
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ContrastColorPipe, decorators: [{
31
+ type: Pipe,
32
+ args: [{
33
+ name: 'contrastColor',
34
+ }]
35
+ }, {
36
+ type: Injectable,
37
+ args: [{
38
+ providedIn: 'root',
39
+ }]
40
+ }] });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhc3QtY29sb3IucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xtci1waXZvdC10YWJsZS9zcmMvbGliL3BpcGVzL2NvbnRyYXN0LWNvbG9yLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBQ0gsT0FBTyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQzs7QUFTakQsTUFBTSxPQUFPLGlCQUFpQjtJQUNyQixTQUFTLENBQUMsS0FBYSxFQUFFLFdBQTJDLEVBQUUsT0FBZ0I7UUFDM0YsT0FBTyxhQUFhLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDO3dHQUhVLGlCQUFpQjtzR0FBakIsaUJBQWlCOzRHQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs7NEZBRVAsaUJBQWlCO2tCQU43QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxlQUFlO2lCQUN0Qjs7a0JBQ0EsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogTHVtZWVyOiBNb2Rlcm4gRGF0YSBEZWZpbml0aW9uIGFuZCBQcm9jZXNzaW5nIFBsYXRmb3JtXG4gKlxuICogQ29weXJpZ2h0IChDKSBzaW5jZSAyMDE3IEx1bWVlci5pbywgcy5yLm8uIGFuZC9vciBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5pbXBvcnQge0luamVjdGFibGUsIFBpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtjb250cmFzdENvbG9yfSBmcm9tICcuLi91dGlsL3Bpdm90LXV0aWwnO1xuXG5cbkBQaXBlKHtcbiAgbmFtZTogJ2NvbnRyYXN0Q29sb3InLFxufSlcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBDb250cmFzdENvbG9yUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBwdWJsaWMgdHJhbnNmb3JtKGNvbG9yOiBzdHJpbmcsIHJldHVybkNvZGVzPzoge2Rhcms6IHN0cmluZzsgbGlnaHQ6IHN0cmluZ30sIG9wYWNpdHk/OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiBjb250cmFzdENvbG9yKGNvbG9yLCByZXR1cm5Db2Rlcywgb3BhY2l0eSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,38 @@
1
+ /*
2
+ * Lumeer: Modern Data Definition and Processing Platform
3
+ *
4
+ * Copyright (C) since 2017 Lumeer.io, s.r.o. and/or its affiliates.
5
+ *
6
+ * This program is free software: you can redistribute it and/or modify
7
+ * it under the terms of the GNU General Public License as published by
8
+ * the Free Software Foundation, either version 3 of the License, or
9
+ * (at your option) any later version.
10
+ *
11
+ * This program is distributed in the hope that it will be useful,
12
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ * GNU General Public License for more details.
15
+ *
16
+ * You should have received a copy of the GNU General Public License
17
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
18
+ */
19
+ import { Pipe } from '@angular/core';
20
+ import * as i0 from "@angular/core";
21
+ export class PivotDataEmptyPipe {
22
+ transform(value) {
23
+ let anythingToDisplay = false;
24
+ value?.data?.forEach(d => {
25
+ anythingToDisplay = anythingToDisplay || d.columnHeaders?.length > 0 || d.rowHeaders?.length > 0;
26
+ });
27
+ return !anythingToDisplay;
28
+ }
29
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotDataEmptyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
30
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PivotDataEmptyPipe, name: "pivotDataEmpty" });
31
+ }
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotDataEmptyPipe, decorators: [{
33
+ type: Pipe,
34
+ args: [{
35
+ name: 'pivotDataEmpty',
36
+ }]
37
+ }] });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGl2b3QtZGF0YS1lbXB0eS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbG1yLXBpdm90LXRhYmxlL3NyYy9saWIvcGlwZXMvcGl2b3QtZGF0YS1lbXB0eS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQUNILE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDOztBQU9sRCxNQUFNLE9BQU8sa0JBQWtCO0lBQ3RCLFNBQVMsQ0FBQyxLQUFtQjtRQUNsQyxJQUFJLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUU5QixLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN2QixpQkFBaUIsR0FBRyxpQkFBaUIsSUFBSSxDQUFDLENBQUMsYUFBYSxFQUFFLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ25HLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLGlCQUFpQixDQUFDO0lBQzVCLENBQUM7d0dBVFUsa0JBQWtCO3NHQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBSDlCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGdCQUFnQjtpQkFDdkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogTHVtZWVyOiBNb2Rlcm4gRGF0YSBEZWZpbml0aW9uIGFuZCBQcm9jZXNzaW5nIFBsYXRmb3JtXG4gKlxuICogQ29weXJpZ2h0IChDKSBzaW5jZSAyMDE3IEx1bWVlci5pbywgcy5yLm8uIGFuZC9vciBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5pbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0xtclBpdm90RGF0YX0gZnJvbSAnLi4vdXRpbC9sbXItcGl2b3QtZGF0YSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3Bpdm90RGF0YUVtcHR5Jyxcbn0pXG5leHBvcnQgY2xhc3MgUGl2b3REYXRhRW1wdHlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHB1YmxpYyB0cmFuc2Zvcm0odmFsdWU6IExtclBpdm90RGF0YSk6IGJvb2xlYW4ge1xuICAgIGxldCBhbnl0aGluZ1RvRGlzcGxheSA9IGZhbHNlO1xuXG4gICAgdmFsdWU/LmRhdGE/LmZvckVhY2goZCA9PiB7XG4gICAgICBhbnl0aGluZ1RvRGlzcGxheSA9IGFueXRoaW5nVG9EaXNwbGF5IHx8IGQuY29sdW1uSGVhZGVycz8ubGVuZ3RoID4gMCB8fCBkLnJvd0hlYWRlcnM/Lmxlbmd0aCA+IDA7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gIWFueXRoaW5nVG9EaXNwbGF5O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,35 @@
1
+ /*
2
+ * Lumeer: Modern Data Definition and Processing Platform
3
+ *
4
+ * Copyright (C) since 2017 Lumeer.io, s.r.o. and/or its affiliates.
5
+ *
6
+ * This program is free software: you can redistribute it and/or modify
7
+ * it under the terms of the GNU General Public License as published by
8
+ * the Free Software Foundation, either version 3 of the License, or
9
+ * (at your option) any later version.
10
+ *
11
+ * This program is distributed in the hope that it will be useful,
12
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ * GNU General Public License for more details.
15
+ *
16
+ * You should have received a copy of the GNU General Public License
17
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
18
+ */
19
+ import { Pipe } from '@angular/core';
20
+ import { isNotNullOrUndefined } from '@lumeer/utils';
21
+ import * as i0 from "@angular/core";
22
+ export class PivotTableCellHasValuePipe {
23
+ transform(cell) {
24
+ return isNotNullOrUndefined(cell.value) && String(cell.value).trim() !== '';
25
+ }
26
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotTableCellHasValuePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
27
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PivotTableCellHasValuePipe, name: "pivotTableCellHasValue" });
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotTableCellHasValuePipe, decorators: [{
30
+ type: Pipe,
31
+ args: [{
32
+ name: 'pivotTableCellHasValue',
33
+ }]
34
+ }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGl2b3QtdGFibGUtdmFsdWUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xtci1waXZvdC10YWJsZS9zcmMvbGliL3BpcGVzL3Bpdm90LXRhYmxlLXZhbHVlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBQ0gsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZUFBZSxDQUFDOztBQU9uRCxNQUFNLE9BQU8sMEJBQTBCO0lBQzlCLFNBQVMsQ0FBQyxJQUF1QjtRQUN0QyxPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUM5RSxDQUFDO3dHQUhVLDBCQUEwQjtzR0FBMUIsMEJBQTBCOzs0RkFBMUIsMEJBQTBCO2tCQUh0QyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSx3QkFBd0I7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIEx1bWVlcjogTW9kZXJuIERhdGEgRGVmaW5pdGlvbiBhbmQgUHJvY2Vzc2luZyBQbGF0Zm9ybVxuICpcbiAqIENvcHlyaWdodCAoQykgc2luY2UgMjAxNyBMdW1lZXIuaW8sIHMuci5vLiBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtpc05vdE51bGxPclVuZGVmaW5lZH0gZnJvbSAnQGx1bWVlci91dGlscyc7XG5cbmltcG9ydCB7TG1yUGl2b3RUYWJsZUNlbGx9IGZyb20gJy4uL3V0aWwvbG1yLXBpdm90LXRhYmxlJztcblxuQFBpcGUoe1xuICBuYW1lOiAncGl2b3RUYWJsZUNlbGxIYXNWYWx1ZScsXG59KVxuZXhwb3J0IGNsYXNzIFBpdm90VGFibGVDZWxsSGFzVmFsdWVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHB1YmxpYyB0cmFuc2Zvcm0oY2VsbDogTG1yUGl2b3RUYWJsZUNlbGwpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNOb3ROdWxsT3JVbmRlZmluZWQoY2VsbC52YWx1ZSkgJiYgU3RyaW5nKGNlbGwudmFsdWUpLnRyaW0oKSAhPT0gJyc7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,12 @@
1
+ export var LmrPivotConfigVersion;
2
+ (function (LmrPivotConfigVersion) {
3
+ LmrPivotConfigVersion["V1"] = "1";
4
+ })(LmrPivotConfigVersion || (LmrPivotConfigVersion = {}));
5
+ export var LmrPivotValueType;
6
+ (function (LmrPivotValueType) {
7
+ LmrPivotValueType["Default"] = "default";
8
+ LmrPivotValueType["ColumnPercentage"] = "column";
9
+ LmrPivotValueType["RowPercentage"] = "row";
10
+ LmrPivotValueType["AllPercentage"] = "all";
11
+ })(LmrPivotValueType || (LmrPivotValueType = {}));
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG1yLXBpdm90LWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xtci1waXZvdC10YWJsZS9zcmMvbGliL3V0aWwvbG1yLXBpdm90LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5QkEsTUFBTSxDQUFOLElBQVkscUJBRVg7QUFGRCxXQUFZLHFCQUFxQjtJQUMvQixpQ0FBUSxDQUFBO0FBQ1YsQ0FBQyxFQUZXLHFCQUFxQixLQUFyQixxQkFBcUIsUUFFaEM7QUE4QkQsTUFBTSxDQUFOLElBQVksaUJBS1g7QUFMRCxXQUFZLGlCQUFpQjtJQUMzQix3Q0FBbUIsQ0FBQTtJQUNuQixnREFBMkIsQ0FBQTtJQUMzQiwwQ0FBcUIsQ0FBQTtJQUNyQiwwQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBTFcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQUs1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uc3RyYWludCwgRGF0YUFnZ3JlZ2F0aW9uVHlwZSwgUXVlcnlBdHRyaWJ1dGUsIFF1ZXJ5U3RlbX0gZnJvbSAnQGx1bWVlci9kYXRhLWZpbHRlcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExtclBpdm90Q29uZmlnIHtcbiAgdmVyc2lvbj86IExtclBpdm90Q29uZmlnVmVyc2lvbjtcbiAgc3RlbXNDb25maWdzOiBMbXJQaXZvdFN0ZW1Db25maWdbXTtcbiAgbWVyZ2VUYWJsZXM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExtclBpdm90VHJhbnNmb3JtIHtcbiAgY2hlY2tWYWxpZENvbnN0cmFpbnRPdmVycmlkZT86IChjMTogQ29uc3RyYWludCwgYzI6IENvbnN0cmFpbnQpID0+IENvbnN0cmFpbnQ7XG4gIHRyYW5zbGF0ZUFnZ3JlZ2F0aW9uPzogKHR5cGU6IERhdGFBZ2dyZWdhdGlvblR5cGUpID0+IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMbXJQaXZvdFN0cmluZ3Mge1xuICBzdW1tYXJ5U3RyaW5nOiBzdHJpbmc7XG4gIGhlYWRlclN1bW1hcnlTdHJpbmc6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMbXJQaXZvdFN0ZW1Db25maWcge1xuICBzdGVtPzogUXVlcnlTdGVtO1xuICByb3dBdHRyaWJ1dGVzOiBMbXJQaXZvdFJvd0F0dHJpYnV0ZVtdO1xuICBjb2x1bW5BdHRyaWJ1dGVzOiBMbXJQaXZvdENvbHVtbkF0dHJpYnV0ZVtdO1xuICB2YWx1ZUF0dHJpYnV0ZXM6IExtclBpdm90VmFsdWVBdHRyaWJ1dGVbXTtcbn1cblxuZXhwb3J0IGVudW0gTG1yUGl2b3RDb25maWdWZXJzaW9uIHtcbiAgVjEgPSAnMScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG1yUGl2b3RBdHRyaWJ1dGUgZXh0ZW5kcyBRdWVyeUF0dHJpYnV0ZSB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIExtclBpdm90Um93Q29sdW1uQXR0cmlidXRlIGV4dGVuZHMgTG1yUGl2b3RBdHRyaWJ1dGUge1xuICBzaG93U3Vtcz86IGJvb2xlYW47XG4gIHN0aWNreT86IGJvb2xlYW47XG4gIHNvcnQ/OiBMbXJQaXZvdFNvcnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG1yUGl2b3RSb3dBdHRyaWJ1dGUgZXh0ZW5kcyBMbXJQaXZvdFJvd0NvbHVtbkF0dHJpYnV0ZSB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIExtclBpdm90Q29sdW1uQXR0cmlidXRlIGV4dGVuZHMgTG1yUGl2b3RSb3dDb2x1bW5BdHRyaWJ1dGUge31cblxuZXhwb3J0IGludGVyZmFjZSBMbXJQaXZvdFNvcnRWYWx1ZSB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGlzU3VtbWFyeT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG1yUGl2b3RTb3J0TGlzdCB7XG4gIHZhbHVlVGl0bGU6IHN0cmluZztcbiAgdmFsdWVzOiBMbXJQaXZvdFNvcnRWYWx1ZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExtclBpdm90U29ydCB7XG4gIGF0dHJpYnV0ZT86IExtclBpdm90QXR0cmlidXRlO1xuICBsaXN0PzogTG1yUGl2b3RTb3J0TGlzdDtcbiAgYXNjOiBib29sZWFuO1xufVxuXG5leHBvcnQgZW51bSBMbXJQaXZvdFZhbHVlVHlwZSB7XG4gIERlZmF1bHQgPSAnZGVmYXVsdCcsXG4gIENvbHVtblBlcmNlbnRhZ2UgPSAnY29sdW1uJyxcbiAgUm93UGVyY2VudGFnZSA9ICdyb3cnLFxuICBBbGxQZXJjZW50YWdlID0gJ2FsbCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG1yUGl2b3RWYWx1ZUF0dHJpYnV0ZSBleHRlbmRzIExtclBpdm90QXR0cmlidXRlIHtcbiAgYWdncmVnYXRpb246IERhdGFBZ2dyZWdhdGlvblR5cGU7XG4gIHZhbHVlVHlwZT86IExtclBpdm90VmFsdWVUeXBlO1xufVxuIl19
@@ -0,0 +1,12 @@
1
+ export const COLOR_GRAY100 = '#f8f9fa';
2
+ export const COLOR_GRAY200 = '#ecf0f1';
3
+ export const COLOR_GRAY300 = '#dee2e6';
4
+ export const COLOR_GRAY400 = '#ced4da';
5
+ export const COLOR_GRAY500 = '#b4bcc2';
6
+ export const COLOR_GRAY600 = '#95a5a6';
7
+ export const COLOR_GRAY700 = '#7b8a8b';
8
+ export const COLOR_GRAY800 = '#343a40';
9
+ export const COLOR_GRAY900 = '#212529';
10
+ export const COLOR_PRIMARY = '#253746';
11
+ export const COLOR_LIGHT = COLOR_GRAY200;
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG1yLXBpdm90LWNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xtci1waXZvdC10YWJsZS9zcmMvbGliL3V0aWwvbG1yLXBpdm90LWNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQztBQUN2QyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQztBQUN2QyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQztBQUV2QyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDO0FBRXZDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQ09MT1JfR1JBWTEwMCA9ICcjZjhmOWZhJztcbmV4cG9ydCBjb25zdCBDT0xPUl9HUkFZMjAwID0gJyNlY2YwZjEnO1xuZXhwb3J0IGNvbnN0IENPTE9SX0dSQVkzMDAgPSAnI2RlZTJlNic7XG5leHBvcnQgY29uc3QgQ09MT1JfR1JBWTQwMCA9ICcjY2VkNGRhJztcbmV4cG9ydCBjb25zdCBDT0xPUl9HUkFZNTAwID0gJyNiNGJjYzInO1xuZXhwb3J0IGNvbnN0IENPTE9SX0dSQVk2MDAgPSAnIzk1YTVhNic7XG5leHBvcnQgY29uc3QgQ09MT1JfR1JBWTcwMCA9ICcjN2I4YThiJztcbmV4cG9ydCBjb25zdCBDT0xPUl9HUkFZODAwID0gJyMzNDNhNDAnO1xuZXhwb3J0IGNvbnN0IENPTE9SX0dSQVk5MDAgPSAnIzIxMjUyOSc7XG5cbmV4cG9ydCBjb25zdCBDT0xPUl9QUklNQVJZID0gJyMyNTM3NDYnO1xuXG5leHBvcnQgY29uc3QgQ09MT1JfTElHSFQgPSBDT0xPUl9HUkFZMjAwO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG1yLXBpdm90LWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sbXItcGl2b3QtdGFibGUvc3JjL2xpYi91dGlsL2xtci1waXZvdC1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogTHVtZWVyOiBNb2Rlcm4gRGF0YSBEZWZpbml0aW9uIGFuZCBQcm9jZXNzaW5nIFBsYXRmb3JtXG4gKlxuICogQ29weXJpZ2h0IChDKSBzaW5jZSAyMDE3IEx1bWVlci5pbywgcy5yLm8uIGFuZC9vciBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5pbXBvcnQge0NvbnN0cmFpbnQsIENvbnN0cmFpbnREYXRhLCBEYXRhQWdncmVnYXRpb25UeXBlLCBEYXRhUmVzb3VyY2V9IGZyb20gJ0BsdW1lZXIvZGF0YS1maWx0ZXJzJztcbmltcG9ydCB7TG1yUGl2b3RTb3J0LCBMbXJQaXZvdFZhbHVlVHlwZX0gZnJvbSAnLi9sbXItcGl2b3QtY29uZmlnJztcblxuZXhwb3J0IGludGVyZmFjZSBMbXJQaXZvdERhdGEge1xuICBkYXRhOiBMbXJQaXZvdFN0ZW1EYXRhW107XG5cbiAgY29uc3RyYWludERhdGE/OiBDb25zdHJhaW50RGF0YTtcbiAgbWVyZ2VUYWJsZXM/OiBib29sZWFuO1xuICBhYmxlVG9NZXJnZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG1yUGl2b3RTdGVtRGF0YSB7XG4gIGNvbHVtbkhlYWRlcnM6IExtclBpdm90RGF0YUhlYWRlcltdO1xuICByb3dIZWFkZXJzOiBMbXJQaXZvdERhdGFIZWFkZXJbXTtcbiAgdmFsdWVUaXRsZXM6IHN0cmluZ1tdO1xuICB2YWx1ZXM6IGFueVtdW107XG4gIGRhdGFSZXNvdXJjZXM6IERhdGFSZXNvdXJjZVtdW11bXTtcbiAgdmFsdWVzQ29uc3RyYWludHM/OiBDb25zdHJhaW50W107XG4gIHZhbHVlVHlwZXM/OiBMbXJQaXZvdFZhbHVlVHlwZVtdO1xuICB2YWx1ZUFnZ3JlZ2F0aW9ucz86IERhdGFBZ2dyZWdhdGlvblR5cGVbXTtcblxuICByb3dTaG93U3VtczogYm9vbGVhbltdO1xuICByb3dTdGlja3k6IGJvb2xlYW5bXTtcbiAgcm93U29ydHM/OiBMbXJQaXZvdFNvcnRbXTtcbiAgY29sdW1uU2hvd1N1bXM6IGJvb2xlYW5bXTtcbiAgY29sdW1uU3RpY2t5OiBib29sZWFuW107XG4gIGNvbHVtblNvcnRzPzogTG1yUGl2b3RTb3J0W107XG4gIGhhc0FkZGl0aW9uYWxDb2x1bW5MZXZlbD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG1yUGl2b3REYXRhSGVhZGVyIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgY2hpbGRyZW4/OiBMbXJQaXZvdERhdGFIZWFkZXJbXTtcbiAgdGFyZ2V0SW5kZXg/OiBudW1iZXI7XG4gIGNvbG9yOiBzdHJpbmc7XG4gIGlzVmFsdWVIZWFkZXI6IGJvb2xlYW47XG4gIGNvbnN0cmFpbnQ/OiBDb25zdHJhaW50O1xuICBhdHRyaWJ1dGVOYW1lPzogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG1yLXBpdm90LXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbG1yLXBpdm90LXRhYmxlL3NyYy9saWIvdXRpbC9sbXItcGl2b3QtdGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBMdW1lZXI6IE1vZGVybiBEYXRhIERlZmluaXRpb24gYW5kIFByb2Nlc3NpbmcgUGxhdGZvcm1cbiAqXG4gKiBDb3B5cmlnaHQgKEMpIHNpbmNlIDIwMTcgTHVtZWVyLmlvLCBzLnIuby4gYW5kL29yIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cbmltcG9ydCB7Q29uc3RyYWludCwgRGF0YVJlc291cmNlfSBmcm9tICdAbHVtZWVyL2RhdGEtZmlsdGVycyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG1yUGl2b3RUYWJsZSB7XG4gIGNlbGxzOiBMbXJQaXZvdFRhYmxlQ2VsbFtdW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG1yUGl2b3RUYWJsZUNlbGwge1xuICB2YWx1ZTogYW55O1xuICBkYXRhUmVzb3VyY2VzPzogRGF0YVJlc291cmNlW107XG4gIGNvbnN0cmFpbnQ/OiBDb25zdHJhaW50O1xuICBzdW1tYXJ5Pzogc3RyaW5nO1xuICByb3dTcGFuOiBudW1iZXI7XG4gIGNvbFNwYW46IG51bWJlcjtcbiAgY3NzQ2xhc3M6IHN0cmluZztcbiAgaXNIZWFkZXI6IGJvb2xlYW47XG4gIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIGxhYmVsPzogc3RyaW5nO1xuICBzdGlja3lUb3A/OiBib29sZWFuO1xuICBzdGlja3lTdGFydD86IGJvb2xlYW47XG59XG4iXX0=