@ifsworld/granite-components 11.4.0 → 11.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/esm2022/index.mjs +5 -1
  2. package/esm2022/lib/card-list/card/card-content/card-actions.component.mjs +2 -2
  3. package/esm2022/lib/card-list/card/card-content/card-body.component.mjs +2 -2
  4. package/esm2022/lib/card-list/card/card-content/card-footer.component.mjs +2 -2
  5. package/esm2022/lib/card-list/card/card-content/card-header-subtitle.component.mjs +2 -2
  6. package/esm2022/lib/card-list/card/card-content/card-header.component.mjs +2 -2
  7. package/esm2022/lib/card-list/card/card.component.mjs +2 -2
  8. package/esm2022/lib/card-list/card-list.component.mjs +2 -2
  9. package/esm2022/lib/collapsible-group/collapsible-group-body.directive.mjs +17 -0
  10. package/esm2022/lib/collapsible-group/collapsible-group-header.directive.mjs +17 -0
  11. package/esm2022/lib/collapsible-group/collapsible-group.component.mjs +39 -0
  12. package/esm2022/lib/collapsible-group/collapsible-group.module.mjs +33 -0
  13. package/esm2022/table/index.mjs +1 -2
  14. package/esm2022/table/lib/cell/cell-align/cell-align-classes.directive.mjs +10 -31
  15. package/esm2022/table/lib/cell/table-data-cell.component.mjs +2 -2
  16. package/esm2022/table/lib/cell/table-header-cell.component.mjs +2 -2
  17. package/esm2022/table/lib/column/table-column.directive.mjs +10 -2
  18. package/esm2022/table/lib/column-size/column-size.directive.mjs +34 -0
  19. package/esm2022/table/lib/table-constants.library.mjs +4 -6
  20. package/esm2022/table/lib/table.component.mjs +26 -19
  21. package/esm2022/table/lib/table.module.mjs +8 -4
  22. package/fesm2022/ifsworld-granite-components-table.mjs +80 -53
  23. package/fesm2022/ifsworld-granite-components-table.mjs.map +1 -1
  24. package/fesm2022/ifsworld-granite-components.mjs +105 -16
  25. package/fesm2022/ifsworld-granite-components.mjs.map +1 -1
  26. package/index.d.ts +4 -0
  27. package/lib/collapsible-group/collapsible-group-body.directive.d.ts +7 -0
  28. package/lib/collapsible-group/collapsible-group-header.directive.d.ts +7 -0
  29. package/lib/collapsible-group/collapsible-group.component.d.ts +15 -0
  30. package/lib/collapsible-group/collapsible-group.module.d.ts +11 -0
  31. package/package.json +1 -1
  32. package/table/index.d.ts +0 -1
  33. package/table/lib/cell/cell-align/cell-align-classes.directive.d.ts +5 -6
  34. package/table/lib/column/table-column.directive.d.ts +7 -1
  35. package/table/lib/column-size/column-size.directive.d.ts +11 -0
  36. package/table/lib/table-constants.library.d.ts +2 -4
  37. package/table/lib/table.component.d.ts +9 -7
  38. package/table/lib/table.module.d.ts +6 -4
  39. package/esm2022/table/lib/table.types.mjs +0 -2
  40. package/table/lib/table.types.d.ts +0 -1
@@ -1,41 +1,48 @@
1
- import { ChangeDetectionStrategy, Component, ContentChildren, Input, QueryList, ViewEncapsulation, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, Input, QueryList, ViewEncapsulation, } from '@angular/core';
2
2
  import { GraniteTableColumnDirective } from './column/table-column.directive';
3
- import { GraniteTableCellConstants, GraniteTableConstants, } from './table-constants.library';
3
+ import { GraniteTableCellConstants } from './table-constants.library';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
6
- import * as i2 from "primeng/table";
7
- import * as i3 from "primeng/api";
8
- import * as i4 from "./cell/table-header-cell.component";
9
- import * as i5 from "./cell/table-data-cell.component";
10
- import * as i6 from "./cell/cell-align/cell-align-classes.directive";
6
+ import * as i2 from "@angular/cdk/table";
7
+ import * as i3 from "./cell/table-header-cell.component";
8
+ import * as i4 from "./cell/table-data-cell.component";
9
+ import * as i5 from "./cell/cell-align/cell-align-classes.directive";
10
+ import * as i6 from "./column-size/column-size.directive";
11
11
  import * as i7 from "@ifsworld/granite-components";
