@evotor-dev/ui-kit 8.2.0 → 8.4.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.
@@ -38,17 +38,23 @@ export class EvoTableComponent {
38
38
  event: event,
39
39
  });
40
40
  }
41
+ getClasses(row, item) {
42
+ return typeof this.rowClasses === 'function' ? this.rowClasses(row, item) : this.rowClasses;
43
+ }
44
+ getTitle(row, item) {
45
+ return typeof this.rowTitle === 'function' ? this.rowTitle(row, item) : this.rowTitle;
46
+ }
41
47
  filterColumns() {
42
48
  if (this.visibleColumns && this.columns) {
43
49
  this.filteredColumns = this.columns.filter((col) => this.visibleColumns.includes(col.prop));
44
50
  }
45
51
  }
46
52
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
47
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoTableComponent, isStandalone: true, selector: "evo-table", inputs: { data: "data", showHeader: "showHeader", stripe: "stripe", visibleColumns: "visibleColumns", rowClasses: "rowClasses" }, outputs: { rowClick: "rowClick" }, queries: [{ propertyName: "columns", predicate: EvoTableColumnComponent }], usesOnChanges: true, ngImport: i0, template: "<div class=\"evo-table\" [ngClass]=\"{'evo-table_row-clickable': states.isRowClickable}\">\n @if (showHeader) {\n <div class=\"evo-table__row evo-table__row_head mobile-hide\">\n @for (column of filteredColumns; track column.label) {\n <div class=\"evo-table__cell evo-table__cell_head\" [ngClass]=\"column.className\">\n @if (column.header; as header) {\n <ng-container *ngTemplateOutlet=\"header; context: {label: column.label}\" />\n } @else {\n {{ column.label }}\n }\n </div>\n }\n </div>\n }\n\n @for (item of data; track item; let row = $index) {\n <div class=\"evo-table__row\" [ngClass]=\"rowClasses\" (click)=\"onRowClick(row, item, $event)\">\n @for (column of filteredColumns; track column.label; let col = $index) {\n <div class=\"evo-table__cell\" [ngClass]=\"column.className\">\n @if (column.label) {\n <div class=\"evo-table__label mobile-show\">\n @if (column.header; as header) {\n <ng-container *ngTemplateOutlet=\"header; context: {label: column.label}\" />\n } @else {\n {{ column.label }}\n }\n </div>\n }\n\n @if (column.content; as content) {\n <div class=\"evo-table__data\">\n <ng-container *ngTemplateOutlet=\"content; context: {row: row, col: col, item: item}\" />\n </div>\n } @else {\n {{ column.formatter(row, col, column.prop !== undefined ? item[column.prop] : item, item) }}\n }\n </div>\n }\n </div>\n }\n</div>\n", styles: [".evo-table{color:#212121}@media (min-width: 768px){.evo-table{display:table;width:100%}}.evo-table__row{padding:8px}.evo-table__row:nth-child(2n){background-color:#f4f6f8}@media (min-width: 768px){.evo-table__row{display:table-row}.evo-table__row:hover{background-color:#fff8e6}.evo-table__row_head:hover{background:none}}.evo-table__cell{margin-bottom:20px}.evo-table__cell:last-child{margin-bottom:0}@media (min-width: 768px){.evo-table__cell{display:table-cell;height:48px;padding:0 8px;vertical-align:middle}}.evo-table__cell_head{height:auto;padding-top:0;padding-bottom:16px;font-weight:600;white-space:nowrap}@media (min-width: 768px){.evo-table__cell.text-right{text-align:right}}@media (min-width: 768px){.evo-table__cell.text-center{text-align:center}}.evo-table__sort{position:relative;display:inline-block;padding-right:20px;vertical-align:top;cursor:pointer}.evo-table__sort_up:after,.evo-table__sort_down:after{content:\"\";position:absolute;right:0;border:5px solid transparent}.evo-table__sort_up:after{top:4px;border-bottom-color:#212121}.evo-table__sort_down:after{top:8px;border-top-color:#212121}.evo-table__label{margin-bottom:4px;font-weight:600}.evo-table_row-clickable .evo-table__row{cursor:pointer}:host(.evo-table_mobile) .evo-table__row{padding:0}@media (min-width: 768px){:host(.evo-table_mobile) .evo-table__row{display:table-row}:host(.evo-table_mobile) .evo-table__row:hover{background-color:#fff8e6}:host(.evo-table_mobile) .evo-table__row_head:hover{background:none}}:host(.evo-table_mobile) .evo-table__cell{display:flex;margin-bottom:0;padding:13px 8px}@media (min-width: 768px){:host(.evo-table_mobile) .evo-table__cell{display:table-cell;height:52px;padding:11px 16px;vertical-align:middle}}:host(.evo-table_mobile) .evo-table__label{width:50%;margin-bottom:0}@media (min-width: 768px){:host(.evo-table_mobile) .evo-table__label{width:auto;margin-bottom:4px}}:host(.evo-table_mobile-align_right) .evo-table__cell{justify-content:space-between}:host(.evo-table_mobile_short) .evo-table{display:table;width:100%}:host(.evo-table_mobile_short) .evo-table__row{display:table-row;padding:16px}:host(.evo-table_mobile_short) .evo-table__row:nth-child(2n){background-color:#f4f6f8}:host(.evo-table_mobile_short) .evo-table__row:hover{background-color:#fff8e6}:host(.evo-table_mobile_short) .evo-table__row_head:hover{background:none}:host(.evo-table_mobile_short) .evo-table__cell{display:table-cell;height:52px;padding:11px 16px;vertical-align:middle}:host(.evo-table_mobile_short) .evo-table__cell_head{height:auto;padding-top:0;padding-bottom:16px;font-weight:600;white-space:nowrap;border-top:none}:host(.evo-table_with-title) .evo-table__cell{font-weight:400}:host(.evo-table_with-title) .evo-table__cell:first-child{font-weight:600}@media (min-width: 768px){:host(.evo-table_with-title) .evo-table__cell:first-child{font-weight:400}}:host(.evo-table_with-title) .evo-table__cell:first-child .evo-table__label{display:none}:host(.evo-table_with-title) .evo-table__label{font-weight:400}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
53
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoTableComponent, isStandalone: true, selector: "evo-table", inputs: { data: "data", showHeader: "showHeader", stripe: "stripe", visibleColumns: "visibleColumns", rowClasses: "rowClasses", rowTitle: "rowTitle" }, outputs: { rowClick: "rowClick" }, queries: [{ propertyName: "columns", predicate: EvoTableColumnComponent }], usesOnChanges: true, ngImport: i0, template: "<div class=\"evo-table\" [ngClass]=\"{'evo-table_row-clickable': states.isRowClickable}\">\n @if (showHeader) {\n <div class=\"evo-table__row evo-table__row_head mobile-hide\">\n @for (column of filteredColumns; track column.label) {\n <div class=\"evo-table__cell evo-table__cell_head\" [ngClass]=\"column.className\">\n @if (column.header; as header) {\n <ng-container *ngTemplateOutlet=\"header; context: {label: column.label}\" />\n } @else {\n {{ column.label }}\n }\n </div>\n }\n </div>\n }\n\n @for (item of data; track item; let row = $index) {\n <div\n class=\"evo-table__row\"\n [title]=\"getTitle(row, item) || ''\"\n [ngClass]=\"getClasses(row, item)\"\n (click)=\"onRowClick(row, item, $event)\"\n >\n @for (column of filteredColumns; track column.label; let col = $index) {\n <div class=\"evo-table__cell\" [ngClass]=\"column.className\">\n @if (column.label) {\n <div class=\"evo-table__label mobile-show\">\n @if (column.header; as header) {\n <ng-container *ngTemplateOutlet=\"header; context: {label: column.label}\" />\n } @else {\n {{ column.label }}\n }\n </div>\n }\n\n @if (column.content; as content) {\n <div class=\"evo-table__data\">\n <ng-container *ngTemplateOutlet=\"content; context: {row: row, col: col, item: item}\" />\n </div>\n } @else {\n {{ column.formatter(row, col, column.prop !== undefined ? item[column.prop] : item, item) }}\n }\n </div>\n }\n </div>\n }\n</div>\n", styles: [".evo-table{color:#212121}@media (min-width: 768px){.evo-table{display:table;width:100%}}.evo-table__row{padding:8px}.evo-table__row:nth-child(2n){background-color:#f4f6f8}@media (min-width: 768px){.evo-table__row{display:table-row}.evo-table__row:hover{background-color:#fff8e6}.evo-table__row_head:hover{background:none}}.evo-table__cell{margin-bottom:20px}.evo-table__cell:last-child{margin-bottom:0}@media (min-width: 768px){.evo-table__cell{display:table-cell;height:48px;padding:0 8px;vertical-align:middle}}.evo-table__cell_head{height:auto;padding-top:0;padding-bottom:16px;font-weight:600;white-space:nowrap}@media (min-width: 768px){.evo-table__cell.text-right{text-align:right}}@media (min-width: 768px){.evo-table__cell.text-center{text-align:center}}.evo-table__sort{position:relative;display:inline-block;padding-right:20px;vertical-align:top;cursor:pointer}.evo-table__sort_up:after,.evo-table__sort_down:after{content:\"\";position:absolute;right:0;border:5px solid transparent}.evo-table__sort_up:after{top:4px;border-bottom-color:#212121}.evo-table__sort_down:after{top:8px;border-top-color:#212121}.evo-table__label{margin-bottom:4px;font-weight:600}.evo-table_row-clickable .evo-table__row{cursor:pointer}:host(.evo-table_mobile) .evo-table__row{padding:0}@media (min-width: 768px){:host(.evo-table_mobile) .evo-table__row{display:table-row}:host(.evo-table_mobile) .evo-table__row:hover{background-color:#fff8e6}:host(.evo-table_mobile) .evo-table__row_head:hover{background:none}}:host(.evo-table_mobile) .evo-table__cell{display:flex;margin-bottom:0;padding:13px 8px}@media (min-width: 768px){:host(.evo-table_mobile) .evo-table__cell{display:table-cell;height:52px;padding:11px 16px;vertical-align:middle}}:host(.evo-table_mobile) .evo-table__label{width:50%;margin-bottom:0}@media (min-width: 768px){:host(.evo-table_mobile) .evo-table__label{width:auto;margin-bottom:4px}}:host(.evo-table_mobile-align_right) .evo-table__cell{justify-content:space-between}:host(.evo-table_mobile_short) .evo-table{display:table;width:100%}:host(.evo-table_mobile_short) .evo-table__row{display:table-row;padding:16px}:host(.evo-table_mobile_short) .evo-table__row:nth-child(2n){background-color:#f4f6f8}:host(.evo-table_mobile_short) .evo-table__row:hover{background-color:#fff8e6}:host(.evo-table_mobile_short) .evo-table__row_head:hover{background:none}:host(.evo-table_mobile_short) .evo-table__cell{display:table-cell;height:52px;padding:11px 16px;vertical-align:middle}:host(.evo-table_mobile_short) .evo-table__cell_head{height:auto;padding-top:0;padding-bottom:16px;font-weight:600;white-space:nowrap;border-top:none}:host(.evo-table_with-title) .evo-table__cell{font-weight:400}:host(.evo-table_with-title) .evo-table__cell:first-child{font-weight:600}@media (min-width: 768px){:host(.evo-table_with-title) .evo-table__cell:first-child{font-weight:400}}:host(.evo-table_with-title) .evo-table__cell:first-child .evo-table__label{display:none}:host(.evo-table_with-title) .evo-table__label{font-weight:400}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
48
54
  }
49
55
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoTableComponent, decorators: [{
50
56
  type: Component,
51
- args: [{ selector: 'evo-table', standalone: true, imports: [NgClass, NgTemplateOutlet], template: "<div class=\"evo-table\" [ngClass]=\"{'evo-table_row-clickable': states.isRowClickable}\">\n @if (showHeader) {\n <div class=\"evo-table__row evo-table__row_head mobile-hide\">\n @for (column of filteredColumns; track column.label) {\n <div class=\"evo-table__cell evo-table__cell_head\" [ngClass]=\"column.className\">\n @if (column.header; as header) {\n <ng-container *ngTemplateOutlet=\"header; context: {label: column.label}\" />\n } @else {\n {{ column.label }}\n }\n </div>\n }\n </div>\n }\n\n @for (item of data; track item; let row = $index) {\n <div class=\"evo-table__row\" [ngClass]=\"rowClasses\" (click)=\"onRowClick(row, item, $event)\">\n @for (column of filteredColumns; track column.label; let col = $index) {\n <div class=\"evo-table__cell\" [ngClass]=\"column.className\">\n @if (column.label) {\n <div class=\"evo-table__label mobile-show\">\n @if (column.header; as header) {\n <ng-container *ngTemplateOutlet=\"header; context: {label: column.label}\" />\n } @else {\n {{ column.label }}\n }\n </div>\n }\n\n @if (column.content; as content) {\n <div class=\"evo-table__data\">\n <ng-container *ngTemplateOutlet=\"content; context: {row: row, col: col, item: item}\" />\n </div>\n } @else {\n {{ column.formatter(row, col, column.prop !== undefined ? item[column.prop] : item, item) }}\n }\n </div>\n }\n </div>\n }\n</div>\n", styles: [".evo-table{color:#212121}@media (min-width: 768px){.evo-table{display:table;width:100%}}.evo-table__row{padding:8px}.evo-table__row:nth-child(2n){background-color:#f4f6f8}@media (min-width: 768px){.evo-table__row{display:table-row}.evo-table__row:hover{background-color:#fff8e6}.evo-table__row_head:hover{background:none}}.evo-table__cell{margin-bottom:20px}.evo-table__cell:last-child{margin-bottom:0}@media (min-width: 768px){.evo-table__cell{display:table-cell;height:48px;padding:0 8px;vertical-align:middle}}.evo-table__cell_head{height:auto;padding-top:0;padding-bottom:16px;font-weight:600;white-space:nowrap}@media (min-width: 768px){.evo-table__cell.text-right{text-align:right}}@media (min-width: 768px){.evo-table__cell.text-center{text-align:center}}.evo-table__sort{position:relative;display:inline-block;padding-right:20px;vertical-align:top;cursor:pointer}.evo-table__sort_up:after,.evo-table__sort_down:after{content:\"\";position:absolute;right:0;border:5px solid transparent}.evo-table__sort_up:after{top:4px;border-bottom-color:#212121}.evo-table__sort_down:after{top:8px;border-top-color:#212121}.evo-table__label{margin-bottom:4px;font-weight:600}.evo-table_row-clickable .evo-table__row{cursor:pointer}:host(.evo-table_mobile) .evo-table__row{padding:0}@media (min-width: 768px){:host(.evo-table_mobile) .evo-table__row{display:table-row}:host(.evo-table_mobile) .evo-table__row:hover{background-color:#fff8e6}:host(.evo-table_mobile) .evo-table__row_head:hover{background:none}}:host(.evo-table_mobile) .evo-table__cell{display:flex;margin-bottom:0;padding:13px 8px}@media (min-width: 768px){:host(.evo-table_mobile) .evo-table__cell{display:table-cell;height:52px;padding:11px 16px;vertical-align:middle}}:host(.evo-table_mobile) .evo-table__label{width:50%;margin-bottom:0}@media (min-width: 768px){:host(.evo-table_mobile) .evo-table__label{width:auto;margin-bottom:4px}}:host(.evo-table_mobile-align_right) .evo-table__cell{justify-content:space-between}:host(.evo-table_mobile_short) .evo-table{display:table;width:100%}:host(.evo-table_mobile_short) .evo-table__row{display:table-row;padding:16px}:host(.evo-table_mobile_short) .evo-table__row:nth-child(2n){background-color:#f4f6f8}:host(.evo-table_mobile_short) .evo-table__row:hover{background-color:#fff8e6}:host(.evo-table_mobile_short) .evo-table__row_head:hover{background:none}:host(.evo-table_mobile_short) .evo-table__cell{display:table-cell;height:52px;padding:11px 16px;vertical-align:middle}:host(.evo-table_mobile_short) .evo-table__cell_head{height:auto;padding-top:0;padding-bottom:16px;font-weight:600;white-space:nowrap;border-top:none}:host(.evo-table_with-title) .evo-table__cell{font-weight:400}:host(.evo-table_with-title) .evo-table__cell:first-child{font-weight:600}@media (min-width: 768px){:host(.evo-table_with-title) .evo-table__cell:first-child{font-weight:400}}:host(.evo-table_with-title) .evo-table__cell:first-child .evo-table__label{display:none}:host(.evo-table_with-title) .evo-table__label{font-weight:400}\n"] }]
57
+ args: [{ selector: 'evo-table', standalone: true, imports: [NgClass, NgTemplateOutlet], template: "<div class=\"evo-table\" [ngClass]=\"{'evo-table_row-clickable': states.isRowClickable}\">\n @if (showHeader) {\n <div class=\"evo-table__row evo-table__row_head mobile-hide\">\n @for (column of filteredColumns; track column.label) {\n <div class=\"evo-table__cell evo-table__cell_head\" [ngClass]=\"column.className\">\n @if (column.header; as header) {\n <ng-container *ngTemplateOutlet=\"header; context: {label: column.label}\" />\n } @else {\n {{ column.label }}\n }\n </div>\n }\n </div>\n }\n\n @for (item of data; track item; let row = $index) {\n <div\n class=\"evo-table__row\"\n [title]=\"getTitle(row, item) || ''\"\n [ngClass]=\"getClasses(row, item)\"\n (click)=\"onRowClick(row, item, $event)\"\n >\n @for (column of filteredColumns; track column.label; let col = $index) {\n <div class=\"evo-table__cell\" [ngClass]=\"column.className\">\n @if (column.label) {\n <div class=\"evo-table__label mobile-show\">\n @if (column.header; as header) {\n <ng-container *ngTemplateOutlet=\"header; context: {label: column.label}\" />\n } @else {\n {{ column.label }}\n }\n </div>\n }\n\n @if (column.content; as content) {\n <div class=\"evo-table__data\">\n <ng-container *ngTemplateOutlet=\"content; context: {row: row, col: col, item: item}\" />\n </div>\n } @else {\n {{ column.formatter(row, col, column.prop !== undefined ? item[column.prop] : item, item) }}\n }\n </div>\n }\n </div>\n }\n</div>\n", styles: [".evo-table{color:#212121}@media (min-width: 768px){.evo-table{display:table;width:100%}}.evo-table__row{padding:8px}.evo-table__row:nth-child(2n){background-color:#f4f6f8}@media (min-width: 768px){.evo-table__row{display:table-row}.evo-table__row:hover{background-color:#fff8e6}.evo-table__row_head:hover{background:none}}.evo-table__cell{margin-bottom:20px}.evo-table__cell:last-child{margin-bottom:0}@media (min-width: 768px){.evo-table__cell{display:table-cell;height:48px;padding:0 8px;vertical-align:middle}}.evo-table__cell_head{height:auto;padding-top:0;padding-bottom:16px;font-weight:600;white-space:nowrap}@media (min-width: 768px){.evo-table__cell.text-right{text-align:right}}@media (min-width: 768px){.evo-table__cell.text-center{text-align:center}}.evo-table__sort{position:relative;display:inline-block;padding-right:20px;vertical-align:top;cursor:pointer}.evo-table__sort_up:after,.evo-table__sort_down:after{content:\"\";position:absolute;right:0;border:5px solid transparent}.evo-table__sort_up:after{top:4px;border-bottom-color:#212121}.evo-table__sort_down:after{top:8px;border-top-color:#212121}.evo-table__label{margin-bottom:4px;font-weight:600}.evo-table_row-clickable .evo-table__row{cursor:pointer}:host(.evo-table_mobile) .evo-table__row{padding:0}@media (min-width: 768px){:host(.evo-table_mobile) .evo-table__row{display:table-row}:host(.evo-table_mobile) .evo-table__row:hover{background-color:#fff8e6}:host(.evo-table_mobile) .evo-table__row_head:hover{background:none}}:host(.evo-table_mobile) .evo-table__cell{display:flex;margin-bottom:0;padding:13px 8px}@media (min-width: 768px){:host(.evo-table_mobile) .evo-table__cell{display:table-cell;height:52px;padding:11px 16px;vertical-align:middle}}:host(.evo-table_mobile) .evo-table__label{width:50%;margin-bottom:0}@media (min-width: 768px){:host(.evo-table_mobile) .evo-table__label{width:auto;margin-bottom:4px}}:host(.evo-table_mobile-align_right) .evo-table__cell{justify-content:space-between}:host(.evo-table_mobile_short) .evo-table{display:table;width:100%}:host(.evo-table_mobile_short) .evo-table__row{display:table-row;padding:16px}:host(.evo-table_mobile_short) .evo-table__row:nth-child(2n){background-color:#f4f6f8}:host(.evo-table_mobile_short) .evo-table__row:hover{background-color:#fff8e6}:host(.evo-table_mobile_short) .evo-table__row_head:hover{background:none}:host(.evo-table_mobile_short) .evo-table__cell{display:table-cell;height:52px;padding:11px 16px;vertical-align:middle}:host(.evo-table_mobile_short) .evo-table__cell_head{height:auto;padding-top:0;padding-bottom:16px;font-weight:600;white-space:nowrap;border-top:none}:host(.evo-table_with-title) .evo-table__cell{font-weight:400}:host(.evo-table_with-title) .evo-table__cell:first-child{font-weight:600}@media (min-width: 768px){:host(.evo-table_with-title) .evo-table__cell:first-child{font-weight:400}}:host(.evo-table_with-title) .evo-table__cell:first-child .evo-table__label{display:none}:host(.evo-table_with-title) .evo-table__label{font-weight:400}\n"] }]
52
58
  }], propDecorators: { data: [{
53
59
  type: Input
54
60
  }], showHeader: [{
@@ -59,10 +65,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
59
65
  type: Input
60
66
  }], rowClasses: [{
61
67
  type: Input
68
+ }], rowTitle: [{
69
+ type: Input
62
70
  }], rowClick: [{
63
71
  type: Output
64
72
  }], columns: [{
65
73
  type: ContentChildren,
66
74
  args: [EvoTableColumnComponent]
67
75
  }] } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by10YWJsZS9ldm8tdGFibGUvZXZvLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by10YWJsZS9ldm8tdGFibGUvZXZvLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBQ1QsZUFBZSxFQUNmLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFMUQsTUFBTSxPQUFPLHFCQUFxQjtDQU9qQztBQVNELE1BQU0sT0FBTyxpQkFBaUI7SUFQOUI7UUFRSSxvQkFBZSxHQUE4QixFQUFFLENBQUM7UUFJaEQsMkJBQTJCO1FBQ2xCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUtkLGFBQVEsR0FBd0MsSUFBSSxZQUFZLEVBQXlCLENBQUM7UUFHcEcsV0FBTSxHQUFHO1lBQ0wsY0FBYyxFQUFFLEtBQUs7U0FDeEIsQ0FBQztLQW1DTDtJQWpDRyxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxnQkFBZ0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekIsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsYUFBYTtRQUNULE9BQU87WUFDSCxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDdkIsQ0FBQztJQUNOLENBQUM7SUFFRCxVQUFVLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLO1FBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ2YsT0FBTyxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztZQUN6QixLQUFLLEVBQUUsS0FBSztTQUNmLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxhQUFhO1FBQ2pCLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDaEcsQ0FBQztJQUNMLENBQUM7K0dBbkRRLGlCQUFpQjttR0FBakIsaUJBQWlCLGtRQWFULHVCQUF1QixrREMzQzVDLDA3REF5Q0EsMGdHRGJjLE9BQU8sb0ZBQUUsZ0JBQWdCOzs0RkFFMUIsaUJBQWlCO2tCQVA3QixTQUFTOytCQUNJLFdBQVcsY0FHVCxJQUFJLFdBQ1AsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUM7OEJBTTNCLElBQUk7c0JBQVosS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksUUFBUTtzQkFBakIsTUFBTTtnQkFDbUMsT0FBTztzQkFBaEQsZUFBZTt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0V2b1RhYmxlQ29sdW1uQ29tcG9uZW50fSBmcm9tICcuLi9ldm8tdGFibGUtY29sdW1uL2V2by10YWJsZS1jb2x1bW4uY29tcG9uZW50JztcbmltcG9ydCB7TmdDbGFzcywgTmdUZW1wbGF0ZU91dGxldH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuZXhwb3J0IGNsYXNzIEV2b1RhYmxlUm93Q2xpY2tFdmVudCB7XG4gICAgcGF5bG9hZDoge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgICAgaXRlbTogYW55O1xuICAgICAgICByb3dJbmRleDogbnVtYmVyO1xuICAgIH07XG4gICAgZXZlbnQ6IE1vdXNlRXZlbnQ7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXZvLXRhYmxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXZvLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ldm8tdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0XSxcbn0pXG5leHBvcnQgY2xhc3MgRXZvVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcyB7XG4gICAgZmlsdGVyZWRDb2x1bW5zOiBFdm9UYWJsZUNvbHVtbkNvbXBvbmVudFtdID0gW107XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBASW5wdXQoKSBkYXRhOiBhbnlbXTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBASW5wdXQoKSBzaG93SGVhZGVyID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBzdHJpcGUgPSBmYWxzZTtcbiAgICBASW5wdXQoKSB2aXNpYmxlQ29sdW1uczogc3RyaW5nW107XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgQElucHV0KCkgcm93Q2xhc3Nlcz86IHN0cmluZyB8IHN0cmluZ1tdIHwgU2V0PHN0cmluZz4gfCB7W2tsYXNzOiBzdHJpbmddOiBhbnl9O1xuXG4gICAgQE91dHB1dCgpIHJvd0NsaWNrOiBFdmVudEVtaXR0ZXI8RXZvVGFibGVSb3dDbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZvVGFibGVSb3dDbGlja0V2ZW50PigpO1xuICAgIEBDb250ZW50Q2hpbGRyZW4oRXZvVGFibGVDb2x1bW5Db21wb25lbnQpIGNvbHVtbnM6IEV2b1RhYmxlQ29sdW1uQ29tcG9uZW50W107XG5cbiAgICBzdGF0ZXMgPSB7XG4gICAgICAgIGlzUm93Q2xpY2thYmxlOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoJ3Zpc2libGVDb2x1bW5zJyBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlckNvbHVtbnMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnN0YXRlcy5pc1Jvd0NsaWNrYWJsZSA9IHRoaXMucm93Q2xpY2sub2JzZXJ2ZXJzLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0aGlzLmZpbHRlcmVkQ29sdW1ucyA9IHRoaXMuY29sdW1ucztcbiAgICAgICAgdGhpcy5maWx0ZXJDb2x1bW5zKCk7XG4gICAgfVxuXG4gICAgZ2V0Um93Q2xhc3NlcygpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHN0cmlwZWQ6IHRoaXMuc3RyaXBlLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIG9uUm93Q2xpY2socm93SW5kZXgsIGl0ZW0sIGV2ZW50KSB7XG4gICAgICAgIHRoaXMucm93Q2xpY2suZW1pdCh7XG4gICAgICAgICAgICBwYXlsb2FkOiB7cm93SW5kZXgsIGl0ZW19LFxuICAgICAgICAgICAgZXZlbnQ6IGV2ZW50LFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbHRlckNvbHVtbnMoKSB7XG4gICAgICAgIGlmICh0aGlzLnZpc2libGVDb2x1bW5zICYmIHRoaXMuY29sdW1ucykge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZENvbHVtbnMgPSB0aGlzLmNvbHVtbnMuZmlsdGVyKChjb2wpID0+IHRoaXMudmlzaWJsZUNvbHVtbnMuaW5jbHVkZXMoY29sLnByb3ApKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJldm8tdGFibGVcIiBbbmdDbGFzc109XCJ7J2V2by10YWJsZV9yb3ctY2xpY2thYmxlJzogc3RhdGVzLmlzUm93Q2xpY2thYmxlfVwiPlxuICAgIEBpZiAoc2hvd0hlYWRlcikge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZXZvLXRhYmxlX19yb3cgZXZvLXRhYmxlX19yb3dfaGVhZCBtb2JpbGUtaGlkZVwiPlxuICAgICAgICAgICAgQGZvciAoY29sdW1uIG9mIGZpbHRlcmVkQ29sdW1uczsgdHJhY2sgY29sdW1uLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2by10YWJsZV9fY2VsbCBldm8tdGFibGVfX2NlbGxfaGVhZFwiIFtuZ0NsYXNzXT1cImNvbHVtbi5jbGFzc05hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChjb2x1bW4uaGVhZGVyOyBhcyBoZWFkZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXI7IGNvbnRleHQ6IHtsYWJlbDogY29sdW1uLmxhYmVsfVwiIC8+XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAge3sgY29sdW1uLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgQGZvciAoaXRlbSBvZiBkYXRhOyB0cmFjayBpdGVtOyBsZXQgcm93ID0gJGluZGV4KSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJldm8tdGFibGVfX3Jvd1wiIFtuZ0NsYXNzXT1cInJvd0NsYXNzZXNcIiAoY2xpY2spPVwib25Sb3dDbGljayhyb3csIGl0ZW0sICRldmVudClcIj5cbiAgICAgICAgICAgIEBmb3IgKGNvbHVtbiBvZiBmaWx0ZXJlZENvbHVtbnM7IHRyYWNrIGNvbHVtbi5sYWJlbDsgbGV0IGNvbCA9ICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldm8tdGFibGVfX2NlbGxcIiBbbmdDbGFzc109XCJjb2x1bW4uY2xhc3NOYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoY29sdW1uLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZvLXRhYmxlX19sYWJlbCBtb2JpbGUtc2hvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoY29sdW1uLmhlYWRlcjsgYXMgaGVhZGVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXI7IGNvbnRleHQ6IHtsYWJlbDogY29sdW1uLmxhYmVsfVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGNvbHVtbi5sYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChjb2x1bW4uY29udGVudDsgYXMgY29udGVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2by10YWJsZV9fZGF0YVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50OyBjb250ZXh0OiB7cm93OiByb3csIGNvbDogY29sLCBpdGVtOiBpdGVtfVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBjb2x1bW4uZm9ybWF0dGVyKHJvdywgY29sLCBjb2x1bW4ucHJvcCAhPT0gdW5kZWZpbmVkID8gaXRlbVtjb2x1bW4ucHJvcF0gOiBpdGVtLCBpdGVtKSB9fVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbjwvZGl2PlxuIl19
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by10YWJsZS9ldm8tdGFibGUvZXZvLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by10YWJsZS9ldm8tdGFibGUvZXZvLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBQ1QsZUFBZSxFQUNmLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFMUQsTUFBTSxPQUFPLHFCQUFxQjtDQU9qQztBQVNELE1BQU0sT0FBTyxpQkFBaUI7SUFQOUI7UUFRSSxvQkFBZSxHQUE4QixFQUFFLENBQUM7UUFJaEQsMkJBQTJCO1FBQ2xCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQU9kLGFBQVEsR0FBd0MsSUFBSSxZQUFZLEVBQXlCLENBQUM7UUFHcEcsV0FBTSxHQUFHO1lBQ0wsY0FBYyxFQUFFLEtBQUs7U0FDeEIsQ0FBQztLQTJDTDtJQXpDRyxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxnQkFBZ0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekIsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsYUFBYTtRQUNULE9BQU87WUFDSCxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDdkIsQ0FBQztJQUNOLENBQUM7SUFFRCxVQUFVLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLO1FBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ2YsT0FBTyxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztZQUN6QixLQUFLLEVBQUUsS0FBSztTQUNmLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBVyxFQUFFLElBQUk7UUFDeEIsT0FBTyxPQUFPLElBQUksQ0FBQyxVQUFVLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUNoRyxDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQVcsRUFBRSxJQUFJO1FBQ3RCLE9BQU8sT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDMUYsQ0FBQztJQUVPLGFBQWE7UUFDakIsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNoRyxDQUFDO0lBQ0wsQ0FBQzsrR0E3RFEsaUJBQWlCO21HQUFqQixpQkFBaUIsd1JBZVQsdUJBQXVCLGtEQzdDNUMseWlFQThDQSwwZ0dEbEJjLE9BQU8sb0ZBQUUsZ0JBQWdCOzs0RkFFMUIsaUJBQWlCO2tCQVA3QixTQUFTOytCQUNJLFdBQVcsY0FHVCxJQUFJLFdBQ1AsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUM7OEJBTTNCLElBQUk7c0JBQVosS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxRQUFRO3NCQUFqQixNQUFNO2dCQUNtQyxPQUFPO3NCQUFoRCxlQUFlO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RXZvVGFibGVDb2x1bW5Db21wb25lbnR9IGZyb20gJy4uL2V2by10YWJsZS1jb2x1bW4vZXZvLXRhYmxlLWNvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHtOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5leHBvcnQgY2xhc3MgRXZvVGFibGVSb3dDbGlja0V2ZW50IHtcbiAgICBwYXlsb2FkOiB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgICAgICBpdGVtOiBhbnk7XG4gICAgICAgIHJvd0luZGV4OiBudW1iZXI7XG4gICAgfTtcbiAgICBldmVudDogTW91c2VFdmVudDtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldm8tdGFibGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldm8tdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2V2by10YWJsZS5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXRdLFxufSlcbmV4cG9ydCBjbGFzcyBFdm9UYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzIHtcbiAgICBmaWx0ZXJlZENvbHVtbnM6IEV2b1RhYmxlQ29sdW1uQ29tcG9uZW50W10gPSBbXTtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIEBJbnB1dCgpIGRhdGE6IGFueVtdO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIEBJbnB1dCgpIHNob3dIZWFkZXIgPSB0cnVlO1xuICAgIEBJbnB1dCgpIHN0cmlwZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHZpc2libGVDb2x1bW5zOiBzdHJpbmdbXTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBASW5wdXQoKSByb3dDbGFzc2VzPzogTmdDbGFzc1snbmdDbGFzcyddIHwgKChyb3c6IG51bWJlciwgaXRlbTogYW55KSA9PiBOZ0NsYXNzWyduZ0NsYXNzJ10pO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIEBJbnB1dCgpIHJvd1RpdGxlPzogc3RyaW5nIHwgKChyb3c6IG51bWJlciwgaXRlbTogYW55KSA9PiBzdHJpbmcpO1xuXG4gICAgQE91dHB1dCgpIHJvd0NsaWNrOiBFdmVudEVtaXR0ZXI8RXZvVGFibGVSb3dDbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZvVGFibGVSb3dDbGlja0V2ZW50PigpO1xuICAgIEBDb250ZW50Q2hpbGRyZW4oRXZvVGFibGVDb2x1bW5Db21wb25lbnQpIGNvbHVtbnM6IEV2b1RhYmxlQ29sdW1uQ29tcG9uZW50W107XG5cbiAgICBzdGF0ZXMgPSB7XG4gICAgICAgIGlzUm93Q2xpY2thYmxlOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoJ3Zpc2libGVDb2x1bW5zJyBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlckNvbHVtbnMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnN0YXRlcy5pc1Jvd0NsaWNrYWJsZSA9IHRoaXMucm93Q2xpY2sub2JzZXJ2ZXJzLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0aGlzLmZpbHRlcmVkQ29sdW1ucyA9IHRoaXMuY29sdW1ucztcbiAgICAgICAgdGhpcy5maWx0ZXJDb2x1bW5zKCk7XG4gICAgfVxuXG4gICAgZ2V0Um93Q2xhc3NlcygpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHN0cmlwZWQ6IHRoaXMuc3RyaXBlLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIG9uUm93Q2xpY2socm93SW5kZXgsIGl0ZW0sIGV2ZW50KSB7XG4gICAgICAgIHRoaXMucm93Q2xpY2suZW1pdCh7XG4gICAgICAgICAgICBwYXlsb2FkOiB7cm93SW5kZXgsIGl0ZW19LFxuICAgICAgICAgICAgZXZlbnQ6IGV2ZW50LFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRDbGFzc2VzKHJvdzogbnVtYmVyLCBpdGVtKSB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgdGhpcy5yb3dDbGFzc2VzID09PSAnZnVuY3Rpb24nID8gdGhpcy5yb3dDbGFzc2VzKHJvdywgaXRlbSkgOiB0aGlzLnJvd0NsYXNzZXM7XG4gICAgfVxuXG4gICAgZ2V0VGl0bGUocm93OiBudW1iZXIsIGl0ZW0pIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzLnJvd1RpdGxlID09PSAnZnVuY3Rpb24nID8gdGhpcy5yb3dUaXRsZShyb3csIGl0ZW0pIDogdGhpcy5yb3dUaXRsZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbHRlckNvbHVtbnMoKSB7XG4gICAgICAgIGlmICh0aGlzLnZpc2libGVDb2x1bW5zICYmIHRoaXMuY29sdW1ucykge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZENvbHVtbnMgPSB0aGlzLmNvbHVtbnMuZmlsdGVyKChjb2wpID0+IHRoaXMudmlzaWJsZUNvbHVtbnMuaW5jbHVkZXMoY29sLnByb3ApKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJldm8tdGFibGVcIiBbbmdDbGFzc109XCJ7J2V2by10YWJsZV9yb3ctY2xpY2thYmxlJzogc3RhdGVzLmlzUm93Q2xpY2thYmxlfVwiPlxuICAgIEBpZiAoc2hvd0hlYWRlcikge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZXZvLXRhYmxlX19yb3cgZXZvLXRhYmxlX19yb3dfaGVhZCBtb2JpbGUtaGlkZVwiPlxuICAgICAgICAgICAgQGZvciAoY29sdW1uIG9mIGZpbHRlcmVkQ29sdW1uczsgdHJhY2sgY29sdW1uLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2by10YWJsZV9fY2VsbCBldm8tdGFibGVfX2NlbGxfaGVhZFwiIFtuZ0NsYXNzXT1cImNvbHVtbi5jbGFzc05hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChjb2x1bW4uaGVhZGVyOyBhcyBoZWFkZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXI7IGNvbnRleHQ6IHtsYWJlbDogY29sdW1uLmxhYmVsfVwiIC8+XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAge3sgY29sdW1uLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgQGZvciAoaXRlbSBvZiBkYXRhOyB0cmFjayBpdGVtOyBsZXQgcm93ID0gJGluZGV4KSB7XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiZXZvLXRhYmxlX19yb3dcIlxuICAgICAgICAgICAgW3RpdGxlXT1cImdldFRpdGxlKHJvdywgaXRlbSkgfHwgJydcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiZ2V0Q2xhc3Nlcyhyb3csIGl0ZW0pXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvblJvd0NsaWNrKHJvdywgaXRlbSwgJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBmb3IgKGNvbHVtbiBvZiBmaWx0ZXJlZENvbHVtbnM7IHRyYWNrIGNvbHVtbi5sYWJlbDsgbGV0IGNvbCA9ICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldm8tdGFibGVfX2NlbGxcIiBbbmdDbGFzc109XCJjb2x1bW4uY2xhc3NOYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoY29sdW1uLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZvLXRhYmxlX19sYWJlbCBtb2JpbGUtc2hvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoY29sdW1uLmhlYWRlcjsgYXMgaGVhZGVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXI7IGNvbnRleHQ6IHtsYWJlbDogY29sdW1uLmxhYmVsfVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGNvbHVtbi5sYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChjb2x1bW4uY29udGVudDsgYXMgY29udGVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2by10YWJsZV9fZGF0YVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50OyBjb250ZXh0OiB7cm93OiByb3csIGNvbDogY29sLCBpdGVtOiBpdGVtfVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBjb2x1bW4uZm9ybWF0dGVyKHJvdywgY29sLCBjb2x1bW4ucHJvcCAhPT0gdW5kZWZpbmVkID8gaXRlbVtjb2x1bW4ucHJvcF0gOiBpdGVtLCBpdGVtKSB9fVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbjwvZGl2PlxuIl19
@@ -4674,17 +4674,23 @@ class EvoTableComponent {
4674
4674
  event: event,
4675
4675
  });
