mapa-library-ui 0.0.20 → 0.0.21

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.
@@ -92,10 +92,10 @@ export class MapaTableComponent {
92
92
  }
93
93
  }
94
94
  MapaTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaTableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
95
- MapaTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaTableComponent, selector: "mapa-table", inputs: { columns: "columns", data: "data", checkbox: "checkbox", actions: "actions" }, outputs: { tableData: "tableData", rowClick: "rowClick", selectedObjectsChange: "selectedObjectsChange" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], ngImport: i0, template: "<div class=\"table\">\n <table mat-table [dataSource]=\"dataSource\" matSort>\n <ng-container *ngFor=\"let column of columns; let isFirst = first\" [matColumnDef]=\"column.key\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header (click)=\"sortData(column.key)\">\n <div class=\"header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox (change)=\"$event ? toggleAllRows() : null\" [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation(); createObjectFromSelection()\">\n </mat-checkbox>\n </ng-container>\n <div *ngIf=\"column.key !== 'actions'\">\n <mat-icon>filter_list</mat-icon>\n </div>\n <div class=\"label\">\n {{ column.label }}\n </div> \n </div> \n </th>\n <td mat-cell *matCellDef=\"let row\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox (click)=\"$event.stopPropagation(); createObjectFromSelection()\"\n (change)=\"$event ? selection.toggle(row) : null\" [checked]=\"selection.isSelected(row)\">\n </mat-checkbox>\n </ng-container>\n <ng-container *ngIf=\"column.key === 'actions'\">\n <div class=\"actions\">\n <mat-icon (click)=\"handleRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"handleRowClick(row, 'delete')\">delete</mat-icon> \n <mat-icon (click)=\"handleRowClick(row, 'visibility')\">visibility</mat-icon>\n </div>\n </ng-container>\n <div class=\"table__column\" (click)=\"handleRowClick(row, '')\">\n {{ row[column.key] }}\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-paginator class=\"custom_paginator\" appBubblePagination\n [appCustomLength]=\"dataSource ? dataSource.data.length : 0\" [length]=\"dataSource ? dataSource.data.length : 0\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\" [pageSize]=\"5\" aria-label=\"Select page\"></mat-paginator>\n</div>", styles: [".table__column{width:100%}.table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}.table .mat-table{width:100%}.table .tr,.table th{padding-top:15px;padding-bottom:15px}.table .label{margin-top:4px}.table .header{padding-top:15px;padding-bottom:15px;align-items:center;display:flex}.table .mat-mdc-cell{padding:15px}.table .mat-icon{cursor:pointer;position:relative;bottom:-6px;padding:0 5px}.table .actions{display:flex}.table .actions .mat-icon{color:#ea561d!important}.table .mat-accent{--mdc-checkbox-selected-focus-icon-color: #ea561d;--mdc-checkbox-selected-hover-icon-color: #ea561d;--mdc-checkbox-selected-pressed-icon-color: transparent;--mdc-checkbox-selected-icon-color: #ea561d;--mdc-checkbox-selected-checkmark-color: #fff;--mdc-circular-progress-active-indicator-color: transparent}.mat-mdc-paginator-container{display:flex;justify-content:space-between}.g-bubble-container{display:flex;gap:4px}.g-bubble{background-color:#fff;border-radius:20%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#181818;font-size:14px;cursor:pointer;transition:.3s}.g-bubble:hover{background-color:#b6b6b6;color:#fff}.g-bubble__active{background-color:#ea561d;color:#fff}mat-paginator{background:transparent!important}.mat-mdc-paginator-range-actions{margin-right:12px!important}.custom_paginator .mat-mdc-paginator-container{display:flex;justify-content:space-between;margin-right:25vw}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "component", type: i5.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i5.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6.BubblePaginationDirective, selector: "[appBubblePagination]", inputs: ["showFirstButton", "showLastButton", "renderButtonsNumber", "appCustomLength", "hideDefaultArrows"], outputs: ["pageIndexChangeEmitter"] }], encapsulation: i0.ViewEncapsulation.None });
95
+ MapaTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaTableComponent, selector: "mapa-table", inputs: { columns: "columns", data: "data", checkbox: "checkbox", actions: "actions" }, outputs: { tableData: "tableData", rowClick: "rowClick", selectedObjectsChange: "selectedObjectsChange" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], ngImport: i0, template: "<div class=\"mapa-table\">\n <table mat-table [dataSource]=\"dataSource\" matSort>\n <ng-container\n *ngFor=\"let column of columns; let isFirst = first\"\n [matColumnDef]=\"column.key\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n (click)=\"sortData(column.key)\"\n >\n <div class=\"mapa-table__header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (change)=\"$event ? toggleAllRows() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation(); createObjectFromSelection()\"\n >\n </mat-checkbox>\n </ng-container>\n <div *ngIf=\"column.key !== 'actions'\">\n <mat-icon>filter_list</mat-icon>\n </div>\n <div class=\"mapa-table__label\">\n {{ column.label }}\n </div>\n </div>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (click)=\"$event.stopPropagation(); createObjectFromSelection()\"\n (change)=\"$event ? selection.toggle(row) : null\"\n [checked]=\"selection.isSelected(row)\"\n >\n </mat-checkbox>\n </ng-container>\n <ng-container *ngIf=\"column.key === 'actions'\">\n <div class=\"mapa-table__actions\">\n <mat-icon (click)=\"handleRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"handleRowClick(row, 'delete')\">delete</mat-icon>\n <mat-icon (click)=\"handleRowClick(row, 'visibility')\"\n >visibility</mat-icon\n >\n </div>\n </ng-container>\n <div class=\"mapa-table__column\" (click)=\"handleRowClick(row, '')\">\n {{ row[column.key] }}\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-paginator\n class=\"mapa-table__paginator\"\n appBubblePagination\n [appCustomLength]=\"dataSource ? dataSource.data.length : 0\"\n [length]=\"dataSource ? dataSource.data.length : 0\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\"\n [pageSize]=\"5\"\n aria-label=\"Select page\"\n ></mat-paginator>\n</div>\n", styles: [".mapa-table__column{width:100%}.mapa-table__label{margin-top:4px}.mapa-table__header{padding-top:15px;padding-bottom:15px;align-items:center;display:flex}.mapa-table__actions{display:flex}.mapa-table__actions .mat-icon{color:#ea561d!important}.mapa-table__paginator .mat-mdc-paginator-container{display:flex;justify-content:space-between;margin-right:25vw}.mapa-table__paginator .g-bubble-container{display:flex;gap:4px}.mapa-table__paginator .g-bubble{background-color:#fff;border-radius:20%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#181818;font-size:14px;cursor:pointer;transition:.3s}.mapa-table__paginator .g-bubble:hover{background-color:#b6b6b6;color:#fff}.mapa-table__paginator .g-bubble__active{background-color:#ea561d;color:#fff}.mapa-table__paginator mat-paginator{background:transparent!important}.mapa-table__paginator .mat-mdc-paginator-range-actions{margin-right:12px!important}.mapa-table .mat-table{width:100%}.mapa-table .tr,.mapa-table th{padding-top:15px;padding-bottom:15px}.mapa-table .mat-mdc-cell{padding:15px}.mapa-table .mat-icon{cursor:pointer;position:relative;bottom:-6px;padding:0 5px}.mapa-table .mat-accent{--mdc-checkbox-selected-focus-icon-color: #ea561d;--mdc-checkbox-selected-hover-icon-color: #ea561d;--mdc-checkbox-selected-pressed-icon-color: transparent;--mdc-checkbox-selected-icon-color: #ea561d;--mdc-checkbox-selected-checkmark-color: #fff;--mdc-circular-progress-active-indicator-color: transparent}.mapa-table .mat-mdc-paginator-container{display:flex;justify-content:space-between}.mapa-table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "component", type: i5.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i5.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6.BubblePaginationDirective, selector: "[appBubblePagination]", inputs: ["showFirstButton", "showLastButton", "renderButtonsNumber", "appCustomLength", "hideDefaultArrows"], outputs: ["pageIndexChangeEmitter"] }], encapsulation: i0.ViewEncapsulation.None });
96
96
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaTableComponent, decorators: [{
97
97
  type: Component,
98
- args: [{ selector: 'mapa-table', encapsulation: ViewEncapsulation.None, template: "<div class=\"table\">\n <table mat-table [dataSource]=\"dataSource\" matSort>\n <ng-container *ngFor=\"let column of columns; let isFirst = first\" [matColumnDef]=\"column.key\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header (click)=\"sortData(column.key)\">\n <div class=\"header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox (change)=\"$event ? toggleAllRows() : null\" [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation(); createObjectFromSelection()\">\n </mat-checkbox>\n </ng-container>\n <div *ngIf=\"column.key !== 'actions'\">\n <mat-icon>filter_list</mat-icon>\n </div>\n <div class=\"label\">\n {{ column.label }}\n </div> \n </div> \n </th>\n <td mat-cell *matCellDef=\"let row\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox (click)=\"$event.stopPropagation(); createObjectFromSelection()\"\n (change)=\"$event ? selection.toggle(row) : null\" [checked]=\"selection.isSelected(row)\">\n </mat-checkbox>\n </ng-container>\n <ng-container *ngIf=\"column.key === 'actions'\">\n <div class=\"actions\">\n <mat-icon (click)=\"handleRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"handleRowClick(row, 'delete')\">delete</mat-icon> \n <mat-icon (click)=\"handleRowClick(row, 'visibility')\">visibility</mat-icon>\n </div>\n </ng-container>\n <div class=\"table__column\" (click)=\"handleRowClick(row, '')\">\n {{ row[column.key] }}\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-paginator class=\"custom_paginator\" appBubblePagination\n [appCustomLength]=\"dataSource ? dataSource.data.length : 0\" [length]=\"dataSource ? dataSource.data.length : 0\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\" [pageSize]=\"5\" aria-label=\"Select page\"></mat-paginator>\n</div>", styles: [".table__column{width:100%}.table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}.table .mat-table{width:100%}.table .tr,.table th{padding-top:15px;padding-bottom:15px}.table .label{margin-top:4px}.table .header{padding-top:15px;padding-bottom:15px;align-items:center;display:flex}.table .mat-mdc-cell{padding:15px}.table .mat-icon{cursor:pointer;position:relative;bottom:-6px;padding:0 5px}.table .actions{display:flex}.table .actions .mat-icon{color:#ea561d!important}.table .mat-accent{--mdc-checkbox-selected-focus-icon-color: #ea561d;--mdc-checkbox-selected-hover-icon-color: #ea561d;--mdc-checkbox-selected-pressed-icon-color: transparent;--mdc-checkbox-selected-icon-color: #ea561d;--mdc-checkbox-selected-checkmark-color: #fff;--mdc-circular-progress-active-indicator-color: transparent}.mat-mdc-paginator-container{display:flex;justify-content:space-between}.g-bubble-container{display:flex;gap:4px}.g-bubble{background-color:#fff;border-radius:20%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#181818;font-size:14px;cursor:pointer;transition:.3s}.g-bubble:hover{background-color:#b6b6b6;color:#fff}.g-bubble__active{background-color:#ea561d;color:#fff}mat-paginator{background:transparent!important}.mat-mdc-paginator-range-actions{margin-right:12px!important}.custom_paginator .mat-mdc-paginator-container{display:flex;justify-content:space-between;margin-right:25vw}\n"] }]
98
+ args: [{ selector: 'mapa-table', encapsulation: ViewEncapsulation.None, template: "<div class=\"mapa-table\">\n <table mat-table [dataSource]=\"dataSource\" matSort>\n <ng-container\n *ngFor=\"let column of columns; let isFirst = first\"\n [matColumnDef]=\"column.key\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n (click)=\"sortData(column.key)\"\n >\n <div class=\"mapa-table__header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (change)=\"$event ? toggleAllRows() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation(); createObjectFromSelection()\"\n >\n </mat-checkbox>\n </ng-container>\n <div *ngIf=\"column.key !== 'actions'\">\n <mat-icon>filter_list</mat-icon>\n </div>\n <div class=\"mapa-table__label\">\n {{ column.label }}\n </div>\n </div>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (click)=\"$event.stopPropagation(); createObjectFromSelection()\"\n (change)=\"$event ? selection.toggle(row) : null\"\n [checked]=\"selection.isSelected(row)\"\n >\n </mat-checkbox>\n </ng-container>\n <ng-container *ngIf=\"column.key === 'actions'\">\n <div class=\"mapa-table__actions\">\n <mat-icon (click)=\"handleRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"handleRowClick(row, 'delete')\">delete</mat-icon>\n <mat-icon (click)=\"handleRowClick(row, 'visibility')\"\n >visibility</mat-icon\n >\n </div>\n </ng-container>\n <div class=\"mapa-table__column\" (click)=\"handleRowClick(row, '')\">\n {{ row[column.key] }}\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-paginator\n class=\"mapa-table__paginator\"\n appBubblePagination\n [appCustomLength]=\"dataSource ? dataSource.data.length : 0\"\n [length]=\"dataSource ? dataSource.data.length : 0\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\"\n [pageSize]=\"5\"\n aria-label=\"Select page\"\n ></mat-paginator>\n</div>\n", styles: [".mapa-table__column{width:100%}.mapa-table__label{margin-top:4px}.mapa-table__header{padding-top:15px;padding-bottom:15px;align-items:center;display:flex}.mapa-table__actions{display:flex}.mapa-table__actions .mat-icon{color:#ea561d!important}.mapa-table__paginator .mat-mdc-paginator-container{display:flex;justify-content:space-between;margin-right:25vw}.mapa-table__paginator .g-bubble-container{display:flex;gap:4px}.mapa-table__paginator .g-bubble{background-color:#fff;border-radius:20%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#181818;font-size:14px;cursor:pointer;transition:.3s}.mapa-table__paginator .g-bubble:hover{background-color:#b6b6b6;color:#fff}.mapa-table__paginator .g-bubble__active{background-color:#ea561d;color:#fff}.mapa-table__paginator mat-paginator{background:transparent!important}.mapa-table__paginator .mat-mdc-paginator-range-actions{margin-right:12px!important}.mapa-table .mat-table{width:100%}.mapa-table .tr,.mapa-table th{padding-top:15px;padding-bottom:15px}.mapa-table .mat-mdc-cell{padding:15px}.mapa-table .mat-icon{cursor:pointer;position:relative;bottom:-6px;padding:0 5px}.mapa-table .mat-accent{--mdc-checkbox-selected-focus-icon-color: #ea561d;--mdc-checkbox-selected-hover-icon-color: #ea561d;--mdc-checkbox-selected-pressed-icon-color: transparent;--mdc-checkbox-selected-icon-color: #ea561d;--mdc-checkbox-selected-checkmark-color: #fff;--mdc-circular-progress-active-indicator-color: transparent}.mapa-table .mat-mdc-paginator-container{display:flex;justify-content:space-between}.mapa-table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}\n"] }]
99
99
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { columns: [{
100
100
  type: Input
101
101
  }], data: [{
@@ -117,4 +117,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
117
117
  }], selectedObjectsChange: [{
118
118
  type: Output
119
119
  }] } });
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBUSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7OztBQVE3RCxNQUFNLE9BQU8sa0JBQWtCO0lBZ0I3QixZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWZqQyxZQUFPLEdBQWtCLEVBQUUsQ0FBQztRQUM1QixTQUFJLEdBQWEsRUFBRSxDQUFDO1FBS25CLGNBQVMsR0FBd0IsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQUMzRCxhQUFRLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDNUQsMEJBQXFCLEdBQXdCLElBQUksWUFBWSxFQUFTLENBQUM7UUFHakYscUJBQWdCLEdBQWEsRUFBRSxDQUFDO1FBRWhDLGNBQVMsR0FBRyxJQUFJLGNBQWMsQ0FBTSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFRCxDQUFDO0lBRTlD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R0FBRyxDQUFDLENBQUM7YUFDM0I7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELGNBQWMsQ0FBQyxFQUFVLEVBQUUsSUFBWTtRQUNyQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7O2dIQW5HVSxrQkFBa0I7b0dBQWxCLGtCQUFrQixnU0FLbEIsWUFBWSx1RUFDWixPQUFPLGdEQ2xCcEIsMHZFQTZDTTs0RkRqQ08sa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLFlBQVksaUJBR1AsaUJBQWlCLENBQUMsSUFBSTt3R0FHNUIsT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDbUIsU0FBUztzQkFBakMsU0FBUzt1QkFBQyxZQUFZO2dCQUNILElBQUk7c0JBQXZCLFNBQVM7dUJBQUMsT0FBTztnQkFDUixTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRQYWdpbmF0b3IgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xuaW1wb3J0IHsgTWF0U29ydCwgU29ydCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYXBhLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBNYXBhVGFibGVDb21wb25lbnQge1xuICBASW5wdXQoKSBjb2x1bW5zOiBUYWJsZUNvbHVtbltdID0gW107XG4gIEBJbnB1dCgpIGRhdGE6IE9iamVjdFtdID0gW107XG4gIEBJbnB1dCgpIGNoZWNrYm94OiBib29sZWFuIHwgdW5kZWZpbmVkOyBcbiAgQElucHV0KCkgYWN0aW9uczogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgQFZpZXdDaGlsZChNYXRQYWdpbmF0b3IpIHBhZ2luYXRvciE6IE1hdFBhZ2luYXRvcjtcbiAgQFZpZXdDaGlsZChNYXRTb3J0KSBzb3J0ITogTWF0U29ydDtcbiAgQE91dHB1dCgpIHRhYmxlRGF0YTogRXZlbnRFbWl0dGVyPGFueVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XG4gIEBPdXRwdXQoKSByb3dDbGljazogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTsgXG4gIEBPdXRwdXQoKSBzZWxlY3RlZE9iamVjdHNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnlbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueVtdPigpO1xuXG4gIGRhdGFTb3VyY2UhOiBNYXRUYWJsZURhdGFTb3VyY2U8T2JqZWN0PjtcbiAgZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW10gPSBbXTtcbiAgY3VycmVudFNvcnQ6IFNvcnQgfCB1bmRlZmluZWQ7XG4gIHNlbGVjdGlvbiA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxhbnk+KHRydWUsIFtdKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UodGhpcy5kYXRhKTtcbiAgICB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yID0gdGhpcy5wYWdpbmF0b3I7XG4gICAgdGhpcy5kYXRhU291cmNlLnNvcnQgPSB0aGlzLnNvcnQ7XG4gICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gdGhpcy5jb2x1bW5zLm1hcChjb2x1bW4gPT4gY29sdW1uLmtleSk7XG4gIH1cblxuICBpc0FsbFNlbGVjdGVkKCkge1xuICAgIGNvbnN0IG51bVNlbGVjdGVkID0gdGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWQubGVuZ3RoO1xuICAgIGNvbnN0IG51bVJvd3MgPSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5sZW5ndGg7XG4gICAgcmV0dXJuIG51bVNlbGVjdGVkID09PSBudW1Sb3dzO1xuICB9XG5cbiAgdG9nZ2xlQWxsUm93cygpIHtcbiAgICBpZiAodGhpcy5pc0FsbFNlbGVjdGVkKCkpIHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGRhdGFBc1BlcmlvZGljRWxlbWVudHMgPSB0aGlzLmRhdGFTb3VyY2UuZGF0YSBhcyBhbnlbXTtcbiAgICAgIGRhdGFBc1BlcmlvZGljRWxlbWVudHMuZm9yRWFjaChyb3cgPT4gdGhpcy5zZWxlY3Rpb24uc2VsZWN0KHJvdykpO1xuICAgIH1cbiAgfVxuXG4gIGNoZWNrYm94TGFiZWwocm93PzogYW55KTogc3RyaW5nIHtcbiAgICBpZiAoIXJvdykge1xuICAgICAgcmV0dXJuIGAke3RoaXMuaXNBbGxTZWxlY3RlZCgpID8gJ2Rlc2VsZWN0JyA6ICdzZWxlY3QnfSBhbGxgO1xuICAgIH1cbiAgICByZXR1cm4gYCR7dGhpcy5zZWxlY3Rpb24uaXNTZWxlY3RlZChyb3cpID8gJ2Rlc2VsZWN0JyA6ICdzZWxlY3QnfSByb3cgJHtyb3cucG9zaXRpb24gKyAxfWA7XG4gIH1cblxuICBzb3J0RGF0YShzb3J0S2V5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBzb3J0OiBTb3J0ID0geyBhY3RpdmU6IHNvcnRLZXksIGRpcmVjdGlvbjogJ2FzYycgfTtcblxuICAgIGlmICh0aGlzLmN1cnJlbnRTb3J0ICYmIHRoaXMuY3VycmVudFNvcnQuYWN0aXZlID09PSBzb3J0S2V5ICYmIHRoaXMuY3VycmVudFNvcnQuZGlyZWN0aW9uID09PSAnYXNjJykge1xuICAgICAgc29ydC5kaXJlY3Rpb24gPSAnZGVzYyc7XG4gICAgfVxuXG4gICAgdGhpcy5jdXJyZW50U29ydCA9IHNvcnQ7XG4gICAgdGhpcy5zb3J0RGF0YUZ1bmN0aW9uKHNvcnQpO1xuICB9XG5cbiAgc29ydERhdGFGdW5jdGlvbihzb3J0OiBTb3J0KSB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhLnNsaWNlKCk7XG5cbiAgICBpZiAoIXNvcnQuYWN0aXZlIHx8IHNvcnQuZGlyZWN0aW9uID09PSAnJykge1xuICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSBkYXRhO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gZGF0YS5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xuICAgICAgY29uc3QgaXNBc2MgPSBzb3J0LmRpcmVjdGlvbiA9PT0gJ2FzYyc7XG4gICAgICByZXR1cm4gdGhpcy5jb21wYXJlKGFbc29ydC5hY3RpdmVdLCBiW3NvcnQuYWN0aXZlXSwgaXNBc2MpO1xuICAgIH0pO1xuICB9XG5cbiAgY29tcGFyZShhOiBhbnksIGI6IGFueSwgaXNBc2M6IGJvb2xlYW4pIHtcbiAgICBpZiAodHlwZW9mIGEgPT09ICdzdHJpbmcnICYmIHR5cGVvZiBiID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIChhLnRvTG93ZXJDYXNlKCkgPCBiLnRvTG93ZXJDYXNlKCkgPyAtMSA6IDEpICogKGlzQXNjID8gMSA6IC0xKTtcbiAgICB9XG4gICAgcmV0dXJuIChhIDwgYiA/IC0xIDogMSkgKiAoaXNBc2MgPyAxIDogLTEpO1xuICB9XG5cbiAgY3JlYXRlT2JqZWN0RnJvbVNlbGVjdGlvbigpIHtcbiAgICBjb25zdCBzZWxlY3RlZFJvd3MgPSB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZDtcbiAgICBjb25zdCBzZWxlY3RlZE9iamVjdHM6IGFueVtdIHwgdW5kZWZpbmVkID0gW107XG4gIFxuICAgIHNlbGVjdGVkUm93cy5mb3JFYWNoKHJvdyA9PiB7XG4gICAgICBpZiAodGhpcy5zZWxlY3Rpb24uaXNTZWxlY3RlZChyb3cpKSB7XG4gICAgICAgIGNvbnN0IG9iajogYW55ID0ge307XG4gICAgICAgIHRoaXMuY29sdW1ucy5mb3JFYWNoKGNvbHVtbiA9PiB7XG4gICAgICAgICAgb2JqW2NvbHVtbi5rZXldID0gcm93W2NvbHVtbi5rZXldO1xuICAgICAgICB9KTtcbiAgICAgICAgc2VsZWN0ZWRPYmplY3RzLnB1c2gob2JqKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgXG4gICAgdGhpcy5zZWxlY3RlZE9iamVjdHNDaGFuZ2UuZW1pdChzZWxlY3RlZE9iamVjdHMpO1xuICB9ICBcblxuICBoYW5kbGVSb3dDbGljayhpZDogc3RyaW5nLCB0ZXN0OiBzdHJpbmcpIHtcbiAgICBjb25zb2xlLmxvZyh0ZXN0KTtcbiAgICB0aGlzLnJvd0NsaWNrLmVtaXQoaWQpOyBcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ29sdW1uIHtcbiAga2V5OiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHNvcnQ6IGJvb2xlYW47XG59XG4iLCI8ZGl2IGNsYXNzPVwidGFibGVcIj5cbiAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCIgbWF0U29ydD5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgbGV0IGlzRmlyc3QgPSBmaXJzdFwiIFttYXRDb2x1bW5EZWZdPVwiY29sdW1uLmtleVwiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXIgKGNsaWNrKT1cInNvcnREYXRhKGNvbHVtbi5rZXkpXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNGaXJzdCAmJiBjaGVja2JveFwiPlxuICAgICAgICAgICAgPG1hdC1jaGVja2JveCAoY2hhbmdlKT1cIiRldmVudCA/IHRvZ2dsZUFsbFJvd3MoKSA6IG51bGxcIiBbY2hlY2tlZF09XCJzZWxlY3Rpb24uaGFzVmFsdWUoKSAmJiBpc0FsbFNlbGVjdGVkKClcIlxuICAgICAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJzZWxlY3Rpb24uaGFzVmFsdWUoKSAmJiAhaXNBbGxTZWxlY3RlZCgpXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgY3JlYXRlT2JqZWN0RnJvbVNlbGVjdGlvbigpXCI+XG4gICAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29sdW1uLmtleSAhPT0gJ2FjdGlvbnMnXCI+XG4gICAgICAgICAgICA8bWF0LWljb24+ZmlsdGVyX2xpc3Q8L21hdC1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiPlxuICAgICAgICAgICAge3sgY29sdW1uLmxhYmVsIH19XG4gICAgICAgICAgPC9kaXY+IFxuICAgICAgICA8L2Rpdj4gXG4gICAgICA8L3RoPlxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNGaXJzdCAmJiBjaGVja2JveFwiPlxuICAgICAgICAgIDxtYXQtY2hlY2tib3ggKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgY3JlYXRlT2JqZWN0RnJvbVNlbGVjdGlvbigpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwiJGV2ZW50ID8gc2VsZWN0aW9uLnRvZ2dsZShyb3cpIDogbnVsbFwiIFtjaGVja2VkXT1cInNlbGVjdGlvbi5pc1NlbGVjdGVkKHJvdylcIj5cbiAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4ua2V5ID09PSAnYWN0aW9ucydcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uc1wiPlxuICAgICAgICAgICAgPG1hdC1pY29uIChjbGljayk9XCJoYW5kbGVSb3dDbGljayhyb3csICdlZGl0JylcIj5lZGl0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiAoY2xpY2spPVwiaGFuZGxlUm93Q2xpY2socm93LCAnZGVsZXRlJylcIj5kZWxldGU8L21hdC1pY29uPiAgICAgICAgICBcbiAgICAgICAgICAgIDxtYXQtaWNvbiAoY2xpY2spPVwiaGFuZGxlUm93Q2xpY2socm93LCAndmlzaWJpbGl0eScpXCI+dmlzaWJpbGl0eTwvbWF0LWljb24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGVfX2NvbHVtblwiIChjbGljayk9XCJoYW5kbGVSb3dDbGljayhyb3csICcnKVwiPlxuICAgICAgICAgIHt7IHJvd1tjb2x1bW4ua2V5XSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxuICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiPjwvdHI+XG4gIDwvdGFibGU+XG5cbiAgPG1hdC1wYWdpbmF0b3IgY2xhc3M9XCJjdXN0b21fcGFnaW5hdG9yXCIgYXBwQnViYmxlUGFnaW5hdGlvblxuICAgIFthcHBDdXN0b21MZW5ndGhdPVwiZGF0YVNvdXJjZSA/IGRhdGFTb3VyY2UuZGF0YS5sZW5ndGggOiAwXCIgW2xlbmd0aF09XCJkYXRhU291cmNlID8gZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCA6IDBcIlxuICAgIFtwYWdlU2l6ZU9wdGlvbnNdPVwiWzUsIDEwLCAyNSwgMTAwXVwiIFtwYWdlU2l6ZV09XCI1XCIgYXJpYS1sYWJlbD1cIlNlbGVjdCBwYWdlXCI+PC9tYXQtcGFnaW5hdG9yPlxuPC9kaXY+Il19
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBUSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7OztBQVE3RCxNQUFNLE9BQU8sa0JBQWtCO0lBZ0I3QixZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWZqQyxZQUFPLEdBQWtCLEVBQUUsQ0FBQztRQUM1QixTQUFJLEdBQWEsRUFBRSxDQUFDO1FBS25CLGNBQVMsR0FBd0IsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQUMzRCxhQUFRLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDNUQsMEJBQXFCLEdBQXdCLElBQUksWUFBWSxFQUFTLENBQUM7UUFHakYscUJBQWdCLEdBQWEsRUFBRSxDQUFDO1FBRWhDLGNBQVMsR0FBRyxJQUFJLGNBQWMsQ0FBTSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFRCxDQUFDO0lBRTlD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R0FBRyxDQUFDLENBQUM7YUFDM0I7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELGNBQWMsQ0FBQyxFQUFVLEVBQUUsSUFBWTtRQUNyQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7O2dIQW5HVSxrQkFBa0I7b0dBQWxCLGtCQUFrQixnU0FLbEIsWUFBWSx1RUFDWixPQUFPLGdEQ2xCcEIsZy9FQW9FQTs0RkR4RGEsa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLFlBQVksaUJBR1AsaUJBQWlCLENBQUMsSUFBSTt3R0FHNUIsT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDbUIsU0FBUztzQkFBakMsU0FBUzt1QkFBQyxZQUFZO2dCQUNILElBQUk7c0JBQXZCLFNBQVM7dUJBQUMsT0FBTztnQkFDUixTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRQYWdpbmF0b3IgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xuaW1wb3J0IHsgTWF0U29ydCwgU29ydCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYXBhLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBNYXBhVGFibGVDb21wb25lbnQge1xuICBASW5wdXQoKSBjb2x1bW5zOiBUYWJsZUNvbHVtbltdID0gW107XG4gIEBJbnB1dCgpIGRhdGE6IE9iamVjdFtdID0gW107XG4gIEBJbnB1dCgpIGNoZWNrYm94OiBib29sZWFuIHwgdW5kZWZpbmVkOyBcbiAgQElucHV0KCkgYWN0aW9uczogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgQFZpZXdDaGlsZChNYXRQYWdpbmF0b3IpIHBhZ2luYXRvciE6IE1hdFBhZ2luYXRvcjtcbiAgQFZpZXdDaGlsZChNYXRTb3J0KSBzb3J0ITogTWF0U29ydDtcbiAgQE91dHB1dCgpIHRhYmxlRGF0YTogRXZlbnRFbWl0dGVyPGFueVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XG4gIEBPdXRwdXQoKSByb3dDbGljazogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTsgXG4gIEBPdXRwdXQoKSBzZWxlY3RlZE9iamVjdHNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnlbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueVtdPigpO1xuXG4gIGRhdGFTb3VyY2UhOiBNYXRUYWJsZURhdGFTb3VyY2U8T2JqZWN0PjtcbiAgZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW10gPSBbXTtcbiAgY3VycmVudFNvcnQ6IFNvcnQgfCB1bmRlZmluZWQ7XG4gIHNlbGVjdGlvbiA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxhbnk+KHRydWUsIFtdKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UodGhpcy5kYXRhKTtcbiAgICB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yID0gdGhpcy5wYWdpbmF0b3I7XG4gICAgdGhpcy5kYXRhU291cmNlLnNvcnQgPSB0aGlzLnNvcnQ7XG4gICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gdGhpcy5jb2x1bW5zLm1hcChjb2x1bW4gPT4gY29sdW1uLmtleSk7XG4gIH1cblxuICBpc0FsbFNlbGVjdGVkKCkge1xuICAgIGNvbnN0IG51bVNlbGVjdGVkID0gdGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWQubGVuZ3RoO1xuICAgIGNvbnN0IG51bVJvd3MgPSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5sZW5ndGg7XG4gICAgcmV0dXJuIG51bVNlbGVjdGVkID09PSBudW1Sb3dzO1xuICB9XG5cbiAgdG9nZ2xlQWxsUm93cygpIHtcbiAgICBpZiAodGhpcy5pc0FsbFNlbGVjdGVkKCkpIHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGRhdGFBc1BlcmlvZGljRWxlbWVudHMgPSB0aGlzLmRhdGFTb3VyY2UuZGF0YSBhcyBhbnlbXTtcbiAgICAgIGRhdGFBc1BlcmlvZGljRWxlbWVudHMuZm9yRWFjaChyb3cgPT4gdGhpcy5zZWxlY3Rpb24uc2VsZWN0KHJvdykpO1xuICAgIH1cbiAgfVxuXG4gIGNoZWNrYm94TGFiZWwocm93PzogYW55KTogc3RyaW5nIHtcbiAgICBpZiAoIXJvdykge1xuICAgICAgcmV0dXJuIGAke3RoaXMuaXNBbGxTZWxlY3RlZCgpID8gJ2Rlc2VsZWN0JyA6ICdzZWxlY3QnfSBhbGxgO1xuICAgIH1cbiAgICByZXR1cm4gYCR7dGhpcy5zZWxlY3Rpb24uaXNTZWxlY3RlZChyb3cpID8gJ2Rlc2VsZWN0JyA6ICdzZWxlY3QnfSByb3cgJHtyb3cucG9zaXRpb24gKyAxfWA7XG4gIH1cblxuICBzb3J0RGF0YShzb3J0S2V5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBzb3J0OiBTb3J0ID0geyBhY3RpdmU6IHNvcnRLZXksIGRpcmVjdGlvbjogJ2FzYycgfTtcblxuICAgIGlmICh0aGlzLmN1cnJlbnRTb3J0ICYmIHRoaXMuY3VycmVudFNvcnQuYWN0aXZlID09PSBzb3J0S2V5ICYmIHRoaXMuY3VycmVudFNvcnQuZGlyZWN0aW9uID09PSAnYXNjJykge1xuICAgICAgc29ydC5kaXJlY3Rpb24gPSAnZGVzYyc7XG4gICAgfVxuXG4gICAgdGhpcy5jdXJyZW50U29ydCA9IHNvcnQ7XG4gICAgdGhpcy5zb3J0RGF0YUZ1bmN0aW9uKHNvcnQpO1xuICB9XG5cbiAgc29ydERhdGFGdW5jdGlvbihzb3J0OiBTb3J0KSB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhLnNsaWNlKCk7XG5cbiAgICBpZiAoIXNvcnQuYWN0aXZlIHx8IHNvcnQuZGlyZWN0aW9uID09PSAnJykge1xuICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSBkYXRhO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gZGF0YS5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xuICAgICAgY29uc3QgaXNBc2MgPSBzb3J0LmRpcmVjdGlvbiA9PT0gJ2FzYyc7XG4gICAgICByZXR1cm4gdGhpcy5jb21wYXJlKGFbc29ydC5hY3RpdmVdLCBiW3NvcnQuYWN0aXZlXSwgaXNBc2MpO1xuICAgIH0pO1xuICB9XG5cbiAgY29tcGFyZShhOiBhbnksIGI6IGFueSwgaXNBc2M6IGJvb2xlYW4pIHtcbiAgICBpZiAodHlwZW9mIGEgPT09ICdzdHJpbmcnICYmIHR5cGVvZiBiID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIChhLnRvTG93ZXJDYXNlKCkgPCBiLnRvTG93ZXJDYXNlKCkgPyAtMSA6IDEpICogKGlzQXNjID8gMSA6IC0xKTtcbiAgICB9XG4gICAgcmV0dXJuIChhIDwgYiA/IC0xIDogMSkgKiAoaXNBc2MgPyAxIDogLTEpO1xuICB9XG5cbiAgY3JlYXRlT2JqZWN0RnJvbVNlbGVjdGlvbigpIHtcbiAgICBjb25zdCBzZWxlY3RlZFJvd3MgPSB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZDtcbiAgICBjb25zdCBzZWxlY3RlZE9iamVjdHM6IGFueVtdIHwgdW5kZWZpbmVkID0gW107XG4gIFxuICAgIHNlbGVjdGVkUm93cy5mb3JFYWNoKHJvdyA9PiB7XG4gICAgICBpZiAodGhpcy5zZWxlY3Rpb24uaXNTZWxlY3RlZChyb3cpKSB7XG4gICAgICAgIGNvbnN0IG9iajogYW55ID0ge307XG4gICAgICAgIHRoaXMuY29sdW1ucy5mb3JFYWNoKGNvbHVtbiA9PiB7XG4gICAgICAgICAgb2JqW2NvbHVtbi5rZXldID0gcm93W2NvbHVtbi5rZXldO1xuICAgICAgICB9KTtcbiAgICAgICAgc2VsZWN0ZWRPYmplY3RzLnB1c2gob2JqKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgXG4gICAgdGhpcy5zZWxlY3RlZE9iamVjdHNDaGFuZ2UuZW1pdChzZWxlY3RlZE9iamVjdHMpO1xuICB9ICBcblxuICBoYW5kbGVSb3dDbGljayhpZDogc3RyaW5nLCB0ZXN0OiBzdHJpbmcpIHtcbiAgICBjb25zb2xlLmxvZyh0ZXN0KTtcbiAgICB0aGlzLnJvd0NsaWNrLmVtaXQoaWQpOyBcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ29sdW1uIHtcbiAga2V5OiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHNvcnQ6IGJvb2xlYW47XG59XG4iLCI8ZGl2IGNsYXNzPVwibWFwYS10YWJsZVwiPlxuICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIiBtYXRTb3J0PlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgbGV0IGlzRmlyc3QgPSBmaXJzdFwiXG4gICAgICBbbWF0Q29sdW1uRGVmXT1cImNvbHVtbi5rZXlcIlxuICAgID5cbiAgICAgIDx0aFxuICAgICAgICBtYXQtaGVhZGVyLWNlbGxcbiAgICAgICAgKm1hdEhlYWRlckNlbGxEZWZcbiAgICAgICAgbWF0LXNvcnQtaGVhZGVyXG4gICAgICAgIChjbGljayk9XCJzb3J0RGF0YShjb2x1bW4ua2V5KVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYXBhLXRhYmxlX19oZWFkZXJcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNGaXJzdCAmJiBjaGVja2JveFwiPlxuICAgICAgICAgICAgPG1hdC1jaGVja2JveFxuICAgICAgICAgICAgICAoY2hhbmdlKT1cIiRldmVudCA/IHRvZ2dsZUFsbFJvd3MoKSA6IG51bGxcIlxuICAgICAgICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3Rpb24uaGFzVmFsdWUoKSAmJiBpc0FsbFNlbGVjdGVkKClcIlxuICAgICAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJzZWxlY3Rpb24uaGFzVmFsdWUoKSAmJiAhaXNBbGxTZWxlY3RlZCgpXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgY3JlYXRlT2JqZWN0RnJvbVNlbGVjdGlvbigpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW4ua2V5ICE9PSAnYWN0aW9ucydcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj5maWx0ZXJfbGlzdDwvbWF0LWljb24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1hcGEtdGFibGVfX2xhYmVsXCI+XG4gICAgICAgICAgICB7eyBjb2x1bW4ubGFiZWwgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3RoPlxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNGaXJzdCAmJiBjaGVja2JveFwiPlxuICAgICAgICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IGNyZWF0ZU9iamVjdEZyb21TZWxlY3Rpb24oKVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cIiRldmVudCA/IHNlbGVjdGlvbi50b2dnbGUocm93KSA6IG51bGxcIlxuICAgICAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0aW9uLmlzU2VsZWN0ZWQocm93KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi5rZXkgPT09ICdhY3Rpb25zJ1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXBhLXRhYmxlX19hY3Rpb25zXCI+XG4gICAgICAgICAgICA8bWF0LWljb24gKGNsaWNrKT1cImhhbmRsZVJvd0NsaWNrKHJvdywgJ2VkaXQnKVwiPmVkaXQ8L21hdC1pY29uPlxuICAgICAgICAgICAgPG1hdC1pY29uIChjbGljayk9XCJoYW5kbGVSb3dDbGljayhyb3csICdkZWxldGUnKVwiPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICAgICAgICA8bWF0LWljb24gKGNsaWNrKT1cImhhbmRsZVJvd0NsaWNrKHJvdywgJ3Zpc2liaWxpdHknKVwiXG4gICAgICAgICAgICAgID52aXNpYmlsaXR5PC9tYXQtaWNvblxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1hcGEtdGFibGVfX2NvbHVtblwiIChjbGljayk9XCJoYW5kbGVSb3dDbGljayhyb3csICcnKVwiPlxuICAgICAgICAgIHt7IHJvd1tjb2x1bW4ua2V5XSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxuICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiPjwvdHI+XG4gIDwvdGFibGU+XG5cbiAgPG1hdC1wYWdpbmF0b3JcbiAgICBjbGFzcz1cIm1hcGEtdGFibGVfX3BhZ2luYXRvclwiXG4gICAgYXBwQnViYmxlUGFnaW5hdGlvblxuICAgIFthcHBDdXN0b21MZW5ndGhdPVwiZGF0YVNvdXJjZSA/IGRhdGFTb3VyY2UuZGF0YS5sZW5ndGggOiAwXCJcbiAgICBbbGVuZ3RoXT1cImRhdGFTb3VyY2UgPyBkYXRhU291cmNlLmRhdGEubGVuZ3RoIDogMFwiXG4gICAgW3BhZ2VTaXplT3B0aW9uc109XCJbNSwgMTAsIDI1LCAxMDBdXCJcbiAgICBbcGFnZVNpemVdPVwiNVwiXG4gICAgYXJpYS1sYWJlbD1cIlNlbGVjdCBwYWdlXCJcbiAgPjwvbWF0LXBhZ2luYXRvcj5cbjwvZGl2PlxuIl19
@@ -97,10 +97,10 @@ class MapaTableComponent {
97
97
  }
98
98
  }
99
99
  MapaTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaTableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
100
- MapaTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaTableComponent, selector: "mapa-table", inputs: { columns: "columns", data: "data", checkbox: "checkbox", actions: "actions" }, outputs: { tableData: "tableData", rowClick: "rowClick", selectedObjectsChange: "selectedObjectsChange" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], ngImport: i0, template: "<div class=\"table\">\n <table mat-table [dataSource]=\"dataSource\" matSort>\n <ng-container *ngFor=\"let column of columns; let isFirst = first\" [matColumnDef]=\"column.key\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header (click)=\"sortData(column.key)\">\n <div class=\"header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox (change)=\"$event ? toggleAllRows() : null\" [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation(); createObjectFromSelection()\">\n </mat-checkbox>\n </ng-container>\n <div *ngIf=\"column.key !== 'actions'\">\n <mat-icon>filter_list</mat-icon>\n </div>\n <div class=\"label\">\n {{ column.label }}\n </div> \n </div> \n </th>\n <td mat-cell *matCellDef=\"let row\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox (click)=\"$event.stopPropagation(); createObjectFromSelection()\"\n (change)=\"$event ? selection.toggle(row) : null\" [checked]=\"selection.isSelected(row)\">\n </mat-checkbox>\n </ng-container>\n <ng-container *ngIf=\"column.key === 'actions'\">\n <div class=\"actions\">\n <mat-icon (click)=\"handleRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"handleRowClick(row, 'delete')\">delete</mat-icon> \n <mat-icon (click)=\"handleRowClick(row, 'visibility')\">visibility</mat-icon>\n </div>\n </ng-container>\n <div class=\"table__column\" (click)=\"handleRowClick(row, '')\">\n {{ row[column.key] }}\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-paginator class=\"custom_paginator\" appBubblePagination\n [appCustomLength]=\"dataSource ? dataSource.data.length : 0\" [length]=\"dataSource ? dataSource.data.length : 0\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\" [pageSize]=\"5\" aria-label=\"Select page\"></mat-paginator>\n</div>", styles: [".table__column{width:100%}.table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}.table .mat-table{width:100%}.table .tr,.table th{padding-top:15px;padding-bottom:15px}.table .label{margin-top:4px}.table .header{padding-top:15px;padding-bottom:15px;align-items:center;display:flex}.table .mat-mdc-cell{padding:15px}.table .mat-icon{cursor:pointer;position:relative;bottom:-6px;padding:0 5px}.table .actions{display:flex}.table .actions .mat-icon{color:#ea561d!important}.table .mat-accent{--mdc-checkbox-selected-focus-icon-color: #ea561d;--mdc-checkbox-selected-hover-icon-color: #ea561d;--mdc-checkbox-selected-pressed-icon-color: transparent;--mdc-checkbox-selected-icon-color: #ea561d;--mdc-checkbox-selected-checkmark-color: #fff;--mdc-circular-progress-active-indicator-color: transparent}.mat-mdc-paginator-container{display:flex;justify-content:space-between}.g-bubble-container{display:flex;gap:4px}.g-bubble{background-color:#fff;border-radius:20%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#181818;font-size:14px;cursor:pointer;transition:.3s}.g-bubble:hover{background-color:#b6b6b6;color:#fff}.g-bubble__active{background-color:#ea561d;color:#fff}mat-paginator{background:transparent!important}.mat-mdc-paginator-range-actions{margin-right:12px!important}.custom_paginator .mat-mdc-paginator-container{display:flex;justify-content:space-between;margin-right:25vw}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "component", type: i5.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i5.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6.BubblePaginationDirective, selector: "[appBubblePagination]", inputs: ["showFirstButton", "showLastButton", "renderButtonsNumber", "appCustomLength", "hideDefaultArrows"], outputs: ["pageIndexChangeEmitter"] }], encapsulation: i0.ViewEncapsulation.None });
100
+ MapaTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaTableComponent, selector: "mapa-table", inputs: { columns: "columns", data: "data", checkbox: "checkbox", actions: "actions" }, outputs: { tableData: "tableData", rowClick: "rowClick", selectedObjectsChange: "selectedObjectsChange" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], ngImport: i0, template: "<div class=\"mapa-table\">\n <table mat-table [dataSource]=\"dataSource\" matSort>\n <ng-container\n *ngFor=\"let column of columns; let isFirst = first\"\n [matColumnDef]=\"column.key\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n (click)=\"sortData(column.key)\"\n >\n <div class=\"mapa-table__header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (change)=\"$event ? toggleAllRows() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation(); createObjectFromSelection()\"\n >\n </mat-checkbox>\n </ng-container>\n <div *ngIf=\"column.key !== 'actions'\">\n <mat-icon>filter_list</mat-icon>\n </div>\n <div class=\"mapa-table__label\">\n {{ column.label }}\n </div>\n </div>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (click)=\"$event.stopPropagation(); createObjectFromSelection()\"\n (change)=\"$event ? selection.toggle(row) : null\"\n [checked]=\"selection.isSelected(row)\"\n >\n </mat-checkbox>\n </ng-container>\n <ng-container *ngIf=\"column.key === 'actions'\">\n <div class=\"mapa-table__actions\">\n <mat-icon (click)=\"handleRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"handleRowClick(row, 'delete')\">delete</mat-icon>\n <mat-icon (click)=\"handleRowClick(row, 'visibility')\"\n >visibility</mat-icon\n >\n </div>\n </ng-container>\n <div class=\"mapa-table__column\" (click)=\"handleRowClick(row, '')\">\n {{ row[column.key] }}\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-paginator\n class=\"mapa-table__paginator\"\n appBubblePagination\n [appCustomLength]=\"dataSource ? dataSource.data.length : 0\"\n [length]=\"dataSource ? dataSource.data.length : 0\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\"\n [pageSize]=\"5\"\n aria-label=\"Select page\"\n ></mat-paginator>\n</div>\n", styles: [".mapa-table__column{width:100%}.mapa-table__label{margin-top:4px}.mapa-table__header{padding-top:15px;padding-bottom:15px;align-items:center;display:flex}.mapa-table__actions{display:flex}.mapa-table__actions .mat-icon{color:#ea561d!important}.mapa-table__paginator .mat-mdc-paginator-container{display:flex;justify-content:space-between;margin-right:25vw}.mapa-table__paginator .g-bubble-container{display:flex;gap:4px}.mapa-table__paginator .g-bubble{background-color:#fff;border-radius:20%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#181818;font-size:14px;cursor:pointer;transition:.3s}.mapa-table__paginator .g-bubble:hover{background-color:#b6b6b6;color:#fff}.mapa-table__paginator .g-bubble__active{background-color:#ea561d;color:#fff}.mapa-table__paginator mat-paginator{background:transparent!important}.mapa-table__paginator .mat-mdc-paginator-range-actions{margin-right:12px!important}.mapa-table .mat-table{width:100%}.mapa-table .tr,.mapa-table th{padding-top:15px;padding-bottom:15px}.mapa-table .mat-mdc-cell{padding:15px}.mapa-table .mat-icon{cursor:pointer;position:relative;bottom:-6px;padding:0 5px}.mapa-table .mat-accent{--mdc-checkbox-selected-focus-icon-color: #ea561d;--mdc-checkbox-selected-hover-icon-color: #ea561d;--mdc-checkbox-selected-pressed-icon-color: transparent;--mdc-checkbox-selected-icon-color: #ea561d;--mdc-checkbox-selected-checkmark-color: #fff;--mdc-circular-progress-active-indicator-color: transparent}.mapa-table .mat-mdc-paginator-container{display:flex;justify-content:space-between}.mapa-table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "component", type: i5.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i5.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6.BubblePaginationDirective, selector: "[appBubblePagination]", inputs: ["showFirstButton", "showLastButton", "renderButtonsNumber", "appCustomLength", "hideDefaultArrows"], outputs: ["pageIndexChangeEmitter"] }], encapsulation: i0.ViewEncapsulation.None });
101
101
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaTableComponent, decorators: [{
102
102
  type: Component,
103
- args: [{ selector: 'mapa-table', encapsulation: ViewEncapsulation.None, template: "<div class=\"table\">\n <table mat-table [dataSource]=\"dataSource\" matSort>\n <ng-container *ngFor=\"let column of columns; let isFirst = first\" [matColumnDef]=\"column.key\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header (click)=\"sortData(column.key)\">\n <div class=\"header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox (change)=\"$event ? toggleAllRows() : null\" [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation(); createObjectFromSelection()\">\n </mat-checkbox>\n </ng-container>\n <div *ngIf=\"column.key !== 'actions'\">\n <mat-icon>filter_list</mat-icon>\n </div>\n <div class=\"label\">\n {{ column.label }}\n </div> \n </div> \n </th>\n <td mat-cell *matCellDef=\"let row\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox (click)=\"$event.stopPropagation(); createObjectFromSelection()\"\n (change)=\"$event ? selection.toggle(row) : null\" [checked]=\"selection.isSelected(row)\">\n </mat-checkbox>\n </ng-container>\n <ng-container *ngIf=\"column.key === 'actions'\">\n <div class=\"actions\">\n <mat-icon (click)=\"handleRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"handleRowClick(row, 'delete')\">delete</mat-icon> \n <mat-icon (click)=\"handleRowClick(row, 'visibility')\">visibility</mat-icon>\n </div>\n </ng-container>\n <div class=\"table__column\" (click)=\"handleRowClick(row, '')\">\n {{ row[column.key] }}\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-paginator class=\"custom_paginator\" appBubblePagination\n [appCustomLength]=\"dataSource ? dataSource.data.length : 0\" [length]=\"dataSource ? dataSource.data.length : 0\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\" [pageSize]=\"5\" aria-label=\"Select page\"></mat-paginator>\n</div>", styles: [".table__column{width:100%}.table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}.table .mat-table{width:100%}.table .tr,.table th{padding-top:15px;padding-bottom:15px}.table .label{margin-top:4px}.table .header{padding-top:15px;padding-bottom:15px;align-items:center;display:flex}.table .mat-mdc-cell{padding:15px}.table .mat-icon{cursor:pointer;position:relative;bottom:-6px;padding:0 5px}.table .actions{display:flex}.table .actions .mat-icon{color:#ea561d!important}.table .mat-accent{--mdc-checkbox-selected-focus-icon-color: #ea561d;--mdc-checkbox-selected-hover-icon-color: #ea561d;--mdc-checkbox-selected-pressed-icon-color: transparent;--mdc-checkbox-selected-icon-color: #ea561d;--mdc-checkbox-selected-checkmark-color: #fff;--mdc-circular-progress-active-indicator-color: transparent}.mat-mdc-paginator-container{display:flex;justify-content:space-between}.g-bubble-container{display:flex;gap:4px}.g-bubble{background-color:#fff;border-radius:20%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#181818;font-size:14px;cursor:pointer;transition:.3s}.g-bubble:hover{background-color:#b6b6b6;color:#fff}.g-bubble__active{background-color:#ea561d;color:#fff}mat-paginator{background:transparent!important}.mat-mdc-paginator-range-actions{margin-right:12px!important}.custom_paginator .mat-mdc-paginator-container{display:flex;justify-content:space-between;margin-right:25vw}\n"] }]
103
+ args: [{ selector: 'mapa-table', encapsulation: ViewEncapsulation.None, template: "<div class=\"mapa-table\">\n <table mat-table [dataSource]=\"dataSource\" matSort>\n <ng-container\n *ngFor=\"let column of columns; let isFirst = first\"\n [matColumnDef]=\"column.key\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n (click)=\"sortData(column.key)\"\n >\n <div class=\"mapa-table__header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (change)=\"$event ? toggleAllRows() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation(); createObjectFromSelection()\"\n >\n </mat-checkbox>\n </ng-container>\n <div *ngIf=\"column.key !== 'actions'\">\n <mat-icon>filter_list</mat-icon>\n </div>\n <div class=\"mapa-table__label\">\n {{ column.label }}\n </div>\n </div>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (click)=\"$event.stopPropagation(); createObjectFromSelection()\"\n (change)=\"$event ? selection.toggle(row) : null\"\n [checked]=\"selection.isSelected(row)\"\n >\n </mat-checkbox>\n </ng-container>\n <ng-container *ngIf=\"column.key === 'actions'\">\n <div class=\"mapa-table__actions\">\n <mat-icon (click)=\"handleRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"handleRowClick(row, 'delete')\">delete</mat-icon>\n <mat-icon (click)=\"handleRowClick(row, 'visibility')\"\n >visibility</mat-icon\n >\n </div>\n </ng-container>\n <div class=\"mapa-table__column\" (click)=\"handleRowClick(row, '')\">\n {{ row[column.key] }}\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-paginator\n class=\"mapa-table__paginator\"\n appBubblePagination\n [appCustomLength]=\"dataSource ? dataSource.data.length : 0\"\n [length]=\"dataSource ? dataSource.data.length : 0\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\"\n [pageSize]=\"5\"\n aria-label=\"Select page\"\n ></mat-paginator>\n</div>\n", styles: [".mapa-table__column{width:100%}.mapa-table__label{margin-top:4px}.mapa-table__header{padding-top:15px;padding-bottom:15px;align-items:center;display:flex}.mapa-table__actions{display:flex}.mapa-table__actions .mat-icon{color:#ea561d!important}.mapa-table__paginator .mat-mdc-paginator-container{display:flex;justify-content:space-between;margin-right:25vw}.mapa-table__paginator .g-bubble-container{display:flex;gap:4px}.mapa-table__paginator .g-bubble{background-color:#fff;border-radius:20%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#181818;font-size:14px;cursor:pointer;transition:.3s}.mapa-table__paginator .g-bubble:hover{background-color:#b6b6b6;color:#fff}.mapa-table__paginator .g-bubble__active{background-color:#ea561d;color:#fff}.mapa-table__paginator mat-paginator{background:transparent!important}.mapa-table__paginator .mat-mdc-paginator-range-actions{margin-right:12px!important}.mapa-table .mat-table{width:100%}.mapa-table .tr,.mapa-table th{padding-top:15px;padding-bottom:15px}.mapa-table .mat-mdc-cell{padding:15px}.mapa-table .mat-icon{cursor:pointer;position:relative;bottom:-6px;padding:0 5px}.mapa-table .mat-accent{--mdc-checkbox-selected-focus-icon-color: #ea561d;--mdc-checkbox-selected-hover-icon-color: #ea561d;--mdc-checkbox-selected-pressed-icon-color: transparent;--mdc-checkbox-selected-icon-color: #ea561d;--mdc-checkbox-selected-checkmark-color: #fff;--mdc-circular-progress-active-indicator-color: transparent}.mapa-table .mat-mdc-paginator-container{display:flex;justify-content:space-between}.mapa-table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}\n"] }]
104
104
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { columns: [{
105
105
  type: Input
106
106
  }], data: [{
@@ -1 +1 @@
1
- {"version":3,"file":"mapa-library-ui-src-lib-components-table.mjs","sources":["../../../projects/mapa-library-ui/src/lib/components/table/src/table.component.ts","../../../projects/mapa-library-ui/src/lib/components/table/src/table.component.html","../../../projects/mapa-library-ui/src/lib/components/table/src/paginator_customization.ts","../../../projects/mapa-library-ui/src/lib/components/table/src/table.module.ts","../../../projects/mapa-library-ui/src/lib/components/table/public-api.ts","../../../projects/mapa-library-ui/src/lib/components/table/mapa-library-ui-src-lib-components-table.ts"],"sourcesContent":["import { SelectionModel } from '@angular/cdk/collections';\nimport { ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\n\n@Component({\n selector: 'mapa-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class MapaTableComponent {\n @Input() columns: TableColumn[] = [];\n @Input() data: Object[] = [];\n @Input() checkbox: boolean | undefined; \n @Input() actions: boolean | undefined;\n @ViewChild(MatPaginator) paginator!: MatPaginator;\n @ViewChild(MatSort) sort!: MatSort;\n @Output() tableData: EventEmitter<any[]> = new EventEmitter<any[]>();\n @Output() rowClick: EventEmitter<string> = new EventEmitter<string>(); \n @Output() selectedObjectsChange: EventEmitter<any[]> = new EventEmitter<any[]>();\n\n dataSource!: MatTableDataSource<Object>;\n displayedColumns: string[] = [];\n currentSort: Sort | undefined;\n selection = new SelectionModel<any>(true, []);\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngAfterViewInit() {\n this.dataSource = new MatTableDataSource(this.data);\n this.dataSource.paginator = this.paginator;\n this.dataSource.sort = this.sort;\n this.displayedColumns = this.columns.map(column => column.key);\n }\n\n isAllSelected() {\n const numSelected = this.selection.selected.length;\n const numRows = this.dataSource.data.length;\n return numSelected === numRows;\n }\n\n toggleAllRows() {\n if (this.isAllSelected()) {\n this.selection.clear();\n } else {\n const dataAsPeriodicElements = this.dataSource.data as any[];\n dataAsPeriodicElements.forEach(row => this.selection.select(row));\n }\n }\n\n checkboxLabel(row?: any): string {\n if (!row) {\n return `${this.isAllSelected() ? 'deselect' : 'select'} all`;\n }\n return `${this.selection.isSelected(row) ? 'deselect' : 'select'} row ${row.position + 1}`;\n }\n\n sortData(sortKey: string) {\n const sort: Sort = { active: sortKey, direction: 'asc' };\n\n if (this.currentSort && this.currentSort.active === sortKey && this.currentSort.direction === 'asc') {\n sort.direction = 'desc';\n }\n\n this.currentSort = sort;\n this.sortDataFunction(sort);\n }\n\n sortDataFunction(sort: Sort) {\n const data = this.dataSource.data.slice();\n\n if (!sort.active || sort.direction === '') {\n this.dataSource.data = data;\n return;\n }\n\n this.dataSource.data = data.sort((a: any, b: any) => {\n const isAsc = sort.direction === 'asc';\n return this.compare(a[sort.active], b[sort.active], isAsc);\n });\n }\n\n compare(a: any, b: any, isAsc: boolean) {\n if (typeof a === 'string' && typeof b === 'string') {\n return (a.toLowerCase() < b.toLowerCase() ? -1 : 1) * (isAsc ? 1 : -1);\n }\n return (a < b ? -1 : 1) * (isAsc ? 1 : -1);\n }\n\n createObjectFromSelection() {\n const selectedRows = this.selection.selected;\n const selectedObjects: any[] | undefined = [];\n \n selectedRows.forEach(row => {\n if (this.selection.isSelected(row)) {\n const obj: any = {};\n this.columns.forEach(column => {\n obj[column.key] = row[column.key];\n });\n selectedObjects.push(obj);\n }\n });\n \n this.selectedObjectsChange.emit(selectedObjects);\n } \n\n handleRowClick(id: string, test: string) {\n console.log(test);\n this.rowClick.emit(id); \n }\n}\n\nexport interface TableColumn {\n key: string;\n label: string;\n sort: boolean;\n}\n","<div class=\"table\">\n <table mat-table [dataSource]=\"dataSource\" matSort>\n <ng-container *ngFor=\"let column of columns; let isFirst = first\" [matColumnDef]=\"column.key\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header (click)=\"sortData(column.key)\">\n <div class=\"header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox (change)=\"$event ? toggleAllRows() : null\" [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation(); createObjectFromSelection()\">\n </mat-checkbox>\n </ng-container>\n <div *ngIf=\"column.key !== 'actions'\">\n <mat-icon>filter_list</mat-icon>\n </div>\n <div class=\"label\">\n {{ column.label }}\n </div> \n </div> \n </th>\n <td mat-cell *matCellDef=\"let row\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox (click)=\"$event.stopPropagation(); createObjectFromSelection()\"\n (change)=\"$event ? selection.toggle(row) : null\" [checked]=\"selection.isSelected(row)\">\n </mat-checkbox>\n </ng-container>\n <ng-container *ngIf=\"column.key === 'actions'\">\n <div class=\"actions\">\n <mat-icon (click)=\"handleRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"handleRowClick(row, 'delete')\">delete</mat-icon> \n <mat-icon (click)=\"handleRowClick(row, 'visibility')\">visibility</mat-icon>\n </div>\n </ng-container>\n <div class=\"table__column\" (click)=\"handleRowClick(row, '')\">\n {{ row[column.key] }}\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-paginator class=\"custom_paginator\" appBubblePagination\n [appCustomLength]=\"dataSource ? dataSource.data.length : 0\" [length]=\"dataSource ? dataSource.data.length : 0\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\" [pageSize]=\"5\" aria-label=\"Select page\"></mat-paginator>\n</div>","import { MatPaginatorIntl } from '@angular/material/paginator';\n\nexport function CustomPaginator() {\n const customPaginatorIntl = new MatPaginatorIntl();\n\n customPaginatorIntl.itemsPerPageLabel = 'Itens por página:';\n customPaginatorIntl.nextPageLabel = 'Próxima página';\n customPaginatorIntl.previousPageLabel = 'Página anterior'; \n return customPaginatorIntl;\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatPaginatorIntl, MatPaginatorModule } from '@angular/material/paginator';\nimport { MapaTableComponent } from './table.component';\nimport { BubblePaginationDirective } from 'mapa-library-ui';\nimport { CustomPaginator } from './paginator_customization';\n\n@NgModule({\n declarations: [\n MapaTableComponent\n ],\n imports: [\n CommonModule,\n MatCheckboxModule,\n MatIconModule,\n MatPaginatorModule,\n MatTableModule,\n BubblePaginationDirective\n ],\n exports: [\n MapaTableComponent\n ],\n providers: [\n { provide: MatPaginatorIntl, useValue: CustomPaginator() }\n ]\n})\nexport class MapaTableModule { }\n","/*\n * Public API Surface of mapa-library-ui input\n */\n\nexport * from '../table/src/table.component';\nexport * from '../table/src/table.module';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapa-library-ui-src-lib-components-table.mjs","sources":["../../../projects/mapa-library-ui/src/lib/components/table/src/table.component.ts","../../../projects/mapa-library-ui/src/lib/components/table/src/table.component.html","../../../projects/mapa-library-ui/src/lib/components/table/src/paginator_customization.ts","../../../projects/mapa-library-ui/src/lib/components/table/src/table.module.ts","../../../projects/mapa-library-ui/src/lib/components/table/public-api.ts","../../../projects/mapa-library-ui/src/lib/components/table/mapa-library-ui-src-lib-components-table.ts"],"sourcesContent":["import { SelectionModel } from '@angular/cdk/collections';\nimport { ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\n\n@Component({\n selector: 'mapa-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class MapaTableComponent {\n @Input() columns: TableColumn[] = [];\n @Input() data: Object[] = [];\n @Input() checkbox: boolean | undefined; \n @Input() actions: boolean | undefined;\n @ViewChild(MatPaginator) paginator!: MatPaginator;\n @ViewChild(MatSort) sort!: MatSort;\n @Output() tableData: EventEmitter<any[]> = new EventEmitter<any[]>();\n @Output() rowClick: EventEmitter<string> = new EventEmitter<string>(); \n @Output() selectedObjectsChange: EventEmitter<any[]> = new EventEmitter<any[]>();\n\n dataSource!: MatTableDataSource<Object>;\n displayedColumns: string[] = [];\n currentSort: Sort | undefined;\n selection = new SelectionModel<any>(true, []);\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngAfterViewInit() {\n this.dataSource = new MatTableDataSource(this.data);\n this.dataSource.paginator = this.paginator;\n this.dataSource.sort = this.sort;\n this.displayedColumns = this.columns.map(column => column.key);\n }\n\n isAllSelected() {\n const numSelected = this.selection.selected.length;\n const numRows = this.dataSource.data.length;\n return numSelected === numRows;\n }\n\n toggleAllRows() {\n if (this.isAllSelected()) {\n this.selection.clear();\n } else {\n const dataAsPeriodicElements = this.dataSource.data as any[];\n dataAsPeriodicElements.forEach(row => this.selection.select(row));\n }\n }\n\n checkboxLabel(row?: any): string {\n if (!row) {\n return `${this.isAllSelected() ? 'deselect' : 'select'} all`;\n }\n return `${this.selection.isSelected(row) ? 'deselect' : 'select'} row ${row.position + 1}`;\n }\n\n sortData(sortKey: string) {\n const sort: Sort = { active: sortKey, direction: 'asc' };\n\n if (this.currentSort && this.currentSort.active === sortKey && this.currentSort.direction === 'asc') {\n sort.direction = 'desc';\n }\n\n this.currentSort = sort;\n this.sortDataFunction(sort);\n }\n\n sortDataFunction(sort: Sort) {\n const data = this.dataSource.data.slice();\n\n if (!sort.active || sort.direction === '') {\n this.dataSource.data = data;\n return;\n }\n\n this.dataSource.data = data.sort((a: any, b: any) => {\n const isAsc = sort.direction === 'asc';\n return this.compare(a[sort.active], b[sort.active], isAsc);\n });\n }\n\n compare(a: any, b: any, isAsc: boolean) {\n if (typeof a === 'string' && typeof b === 'string') {\n return (a.toLowerCase() < b.toLowerCase() ? -1 : 1) * (isAsc ? 1 : -1);\n }\n return (a < b ? -1 : 1) * (isAsc ? 1 : -1);\n }\n\n createObjectFromSelection() {\n const selectedRows = this.selection.selected;\n const selectedObjects: any[] | undefined = [];\n \n selectedRows.forEach(row => {\n if (this.selection.isSelected(row)) {\n const obj: any = {};\n this.columns.forEach(column => {\n obj[column.key] = row[column.key];\n });\n selectedObjects.push(obj);\n }\n });\n \n this.selectedObjectsChange.emit(selectedObjects);\n } \n\n handleRowClick(id: string, test: string) {\n console.log(test);\n this.rowClick.emit(id); \n }\n}\n\nexport interface TableColumn {\n key: string;\n label: string;\n sort: boolean;\n}\n","<div class=\"mapa-table\">\n <table mat-table [dataSource]=\"dataSource\" matSort>\n <ng-container\n *ngFor=\"let column of columns; let isFirst = first\"\n [matColumnDef]=\"column.key\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n (click)=\"sortData(column.key)\"\n >\n <div class=\"mapa-table__header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (change)=\"$event ? toggleAllRows() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation(); createObjectFromSelection()\"\n >\n </mat-checkbox>\n </ng-container>\n <div *ngIf=\"column.key !== 'actions'\">\n <mat-icon>filter_list</mat-icon>\n </div>\n <div class=\"mapa-table__label\">\n {{ column.label }}\n </div>\n </div>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (click)=\"$event.stopPropagation(); createObjectFromSelection()\"\n (change)=\"$event ? selection.toggle(row) : null\"\n [checked]=\"selection.isSelected(row)\"\n >\n </mat-checkbox>\n </ng-container>\n <ng-container *ngIf=\"column.key === 'actions'\">\n <div class=\"mapa-table__actions\">\n <mat-icon (click)=\"handleRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"handleRowClick(row, 'delete')\">delete</mat-icon>\n <mat-icon (click)=\"handleRowClick(row, 'visibility')\"\n >visibility</mat-icon\n >\n </div>\n </ng-container>\n <div class=\"mapa-table__column\" (click)=\"handleRowClick(row, '')\">\n {{ row[column.key] }}\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-paginator\n class=\"mapa-table__paginator\"\n appBubblePagination\n [appCustomLength]=\"dataSource ? dataSource.data.length : 0\"\n [length]=\"dataSource ? dataSource.data.length : 0\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\"\n [pageSize]=\"5\"\n aria-label=\"Select page\"\n ></mat-paginator>\n</div>\n","import { MatPaginatorIntl } from '@angular/material/paginator';\n\nexport function CustomPaginator() {\n const customPaginatorIntl = new MatPaginatorIntl();\n\n customPaginatorIntl.itemsPerPageLabel = 'Itens por página:';\n customPaginatorIntl.nextPageLabel = 'Próxima página';\n customPaginatorIntl.previousPageLabel = 'Página anterior'; \n return customPaginatorIntl;\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatPaginatorIntl, MatPaginatorModule } from '@angular/material/paginator';\nimport { MapaTableComponent } from './table.component';\nimport { BubblePaginationDirective } from 'mapa-library-ui';\nimport { CustomPaginator } from './paginator_customization';\n\n@NgModule({\n declarations: [\n MapaTableComponent\n ],\n imports: [\n CommonModule,\n MatCheckboxModule,\n MatIconModule,\n MatPaginatorModule,\n MatTableModule,\n BubblePaginationDirective\n ],\n exports: [\n MapaTableComponent\n ],\n providers: [\n { provide: MatPaginatorIntl, useValue: CustomPaginator() }\n ]\n})\nexport class MapaTableModule { }\n","/*\n * Public API Surface of mapa-library-ui input\n */\n\nexport * from '../table/src/table.component';\nexport * from '../table/src/table.module';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -97,10 +97,10 @@ class MapaTableComponent {
97
97
  }
98
98
  }
99
99
  MapaTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaTableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
100
- MapaTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaTableComponent, selector: "mapa-table", inputs: { columns: "columns", data: "data", checkbox: "checkbox", actions: "actions" }, outputs: { tableData: "tableData", rowClick: "rowClick", selectedObjectsChange: "selectedObjectsChange" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], ngImport: i0, template: "<div class=\"table\">\n <table mat-table [dataSource]=\"dataSource\" matSort>\n <ng-container *ngFor=\"let column of columns; let isFirst = first\" [matColumnDef]=\"column.key\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header (click)=\"sortData(column.key)\">\n <div class=\"header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox (change)=\"$event ? toggleAllRows() : null\" [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation(); createObjectFromSelection()\">\n </mat-checkbox>\n </ng-container>\n <div *ngIf=\"column.key !== 'actions'\">\n <mat-icon>filter_list</mat-icon>\n </div>\n <div class=\"label\">\n {{ column.label }}\n </div> \n </div> \n </th>\n <td mat-cell *matCellDef=\"let row\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox (click)=\"$event.stopPropagation(); createObjectFromSelection()\"\n (change)=\"$event ? selection.toggle(row) : null\" [checked]=\"selection.isSelected(row)\">\n </mat-checkbox>\n </ng-container>\n <ng-container *ngIf=\"column.key === 'actions'\">\n <div class=\"actions\">\n <mat-icon (click)=\"handleRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"handleRowClick(row, 'delete')\">delete</mat-icon> \n <mat-icon (click)=\"handleRowClick(row, 'visibility')\">visibility</mat-icon>\n </div>\n </ng-container>\n <div class=\"table__column\" (click)=\"handleRowClick(row, '')\">\n {{ row[column.key] }}\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-paginator class=\"custom_paginator\" appBubblePagination\n [appCustomLength]=\"dataSource ? dataSource.data.length : 0\" [length]=\"dataSource ? dataSource.data.length : 0\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\" [pageSize]=\"5\" aria-label=\"Select page\"></mat-paginator>\n</div>", styles: [".table__column{width:100%}.table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}.table .mat-table{width:100%}.table .tr,.table th{padding-top:15px;padding-bottom:15px}.table .label{margin-top:4px}.table .header{padding-top:15px;padding-bottom:15px;align-items:center;display:flex}.table .mat-mdc-cell{padding:15px}.table .mat-icon{cursor:pointer;position:relative;bottom:-6px;padding:0 5px}.table .actions{display:flex}.table .actions .mat-icon{color:#ea561d!important}.table .mat-accent{--mdc-checkbox-selected-focus-icon-color: #ea561d;--mdc-checkbox-selected-hover-icon-color: #ea561d;--mdc-checkbox-selected-pressed-icon-color: transparent;--mdc-checkbox-selected-icon-color: #ea561d;--mdc-checkbox-selected-checkmark-color: #fff;--mdc-circular-progress-active-indicator-color: transparent}.mat-mdc-paginator-container{display:flex;justify-content:space-between}.g-bubble-container{display:flex;gap:4px}.g-bubble{background-color:#fff;border-radius:20%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#181818;font-size:14px;cursor:pointer;transition:.3s}.g-bubble:hover{background-color:#b6b6b6;color:#fff}.g-bubble__active{background-color:#ea561d;color:#fff}mat-paginator{background:transparent!important}.mat-mdc-paginator-range-actions{margin-right:12px!important}.custom_paginator .mat-mdc-paginator-container{display:flex;justify-content:space-between;margin-right:25vw}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "component", type: i5.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i5.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6.BubblePaginationDirective, selector: "[appBubblePagination]", inputs: ["showFirstButton", "showLastButton", "renderButtonsNumber", "appCustomLength", "hideDefaultArrows"], outputs: ["pageIndexChangeEmitter"] }], encapsulation: i0.ViewEncapsulation.None });
100
+ MapaTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaTableComponent, selector: "mapa-table", inputs: { columns: "columns", data: "data", checkbox: "checkbox", actions: "actions" }, outputs: { tableData: "tableData", rowClick: "rowClick", selectedObjectsChange: "selectedObjectsChange" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], ngImport: i0, template: "<div class=\"mapa-table\">\n <table mat-table [dataSource]=\"dataSource\" matSort>\n <ng-container\n *ngFor=\"let column of columns; let isFirst = first\"\n [matColumnDef]=\"column.key\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n (click)=\"sortData(column.key)\"\n >\n <div class=\"mapa-table__header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (change)=\"$event ? toggleAllRows() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation(); createObjectFromSelection()\"\n >\n </mat-checkbox>\n </ng-container>\n <div *ngIf=\"column.key !== 'actions'\">\n <mat-icon>filter_list</mat-icon>\n </div>\n <div class=\"mapa-table__label\">\n {{ column.label }}\n </div>\n </div>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (click)=\"$event.stopPropagation(); createObjectFromSelection()\"\n (change)=\"$event ? selection.toggle(row) : null\"\n [checked]=\"selection.isSelected(row)\"\n >\n </mat-checkbox>\n </ng-container>\n <ng-container *ngIf=\"column.key === 'actions'\">\n <div class=\"mapa-table__actions\">\n <mat-icon (click)=\"handleRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"handleRowClick(row, 'delete')\">delete</mat-icon>\n <mat-icon (click)=\"handleRowClick(row, 'visibility')\"\n >visibility</mat-icon\n >\n </div>\n </ng-container>\n <div class=\"mapa-table__column\" (click)=\"handleRowClick(row, '')\">\n {{ row[column.key] }}\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-paginator\n class=\"mapa-table__paginator\"\n appBubblePagination\n [appCustomLength]=\"dataSource ? dataSource.data.length : 0\"\n [length]=\"dataSource ? dataSource.data.length : 0\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\"\n [pageSize]=\"5\"\n aria-label=\"Select page\"\n ></mat-paginator>\n</div>\n", styles: [".mapa-table__column{width:100%}.mapa-table__label{margin-top:4px}.mapa-table__header{padding-top:15px;padding-bottom:15px;align-items:center;display:flex}.mapa-table__actions{display:flex}.mapa-table__actions .mat-icon{color:#ea561d!important}.mapa-table__paginator .mat-mdc-paginator-container{display:flex;justify-content:space-between;margin-right:25vw}.mapa-table__paginator .g-bubble-container{display:flex;gap:4px}.mapa-table__paginator .g-bubble{background-color:#fff;border-radius:20%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#181818;font-size:14px;cursor:pointer;transition:.3s}.mapa-table__paginator .g-bubble:hover{background-color:#b6b6b6;color:#fff}.mapa-table__paginator .g-bubble__active{background-color:#ea561d;color:#fff}.mapa-table__paginator mat-paginator{background:transparent!important}.mapa-table__paginator .mat-mdc-paginator-range-actions{margin-right:12px!important}.mapa-table .mat-table{width:100%}.mapa-table .tr,.mapa-table th{padding-top:15px;padding-bottom:15px}.mapa-table .mat-mdc-cell{padding:15px}.mapa-table .mat-icon{cursor:pointer;position:relative;bottom:-6px;padding:0 5px}.mapa-table .mat-accent{--mdc-checkbox-selected-focus-icon-color: #ea561d;--mdc-checkbox-selected-hover-icon-color: #ea561d;--mdc-checkbox-selected-pressed-icon-color: transparent;--mdc-checkbox-selected-icon-color: #ea561d;--mdc-checkbox-selected-checkmark-color: #fff;--mdc-circular-progress-active-indicator-color: transparent}.mapa-table .mat-mdc-paginator-container{display:flex;justify-content:space-between}.mapa-table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "component", type: i5.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i5.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6.BubblePaginationDirective, selector: "[appBubblePagination]", inputs: ["showFirstButton", "showLastButton", "renderButtonsNumber", "appCustomLength", "hideDefaultArrows"], outputs: ["pageIndexChangeEmitter"] }], encapsulation: i0.ViewEncapsulation.None });
101
101
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaTableComponent, decorators: [{
102
102
  type: Component,
103
- args: [{ selector: 'mapa-table', encapsulation: ViewEncapsulation.None, template: "<div class=\"table\">\n <table mat-table [dataSource]=\"dataSource\" matSort>\n <ng-container *ngFor=\"let column of columns; let isFirst = first\" [matColumnDef]=\"column.key\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header (click)=\"sortData(column.key)\">\n <div class=\"header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox (change)=\"$event ? toggleAllRows() : null\" [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation(); createObjectFromSelection()\">\n </mat-checkbox>\n </ng-container>\n <div *ngIf=\"column.key !== 'actions'\">\n <mat-icon>filter_list</mat-icon>\n </div>\n <div class=\"label\">\n {{ column.label }}\n </div> \n </div> \n </th>\n <td mat-cell *matCellDef=\"let row\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox (click)=\"$event.stopPropagation(); createObjectFromSelection()\"\n (change)=\"$event ? selection.toggle(row) : null\" [checked]=\"selection.isSelected(row)\">\n </mat-checkbox>\n </ng-container>\n <ng-container *ngIf=\"column.key === 'actions'\">\n <div class=\"actions\">\n <mat-icon (click)=\"handleRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"handleRowClick(row, 'delete')\">delete</mat-icon> \n <mat-icon (click)=\"handleRowClick(row, 'visibility')\">visibility</mat-icon>\n </div>\n </ng-container>\n <div class=\"table__column\" (click)=\"handleRowClick(row, '')\">\n {{ row[column.key] }}\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-paginator class=\"custom_paginator\" appBubblePagination\n [appCustomLength]=\"dataSource ? dataSource.data.length : 0\" [length]=\"dataSource ? dataSource.data.length : 0\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\" [pageSize]=\"5\" aria-label=\"Select page\"></mat-paginator>\n</div>", styles: [".table__column{width:100%}.table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}.table .mat-table{width:100%}.table .tr,.table th{padding-top:15px;padding-bottom:15px}.table .label{margin-top:4px}.table .header{padding-top:15px;padding-bottom:15px;align-items:center;display:flex}.table .mat-mdc-cell{padding:15px}.table .mat-icon{cursor:pointer;position:relative;bottom:-6px;padding:0 5px}.table .actions{display:flex}.table .actions .mat-icon{color:#ea561d!important}.table .mat-accent{--mdc-checkbox-selected-focus-icon-color: #ea561d;--mdc-checkbox-selected-hover-icon-color: #ea561d;--mdc-checkbox-selected-pressed-icon-color: transparent;--mdc-checkbox-selected-icon-color: #ea561d;--mdc-checkbox-selected-checkmark-color: #fff;--mdc-circular-progress-active-indicator-color: transparent}.mat-mdc-paginator-container{display:flex;justify-content:space-between}.g-bubble-container{display:flex;gap:4px}.g-bubble{background-color:#fff;border-radius:20%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#181818;font-size:14px;cursor:pointer;transition:.3s}.g-bubble:hover{background-color:#b6b6b6;color:#fff}.g-bubble__active{background-color:#ea561d;color:#fff}mat-paginator{background:transparent!important}.mat-mdc-paginator-range-actions{margin-right:12px!important}.custom_paginator .mat-mdc-paginator-container{display:flex;justify-content:space-between;margin-right:25vw}\n"] }]
103
+ args: [{ selector: 'mapa-table', encapsulation: ViewEncapsulation.None, template: "<div class=\"mapa-table\">\n <table mat-table [dataSource]=\"dataSource\" matSort>\n <ng-container\n *ngFor=\"let column of columns; let isFirst = first\"\n [matColumnDef]=\"column.key\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n (click)=\"sortData(column.key)\"\n >\n <div class=\"mapa-table__header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (change)=\"$event ? toggleAllRows() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation(); createObjectFromSelection()\"\n >\n </mat-checkbox>\n </ng-container>\n <div *ngIf=\"column.key !== 'actions'\">\n <mat-icon>filter_list</mat-icon>\n </div>\n <div class=\"mapa-table__label\">\n {{ column.label }}\n </div>\n </div>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (click)=\"$event.stopPropagation(); createObjectFromSelection()\"\n (change)=\"$event ? selection.toggle(row) : null\"\n [checked]=\"selection.isSelected(row)\"\n >\n </mat-checkbox>\n </ng-container>\n <ng-container *ngIf=\"column.key === 'actions'\">\n <div class=\"mapa-table__actions\">\n <mat-icon (click)=\"handleRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"handleRowClick(row, 'delete')\">delete</mat-icon>\n <mat-icon (click)=\"handleRowClick(row, 'visibility')\"\n >visibility</mat-icon\n >\n </div>\n </ng-container>\n <div class=\"mapa-table__column\" (click)=\"handleRowClick(row, '')\">\n {{ row[column.key] }}\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-paginator\n class=\"mapa-table__paginator\"\n appBubblePagination\n [appCustomLength]=\"dataSource ? dataSource.data.length : 0\"\n [length]=\"dataSource ? dataSource.data.length : 0\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\"\n [pageSize]=\"5\"\n aria-label=\"Select page\"\n ></mat-paginator>\n</div>\n", styles: [".mapa-table__column{width:100%}.mapa-table__label{margin-top:4px}.mapa-table__header{padding-top:15px;padding-bottom:15px;align-items:center;display:flex}.mapa-table__actions{display:flex}.mapa-table__actions .mat-icon{color:#ea561d!important}.mapa-table__paginator .mat-mdc-paginator-container{display:flex;justify-content:space-between;margin-right:25vw}.mapa-table__paginator .g-bubble-container{display:flex;gap:4px}.mapa-table__paginator .g-bubble{background-color:#fff;border-radius:20%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#181818;font-size:14px;cursor:pointer;transition:.3s}.mapa-table__paginator .g-bubble:hover{background-color:#b6b6b6;color:#fff}.mapa-table__paginator .g-bubble__active{background-color:#ea561d;color:#fff}.mapa-table__paginator mat-paginator{background:transparent!important}.mapa-table__paginator .mat-mdc-paginator-range-actions{margin-right:12px!important}.mapa-table .mat-table{width:100%}.mapa-table .tr,.mapa-table th{padding-top:15px;padding-bottom:15px}.mapa-table .mat-mdc-cell{padding:15px}.mapa-table .mat-icon{cursor:pointer;position:relative;bottom:-6px;padding:0 5px}.mapa-table .mat-accent{--mdc-checkbox-selected-focus-icon-color: #ea561d;--mdc-checkbox-selected-hover-icon-color: #ea561d;--mdc-checkbox-selected-pressed-icon-color: transparent;--mdc-checkbox-selected-icon-color: #ea561d;--mdc-checkbox-selected-checkmark-color: #fff;--mdc-circular-progress-active-indicator-color: transparent}.mapa-table .mat-mdc-paginator-container{display:flex;justify-content:space-between}.mapa-table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}\n"] }]
104
104
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { columns: [{
105
105
  type: Input
106
106
  }], data: [{
@@ -1 +1 @@
1
- {"version":3,"file":"mapa-library-ui-src-lib-components-table.mjs","sources":["../../../projects/mapa-library-ui/src/lib/components/table/src/table.component.ts","../../../projects/mapa-library-ui/src/lib/components/table/src/table.component.html","../../../projects/mapa-library-ui/src/lib/components/table/src/paginator_customization.ts","../../../projects/mapa-library-ui/src/lib/components/table/src/table.module.ts","../../../projects/mapa-library-ui/src/lib/components/table/public-api.ts","../../../projects/mapa-library-ui/src/lib/components/table/mapa-library-ui-src-lib-components-table.ts"],"sourcesContent":["import { SelectionModel } from '@angular/cdk/collections';\nimport { ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\n\n@Component({\n selector: 'mapa-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class MapaTableComponent {\n @Input() columns: TableColumn[] = [];\n @Input() data: Object[] = [];\n @Input() checkbox: boolean | undefined; \n @Input() actions: boolean | undefined;\n @ViewChild(MatPaginator) paginator!: MatPaginator;\n @ViewChild(MatSort) sort!: MatSort;\n @Output() tableData: EventEmitter<any[]> = new EventEmitter<any[]>();\n @Output() rowClick: EventEmitter<string> = new EventEmitter<string>(); \n @Output() selectedObjectsChange: EventEmitter<any[]> = new EventEmitter<any[]>();\n\n dataSource!: MatTableDataSource<Object>;\n displayedColumns: string[] = [];\n currentSort: Sort | undefined;\n selection = new SelectionModel<any>(true, []);\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngAfterViewInit() {\n this.dataSource = new MatTableDataSource(this.data);\n this.dataSource.paginator = this.paginator;\n this.dataSource.sort = this.sort;\n this.displayedColumns = this.columns.map(column => column.key);\n }\n\n isAllSelected() {\n const numSelected = this.selection.selected.length;\n const numRows = this.dataSource.data.length;\n return numSelected === numRows;\n }\n\n toggleAllRows() {\n if (this.isAllSelected()) {\n this.selection.clear();\n } else {\n const dataAsPeriodicElements = this.dataSource.data as any[];\n dataAsPeriodicElements.forEach(row => this.selection.select(row));\n }\n }\n\n checkboxLabel(row?: any): string {\n if (!row) {\n return `${this.isAllSelected() ? 'deselect' : 'select'} all`;\n }\n return `${this.selection.isSelected(row) ? 'deselect' : 'select'} row ${row.position + 1}`;\n }\n\n sortData(sortKey: string) {\n const sort: Sort = { active: sortKey, direction: 'asc' };\n\n if (this.currentSort && this.currentSort.active === sortKey && this.currentSort.direction === 'asc') {\n sort.direction = 'desc';\n }\n\n this.currentSort = sort;\n this.sortDataFunction(sort);\n }\n\n sortDataFunction(sort: Sort) {\n const data = this.dataSource.data.slice();\n\n if (!sort.active || sort.direction === '') {\n this.dataSource.data = data;\n return;\n }\n\n this.dataSource.data = data.sort((a: any, b: any) => {\n const isAsc = sort.direction === 'asc';\n return this.compare(a[sort.active], b[sort.active], isAsc);\n });\n }\n\n compare(a: any, b: any, isAsc: boolean) {\n if (typeof a === 'string' && typeof b === 'string') {\n return (a.toLowerCase() < b.toLowerCase() ? -1 : 1) * (isAsc ? 1 : -1);\n }\n return (a < b ? -1 : 1) * (isAsc ? 1 : -1);\n }\n\n createObjectFromSelection() {\n const selectedRows = this.selection.selected;\n const selectedObjects: any[] | undefined = [];\n \n selectedRows.forEach(row => {\n if (this.selection.isSelected(row)) {\n const obj: any = {};\n this.columns.forEach(column => {\n obj[column.key] = row[column.key];\n });\n selectedObjects.push(obj);\n }\n });\n \n this.selectedObjectsChange.emit(selectedObjects);\n } \n\n handleRowClick(id: string, test: string) {\n console.log(test);\n this.rowClick.emit(id); \n }\n}\n\nexport interface TableColumn {\n key: string;\n label: string;\n sort: boolean;\n}\n","<div class=\"table\">\n <table mat-table [dataSource]=\"dataSource\" matSort>\n <ng-container *ngFor=\"let column of columns; let isFirst = first\" [matColumnDef]=\"column.key\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header (click)=\"sortData(column.key)\">\n <div class=\"header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox (change)=\"$event ? toggleAllRows() : null\" [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation(); createObjectFromSelection()\">\n </mat-checkbox>\n </ng-container>\n <div *ngIf=\"column.key !== 'actions'\">\n <mat-icon>filter_list</mat-icon>\n </div>\n <div class=\"label\">\n {{ column.label }}\n </div> \n </div> \n </th>\n <td mat-cell *matCellDef=\"let row\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox (click)=\"$event.stopPropagation(); createObjectFromSelection()\"\n (change)=\"$event ? selection.toggle(row) : null\" [checked]=\"selection.isSelected(row)\">\n </mat-checkbox>\n </ng-container>\n <ng-container *ngIf=\"column.key === 'actions'\">\n <div class=\"actions\">\n <mat-icon (click)=\"handleRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"handleRowClick(row, 'delete')\">delete</mat-icon> \n <mat-icon (click)=\"handleRowClick(row, 'visibility')\">visibility</mat-icon>\n </div>\n </ng-container>\n <div class=\"table__column\" (click)=\"handleRowClick(row, '')\">\n {{ row[column.key] }}\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-paginator class=\"custom_paginator\" appBubblePagination\n [appCustomLength]=\"dataSource ? dataSource.data.length : 0\" [length]=\"dataSource ? dataSource.data.length : 0\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\" [pageSize]=\"5\" aria-label=\"Select page\"></mat-paginator>\n</div>","import { MatPaginatorIntl } from '@angular/material/paginator';\n\nexport function CustomPaginator() {\n const customPaginatorIntl = new MatPaginatorIntl();\n\n customPaginatorIntl.itemsPerPageLabel = 'Itens por página:';\n customPaginatorIntl.nextPageLabel = 'Próxima página';\n customPaginatorIntl.previousPageLabel = 'Página anterior'; \n return customPaginatorIntl;\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatPaginatorIntl, MatPaginatorModule } from '@angular/material/paginator';\nimport { MapaTableComponent } from './table.component';\nimport { BubblePaginationDirective } from 'mapa-library-ui';\nimport { CustomPaginator } from './paginator_customization';\n\n@NgModule({\n declarations: [\n MapaTableComponent\n ],\n imports: [\n CommonModule,\n MatCheckboxModule,\n MatIconModule,\n MatPaginatorModule,\n MatTableModule,\n BubblePaginationDirective\n ],\n exports: [\n MapaTableComponent\n ],\n providers: [\n { provide: MatPaginatorIntl, useValue: CustomPaginator() }\n ]\n})\nexport class MapaTableModule { }\n","/*\n * Public API Surface of mapa-library-ui input\n */\n\nexport * from '../table/src/table.component';\nexport * from '../table/src/table.module';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapa-library-ui-src-lib-components-table.mjs","sources":["../../../projects/mapa-library-ui/src/lib/components/table/src/table.component.ts","../../../projects/mapa-library-ui/src/lib/components/table/src/table.component.html","../../../projects/mapa-library-ui/src/lib/components/table/src/paginator_customization.ts","../../../projects/mapa-library-ui/src/lib/components/table/src/table.module.ts","../../../projects/mapa-library-ui/src/lib/components/table/public-api.ts","../../../projects/mapa-library-ui/src/lib/components/table/mapa-library-ui-src-lib-components-table.ts"],"sourcesContent":["import { SelectionModel } from '@angular/cdk/collections';\nimport { ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\n\n@Component({\n selector: 'mapa-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class MapaTableComponent {\n @Input() columns: TableColumn[] = [];\n @Input() data: Object[] = [];\n @Input() checkbox: boolean | undefined; \n @Input() actions: boolean | undefined;\n @ViewChild(MatPaginator) paginator!: MatPaginator;\n @ViewChild(MatSort) sort!: MatSort;\n @Output() tableData: EventEmitter<any[]> = new EventEmitter<any[]>();\n @Output() rowClick: EventEmitter<string> = new EventEmitter<string>(); \n @Output() selectedObjectsChange: EventEmitter<any[]> = new EventEmitter<any[]>();\n\n dataSource!: MatTableDataSource<Object>;\n displayedColumns: string[] = [];\n currentSort: Sort | undefined;\n selection = new SelectionModel<any>(true, []);\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngAfterViewInit() {\n this.dataSource = new MatTableDataSource(this.data);\n this.dataSource.paginator = this.paginator;\n this.dataSource.sort = this.sort;\n this.displayedColumns = this.columns.map(column => column.key);\n }\n\n isAllSelected() {\n const numSelected = this.selection.selected.length;\n const numRows = this.dataSource.data.length;\n return numSelected === numRows;\n }\n\n toggleAllRows() {\n if (this.isAllSelected()) {\n this.selection.clear();\n } else {\n const dataAsPeriodicElements = this.dataSource.data as any[];\n dataAsPeriodicElements.forEach(row => this.selection.select(row));\n }\n }\n\n checkboxLabel(row?: any): string {\n if (!row) {\n return `${this.isAllSelected() ? 'deselect' : 'select'} all`;\n }\n return `${this.selection.isSelected(row) ? 'deselect' : 'select'} row ${row.position + 1}`;\n }\n\n sortData(sortKey: string) {\n const sort: Sort = { active: sortKey, direction: 'asc' };\n\n if (this.currentSort && this.currentSort.active === sortKey && this.currentSort.direction === 'asc') {\n sort.direction = 'desc';\n }\n\n this.currentSort = sort;\n this.sortDataFunction(sort);\n }\n\n sortDataFunction(sort: Sort) {\n const data = this.dataSource.data.slice();\n\n if (!sort.active || sort.direction === '') {\n this.dataSource.data = data;\n return;\n }\n\n this.dataSource.data = data.sort((a: any, b: any) => {\n const isAsc = sort.direction === 'asc';\n return this.compare(a[sort.active], b[sort.active], isAsc);\n });\n }\n\n compare(a: any, b: any, isAsc: boolean) {\n if (typeof a === 'string' && typeof b === 'string') {\n return (a.toLowerCase() < b.toLowerCase() ? -1 : 1) * (isAsc ? 1 : -1);\n }\n return (a < b ? -1 : 1) * (isAsc ? 1 : -1);\n }\n\n createObjectFromSelection() {\n const selectedRows = this.selection.selected;\n const selectedObjects: any[] | undefined = [];\n \n selectedRows.forEach(row => {\n if (this.selection.isSelected(row)) {\n const obj: any = {};\n this.columns.forEach(column => {\n obj[column.key] = row[column.key];\n });\n selectedObjects.push(obj);\n }\n });\n \n this.selectedObjectsChange.emit(selectedObjects);\n } \n\n handleRowClick(id: string, test: string) {\n console.log(test);\n this.rowClick.emit(id); \n }\n}\n\nexport interface TableColumn {\n key: string;\n label: string;\n sort: boolean;\n}\n","<div class=\"mapa-table\">\n <table mat-table [dataSource]=\"dataSource\" matSort>\n <ng-container\n *ngFor=\"let column of columns; let isFirst = first\"\n [matColumnDef]=\"column.key\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n (click)=\"sortData(column.key)\"\n >\n <div class=\"mapa-table__header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (change)=\"$event ? toggleAllRows() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation(); createObjectFromSelection()\"\n >\n </mat-checkbox>\n </ng-container>\n <div *ngIf=\"column.key !== 'actions'\">\n <mat-icon>filter_list</mat-icon>\n </div>\n <div class=\"mapa-table__label\">\n {{ column.label }}\n </div>\n </div>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (click)=\"$event.stopPropagation(); createObjectFromSelection()\"\n (change)=\"$event ? selection.toggle(row) : null\"\n [checked]=\"selection.isSelected(row)\"\n >\n </mat-checkbox>\n </ng-container>\n <ng-container *ngIf=\"column.key === 'actions'\">\n <div class=\"mapa-table__actions\">\n <mat-icon (click)=\"handleRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"handleRowClick(row, 'delete')\">delete</mat-icon>\n <mat-icon (click)=\"handleRowClick(row, 'visibility')\"\n >visibility</mat-icon\n >\n </div>\n </ng-container>\n <div class=\"mapa-table__column\" (click)=\"handleRowClick(row, '')\">\n {{ row[column.key] }}\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-paginator\n class=\"mapa-table__paginator\"\n appBubblePagination\n [appCustomLength]=\"dataSource ? dataSource.data.length : 0\"\n [length]=\"dataSource ? dataSource.data.length : 0\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\"\n [pageSize]=\"5\"\n aria-label=\"Select page\"\n ></mat-paginator>\n</div>\n","import { MatPaginatorIntl } from '@angular/material/paginator';\n\nexport function CustomPaginator() {\n const customPaginatorIntl = new MatPaginatorIntl();\n\n customPaginatorIntl.itemsPerPageLabel = 'Itens por página:';\n customPaginatorIntl.nextPageLabel = 'Próxima página';\n customPaginatorIntl.previousPageLabel = 'Página anterior'; \n return customPaginatorIntl;\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatPaginatorIntl, MatPaginatorModule } from '@angular/material/paginator';\nimport { MapaTableComponent } from './table.component';\nimport { BubblePaginationDirective } from 'mapa-library-ui';\nimport { CustomPaginator } from './paginator_customization';\n\n@NgModule({\n declarations: [\n MapaTableComponent\n ],\n imports: [\n CommonModule,\n MatCheckboxModule,\n MatIconModule,\n MatPaginatorModule,\n MatTableModule,\n BubblePaginationDirective\n ],\n exports: [\n MapaTableComponent\n ],\n providers: [\n { provide: MatPaginatorIntl, useValue: CustomPaginator() }\n ]\n})\nexport class MapaTableModule { }\n","/*\n * Public API Surface of mapa-library-ui input\n */\n\nexport * from '../table/src/table.component';\nexport * from '../table/src/table.module';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;MAYa,kBAAkB,CAAA;AAgB7B,IAAA,WAAA,CAAoB,GAAsB,EAAA;QAAtB,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;QAfjC,IAAO,CAAA,OAAA,GAAkB,EAAE,CAAC;QAC5B,IAAI,CAAA,IAAA,GAAa,EAAE,CAAC;AAKnB,QAAA,IAAA,CAAA,SAAS,GAAwB,IAAI,YAAY,EAAS,CAAC;AAC3D,QAAA,IAAA,CAAA,QAAQ,GAAyB,IAAI,YAAY,EAAU,CAAC;AAC5D,QAAA,IAAA,CAAA,qBAAqB,GAAwB,IAAI,YAAY,EAAS,CAAC;QAGjF,IAAgB,CAAA,gBAAA,GAAa,EAAE,CAAC;QAEhC,IAAS,CAAA,SAAA,GAAG,IAAI,cAAc,CAAM,IAAI,EAAE,EAAE,CAAC,CAAC;KAEA;IAE9C,eAAe,GAAA;QACb,IAAI,CAAC,UAAU,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AACjC,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;KAChE;IAED,aAAa,GAAA;QACX,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5C,OAAO,WAAW,KAAK,OAAO,CAAC;KAChC;IAED,aAAa,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;AACxB,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;AACxB,SAAA;AAAM,aAAA;AACL,YAAA,MAAM,sBAAsB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAa,CAAC;AAC7D,YAAA,sBAAsB,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACnE,SAAA;KACF;AAED,IAAA,aAAa,CAAC,GAAS,EAAA;QACrB,IAAI,CAAC,GAAG,EAAE;AACR,YAAA,OAAO,CAAG,EAAA,IAAI,CAAC,aAAa,EAAE,GAAG,UAAU,GAAG,QAAQ,MAAM,CAAC;AAC9D,SAAA;QACD,OAAO,CAAA,EAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,UAAU,GAAG,QAAQ,CAAQ,KAAA,EAAA,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAA,CAAE,CAAC;KAC5F;AAED,IAAA,QAAQ,CAAC,OAAe,EAAA;QACtB,MAAM,IAAI,GAAS,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAEzD,QAAA,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,KAAK,KAAK,EAAE;AACnG,YAAA,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;AACzB,SAAA;AAED,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;KAC7B;AAED,IAAA,gBAAgB,CAAC,IAAU,EAAA;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAE1C,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,EAAE,EAAE;AACzC,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;YAC5B,OAAO;AACR,SAAA;AAED,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,KAAI;AAClD,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC;YACvC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;AAC7D,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,OAAO,CAAC,CAAM,EAAE,CAAM,EAAE,KAAc,EAAA;QACpC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;AAClD,YAAA,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACxE,SAAA;QACD,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KAC5C;IAED,yBAAyB,GAAA;AACvB,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;QAC7C,MAAM,eAAe,GAAsB,EAAE,CAAC;AAE9C,QAAA,YAAY,CAAC,OAAO,CAAC,GAAG,IAAG;YACzB,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBAClC,MAAM,GAAG,GAAQ,EAAE,CAAC;AACpB,gBAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAG;AAC5B,oBAAA,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACpC,iBAAC,CAAC,CAAC;AACH,gBAAA,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,aAAA;AACH,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;KAClD;IAED,cAAc,CAAC,EAAU,EAAE,IAAY,EAAA;AACrC,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAClB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACxB;;gHAnGU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,EAKlB,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,YAAY,EACZ,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,MAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,OAAO,gDClBpB,g/EAoEA,EAAA,MAAA,EAAA,CAAA,8mDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,gBAAA,EAAA,qBAAA,EAAA,iBAAA,EAAA,mBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4FDxDa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,SAAS;+BACE,YAAY,EAAA,aAAA,EAGP,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,g/EAAA,EAAA,MAAA,EAAA,CAAA,8mDAAA,CAAA,EAAA,CAAA;wGAG5B,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACmB,SAAS,EAAA,CAAA;sBAAjC,SAAS;uBAAC,YAAY,CAAA;gBACH,IAAI,EAAA,CAAA;sBAAvB,SAAS;uBAAC,OAAO,CAAA;gBACR,SAAS,EAAA,CAAA;sBAAlB,MAAM;gBACG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBACG,qBAAqB,EAAA,CAAA;sBAA9B,MAAM;;;SEnBO,eAAe,GAAA;AAC7B,IAAA,MAAM,mBAAmB,GAAG,IAAI,gBAAgB,EAAE,CAAC;AAEnD,IAAA,mBAAmB,CAAC,iBAAiB,GAAG,mBAAmB,CAAC;AAC5D,IAAA,mBAAmB,CAAC,aAAa,GAAG,gBAAgB,CAAC;AACrD,IAAA,mBAAmB,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;AAC1D,IAAA,OAAO,mBAAmB,CAAC;AAC7B;;MCoBa,eAAe,CAAA;;6GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;8GAAf,eAAe,EAAA,YAAA,EAAA,CAjBxB,kBAAkB,CAAA,EAAA,OAAA,EAAA,CAGlB,YAAY;QACZ,iBAAiB;QACjB,aAAa;QACb,kBAAkB;QAClB,cAAc;AACd,QAAA,yBAAyB,aAGzB,kBAAkB,CAAA,EAAA,CAAA,CAAA;AAMT,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAJf,SAAA,EAAA;QACT,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE;AAC3D,KAAA,EAAA,OAAA,EAAA,CAZC,YAAY;QACZ,iBAAiB;QACjB,aAAa;QACb,kBAAkB;QAClB,cAAc,CAAA,EAAA,CAAA,CAAA;4FAUL,eAAe,EAAA,UAAA,EAAA,CAAA;kBAnB3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,kBAAkB;AACnB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,iBAAiB;wBACjB,aAAa;wBACb,kBAAkB;wBAClB,cAAc;wBACd,yBAAyB;AAC1B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,kBAAkB;AACnB,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACT,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE;AAC3D,qBAAA;AACF,iBAAA,CAAA;;;AC5BD;;AAEG;;ACFH;;AAEG;;;;"}
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mapa-library-ui",
3
- "version": "0.0.20",
3
+ "version": "0.0.21",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^15.2.0",
6
6
  "@angular/core": "^15.2.0"
Binary file