12
12
  export class GraniteTableComponent {
13
- constructor() {
13
+ constructor(cd) {
14
+ this.cd = cd;
14
15
  this.dataSource = [];
15
- this.layout = 'stack';
16
- this.styleClass = GraniteTableConstants.STYLE_CLASS;
16
+ this.horizontalScroll = false;
17
17
  this.cellIdPrefix = GraniteTableCellConstants.CELL_ID_PREFIX;
18
18
  }
19
- ngAfterContentInit() {
20
- this._columns = this.tableColumnsComponent.toArray();
19
+ ngAfterContentChecked() {
20
+ this.refreshData();
21
+ this.cd.markForCheck();
21
22
  }
22
23
  _trackColumnName(index, column) {
23
24
  return column.name;
24
25
  }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GraniteTableComponent, selector: "granite-table", inputs: { dataSource: "dataSource", trackBy: "trackBy", layout: "layout" }, queries: [{ propertyName: "tableColumnsComponent", predicate: GraniteTableColumnDirective }], ngImport: i0, template: "<!-- [tableStyle]=\"{ width: '100%' }\" given to have equal width column -->\n<p-table\n [value]=\"dataSource\"\n [rowTrackBy]=\"trackBy\"\n [responsiveLayout]=\"layout\"\n [tableStyle]=\"{ width: '100%' }\"\n [styleClass]=\"styleClass\"\n>\n <ng-template pTemplate=\"header\">\n <tr data-granite-table-header-row>\n <ng-container *ngFor=\"let column of _columns; trackBy: _trackColumnName\"\n ><th\n [attr.data-granite-table-header-cell]=\"column.name\"\n graniteTableHeaderCell\n [graniteCellAlignClasses]=\"column.headerClass\"\n >\n {{ column.title ?? column.name | graniteTitle }}\n </th></ng-container\n >\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-row let-rowIndex=\"rowIndex\">\n <tr data-granite-table-row>\n <ng-container\n *ngFor=\"\n let column of _columns;\n trackBy: _trackColumnName;\n let columnIndex = index\n \"\n >\n <td\n [attr.data-granite-table-cell]=\"column.name\"\n [graniteCellAlignClasses]=\"column.class\"\n [id]=\"cellIdPrefix + '-' + rowIndex + '-' + columnIndex\"\n >\n <granite-table-data-cell\n [id]=\"cellIdPrefix + '-' + rowIndex + '-' + columnIndex\"\n [value]=\"row[column.name]\"\n [row]=\"row\"\n [column]=\"column\"\n [rowIndex]=\"rowIndex\"\n [columnIndex]=\"columnIndex\"\n [tableCellTemplateRef]=\"column.tableCellTemplateRef\"\n ></granite-table-data-cell>\n </td>\n </ng-container>\n </tr>\n </ng-template>\n</p-table>\n", styles: [".granite-table.p-datatable .p-datatable-tbody>tr>td.granite-table-cell-right-align,.granite-table.p-datatable .p-datatable-thead>tr>th.granite-table-cell-right-align{text-align:end}.granite-table.p-datatable .p-datatable-tbody>tr>td.granite-table-cell-center-align,.granite-table.p-datatable .p-datatable-thead>tr>th.granite-table-cell-center-align{text-align:center}.granite-table.p-datatable.p-component{font-family:inherit;font-weight:inherit;font-size:inherit}.granite-table.p-datatable .p-datatable-tbody>tr{background:var(--granite-color-background-variant)}.granite-table.p-datatable .p-datatable-thead>tr,.granite-table.p-datatable .p-datatable-tbody>tr{height:2.5rem}.granite-table.p-datatable .p-datatable-thead>tr>th,.granite-table.p-datatable .p-datatable-tbody>tr>td{border:none;border-width:0}.granite-table .p-datatable-table{overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4.GraniteTableHeaderCellComponent, selector: "th[graniteTableHeaderCell]" }, { kind: "component", type: i5.GraniteTableDataCellComponent, selector: "granite-table-data-cell", inputs: ["value", "rowIndex", "columnIndex", "row", "tableCellTemplateRef"] }, { kind: "directive", type: i6.GraniteCellAlignClassesDirective, selector: "[graniteCellAlignClasses]", inputs: ["graniteCellAlignClasses"] }, { kind: "pipe", type: i7.GraniteTitlePipe, name: "graniteTitle" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
26
+ refreshData() {
27
+ this._columns = this.tableColumnsComponent.toArray();
28
+ this._displayedColumns = this.tableColumnsComponent
29
+ .toArray()
30
+ .map((c) => c.name);
31
+ }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GraniteTableComponent, selector: "granite-table", inputs: { dataSource: "dataSource", horizontalScroll: "horizontalScroll", trackBy: "trackBy" }, queries: [{ propertyName: "tableColumnsComponent", predicate: GraniteTableColumnDirective }], ngImport: i0, template: "<div\n class=\"cdk-table-wrapper\"\n data-fnd=\"granite-table-wrapper\"\n [class.horizontal-scroll]=\"horizontalScroll\"\n>\n <table\n class=\"granite-table\"\n cdk-table\n [dataSource]=\"dataSource\"\n [trackBy]=\"trackBy\"\n >\n <ng-container\n *ngFor=\"\n let column of _columns;\n trackBy: _trackColumnName;\n let columnIndex = index\n \"\n [cdkColumnDef]=\"column.name\"\n >\n <th\n tabindex=\"0\"\n cdk-header-cell\n *cdkHeaderCellDef\n data-fnd=\"data-granite-table-header-cell\"\n [graniteColumnSize]=\"column.size\"\n [attr.data-granite-table-header-cell]=\"column.name\"\n graniteTableHeaderCell\n graniteCellAlignClasses\n [textAlign]=\"column.textAlign\"\n [class]=\"column.headerClass\"\n >\n {{ column.title ?? column.name | graniteTitle }}\n </th>\n\n <td\n tabindex=\"0\"\n cdk-cell\n *cdkCellDef=\"let row; let rowIndex = index\"\n data-fnd=\"data-granite-table-row-cell\"\n [attr.data-granite-table-cell]=\"column.name\"\n [graniteColumnSize]=\"column.size\"\n graniteCellAlignClasses\n [textAlign]=\"column.textAlign\"\n [class]=\"column.class\"\n [id]=\"cellIdPrefix + '-' + rowIndex + '-' + columnIndex\"\n >\n <granite-table-data-cell\n [value]=\"row[column.name]\"\n [row]=\"row\"\n [column]=\"column\"\n [rowIndex]=\"rowIndex\"\n [columnIndex]=\"columnIndex\"\n [tableCellTemplateRef]=\"column.tableCellTemplateRef\"\n ></granite-table-data-cell>\n </td>\n </ng-container>\n\n <tr\n tabindex=\"0\"\n cdk-header-row\n *cdkHeaderRowDef=\"_displayedColumns\"\n data-fnd=\"data-granite-table-header\"\n ></tr>\n <tr\n tabindex=\"0\"\n cdk-row\n *cdkRowDef=\"let row; columns: _displayedColumns\"\n data-fnd=\"data-granite-table-row\"\n ></tr>\n </table>\n</div>\n", styles: [".granite-table tr>td.granite-table-cell-center-align,.granite-table tr>th.granite-table-cell-center-align{text-align:center}.granite-table tr>td.granite-table-cell-start-align,.granite-table tr>th.granite-table-cell-start-align{text-align:start}.granite-table tr>td.granite-table-cell-end-align,.granite-table tr>th.granite-table-cell-end-align{text-align:end}.granite-table [cdk-header-cell].column-size-sm,.granite-table [cdk-cell].column-size-sm{padding:.375rem .5rem}.granite-table [cdk-header-cell].column-size-md,.granite-table [cdk-cell].column-size-md{padding:.75rem 1rem}.granite-table [cdk-header-cell].column-size-lg,.granite-table [cdk-cell].column-size-lg{padding:.9375rem 1.25rem}.cdk-table-wrapper{width:100%;overflow-x:hidden}.cdk-table-wrapper .cdk-table{width:100%;border-spacing:0;white-space:nowrap}.cdk-table-wrapper .cdk-table .cdk-header-row,.cdk-table-wrapper .cdk-table cdk-cell{height:2.5rem}.cdk-table-wrapper .cdk-table .cdk-cell{background:var(--granite-color-background-variant)}.cdk-table-wrapper .cdk-table .cdk-header-cell,.cdk-table-wrapper .cdk-table cdk-cell{border:none;border-width:0}.cdk-table-wrapper .cdk-table .cdk-row,.cdk-table-wrapper .cdk-table .cdk-header-row{background:var(--granite-color-background-variant);height:2.5rem}.horizontal-scroll{overflow-x:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.CdkTable, selector: "cdk-table, table[cdk-table]", inputs: ["trackBy", "dataSource", "multiTemplateDataRows", "fixedLayout"], outputs: ["contentChanged"], exportAs: ["cdkTable"] }, { kind: "directive", type: i2.CdkRowDef, selector: "[cdkRowDef]", inputs: ["cdkRowDefColumns", "cdkRowDefWhen"] }, { kind: "directive", type: i2.CdkCellDef, selector: "[cdkCellDef]" }, { kind: "directive", type: i2.CdkHeaderCellDef, selector: "[cdkHeaderCellDef]" }, { kind: "directive", type: i2.CdkColumnDef, selector: "[cdkColumnDef]", inputs: ["sticky", "cdkColumnDef", "stickyEnd"] }, { kind: "directive", type: i2.CdkCell, selector: "cdk-cell, td[cdk-cell]" }, { kind: "component", type: i2.CdkRow, selector: "cdk-row, tr[cdk-row]" }, { kind: "directive", type: i2.CdkHeaderCell, selector: "cdk-header-cell, th[cdk-header-cell]" }, { kind: "component", type: i2.CdkHeaderRow, selector: "cdk-header-row, tr[cdk-header-row]" }, { kind: "directive", type: i2.CdkHeaderRowDef, selector: "[cdkHeaderRowDef]", inputs: ["cdkHeaderRowDef", "cdkHeaderRowDefSticky"] }, { kind: "component", type: i3.GraniteTableHeaderCellComponent, selector: "th[graniteTableHeaderCell]" }, { kind: "component", type: i4.GraniteTableDataCellComponent, selector: "granite-table-data-cell", inputs: ["value", "rowIndex", "columnIndex", "row", "tableCellTemplateRef"] }, { kind: "directive", type: i5.GraniteCellAlignClassesDirective, selector: "[graniteCellAlignClasses]", inputs: ["graniteCellAlignClasses", "textAlign"] }, { kind: "directive", type: i6.GraniteColumnSizeDirective, selector: "[graniteColumnSize]", inputs: ["graniteColumnSize"] }, { kind: "pipe", type: i7.GraniteTitlePipe, name: "graniteTitle" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
27
34
  }
28
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableComponent, decorators: [{
29
36
  type: Component,
30
- args: [{ selector: 'granite-table', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- [tableStyle]=\"{ width: '100%' }\" given to have equal width column -->\n<p-table\n [value]=\"dataSource\"\n [rowTrackBy]=\"trackBy\"\n [responsiveLayout]=\"layout\"\n [tableStyle]=\"{ width: '100%' }\"\n [styleClass]=\"styleClass\"\n>\n <ng-template pTemplate=\"header\">\n <tr data-granite-table-header-row>\n <ng-container *ngFor=\"let column of _columns; trackBy: _trackColumnName\"\n ><th\n [attr.data-granite-table-header-cell]=\"column.name\"\n graniteTableHeaderCell\n [graniteCellAlignClasses]=\"column.headerClass\"\n >\n {{ column.title ?? column.name | graniteTitle }}\n </th></ng-container\n >\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-row let-rowIndex=\"rowIndex\">\n <tr data-granite-table-row>\n <ng-container\n *ngFor=\"\n let column of _columns;\n trackBy: _trackColumnName;\n let columnIndex = index\n \"\n >\n <td\n [attr.data-granite-table-cell]=\"column.name\"\n [graniteCellAlignClasses]=\"column.class\"\n [id]=\"cellIdPrefix + '-' + rowIndex + '-' + columnIndex\"\n >\n <granite-table-data-cell\n [id]=\"cellIdPrefix + '-' + rowIndex + '-' + columnIndex\"\n [value]=\"row[column.name]\"\n [row]=\"row\"\n [column]=\"column\"\n [rowIndex]=\"rowIndex\"\n [columnIndex]=\"columnIndex\"\n [tableCellTemplateRef]=\"column.tableCellTemplateRef\"\n ></granite-table-data-cell>\n </td>\n </ng-container>\n </tr>\n </ng-template>\n</p-table>\n", styles: [".granite-table.p-datatable .p-datatable-tbody>tr>td.granite-table-cell-right-align,.granite-table.p-datatable .p-datatable-thead>tr>th.granite-table-cell-right-align{text-align:end}.granite-table.p-datatable .p-datatable-tbody>tr>td.granite-table-cell-center-align,.granite-table.p-datatable .p-datatable-thead>tr>th.granite-table-cell-center-align{text-align:center}.granite-table.p-datatable.p-component{font-family:inherit;font-weight:inherit;font-size:inherit}.granite-table.p-datatable .p-datatable-tbody>tr{background:var(--granite-color-background-variant)}.granite-table.p-datatable .p-datatable-thead>tr,.granite-table.p-datatable .p-datatable-tbody>tr{height:2.5rem}.granite-table.p-datatable .p-datatable-thead>tr>th,.granite-table.p-datatable .p-datatable-tbody>tr>td{border:none;border-width:0}.granite-table .p-datatable-table{overflow:hidden}\n"] }]
31
- }], propDecorators: { dataSource: [{
37
+ args: [{ selector: 'granite-table', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"cdk-table-wrapper\"\n data-fnd=\"granite-table-wrapper\"\n [class.horizontal-scroll]=\"horizontalScroll\"\n>\n <table\n class=\"granite-table\"\n cdk-table\n [dataSource]=\"dataSource\"\n [trackBy]=\"trackBy\"\n >\n <ng-container\n *ngFor=\"\n let column of _columns;\n trackBy: _trackColumnName;\n let columnIndex = index\n \"\n [cdkColumnDef]=\"column.name\"\n >\n <th\n tabindex=\"0\"\n cdk-header-cell\n *cdkHeaderCellDef\n data-fnd=\"data-granite-table-header-cell\"\n [graniteColumnSize]=\"column.size\"\n [attr.data-granite-table-header-cell]=\"column.name\"\n graniteTableHeaderCell\n graniteCellAlignClasses\n [textAlign]=\"column.textAlign\"\n [class]=\"column.headerClass\"\n >\n {{ column.title ?? column.name | graniteTitle }}\n </th>\n\n <td\n tabindex=\"0\"\n cdk-cell\n *cdkCellDef=\"let row; let rowIndex = index\"\n data-fnd=\"data-granite-table-row-cell\"\n [attr.data-granite-table-cell]=\"column.name\"\n [graniteColumnSize]=\"column.size\"\n graniteCellAlignClasses\n [textAlign]=\"column.textAlign\"\n [class]=\"column.class\"\n [id]=\"cellIdPrefix + '-' + rowIndex + '-' + columnIndex\"\n >\n <granite-table-data-cell\n [value]=\"row[column.name]\"\n [row]=\"row\"\n [column]=\"column\"\n [rowIndex]=\"rowIndex\"\n [columnIndex]=\"columnIndex\"\n [tableCellTemplateRef]=\"column.tableCellTemplateRef\"\n ></granite-table-data-cell>\n </td>\n </ng-container>\n\n <tr\n tabindex=\"0\"\n cdk-header-row\n *cdkHeaderRowDef=\"_displayedColumns\"\n data-fnd=\"data-granite-table-header\"\n ></tr>\n <tr\n tabindex=\"0\"\n cdk-row\n *cdkRowDef=\"let row; columns: _displayedColumns\"\n data-fnd=\"data-granite-table-row\"\n ></tr>\n </table>\n</div>\n", styles: [".granite-table tr>td.granite-table-cell-center-align,.granite-table tr>th.granite-table-cell-center-align{text-align:center}.granite-table tr>td.granite-table-cell-start-align,.granite-table tr>th.granite-table-cell-start-align{text-align:start}.granite-table tr>td.granite-table-cell-end-align,.granite-table tr>th.granite-table-cell-end-align{text-align:end}.granite-table [cdk-header-cell].column-size-sm,.granite-table [cdk-cell].column-size-sm{padding:.375rem .5rem}.granite-table [cdk-header-cell].column-size-md,.granite-table [cdk-cell].column-size-md{padding:.75rem 1rem}.granite-table [cdk-header-cell].column-size-lg,.granite-table [cdk-cell].column-size-lg{padding:.9375rem 1.25rem}.cdk-table-wrapper{width:100%;overflow-x:hidden}.cdk-table-wrapper .cdk-table{width:100%;border-spacing:0;white-space:nowrap}.cdk-table-wrapper .cdk-table .cdk-header-row,.cdk-table-wrapper .cdk-table cdk-cell{height:2.5rem}.cdk-table-wrapper .cdk-table .cdk-cell{background:var(--granite-color-background-variant)}.cdk-table-wrapper .cdk-table .cdk-header-cell,.cdk-table-wrapper .cdk-table cdk-cell{border:none;border-width:0}.cdk-table-wrapper .cdk-table .cdk-row,.cdk-table-wrapper .cdk-table .cdk-header-row{background:var(--granite-color-background-variant);height:2.5rem}.horizontal-scroll{overflow-x:auto}\n"] }]
38
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { dataSource: [{
32
39
  type: Input
33
- }], trackBy: [{
40
+ }], horizontalScroll: [{
34
41
  type: Input
35
- }], layout: [{
42
+ }], trackBy: [{
36
43
  type: Input
37
44
  }], tableColumnsComponent: [{
38
45
  type: ContentChildren,
39
46
  args: [GraniteTableColumnDirective]
40
47
  }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvdGFibGUvc3JjL2xpYi90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy90YWJsZS9zcmMvbGliL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixLQUFLLEVBQ0wsU0FBUyxFQUVULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RSxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLHFCQUFxQixHQUN0QixNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7QUFVbkMsTUFBTSxPQUFPLHFCQUFxQjtJQVBsQztRQVNFLGVBQVUsR0FBVSxFQUFFLENBQUM7UUFNdkIsV0FBTSxHQUFxQixPQUFPLENBQUM7UUFLMUIsZUFBVSxHQUFHLHFCQUFxQixDQUFDLFdBQVcsQ0FBQztRQUMvQyxpQkFBWSxHQUFHLHlCQUF5QixDQUFDLGNBQWMsQ0FBQztLQVdsRTtJQVBDLGtCQUFrQjtRQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBYSxFQUFFLE1BQW1DO1FBQ2pFLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDOytHQXhCVSxxQkFBcUI7bUdBQXJCLHFCQUFxQix1S0FVZiwyQkFBMkIsNkJDbkM5Qywyb0RBaURBOzs0RkR4QmEscUJBQXFCO2tCQVBqQyxTQUFTOytCQUNFLGVBQWUsaUJBR1YsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs4QkFJL0MsVUFBVTtzQkFEVCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4scUJBQXFCO3NCQURwQixlQUFlO3VCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgSW5wdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVHJhY2tCeUZ1bmN0aW9uLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEdyYW5pdGVUYWJsZUNvbHVtbkRpcmVjdGl2ZSB9IGZyb20gJy4vY29sdW1uL3RhYmxlLWNvbHVtbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgR3Jhbml0ZVRhYmxlQ2VsbENvbnN0YW50cyxcbiAgR3Jhbml0ZVRhYmxlQ29uc3RhbnRzLFxufSBmcm9tICcuL3RhYmxlLWNvbnN0YW50cy5saWJyYXJ5JztcbmltcG9ydCB7IFJlc3BvbnNpdmVMYXlvdXQgfSBmcm9tICcuL3RhYmxlLnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ3Jhbml0ZS10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBHcmFuaXRlVGFibGVDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgQElucHV0KClcbiAgZGF0YVNvdXJjZTogYW55W10gPSBbXTtcblxuICBASW5wdXQoKVxuICB0cmFja0J5OiBUcmFja0J5RnVuY3Rpb248VD47XG5cbiAgQElucHV0KClcbiAgbGF5b3V0OiBSZXNwb25zaXZlTGF5b3V0ID0gJ3N0YWNrJztcblxuICBAQ29udGVudENoaWxkcmVuKEdyYW5pdGVUYWJsZUNvbHVtbkRpcmVjdGl2ZSlcbiAgdGFibGVDb2x1bW5zQ29tcG9uZW50OiBRdWVyeUxpc3Q8R3Jhbml0ZVRhYmxlQ29sdW1uRGlyZWN0aXZlPjtcblxuICByZWFkb25seSBzdHlsZUNsYXNzID0gR3Jhbml0ZVRhYmxlQ29uc3RhbnRzLlNUWUxFX0NMQVNTO1xuICByZWFkb25seSBjZWxsSWRQcmVmaXggPSBHcmFuaXRlVGFibGVDZWxsQ29uc3RhbnRzLkNFTExfSURfUFJFRklYO1xuXG4gIF9jb2x1bW5zOiBHcmFuaXRlVGFibGVDb2x1bW5EaXJlY3RpdmVbXTtcblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fY29sdW1ucyA9IHRoaXMudGFibGVDb2x1bW5zQ29tcG9uZW50LnRvQXJyYXkoKTtcbiAgfVxuXG4gIF90cmFja0NvbHVtbk5hbWUoaW5kZXg6IG51bWJlciwgY29sdW1uOiBHcmFuaXRlVGFibGVDb2x1bW5EaXJlY3RpdmUpOiBzdHJpbmcge1xuICAgIHJldHVybiBjb2x1bW4ubmFtZTtcbiAgfVxufVxuIiwiPCEtLSBbdGFibGVTdHlsZV09XCJ7IHdpZHRoOiAnMTAwJScgfVwiICBnaXZlbiB0byBoYXZlIGVxdWFsIHdpZHRoIGNvbHVtbiAtLT5cbjxwLXRhYmxlXG4gIFt2YWx1ZV09XCJkYXRhU291cmNlXCJcbiAgW3Jvd1RyYWNrQnldPVwidHJhY2tCeVwiXG4gIFtyZXNwb25zaXZlTGF5b3V0XT1cImxheW91dFwiXG4gIFt0YWJsZVN0eWxlXT1cInsgd2lkdGg6ICcxMDAlJyB9XCJcbiAgW3N0eWxlQ2xhc3NdPVwic3R5bGVDbGFzc1wiXG4+XG4gIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cbiAgICA8dHIgZGF0YS1ncmFuaXRlLXRhYmxlLWhlYWRlci1yb3c+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgX2NvbHVtbnM7IHRyYWNrQnk6IF90cmFja0NvbHVtbk5hbWVcIlxuICAgICAgICA+PHRoXG4gICAgICAgICAgW2F0dHIuZGF0YS1ncmFuaXRlLXRhYmxlLWhlYWRlci1jZWxsXT1cImNvbHVtbi5uYW1lXCJcbiAgICAgICAgICBncmFuaXRlVGFibGVIZWFkZXJDZWxsXG4gICAgICAgICAgW2dyYW5pdGVDZWxsQWxpZ25DbGFzc2VzXT1cImNvbHVtbi5oZWFkZXJDbGFzc1wiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBjb2x1bW4udGl0bGUgPz8gY29sdW1uLm5hbWUgfCBncmFuaXRlVGl0bGUgfX1cbiAgICAgICAgPC90aD48L25nLWNvbnRhaW5lclxuICAgICAgPlxuICAgIDwvdHI+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LXJvdyBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxuICAgIDx0ciBkYXRhLWdyYW5pdGUtdGFibGUtcm93PlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICBsZXQgY29sdW1uIG9mIF9jb2x1bW5zO1xuICAgICAgICAgIHRyYWNrQnk6IF90cmFja0NvbHVtbk5hbWU7XG4gICAgICAgICAgbGV0IGNvbHVtbkluZGV4ID0gaW5kZXhcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPHRkXG4gICAgICAgICAgW2F0dHIuZGF0YS1ncmFuaXRlLXRhYmxlLWNlbGxdPVwiY29sdW1uLm5hbWVcIlxuICAgICAgICAgIFtncmFuaXRlQ2VsbEFsaWduQ2xhc3Nlc109XCJjb2x1bW4uY2xhc3NcIlxuICAgICAgICAgIFtpZF09XCJjZWxsSWRQcmVmaXggKyAnLScgKyByb3dJbmRleCArICctJyArIGNvbHVtbkluZGV4XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxncmFuaXRlLXRhYmxlLWRhdGEtY2VsbFxuICAgICAgICAgICAgW2lkXT1cImNlbGxJZFByZWZpeCArICctJyArIHJvd0luZGV4ICsgJy0nICsgY29sdW1uSW5kZXhcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInJvd1tjb2x1bW4ubmFtZV1cIlxuICAgICAgICAgICAgW3Jvd109XCJyb3dcIlxuICAgICAgICAgICAgW2NvbHVtbl09XCJjb2x1bW5cIlxuICAgICAgICAgICAgW3Jvd0luZGV4XT1cInJvd0luZGV4XCJcbiAgICAgICAgICAgIFtjb2x1bW5JbmRleF09XCJjb2x1bW5JbmRleFwiXG4gICAgICAgICAgICBbdGFibGVDZWxsVGVtcGxhdGVSZWZdPVwiY29sdW1uLnRhYmxlQ2VsbFRlbXBsYXRlUmVmXCJcbiAgICAgICAgICA+PC9ncmFuaXRlLXRhYmxlLWRhdGEtY2VsbD5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdHI+XG4gIDwvbmctdGVtcGxhdGU+XG48L3AtdGFibGU+XG4iXX0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvdGFibGUvc3JjL2xpYi90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy90YWJsZS9zcmMvbGliL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsS0FBSyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7OztBQVN0RSxNQUFNLE9BQU8scUJBQXFCO0lBa0JoQyxZQUFvQixFQUFxQjtRQUFyQixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQWhCekMsZUFBVSxHQUFVLEVBQUUsQ0FBQztRQUd2QixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFRaEIsaUJBQVksR0FBRyx5QkFBeUIsQ0FBQyxjQUFjLENBQUM7SUFLckIsQ0FBQztJQUU3QyxxQkFBcUI7UUFDbkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQWEsRUFBRSxNQUFtQztRQUNqRSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDckQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxxQkFBcUI7YUFDaEQsT0FBTyxFQUFFO2FBQ1QsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQzsrR0FsQ1UscUJBQXFCO21HQUFyQixxQkFBcUIsMkxBVWYsMkJBQTJCLDZCQ2hDOUMsNi9EQXVFQTs7NEZEakRhLHFCQUFxQjtrQkFQakMsU0FBUzsrQkFDRSxlQUFlLGlCQUdWLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07d0dBSS9DLFVBQVU7c0JBRFQsS0FBSztnQkFJTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4scUJBQXFCO3NCQURwQixlQUFlO3VCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudENoZWNrZWQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIElucHV0LFxuICBRdWVyeUxpc3QsXG4gIFRyYWNrQnlGdW5jdGlvbixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBHcmFuaXRlVGFibGVDb2x1bW5EaXJlY3RpdmUgfSBmcm9tICcuL2NvbHVtbi90YWJsZS1jb2x1bW4uZGlyZWN0aXZlJztcbmltcG9ydCB7IEdyYW5pdGVUYWJsZUNlbGxDb25zdGFudHMgfSBmcm9tICcuL3RhYmxlLWNvbnN0YW50cy5saWJyYXJ5JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ3Jhbml0ZS10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBHcmFuaXRlVGFibGVDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBBZnRlckNvbnRlbnRDaGVja2VkIHtcbiAgQElucHV0KClcbiAgZGF0YVNvdXJjZTogYW55W10gPSBbXTtcblxuICBASW5wdXQoKVxuICBob3Jpem9udGFsU2Nyb2xsID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgdHJhY2tCeTogVHJhY2tCeUZ1bmN0aW9uPFQ+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oR3Jhbml0ZVRhYmxlQ29sdW1uRGlyZWN0aXZlKVxuICB0YWJsZUNvbHVtbnNDb21wb25lbnQ6IFF1ZXJ5TGlzdDxHcmFuaXRlVGFibGVDb2x1bW5EaXJlY3RpdmU+O1xuXG4gIHJlYWRvbmx5IGNlbGxJZFByZWZpeCA9IEdyYW5pdGVUYWJsZUNlbGxDb25zdGFudHMuQ0VMTF9JRF9QUkVGSVg7XG5cbiAgX2NvbHVtbnM6IEdyYW5pdGVUYWJsZUNvbHVtbkRpcmVjdGl2ZVtdO1xuICBfZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgIHRoaXMucmVmcmVzaERhdGEoKTtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgX3RyYWNrQ29sdW1uTmFtZShpbmRleDogbnVtYmVyLCBjb2x1bW46IEdyYW5pdGVUYWJsZUNvbHVtbkRpcmVjdGl2ZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNvbHVtbi5uYW1lO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoRGF0YSgpOiB2b2lkIHtcbiAgICB0aGlzLl9jb2x1bW5zID0gdGhpcy50YWJsZUNvbHVtbnNDb21wb25lbnQudG9BcnJheSgpO1xuICAgIHRoaXMuX2Rpc3BsYXllZENvbHVtbnMgPSB0aGlzLnRhYmxlQ29sdW1uc0NvbXBvbmVudFxuICAgICAgLnRvQXJyYXkoKVxuICAgICAgLm1hcCgoYykgPT4gYy5uYW1lKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImNkay10YWJsZS13cmFwcGVyXCJcbiAgZGF0YS1mbmQ9XCJncmFuaXRlLXRhYmxlLXdyYXBwZXJcIlxuICBbY2xhc3MuaG9yaXpvbnRhbC1zY3JvbGxdPVwiaG9yaXpvbnRhbFNjcm9sbFwiXG4+XG4gIDx0YWJsZVxuICAgIGNsYXNzPVwiZ3Jhbml0ZS10YWJsZVwiXG4gICAgY2RrLXRhYmxlXG4gICAgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiXG4gICAgW3RyYWNrQnldPVwidHJhY2tCeVwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdGb3I9XCJcbiAgICAgICAgbGV0IGNvbHVtbiBvZiBfY29sdW1ucztcbiAgICAgICAgdHJhY2tCeTogX3RyYWNrQ29sdW1uTmFtZTtcbiAgICAgICAgbGV0IGNvbHVtbkluZGV4ID0gaW5kZXhcbiAgICAgIFwiXG4gICAgICBbY2RrQ29sdW1uRGVmXT1cImNvbHVtbi5uYW1lXCJcbiAgICA+XG4gICAgICA8dGhcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgY2RrLWhlYWRlci1jZWxsXG4gICAgICAgICpjZGtIZWFkZXJDZWxsRGVmXG4gICAgICAgIGRhdGEtZm5kPVwiZGF0YS1ncmFuaXRlLXRhYmxlLWhlYWRlci1jZWxsXCJcbiAgICAgICAgW2dyYW5pdGVDb2x1bW5TaXplXT1cImNvbHVtbi5zaXplXCJcbiAgICAgICAgW2F0dHIuZGF0YS1ncmFuaXRlLXRhYmxlLWhlYWRlci1jZWxsXT1cImNvbHVtbi5uYW1lXCJcbiAgICAgICAgZ3Jhbml0ZVRhYmxlSGVhZGVyQ2VsbFxuICAgICAgICBncmFuaXRlQ2VsbEFsaWduQ2xhc3Nlc1xuICAgICAgICBbdGV4dEFsaWduXT1cImNvbHVtbi50ZXh0QWxpZ25cIlxuICAgICAgICBbY2xhc3NdPVwiY29sdW1uLmhlYWRlckNsYXNzXCJcbiAgICAgID5cbiAgICAgICAge3sgY29sdW1uLnRpdGxlID8/IGNvbHVtbi5uYW1lIHwgZ3Jhbml0ZVRpdGxlIH19XG4gICAgICA8L3RoPlxuXG4gICAgICA8dGRcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgY2RrLWNlbGxcbiAgICAgICAgKmNka0NlbGxEZWY9XCJsZXQgcm93OyBsZXQgcm93SW5kZXggPSBpbmRleFwiXG4gICAgICAgIGRhdGEtZm5kPVwiZGF0YS1ncmFuaXRlLXRhYmxlLXJvdy1jZWxsXCJcbiAgICAgICAgW2F0dHIuZGF0YS1ncmFuaXRlLXRhYmxlLWNlbGxdPVwiY29sdW1uLm5hbWVcIlxuICAgICAgICBbZ3Jhbml0ZUNvbHVtblNpemVdPVwiY29sdW1uLnNpemVcIlxuICAgICAgICBncmFuaXRlQ2VsbEFsaWduQ2xhc3Nlc1xuICAgICAgICBbdGV4dEFsaWduXT1cImNvbHVtbi50ZXh0QWxpZ25cIlxuICAgICAgICBbY2xhc3NdPVwiY29sdW1uLmNsYXNzXCJcbiAgICAgICAgW2lkXT1cImNlbGxJZFByZWZpeCArICctJyArIHJvd0luZGV4ICsgJy0nICsgY29sdW1uSW5kZXhcIlxuICAgICAgPlxuICAgICAgICA8Z3Jhbml0ZS10YWJsZS1kYXRhLWNlbGxcbiAgICAgICAgICBbdmFsdWVdPVwicm93W2NvbHVtbi5uYW1lXVwiXG4gICAgICAgICAgW3Jvd109XCJyb3dcIlxuICAgICAgICAgIFtjb2x1bW5dPVwiY29sdW1uXCJcbiAgICAgICAgICBbcm93SW5kZXhdPVwicm93SW5kZXhcIlxuICAgICAgICAgIFtjb2x1bW5JbmRleF09XCJjb2x1bW5JbmRleFwiXG4gICAgICAgICAgW3RhYmxlQ2VsbFRlbXBsYXRlUmVmXT1cImNvbHVtbi50YWJsZUNlbGxUZW1wbGF0ZVJlZlwiXG4gICAgICAgID48L2dyYW5pdGUtdGFibGUtZGF0YS1jZWxsPlxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDx0clxuICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgIGNkay1oZWFkZXItcm93XG4gICAgICAqY2RrSGVhZGVyUm93RGVmPVwiX2Rpc3BsYXllZENvbHVtbnNcIlxuICAgICAgZGF0YS1mbmQ9XCJkYXRhLWdyYW5pdGUtdGFibGUtaGVhZGVyXCJcbiAgICA+PC90cj5cbiAgICA8dHJcbiAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICBjZGstcm93XG4gICAgICAqY2RrUm93RGVmPVwibGV0IHJvdzsgY29sdW1uczogX2Rpc3BsYXllZENvbHVtbnNcIlxuICAgICAgZGF0YS1mbmQ9XCJkYXRhLWdyYW5pdGUtdGFibGUtcm93XCJcbiAgICA+PC90cj5cbiAgPC90YWJsZT5cbjwvZGl2PlxuIl19
@@ -7,6 +7,8 @@ import { GraniteTableColumnDirective } from './column/table-column.directive';
7
7
  import { GraniteTableHeaderCellComponent } from './cell/table-header-cell.component';
8
8
  import { GraniteTableDataCellComponent } from './cell/table-data-cell.component';
9
9
  import { GraniteCellAlignClassesDirective } from './cell/cell-align/cell-align-classes.directive';
10
+ import { CdkTableModule } from '@angular/cdk/table';
11
+ import { GraniteColumnSizeDirective } from './column-size/column-size.directive';
10
12
  import * as i0 from "@angular/core";
11
13
  export class GraniteTableModule {
12
14
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -14,21 +16,23 @@ export class GraniteTableModule {
14
16
  GraniteTableColumnDirective,
15
17
  GraniteTableHeaderCellComponent,
16
18
  GraniteTableDataCellComponent,
17
- GraniteCellAlignClassesDirective], imports: [CommonModule, TableModule, PurePipesModule], exports: [GraniteTableComponent, GraniteTableColumnDirective] }); }
18
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableModule, imports: [CommonModule, TableModule, PurePipesModule] }); }
19
+ GraniteCellAlignClassesDirective,
20
+ GraniteColumnSizeDirective], imports: [CommonModule, TableModule, PurePipesModule, CdkTableModule], exports: [GraniteTableComponent, GraniteTableColumnDirective] }); }
21
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableModule, imports: [CommonModule, TableModule, PurePipesModule, CdkTableModule] }); }
19
22
  }