4676
4676
  }
4677
+ getClasses(row, item) {
4678
+ return typeof this.rowClasses === 'function' ? this.rowClasses(row, item) : this.rowClasses;
4679
+ }
4680
+ getTitle(row, item) {
4681
+ return typeof this.rowTitle === 'function' ? this.rowTitle(row, item) : this.rowTitle;
4682
+ }
4677
4683
  filterColumns() {
4678
4684
  if (this.visibleColumns && this.columns) {
4679
4685
  this.filteredColumns = this.columns.filter((col) => this.visibleColumns.includes(col.prop));
4680
4686
  }
4681
4687
  }
4682
4688
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4683
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoTableComponent, isStandalone: true, selector: "evo-table", inputs: { data: "data", showHeader: "showHeader", stripe: "stripe", visibleColumns: "visibleColumns", rowClasses: "rowClasses" }, outputs: { rowClick: "rowClick" }, queries: [{ propertyName: "columns", predicate: EvoTableColumnComponent }], usesOnChanges: true, ngImport: i0, template: "<div class=\"evo-table\" [ngClass]=\"{'evo-table_row-clickable': states.isRowClickable}\">\n @if (showHeader) {\n <div class=\"evo-table__row evo-table__row_head mobile-hide\">\n @for (column of filteredColumns; track column.label) {\n <div class=\"evo-table__cell evo-table__cell_head\" [ngClass]=\"column.className\">\n @if (column.header; as header) {\n <ng-container *ngTemplateOutlet=\"header; context: {label: column.label}\" />\n } @else {\n {{ column.label }}\n }\n </div>\n }\n </div>\n }\n\n @for (item of data; track item; let row = $index) {\n <div class=\"evo-table__row\" [ngClass]=\"rowClasses\" (click)=\"onRowClick(row, item, $event)\">\n @for (column of filteredColumns; track column.label; let col = $index) {\n <div class=\"evo-table__cell\" [ngClass]=\"column.className\">\n @if (column.label) {\n <div class=\"evo-table__label mobile-show\">\n @if (column.header; as header) {\n <ng-container *ngTemplateOutlet=\"header; context: {label: column.label}\" />\n } @else {\n {{ column.label }}\n }\n </div>\n }\n\n @if (column.content; as content) {\n <div class=\"evo-table__data\">\n <ng-container *ngTemplateOutlet=\"content; context: {row: row, col: col, item: item}\" />\n </div>\n } @else {\n {{ column.formatter(row, col, column.prop !== undefined ? item[column.prop] : item, item) }}\n }\n </div>\n }\n </div>\n }\n</div>\n", styles: [".evo-table{color:#212121}@media (min-width: 768px){.evo-table{display:table;width:100%}}.evo-table__row{padding:8px}.evo-table__row:nth-child(2n){background-color:#f4f6f8}@media (min-width: 768px){.evo-table__row{display:table-row}.evo-table__row:hover{background-color:#fff8e6}.evo-table__row_head:hover{background:none}}.evo-table__cell{margin-bottom:20px}.evo-table__cell:last-child{margin-bottom:0}@media (min-width: 768px){.evo-table__cell{display:table-cell;height:48px;padding:0 8px;vertical-align:middle}}.evo-table__cell_head{height:auto;padding-top:0;padding-bottom:16px;font-weight:600;white-space:nowrap}@media (min-width: 768px){.evo-table__cell.text-right{text-align:right}}@media (min-width: 768px){.evo-table__cell.text-center{text-align:center}}.evo-table__sort{position:relative;display:inline-block;padding-right:20px;vertical-align:top;cursor:pointer}.evo-table__sort_up:after,.evo-table__sort_down:after{content:\"\";position:absolute;right:0;border:5px solid transparent}.evo-table__sort_up:after{top:4px;border-bottom-color:#212121}.evo-table__sort_down:after{top:8px;border-top-color:#212121}.evo-table__label{margin-bottom:4px;font-weight:600}.evo-table_row-clickable .evo-table__row{cursor:pointer}:host(.evo-table_mobile) .evo-table__row{padding:0}@media (min-width: 768px){:host(.evo-table_mobile) .evo-table__row{display:table-row}:host(.evo-table_mobile) .evo-table__row:hover{background-color:#fff8e6}:host(.evo-table_mobile) .evo-table__row_head:hover{background:none}}:host(.evo-table_mobile) .evo-table__cell{display:flex;margin-bottom:0;padding:13px 8px}@media (min-width: 768px){:host(.evo-table_mobile) .evo-table__cell{display:table-cell;height:52px;padding:11px 16px;vertical-align:middle}}:host(.evo-table_mobile) .evo-table__label{width:50%;margin-bottom:0}@media (min-width: 768px){:host(.evo-table_mobile) .evo-table__label{width:auto;margin-bottom:4px}}:host(.evo-table_mobile-align_right) .evo-table__cell{justify-content:space-between}:host(.evo-table_mobile_short) .evo-table{display:table;width:100%}:host(.evo-table_mobile_short) .evo-table__row{display:table-row;padding:16px}:host(.evo-table_mobile_short) .evo-table__row:nth-child(2n){background-color:#f4f6f8}:host(.evo-table_mobile_short) .evo-table__row:hover{background-color:#fff8e6}:host(.evo-table_mobile_short) .evo-table__row_head:hover{background:none}:host(.evo-table_mobile_short) .evo-table__cell{display:table-cell;height:52px;padding:11px 16px;vertical-align:middle}:host(.evo-table_mobile_short) .evo-table__cell_head{height:auto;padding-top:0;padding-bottom:16px;font-weight:600;white-space:nowrap;border-top:none}:host(.evo-table_with-title) .evo-table__cell{font-weight:400}:host(.evo-table_with-title) .evo-table__cell:first-child{font-weight:600}@media (min-width: 768px){:host(.evo-table_with-title) .evo-table__cell:first-child{font-weight:400}}:host(.evo-table_with-title) .evo-table__cell:first-child .evo-table__label{display:none}:host(.evo-table_with-title) .evo-table__label{font-weight:400}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
4689
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoTableComponent, isStandalone: true, selector: "evo-table", inputs: { data: "data", showHeader: "showHeader", stripe: "stripe", visibleColumns: "visibleColumns", rowClasses: "rowClasses", rowTitle: "rowTitle" }, outputs: { rowClick: "rowClick" }, queries: [{ propertyName: "columns", predicate: EvoTableColumnComponent }], usesOnChanges: true, ngImport: i0, template: "<div class=\"evo-table\" [ngClass]=\"{'evo-table_row-clickable': states.isRowClickable}\">\n @if (showHeader) {\n <div class=\"evo-table__row evo-table__row_head mobile-hide\">\n @for (column of filteredColumns; track column.label) {\n <div class=\"evo-table__cell evo-table__cell_head\" [ngClass]=\"column.className\">\n @if (column.header; as header) {\n <ng-container *ngTemplateOutlet=\"header; context: {label: column.label}\" />\n } @else {\n {{ column.label }}\n }\n </div>\n }\n </div>\n }\n\n @for (item of data; track item; let row = $index) {\n <div\n class=\"evo-table__row\"\n [title]=\"getTitle(row, item) || ''\"\n [ngClass]=\"getClasses(row, item)\"\n (click)=\"onRowClick(row, item, $event)\"\n >\n @for (column of filteredColumns; track column.label; let col = $index) {\n <div class=\"evo-table__cell\" [ngClass]=\"column.className\">\n @if (column.label) {\n <div class=\"evo-table__label mobile-show\">\n @if (column.header; as header) {\n <ng-container *ngTemplateOutlet=\"header; context: {label: column.label}\" />\n } @else {\n {{ column.label }}\n }\n </div>\n }\n\n @if (column.content; as content) {\n <div class=\"evo-table__data\">\n <ng-container *ngTemplateOutlet=\"content; context: {row: row, col: col, item: item}\" />\n </div>\n } @else {\n {{ column.formatter(row, col, column.prop !== undefined ? item[column.prop] : item, item) }}\n }\n </div>\n }\n </div>\n }\n</div>\n", styles: [".evo-table{color:#212121}@media (min-width: 768px){.evo-table{display:table;width:100%}}.evo-table__row{padding:8px}.evo-table__row:nth-child(2n){background-color:#f4f6f8}@media (min-width: 768px){.evo-table__row{display:table-row}.evo-table__row:hover{background-color:#fff8e6}.evo-table__row_head:hover{background:none}}.evo-table__cell{margin-bottom:20px}.evo-table__cell:last-child{margin-bottom:0}@media (min-width: 768px){.evo-table__cell{display:table-cell;height:48px;padding:0 8px;vertical-align:middle}}.evo-table__cell_head{height:auto;padding-top:0;padding-bottom:16px;font-weight:600;white-space:nowrap}@media (min-width: 768px){.evo-table__cell.text-right{text-align:right}}@media (min-width: 768px){.evo-table__cell.text-center{text-align:center}}.evo-table__sort{position:relative;display:inline-block;padding-right:20px;vertical-align:top;cursor:pointer}.evo-table__sort_up:after,.evo-table__sort_down:after{content:\"\";position:absolute;right:0;border:5px solid transparent}.evo-table__sort_up:after{top:4px;border-bottom-color:#212121}.evo-table__sort_down:after{top:8px;border-top-color:#212121}.evo-table__label{margin-bottom:4px;font-weight:600}.evo-table_row-clickable .evo-table__row{cursor:pointer}:host(.evo-table_mobile) .evo-table__row{padding:0}@media (min-width: 768px){:host(.evo-table_mobile) .evo-table__row{display:table-row}:host(.evo-table_mobile) .evo-table__row:hover{background-color:#fff8e6}:host(.evo-table_mobile) .evo-table__row_head:hover{background:none}}:host(.evo-table_mobile) .evo-table__cell{display:flex;margin-bottom:0;padding:13px 8px}@media (min-width: 768px){:host(.evo-table_mobile) .evo-table__cell{display:table-cell;height:52px;padding:11px 16px;vertical-align:middle}}:host(.evo-table_mobile) .evo-table__label{width:50%;margin-bottom:0}@media (min-width: 768px){:host(.evo-table_mobile) .evo-table__label{width:auto;margin-bottom:4px}}:host(.evo-table_mobile-align_right) .evo-table__cell{justify-content:space-between}:host(.evo-table_mobile_short) .evo-table{display:table;width:100%}:host(.evo-table_mobile_short) .evo-table__row{display:table-row;padding:16px}:host(.evo-table_mobile_short) .evo-table__row:nth-child(2n){background-color:#f4f6f8}:host(.evo-table_mobile_short) .evo-table__row:hover{background-color:#fff8e6}:host(.evo-table_mobile_short) .evo-table__row_head:hover{background:none}:host(.evo-table_mobile_short) .evo-table__cell{display:table-cell;height:52px;padding:11px 16px;vertical-align:middle}:host(.evo-table_mobile_short) .evo-table__cell_head{height:auto;padding-top:0;padding-bottom:16px;font-weight:600;white-space:nowrap;border-top:none}:host(.evo-table_with-title) .evo-table__cell{font-weight:400}:host(.evo-table_with-title) .evo-table__cell:first-child{font-weight:600}@media (min-width: 768px){:host(.evo-table_with-title) .evo-table__cell:first-child{font-weight:400}}:host(.evo-table_with-title) .evo-table__cell:first-child .evo-table__label{display:none}:host(.evo-table_with-title) .evo-table__label{font-weight:400}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
4684
4690
  }
4685
4691
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoTableComponent, decorators: [{
4686
4692
  type: Component,
4687
- args: [{ selector: 'evo-table', standalone: true, imports: [NgClass, NgTemplateOutlet], template: "<div class=\"evo-table\" [ngClass]=\"{'evo-table_row-clickable': states.isRowClickable}\">\n @if (showHeader) {\n <div class=\"evo-table__row evo-table__row_head mobile-hide\">\n @for (column of filteredColumns; track column.label) {\n <div class=\"evo-table__cell evo-table__cell_head\" [ngClass]=\"column.className\">\n @if (column.header; as header) {\n <ng-container *ngTemplateOutlet=\"header; context: {label: column.label}\" />\n } @else {\n {{ column.label }}\n }\n </div>\n }\n </div>\n }\n\n @for (item of data; track item; let row = $index) {\n <div class=\"evo-table__row\" [ngClass]=\"rowClasses\" (click)=\"onRowClick(row, item, $event)\">\n @for (column of filteredColumns; track column.label; let col = $index) {\n <div class=\"evo-table__cell\" [ngClass]=\"column.className\">\n @if (column.label) {\n <div class=\"evo-table__label mobile-show\">\n @if (column.header; as header) {\n <ng-container *ngTemplateOutlet=\"header; context: {label: column.label}\" />\n } @else {\n {{ column.label }}\n }\n </div>\n }\n\n @if (column.content; as content) {\n <div class=\"evo-table__data\">\n <ng-container *ngTemplateOutlet=\"content; context: {row: row, col: col, item: item}\" />\n </div>\n } @else {\n {{ column.formatter(row, col, column.prop !== undefined ? item[column.prop] : item, item) }}\n }\n </div>\n }\n </div>\n }\n</div>\n", styles: [".evo-table{color:#212121}@media (min-width: 768px){.evo-table{display:table;width:100%}}.evo-table__row{padding:8px}.evo-table__row:nth-child(2n){background-color:#f4f6f8}@media (min-width: 768px){.evo-table__row{display:table-row}.evo-table__row:hover{background-color:#fff8e6}.evo-table__row_head:hover{background:none}}.evo-table__cell{margin-bottom:20px}.evo-table__cell:last-child{margin-bottom:0}@media (min-width: 768px){.evo-table__cell{display:table-cell;height:48px;padding:0 8px;vertical-align:middle}}.evo-table__cell_head{height:auto;padding-top:0;padding-bottom:16px;font-weight:600;white-space:nowrap}@media (min-width: 768px){.evo-table__cell.text-right{text-align:right}}@media (min-width: 768px){.evo-table__cell.text-center{text-align:center}}.evo-table__sort{position:relative;display:inline-block;padding-right:20px;vertical-align:top;cursor:pointer}.evo-table__sort_up:after,.evo-table__sort_down:after{content:\"\";position:absolute;right:0;border:5px solid transparent}.evo-table__sort_up:after{top:4px;border-bottom-color:#212121}.evo-table__sort_down:after{top:8px;border-top-color:#212121}.evo-table__label{margin-bottom:4px;font-weight:600}.evo-table_row-clickable .evo-table__row{cursor:pointer}:host(.evo-table_mobile) .evo-table__row{padding:0}@media (min-width: 768px){:host(.evo-table_mobile) .evo-table__row{display:table-row}:host(.evo-table_mobile) .evo-table__row:hover{background-color:#fff8e6}:host(.evo-table_mobile) .evo-table__row_head:hover{background:none}}:host(.evo-table_mobile) .evo-table__cell{display:flex;margin-bottom:0;padding:13px 8px}@media (min-width: 768px){:host(.evo-table_mobile) .evo-table__cell{display:table-cell;height:52px;padding:11px 16px;vertical-align:middle}}:host(.evo-table_mobile) .evo-table__label{width:50%;margin-bottom:0}@media (min-width: 768px){:host(.evo-table_mobile) .evo-table__label{width:auto;margin-bottom:4px}}:host(.evo-table_mobile-align_right) .evo-table__cell{justify-content:space-between}:host(.evo-table_mobile_short) .evo-table{display:table;width:100%}:host(.evo-table_mobile_short) .evo-table__row{display:table-row;padding:16px}:host(.evo-table_mobile_short) .evo-table__row:nth-child(2n){background-color:#f4f6f8}:host(.evo-table_mobile_short) .evo-table__row:hover{background-color:#fff8e6}:host(.evo-table_mobile_short) .evo-table__row_head:hover{background:none}:host(.evo-table_mobile_short) .evo-table__cell{display:table-cell;height:52px;padding:11px 16px;vertical-align:middle}:host(.evo-table_mobile_short) .evo-table__cell_head{height:auto;padding-top:0;padding-bottom:16px;font-weight:600;white-space:nowrap;border-top:none}:host(.evo-table_with-title) .evo-table__cell{font-weight:400}:host(.evo-table_with-title) .evo-table__cell:first-child{font-weight:600}@media (min-width: 768px){:host(.evo-table_with-title) .evo-table__cell:first-child{font-weight:400}}:host(.evo-table_with-title) .evo-table__cell:first-child .evo-table__label{display:none}:host(.evo-table_with-title) .evo-table__label{font-weight:400}\n"] }]
4693
+ args: [{ selector: 'evo-table', standalone: true, imports: [NgClass, NgTemplateOutlet], template: "<div class=\"evo-table\" [ngClass]=\"{'evo-table_row-clickable': states.isRowClickable}\">\n @if (showHeader) {\n <div class=\"evo-table__row evo-table__row_head mobile-hide\">\n @for (column of filteredColumns; track column.label) {\n <div class=\"evo-table__cell evo-table__cell_head\" [ngClass]=\"column.className\">\n @if (column.header; as header) {\n <ng-container *ngTemplateOutlet=\"header; context: {label: column.label}\" />\n } @else {\n {{ column.label }}\n }\n </div>\n }\n </div>\n }\n\n @for (item of data; track item; let row = $index) {\n <div\n class=\"evo-table__row\"\n [title]=\"getTitle(row, item) || ''\"\n [ngClass]=\"getClasses(row, item)\"\n (click)=\"onRowClick(row, item, $event)\"\n >\n @for (column of filteredColumns; track column.label; let col = $index) {\n <div class=\"evo-table__cell\" [ngClass]=\"column.className\">\n @if (column.label) {\n <div class=\"evo-table__label mobile-show\">\n @if (column.header; as header) {\n <ng-container *ngTemplateOutlet=\"header; context: {label: column.label}\" />\n } @else {\n {{ column.label }}\n }\n </div>\n }\n\n @if (column.content; as content) {\n <div class=\"evo-table__data\">\n <ng-container *ngTemplateOutlet=\"content; context: {row: row, col: col, item: item}\" />\n </div>\n } @else {\n {{ column.formatter(row, col, column.prop !== undefined ? item[column.prop] : item, item) }}\n }\n </div>\n }\n </div>\n }\n</div>\n", styles: [".evo-table{color:#212121}@media (min-width: 768px){.evo-table{display:table;width:100%}}.evo-table__row{padding:8px}.evo-table__row:nth-child(2n){background-color:#f4f6f8}@media (min-width: 768px){.evo-table__row{display:table-row}.evo-table__row:hover{background-color:#fff8e6}.evo-table__row_head:hover{background:none}}.evo-table__cell{margin-bottom:20px}.evo-table__cell:last-child{margin-bottom:0}@media (min-width: 768px){.evo-table__cell{display:table-cell;height:48px;padding:0 8px;vertical-align:middle}}.evo-table__cell_head{height:auto;padding-top:0;padding-bottom:16px;font-weight:600;white-space:nowrap}@media (min-width: 768px){.evo-table__cell.text-right{text-align:right}}@media (min-width: 768px){.evo-table__cell.text-center{text-align:center}}.evo-table__sort{position:relative;display:inline-block;padding-right:20px;vertical-align:top;cursor:pointer}.evo-table__sort_up:after,.evo-table__sort_down:after{content:\"\";position:absolute;right:0;border:5px solid transparent}.evo-table__sort_up:after{top:4px;border-bottom-color:#212121}.evo-table__sort_down:after{top:8px;border-top-color:#212121}.evo-table__label{margin-bottom:4px;font-weight:600}.evo-table_row-clickable .evo-table__row{cursor:pointer}:host(.evo-table_mobile) .evo-table__row{padding:0}@media (min-width: 768px){:host(.evo-table_mobile) .evo-table__row{display:table-row}:host(.evo-table_mobile) .evo-table__row:hover{background-color:#fff8e6}:host(.evo-table_mobile) .evo-table__row_head:hover{background:none}}:host(.evo-table_mobile) .evo-table__cell{display:flex;margin-bottom:0;padding:13px 8px}@media (min-width: 768px){:host(.evo-table_mobile) .evo-table__cell{display:table-cell;height:52px;padding:11px 16px;vertical-align:middle}}:host(.evo-table_mobile) .evo-table__label{width:50%;margin-bottom:0}@media (min-width: 768px){:host(.evo-table_mobile) .evo-table__label{width:auto;margin-bottom:4px}}:host(.evo-table_mobile-align_right) .evo-table__cell{justify-content:space-between}:host(.evo-table_mobile_short) .evo-table{display:table;width:100%}:host(.evo-table_mobile_short) .evo-table__row{display:table-row;padding:16px}:host(.evo-table_mobile_short) .evo-table__row:nth-child(2n){background-color:#f4f6f8}:host(.evo-table_mobile_short) .evo-table__row:hover{background-color:#fff8e6}:host(.evo-table_mobile_short) .evo-table__row_head:hover{background:none}:host(.evo-table_mobile_short) .evo-table__cell{display:table-cell;height:52px;padding:11px 16px;vertical-align:middle}:host(.evo-table_mobile_short) .evo-table__cell_head{height:auto;padding-top:0;padding-bottom:16px;font-weight:600;white-space:nowrap;border-top:none}:host(.evo-table_with-title) .evo-table__cell{font-weight:400}:host(.evo-table_with-title) .evo-table__cell:first-child{font-weight:600}@media (min-width: 768px){:host(.evo-table_with-title) .evo-table__cell:first-child{font-weight:400}}:host(.evo-table_with-title) .evo-table__cell:first-child .evo-table__label{display:none}:host(.evo-table_with-title) .evo-table__label{font-weight:400}\n"] }]
4688
4694
  }], propDecorators: { data: [{
4689
4695
  type: Input
4690
4696
  }], showHeader: [{
@@ -4695,6 +4701,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
4695
4701
  type: Input
4696
4702
  }], rowClasses: [{
4697
4703
  type: Input
4704
+ }], rowTitle: [{
4705
+ type: Input
4698
4706
  }], rowClick: [{
4699
4707
  type: Output
4700
4708
  }], columns: [{