20
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableModule, decorators: [{
21
24
  type: NgModule,
22
25
  args: [{
23
- imports: [CommonModule, TableModule, PurePipesModule],
26
+ imports: [CommonModule, TableModule, PurePipesModule, CdkTableModule],
24
27
  declarations: [
25
28
  GraniteTableComponent,
26
29
  GraniteTableColumnDirective,
27
30
  GraniteTableHeaderCellComponent,
28
31
  GraniteTableDataCellComponent,
29
32
  GraniteCellAlignClassesDirective,
33
+ GraniteColumnSizeDirective,
30
34
  ],
31
35
  exports: [GraniteTableComponent, GraniteTableColumnDirective],
32
36
  }]
33
37
  }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvdGFibGUvc3JjL2xpYi90YWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakYsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7O0FBYWxHLE1BQU0sT0FBTyxrQkFBa0I7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCLGlCQVIzQixxQkFBcUI7WUFDckIsMkJBQTJCO1lBQzNCLCtCQUErQjtZQUMvQiw2QkFBNkI7WUFDN0IsZ0NBQWdDLGFBTnhCLFlBQVksRUFBRSxXQUFXLEVBQUUsZUFBZSxhQVExQyxxQkFBcUIsRUFBRSwyQkFBMkI7Z0hBRWpELGtCQUFrQixZQVZuQixZQUFZLEVBQUUsV0FBVyxFQUFFLGVBQWU7OzRGQVV6QyxrQkFBa0I7a0JBWDlCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUM7b0JBQ3JELFlBQVksRUFBRTt3QkFDWixxQkFBcUI7d0JBQ3JCLDJCQUEyQjt3QkFDM0IsK0JBQStCO3dCQUMvQiw2QkFBNkI7d0JBQzdCLGdDQUFnQztxQkFDakM7b0JBQ0QsT0FBTyxFQUFFLENBQUMscUJBQXFCLEVBQUUsMkJBQTJCLENBQUM7aUJBQzlEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUYWJsZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdGFibGUnO1xuXG5pbXBvcnQgeyBQdXJlUGlwZXNNb2R1bGUgfSBmcm9tICdAaWZzd29ybGQvZ3Jhbml0ZS1jb21wb25lbnRzJztcblxuaW1wb3J0IHsgR3Jhbml0ZVRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgR3Jhbml0ZVRhYmxlQ29sdW1uRGlyZWN0aXZlIH0gZnJvbSAnLi9jb2x1bW4vdGFibGUtY29sdW1uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBHcmFuaXRlVGFibGVIZWFkZXJDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi9jZWxsL3RhYmxlLWhlYWRlci1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHcmFuaXRlVGFibGVEYXRhQ2VsbENvbXBvbmVudCB9IGZyb20gJy4vY2VsbC90YWJsZS1kYXRhLWNlbGwuY29tcG9uZW50JztcbmltcG9ydCB7IEdyYW5pdGVDZWxsQWxpZ25DbGFzc2VzRGlyZWN0aXZlIH0gZnJvbSAnLi9jZWxsL2NlbGwtYWxpZ24vY2VsbC1hbGlnbi1jbGFzc2VzLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRhYmxlTW9kdWxlLCBQdXJlUGlwZXNNb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBHcmFuaXRlVGFibGVDb21wb25lbnQsXG4gICAgR3Jhbml0ZVRhYmxlQ29sdW1uRGlyZWN0aXZlLFxuICAgIEdyYW5pdGVUYWJsZUhlYWRlckNlbGxDb21wb25lbnQsXG4gICAgR3Jhbml0ZVRhYmxlRGF0YUNlbGxDb21wb25lbnQsXG4gICAgR3Jhbml0ZUNlbGxBbGlnbkNsYXNzZXNEaXJlY3RpdmUsXG4gIF0sXG4gIGV4cG9ydHM6IFtHcmFuaXRlVGFibGVDb21wb25lbnQsIEdyYW5pdGVUYWJsZUNvbHVtbkRpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIEdyYW5pdGVUYWJsZU1vZHVsZSB7fVxuIl19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvdGFibGUvc3JjL2xpYi90YWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakYsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQWNqRixNQUFNLE9BQU8sa0JBQWtCOytHQUFsQixrQkFBa0I7Z0hBQWxCLGtCQUFrQixpQkFUM0IscUJBQXFCO1lBQ3JCLDJCQUEyQjtZQUMzQiwrQkFBK0I7WUFDL0IsNkJBQTZCO1lBQzdCLGdDQUFnQztZQUNoQywwQkFBMEIsYUFQbEIsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsY0FBYyxhQVMxRCxxQkFBcUIsRUFBRSwyQkFBMkI7Z0hBRWpELGtCQUFrQixZQVhuQixZQUFZLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxjQUFjOzs0RkFXekQsa0JBQWtCO2tCQVo5QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLGNBQWMsQ0FBQztvQkFDckUsWUFBWSxFQUFFO3dCQUNaLHFCQUFxQjt3QkFDckIsMkJBQTJCO3dCQUMzQiwrQkFBK0I7d0JBQy9CLDZCQUE2Qjt3QkFDN0IsZ0NBQWdDO3dCQUNoQywwQkFBMEI7cUJBQzNCO29CQUNELE9BQU8sRUFBRSxDQUFDLHFCQUFxQixFQUFFLDJCQUEyQixDQUFDO2lCQUM5RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGFibGVNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RhYmxlJztcblxuaW1wb3J0IHsgUHVyZVBpcGVzTW9kdWxlIH0gZnJvbSAnQGlmc3dvcmxkL2dyYW5pdGUtY29tcG9uZW50cyc7XG5cbmltcG9ydCB7IEdyYW5pdGVUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IEdyYW5pdGVUYWJsZUNvbHVtbkRpcmVjdGl2ZSB9IGZyb20gJy4vY29sdW1uL3RhYmxlLWNvbHVtbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgR3Jhbml0ZVRhYmxlSGVhZGVyQ2VsbENvbXBvbmVudCB9IGZyb20gJy4vY2VsbC90YWJsZS1oZWFkZXItY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgR3Jhbml0ZVRhYmxlRGF0YUNlbGxDb21wb25lbnQgfSBmcm9tICcuL2NlbGwvdGFibGUtZGF0YS1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHcmFuaXRlQ2VsbEFsaWduQ2xhc3Nlc0RpcmVjdGl2ZSB9IGZyb20gJy4vY2VsbC9jZWxsLWFsaWduL2NlbGwtYWxpZ24tY2xhc3Nlcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ2RrVGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGFibGUnO1xuaW1wb3J0IHsgR3Jhbml0ZUNvbHVtblNpemVEaXJlY3RpdmUgfSBmcm9tICcuL2NvbHVtbi1zaXplL2NvbHVtbi1zaXplLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRhYmxlTW9kdWxlLCBQdXJlUGlwZXNNb2R1bGUsIENka1RhYmxlTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgR3Jhbml0ZVRhYmxlQ29tcG9uZW50LFxuICAgIEdyYW5pdGVUYWJsZUNvbHVtbkRpcmVjdGl2ZSxcbiAgICBHcmFuaXRlVGFibGVIZWFkZXJDZWxsQ29tcG9uZW50LFxuICAgIEdyYW5pdGVUYWJsZURhdGFDZWxsQ29tcG9uZW50LFxuICAgIEdyYW5pdGVDZWxsQWxpZ25DbGFzc2VzRGlyZWN0aXZlLFxuICAgIEdyYW5pdGVDb2x1bW5TaXplRGlyZWN0aXZlLFxuICBdLFxuICBleHBvcnRzOiBbR3Jhbml0ZVRhYmxlQ29tcG9uZW50LCBHcmFuaXRlVGFibGVDb2x1bW5EaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBHcmFuaXRlVGFibGVNb2R1bGUge31cbiJdfQ==
@@ -2,15 +2,19 @@ import * as i0 from '@angular/core';
2
2
  import { Directive, Input, ContentChild, Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, ContentChildren, NgModule } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
- import * as i2 from 'primeng/table';
6
5
  import { TableModule } from 'primeng/table';
7
6
  import * as i7 from '@ifsworld/granite-components';
8
7
  import { PurePipesModule } from '@ifsworld/granite-components';
9
- import * as i3 from 'primeng/api';
8
+ import * as i2 from '@angular/cdk/table';
9
+ import { CdkTableModule } from '@angular/cdk/table';
10
10
 
11
11
  class GraniteTableColumnDirective {
12
+ constructor() {
13
+ this.textAlign = 'center';
14
+ this.size = 'small';
15
+ }
12
16
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableColumnDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
13
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: GraniteTableColumnDirective, selector: "granite-table-column", inputs: { name: "name", title: "title", class: "class", headerClass: "headerClass" }, queries: [{ propertyName: "tableCellTemplateRef", first: true, predicate: ["graniteTableCellTemplate"], descendants: true }], ngImport: i0 }); }
17
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: GraniteTableColumnDirective, selector: "granite-table-column", inputs: { name: "name", title: "title", class: "class", headerClass: "headerClass", textAlign: "textAlign", size: "size" }, queries: [{ propertyName: "tableCellTemplateRef", first: true, predicate: ["graniteTableCellTemplate"], descendants: true }], ngImport: i0 }); }
14
18
  }
15
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableColumnDirective, decorators: [{
16
20
  type: Directive,
@@ -26,6 +30,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
26
30
  type: Input
27
31
  }], headerClass: [{
28
32
  type: Input
33
+ }], textAlign: [{
34
+ type: Input
35
+ }], size: [{
36
+ type: Input
29
37
  }], tableCellTemplateRef: [{
30
38
  type: ContentChild,
31
39
  args: ['graniteTableCellTemplate', { static: false }]
@@ -33,11 +41,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
33
41
 
34
42
  class GraniteTableCellConstants {
35
43
  static { this.CELL_ID_PREFIX = 'granite-cell'; }
36
- static { this.RIGHT_ALIGN = 'granite-right-align'; }
37
- static { this.CENTER_ALIGN = 'granite-center-align'; }
38
- }
39
- class GraniteTableConstants {
40
- static { this.STYLE_CLASS = 'granite-table'; }
44
+ static { this.START_ALIGN = 'granite-table-cell-start-align'; }
45
+ static { this.CENTER_ALIGN = 'granite-table-cell-center-align'; }
46
+ static { this.END_ALIGN = 'granite-table-cell-end-align'; }
41
47
  }
42
48
 
43
49
  class GraniteCell {
@@ -54,24 +60,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
54
60
 
55
61
  class GraniteTableHeaderCellComponent extends GraniteCell {
56
62
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableHeaderCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
57
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GraniteTableHeaderCellComponent, selector: "th[graniteTableHeaderCell]", host: { classAttribute: "granite-table-header-cell" }, usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".granite-table.p-datatable .p-datatable-thead>tr>th.granite-table-header-cell{padding:var(--granite-spacing-8);font-size:var(--granite-font-size-micro);line-height:var(--granite-line-height-flowing);letter-spacing:.015em;font-weight:400;color:var(--granite-color-text-weak);background:var(--granite-color-background-variant)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
63
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GraniteTableHeaderCellComponent, selector: "th[graniteTableHeaderCell]", host: { classAttribute: "granite-table-header-cell" }, usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".granite-table th.granite-table-header-cell{padding:var(--granite-spacing-8);font-size:var(--granite-font-size-body-small);line-height:var(--granite-line-height-regular);font-weight:var(--granite-font-weight-regular);color:var(--granite-color-text-weak);background:var(--granite-color-background-page)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
58
64
  }
59
65
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableHeaderCellComponent, decorators: [{
60
66
  type: Component,
61
67
  args: [{ selector: 'th[graniteTableHeaderCell]', template: '<ng-content></ng-content>', host: {
62
68
  class: 'granite-table-header-cell',
63
- }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".granite-table.p-datatable .p-datatable-thead>tr>th.granite-table-header-cell{padding:var(--granite-spacing-8);font-size:var(--granite-font-size-micro);line-height:var(--granite-line-height-flowing);letter-spacing:.015em;font-weight:400;color:var(--granite-color-text-weak);background:var(--granite-color-background-variant)}\n"] }]
69
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".granite-table th.granite-table-header-cell{padding:var(--granite-spacing-8);font-size:var(--granite-font-size-body-small);line-height:var(--granite-line-height-regular);font-weight:var(--granite-font-weight-regular);color:var(--granite-color-text-weak);background:var(--granite-color-background-page)}\n"] }]
64
70
  }] });
65
71
 
66
72
  class GraniteTableDataCellComponent extends GraniteCell {
67
73
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableDataCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
68
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GraniteTableDataCellComponent, selector: "granite-table-data-cell", inputs: { value: "value", rowIndex: "rowIndex", columnIndex: "columnIndex", row: "row", tableCellTemplateRef: "tableCellTemplateRef" }, host: { classAttribute: "granite-table-data-cell" }, usesInheritance: true, ngImport: i0, template: "<ng-template\n [ngTemplateOutlet]=\"tableCellTemplateRef || defaultTableCellTemplate\"\n [ngTemplateOutletContext]=\"{\n data: value,\n rowIndex: rowIndex,\n columnIndex: columnIndex,\n column: column,\n row: row\n }\"\n></ng-template>\n\n<ng-template #defaultTableCellTemplate>\n {{ value }}\n</ng-template>\n", styles: [".granite-table.p-datatable .p-datatable-tbody>tr>td{padding:var(--granite-spacing-8);font-size:var(--granite-font-size-body-small);line-height:var(--granite-line-height-regular);color:var(--granite-color-text);border-top:1px solid var(--granite-color-border-soft)}@media only screen and (max-width: 960px){.granite-table.p-datatable.p-datatable-responsive-stack .p-datatable-tbody>tr td{border:none}}@media only screen and (max-width: 960px){.granite-table.p-datatable.p-datatable-responsive-stack .p-datatable-tbody>tr:not(.granite-table.p-datatable.p-datatable-responsive-stack .p-datatable-tbody>tr:last-child) td{border-bottom:1px solid var(--granite-color-border-soft)}}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
74
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GraniteTableDataCellComponent, selector: "granite-table-data-cell", inputs: { value: "value", rowIndex: "rowIndex", columnIndex: "columnIndex", row: "row", tableCellTemplateRef: "tableCellTemplateRef" }, host: { classAttribute: "granite-table-data-cell" }, usesInheritance: true, ngImport: i0, template: "<ng-template\n [ngTemplateOutlet]=\"tableCellTemplateRef || defaultTableCellTemplate\"\n [ngTemplateOutletContext]=\"{\n data: value,\n rowIndex: rowIndex,\n columnIndex: columnIndex,\n column: column,\n row: row\n }\"\n></ng-template>\n\n<ng-template #defaultTableCellTemplate>\n {{ value }}\n</ng-template>\n", styles: [".granite-table tr>td{padding:var(--granite-spacing-8);font-size:var(--granite-font-size-body-medium);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text);border-top:1px solid var(--granite-color-border-soft)}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
69
75
  }
70
76
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableDataCellComponent, decorators: [{
71
77
  type: Component,
72
78
  args: [{ selector: 'granite-table-data-cell', host: {
73
79
  class: 'granite-table-data-cell',
74
- }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template\n [ngTemplateOutlet]=\"tableCellTemplateRef || defaultTableCellTemplate\"\n [ngTemplateOutletContext]=\"{\n data: value,\n rowIndex: rowIndex,\n columnIndex: columnIndex,\n column: column,\n row: row\n }\"\n></ng-template>\n\n<ng-template #defaultTableCellTemplate>\n {{ value }}\n</ng-template>\n", styles: [".granite-table.p-datatable .p-datatable-tbody>tr>td{padding:var(--granite-spacing-8);font-size:var(--granite-font-size-body-small);line-height:var(--granite-line-height-regular);color:var(--granite-color-text);border-top:1px solid var(--granite-color-border-soft)}@media only screen and (max-width: 960px){.granite-table.p-datatable.p-datatable-responsive-stack .p-datatable-tbody>tr td{border:none}}@media only screen and (max-width: 960px){.granite-table.p-datatable.p-datatable-responsive-stack .p-datatable-tbody>tr:not(.granite-table.p-datatable.p-datatable-responsive-stack .p-datatable-tbody>tr:last-child) td{border-bottom:1px solid var(--granite-color-border-soft)}}\n"] }]
80
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template\n [ngTemplateOutlet]=\"tableCellTemplateRef || defaultTableCellTemplate\"\n [ngTemplateOutletContext]=\"{\n data: value,\n rowIndex: rowIndex,\n columnIndex: columnIndex,\n column: column,\n row: row\n }\"\n></ng-template>\n\n<ng-template #defaultTableCellTemplate>\n {{ value }}\n</ng-template>\n", styles: [".granite-table tr>td{padding:var(--granite-spacing-8);font-size:var(--granite-font-size-body-medium);font-weight:var(--granite-font-weight-regular);line-height:var(--granite-line-height-flowing);color:var(--granite-color-text);border-top:1px solid var(--granite-color-border-soft)}\n"] }]
75
81
  }], propDecorators: { value: [{
76
82
  type: Input
77
83
  }], rowIndex: [{
@@ -86,32 +92,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
86
92
 
87
93
  class GraniteCellAlignClassesDirective {
88
94
  constructor() {
89
- this.rightAlign = false;
90
- this.centerAlign = false;
95
+ this.textAlign = 'center';
91
96
  }
92
- ngOnChanges(changes) {
93
- if (changes.graniteCellAlignClasses &&
94
- changes.graniteCellAlignClasses.currentValue != null) {
95
- if (this.graniteCellAlignClasses.includes(GraniteTableCellConstants.RIGHT_ALIGN) ||
96
- (Array.isArray(this.graniteCellAlignClasses) &&
97
- this.graniteCellAlignClasses.includes(GraniteTableCellConstants.RIGHT_ALIGN))) {
98
- this.rightAlign = true;
99
- this.centerAlign = false;
100
- }
101
- else if (this.graniteCellAlignClasses.includes(GraniteTableCellConstants.CENTER_ALIGN) ||
102
- (Array.isArray(this.graniteCellAlignClasses) &&
103
- this.graniteCellAlignClasses.includes(GraniteTableCellConstants.CENTER_ALIGN))) {
104
- this.centerAlign = true;
105
- this.rightAlign = false;
106
- }
107
- else {
108
- this.centerAlign = false;
109
- this.rightAlign = false;
110
- }
111
- }
97
+ get alignmentClass() {
98
+ return `granite-table-cell-${this.textAlign ? this.textAlign : 'center'}-align`;
112
99
  }
113
100
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteCellAlignClassesDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
114
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: GraniteCellAlignClassesDirective, selector: "[graniteCellAlignClasses]", inputs: { graniteCellAlignClasses: "graniteCellAlignClasses" }, host: { properties: { "class.granite-table-cell-right-align": "this.rightAlign", "class.granite-table-cell-center-align": "this.centerAlign" } }, usesOnChanges: true, ngImport: i0 }); }
101
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: GraniteCellAlignClassesDirective, selector: "[graniteCellAlignClasses]", inputs: { graniteCellAlignClasses: "graniteCellAlignClasses", textAlign: "textAlign" }, host: { properties: { "class": "this.alignmentClass" } }, ngImport: i0 }); }
115
102
  }
116
103
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteCellAlignClassesDirective, decorators: [{
117
104
  type: Directive,
@@ -120,38 +107,76 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
120
107
  }]
121
108
  }], propDecorators: { graniteCellAlignClasses: [{
122
109
  type: Input
123
- }], rightAlign: [{
110
+ }], textAlign: [{
111
+ type: Input
112
+ }], alignmentClass: [{
124
113
  type: HostBinding,
125
- args: ['class.granite-table-cell-right-align']
126
- }], centerAlign: [{
114
+ args: ['class']
115
+ }] } });
116
+
117
+ class GraniteColumnSizeDirective {
118
+ constructor() {
119
+ this.graniteColumnSize = 'medium';
120
+ this.sizeMap = {
121
+ small: 'sm',
122
+ medium: 'md',
123
+ large: 'lg',
124
+ };
125
+ }
126
+ get columnSizeClass() {
127
+ return `column-size-${this.sizeMap[this.graniteColumnSize]}`;
128
+ }
129
+ ngOnChanges() {
130
+ if (!this.graniteColumnSize || !this.sizeMap[this.graniteColumnSize]) {
131
+ this.graniteColumnSize = 'small';
132
+ }
133
+ }
134
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteColumnSizeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
135
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: GraniteColumnSizeDirective, selector: "[graniteColumnSize]", inputs: { graniteColumnSize: "graniteColumnSize" }, host: { properties: { "class": "this.columnSizeClass" } }, usesOnChanges: true, ngImport: i0 }); }
136
+ }
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteColumnSizeDirective, decorators: [{
138
+ type: Directive,
139
+ args: [{
140
+ selector: '[graniteColumnSize]',
141
+ }]
142
+ }], propDecorators: { graniteColumnSize: [{
143
+ type: Input
144
+ }], columnSizeClass: [{
127
145
  type: HostBinding,
128
- args: ['class.granite-table-cell-center-align']
146
+ args: ['class']
129
147
  }] } });
130
148
 
131
149
  class GraniteTableComponent {
132
- constructor() {
150
+ constructor(cd) {
151
+ this.cd = cd;
133
152
  this.dataSource = [];
134
- this.layout = 'stack';
135
- this.styleClass = GraniteTableConstants.STYLE_CLASS;
153
+ this.horizontalScroll = false;
136
154
  this.cellIdPrefix = GraniteTableCellConstants.CELL_ID_PREFIX;
137
155
  }
138
- ngAfterContentInit() {
139
- this._columns = this.tableColumnsComponent.toArray();
156
+ ngAfterContentChecked() {
157
+ this.refreshData();
158
+ this.cd.markForCheck();
140
159
  }
141
160
  _trackColumnName(index, column) {
142
161
  return column.name;
143
162
  }
144
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
145
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GraniteTableComponent, selector: "granite-table", inputs: { dataSource: "dataSource", trackBy: "trackBy", layout: "layout" }, queries: [{ propertyName: "tableColumnsComponent", predicate: GraniteTableColumnDirective }], ngImport: i0, template: "<!-- [tableStyle]=\"{ width: '100%' }\" given to have equal width column -->\n<p-table\n [value]=\"dataSource\"\n [rowTrackBy]=\"trackBy\"\n [responsiveLayout]=\"layout\"\n [tableStyle]=\"{ width: '100%' }\"\n [styleClass]=\"styleClass\"\n>\n <ng-template pTemplate=\"header\">\n <tr data-granite-table-header-row>\n <ng-container *ngFor=\"let column of _columns; trackBy: _trackColumnName\"\n ><th\n [attr.data-granite-table-header-cell]=\"column.name\"\n graniteTableHeaderCell\n [graniteCellAlignClasses]=\"column.headerClass\"\n >\n {{ column.title ?? column.name | graniteTitle }}\n </th></ng-container\n >\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-row let-rowIndex=\"rowIndex\">\n <tr data-granite-table-row>\n <ng-container\n *ngFor=\"\n let column of _columns;\n trackBy: _trackColumnName;\n let columnIndex = index\n \"\n >\n <td\n [attr.data-granite-table-cell]=\"column.name\"\n [graniteCellAlignClasses]=\"column.class\"\n [id]=\"cellIdPrefix + '-' + rowIndex + '-' + columnIndex\"\n >\n <granite-table-data-cell\n [id]=\"cellIdPrefix + '-' + rowIndex + '-' + columnIndex\"\n [value]=\"row[column.name]\"\n [row]=\"row\"\n [column]=\"column\"\n [rowIndex]=\"rowIndex\"\n [columnIndex]=\"columnIndex\"\n [tableCellTemplateRef]=\"column.tableCellTemplateRef\"\n ></granite-table-data-cell>\n </td>\n </ng-container>\n </tr>\n </ng-template>\n</p-table>\n", styles: [".granite-table.p-datatable .p-datatable-tbody>tr>td.granite-table-cell-right-align,.granite-table.p-datatable .p-datatable-thead>tr>th.granite-table-cell-right-align{text-align:end}.granite-table.p-datatable .p-datatable-tbody>tr>td.granite-table-cell-center-align,.granite-table.p-datatable .p-datatable-thead>tr>th.granite-table-cell-center-align{text-align:center}.granite-table.p-datatable.p-component{font-family:inherit;font-weight:inherit;font-size:inherit}.granite-table.p-datatable .p-datatable-tbody>tr{background:var(--granite-color-background-variant)}.granite-table.p-datatable .p-datatable-thead>tr,.granite-table.p-datatable .p-datatable-tbody>tr{height:2.5rem}.granite-table.p-datatable .p-datatable-thead>tr>th,.granite-table.p-datatable .p-datatable-tbody>tr>td{border:none;border-width:0}.granite-table .p-datatable-table{overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: GraniteTableHeaderCellComponent, selector: "th[graniteTableHeaderCell]" }, { kind: "component", type: GraniteTableDataCellComponent, selector: "granite-table-data-cell", inputs: ["value", "rowIndex", "columnIndex", "row", "tableCellTemplateRef"] }, { kind: "directive", type: GraniteCellAlignClassesDirective, selector: "[graniteCellAlignClasses]", inputs: ["graniteCellAlignClasses"] }, { kind: "pipe", type: i7.GraniteTitlePipe, name: "graniteTitle" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
163
+ refreshData() {
164
+ this._columns = this.tableColumnsComponent.toArray();
165
+ this._displayedColumns = this.tableColumnsComponent
166
+ .toArray()
167
+ .map((c) => c.name);
168
+ }
169
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
170
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GraniteTableComponent, selector: "granite-table", inputs: { dataSource: "dataSource", horizontalScroll: "horizontalScroll", trackBy: "trackBy" }, queries: [{ propertyName: "tableColumnsComponent", predicate: GraniteTableColumnDirective }], ngImport: i0, template: "<div\n class=\"cdk-table-wrapper\"\n data-fnd=\"granite-table-wrapper\"\n [class.horizontal-scroll]=\"horizontalScroll\"\n>\n <table\n class=\"granite-table\"\n cdk-table\n [dataSource]=\"dataSource\"\n [trackBy]=\"trackBy\"\n >\n <ng-container\n *ngFor=\"\n let column of _columns;\n trackBy: _trackColumnName;\n let columnIndex = index\n \"\n [cdkColumnDef]=\"column.name\"\n >\n <th\n tabindex=\"0\"\n cdk-header-cell\n *cdkHeaderCellDef\n data-fnd=\"data-granite-table-header-cell\"\n [graniteColumnSize]=\"column.size\"\n [attr.data-granite-table-header-cell]=\"column.name\"\n graniteTableHeaderCell\n graniteCellAlignClasses\n [textAlign]=\"column.textAlign\"\n [class]=\"column.headerClass\"\n >\n {{ column.title ?? column.name | graniteTitle }}\n </th>\n\n <td\n tabindex=\"0\"\n cdk-cell\n *cdkCellDef=\"let row; let rowIndex = index\"\n data-fnd=\"data-granite-table-row-cell\"\n [attr.data-granite-table-cell]=\"column.name\"\n [graniteColumnSize]=\"column.size\"\n graniteCellAlignClasses\n [textAlign]=\"column.textAlign\"\n [class]=\"column.class\"\n [id]=\"cellIdPrefix + '-' + rowIndex + '-' + columnIndex\"\n >\n <granite-table-data-cell\n [value]=\"row[column.name]\"\n [row]=\"row\"\n [column]=\"column\"\n [rowIndex]=\"rowIndex\"\n [columnIndex]=\"columnIndex\"\n [tableCellTemplateRef]=\"column.tableCellTemplateRef\"\n ></granite-table-data-cell>\n </td>\n </ng-container>\n\n <tr\n tabindex=\"0\"\n cdk-header-row\n *cdkHeaderRowDef=\"_displayedColumns\"\n data-fnd=\"data-granite-table-header\"\n ></tr>\n <tr\n tabindex=\"0\"\n cdk-row\n *cdkRowDef=\"let row; columns: _displayedColumns\"\n data-fnd=\"data-granite-table-row\"\n ></tr>\n </table>\n</div>\n", styles: [".granite-table tr>td.granite-table-cell-center-align,.granite-table tr>th.granite-table-cell-center-align{text-align:center}.granite-table tr>td.granite-table-cell-start-align,.granite-table tr>th.granite-table-cell-start-align{text-align:start}.granite-table tr>td.granite-table-cell-end-align,.granite-table tr>th.granite-table-cell-end-align{text-align:end}.granite-table [cdk-header-cell].column-size-sm,.granite-table [cdk-cell].column-size-sm{padding:.375rem .5rem}.granite-table [cdk-header-cell].column-size-md,.granite-table [cdk-cell].column-size-md{padding:.75rem 1rem}.granite-table [cdk-header-cell].column-size-lg,.granite-table [cdk-cell].column-size-lg{padding:.9375rem 1.25rem}.cdk-table-wrapper{width:100%;overflow-x:hidden}.cdk-table-wrapper .cdk-table{width:100%;border-spacing:0;white-space:nowrap}.cdk-table-wrapper .cdk-table .cdk-header-row,.cdk-table-wrapper .cdk-table cdk-cell{height:2.5rem}.cdk-table-wrapper .cdk-table .cdk-cell{background:var(--granite-color-background-variant)}.cdk-table-wrapper .cdk-table .cdk-header-cell,.cdk-table-wrapper .cdk-table cdk-cell{border:none;border-width:0}.cdk-table-wrapper .cdk-table .cdk-row,.cdk-table-wrapper .cdk-table .cdk-header-row{background:var(--granite-color-background-variant);height:2.5rem}.horizontal-scroll{overflow-x:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.CdkTable, selector: "cdk-table, table[cdk-table]", inputs: ["trackBy", "dataSource", "multiTemplateDataRows", "fixedLayout"], outputs: ["contentChanged"], exportAs: ["cdkTable"] }, { kind: "directive", type: i2.CdkRowDef, selector: "[cdkRowDef]", inputs: ["cdkRowDefColumns", "cdkRowDefWhen"] }, { kind: "directive", type: i2.CdkCellDef, selector: "[cdkCellDef]" }, { kind: "directive", type: i2.CdkHeaderCellDef, selector: "[cdkHeaderCellDef]" }, { kind: "directive", type: i2.CdkColumnDef, selector: "[cdkColumnDef]", inputs: ["sticky", "cdkColumnDef", "stickyEnd"] }, { kind: "directive", type: i2.CdkCell, selector: "cdk-cell, td[cdk-cell]" }, { kind: "component", type: i2.CdkRow, selector: "cdk-row, tr[cdk-row]" }, { kind: "directive", type: i2.CdkHeaderCell, selector: "cdk-header-cell, th[cdk-header-cell]" }, { kind: "component", type: i2.CdkHeaderRow, selector: "cdk-header-row, tr[cdk-header-row]" }, { kind: "directive", type: i2.CdkHeaderRowDef, selector: "[cdkHeaderRowDef]", inputs: ["cdkHeaderRowDef", "cdkHeaderRowDefSticky"] }, { kind: "component", type: GraniteTableHeaderCellComponent, selector: "th[graniteTableHeaderCell]" }, { kind: "component", type: GraniteTableDataCellComponent, selector: "granite-table-data-cell", inputs: ["value", "rowIndex", "columnIndex", "row", "tableCellTemplateRef"] }, { kind: "directive", type: GraniteCellAlignClassesDirective, selector: "[graniteCellAlignClasses]", inputs: ["graniteCellAlignClasses", "textAlign"] }, { kind: "directive", type: GraniteColumnSizeDirective, selector: "[graniteColumnSize]", inputs: ["graniteColumnSize"] }, { kind: "pipe", type: i7.GraniteTitlePipe, name: "graniteTitle" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
146
171
  }
147
172
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableComponent, decorators: [{
148
173
  type: Component,
149
- args: [{ selector: 'granite-table', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- [tableStyle]=\"{ width: '100%' }\" given to have equal width column -->\n<p-table\n [value]=\"dataSource\"\n [rowTrackBy]=\"trackBy\"\n [responsiveLayout]=\"layout\"\n [tableStyle]=\"{ width: '100%' }\"\n [styleClass]=\"styleClass\"\n>\n <ng-template pTemplate=\"header\">\n <tr data-granite-table-header-row>\n <ng-container *ngFor=\"let column of _columns; trackBy: _trackColumnName\"\n ><th\n [attr.data-granite-table-header-cell]=\"column.name\"\n graniteTableHeaderCell\n [graniteCellAlignClasses]=\"column.headerClass\"\n >\n {{ column.title ?? column.name | graniteTitle }}\n </th></ng-container\n >\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-row let-rowIndex=\"rowIndex\">\n <tr data-granite-table-row>\n <ng-container\n *ngFor=\"\n let column of _columns;\n trackBy: _trackColumnName;\n let columnIndex = index\n \"\n >\n <td\n [attr.data-granite-table-cell]=\"column.name\"\n [graniteCellAlignClasses]=\"column.class\"\n [id]=\"cellIdPrefix + '-' + rowIndex + '-' + columnIndex\"\n >\n <granite-table-data-cell\n [id]=\"cellIdPrefix + '-' + rowIndex + '-' + columnIndex\"\n [value]=\"row[column.name]\"\n [row]=\"row\"\n [column]=\"column\"\n [rowIndex]=\"rowIndex\"\n [columnIndex]=\"columnIndex\"\n [tableCellTemplateRef]=\"column.tableCellTemplateRef\"\n ></granite-table-data-cell>\n </td>\n </ng-container>\n </tr>\n </ng-template>\n</p-table>\n", styles: [".granite-table.p-datatable .p-datatable-tbody>tr>td.granite-table-cell-right-align,.granite-table.p-datatable .p-datatable-thead>tr>th.granite-table-cell-right-align{text-align:end}.granite-table.p-datatable .p-datatable-tbody>tr>td.granite-table-cell-center-align,.granite-table.p-datatable .p-datatable-thead>tr>th.granite-table-cell-center-align{text-align:center}.granite-table.p-datatable.p-component{font-family:inherit;font-weight:inherit;font-size:inherit}.granite-table.p-datatable .p-datatable-tbody>tr{background:var(--granite-color-background-variant)}.granite-table.p-datatable .p-datatable-thead>tr,.granite-table.p-datatable .p-datatable-tbody>tr{height:2.5rem}.granite-table.p-datatable .p-datatable-thead>tr>th,.granite-table.p-datatable .p-datatable-tbody>tr>td{border:none;border-width:0}.granite-table .p-datatable-table{overflow:hidden}\n"] }]
150
- }], propDecorators: { dataSource: [{
174
+ args: [{ selector: 'granite-table', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"cdk-table-wrapper\"\n data-fnd=\"granite-table-wrapper\"\n [class.horizontal-scroll]=\"horizontalScroll\"\n>\n <table\n class=\"granite-table\"\n cdk-table\n [dataSource]=\"dataSource\"\n [trackBy]=\"trackBy\"\n >\n <ng-container\n *ngFor=\"\n let column of _columns;\n trackBy: _trackColumnName;\n let columnIndex = index\n \"\n [cdkColumnDef]=\"column.name\"\n >\n <th\n tabindex=\"0\"\n cdk-header-cell\n *cdkHeaderCellDef\n data-fnd=\"data-granite-table-header-cell\"\n [graniteColumnSize]=\"column.size\"\n [attr.data-granite-table-header-cell]=\"column.name\"\n graniteTableHeaderCell\n graniteCellAlignClasses\n [textAlign]=\"column.textAlign\"\n [class]=\"column.headerClass\"\n >\n {{ column.title ?? column.name | graniteTitle }}\n </th>\n\n <td\n tabindex=\"0\"\n cdk-cell\n *cdkCellDef=\"let row; let rowIndex = index\"\n data-fnd=\"data-granite-table-row-cell\"\n [attr.data-granite-table-cell]=\"column.name\"\n [graniteColumnSize]=\"column.size\"\n graniteCellAlignClasses\n [textAlign]=\"column.textAlign\"\n [class]=\"column.class\"\n [id]=\"cellIdPrefix + '-' + rowIndex + '-' + columnIndex\"\n >\n <granite-table-data-cell\n [value]=\"row[column.name]\"\n [row]=\"row\"\n [column]=\"column\"\n [rowIndex]=\"rowIndex\"\n [columnIndex]=\"columnIndex\"\n [tableCellTemplateRef]=\"column.tableCellTemplateRef\"\n ></granite-table-data-cell>\n </td>\n </ng-container>\n\n <tr\n tabindex=\"0\"\n cdk-header-row\n *cdkHeaderRowDef=\"_displayedColumns\"\n data-fnd=\"data-granite-table-header\"\n ></tr>\n <tr\n tabindex=\"0\"\n cdk-row\n *cdkRowDef=\"let row; columns: _displayedColumns\"\n data-fnd=\"data-granite-table-row\"\n ></tr>\n </table>\n</div>\n", styles: [".granite-table tr>td.granite-table-cell-center-align,.granite-table tr>th.granite-table-cell-center-align{text-align:center}.granite-table tr>td.granite-table-cell-start-align,.granite-table tr>th.granite-table-cell-start-align{text-align:start}.granite-table tr>td.granite-table-cell-end-align,.granite-table tr>th.granite-table-cell-end-align{text-align:end}.granite-table [cdk-header-cell].column-size-sm,.granite-table [cdk-cell].column-size-sm{padding:.375rem .5rem}.granite-table [cdk-header-cell].column-size-md,.granite-table [cdk-cell].column-size-md{padding:.75rem 1rem}.granite-table [cdk-header-cell].column-size-lg,.granite-table [cdk-cell].column-size-lg{padding:.9375rem 1.25rem}.cdk-table-wrapper{width:100%;overflow-x:hidden}.cdk-table-wrapper .cdk-table{width:100%;border-spacing:0;white-space:nowrap}.cdk-table-wrapper .cdk-table .cdk-header-row,.cdk-table-wrapper .cdk-table cdk-cell{height:2.5rem}.cdk-table-wrapper .cdk-table .cdk-cell{background:var(--granite-color-background-variant)}.cdk-table-wrapper .cdk-table .cdk-header-cell,.cdk-table-wrapper .cdk-table cdk-cell{border:none;border-width:0}.cdk-table-wrapper .cdk-table .cdk-row,.cdk-table-wrapper .cdk-table .cdk-header-row{background:var(--granite-color-background-variant);height:2.5rem}.horizontal-scroll{overflow-x:auto}\n"] }]
175
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { dataSource: [{
151
176
  type: Input
152
- }], trackBy: [{
177
+ }], horizontalScroll: [{
153
178
  type: Input
154
- }], layout: [{
179
+ }], trackBy: [{
155
180
  type: Input
156
181
  }], tableColumnsComponent: [{
157
182
  type: ContentChildren,
@@ -164,19 +189,21 @@ class GraniteTableModule {
164
189
  GraniteTableColumnDirective,
165
190
  GraniteTableHeaderCellComponent,
166
191
  GraniteTableDataCellComponent,
167
- GraniteCellAlignClassesDirective], imports: [CommonModule, TableModule, PurePipesModule], exports: [GraniteTableComponent, GraniteTableColumnDirective] }); }
168
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableModule, imports: [CommonModule, TableModule, PurePipesModule] }); }
192
+ GraniteCellAlignClassesDirective,
193
+ GraniteColumnSizeDirective], imports: [CommonModule, TableModule, PurePipesModule, CdkTableModule], exports: [GraniteTableComponent, GraniteTableColumnDirective] }); }
194
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableModule, imports: [CommonModule, TableModule, PurePipesModule, CdkTableModule] }); }
169
195
  }
170
196
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableModule, decorators: [{
171
197
  type: NgModule,
172
198
  args: [{
173
- imports: [CommonModule, TableModule, PurePipesModule],
199
+ imports: [CommonModule, TableModule, PurePipesModule, CdkTableModule],
174
200
  declarations: [
175
201
  GraniteTableComponent,
176
202
  GraniteTableColumnDirective,
177
203
  GraniteTableHeaderCellComponent,
178
204
  GraniteTableDataCellComponent,
179
205
  GraniteCellAlignClassesDirective,
206
+ GraniteColumnSizeDirective,
180
207
  ],
181
208
  exports: [GraniteTableComponent, GraniteTableColumnDirective],
182
209
  }]
@@ -1 +1 @@
1
- {"version":3,"file":"ifsworld-granite-components-table.mjs","sources":["../../../../libs/granite-components/table/src/lib/column/table-column.directive.ts","../../../../libs/granite-components/table/src/lib/table-constants.library.ts","../../../../libs/granite-components/table/src/lib/cell/cell.ts","../../../../libs/granite-components/table/src/lib/cell/table-header-cell.component.ts","../../../../libs/granite-components/table/src/lib/cell/table-data-cell.component.ts","../../../../libs/granite-components/table/src/lib/cell/table-data-cell.component.html","../../../../libs/granite-components/table/src/lib/cell/cell-align/cell-align-classes.directive.ts","../../../../libs/granite-components/table/src/lib/table.component.ts","../../../../libs/granite-components/table/src/lib/table.component.html","../../../../libs/granite-components/table/src/lib/table.module.ts","../../../../libs/granite-components/table/src/ifsworld-granite-components-table.ts"],"sourcesContent":["import { ContentChild, Directive, Input, TemplateRef } from '@angular/core';\n\nexport interface GraniteTableColumnInterface {\n name: string;\n title?: string;\n class?: string | string[];\n headerClass?: string | string[];\n}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'granite-table-column',\n})\nexport class GraniteTableColumnDirective\n implements GraniteTableColumnInterface\n{\n @Input()\n name: string;\n\n @Input()\n title?: string;\n\n @Input()\n class?: string | string[];\n\n @Input()\n headerClass?: string | string[];\n\n @ContentChild('graniteTableCellTemplate', { static: false })\n tableCellTemplateRef: TemplateRef<any>;\n}\n","export class GraniteTableCellConstants {\n static readonly CELL_ID_PREFIX: string = 'granite-cell';\n static readonly RIGHT_ALIGN: string = 'granite-right-align';\n static readonly CENTER_ALIGN: string = 'granite-center-align';\n}\n\nexport class GraniteTableConstants {\n static readonly STYLE_CLASS: string = 'granite-table';\n}\n","import { Directive, Input } from '@angular/core';\n\nimport { GraniteTableColumnDirective } from '../column/table-column.directive';\n\n@Directive()\nexport abstract class GraniteCell {\n @Input()\n id: string;\n\n @Input()\n column: GraniteTableColumnDirective;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { GraniteCell } from './cell';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'th[graniteTableHeaderCell]',\n template: '<ng-content></ng-content>',\n styleUrls: ['./table-header-cell.component.scss'],\n host: {\n class: 'granite-table-header-cell',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GraniteTableHeaderCellComponent extends GraniteCell {}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { GraniteCell } from './cell';\n\n@Component({\n selector: 'granite-table-data-cell',\n templateUrl: './table-data-cell.component.html',\n styleUrls: ['./table-data-cell.component.scss'],\n host: {\n class: 'granite-table-data-cell',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GraniteTableDataCellComponent extends GraniteCell {\n @Input()\n value: any;\n\n @Input()\n rowIndex: number;\n\n @Input()\n columnIndex: number;\n\n @Input()\n row: any;\n\n // Custom template provided by the consumer\n @Input()\n tableCellTemplateRef: TemplateRef<any>;\n}\n","<ng-template\n [ngTemplateOutlet]=\"tableCellTemplateRef || defaultTableCellTemplate\"\n [ngTemplateOutletContext]=\"{\n data: value,\n rowIndex: rowIndex,\n columnIndex: columnIndex,\n column: column,\n row: row\n }\"\n></ng-template>\n\n<ng-template #defaultTableCellTemplate>\n {{ value }}\n</ng-template>\n","import {\n Directive,\n HostBinding,\n Input,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\n\nimport { GraniteTableCellConstants } from '../../table-constants.library';\n\n@Directive({\n selector: '[graniteCellAlignClasses]',\n})\nexport class GraniteCellAlignClassesDirective implements OnChanges {\n @Input()\n graniteCellAlignClasses?: string | string[];\n\n @HostBinding('class.granite-table-cell-right-align')\n rightAlign: boolean = false;\n\n @HostBinding('class.granite-table-cell-center-align')\n centerAlign: boolean = false;\n\n ngOnChanges(changes: SimpleChanges): void {\n if (\n changes.graniteCellAlignClasses &&\n changes.graniteCellAlignClasses.currentValue != null\n ) {\n if (\n this.graniteCellAlignClasses.includes(\n GraniteTableCellConstants.RIGHT_ALIGN\n ) ||\n (Array.isArray(this.graniteCellAlignClasses) &&\n this.graniteCellAlignClasses.includes(\n GraniteTableCellConstants.RIGHT_ALIGN\n ))\n ) {\n this.rightAlign = true;\n this.centerAlign = false;\n } else if (\n this.graniteCellAlignClasses.includes(\n GraniteTableCellConstants.CENTER_ALIGN\n ) ||\n (Array.isArray(this.graniteCellAlignClasses) &&\n this.graniteCellAlignClasses.includes(\n GraniteTableCellConstants.CENTER_ALIGN\n ))\n ) {\n this.centerAlign = true;\n this.rightAlign = false;\n } else {\n this.centerAlign = false;\n this.rightAlign = false;\n }\n }\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Input,\n QueryList,\n TrackByFunction,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { GraniteTableColumnDirective } from './column/table-column.directive';\nimport {\n GraniteTableCellConstants,\n GraniteTableConstants,\n} from './table-constants.library';\nimport { ResponsiveLayout } from './table.types';\n\n@Component({\n selector: 'granite-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GraniteTableComponent<T> implements AfterContentInit {\n @Input()\n dataSource: any[] = [];\n\n @Input()\n trackBy: TrackByFunction<T>;\n\n @Input()\n layout: ResponsiveLayout = 'stack';\n\n @ContentChildren(GraniteTableColumnDirective)\n tableColumnsComponent: QueryList<GraniteTableColumnDirective>;\n\n readonly styleClass = GraniteTableConstants.STYLE_CLASS;\n readonly cellIdPrefix = GraniteTableCellConstants.CELL_ID_PREFIX;\n\n _columns: GraniteTableColumnDirective[];\n\n ngAfterContentInit(): void {\n this._columns = this.tableColumnsComponent.toArray();\n }\n\n _trackColumnName(index: number, column: GraniteTableColumnDirective): string {\n return column.name;\n }\n}\n","<!-- [tableStyle]=\"{ width: '100%' }\" given to have equal width column -->\n<p-table\n [value]=\"dataSource\"\n [rowTrackBy]=\"trackBy\"\n [responsiveLayout]=\"layout\"\n [tableStyle]=\"{ width: '100%' }\"\n [styleClass]=\"styleClass\"\n>\n <ng-template pTemplate=\"header\">\n <tr data-granite-table-header-row>\n <ng-container *ngFor=\"let column of _columns; trackBy: _trackColumnName\"\n ><th\n [attr.data-granite-table-header-cell]=\"column.name\"\n graniteTableHeaderCell\n [graniteCellAlignClasses]=\"column.headerClass\"\n >\n {{ column.title ?? column.name | graniteTitle }}\n </th></ng-container\n >\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-row let-rowIndex=\"rowIndex\">\n <tr data-granite-table-row>\n <ng-container\n *ngFor=\"\n let column of _columns;\n trackBy: _trackColumnName;\n let columnIndex = index\n \"\n >\n <td\n [attr.data-granite-table-cell]=\"column.name\"\n [graniteCellAlignClasses]=\"column.class\"\n [id]=\"cellIdPrefix + '-' + rowIndex + '-' + columnIndex\"\n >\n <granite-table-data-cell\n [id]=\"cellIdPrefix + '-' + rowIndex + '-' + columnIndex\"\n [value]=\"row[column.name]\"\n [row]=\"row\"\n [column]=\"column\"\n [rowIndex]=\"rowIndex\"\n [columnIndex]=\"columnIndex\"\n [tableCellTemplateRef]=\"column.tableCellTemplateRef\"\n ></granite-table-data-cell>\n </td>\n </ng-container>\n </tr>\n </ng-template>\n</p-table>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TableModule } from 'primeng/table';\n\nimport { PurePipesModule } from '@ifsworld/granite-components';\n\nimport { GraniteTableComponent } from './table.component';\nimport { GraniteTableColumnDirective } from './column/table-column.directive';\nimport { GraniteTableHeaderCellComponent } from './cell/table-header-cell.component';\nimport { GraniteTableDataCellComponent } from './cell/table-data-cell.component';\nimport { GraniteCellAlignClassesDirective } from './cell/cell-align/cell-align-classes.directive';\n\n@NgModule({\n imports: [CommonModule, TableModule, PurePipesModule],\n declarations: [\n GraniteTableComponent,\n GraniteTableColumnDirective,\n GraniteTableHeaderCellComponent,\n GraniteTableDataCellComponent,\n GraniteCellAlignClassesDirective,\n ],\n exports: [GraniteTableComponent, GraniteTableColumnDirective],\n})\nexport class GraniteTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4.GraniteTableHeaderCellComponent","i5.GraniteTableDataCellComponent","i6.GraniteCellAlignClassesDirective"],"mappings":"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"}
1
+ {"version":3,"file":"ifsworld-granite-components-table.mjs","sources":["../../../../libs/granite-components/table/src/lib/column/table-column.directive.ts","../../../../libs/granite-components/table/src/lib/table-constants.library.ts","../../../../libs/granite-components/table/src/lib/cell/cell.ts","../../../../libs/granite-components/table/src/lib/cell/table-header-cell.component.ts","../../../../libs/granite-components/table/src/lib/cell/table-data-cell.component.ts","../../../../libs/granite-components/table/src/lib/cell/table-data-cell.component.html","../../../../libs/granite-components/table/src/lib/cell/cell-align/cell-align-classes.directive.ts","../../../../libs/granite-components/table/src/lib/column-size/column-size.directive.ts","../../../../libs/granite-components/table/src/lib/table.component.ts","../../../../libs/granite-components/table/src/lib/table.component.html","../../../../libs/granite-components/table/src/lib/table.module.ts","../../../../libs/granite-components/table/src/ifsworld-granite-components-table.ts"],"sourcesContent":["import { ContentChild, Directive, Input, TemplateRef } from '@angular/core';\n\nexport type GranitTableColumnAlign = 'start' | 'center' | 'end';\nexport type GranitTableColumnSize = 'small' | 'medium' | 'large';\n\nexport interface GraniteTableColumnInterface {\n name: string;\n title?: string;\n class?: string | string[];\n headerClass?: string | string[];\n textAlign?: GranitTableColumnAlign;\n size?: GranitTableColumnSize;\n}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'granite-table-column',\n})\nexport class GraniteTableColumnDirective\n implements GraniteTableColumnInterface\n{\n @Input()\n name: string;\n\n @Input()\n title?: string;\n\n @Input()\n class?: string | string[];\n\n @Input()\n headerClass?: string | string[];\n\n @Input() textAlign: GranitTableColumnAlign = 'center';\n\n @Input() size: GranitTableColumnSize = 'small';\n\n @ContentChild('graniteTableCellTemplate', { static: false })\n tableCellTemplateRef: TemplateRef<any>;\n}\n","export class GraniteTableCellConstants {\n static readonly CELL_ID_PREFIX: string = 'granite-cell';\n static readonly START_ALIGN: string = 'granite-table-cell-start-align';\n static readonly CENTER_ALIGN: string = 'granite-table-cell-center-align';\n static readonly END_ALIGN: string = 'granite-table-cell-end-align';\n}\n","import { Directive, Input } from '@angular/core';\n\nimport { GraniteTableColumnDirective } from '../column/table-column.directive';\n\n@Directive()\nexport abstract class GraniteCell {\n @Input()\n id: string;\n\n @Input()\n column: GraniteTableColumnDirective;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { GraniteCell } from './cell';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'th[graniteTableHeaderCell]',\n template: '<ng-content></ng-content>',\n styleUrls: ['./table-header-cell.component.scss'],\n host: {\n class: 'granite-table-header-cell',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GraniteTableHeaderCellComponent extends GraniteCell {}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { GraniteCell } from './cell';\n\n@Component({\n selector: 'granite-table-data-cell',\n templateUrl: './table-data-cell.component.html',\n styleUrls: ['./table-data-cell.component.scss'],\n host: {\n class: 'granite-table-data-cell',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GraniteTableDataCellComponent extends GraniteCell {\n @Input()\n value: any;\n\n @Input()\n rowIndex: number;\n\n @Input()\n columnIndex: number;\n\n @Input()\n row: any;\n\n // Custom template provided by the consumer\n @Input()\n tableCellTemplateRef: TemplateRef<any>;\n}\n","<ng-template\n [ngTemplateOutlet]=\"tableCellTemplateRef || defaultTableCellTemplate\"\n [ngTemplateOutletContext]=\"{\n data: value,\n rowIndex: rowIndex,\n columnIndex: columnIndex,\n column: column,\n row: row\n }\"\n></ng-template>\n\n<ng-template #defaultTableCellTemplate>\n {{ value }}\n</ng-template>\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { GranitTableColumnAlign } from '../../column/table-column.directive';\n\n@Directive({\n selector: '[graniteCellAlignClasses]',\n})\nexport class GraniteCellAlignClassesDirective {\n @Input() graniteCellAlignClasses?: string | string[];\n @Input() textAlign: GranitTableColumnAlign = 'center';\n\n @HostBinding('class') get alignmentClass(): string {\n return `granite-table-cell-${\n this.textAlign ? this.textAlign : 'center'\n }-align`;\n }\n}\n","import { Directive, HostBinding, Input, OnChanges } from '@angular/core';\nimport { GranitTableColumnSize } from '../column/table-column.directive';\n\n@Directive({\n selector: '[graniteColumnSize]',\n})\nexport class GraniteColumnSizeDirective implements OnChanges {\n @Input() graniteColumnSize: GranitTableColumnSize = 'medium';\n\n @HostBinding('class') get columnSizeClass(): string {\n return `column-size-${this.sizeMap[this.graniteColumnSize]}`;\n }\n\n private readonly sizeMap: Record<GranitTableColumnSize, string> = {\n small: 'sm',\n medium: 'md',\n large: 'lg',\n } as const;\n\n ngOnChanges(): void {\n if (!this.graniteColumnSize || !this.sizeMap[this.graniteColumnSize]) {\n this.graniteColumnSize = 'small';\n }\n }\n}\n","import {\n AfterContentChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Input,\n QueryList,\n TrackByFunction,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { GraniteTableColumnDirective } from './column/table-column.directive';\nimport { GraniteTableCellConstants } from './table-constants.library';\n\n@Component({\n selector: 'granite-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GraniteTableComponent<T> implements AfterContentChecked {\n @Input()\n dataSource: any[] = [];\n\n @Input()\n horizontalScroll = false;\n\n @Input()\n trackBy: TrackByFunction<T>;\n\n @ContentChildren(GraniteTableColumnDirective)\n tableColumnsComponent: QueryList<GraniteTableColumnDirective>;\n\n readonly cellIdPrefix = GraniteTableCellConstants.CELL_ID_PREFIX;\n\n _columns: GraniteTableColumnDirective[];\n _displayedColumns: string[];\n\n constructor(private cd: ChangeDetectorRef) {}\n\n ngAfterContentChecked(): void {\n this.refreshData();\n this.cd.markForCheck();\n }\n\n _trackColumnName(index: number, column: GraniteTableColumnDirective): string {\n return column.name;\n }\n\n private refreshData(): void {\n this._columns = this.tableColumnsComponent.toArray();\n this._displayedColumns = this.tableColumnsComponent\n .toArray()\n .map((c) => c.name);\n }\n}\n","<div\n class=\"cdk-table-wrapper\"\n data-fnd=\"granite-table-wrapper\"\n [class.horizontal-scroll]=\"horizontalScroll\"\n>\n <table\n class=\"granite-table\"\n cdk-table\n [dataSource]=\"dataSource\"\n [trackBy]=\"trackBy\"\n >\n <ng-container\n *ngFor=\"\n let column of _columns;\n trackBy: _trackColumnName;\n let columnIndex = index\n \"\n [cdkColumnDef]=\"column.name\"\n >\n <th\n tabindex=\"0\"\n cdk-header-cell\n *cdkHeaderCellDef\n data-fnd=\"data-granite-table-header-cell\"\n [graniteColumnSize]=\"column.size\"\n [attr.data-granite-table-header-cell]=\"column.name\"\n graniteTableHeaderCell\n graniteCellAlignClasses\n [textAlign]=\"column.textAlign\"\n [class]=\"column.headerClass\"\n >\n {{ column.title ?? column.name | graniteTitle }}\n </th>\n\n <td\n tabindex=\"0\"\n cdk-cell\n *cdkCellDef=\"let row; let rowIndex = index\"\n data-fnd=\"data-granite-table-row-cell\"\n [attr.data-granite-table-cell]=\"column.name\"\n [graniteColumnSize]=\"column.size\"\n graniteCellAlignClasses\n [textAlign]=\"column.textAlign\"\n [class]=\"column.class\"\n [id]=\"cellIdPrefix + '-' + rowIndex + '-' + columnIndex\"\n >\n <granite-table-data-cell\n [value]=\"row[column.name]\"\n [row]=\"row\"\n [column]=\"column\"\n [rowIndex]=\"rowIndex\"\n [columnIndex]=\"columnIndex\"\n [tableCellTemplateRef]=\"column.tableCellTemplateRef\"\n ></granite-table-data-cell>\n </td>\n </ng-container>\n\n <tr\n tabindex=\"0\"\n cdk-header-row\n *cdkHeaderRowDef=\"_displayedColumns\"\n data-fnd=\"data-granite-table-header\"\n ></tr>\n <tr\n tabindex=\"0\"\n cdk-row\n *cdkRowDef=\"let row; columns: _displayedColumns\"\n data-fnd=\"data-granite-table-row\"\n ></tr>\n </table>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TableModule } from 'primeng/table';\n\nimport { PurePipesModule } from '@ifsworld/granite-components';\n\nimport { GraniteTableComponent } from './table.component';\nimport { GraniteTableColumnDirective } from './column/table-column.directive';\nimport { GraniteTableHeaderCellComponent } from './cell/table-header-cell.component';\nimport { GraniteTableDataCellComponent } from './cell/table-data-cell.component';\nimport { GraniteCellAlignClassesDirective } from './cell/cell-align/cell-align-classes.directive';\nimport { CdkTableModule } from '@angular/cdk/table';\nimport { GraniteColumnSizeDirective } from './column-size/column-size.directive';\n\n@NgModule({\n imports: [CommonModule, TableModule, PurePipesModule, CdkTableModule],\n declarations: [\n GraniteTableComponent,\n GraniteTableColumnDirective,\n GraniteTableHeaderCellComponent,\n GraniteTableDataCellComponent,\n GraniteCellAlignClassesDirective,\n GraniteColumnSizeDirective,\n ],\n exports: [GraniteTableComponent, GraniteTableColumnDirective],\n})\nexport class GraniteTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3.GraniteTableHeaderCellComponent","i4.GraniteTableDataCellComponent","i5.GraniteCellAlignClassesDirective","i6.GraniteColumnSizeDirective"],"mappings":"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"}