novo-elements 11.0.4 → 11.1.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/elements/button/styles/button-primary.scss +0 -1
  2. package/elements/calendar/month-view/month-view.component.scss +0 -1
  3. package/elements/chips/Chips.scss +0 -3
  4. package/elements/common/option/optgroup.component.scss +0 -2
  5. package/elements/data-table/data-table.component.d.ts +12 -2
  6. package/elements/data-table/data-table.component.scss +4 -14
  7. package/elements/data-table/data-table.module.d.ts +13 -12
  8. package/elements/data-table/interfaces.d.ts +1 -0
  9. package/elements/date-picker/DateRangeInput.scss +0 -1
  10. package/elements/drag-drop/drag-drop-box.d.ts +23 -3
  11. package/elements/field/field.scss +0 -1
  12. package/elements/form/extras/file/FileInput.scss +1 -1
  13. package/elements/layout/content/layout-content.component.d.ts +1 -2
  14. package/elements/non-ideal-state/NonIdealState.scss +0 -1
  15. package/elements/picker/extras/picker-results/PickerResults.scss +0 -3
  16. package/elements/switch/Switch.scss +0 -1
  17. package/elements/time-picker/TimePicker.scss +0 -2
  18. package/fesm2022/novo-elements-elements-agenda.mjs +0 -85
  19. package/fesm2022/novo-elements-elements-agenda.mjs.map +1 -1
  20. package/fesm2022/novo-elements-elements-aside.mjs +0 -1
  21. package/fesm2022/novo-elements-elements-aside.mjs.map +1 -1
  22. package/fesm2022/novo-elements-elements-autocomplete.mjs +0 -8
  23. package/fesm2022/novo-elements-elements-autocomplete.mjs.map +1 -1
  24. package/fesm2022/novo-elements-elements-avatar.mjs +0 -2
  25. package/fesm2022/novo-elements-elements-avatar.mjs.map +1 -1
  26. package/fesm2022/novo-elements-elements-checkbox.mjs +0 -1
  27. package/fesm2022/novo-elements-elements-checkbox.mjs.map +1 -1
  28. package/fesm2022/novo-elements-elements-color-picker.mjs +0 -4
  29. package/fesm2022/novo-elements-elements-color-picker.mjs.map +1 -1
  30. package/fesm2022/novo-elements-elements-common.mjs +1 -23
  31. package/fesm2022/novo-elements-elements-common.mjs.map +1 -1
  32. package/fesm2022/novo-elements-elements-data-table.mjs +70 -540
  33. package/fesm2022/novo-elements-elements-data-table.mjs.map +1 -1
  34. package/fesm2022/novo-elements-elements-date-picker.mjs +1 -13
  35. package/fesm2022/novo-elements-elements-date-picker.mjs.map +1 -1
  36. package/fesm2022/novo-elements-elements-drag-drop.mjs +147 -27
  37. package/fesm2022/novo-elements-elements-drag-drop.mjs.map +1 -1
  38. package/fesm2022/novo-elements-elements-dropdown.mjs +1 -10
  39. package/fesm2022/novo-elements-elements-dropdown.mjs.map +1 -1
  40. package/fesm2022/novo-elements-elements-expansion.mjs +1 -5
  41. package/fesm2022/novo-elements-elements-expansion.mjs.map +1 -1
  42. package/fesm2022/novo-elements-elements-field.mjs +1 -15
  43. package/fesm2022/novo-elements-elements-field.mjs.map +1 -1
  44. package/fesm2022/novo-elements-elements-flex.mjs.map +1 -1
  45. package/fesm2022/novo-elements-elements-form.mjs +2 -15
  46. package/fesm2022/novo-elements-elements-form.mjs.map +1 -1
  47. package/fesm2022/novo-elements-elements-layout.mjs +1 -5
  48. package/fesm2022/novo-elements-elements-layout.mjs.map +1 -1
  49. package/fesm2022/novo-elements-elements-menu.mjs +2 -35
  50. package/fesm2022/novo-elements-elements-menu.mjs.map +1 -1
  51. package/fesm2022/novo-elements-elements-picker.mjs +1 -4
  52. package/fesm2022/novo-elements-elements-picker.mjs.map +1 -1
  53. package/fesm2022/novo-elements-elements-progress.mjs.map +1 -1
  54. package/fesm2022/novo-elements-elements-radio.mjs.map +1 -1
  55. package/fesm2022/novo-elements-elements-select-search.mjs +0 -14
  56. package/fesm2022/novo-elements-elements-select-search.mjs.map +1 -1
  57. package/fesm2022/novo-elements-elements-select.mjs +0 -13
  58. package/fesm2022/novo-elements-elements-select.mjs.map +1 -1
  59. package/fesm2022/novo-elements-elements-simple-table.mjs +0 -10
  60. package/fesm2022/novo-elements-elements-simple-table.mjs.map +1 -1
  61. package/fesm2022/novo-elements-elements-time-picker.mjs +0 -38
  62. package/fesm2022/novo-elements-elements-time-picker.mjs.map +1 -1
  63. package/fesm2022/novo-elements-elements-value.mjs.map +1 -1
  64. package/fesm2022/novo-elements-services.mjs +0 -13
  65. package/fesm2022/novo-elements-services.mjs.map +1 -1
  66. package/fesm2022/novo-elements-utils.mjs +9 -13
  67. package/fesm2022/novo-elements-utils.mjs.map +1 -1
  68. package/package.json +1 -1
  69. package/services/data-provider/ArrayCollection.d.ts +0 -10
  70. package/services/data-provider/Collection.d.ts +0 -9
  71. package/styles/content/forms.scss +0 -40
  72. package/styles/content/links.scss +0 -1
  73. package/styles/content/misc.scss +0 -1
  74. package/utils/Helpers.d.ts +6 -2
  75. package/elements/field/toggle/picker-toggle.component.scss +0 -23
@@ -30,11 +30,13 @@ import * as i14 from 'novo-elements/elements/field';
30
30
  import { NovoFieldModule } from 'novo-elements/elements/field';
31
31
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
32
32
  import { startWith, switchMap, map, catchError } from 'rxjs/operators';
33
+ import * as i9$1 from 'novo-elements/elements/drag-drop';
34
+ import { NovoDragDropModule } from 'novo-elements/elements/drag-drop';
33
35
  import * as i6$1 from 'novo-elements/elements/loading';
34
36
  import { NovoLoadingModule } from 'novo-elements/elements/loading';
35
- import * as i10 from 'novo-elements/elements/search';
37
+ import * as i11$1 from 'novo-elements/elements/search';
36
38
  import { NovoSearchBoxModule } from 'novo-elements/elements/search';
37
- import * as i13$1 from '@angular/cdk/scrolling';
39
+ import * as i14$1 from '@angular/cdk/scrolling';
38
40
  import { ScrollingModule } from '@angular/cdk/scrolling';
39
41
  import * as i7$1 from 'novo-elements/elements/tiles';
40
42
  import { NovoTilesModule } from 'novo-elements/elements/tiles';
@@ -835,7 +837,7 @@ class NovoDataTableCellHeader {
835
837
  if (this.multiSelect) {
836
838
  this.error = false;
837
839
  if (this.dropdown.panelOpen && event.key === "Escape" /* Key.Escape */) {
838
- // escape = clear text box and close
840
+ // escape should clear text box and close
839
841
  Helpers.swallowEvent(event);
840
842
  this.clearOptionFilter();
841
843
  this.dropdown.closePanel();
@@ -1568,13 +1570,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
1568
1570
  type: Input
1569
1571
  }] } });
1570
1572
 
1571
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
1573
+ var __decorate$1 = (this && this.__decorate) || function (decorators, target, key, desc) {
1572
1574
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1573
1575
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1574
1576
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1575
1577
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1576
1578
  };
1577
- var __metadata = (this && this.__metadata) || function (k, v) {
1579
+ var __metadata$1 = (this && this.__metadata) || function (k, v) {
1578
1580
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1579
1581
  };
1580
1582
  class NovoDataTableClearButton {
@@ -1652,9 +1654,9 @@ class NovoDataTableClearButton {
1652
1654
  </novo-dropdown>
1653
1655
  `, isInline: true, dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.NovoButtonElement, selector: "novo-button,button[theme]", inputs: ["color", "side", "size", "theme", "loading", "icon", "secondIcon", "disabled"] }, { kind: "component", type: i5$1.NovoDropdownElement, selector: "novo-dropdown", inputs: ["parentScrollSelector", "parentScrollAction", "containerClass", "side", "scrollStrategy", "keepOpen", "height", "width", "appendToBody", "multiple", "scrollToActiveItemOnOpen"], outputs: ["toggled"] }, { kind: "component", type: i5$1.NovoItemElement, selector: "item", inputs: ["disabled", "keepOpen"], outputs: ["action"] }, { kind: "component", type: i5$1.NovoDropdownListElement, selector: "list" }, { kind: "directive", type: i11.ThemeColorDirective, selector: "[theme]", inputs: ["theme"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1654
1656
  }
1655
- __decorate([
1657
+ __decorate$1([
1656
1658
  BooleanInput(),
1657
- __metadata("design:type", Boolean)
1659
+ __metadata$1("design:type", Boolean)
1658
1660
  ], NovoDataTableClearButton.prototype, "emitOnly", void 0);
1659
1661
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: NovoDataTableClearButton, decorators: [{
1660
1662
  type: Component,
@@ -2468,26 +2470,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
2468
2470
  }]
2469
2471
  }], ctorParameters: () => [{ type: i1$1.NovoLabelService }] });
2470
2472
 
2473
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2474
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2475
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2476
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2477
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
2478
+ };
2479
+ var __metadata = (this && this.__metadata) || function (k, v) {
2480
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2481
+ };
2471
2482
  class NovoDataTable {
2472
2483
  set displayedColumns(displayedColumns) {
2473
- if (this.displayedColumns && this.displayedColumns.length !== 0) {
2474
- if (this.name !== 'novo-data-table') {
2475
- this.preferencesChanged.emit({
2476
- name: this.name,
2477
- displayedColumns,
2478
- });
2479
- }
2480
- else {
2481
- notify('Must have [name] set on data-table to use preferences!');
2482
- }
2483
- }
2484
- this._disabledColumns = displayedColumns;
2485
- this.configureLastDisplayedColumn();
2486
- if (this.initialized) {
2487
- setTimeout(() => {
2488
- this.scrollListener();
2489
- });
2490
- }
2484
+ this.updateDisplayedColumns(displayedColumns, 'input');
2491
2485
  }
2492
2486
  get displayedColumns() {
2493
2487
  return this._disabledColumns;
@@ -2593,6 +2587,7 @@ class NovoDataTable {
2593
2587
  this.maxSelected = undefined;
2594
2588
  this.canSelectAll = false;
2595
2589
  this.allMatchingSelected = false;
2590
+ this.enableColumnDragging = false;
2596
2591
  this._hideGlobalSearch = true;
2597
2592
  this.preferencesChanged = new EventEmitter();
2598
2593
  this.allSelected = new EventEmitter();
@@ -2604,6 +2599,12 @@ class NovoDataTable {
2604
2599
  this.scrollLeft = 0;
2605
2600
  this.expandable = false;
2606
2601
  this.initialized = false;
2602
+ this.columnDragFilter = (columnName) => {
2603
+ if (['selection', 'expand'].includes(columnName)) {
2604
+ return false;
2605
+ }
2606
+ return this.dragEnabledByColumn.get(columnName) ?? false;
2607
+ };
2607
2608
  this.scrollListenerHandler = this.scrollListener.bind(this);
2608
2609
  this.sortFilterSubscription = this.state.sortFilterSource.subscribe((event) => {
2609
2610
  if (this.name !== 'novo-data-table') {
@@ -2615,6 +2616,7 @@ class NovoDataTable {
2615
2616
  where: event.where,
2616
2617
  savedSearchName: event.savedSearchName,
2617
2618
  appliedSearchType: event.appliedSearchType,
2619
+ eventSrc: 'statesortchange'
2618
2620
  });
2619
2621
  this.performInteractions('change');
2620
2622
  }
@@ -2625,7 +2627,7 @@ class NovoDataTable {
2625
2627
  this.paginationSubscription = this.state.paginationSource.subscribe((event) => {
2626
2628
  if (this.name !== 'novo-data-table') {
2627
2629
  if (event.isPageSizeChange) {
2628
- this.preferencesChanged.emit({ name: this.name, pageSize: event.pageSize });
2630
+ this.preferencesChanged.emit({ name: this.name, pageSize: event.pageSize, eventSrc: 'pagination' });
2629
2631
  }
2630
2632
  }
2631
2633
  else {
@@ -2806,6 +2808,9 @@ class NovoDataTable {
2806
2808
  }
2807
2809
  return true;
2808
2810
  }
2811
+ columnDragged(event) {
2812
+ this.updateDisplayedColumns(event.allItems, 'columndrag');
2813
+ }
2809
2814
  configureLastDisplayedColumn() {
2810
2815
  if (this.columns && this.displayedColumns && 0 !== this.columns.length && 0 !== this.displayedColumns.length) {
2811
2816
  this.columns.forEach((column) => {
@@ -2836,6 +2841,9 @@ class NovoDataTable {
2836
2841
  configureColumns() {
2837
2842
  if (this.columns && this.columns.length !== 0 && Object.keys(this.templates).length !== 0) {
2838
2843
  // Figure the column templates
2844
+ if (this.enableColumnDragging) {
2845
+ this.dragEnabledByColumn = new Map();
2846
+ }
2839
2847
  this.columns.forEach((column) => {
2840
2848
  // Figure the template
2841
2849
  let templateName;
@@ -2870,11 +2878,36 @@ class NovoDataTable {
2870
2878
  }
2871
2879
  }
2872
2880
  this.columnToTemplate[column.id] = this.templates[templateName];
2881
+ if (this.enableColumnDragging) {
2882
+ const draggable = column.draggable != null ? column.draggable : true;
2883
+ this.dragEnabledByColumn.set(column.id, draggable);
2884
+ }
2873
2885
  });
2874
2886
  this.configureLastDisplayedColumn();
2875
2887
  this.columnsLoaded = true;
2876
2888
  }
2877
2889
  }
2890
+ updateDisplayedColumns(displayedColumns, updateSrc) {
2891
+ if (this.displayedColumns && this.displayedColumns.length !== 0) {
2892
+ if (this.name !== 'novo-data-table') {
2893
+ this.preferencesChanged.emit({
2894
+ name: this.name,
2895
+ displayedColumns,
2896
+ eventSrc: updateSrc,
2897
+ });
2898
+ }
2899
+ else {
2900
+ notify('Must have [name] set on data-table to use preferences!');
2901
+ }
2902
+ }
2903
+ this._disabledColumns = displayedColumns;
2904
+ this.configureLastDisplayedColumn();
2905
+ if (this.initialized) {
2906
+ setTimeout(() => {
2907
+ this.scrollListener();
2908
+ });
2909
+ }
2910
+ }
2878
2911
  scrollListener() {
2879
2912
  const target = this.novoDataTableContainer.nativeElement;
2880
2913
  const left = target.scrollLeft;
@@ -2895,263 +2928,7 @@ class NovoDataTable {
2895
2928
  }
2896
2929
  }
2897
2930
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: NovoDataTable, deps: [{ token: i1$1.NovoLabelService }, { token: i0.ChangeDetectorRef }, { token: DataTableState }], target: i0.ɵɵFactoryTarget.Component }); }
2898
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: NovoDataTable, isStandalone: false, selector: "novo-data-table", inputs: { displayedColumns: "displayedColumns", paginationOptions: "paginationOptions", searchOptions: "searchOptions", selectionOptions: "selectionOptions", defaultSort: "defaultSort", name: "name", allowMultipleFilters: "allowMultipleFilters", rowIdentifier: "rowIdentifier", activeRowIdentifier: "activeRowIdentifier", trackByFn: "trackByFn", templates: "templates", fixedHeader: "fixedHeader", paginatorDataFeatureId: "paginatorDataFeatureId", maxSelected: "maxSelected", canSelectAll: "canSelectAll", allMatchingSelected: "allMatchingSelected", overrideTotal: "overrideTotal", paginationRefreshSubject: "paginationRefreshSubject", dataTableService: "dataTableService", rows: "rows", outsideFilter: "outsideFilter", refreshSubject: "refreshSubject", columns: "columns", customFilter: "customFilter", hasExandedRows: "hasExandedRows", forceShowHeader: "forceShowHeader", hideGlobalSearch: "hideGlobalSearch", listInteractions: "listInteractions" }, outputs: { resized: "resized", preferencesChanged: "preferencesChanged", allSelected: "allSelected", toggledFilter: "toggledFilter" }, host: { properties: { "class.global-search-hidden": "this.globalSearchHiddenClassToggle", "class.empty": "this.empty", "class.loading": "this.loadingClass" } }, providers: [DataTableState, { provide: NOVO_DATA_TABLE_REF, useExisting: NovoDataTable }], queries: [{ propertyName: "customTemplates", predicate: NovoTemplate }], viewQueries: [{ propertyName: "novoDataTableContainer", first: true, predicate: ["novoDataTableContainer"], descendants: true }, { propertyName: "defaultTemplates", predicate: NovoTemplate, descendants: true }, { propertyName: "cellHeaders", predicate: NovoDataTableCellHeader, descendants: true }], ngImport: i0, template: `
2899
- <header
2900
- *ngIf="(!(empty && !state.userFiltered) && !loading) || forceShowHeader"
2901
- [class.empty]="hideGlobalSearch && !paginationOptions && !templates['customActions']"
2902
- [ngClass]="{ 'pagination-footer': paginationOptions?.onFooter }"
2903
- >
2904
- <ng-container *ngTemplateOutlet="templates['customHeader']"></ng-container>
2905
- <novo-search
2906
- alwaysOpen="true"
2907
- (searchChanged)="onSearchChange($event)"
2908
- [(ngModel)]="state.globalSearch"
2909
- *ngIf="!hideGlobalSearch"
2910
- [placeholder]="searchOptions?.placeholder"
2911
- [hint]="searchOptions?.tooltip"
2912
- >
2913
- </novo-search>
2914
- <!-- Updates to novo-data-table-pagination here need to be applied to the footer as well -->
2915
- <novo-data-table-pagination
2916
- *ngIf="paginationOptions && !paginationOptions.onFooter"
2917
- [theme]="paginationOptions.theme"
2918
- [length]="useOverrideTotal ? overrideTotal : dataSource?.currentTotal"
2919
- [page]="paginationOptions.page"
2920
- [pageSize]="paginationOptions.pageSize"
2921
- [pageSizeOptions]="paginationOptions.pageSizeOptions"
2922
- [dataFeatureId]="paginatorDataFeatureId"
2923
- [canSelectAll]="canSelectAll"
2924
- [allMatchingSelected]="allMatchingSelected"
2925
- [loading]="paginationOptions.loading"
2926
- [errorLoading]="paginationOptions.errorLoading"
2927
- [paginationRefreshSubject]="paginationRefreshSubject"
2928
- >
2929
- </novo-data-table-pagination>
2930
- <div class="novo-data-table-actions" *ngIf="templates['customActions']">
2931
- <ng-container *ngTemplateOutlet="templates['customActions']"></ng-container>
2932
- </div>
2933
- </header>
2934
- <div class="novo-data-table-loading-mask" *ngIf="dataSource?.loading || loading" data-automation-id="novo-data-table-loading">
2935
- <novo-loading></novo-loading>
2936
- </div>
2937
- <div class="novo-data-table-outside-container" [ngClass]="{ 'novo-data-table-outside-container-fixed': fixedHeader }">
2938
- <div class="novo-data-table-custom-filter" *ngIf="customFilter">
2939
- <ng-container *ngTemplateOutlet="templates['customFilter']"></ng-container>
2940
- </div>
2941
- <div
2942
- #novoDataTableContainer
2943
- cdkScrollable
2944
- class="novo-data-table-container"
2945
- [ngClass]="{ 'novo-data-table-container-fixed': fixedHeader }"
2946
- [class.empty-user-filtered]="dataSource?.currentlyEmpty && state.userFiltered"
2947
- [class.empty]="empty && !dataSource?.loading && !loading && !state.userFiltered && !dataSource.pristine"
2948
- >
2949
- <cdk-table
2950
- *ngIf="columns?.length > 0 && columnsLoaded && dataSource"
2951
- [dataSource]="dataSource"
2952
- [trackBy]="trackByFn"
2953
- novoDataTableSortFilter
2954
- [class.expandable]="expandable"
2955
- [class.empty]="dataSource?.currentlyEmpty && state.userFiltered"
2956
- [hidden]="empty && !state.userFiltered"
2957
- >
2958
- <ng-container cdkColumnDef="selection">
2959
- <novo-data-table-checkbox-header-cell *cdkHeaderCellDef [maxSelected]="maxSelected"></novo-data-table-checkbox-header-cell>
2960
- <novo-data-table-checkbox-cell
2961
- *cdkCellDef="let row; let i = index"
2962
- [row]="row"
2963
- [maxSelected]="maxSelected"
2964
- ></novo-data-table-checkbox-cell>
2965
- </ng-container>
2966
- <ng-container cdkColumnDef="expand">
2967
- <novo-data-table-expand-header-cell *cdkHeaderCellDef></novo-data-table-expand-header-cell>
2968
- <novo-data-table-expand-cell *cdkCellDef="let row; let i = index" [row]="row"></novo-data-table-expand-cell>
2969
- </ng-container>
2970
- <ng-container *ngFor="let column of columns; trackBy: trackColumnsBy" [cdkColumnDef]="column.id">
2971
- <novo-data-table-header-cell
2972
- *cdkHeaderCellDef
2973
- [column]="column"
2974
- [filterTemplate]="templates['column-filter-' + (column.filterable?.customTemplate || column.id)]"
2975
- (toggledFilter)="toggledFilter.next($event)"
2976
- [novo-data-table-cell-config]="column"
2977
- [resized]="resized"
2978
- [defaultSort]="defaultSort"
2979
- [allowMultipleFilters]="allowMultipleFilters"
2980
- [class.empty]="column?.type === 'action' && !column?.label"
2981
- [class.button-header-cell]="column?.type === 'expand' || (column?.type === 'action' && !column?.action?.options)"
2982
- [class.dropdown-header-cell]="column?.type === 'action' && column?.action?.options"
2983
- [class.fixed-header]="fixedHeader"
2984
- ></novo-data-table-header-cell>
2985
- <novo-data-table-cell
2986
- *cdkCellDef="let row"
2987
- [resized]="resized"
2988
- [column]="column"
2989
- [row]="row"
2990
- [template]="columnToTemplate[column.id]"
2991
- [class.empty]="column?.type === 'action' && !column?.label"
2992
- [class.button-cell]="column?.type === 'expand' || (column?.type === 'action' && !column?.action?.options)"
2993
- [class.dropdown-cell]="column?.type === 'action' && column?.action?.options"
2994
- ></novo-data-table-cell>
2995
- </ng-container>
2996
- <novo-data-table-header-row
2997
- *cdkHeaderRowDef="displayedColumns"
2998
- [fixedHeader]="fixedHeader"
2999
- data-automation-id="novo-data-table-header-row"
3000
- ></novo-data-table-header-row>
3001
- <novo-data-table-row
3002
- *cdkRowDef="let row; columns: displayedColumns"
3003
- [ngClass]="{ active: row[rowIdentifier] == activeRowIdentifier }"
3004
- [novoDataTableExpand]="detailRowTemplate"
3005
- [row]="row"
3006
- [id]="name + '-' + row[rowIdentifier]"
3007
- [dataAutomationId]="row[rowIdentifier]"
3008
- ></novo-data-table-row>
3009
- </cdk-table>
3010
- <div class="novo-data-table-footer" *ngIf="templates['footer']">
3011
- <ng-container *ngTemplateOutlet="templates['footer']; context: { $implicit: columns, data: dataSource.data }"></ng-container>
3012
- </div>
3013
- <div
3014
- class="novo-data-table-no-results-container"
3015
- [style.left.px]="scrollLeft"
3016
- *ngIf="dataSource?.currentlyEmpty && state.userFiltered && !dataSource?.loading && !loading && !dataSource.pristine"
3017
- >
3018
- <div class="novo-data-table-empty-message">
3019
- <ng-container *ngTemplateOutlet="templates['noResultsMessage'] || templates['defaultNoResultsMessage']"></ng-container>
3020
- </div>
3021
- </div>
3022
- <div
3023
- class="novo-data-table-no-more-results-container"
3024
- [style.left.px]="scrollLeft"
3025
- *ngIf="!empty && dataSource?.currentlyEmpty && !state.userFiltered && !dataSource?.loading && !loading && !dataSource.pristine"
3026
- >
3027
- <div class="novo-data-table-empty-message">
3028
- <ng-container *ngTemplateOutlet="templates['noMoreResultsMessage'] || templates['defaultNoMoreResultsMessage']"></ng-container>
3029
- </div>
3030
- </div>
3031
- </div>
3032
- <div
3033
- class="novo-data-table-empty-container"
3034
- *ngIf="empty && !dataSource?.loading && !loading && !state.userFiltered && !dataSource.pristine"
3035
- >
3036
- <div class="novo-data-table-empty-message">
3037
- <ng-container *ngTemplateOutlet="templates['emptyMessage'] || templates['defaultNoResultsMessage']"></ng-container>
3038
- </div>
3039
- </div>
3040
- </div>
3041
- <!-- DEFAULT CELL TEMPLATE -->
3042
- <ng-template novoTemplate="textCellTemplate" let-row let-col="col">
3043
- <span [style.width.px]="col?.width" [style.min-width.px]="col?.width" [style.max-width.px]="col?.width">{{
3044
- row[col.id] | dataTableInterpolate: col
3045
- }}</span>
3046
- </ng-template>
3047
- <ng-template novoTemplate="dateCellTemplate" let-row let-col="col">
3048
- <span>{{ row[col.id] | dataTableInterpolate: col | dataTableDateRenderer: col }}</span>
3049
- </ng-template>
3050
- <ng-template novoTemplate="datetimeCellTemplate" let-row let-col="col">
3051
- <span>{{ row[col.id] | dataTableInterpolate: col | dataTableDateTimeRenderer: col }}</span>
3052
- </ng-template>
3053
- <ng-template novoTemplate="timeCellTemplate" let-row let-col="col">
3054
- <span>{{ row[col.id] | dataTableInterpolate: col | dataTableTimeRenderer: col }}</span>
3055
- </ng-template>
3056
- <ng-template novoTemplate="currencyCellTemplate" let-row let-col="col">
3057
- <span>{{ row[col.id] | dataTableInterpolate: col | dataTableCurrencyRenderer: col }}</span>
3058
- </ng-template>
3059
- <ng-template novoTemplate="bigdecimalCellTemplate" let-row let-col="col">
3060
- <span>{{ row[col.id] | dataTableInterpolate: col | dataTableBigDecimalRenderer: col }}</span>
3061
- </ng-template>
3062
- <ng-template novoTemplate="numberCellTemplate" let-row let-col="col">
3063
- <span>{{ row[col.id] | dataTableInterpolate: col | dataTableNumberRenderer: col }}</span>
3064
- </ng-template>
3065
- <ng-template novoTemplate="percentCellTemplate" let-row let-col="col">
3066
- <span>{{ row[col.id] | dataTableInterpolate: col | dataTableNumberRenderer: col:true }}</span>
3067
- </ng-template>
3068
- <ng-template novoTemplate="linkCellTemplate" let-row let-col="col">
3069
- <a
3070
- [attr.data-feature-id]="col?.attributes?.dataFeatureId"
3071
- (click)="col.handlers?.click({ originalEvent: $event, row: row })"
3072
- [style.width.px]="col?.width"
3073
- [style.min-width.px]="col?.width"
3074
- [style.max-width.px]="col?.width"
3075
- >{{ row[col.id] | dataTableInterpolate: col }}</a
3076
- >
3077
- </ng-template>
3078
- <ng-template novoTemplate="telCellTemplate" let-row let-col="col">
3079
- <a href="tel:{{ row[col.id] | dataTableInterpolate: col }}" [target]="col?.attributes?.target">{{
3080
- row[col.id] | dataTableInterpolate: col
3081
- }}</a>
3082
- </ng-template>
3083
- <ng-template novoTemplate="mailtoCellTemplate" let-row let-col="col">
3084
- <a href="mailto:{{ row[col.id] | dataTableInterpolate: col }}" [target]="col?.attributes?.target">{{
3085
- row[col.id] | dataTableInterpolate: col
3086
- }}</a>
3087
- </ng-template>
3088
- <ng-template novoTemplate="buttonCellTemplate" let-row let-col="col">
3089
- <novo-button
3090
- size="small"
3091
- theme="icon"
3092
- [tooltip]="col?.action?.tooltip"
3093
- tooltipPosition="right"
3094
- [attr.data-feature-id]="col?.attributes?.dataFeatureId"
3095
- [disabled]="isDisabled(col, row)"
3096
- (click)="col.handlers?.click({ originalEvent: $event, row: row })"
3097
- >
3098
- <novo-icon>{{ col?.action?.icon }}</novo-icon>
3099
- </novo-button>
3100
- </ng-template>
3101
- <ng-template novoTemplate="dropdownCellTemplate" let-row let-col="col">
3102
- <novo-dropdown parentScrollSelector=".novo-data-table-container" containerClass="novo-data-table-dropdown">
3103
- <novo-button type="button" theme="dialogue" [icon]="col.action.icon" inverse>{{ col.label }}</novo-button>
3104
- <novo-optgroup>
3105
- <novo-option
3106
- *ngFor="let option of col?.action?.options"
3107
- (click)="option.handlers.click({ originalEvent: $event?.originalEvent, row: row })"
3108
- [disabled]="isDisabled(option, row)"
3109
- >
3110
- <span [attr.data-automation-id]="option.label">{{ option.label }}</span>
3111
- </novo-option>
3112
- </novo-optgroup>
3113
- </novo-dropdown>
3114
- </ng-template>
3115
- <ng-template novoTemplate="defaultNoResultsMessage">
3116
- <h4><i class="bhi-search-question"></i> {{ labels.noMatchingRecordsMessage }}</h4>
3117
- </ng-template>
3118
- <ng-template novoTemplate="defaultNoMoreResultsMessage">
3119
- <h4><i class="bhi-search-question"></i> {{ labels.noMoreRecordsMessage }}</h4>
3120
- </ng-template>
3121
- <ng-template novoTemplate="defaultEmptyMessage">
3122
- <h4><i class="bhi-search-question"></i> {{ labels.emptyTableMessage }}</h4>
3123
- </ng-template>
3124
- <ng-template novoTemplate="expandedRow"> You did not provide an "expandedRow" template! </ng-template>
3125
- <ng-template #detailRowTemplate let-row>
3126
- <div class="novo-data-table-detail-row" [@expand] style="overflow: hidden">
3127
- <ng-container *ngTemplateOutlet="templates['expandedRow']; context: { $implicit: row }"></ng-container>
3128
- </div>
3129
- </ng-template>
3130
- <!-- CUSTOM CELLS PASSED IN -->
3131
- <footer
3132
- *ngIf="paginationOptions?.onFooter && ((!(empty && !state.userFiltered) && !loading) || forceShowHeader)"
3133
- [class.empty]="!paginationOptions"
3134
- >
3135
- <!-- Updates to novo-data-table-pagination here need to be applied to the header as well -->
3136
- <novo-data-table-pagination
3137
- *ngIf="paginationOptions?.onFooter"
3138
- [theme]="paginationOptions.theme"
3139
- [length]="useOverrideTotal ? overrideTotal : dataSource?.currentTotal"
3140
- [page]="paginationOptions.page"
3141
- [pageSize]="paginationOptions.pageSize"
3142
- [pageSizeOptions]="paginationOptions.pageSizeOptions"
3143
- [dataFeatureId]="paginatorDataFeatureId"
3144
- [canSelectAll]="canSelectAll"
3145
- [allMatchingSelected]="allMatchingSelected"
3146
- [loading]="paginationOptions.loading"
3147
- [errorLoading]="paginationOptions.errorLoading"
3148
- [paginationRefreshSubject]="paginationRefreshSubject"
3149
- [showPaginationTotalRecordCount]="true"
3150
- >
3151
- </novo-data-table-pagination>
3152
- </footer>
3153
- <ng-content></ng-content>
3154
- `, isInline: true, styles: ["html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:var(--font-family-mono, \"monospace\");font-size:1em}a,novo-data-table .clickable{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:var(--font-family-mono, \"monospace\");font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none!important}cdk-table{display:block;flex:1}cdk-table.expandable{width:fit-content;min-width:100%}cdk-table.empty{min-height:62px;max-height:62px}cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-checkbox-cell{background-color:var(--background-muted, #f4f4f4)}cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-checkbox-cell{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(odd).active+.novo-data-table-detail-row{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(odd)+.novo-data-table-detail-row{background-color:var(--background-muted, #f4f4f4)}cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-checkbox-cell{background-color:var(--background-body, #ffffff)}cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-checkbox-cell{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(2n).active+.novo-data-table-detail-row{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(2n)+.novo-data-table-detail-row{background-color:var(--background-body, #ffffff)}.novo-data-table-cell-align-right{text-align:right;justify-content:flex-end;overflow:hidden;text-overflow:clip}.novo-data-table-header-row,.novo-data-table-header-cell{position:relative;z-index:1}.novo-data-table-header-row.fixed-header,.novo-data-table-header-cell.fixed-header{position:sticky;top:0}.novo-data-table-row,.novo-data-table-header-row{display:flex;flex-direction:row;flex-wrap:nowrap;background-color:var(--background-body, #ffffff)}.novo-data-table-row .novo-data-table-header-cell,.novo-data-table-row .novo-data-table-checkbox-header-cell,.novo-data-table-header-row .novo-data-table-header-cell,.novo-data-table-header-row .novo-data-table-checkbox-header-cell{background-color:var(--background-body, #ffffff)}.novo-data-table-row.expanded i.bhi-next.data-table-icon,.novo-data-table-header-row.expanded i.bhi-next.data-table-icon{cursor:pointer;transition:all .1s}.novo-data-table-row.expanded i.bhi-next.data-table-icon.expanded,.novo-data-table-header-row.expanded i.bhi-next.data-table-icon.expanded{transform:rotate(90deg)}.novo-data-table-header-cell.resizable{padding-right:0}.novo-data-table-header-cell.resizable:hover{background-color:var(--background-muted, #4f5361)}.novo-data-table-header-cell.resizable .data-table-header-resizable{height:100%}.novo-data-table-header-cell.resizable .data-table-header-resizable span{cursor:ew-resize;background-color:var(--border, #4f5361);width:1px;margin:0 4px;display:block}.novo-data-table-header-cell>div>button{margin-right:2px}.novo-data-table-header-cell>div.spacer{flex-grow:100}.novo-data-table-clear-button button{min-width:80px!important}.novo-data-table-cell,.novo-data-table-header-cell{min-width:200px;padding:9px;flex:1;line-height:1.1em}.novo-data-table-cell>i.label-icon,.novo-data-table-header-cell>i.label-icon{margin-right:.5em}.novo-data-table-cell>span,.novo-data-table-header-cell>span{display:block;min-width:180px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.novo-data-table-cell novo-dropdown,.novo-data-table-header-cell novo-dropdown{display:inline-block}.novo-data-table-cell .filter-button,.novo-data-table-header-cell .filter-button{color:var(--text-muted);background:transparent;pointer-events:all;margin-left:.5rem;line-height:1em;outline:none}.novo-data-table-cell .filter-button:hover,.novo-data-table-header-cell .filter-button:hover{color:var(--text-main)}.novo-data-table-cell .filter-button.filter-active,.novo-data-table-header-cell .filter-button.filter-active{color:var(--selection)}.novo-data-table-cell button.active,.novo-data-table-header-cell button.active{color:#fff;background:#4a89dc}.novo-data-table-cell button.active:hover,.novo-data-table-cell button.active:active,.novo-data-table-cell button.active:focus,.novo-data-table-cell button.active:visited,.novo-data-table-header-cell button.active:hover,.novo-data-table-header-cell button.active:active,.novo-data-table-header-cell button.active:focus,.novo-data-table-header-cell button.active:visited{background:#4a89dc!important}.novo-data-table-cell.clickable,.novo-data-table-header-cell.clickable{cursor:pointer;color:#39d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.novo-data-table-cell{display:flex;flex-direction:row;align-items:center}.novo-data-table-cell.dropdown-cell,.novo-data-table-cell.button-cell{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:0 5px}.novo-data-table-cell.dropdown-cell novo-dropdown button,.novo-data-table-cell.button-cell novo-dropdown button{padding:0 0 0 5px}.novo-data-table-cell.dropdown-cell novo-dropdown button:hover,.novo-data-table-cell.dropdown-cell novo-dropdown button:active,.novo-data-table-cell.dropdown-cell novo-dropdown button:focus,.novo-data-table-cell.button-cell novo-dropdown button:hover,.novo-data-table-cell.button-cell novo-dropdown button:active,.novo-data-table-cell.button-cell novo-dropdown button:focus{background:#0000001a!important}.novo-data-table-cell.button-cell{min-width:40px;max-width:40px}.novo-data-table-cell.dropdown-cell{min-width:98px;max-width:98px}.novo-data-table-cell.dropdown-cell.empty{min-width:39px;max-width:39px}.novo-data-table-cell i.data-table-icon{cursor:pointer;font-size:1.2em;padding:.5em;border-radius:3px}.novo-data-table-cell i.data-table-icon.disabled{pointer-events:none;opacity:.7}.novo-data-table-cell i.data-table-icon:hover{background:#0000001a}.novo-data-table-cell i.data-table-icon:active{background:#00000040}.novo-data-table-header-cell{white-space:normal;overflow-wrap:break-word;display:flex;align-items:center}.novo-data-table-header-cell+.button-header-cell,.novo-data-table-header-cell+.dropdown-header-cell{border-left:none}.novo-data-table-header-cell>label{display:inline-block;padding-right:10px;overflow:hidden;text-overflow:ellipsis}.novo-data-table-header-cell>label.sort-disabled{cursor:default}.novo-data-table-header-cell>div{width:55px;display:flex;align-items:center;flex:0}.novo-data-table-header-cell novo-dropdown[side=right]{display:inline-block}.novo-data-table-header-cell novo-dropdown[side=right]:focus{outline:none}.novo-data-table-header-cell.button-header-cell{min-width:40px;max-width:40px}.novo-data-table-header-cell.dropdown-header-cell{min-width:98px;max-width:98px}.novo-data-table-header-cell.dropdown-header-cell.empty{min-width:39px;max-width:39px}.novo-data-table-expand-header-cell,.novo-data-table-expand-cell{display:flex;align-items:center;justify-content:center;width:30px}.novo-data-table-expand-header-cell i,.novo-data-table-expand-cell i{cursor:pointer;transition:all .1s}.novo-data-table-expand-header-cell i.expanded,.novo-data-table-expand-cell i.expanded{transform:rotate(90deg)}.novo-data-table-checkbox-header-cell,.novo-data-table-checkbox-cell{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;max-width:40px;padding:0 10px}.novo-data-table-checkbox-header-cell div.data-table-checkbox,.novo-data-table-checkbox-cell div.data-table-checkbox{display:flex;cursor:pointer}.novo-data-table-checkbox-header-cell div.data-table-checkbox i,.novo-data-table-checkbox-cell div.data-table-checkbox i{cursor:pointer}.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-box-empty,.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-checkbox-disabled,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-box-empty,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-checkbox-disabled{cursor:not-allowed!important}.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-checkbox-empty,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-checkbox-empty{color:#d2d2d2}.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-box-yes,.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-checkbox-filled,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-box-yes,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-checkbox-filled{color:#4a89dc}.novo-data-table-checkbox-header-cell input,.novo-data-table-checkbox-cell input{appearance:none!important;height:0!important;border:none!important}novo-data-table{position:relative;width:100%;display:flex;flex-direction:column;flex:1}novo-data-table.loading{min-height:300px}novo-data-table header{padding:5px;display:flex;align-items:center;flex-shrink:0;border-bottom:1px solid var(--border, #f7f7f7)}novo-data-table header.pagination-footer{justify-content:space-between}novo-data-table header.empty{padding:0}novo-data-table header>[novo-data-table-custom-header]{flex:1}novo-data-table header>novo-search{padding-right:10px;display:none}@media (min-width: 1000px){novo-data-table header>novo-search{display:flex}}novo-data-table header>novo-search>input{padding:8.5px;font-size:1.1em;height:35px}novo-data-table header>novo-search.active>button[theme=fab]{height:35px;min-height:35px}novo-data-table header>div.novo-data-table-actions{display:flex;align-items:center;justify-content:flex-end}novo-data-table header>div.novo-data-table-actions>*{margin-right:.2em}novo-data-table header>div.novo-data-table-actions>*:last-child{margin-right:0}novo-data-table header>div.novo-data-table-actions>div,novo-data-table header>div.novo-data-table-actions>section{display:flex;align-items:center}novo-data-table header>div.novo-data-table-actions>div button,novo-data-table header>div.novo-data-table-actions>section button{margin-left:3px;margin-bottom:0}novo-data-table header>div.novo-data-table-actions>div button[theme][theme=icon],novo-data-table header>div.novo-data-table-actions>section button[theme][theme=icon]{height:35px;width:35px;font-size:1.4em}novo-data-table header>div.novo-data-table-actions>div novo-dropdown button[theme],novo-data-table header>div.novo-data-table-actions>section novo-dropdown button[theme]{white-space:nowrap;padding:6px 5px 6px 15px!important}novo-data-table button[theme][theme=icon]{height:30px;width:30px;padding:5px}novo-data-table .novo-data-table-loading-mask{position:absolute;display:flex;padding-top:10%;justify-content:center;inset:0;background:#00000012;z-index:10}novo-data-table .novo-data-table-detail-row{padding:1em}novo-data-table .novo-data-table-empty-container{padding-top:0}novo-data-table .novo-data-table-no-results-container,novo-data-table .novo-data-table-no-more-results-container{position:absolute;top:48%;left:0;right:0;width:100%}novo-data-table .novo-data-table-empty-container,novo-data-table .novo-data-table-no-results-container,novo-data-table .novo-data-table-no-more-results-container{padding:2em;flex:1;display:flex;align-items:center;justify-content:center;color:#9e9e9e;z-index:5}novo-data-table .novo-data-table-outside-container{display:flex;flex:1}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter{border-right:1px solid var(--border, #f7f7f7)}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter novo-date-picker .calendar{box-shadow:none}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter novo-date-picker .calendar .date-range-tabs{height:51px}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter novo-date-picker .calendar .calendar-footer{display:none}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter div.period-selector{padding:1em}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter div.period-selector .novo-form-control-label{display:block;max-width:100%;margin-bottom:1em}novo-data-table .novo-data-table-outside-container .novo-data-table-container{flex:1;overflow:auto;position:relative}novo-data-table .novo-data-table-outside-container .novo-data-table-container.empty{display:flex;flex:0}novo-data-table .novo-data-table-outside-container .novo-data-table-container.empty-user-filtered{display:flex;flex-flow:column nowrap;min-height:250px}novo-data-table .novo-data-table-outside-container-fixed{overflow:hidden;position:relative}novo-data-table .novo-data-table-outside-container-fixed .novo-data-table-container-fixed{position:absolute;width:100%;height:100%}novo-data-table .novo-data-table-footer{display:flex;align-items:center}novo-data-table .novo-data-table-footer>div,novo-data-table .novo-data-table-footer div.novo-data-table-footer-cell{border-top:1px solid var(--border, #f7f7f7);flex:1;min-width:200px;display:flex;align-items:center}novo-data-table .novo-data-table-footer>div:not(.button-cell):not(.dropdown-cell),novo-data-table .novo-data-table-footer div.novo-data-table-footer-cell:not(.button-cell):not(.dropdown-cell){padding:10px}.dropdown-container.data-table-dropdown{min-width:220px;max-width:280px;max-height:500px;overflow-x:hidden;overflow-y:hidden}.dropdown-container.data-table-dropdown.right{margin-left:-150px!important}.dropdown-container.data-table-dropdown .header{padding:5px 10px;display:flex;justify-content:space-between;align-items:center}.dropdown-container.data-table-dropdown .optgroup-container,.dropdown-container.data-table-dropdown .dropdown-list-options{max-height:346px;overflow-y:auto;overflow-x:hidden}.dropdown-container.data-table-dropdown .footer{border-top:1px solid var(--border, #f7f7f7);padding:5px 10px;display:flex;justify-content:flex-end;align-items:center}.dropdown-container.data-table-dropdown .footer button icon{font-size:.8em}.dropdown-container.data-table-dropdown list item.active{background:transparent;font-weight:500}.dropdown-container.data-table-dropdown button[theme][theme=dialogue][icon] i{padding:inherit;padding-left:5px;height:inherit;width:inherit;display:inline-block;line-height:inherit}.dropdown-container.data-table-dropdown .calendar-container{height:100%;min-height:200px;width:100%;background:#fff;padding:0!important}.dropdown-container.data-table-dropdown .calendar-container .back-link{color:#4a89dc;line-height:3em;font-size:.9em;padding-left:5px;cursor:pointer}.dropdown-container.data-table-dropdown .calendar-container novo-date-picker .calendar{width:100%;height:100%;box-shadow:none;padding:0 5px 10px}.dropdown-container.data-table-dropdown .calendar-container novo-date-picker .calendar .calendar-top{display:none}.dropdown-container.data-table-dropdown span.error-text{color:#da4453;position:relative;left:10px;top:-17px;font-size:x-small}.dropdown-container.data-table-dropdown .filter-null-results{background-color:#fff;text-align:center;color:#b5b5b5;background:transparent;font-weight:500}\n/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n"], dependencies: [{ kind: "component", type: i1.CdkTable, selector: "cdk-table, table[cdk-table]", inputs: ["trackBy", "dataSource", "multiTemplateDataRows", "fixedLayout"], outputs: ["contentChanged"], exportAs: ["cdkTable"] }, { kind: "directive", type: i1.CdkRowDef, selector: "[cdkRowDef]", inputs: ["cdkRowDefColumns", "cdkRowDefWhen"] }, { kind: "directive", type: i1.CdkCellDef, selector: "[cdkCellDef]" }, { kind: "directive", type: i1.CdkHeaderCellDef, selector: "[cdkHeaderCellDef]" }, { kind: "directive", type: i1.CdkColumnDef, selector: "[cdkColumnDef]", inputs: ["cdkColumnDef", "sticky", "stickyEnd"] }, { kind: "directive", type: i1.CdkHeaderRowDef, selector: "[cdkHeaderRowDef]", inputs: ["cdkHeaderRowDef", "cdkHeaderRowDefSticky"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.NovoIconComponent, selector: "novo-icon", inputs: ["raised", "theme", "shape", "color", "size", "smaller", "larger", "alt", "name"] }, { kind: "component", type: i3$1.NovoButtonElement, selector: "novo-button,button[theme]", inputs: ["color", "side", "size", "theme", "loading", "icon", "secondIcon", "disabled"] }, { kind: "component", type: i5$1.NovoDropdownElement, selector: "novo-dropdown", inputs: ["parentScrollSelector", "parentScrollAction", "containerClass", "side", "scrollStrategy", "keepOpen", "height", "width", "appendToBody", "multiple", "scrollToActiveItemOnOpen"], outputs: ["toggled"] }, { kind: "component", type: i6$1.NovoLoadingElement, selector: "novo-loading", inputs: ["theme", "color", "size"] }, { kind: "component", type: i10.NovoSearchBoxElement, selector: "novo-search", inputs: ["name", "icon", "position", "placeholder", "alwaysOpen", "theme", "color", "closeOnSelect", "displayField", "displayValue", "hint", "keepOpen", "hasBackdrop", "allowPropagation", "overrideElement"], outputs: ["searchChanged", "applySearch"] }, { kind: "component", type: i11.NovoOption, selector: "novo-option", inputs: ["selected", "keepOpen", "novoInert", "value", "disabled"], exportAs: ["novoOption"] }, { kind: "component", type: i11.NovoOptgroup, selector: "novo-optgroup", inputs: ["disabled", "label"], exportAs: ["novoOptgroup"] }, { kind: "directive", type: i11.NovoTemplate, selector: "[novoTemplate]", inputs: ["type", "novoTemplate"] }, { kind: "directive", type: i11.ThemeColorDirective, selector: "[theme]", inputs: ["theme"] }, { kind: "directive", type: i12.TooltipDirective, selector: "[tooltip]", inputs: ["tooltip", "tooltipPosition", "tooltipType", "tooltipSize", "tooltipBounce", "tooltipNoAnimate", "tooltipRounded", "tooltipAlways", "tooltipPreline", "removeTooltipArrow", "tooltipAutoPosition", "tooltipIsHTML", "tooltipCloseOnClick", "tooltipOnOverflow", "tooltipActive"] }, { kind: "directive", type: i13$1.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "component", type: NovoDataTableCellHeader, selector: "[novo-data-table-cell-config]", inputs: ["defaultSort", "allowMultipleFilters", "resized", "filterTemplate", "novo-data-table-cell-config"], outputs: ["toggledFilter"] }, { kind: "directive", type: NovoDataTableSortFilter, selector: "[novoDataTableSortFilter]" }, { kind: "directive", type: NovoDataTableHeaderCell, selector: "novo-data-table-header-cell", inputs: ["column"] }, { kind: "component", type: NovoDataTableCell, selector: "novo-data-table-cell", inputs: ["row", "template", "column", "resized"] }, { kind: "component", type: NovoDataTableHeaderRow, selector: "novo-data-table-header-row", inputs: ["fixedHeader"] }, { kind: "component", type: NovoDataTableRow, selector: "novo-data-table-row", inputs: ["id", "dataAutomationId"] }, { kind: "component", type: NovoDataTablePagination, selector: "novo-data-table-pagination", inputs: ["theme", "page", "pageSize", "dataFeatureId", "pageSizeOptions", "canSelectAll", "allMatchingSelected", "loading", "errorLoading", "paginationRefreshSubject", "showPaginationTotalRecordCount", "length"], outputs: ["pageChange"] }, { kind: "component", type: NovoDataTableCheckboxCell, selector: "novo-data-table-checkbox-cell", inputs: ["row", "maxSelected"] }, { kind: "component", type: NovoDataTableCheckboxHeaderCell, selector: "novo-data-table-checkbox-header-cell", inputs: ["maxSelected"] }, { kind: "component", type: NovoDataTableExpandCell, selector: "novo-data-table-expand-cell", inputs: ["row"] }, { kind: "component", type: NovoDataTableExpandHeaderCell, selector: "novo-data-table-expand-header-cell" }, { kind: "directive", type: NovoDataTableExpandDirective, selector: "[novoDataTableExpand]", inputs: ["row", "novoDataTableExpand"] }, { kind: "pipe", type: DataTableInterpolatePipe, name: "dataTableInterpolate" }, { kind: "pipe", type: DateTableDateRendererPipe, name: "dataTableDateRenderer" }, { kind: "pipe", type: DateTableCurrencyRendererPipe, name: "dataTableCurrencyRenderer" }, { kind: "pipe", type: DateTableDateTimeRendererPipe, name: "dataTableDateTimeRenderer" }, { kind: "pipe", type: DateTableNumberRendererPipe, name: "dataTableNumberRenderer" }, { kind: "pipe", type: DateTableTimeRendererPipe, name: "dataTableTimeRenderer" }, { kind: "pipe", type: DataTableBigDecimalRendererPipe, name: "dataTableBigDecimalRenderer" }], animations: [
2931
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: NovoDataTable, isStandalone: false, selector: "novo-data-table", inputs: { displayedColumns: "displayedColumns", paginationOptions: "paginationOptions", searchOptions: "searchOptions", selectionOptions: "selectionOptions", defaultSort: "defaultSort", name: "name", allowMultipleFilters: "allowMultipleFilters", rowIdentifier: "rowIdentifier", activeRowIdentifier: "activeRowIdentifier", trackByFn: "trackByFn", templates: "templates", fixedHeader: "fixedHeader", paginatorDataFeatureId: "paginatorDataFeatureId", maxSelected: "maxSelected", canSelectAll: "canSelectAll", allMatchingSelected: "allMatchingSelected", overrideTotal: "overrideTotal", paginationRefreshSubject: "paginationRefreshSubject", enableColumnDragging: "enableColumnDragging", dataTableService: "dataTableService", rows: "rows", outsideFilter: "outsideFilter", refreshSubject: "refreshSubject", columns: "columns", customFilter: "customFilter", hasExandedRows: "hasExandedRows", forceShowHeader: "forceShowHeader", hideGlobalSearch: "hideGlobalSearch", listInteractions: "listInteractions" }, outputs: { resized: "resized", preferencesChanged: "preferencesChanged", allSelected: "allSelected", toggledFilter: "toggledFilter" }, host: { properties: { "class.global-search-hidden": "this.globalSearchHiddenClassToggle", "class.empty": "this.empty", "class.loading": "this.loadingClass" } }, providers: [DataTableState, { provide: NOVO_DATA_TABLE_REF, useExisting: NovoDataTable }], queries: [{ propertyName: "customTemplates", predicate: NovoTemplate }], viewQueries: [{ propertyName: "novoDataTableContainer", first: true, predicate: ["novoDataTableContainer"], descendants: true }, { propertyName: "defaultTemplates", predicate: NovoTemplate, descendants: true }, { propertyName: "cellHeaders", predicate: NovoDataTableCellHeader, descendants: true }], ngImport: i0, template: "<header\n *ngIf=\"(!(empty && !state.userFiltered) && !loading) || forceShowHeader\"\n [class.empty]=\"hideGlobalSearch && !paginationOptions && !templates['customActions']\"\n [ngClass]=\"{ 'pagination-footer': paginationOptions?.onFooter }\"\n>\n <ng-container *ngTemplateOutlet=\"templates['customHeader']\"></ng-container>\n <novo-search\n alwaysOpen=\"true\"\n (searchChanged)=\"onSearchChange($event)\"\n [(ngModel)]=\"state.globalSearch\"\n *ngIf=\"!hideGlobalSearch\"\n [placeholder]=\"searchOptions?.placeholder\"\n [hint]=\"searchOptions?.tooltip\"\n >\n </novo-search>\n <!-- Updates to novo-data-table-pagination here need to be applied to the footer as well -->\n <novo-data-table-pagination\n *ngIf=\"paginationOptions && !paginationOptions.onFooter\"\n [theme]=\"paginationOptions.theme\"\n [length]=\"useOverrideTotal ? overrideTotal : dataSource?.currentTotal\"\n [page]=\"paginationOptions.page\"\n [pageSize]=\"paginationOptions.pageSize\"\n [pageSizeOptions]=\"paginationOptions.pageSizeOptions\"\n [dataFeatureId]=\"paginatorDataFeatureId\"\n [canSelectAll]=\"canSelectAll\"\n [allMatchingSelected]=\"allMatchingSelected\"\n [loading]=\"paginationOptions.loading\"\n [errorLoading]=\"paginationOptions.errorLoading\"\n [paginationRefreshSubject]=\"paginationRefreshSubject\"\n >\n </novo-data-table-pagination>\n <div class=\"novo-data-table-actions\" *ngIf=\"templates['customActions']\">\n <ng-container *ngTemplateOutlet=\"templates['customActions']\"></ng-container>\n </div>\n</header>\n<div class=\"novo-data-table-loading-mask\" *ngIf=\"dataSource?.loading || loading\" data-automation-id=\"novo-data-table-loading\">\n <novo-loading></novo-loading>\n</div>\n<div class=\"novo-data-table-outside-container\" [ngClass]=\"{ 'novo-data-table-outside-container-fixed': fixedHeader }\">\n <div class=\"novo-data-table-custom-filter\" *ngIf=\"customFilter\">\n <ng-container *ngTemplateOutlet=\"templates['customFilter']\"></ng-container>\n </div>\n <div\n #novoDataTableContainer\n cdkScrollable\n class=\"novo-data-table-container\"\n [ngClass]=\"{ 'novo-data-table-container-fixed': fixedHeader }\"\n [class.empty-user-filtered]=\"dataSource?.currentlyEmpty && state.userFiltered\"\n [class.empty]=\"empty && !dataSource?.loading && !loading && !state.userFiltered && !dataSource.pristine\"\n >\n <cdk-table\n *ngIf=\"columns?.length > 0 && columnsLoaded && dataSource\"\n [dataSource]=\"dataSource\"\n [trackBy]=\"trackByFn\"\n novoDataTableSortFilter\n [class.expandable]=\"expandable\"\n [class.empty]=\"dataSource?.currentlyEmpty && state.userFiltered\"\n [hidden]=\"empty && !state.userFiltered\"\n >\n <ng-container cdkColumnDef=\"selection\">\n <novo-data-table-checkbox-header-cell *cdkHeaderCellDef [maxSelected]=\"maxSelected\"></novo-data-table-checkbox-header-cell>\n <novo-data-table-checkbox-cell\n *cdkCellDef=\"let row; let i = index\"\n [row]=\"row\"\n [maxSelected]=\"maxSelected\"\n ></novo-data-table-checkbox-cell>\n </ng-container>\n <ng-container cdkColumnDef=\"expand\">\n <novo-data-table-expand-header-cell *cdkHeaderCellDef></novo-data-table-expand-header-cell>\n <novo-data-table-expand-cell *cdkCellDef=\"let row; let i = index\" [row]=\"row\"></novo-data-table-expand-cell>\n </ng-container>\n <ng-container *ngFor=\"let column of columns; trackBy: trackColumnsBy\" [cdkColumnDef]=\"column.id\">\n <novo-data-table-header-cell\n *cdkHeaderCellDef\n [column]=\"column\"\n [filterTemplate]=\"templates['column-filter-' + (column.filterable?.customTemplate || column.id)]\"\n (toggledFilter)=\"toggledFilter.next($event)\"\n [novo-data-table-cell-config]=\"column\"\n [resized]=\"resized\"\n [defaultSort]=\"defaultSort\"\n [allowMultipleFilters]=\"allowMultipleFilters\"\n [class.empty]=\"column?.type === 'action' && !column?.label\"\n [class.button-header-cell]=\"column?.type === 'expand' || (column?.type === 'action' && !column?.action?.options)\"\n [class.dropdown-header-cell]=\"column?.type === 'action' && column?.action?.options\"\n [class.fixed-header]=\"fixedHeader\"\n ></novo-data-table-header-cell>\n <novo-data-table-cell\n *cdkCellDef=\"let row\"\n [resized]=\"resized\"\n [column]=\"column\"\n [row]=\"row\"\n [template]=\"columnToTemplate[column.id]\"\n [class.empty]=\"column?.type === 'action' && !column?.label\"\n [class.button-cell]=\"column?.type === 'expand' || (column?.type === 'action' && !column?.action?.options)\"\n [class.dropdown-cell]=\"column?.type === 'action' && column?.action?.options\"\n ></novo-data-table-cell>\n </ng-container>\n <novo-data-table-header-row\n *cdkHeaderRowDef=\"displayedColumns\"\n [novoDragDrop]=\"enableColumnDragging ? displayedColumns : undefined\"\n [novoDragDropFilter]=\"columnDragFilter\"\n (novoDragDropFinish)=\"columnDragged($event)\"\n [fixedHeader]=\"fixedHeader\"\n data-automation-id=\"novo-data-table-header-row\"\n ></novo-data-table-header-row>\n <novo-data-table-row\n *cdkRowDef=\"let row; columns: displayedColumns\"\n [ngClass]=\"{ active: row[rowIdentifier] == activeRowIdentifier }\"\n [novoDataTableExpand]=\"detailRowTemplate\"\n [row]=\"row\"\n [id]=\"name + '-' + row[rowIdentifier]\"\n [dataAutomationId]=\"row[rowIdentifier]\"\n ></novo-data-table-row>\n </cdk-table>\n <div class=\"novo-data-table-footer\" *ngIf=\"templates['footer']\">\n <ng-container *ngTemplateOutlet=\"templates['footer']; context: { $implicit: columns, data: dataSource.data }\"></ng-container>\n </div>\n <div\n class=\"novo-data-table-no-results-container\"\n [style.left.px]=\"scrollLeft\"\n *ngIf=\"dataSource?.currentlyEmpty && state.userFiltered && !dataSource?.loading && !loading && !dataSource.pristine\"\n >\n <div class=\"novo-data-table-empty-message\">\n <ng-container *ngTemplateOutlet=\"templates['noResultsMessage'] || templates['defaultNoResultsMessage']\"></ng-container>\n </div>\n </div>\n <div\n class=\"novo-data-table-no-more-results-container\"\n [style.left.px]=\"scrollLeft\"\n *ngIf=\"!empty && dataSource?.currentlyEmpty && !state.userFiltered && !dataSource?.loading && !loading && !dataSource.pristine\"\n >\n <div class=\"novo-data-table-empty-message\">\n <ng-container *ngTemplateOutlet=\"templates['noMoreResultsMessage'] || templates['defaultNoMoreResultsMessage']\"></ng-container>\n </div>\n </div>\n </div>\n <div\n class=\"novo-data-table-empty-container\"\n *ngIf=\"empty && !dataSource?.loading && !loading && !state.userFiltered && !dataSource.pristine\"\n >\n <div class=\"novo-data-table-empty-message\">\n <ng-container *ngTemplateOutlet=\"templates['emptyMessage'] || templates['defaultNoResultsMessage']\"></ng-container>\n </div>\n </div>\n</div>\n<!-- DEFAULT CELL TEMPLATE -->\n<ng-template novoTemplate=\"textCellTemplate\" let-row let-col=\"col\">\n <span [style.width.px]=\"col?.width\" [style.min-width.px]=\"col?.width\" [style.max-width.px]=\"col?.width\">{{\n row[col.id] | dataTableInterpolate: col\n }}</span>\n</ng-template>\n<ng-template novoTemplate=\"dateCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableDateRenderer: col }}</span>\n</ng-template>\n<ng-template novoTemplate=\"datetimeCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableDateTimeRenderer: col }}</span>\n</ng-template>\n<ng-template novoTemplate=\"timeCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableTimeRenderer: col }}</span>\n</ng-template>\n<ng-template novoTemplate=\"currencyCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableCurrencyRenderer: col }}</span>\n</ng-template>\n<ng-template novoTemplate=\"bigdecimalCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableBigDecimalRenderer: col }}</span>\n</ng-template>\n<ng-template novoTemplate=\"numberCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableNumberRenderer: col }}</span>\n</ng-template>\n<ng-template novoTemplate=\"percentCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableNumberRenderer: col:true }}</span>\n</ng-template>\n<ng-template novoTemplate=\"linkCellTemplate\" let-row let-col=\"col\">\n <a\n [attr.data-feature-id]=\"col?.attributes?.dataFeatureId\"\n (click)=\"col.handlers?.click({ originalEvent: $event, row: row })\"\n [style.width.px]=\"col?.width\"\n [style.min-width.px]=\"col?.width\"\n [style.max-width.px]=\"col?.width\"\n >{{ row[col.id] | dataTableInterpolate: col }}</a\n >\n</ng-template>\n<ng-template novoTemplate=\"telCellTemplate\" let-row let-col=\"col\">\n <a href=\"tel:{{ row[col.id] | dataTableInterpolate: col }}\" [target]=\"col?.attributes?.target\">{{\n row[col.id] | dataTableInterpolate: col\n }}</a>\n</ng-template>\n<ng-template novoTemplate=\"mailtoCellTemplate\" let-row let-col=\"col\">\n <a href=\"mailto:{{ row[col.id] | dataTableInterpolate: col }}\" [target]=\"col?.attributes?.target\">{{\n row[col.id] | dataTableInterpolate: col\n }}</a>\n</ng-template>\n<ng-template novoTemplate=\"buttonCellTemplate\" let-row let-col=\"col\">\n <novo-button\n size=\"small\"\n theme=\"icon\"\n [tooltip]=\"col?.action?.tooltip\"\n tooltipPosition=\"right\"\n [attr.data-feature-id]=\"col?.attributes?.dataFeatureId\"\n [disabled]=\"isDisabled(col, row)\"\n (click)=\"col.handlers?.click({ originalEvent: $event, row: row })\"\n >\n <novo-icon>{{ col?.action?.icon }}</novo-icon>\n </novo-button>\n</ng-template>\n<ng-template novoTemplate=\"dropdownCellTemplate\" let-row let-col=\"col\">\n <novo-dropdown parentScrollSelector=\".novo-data-table-container\" containerClass=\"novo-data-table-dropdown\">\n <novo-button type=\"button\" theme=\"dialogue\" [icon]=\"col.action.icon\" inverse>{{ col.label }}</novo-button>\n <novo-optgroup>\n <novo-option\n *ngFor=\"let option of col?.action?.options\"\n (click)=\"option.handlers.click({ originalEvent: $event?.originalEvent, row: row })\"\n [disabled]=\"isDisabled(option, row)\"\n >\n <span [attr.data-automation-id]=\"option.label\">{{ option.label }}</span>\n </novo-option>\n </novo-optgroup>\n </novo-dropdown>\n</ng-template>\n<ng-template novoTemplate=\"defaultNoResultsMessage\">\n <h4><i class=\"bhi-search-question\"></i> {{ labels.noMatchingRecordsMessage }}</h4>\n</ng-template>\n<ng-template novoTemplate=\"defaultNoMoreResultsMessage\">\n <h4><i class=\"bhi-search-question\"></i> {{ labels.noMoreRecordsMessage }}</h4>\n</ng-template>\n<ng-template novoTemplate=\"defaultEmptyMessage\">\n <h4><i class=\"bhi-search-question\"></i> {{ labels.emptyTableMessage }}</h4>\n</ng-template>\n<ng-template novoTemplate=\"expandedRow\"> You did not provide an \"expandedRow\" template! </ng-template>\n<ng-template #detailRowTemplate let-row>\n <div class=\"novo-data-table-detail-row\" [@expand] style=\"overflow: hidden\">\n <ng-container *ngTemplateOutlet=\"templates['expandedRow']; context: { $implicit: row }\"></ng-container>\n </div>\n</ng-template>\n<!-- CUSTOM CELLS PASSED IN -->\n<footer\n *ngIf=\"paginationOptions?.onFooter && ((!(empty && !state.userFiltered) && !loading) || forceShowHeader)\"\n [class.empty]=\"!paginationOptions\"\n>\n <!-- Updates to novo-data-table-pagination here need to be applied to the header as well -->\n <novo-data-table-pagination\n *ngIf=\"paginationOptions?.onFooter\"\n [theme]=\"paginationOptions.theme\"\n [length]=\"useOverrideTotal ? overrideTotal : dataSource?.currentTotal\"\n [page]=\"paginationOptions.page\"\n [pageSize]=\"paginationOptions.pageSize\"\n [pageSizeOptions]=\"paginationOptions.pageSizeOptions\"\n [dataFeatureId]=\"paginatorDataFeatureId\"\n [canSelectAll]=\"canSelectAll\"\n [allMatchingSelected]=\"allMatchingSelected\"\n [loading]=\"paginationOptions.loading\"\n [errorLoading]=\"paginationOptions.errorLoading\"\n [paginationRefreshSubject]=\"paginationRefreshSubject\"\n [showPaginationTotalRecordCount]=\"true\"\n >\n </novo-data-table-pagination>\n</footer>\n<ng-content></ng-content>", styles: ["html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:var(--font-family-mono, \"monospace\");font-size:1em}a,novo-data-table .clickable{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:var(--font-family-mono, \"monospace\");font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none!important}cdk-table{display:block;flex:1}cdk-table.expandable{width:fit-content;min-width:100%}cdk-table.empty{min-height:62px;max-height:62px}cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-checkbox-cell{background-color:var(--background-muted, #f4f4f4)}cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-checkbox-cell{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(odd).active+.novo-data-table-detail-row{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(odd)+.novo-data-table-detail-row{background-color:var(--background-muted, #f4f4f4)}cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-checkbox-cell{background-color:var(--background-body, #ffffff)}cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-checkbox-cell{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(2n).active+.novo-data-table-detail-row{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(2n)+.novo-data-table-detail-row{background-color:var(--background-body, #ffffff)}.novo-data-table-cell-align-right{text-align:right;justify-content:flex-end;overflow:hidden;text-overflow:clip}.novo-data-table-header-row,.novo-data-table-header-cell{position:relative;z-index:1}.novo-data-table-header-row.fixed-header,.novo-data-table-header-cell.fixed-header{position:sticky;top:0}.novo-data-table-row,.novo-data-table-header-row{display:flex;flex-direction:row;flex-wrap:nowrap;background-color:var(--background-body, #ffffff)}.novo-data-table-row .novo-data-table-header-cell,.novo-data-table-row .novo-data-table-checkbox-header-cell,.novo-data-table-header-row .novo-data-table-header-cell,.novo-data-table-header-row .novo-data-table-checkbox-header-cell{background-color:var(--background-body, #ffffff)}.novo-data-table-row.expanded i.bhi-next.data-table-icon,.novo-data-table-header-row.expanded i.bhi-next.data-table-icon{cursor:pointer;transition:all .1s}.novo-data-table-row.expanded i.bhi-next.data-table-icon.expanded,.novo-data-table-header-row.expanded i.bhi-next.data-table-icon.expanded{transform:rotate(90deg)}.novo-data-table-header-cell.resizable{padding-right:0}.novo-data-table-header-cell.resizable:hover{background-color:var(--background-muted, #4f5361)}.novo-data-table-header-cell.resizable .data-table-header-resizable{height:100%}.novo-data-table-header-cell.resizable .data-table-header-resizable span{cursor:ew-resize;background-color:var(--border, #4f5361);width:1px;margin:0 4px;display:block}.novo-data-table-header-cell>div>button{margin-right:2px}.novo-data-table-header-cell>div.spacer{flex-grow:100}.novo-data-table-header-cell[draggable=true] label{cursor:grab;-webkit-user-select:none;user-select:none}.novo-data-table-clear-button button{min-width:80px!important}.novo-data-table-cell,.novo-data-table-header-cell{min-width:200px;padding:9px;flex:1;line-height:1.1em}.novo-data-table-cell>i.label-icon,.novo-data-table-header-cell>i.label-icon{margin-right:.5em}.novo-data-table-cell>span,.novo-data-table-header-cell>span{display:block;min-width:180px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.novo-data-table-cell novo-dropdown,.novo-data-table-header-cell novo-dropdown{display:inline-block}.novo-data-table-cell .filter-button,.novo-data-table-header-cell .filter-button{color:var(--text-muted);background:transparent;pointer-events:all;margin-left:.5rem;line-height:1em;outline:none}.novo-data-table-cell .filter-button:hover,.novo-data-table-header-cell .filter-button:hover{color:var(--text-main)}.novo-data-table-cell .filter-button.filter-active,.novo-data-table-header-cell .filter-button.filter-active{color:var(--selection)}.novo-data-table-cell button.active,.novo-data-table-header-cell button.active{color:#fff;background:#4a89dc}.novo-data-table-cell button.active:hover,.novo-data-table-cell button.active:active,.novo-data-table-cell button.active:focus,.novo-data-table-cell button.active:visited,.novo-data-table-header-cell button.active:hover,.novo-data-table-header-cell button.active:active,.novo-data-table-header-cell button.active:focus,.novo-data-table-header-cell button.active:visited{background:#4a89dc!important}.novo-data-table-cell.clickable,.novo-data-table-header-cell.clickable{cursor:pointer;color:#39d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.novo-data-table-cell{display:flex;flex-direction:row;align-items:center}.novo-data-table-cell.dropdown-cell,.novo-data-table-cell.button-cell{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:0 5px}.novo-data-table-cell.dropdown-cell novo-dropdown button,.novo-data-table-cell.button-cell novo-dropdown button{padding:0 0 0 5px}.novo-data-table-cell.dropdown-cell novo-dropdown button:hover,.novo-data-table-cell.dropdown-cell novo-dropdown button:active,.novo-data-table-cell.dropdown-cell novo-dropdown button:focus,.novo-data-table-cell.button-cell novo-dropdown button:hover,.novo-data-table-cell.button-cell novo-dropdown button:active,.novo-data-table-cell.button-cell novo-dropdown button:focus{background:#0000001a!important}.novo-data-table-cell.button-cell{min-width:40px;max-width:40px}.novo-data-table-cell.dropdown-cell{min-width:98px;max-width:98px}.novo-data-table-cell.dropdown-cell.empty{min-width:39px;max-width:39px}.novo-data-table-cell i.data-table-icon{cursor:pointer;font-size:1.2em;padding:.5em;border-radius:3px}.novo-data-table-cell i.data-table-icon.disabled{pointer-events:none;opacity:.7}.novo-data-table-cell i.data-table-icon:hover{background:#0000001a}.novo-data-table-cell i.data-table-icon:active{background:#00000040}.novo-data-table-header-cell{white-space:normal;overflow-wrap:break-word;display:flex;align-items:center}.novo-data-table-header-cell+.button-header-cell,.novo-data-table-header-cell+.dropdown-header-cell{border-left:none}.novo-data-table-header-cell>label{display:inline-block;padding-right:10px;overflow:hidden;text-overflow:ellipsis}.novo-data-table-header-cell>label.sort-disabled{cursor:default}.novo-data-table-header-cell>div{width:55px;display:flex;align-items:center;flex:0}.novo-data-table-header-cell novo-dropdown[side=right]{display:inline-block}.novo-data-table-header-cell novo-dropdown[side=right]:focus{outline:none}.novo-data-table-header-cell.button-header-cell{min-width:40px;max-width:40px}.novo-data-table-header-cell.dropdown-header-cell{min-width:98px;max-width:98px}.novo-data-table-header-cell.dropdown-header-cell.empty{min-width:39px;max-width:39px}.novo-data-table-expand-header-cell,.novo-data-table-expand-cell{display:flex;align-items:center;justify-content:center;width:30px}.novo-data-table-expand-header-cell i,.novo-data-table-expand-cell i{cursor:pointer;transition:all .1s}.novo-data-table-expand-header-cell i.expanded,.novo-data-table-expand-cell i.expanded{transform:rotate(90deg)}.novo-data-table-checkbox-header-cell,.novo-data-table-checkbox-cell{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;max-width:40px;padding:0 10px}.novo-data-table-checkbox-header-cell div.data-table-checkbox,.novo-data-table-checkbox-cell div.data-table-checkbox{display:flex;cursor:pointer}.novo-data-table-checkbox-header-cell div.data-table-checkbox i,.novo-data-table-checkbox-cell div.data-table-checkbox i{cursor:pointer}.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-box-empty,.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-checkbox-disabled,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-box-empty,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-checkbox-disabled{cursor:not-allowed!important}.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-checkbox-empty,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-checkbox-empty{color:#d2d2d2}.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-box-yes,.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-checkbox-filled,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-box-yes,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-checkbox-filled{color:#4a89dc}.novo-data-table-checkbox-header-cell input,.novo-data-table-checkbox-cell input{appearance:none!important;height:0!important;border:none!important}novo-data-table{position:relative;width:100%;display:flex;flex-direction:column;flex:1}novo-data-table.loading{min-height:300px}novo-data-table header{padding:5px;display:flex;align-items:center;flex-shrink:0;border-bottom:1px solid var(--border, #f7f7f7)}novo-data-table header.pagination-footer{justify-content:space-between}novo-data-table header.empty{padding:0}novo-data-table header>[novo-data-table-custom-header]{flex:1}novo-data-table header>novo-search{padding-right:10px;display:none}@media (min-width: 1000px){novo-data-table header>novo-search{display:flex}}novo-data-table header>novo-search>input{padding:8.5px;font-size:1.1em;height:35px}novo-data-table header>novo-search.active>button[theme=fab]{height:35px;min-height:35px}novo-data-table header>div.novo-data-table-actions{display:flex;align-items:center;justify-content:flex-end}novo-data-table header>div.novo-data-table-actions>*{margin-right:.2em}novo-data-table header>div.novo-data-table-actions>*:last-child{margin-right:0}novo-data-table header>div.novo-data-table-actions>div,novo-data-table header>div.novo-data-table-actions>section{display:flex;align-items:center}novo-data-table header>div.novo-data-table-actions>div button,novo-data-table header>div.novo-data-table-actions>section button{margin-left:3px;margin-bottom:0}novo-data-table header>div.novo-data-table-actions>div button[theme][theme=icon],novo-data-table header>div.novo-data-table-actions>section button[theme][theme=icon]{height:35px;width:35px;font-size:1.4em}novo-data-table header>div.novo-data-table-actions>div novo-dropdown button[theme],novo-data-table header>div.novo-data-table-actions>section novo-dropdown button[theme]{white-space:nowrap;padding:6px 5px 6px 15px!important}novo-data-table button[theme][theme=icon]{height:30px;width:30px;padding:5px}novo-data-table .novo-data-table-loading-mask{position:absolute;display:flex;padding-top:10%;justify-content:center;inset:0;background:#00000012;z-index:10}novo-data-table .novo-data-table-detail-row{padding:1em}novo-data-table .novo-data-table-empty-container{padding-top:0}novo-data-table .novo-data-table-no-results-container,novo-data-table .novo-data-table-no-more-results-container{position:absolute;top:48%;left:0;right:0;width:100%}novo-data-table .novo-data-table-empty-container,novo-data-table .novo-data-table-no-results-container,novo-data-table .novo-data-table-no-more-results-container{padding:2em;flex:1;display:flex;align-items:center;justify-content:center;color:#9e9e9e;z-index:5}novo-data-table .novo-data-table-outside-container{display:flex;flex:1}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter{border-right:1px solid var(--border, #f7f7f7)}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter novo-date-picker .calendar{box-shadow:none}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter novo-date-picker .calendar .date-range-tabs{height:51px}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter novo-date-picker .calendar .calendar-footer{display:none}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter div.period-selector{padding:1em}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter div.period-selector .novo-form-control-label{display:block;max-width:100%;margin-bottom:1em}novo-data-table .novo-data-table-outside-container .novo-data-table-container{flex:1;overflow:auto;position:relative}novo-data-table .novo-data-table-outside-container .novo-data-table-container.empty{display:flex;flex:0}novo-data-table .novo-data-table-outside-container .novo-data-table-container.empty-user-filtered{display:flex;flex-flow:column nowrap;min-height:250px}novo-data-table .novo-data-table-outside-container-fixed{overflow:hidden;position:relative}novo-data-table .novo-data-table-outside-container-fixed .novo-data-table-container-fixed{position:absolute;width:100%;height:100%}novo-data-table .novo-data-table-footer{display:flex;align-items:center}novo-data-table .novo-data-table-footer>div,novo-data-table .novo-data-table-footer div.novo-data-table-footer-cell{border-top:1px solid var(--border, #f7f7f7);flex:1;min-width:200px;display:flex;align-items:center}novo-data-table .novo-data-table-footer>div:not(.button-cell):not(.dropdown-cell),novo-data-table .novo-data-table-footer div.novo-data-table-footer-cell:not(.button-cell):not(.dropdown-cell){padding:10px}.dropdown-container.data-table-dropdown{min-width:220px;max-width:280px;max-height:500px;overflow-x:hidden;overflow-y:hidden}.dropdown-container.data-table-dropdown.right{margin-left:-150px!important}.dropdown-container.data-table-dropdown .header{padding:5px 10px;display:flex;justify-content:space-between;align-items:center}.dropdown-container.data-table-dropdown .optgroup-container,.dropdown-container.data-table-dropdown .dropdown-list-options{max-height:346px;overflow-y:auto;overflow-x:hidden}.dropdown-container.data-table-dropdown .footer{border-top:1px solid var(--border, #f7f7f7);padding:5px 10px;display:flex;justify-content:flex-end;align-items:center}.dropdown-container.data-table-dropdown .footer button icon{font-size:.8em}.dropdown-container.data-table-dropdown list item.active{background:transparent;font-weight:500}.dropdown-container.data-table-dropdown button[theme][theme=dialogue][icon] i{padding:inherit;padding-left:5px;height:inherit;width:inherit;display:inline-block;line-height:inherit}.dropdown-container.data-table-dropdown .calendar-container{height:100%;min-height:200px;width:100%;background:#fff;padding:0!important}.dropdown-container.data-table-dropdown .calendar-container .back-link{color:#4a89dc;line-height:3em;font-size:.9em;padding-left:5px;cursor:pointer}.dropdown-container.data-table-dropdown .calendar-container novo-date-picker .calendar{width:100%;height:100%;box-shadow:none;padding:0 5px 10px}.dropdown-container.data-table-dropdown .calendar-container novo-date-picker .calendar .calendar-top{display:none}.dropdown-container.data-table-dropdown span.error-text{color:#da4453;position:relative;left:10px;top:-17px;font-size:x-small}.dropdown-container.data-table-dropdown .filter-null-results{background-color:#fff;text-align:center;color:#b5b5b5;background:transparent;font-weight:500}\n/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n"], dependencies: [{ kind: "component", type: i1.CdkTable, selector: "cdk-table, table[cdk-table]", inputs: ["trackBy", "dataSource", "multiTemplateDataRows", "fixedLayout"], outputs: ["contentChanged"], exportAs: ["cdkTable"] }, { kind: "directive", type: i1.CdkRowDef, selector: "[cdkRowDef]", inputs: ["cdkRowDefColumns", "cdkRowDefWhen"] }, { kind: "directive", type: i1.CdkCellDef, selector: "[cdkCellDef]" }, { kind: "directive", type: i1.CdkHeaderCellDef, selector: "[cdkHeaderCellDef]" }, { kind: "directive", type: i1.CdkColumnDef, selector: "[cdkColumnDef]", inputs: ["cdkColumnDef", "sticky", "stickyEnd"] }, { kind: "directive", type: i1.CdkHeaderRowDef, selector: "[cdkHeaderRowDef]", inputs: ["cdkHeaderRowDef", "cdkHeaderRowDefSticky"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.NovoIconComponent, selector: "novo-icon", inputs: ["raised", "theme", "shape", "color", "size", "smaller", "larger", "alt", "name"] }, { kind: "component", type: i3$1.NovoButtonElement, selector: "novo-button,button[theme]", inputs: ["color", "side", "size", "theme", "loading", "icon", "secondIcon", "disabled"] }, { kind: "component", type: i5$1.NovoDropdownElement, selector: "novo-dropdown", inputs: ["parentScrollSelector", "parentScrollAction", "containerClass", "side", "scrollStrategy", "keepOpen", "height", "width", "appendToBody", "multiple", "scrollToActiveItemOnOpen"], outputs: ["toggled"] }, { kind: "directive", type: i9$1.NovoDragBoxParent, selector: "[novoDragDrop]", inputs: ["novoDragDrop", "novoDragDropFilter", "novoDragDropDisableScroll"], outputs: ["novoDragDropFinish"] }, { kind: "component", type: i6$1.NovoLoadingElement, selector: "novo-loading", inputs: ["theme", "color", "size"] }, { kind: "component", type: i11$1.NovoSearchBoxElement, selector: "novo-search", inputs: ["name", "icon", "position", "placeholder", "alwaysOpen", "theme", "color", "closeOnSelect", "displayField", "displayValue", "hint", "keepOpen", "hasBackdrop", "allowPropagation", "overrideElement"], outputs: ["searchChanged", "applySearch"] }, { kind: "component", type: i11.NovoOption, selector: "novo-option", inputs: ["selected", "keepOpen", "novoInert", "value", "disabled"], exportAs: ["novoOption"] }, { kind: "component", type: i11.NovoOptgroup, selector: "novo-optgroup", inputs: ["disabled", "label"], exportAs: ["novoOptgroup"] }, { kind: "directive", type: i11.NovoTemplate, selector: "[novoTemplate]", inputs: ["type", "novoTemplate"] }, { kind: "directive", type: i11.ThemeColorDirective, selector: "[theme]", inputs: ["theme"] }, { kind: "directive", type: i12.TooltipDirective, selector: "[tooltip]", inputs: ["tooltip", "tooltipPosition", "tooltipType", "tooltipSize", "tooltipBounce", "tooltipNoAnimate", "tooltipRounded", "tooltipAlways", "tooltipPreline", "removeTooltipArrow", "tooltipAutoPosition", "tooltipIsHTML", "tooltipCloseOnClick", "tooltipOnOverflow", "tooltipActive"] }, { kind: "directive", type: i14$1.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "component", type: NovoDataTableCellHeader, selector: "[novo-data-table-cell-config]", inputs: ["defaultSort", "allowMultipleFilters", "resized", "filterTemplate", "novo-data-table-cell-config"], outputs: ["toggledFilter"] }, { kind: "directive", type: NovoDataTableSortFilter, selector: "[novoDataTableSortFilter]" }, { kind: "directive", type: NovoDataTableHeaderCell, selector: "novo-data-table-header-cell", inputs: ["column"] }, { kind: "component", type: NovoDataTableCell, selector: "novo-data-table-cell", inputs: ["row", "template", "column", "resized"] }, { kind: "component", type: NovoDataTableHeaderRow, selector: "novo-data-table-header-row", inputs: ["fixedHeader"] }, { kind: "component", type: NovoDataTableRow, selector: "novo-data-table-row", inputs: ["id", "dataAutomationId"] }, { kind: "component", type: NovoDataTablePagination, selector: "novo-data-table-pagination", inputs: ["theme", "page", "pageSize", "dataFeatureId", "pageSizeOptions", "canSelectAll", "allMatchingSelected", "loading", "errorLoading", "paginationRefreshSubject", "showPaginationTotalRecordCount", "length"], outputs: ["pageChange"] }, { kind: "component", type: NovoDataTableCheckboxCell, selector: "novo-data-table-checkbox-cell", inputs: ["row", "maxSelected"] }, { kind: "component", type: NovoDataTableCheckboxHeaderCell, selector: "novo-data-table-checkbox-header-cell", inputs: ["maxSelected"] }, { kind: "component", type: NovoDataTableExpandCell, selector: "novo-data-table-expand-cell", inputs: ["row"] }, { kind: "component", type: NovoDataTableExpandHeaderCell, selector: "novo-data-table-expand-header-cell" }, { kind: "directive", type: NovoDataTableExpandDirective, selector: "[novoDataTableExpand]", inputs: ["row", "novoDataTableExpand"] }, { kind: "pipe", type: DataTableInterpolatePipe, name: "dataTableInterpolate" }, { kind: "pipe", type: DateTableDateRendererPipe, name: "dataTableDateRenderer" }, { kind: "pipe", type: DateTableCurrencyRendererPipe, name: "dataTableCurrencyRenderer" }, { kind: "pipe", type: DateTableDateTimeRendererPipe, name: "dataTableDateTimeRenderer" }, { kind: "pipe", type: DateTableNumberRendererPipe, name: "dataTableNumberRenderer" }, { kind: "pipe", type: DateTableTimeRendererPipe, name: "dataTableTimeRenderer" }, { kind: "pipe", type: DataTableBigDecimalRendererPipe, name: "dataTableBigDecimalRenderer" }], animations: [
3155
2932
  trigger('expand', [
3156
2933
  state('void', style({ height: '0px', minHeight: '0', visibility: 'hidden' })),
3157
2934
  state('*', style({ height: '*', visibility: 'visible' })),
@@ -3159,6 +2936,10 @@ class NovoDataTable {
3159
2936
  ]),
3160
2937
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
3161
2938
  }
2939
+ __decorate([
2940
+ BooleanInput(),
2941
+ __metadata("design:type", Object)
2942
+ ], NovoDataTable.prototype, "enableColumnDragging", void 0);
3162
2943
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: NovoDataTable, decorators: [{
3163
2944
  type: Component,
3164
2945
  args: [{ selector: 'novo-data-table', animations: [
@@ -3167,263 +2948,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
3167
2948
  state('*', style({ height: '*', visibility: 'visible' })),
3168
2949
  transition('void <=> *', animate('70ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
3169
2950
  ]),
3170
- ], template: `
3171
- <header
3172
- *ngIf="(!(empty && !state.userFiltered) && !loading) || forceShowHeader"
3173
- [class.empty]="hideGlobalSearch && !paginationOptions && !templates['customActions']"
3174
- [ngClass]="{ 'pagination-footer': paginationOptions?.onFooter }"
3175
- >
3176
- <ng-container *ngTemplateOutlet="templates['customHeader']"></ng-container>
3177
- <novo-search
3178
- alwaysOpen="true"
3179
- (searchChanged)="onSearchChange($event)"
3180
- [(ngModel)]="state.globalSearch"
3181
- *ngIf="!hideGlobalSearch"
3182
- [placeholder]="searchOptions?.placeholder"
3183
- [hint]="searchOptions?.tooltip"
3184
- >
3185
- </novo-search>
3186
- <!-- Updates to novo-data-table-pagination here need to be applied to the footer as well -->
3187
- <novo-data-table-pagination
3188
- *ngIf="paginationOptions && !paginationOptions.onFooter"
3189
- [theme]="paginationOptions.theme"
3190
- [length]="useOverrideTotal ? overrideTotal : dataSource?.currentTotal"
3191
- [page]="paginationOptions.page"
3192
- [pageSize]="paginationOptions.pageSize"
3193
- [pageSizeOptions]="paginationOptions.pageSizeOptions"
3194
- [dataFeatureId]="paginatorDataFeatureId"
3195
- [canSelectAll]="canSelectAll"
3196
- [allMatchingSelected]="allMatchingSelected"
3197
- [loading]="paginationOptions.loading"
3198
- [errorLoading]="paginationOptions.errorLoading"
3199
- [paginationRefreshSubject]="paginationRefreshSubject"
3200
- >
3201
- </novo-data-table-pagination>
3202
- <div class="novo-data-table-actions" *ngIf="templates['customActions']">
3203
- <ng-container *ngTemplateOutlet="templates['customActions']"></ng-container>
3204
- </div>
3205
- </header>
3206
- <div class="novo-data-table-loading-mask" *ngIf="dataSource?.loading || loading" data-automation-id="novo-data-table-loading">
3207
- <novo-loading></novo-loading>
3208
- </div>
3209
- <div class="novo-data-table-outside-container" [ngClass]="{ 'novo-data-table-outside-container-fixed': fixedHeader }">
3210
- <div class="novo-data-table-custom-filter" *ngIf="customFilter">
3211
- <ng-container *ngTemplateOutlet="templates['customFilter']"></ng-container>
3212
- </div>
3213
- <div
3214
- #novoDataTableContainer
3215
- cdkScrollable
3216
- class="novo-data-table-container"
3217
- [ngClass]="{ 'novo-data-table-container-fixed': fixedHeader }"
3218
- [class.empty-user-filtered]="dataSource?.currentlyEmpty && state.userFiltered"
3219
- [class.empty]="empty && !dataSource?.loading && !loading && !state.userFiltered && !dataSource.pristine"
3220
- >
3221
- <cdk-table
3222
- *ngIf="columns?.length > 0 && columnsLoaded && dataSource"
3223
- [dataSource]="dataSource"
3224
- [trackBy]="trackByFn"
3225
- novoDataTableSortFilter
3226
- [class.expandable]="expandable"
3227
- [class.empty]="dataSource?.currentlyEmpty && state.userFiltered"
3228
- [hidden]="empty && !state.userFiltered"
3229
- >
3230
- <ng-container cdkColumnDef="selection">
3231
- <novo-data-table-checkbox-header-cell *cdkHeaderCellDef [maxSelected]="maxSelected"></novo-data-table-checkbox-header-cell>
3232
- <novo-data-table-checkbox-cell
3233
- *cdkCellDef="let row; let i = index"
3234
- [row]="row"
3235
- [maxSelected]="maxSelected"
3236
- ></novo-data-table-checkbox-cell>
3237
- </ng-container>
3238
- <ng-container cdkColumnDef="expand">
3239
- <novo-data-table-expand-header-cell *cdkHeaderCellDef></novo-data-table-expand-header-cell>
3240
- <novo-data-table-expand-cell *cdkCellDef="let row; let i = index" [row]="row"></novo-data-table-expand-cell>
3241
- </ng-container>
3242
- <ng-container *ngFor="let column of columns; trackBy: trackColumnsBy" [cdkColumnDef]="column.id">
3243
- <novo-data-table-header-cell
3244
- *cdkHeaderCellDef
3245
- [column]="column"
3246
- [filterTemplate]="templates['column-filter-' + (column.filterable?.customTemplate || column.id)]"
3247
- (toggledFilter)="toggledFilter.next($event)"
3248
- [novo-data-table-cell-config]="column"
3249
- [resized]="resized"
3250
- [defaultSort]="defaultSort"
3251
- [allowMultipleFilters]="allowMultipleFilters"
3252
- [class.empty]="column?.type === 'action' && !column?.label"
3253
- [class.button-header-cell]="column?.type === 'expand' || (column?.type === 'action' && !column?.action?.options)"
3254
- [class.dropdown-header-cell]="column?.type === 'action' && column?.action?.options"
3255
- [class.fixed-header]="fixedHeader"
3256
- ></novo-data-table-header-cell>
3257
- <novo-data-table-cell
3258
- *cdkCellDef="let row"
3259
- [resized]="resized"
3260
- [column]="column"
3261
- [row]="row"
3262
- [template]="columnToTemplate[column.id]"
3263
- [class.empty]="column?.type === 'action' && !column?.label"
3264
- [class.button-cell]="column?.type === 'expand' || (column?.type === 'action' && !column?.action?.options)"
3265
- [class.dropdown-cell]="column?.type === 'action' && column?.action?.options"
3266
- ></novo-data-table-cell>
3267
- </ng-container>
3268
- <novo-data-table-header-row
3269
- *cdkHeaderRowDef="displayedColumns"
3270
- [fixedHeader]="fixedHeader"
3271
- data-automation-id="novo-data-table-header-row"
3272
- ></novo-data-table-header-row>
3273
- <novo-data-table-row
3274
- *cdkRowDef="let row; columns: displayedColumns"
3275
- [ngClass]="{ active: row[rowIdentifier] == activeRowIdentifier }"
3276
- [novoDataTableExpand]="detailRowTemplate"
3277
- [row]="row"
3278
- [id]="name + '-' + row[rowIdentifier]"
3279
- [dataAutomationId]="row[rowIdentifier]"
3280
- ></novo-data-table-row>
3281
- </cdk-table>
3282
- <div class="novo-data-table-footer" *ngIf="templates['footer']">
3283
- <ng-container *ngTemplateOutlet="templates['footer']; context: { $implicit: columns, data: dataSource.data }"></ng-container>
3284
- </div>
3285
- <div
3286
- class="novo-data-table-no-results-container"
3287
- [style.left.px]="scrollLeft"
3288
- *ngIf="dataSource?.currentlyEmpty && state.userFiltered && !dataSource?.loading && !loading && !dataSource.pristine"
3289
- >
3290
- <div class="novo-data-table-empty-message">
3291
- <ng-container *ngTemplateOutlet="templates['noResultsMessage'] || templates['defaultNoResultsMessage']"></ng-container>
3292
- </div>
3293
- </div>
3294
- <div
3295
- class="novo-data-table-no-more-results-container"
3296
- [style.left.px]="scrollLeft"
3297
- *ngIf="!empty && dataSource?.currentlyEmpty && !state.userFiltered && !dataSource?.loading && !loading && !dataSource.pristine"
3298
- >
3299
- <div class="novo-data-table-empty-message">
3300
- <ng-container *ngTemplateOutlet="templates['noMoreResultsMessage'] || templates['defaultNoMoreResultsMessage']"></ng-container>
3301
- </div>
3302
- </div>
3303
- </div>
3304
- <div
3305
- class="novo-data-table-empty-container"
3306
- *ngIf="empty && !dataSource?.loading && !loading && !state.userFiltered && !dataSource.pristine"
3307
- >
3308
- <div class="novo-data-table-empty-message">
3309
- <ng-container *ngTemplateOutlet="templates['emptyMessage'] || templates['defaultNoResultsMessage']"></ng-container>
3310
- </div>
3311
- </div>
3312
- </div>
3313
- <!-- DEFAULT CELL TEMPLATE -->
3314
- <ng-template novoTemplate="textCellTemplate" let-row let-col="col">
3315
- <span [style.width.px]="col?.width" [style.min-width.px]="col?.width" [style.max-width.px]="col?.width">{{
3316
- row[col.id] | dataTableInterpolate: col
3317
- }}</span>
3318
- </ng-template>
3319
- <ng-template novoTemplate="dateCellTemplate" let-row let-col="col">
3320
- <span>{{ row[col.id] | dataTableInterpolate: col | dataTableDateRenderer: col }}</span>
3321
- </ng-template>
3322
- <ng-template novoTemplate="datetimeCellTemplate" let-row let-col="col">
3323
- <span>{{ row[col.id] | dataTableInterpolate: col | dataTableDateTimeRenderer: col }}</span>
3324
- </ng-template>
3325
- <ng-template novoTemplate="timeCellTemplate" let-row let-col="col">
3326
- <span>{{ row[col.id] | dataTableInterpolate: col | dataTableTimeRenderer: col }}</span>
3327
- </ng-template>
3328
- <ng-template novoTemplate="currencyCellTemplate" let-row let-col="col">
3329
- <span>{{ row[col.id] | dataTableInterpolate: col | dataTableCurrencyRenderer: col }}</span>
3330
- </ng-template>
3331
- <ng-template novoTemplate="bigdecimalCellTemplate" let-row let-col="col">
3332
- <span>{{ row[col.id] | dataTableInterpolate: col | dataTableBigDecimalRenderer: col }}</span>
3333
- </ng-template>
3334
- <ng-template novoTemplate="numberCellTemplate" let-row let-col="col">
3335
- <span>{{ row[col.id] | dataTableInterpolate: col | dataTableNumberRenderer: col }}</span>
3336
- </ng-template>
3337
- <ng-template novoTemplate="percentCellTemplate" let-row let-col="col">
3338
- <span>{{ row[col.id] | dataTableInterpolate: col | dataTableNumberRenderer: col:true }}</span>
3339
- </ng-template>
3340
- <ng-template novoTemplate="linkCellTemplate" let-row let-col="col">
3341
- <a
3342
- [attr.data-feature-id]="col?.attributes?.dataFeatureId"
3343
- (click)="col.handlers?.click({ originalEvent: $event, row: row })"
3344
- [style.width.px]="col?.width"
3345
- [style.min-width.px]="col?.width"
3346
- [style.max-width.px]="col?.width"
3347
- >{{ row[col.id] | dataTableInterpolate: col }}</a
3348
- >
3349
- </ng-template>
3350
- <ng-template novoTemplate="telCellTemplate" let-row let-col="col">
3351
- <a href="tel:{{ row[col.id] | dataTableInterpolate: col }}" [target]="col?.attributes?.target">{{
3352
- row[col.id] | dataTableInterpolate: col
3353
- }}</a>
3354
- </ng-template>
3355
- <ng-template novoTemplate="mailtoCellTemplate" let-row let-col="col">
3356
- <a href="mailto:{{ row[col.id] | dataTableInterpolate: col }}" [target]="col?.attributes?.target">{{
3357
- row[col.id] | dataTableInterpolate: col
3358
- }}</a>
3359
- </ng-template>
3360
- <ng-template novoTemplate="buttonCellTemplate" let-row let-col="col">
3361
- <novo-button
3362
- size="small"
3363
- theme="icon"
3364
- [tooltip]="col?.action?.tooltip"
3365
- tooltipPosition="right"
3366
- [attr.data-feature-id]="col?.attributes?.dataFeatureId"
3367
- [disabled]="isDisabled(col, row)"
3368
- (click)="col.handlers?.click({ originalEvent: $event, row: row })"
3369
- >
3370
- <novo-icon>{{ col?.action?.icon }}</novo-icon>
3371
- </novo-button>
3372
- </ng-template>
3373
- <ng-template novoTemplate="dropdownCellTemplate" let-row let-col="col">
3374
- <novo-dropdown parentScrollSelector=".novo-data-table-container" containerClass="novo-data-table-dropdown">
3375
- <novo-button type="button" theme="dialogue" [icon]="col.action.icon" inverse>{{ col.label }}</novo-button>
3376
- <novo-optgroup>
3377
- <novo-option
3378
- *ngFor="let option of col?.action?.options"
3379
- (click)="option.handlers.click({ originalEvent: $event?.originalEvent, row: row })"
3380
- [disabled]="isDisabled(option, row)"
3381
- >
3382
- <span [attr.data-automation-id]="option.label">{{ option.label }}</span>
3383
- </novo-option>
3384
- </novo-optgroup>
3385
- </novo-dropdown>
3386
- </ng-template>
3387
- <ng-template novoTemplate="defaultNoResultsMessage">
3388
- <h4><i class="bhi-search-question"></i> {{ labels.noMatchingRecordsMessage }}</h4>
3389
- </ng-template>
3390
- <ng-template novoTemplate="defaultNoMoreResultsMessage">
3391
- <h4><i class="bhi-search-question"></i> {{ labels.noMoreRecordsMessage }}</h4>
3392
- </ng-template>
3393
- <ng-template novoTemplate="defaultEmptyMessage">
3394
- <h4><i class="bhi-search-question"></i> {{ labels.emptyTableMessage }}</h4>
3395
- </ng-template>
3396
- <ng-template novoTemplate="expandedRow"> You did not provide an "expandedRow" template! </ng-template>
3397
- <ng-template #detailRowTemplate let-row>
3398
- <div class="novo-data-table-detail-row" [@expand] style="overflow: hidden">
3399
- <ng-container *ngTemplateOutlet="templates['expandedRow']; context: { $implicit: row }"></ng-container>
3400
- </div>
3401
- </ng-template>
3402
- <!-- CUSTOM CELLS PASSED IN -->
3403
- <footer
3404
- *ngIf="paginationOptions?.onFooter && ((!(empty && !state.userFiltered) && !loading) || forceShowHeader)"
3405
- [class.empty]="!paginationOptions"
3406
- >
3407
- <!-- Updates to novo-data-table-pagination here need to be applied to the header as well -->
3408
- <novo-data-table-pagination
3409
- *ngIf="paginationOptions?.onFooter"
3410
- [theme]="paginationOptions.theme"
3411
- [length]="useOverrideTotal ? overrideTotal : dataSource?.currentTotal"
3412
- [page]="paginationOptions.page"
3413
- [pageSize]="paginationOptions.pageSize"
3414
- [pageSizeOptions]="paginationOptions.pageSizeOptions"
3415
- [dataFeatureId]="paginatorDataFeatureId"
3416
- [canSelectAll]="canSelectAll"
3417
- [allMatchingSelected]="allMatchingSelected"
3418
- [loading]="paginationOptions.loading"
3419
- [errorLoading]="paginationOptions.errorLoading"
3420
- [paginationRefreshSubject]="paginationRefreshSubject"
3421
- [showPaginationTotalRecordCount]="true"
3422
- >
3423
- </novo-data-table-pagination>
3424
- </footer>
3425
- <ng-content></ng-content>
3426
- `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DataTableState, { provide: NOVO_DATA_TABLE_REF, useExisting: NovoDataTable }], standalone: false, styles: ["html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:var(--font-family-mono, \"monospace\");font-size:1em}a,novo-data-table .clickable{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:var(--font-family-mono, \"monospace\");font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none!important}cdk-table{display:block;flex:1}cdk-table.expandable{width:fit-content;min-width:100%}cdk-table.empty{min-height:62px;max-height:62px}cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-checkbox-cell{background-color:var(--background-muted, #f4f4f4)}cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-checkbox-cell{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(odd).active+.novo-data-table-detail-row{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(odd)+.novo-data-table-detail-row{background-color:var(--background-muted, #f4f4f4)}cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-checkbox-cell{background-color:var(--background-body, #ffffff)}cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-checkbox-cell{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(2n).active+.novo-data-table-detail-row{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(2n)+.novo-data-table-detail-row{background-color:var(--background-body, #ffffff)}.novo-data-table-cell-align-right{text-align:right;justify-content:flex-end;overflow:hidden;text-overflow:clip}.novo-data-table-header-row,.novo-data-table-header-cell{position:relative;z-index:1}.novo-data-table-header-row.fixed-header,.novo-data-table-header-cell.fixed-header{position:sticky;top:0}.novo-data-table-row,.novo-data-table-header-row{display:flex;flex-direction:row;flex-wrap:nowrap;background-color:var(--background-body, #ffffff)}.novo-data-table-row .novo-data-table-header-cell,.novo-data-table-row .novo-data-table-checkbox-header-cell,.novo-data-table-header-row .novo-data-table-header-cell,.novo-data-table-header-row .novo-data-table-checkbox-header-cell{background-color:var(--background-body, #ffffff)}.novo-data-table-row.expanded i.bhi-next.data-table-icon,.novo-data-table-header-row.expanded i.bhi-next.data-table-icon{cursor:pointer;transition:all .1s}.novo-data-table-row.expanded i.bhi-next.data-table-icon.expanded,.novo-data-table-header-row.expanded i.bhi-next.data-table-icon.expanded{transform:rotate(90deg)}.novo-data-table-header-cell.resizable{padding-right:0}.novo-data-table-header-cell.resizable:hover{background-color:var(--background-muted, #4f5361)}.novo-data-table-header-cell.resizable .data-table-header-resizable{height:100%}.novo-data-table-header-cell.resizable .data-table-header-resizable span{cursor:ew-resize;background-color:var(--border, #4f5361);width:1px;margin:0 4px;display:block}.novo-data-table-header-cell>div>button{margin-right:2px}.novo-data-table-header-cell>div.spacer{flex-grow:100}.novo-data-table-clear-button button{min-width:80px!important}.novo-data-table-cell,.novo-data-table-header-cell{min-width:200px;padding:9px;flex:1;line-height:1.1em}.novo-data-table-cell>i.label-icon,.novo-data-table-header-cell>i.label-icon{margin-right:.5em}.novo-data-table-cell>span,.novo-data-table-header-cell>span{display:block;min-width:180px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.novo-data-table-cell novo-dropdown,.novo-data-table-header-cell novo-dropdown{display:inline-block}.novo-data-table-cell .filter-button,.novo-data-table-header-cell .filter-button{color:var(--text-muted);background:transparent;pointer-events:all;margin-left:.5rem;line-height:1em;outline:none}.novo-data-table-cell .filter-button:hover,.novo-data-table-header-cell .filter-button:hover{color:var(--text-main)}.novo-data-table-cell .filter-button.filter-active,.novo-data-table-header-cell .filter-button.filter-active{color:var(--selection)}.novo-data-table-cell button.active,.novo-data-table-header-cell button.active{color:#fff;background:#4a89dc}.novo-data-table-cell button.active:hover,.novo-data-table-cell button.active:active,.novo-data-table-cell button.active:focus,.novo-data-table-cell button.active:visited,.novo-data-table-header-cell button.active:hover,.novo-data-table-header-cell button.active:active,.novo-data-table-header-cell button.active:focus,.novo-data-table-header-cell button.active:visited{background:#4a89dc!important}.novo-data-table-cell.clickable,.novo-data-table-header-cell.clickable{cursor:pointer;color:#39d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.novo-data-table-cell{display:flex;flex-direction:row;align-items:center}.novo-data-table-cell.dropdown-cell,.novo-data-table-cell.button-cell{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:0 5px}.novo-data-table-cell.dropdown-cell novo-dropdown button,.novo-data-table-cell.button-cell novo-dropdown button{padding:0 0 0 5px}.novo-data-table-cell.dropdown-cell novo-dropdown button:hover,.novo-data-table-cell.dropdown-cell novo-dropdown button:active,.novo-data-table-cell.dropdown-cell novo-dropdown button:focus,.novo-data-table-cell.button-cell novo-dropdown button:hover,.novo-data-table-cell.button-cell novo-dropdown button:active,.novo-data-table-cell.button-cell novo-dropdown button:focus{background:#0000001a!important}.novo-data-table-cell.button-cell{min-width:40px;max-width:40px}.novo-data-table-cell.dropdown-cell{min-width:98px;max-width:98px}.novo-data-table-cell.dropdown-cell.empty{min-width:39px;max-width:39px}.novo-data-table-cell i.data-table-icon{cursor:pointer;font-size:1.2em;padding:.5em;border-radius:3px}.novo-data-table-cell i.data-table-icon.disabled{pointer-events:none;opacity:.7}.novo-data-table-cell i.data-table-icon:hover{background:#0000001a}.novo-data-table-cell i.data-table-icon:active{background:#00000040}.novo-data-table-header-cell{white-space:normal;overflow-wrap:break-word;display:flex;align-items:center}.novo-data-table-header-cell+.button-header-cell,.novo-data-table-header-cell+.dropdown-header-cell{border-left:none}.novo-data-table-header-cell>label{display:inline-block;padding-right:10px;overflow:hidden;text-overflow:ellipsis}.novo-data-table-header-cell>label.sort-disabled{cursor:default}.novo-data-table-header-cell>div{width:55px;display:flex;align-items:center;flex:0}.novo-data-table-header-cell novo-dropdown[side=right]{display:inline-block}.novo-data-table-header-cell novo-dropdown[side=right]:focus{outline:none}.novo-data-table-header-cell.button-header-cell{min-width:40px;max-width:40px}.novo-data-table-header-cell.dropdown-header-cell{min-width:98px;max-width:98px}.novo-data-table-header-cell.dropdown-header-cell.empty{min-width:39px;max-width:39px}.novo-data-table-expand-header-cell,.novo-data-table-expand-cell{display:flex;align-items:center;justify-content:center;width:30px}.novo-data-table-expand-header-cell i,.novo-data-table-expand-cell i{cursor:pointer;transition:all .1s}.novo-data-table-expand-header-cell i.expanded,.novo-data-table-expand-cell i.expanded{transform:rotate(90deg)}.novo-data-table-checkbox-header-cell,.novo-data-table-checkbox-cell{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;max-width:40px;padding:0 10px}.novo-data-table-checkbox-header-cell div.data-table-checkbox,.novo-data-table-checkbox-cell div.data-table-checkbox{display:flex;cursor:pointer}.novo-data-table-checkbox-header-cell div.data-table-checkbox i,.novo-data-table-checkbox-cell div.data-table-checkbox i{cursor:pointer}.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-box-empty,.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-checkbox-disabled,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-box-empty,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-checkbox-disabled{cursor:not-allowed!important}.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-checkbox-empty,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-checkbox-empty{color:#d2d2d2}.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-box-yes,.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-checkbox-filled,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-box-yes,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-checkbox-filled{color:#4a89dc}.novo-data-table-checkbox-header-cell input,.novo-data-table-checkbox-cell input{appearance:none!important;height:0!important;border:none!important}novo-data-table{position:relative;width:100%;display:flex;flex-direction:column;flex:1}novo-data-table.loading{min-height:300px}novo-data-table header{padding:5px;display:flex;align-items:center;flex-shrink:0;border-bottom:1px solid var(--border, #f7f7f7)}novo-data-table header.pagination-footer{justify-content:space-between}novo-data-table header.empty{padding:0}novo-data-table header>[novo-data-table-custom-header]{flex:1}novo-data-table header>novo-search{padding-right:10px;display:none}@media (min-width: 1000px){novo-data-table header>novo-search{display:flex}}novo-data-table header>novo-search>input{padding:8.5px;font-size:1.1em;height:35px}novo-data-table header>novo-search.active>button[theme=fab]{height:35px;min-height:35px}novo-data-table header>div.novo-data-table-actions{display:flex;align-items:center;justify-content:flex-end}novo-data-table header>div.novo-data-table-actions>*{margin-right:.2em}novo-data-table header>div.novo-data-table-actions>*:last-child{margin-right:0}novo-data-table header>div.novo-data-table-actions>div,novo-data-table header>div.novo-data-table-actions>section{display:flex;align-items:center}novo-data-table header>div.novo-data-table-actions>div button,novo-data-table header>div.novo-data-table-actions>section button{margin-left:3px;margin-bottom:0}novo-data-table header>div.novo-data-table-actions>div button[theme][theme=icon],novo-data-table header>div.novo-data-table-actions>section button[theme][theme=icon]{height:35px;width:35px;font-size:1.4em}novo-data-table header>div.novo-data-table-actions>div novo-dropdown button[theme],novo-data-table header>div.novo-data-table-actions>section novo-dropdown button[theme]{white-space:nowrap;padding:6px 5px 6px 15px!important}novo-data-table button[theme][theme=icon]{height:30px;width:30px;padding:5px}novo-data-table .novo-data-table-loading-mask{position:absolute;display:flex;padding-top:10%;justify-content:center;inset:0;background:#00000012;z-index:10}novo-data-table .novo-data-table-detail-row{padding:1em}novo-data-table .novo-data-table-empty-container{padding-top:0}novo-data-table .novo-data-table-no-results-container,novo-data-table .novo-data-table-no-more-results-container{position:absolute;top:48%;left:0;right:0;width:100%}novo-data-table .novo-data-table-empty-container,novo-data-table .novo-data-table-no-results-container,novo-data-table .novo-data-table-no-more-results-container{padding:2em;flex:1;display:flex;align-items:center;justify-content:center;color:#9e9e9e;z-index:5}novo-data-table .novo-data-table-outside-container{display:flex;flex:1}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter{border-right:1px solid var(--border, #f7f7f7)}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter novo-date-picker .calendar{box-shadow:none}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter novo-date-picker .calendar .date-range-tabs{height:51px}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter novo-date-picker .calendar .calendar-footer{display:none}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter div.period-selector{padding:1em}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter div.period-selector .novo-form-control-label{display:block;max-width:100%;margin-bottom:1em}novo-data-table .novo-data-table-outside-container .novo-data-table-container{flex:1;overflow:auto;position:relative}novo-data-table .novo-data-table-outside-container .novo-data-table-container.empty{display:flex;flex:0}novo-data-table .novo-data-table-outside-container .novo-data-table-container.empty-user-filtered{display:flex;flex-flow:column nowrap;min-height:250px}novo-data-table .novo-data-table-outside-container-fixed{overflow:hidden;position:relative}novo-data-table .novo-data-table-outside-container-fixed .novo-data-table-container-fixed{position:absolute;width:100%;height:100%}novo-data-table .novo-data-table-footer{display:flex;align-items:center}novo-data-table .novo-data-table-footer>div,novo-data-table .novo-data-table-footer div.novo-data-table-footer-cell{border-top:1px solid var(--border, #f7f7f7);flex:1;min-width:200px;display:flex;align-items:center}novo-data-table .novo-data-table-footer>div:not(.button-cell):not(.dropdown-cell),novo-data-table .novo-data-table-footer div.novo-data-table-footer-cell:not(.button-cell):not(.dropdown-cell){padding:10px}.dropdown-container.data-table-dropdown{min-width:220px;max-width:280px;max-height:500px;overflow-x:hidden;overflow-y:hidden}.dropdown-container.data-table-dropdown.right{margin-left:-150px!important}.dropdown-container.data-table-dropdown .header{padding:5px 10px;display:flex;justify-content:space-between;align-items:center}.dropdown-container.data-table-dropdown .optgroup-container,.dropdown-container.data-table-dropdown .dropdown-list-options{max-height:346px;overflow-y:auto;overflow-x:hidden}.dropdown-container.data-table-dropdown .footer{border-top:1px solid var(--border, #f7f7f7);padding:5px 10px;display:flex;justify-content:flex-end;align-items:center}.dropdown-container.data-table-dropdown .footer button icon{font-size:.8em}.dropdown-container.data-table-dropdown list item.active{background:transparent;font-weight:500}.dropdown-container.data-table-dropdown button[theme][theme=dialogue][icon] i{padding:inherit;padding-left:5px;height:inherit;width:inherit;display:inline-block;line-height:inherit}.dropdown-container.data-table-dropdown .calendar-container{height:100%;min-height:200px;width:100%;background:#fff;padding:0!important}.dropdown-container.data-table-dropdown .calendar-container .back-link{color:#4a89dc;line-height:3em;font-size:.9em;padding-left:5px;cursor:pointer}.dropdown-container.data-table-dropdown .calendar-container novo-date-picker .calendar{width:100%;height:100%;box-shadow:none;padding:0 5px 10px}.dropdown-container.data-table-dropdown .calendar-container novo-date-picker .calendar .calendar-top{display:none}.dropdown-container.data-table-dropdown span.error-text{color:#da4453;position:relative;left:10px;top:-17px;font-size:x-small}.dropdown-container.data-table-dropdown .filter-null-results{background-color:#fff;text-align:center;color:#b5b5b5;background:transparent;font-weight:500}\n/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n"] }]
2951
+ ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DataTableState, { provide: NOVO_DATA_TABLE_REF, useExisting: NovoDataTable }], standalone: false, template: "<header\n *ngIf=\"(!(empty && !state.userFiltered) && !loading) || forceShowHeader\"\n [class.empty]=\"hideGlobalSearch && !paginationOptions && !templates['customActions']\"\n [ngClass]=\"{ 'pagination-footer': paginationOptions?.onFooter }\"\n>\n <ng-container *ngTemplateOutlet=\"templates['customHeader']\"></ng-container>\n <novo-search\n alwaysOpen=\"true\"\n (searchChanged)=\"onSearchChange($event)\"\n [(ngModel)]=\"state.globalSearch\"\n *ngIf=\"!hideGlobalSearch\"\n [placeholder]=\"searchOptions?.placeholder\"\n [hint]=\"searchOptions?.tooltip\"\n >\n </novo-search>\n <!-- Updates to novo-data-table-pagination here need to be applied to the footer as well -->\n <novo-data-table-pagination\n *ngIf=\"paginationOptions && !paginationOptions.onFooter\"\n [theme]=\"paginationOptions.theme\"\n [length]=\"useOverrideTotal ? overrideTotal : dataSource?.currentTotal\"\n [page]=\"paginationOptions.page\"\n [pageSize]=\"paginationOptions.pageSize\"\n [pageSizeOptions]=\"paginationOptions.pageSizeOptions\"\n [dataFeatureId]=\"paginatorDataFeatureId\"\n [canSelectAll]=\"canSelectAll\"\n [allMatchingSelected]=\"allMatchingSelected\"\n [loading]=\"paginationOptions.loading\"\n [errorLoading]=\"paginationOptions.errorLoading\"\n [paginationRefreshSubject]=\"paginationRefreshSubject\"\n >\n </novo-data-table-pagination>\n <div class=\"novo-data-table-actions\" *ngIf=\"templates['customActions']\">\n <ng-container *ngTemplateOutlet=\"templates['customActions']\"></ng-container>\n </div>\n</header>\n<div class=\"novo-data-table-loading-mask\" *ngIf=\"dataSource?.loading || loading\" data-automation-id=\"novo-data-table-loading\">\n <novo-loading></novo-loading>\n</div>\n<div class=\"novo-data-table-outside-container\" [ngClass]=\"{ 'novo-data-table-outside-container-fixed': fixedHeader }\">\n <div class=\"novo-data-table-custom-filter\" *ngIf=\"customFilter\">\n <ng-container *ngTemplateOutlet=\"templates['customFilter']\"></ng-container>\n </div>\n <div\n #novoDataTableContainer\n cdkScrollable\n class=\"novo-data-table-container\"\n [ngClass]=\"{ 'novo-data-table-container-fixed': fixedHeader }\"\n [class.empty-user-filtered]=\"dataSource?.currentlyEmpty && state.userFiltered\"\n [class.empty]=\"empty && !dataSource?.loading && !loading && !state.userFiltered && !dataSource.pristine\"\n >\n <cdk-table\n *ngIf=\"columns?.length > 0 && columnsLoaded && dataSource\"\n [dataSource]=\"dataSource\"\n [trackBy]=\"trackByFn\"\n novoDataTableSortFilter\n [class.expandable]=\"expandable\"\n [class.empty]=\"dataSource?.currentlyEmpty && state.userFiltered\"\n [hidden]=\"empty && !state.userFiltered\"\n >\n <ng-container cdkColumnDef=\"selection\">\n <novo-data-table-checkbox-header-cell *cdkHeaderCellDef [maxSelected]=\"maxSelected\"></novo-data-table-checkbox-header-cell>\n <novo-data-table-checkbox-cell\n *cdkCellDef=\"let row; let i = index\"\n [row]=\"row\"\n [maxSelected]=\"maxSelected\"\n ></novo-data-table-checkbox-cell>\n </ng-container>\n <ng-container cdkColumnDef=\"expand\">\n <novo-data-table-expand-header-cell *cdkHeaderCellDef></novo-data-table-expand-header-cell>\n <novo-data-table-expand-cell *cdkCellDef=\"let row; let i = index\" [row]=\"row\"></novo-data-table-expand-cell>\n </ng-container>\n <ng-container *ngFor=\"let column of columns; trackBy: trackColumnsBy\" [cdkColumnDef]=\"column.id\">\n <novo-data-table-header-cell\n *cdkHeaderCellDef\n [column]=\"column\"\n [filterTemplate]=\"templates['column-filter-' + (column.filterable?.customTemplate || column.id)]\"\n (toggledFilter)=\"toggledFilter.next($event)\"\n [novo-data-table-cell-config]=\"column\"\n [resized]=\"resized\"\n [defaultSort]=\"defaultSort\"\n [allowMultipleFilters]=\"allowMultipleFilters\"\n [class.empty]=\"column?.type === 'action' && !column?.label\"\n [class.button-header-cell]=\"column?.type === 'expand' || (column?.type === 'action' && !column?.action?.options)\"\n [class.dropdown-header-cell]=\"column?.type === 'action' && column?.action?.options\"\n [class.fixed-header]=\"fixedHeader\"\n ></novo-data-table-header-cell>\n <novo-data-table-cell\n *cdkCellDef=\"let row\"\n [resized]=\"resized\"\n [column]=\"column\"\n [row]=\"row\"\n [template]=\"columnToTemplate[column.id]\"\n [class.empty]=\"column?.type === 'action' && !column?.label\"\n [class.button-cell]=\"column?.type === 'expand' || (column?.type === 'action' && !column?.action?.options)\"\n [class.dropdown-cell]=\"column?.type === 'action' && column?.action?.options\"\n ></novo-data-table-cell>\n </ng-container>\n <novo-data-table-header-row\n *cdkHeaderRowDef=\"displayedColumns\"\n [novoDragDrop]=\"enableColumnDragging ? displayedColumns : undefined\"\n [novoDragDropFilter]=\"columnDragFilter\"\n (novoDragDropFinish)=\"columnDragged($event)\"\n [fixedHeader]=\"fixedHeader\"\n data-automation-id=\"novo-data-table-header-row\"\n ></novo-data-table-header-row>\n <novo-data-table-row\n *cdkRowDef=\"let row; columns: displayedColumns\"\n [ngClass]=\"{ active: row[rowIdentifier] == activeRowIdentifier }\"\n [novoDataTableExpand]=\"detailRowTemplate\"\n [row]=\"row\"\n [id]=\"name + '-' + row[rowIdentifier]\"\n [dataAutomationId]=\"row[rowIdentifier]\"\n ></novo-data-table-row>\n </cdk-table>\n <div class=\"novo-data-table-footer\" *ngIf=\"templates['footer']\">\n <ng-container *ngTemplateOutlet=\"templates['footer']; context: { $implicit: columns, data: dataSource.data }\"></ng-container>\n </div>\n <div\n class=\"novo-data-table-no-results-container\"\n [style.left.px]=\"scrollLeft\"\n *ngIf=\"dataSource?.currentlyEmpty && state.userFiltered && !dataSource?.loading && !loading && !dataSource.pristine\"\n >\n <div class=\"novo-data-table-empty-message\">\n <ng-container *ngTemplateOutlet=\"templates['noResultsMessage'] || templates['defaultNoResultsMessage']\"></ng-container>\n </div>\n </div>\n <div\n class=\"novo-data-table-no-more-results-container\"\n [style.left.px]=\"scrollLeft\"\n *ngIf=\"!empty && dataSource?.currentlyEmpty && !state.userFiltered && !dataSource?.loading && !loading && !dataSource.pristine\"\n >\n <div class=\"novo-data-table-empty-message\">\n <ng-container *ngTemplateOutlet=\"templates['noMoreResultsMessage'] || templates['defaultNoMoreResultsMessage']\"></ng-container>\n </div>\n </div>\n </div>\n <div\n class=\"novo-data-table-empty-container\"\n *ngIf=\"empty && !dataSource?.loading && !loading && !state.userFiltered && !dataSource.pristine\"\n >\n <div class=\"novo-data-table-empty-message\">\n <ng-container *ngTemplateOutlet=\"templates['emptyMessage'] || templates['defaultNoResultsMessage']\"></ng-container>\n </div>\n </div>\n</div>\n<!-- DEFAULT CELL TEMPLATE -->\n<ng-template novoTemplate=\"textCellTemplate\" let-row let-col=\"col\">\n <span [style.width.px]=\"col?.width\" [style.min-width.px]=\"col?.width\" [style.max-width.px]=\"col?.width\">{{\n row[col.id] | dataTableInterpolate: col\n }}</span>\n</ng-template>\n<ng-template novoTemplate=\"dateCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableDateRenderer: col }}</span>\n</ng-template>\n<ng-template novoTemplate=\"datetimeCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableDateTimeRenderer: col }}</span>\n</ng-template>\n<ng-template novoTemplate=\"timeCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableTimeRenderer: col }}</span>\n</ng-template>\n<ng-template novoTemplate=\"currencyCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableCurrencyRenderer: col }}</span>\n</ng-template>\n<ng-template novoTemplate=\"bigdecimalCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableBigDecimalRenderer: col }}</span>\n</ng-template>\n<ng-template novoTemplate=\"numberCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableNumberRenderer: col }}</span>\n</ng-template>\n<ng-template novoTemplate=\"percentCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableNumberRenderer: col:true }}</span>\n</ng-template>\n<ng-template novoTemplate=\"linkCellTemplate\" let-row let-col=\"col\">\n <a\n [attr.data-feature-id]=\"col?.attributes?.dataFeatureId\"\n (click)=\"col.handlers?.click({ originalEvent: $event, row: row })\"\n [style.width.px]=\"col?.width\"\n [style.min-width.px]=\"col?.width\"\n [style.max-width.px]=\"col?.width\"\n >{{ row[col.id] | dataTableInterpolate: col }}</a\n >\n</ng-template>\n<ng-template novoTemplate=\"telCellTemplate\" let-row let-col=\"col\">\n <a href=\"tel:{{ row[col.id] | dataTableInterpolate: col }}\" [target]=\"col?.attributes?.target\">{{\n row[col.id] | dataTableInterpolate: col\n }}</a>\n</ng-template>\n<ng-template novoTemplate=\"mailtoCellTemplate\" let-row let-col=\"col\">\n <a href=\"mailto:{{ row[col.id] | dataTableInterpolate: col }}\" [target]=\"col?.attributes?.target\">{{\n row[col.id] | dataTableInterpolate: col\n }}</a>\n</ng-template>\n<ng-template novoTemplate=\"buttonCellTemplate\" let-row let-col=\"col\">\n <novo-button\n size=\"small\"\n theme=\"icon\"\n [tooltip]=\"col?.action?.tooltip\"\n tooltipPosition=\"right\"\n [attr.data-feature-id]=\"col?.attributes?.dataFeatureId\"\n [disabled]=\"isDisabled(col, row)\"\n (click)=\"col.handlers?.click({ originalEvent: $event, row: row })\"\n >\n <novo-icon>{{ col?.action?.icon }}</novo-icon>\n </novo-button>\n</ng-template>\n<ng-template novoTemplate=\"dropdownCellTemplate\" let-row let-col=\"col\">\n <novo-dropdown parentScrollSelector=\".novo-data-table-container\" containerClass=\"novo-data-table-dropdown\">\n <novo-button type=\"button\" theme=\"dialogue\" [icon]=\"col.action.icon\" inverse>{{ col.label }}</novo-button>\n <novo-optgroup>\n <novo-option\n *ngFor=\"let option of col?.action?.options\"\n (click)=\"option.handlers.click({ originalEvent: $event?.originalEvent, row: row })\"\n [disabled]=\"isDisabled(option, row)\"\n >\n <span [attr.data-automation-id]=\"option.label\">{{ option.label }}</span>\n </novo-option>\n </novo-optgroup>\n </novo-dropdown>\n</ng-template>\n<ng-template novoTemplate=\"defaultNoResultsMessage\">\n <h4><i class=\"bhi-search-question\"></i> {{ labels.noMatchingRecordsMessage }}</h4>\n</ng-template>\n<ng-template novoTemplate=\"defaultNoMoreResultsMessage\">\n <h4><i class=\"bhi-search-question\"></i> {{ labels.noMoreRecordsMessage }}</h4>\n</ng-template>\n<ng-template novoTemplate=\"defaultEmptyMessage\">\n <h4><i class=\"bhi-search-question\"></i> {{ labels.emptyTableMessage }}</h4>\n</ng-template>\n<ng-template novoTemplate=\"expandedRow\"> You did not provide an \"expandedRow\" template! </ng-template>\n<ng-template #detailRowTemplate let-row>\n <div class=\"novo-data-table-detail-row\" [@expand] style=\"overflow: hidden\">\n <ng-container *ngTemplateOutlet=\"templates['expandedRow']; context: { $implicit: row }\"></ng-container>\n </div>\n</ng-template>\n<!-- CUSTOM CELLS PASSED IN -->\n<footer\n *ngIf=\"paginationOptions?.onFooter && ((!(empty && !state.userFiltered) && !loading) || forceShowHeader)\"\n [class.empty]=\"!paginationOptions\"\n>\n <!-- Updates to novo-data-table-pagination here need to be applied to the header as well -->\n <novo-data-table-pagination\n *ngIf=\"paginationOptions?.onFooter\"\n [theme]=\"paginationOptions.theme\"\n [length]=\"useOverrideTotal ? overrideTotal : dataSource?.currentTotal\"\n [page]=\"paginationOptions.page\"\n [pageSize]=\"paginationOptions.pageSize\"\n [pageSizeOptions]=\"paginationOptions.pageSizeOptions\"\n [dataFeatureId]=\"paginatorDataFeatureId\"\n [canSelectAll]=\"canSelectAll\"\n [allMatchingSelected]=\"allMatchingSelected\"\n [loading]=\"paginationOptions.loading\"\n [errorLoading]=\"paginationOptions.errorLoading\"\n [paginationRefreshSubject]=\"paginationRefreshSubject\"\n [showPaginationTotalRecordCount]=\"true\"\n >\n </novo-data-table-pagination>\n</footer>\n<ng-content></ng-content>", styles: ["html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:var(--font-family-mono, \"monospace\");font-size:1em}a,novo-data-table .clickable{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:var(--font-family-mono, \"monospace\");font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none!important}cdk-table{display:block;flex:1}cdk-table.expandable{width:fit-content;min-width:100%}cdk-table.empty{min-height:62px;max-height:62px}cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-checkbox-cell{background-color:var(--background-muted, #f4f4f4)}cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-checkbox-cell{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(odd).active+.novo-data-table-detail-row{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(odd)+.novo-data-table-detail-row{background-color:var(--background-muted, #f4f4f4)}cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-checkbox-cell{background-color:var(--background-body, #ffffff)}cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-checkbox-cell{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(2n).active+.novo-data-table-detail-row{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(2n)+.novo-data-table-detail-row{background-color:var(--background-body, #ffffff)}.novo-data-table-cell-align-right{text-align:right;justify-content:flex-end;overflow:hidden;text-overflow:clip}.novo-data-table-header-row,.novo-data-table-header-cell{position:relative;z-index:1}.novo-data-table-header-row.fixed-header,.novo-data-table-header-cell.fixed-header{position:sticky;top:0}.novo-data-table-row,.novo-data-table-header-row{display:flex;flex-direction:row;flex-wrap:nowrap;background-color:var(--background-body, #ffffff)}.novo-data-table-row .novo-data-table-header-cell,.novo-data-table-row .novo-data-table-checkbox-header-cell,.novo-data-table-header-row .novo-data-table-header-cell,.novo-data-table-header-row .novo-data-table-checkbox-header-cell{background-color:var(--background-body, #ffffff)}.novo-data-table-row.expanded i.bhi-next.data-table-icon,.novo-data-table-header-row.expanded i.bhi-next.data-table-icon{cursor:pointer;transition:all .1s}.novo-data-table-row.expanded i.bhi-next.data-table-icon.expanded,.novo-data-table-header-row.expanded i.bhi-next.data-table-icon.expanded{transform:rotate(90deg)}.novo-data-table-header-cell.resizable{padding-right:0}.novo-data-table-header-cell.resizable:hover{background-color:var(--background-muted, #4f5361)}.novo-data-table-header-cell.resizable .data-table-header-resizable{height:100%}.novo-data-table-header-cell.resizable .data-table-header-resizable span{cursor:ew-resize;background-color:var(--border, #4f5361);width:1px;margin:0 4px;display:block}.novo-data-table-header-cell>div>button{margin-right:2px}.novo-data-table-header-cell>div.spacer{flex-grow:100}.novo-data-table-header-cell[draggable=true] label{cursor:grab;-webkit-user-select:none;user-select:none}.novo-data-table-clear-button button{min-width:80px!important}.novo-data-table-cell,.novo-data-table-header-cell{min-width:200px;padding:9px;flex:1;line-height:1.1em}.novo-data-table-cell>i.label-icon,.novo-data-table-header-cell>i.label-icon{margin-right:.5em}.novo-data-table-cell>span,.novo-data-table-header-cell>span{display:block;min-width:180px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.novo-data-table-cell novo-dropdown,.novo-data-table-header-cell novo-dropdown{display:inline-block}.novo-data-table-cell .filter-button,.novo-data-table-header-cell .filter-button{color:var(--text-muted);background:transparent;pointer-events:all;margin-left:.5rem;line-height:1em;outline:none}.novo-data-table-cell .filter-button:hover,.novo-data-table-header-cell .filter-button:hover{color:var(--text-main)}.novo-data-table-cell .filter-button.filter-active,.novo-data-table-header-cell .filter-button.filter-active{color:var(--selection)}.novo-data-table-cell button.active,.novo-data-table-header-cell button.active{color:#fff;background:#4a89dc}.novo-data-table-cell button.active:hover,.novo-data-table-cell button.active:active,.novo-data-table-cell button.active:focus,.novo-data-table-cell button.active:visited,.novo-data-table-header-cell button.active:hover,.novo-data-table-header-cell button.active:active,.novo-data-table-header-cell button.active:focus,.novo-data-table-header-cell button.active:visited{background:#4a89dc!important}.novo-data-table-cell.clickable,.novo-data-table-header-cell.clickable{cursor:pointer;color:#39d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.novo-data-table-cell{display:flex;flex-direction:row;align-items:center}.novo-data-table-cell.dropdown-cell,.novo-data-table-cell.button-cell{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:0 5px}.novo-data-table-cell.dropdown-cell novo-dropdown button,.novo-data-table-cell.button-cell novo-dropdown button{padding:0 0 0 5px}.novo-data-table-cell.dropdown-cell novo-dropdown button:hover,.novo-data-table-cell.dropdown-cell novo-dropdown button:active,.novo-data-table-cell.dropdown-cell novo-dropdown button:focus,.novo-data-table-cell.button-cell novo-dropdown button:hover,.novo-data-table-cell.button-cell novo-dropdown button:active,.novo-data-table-cell.button-cell novo-dropdown button:focus{background:#0000001a!important}.novo-data-table-cell.button-cell{min-width:40px;max-width:40px}.novo-data-table-cell.dropdown-cell{min-width:98px;max-width:98px}.novo-data-table-cell.dropdown-cell.empty{min-width:39px;max-width:39px}.novo-data-table-cell i.data-table-icon{cursor:pointer;font-size:1.2em;padding:.5em;border-radius:3px}.novo-data-table-cell i.data-table-icon.disabled{pointer-events:none;opacity:.7}.novo-data-table-cell i.data-table-icon:hover{background:#0000001a}.novo-data-table-cell i.data-table-icon:active{background:#00000040}.novo-data-table-header-cell{white-space:normal;overflow-wrap:break-word;display:flex;align-items:center}.novo-data-table-header-cell+.button-header-cell,.novo-data-table-header-cell+.dropdown-header-cell{border-left:none}.novo-data-table-header-cell>label{display:inline-block;padding-right:10px;overflow:hidden;text-overflow:ellipsis}.novo-data-table-header-cell>label.sort-disabled{cursor:default}.novo-data-table-header-cell>div{width:55px;display:flex;align-items:center;flex:0}.novo-data-table-header-cell novo-dropdown[side=right]{display:inline-block}.novo-data-table-header-cell novo-dropdown[side=right]:focus{outline:none}.novo-data-table-header-cell.button-header-cell{min-width:40px;max-width:40px}.novo-data-table-header-cell.dropdown-header-cell{min-width:98px;max-width:98px}.novo-data-table-header-cell.dropdown-header-cell.empty{min-width:39px;max-width:39px}.novo-data-table-expand-header-cell,.novo-data-table-expand-cell{display:flex;align-items:center;justify-content:center;width:30px}.novo-data-table-expand-header-cell i,.novo-data-table-expand-cell i{cursor:pointer;transition:all .1s}.novo-data-table-expand-header-cell i.expanded,.novo-data-table-expand-cell i.expanded{transform:rotate(90deg)}.novo-data-table-checkbox-header-cell,.novo-data-table-checkbox-cell{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;max-width:40px;padding:0 10px}.novo-data-table-checkbox-header-cell div.data-table-checkbox,.novo-data-table-checkbox-cell div.data-table-checkbox{display:flex;cursor:pointer}.novo-data-table-checkbox-header-cell div.data-table-checkbox i,.novo-data-table-checkbox-cell div.data-table-checkbox i{cursor:pointer}.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-box-empty,.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-checkbox-disabled,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-box-empty,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-checkbox-disabled{cursor:not-allowed!important}.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-checkbox-empty,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-checkbox-empty{color:#d2d2d2}.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-box-yes,.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-checkbox-filled,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-box-yes,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-checkbox-filled{color:#4a89dc}.novo-data-table-checkbox-header-cell input,.novo-data-table-checkbox-cell input{appearance:none!important;height:0!important;border:none!important}novo-data-table{position:relative;width:100%;display:flex;flex-direction:column;flex:1}novo-data-table.loading{min-height:300px}novo-data-table header{padding:5px;display:flex;align-items:center;flex-shrink:0;border-bottom:1px solid var(--border, #f7f7f7)}novo-data-table header.pagination-footer{justify-content:space-between}novo-data-table header.empty{padding:0}novo-data-table header>[novo-data-table-custom-header]{flex:1}novo-data-table header>novo-search{padding-right:10px;display:none}@media (min-width: 1000px){novo-data-table header>novo-search{display:flex}}novo-data-table header>novo-search>input{padding:8.5px;font-size:1.1em;height:35px}novo-data-table header>novo-search.active>button[theme=fab]{height:35px;min-height:35px}novo-data-table header>div.novo-data-table-actions{display:flex;align-items:center;justify-content:flex-end}novo-data-table header>div.novo-data-table-actions>*{margin-right:.2em}novo-data-table header>div.novo-data-table-actions>*:last-child{margin-right:0}novo-data-table header>div.novo-data-table-actions>div,novo-data-table header>div.novo-data-table-actions>section{display:flex;align-items:center}novo-data-table header>div.novo-data-table-actions>div button,novo-data-table header>div.novo-data-table-actions>section button{margin-left:3px;margin-bottom:0}novo-data-table header>div.novo-data-table-actions>div button[theme][theme=icon],novo-data-table header>div.novo-data-table-actions>section button[theme][theme=icon]{height:35px;width:35px;font-size:1.4em}novo-data-table header>div.novo-data-table-actions>div novo-dropdown button[theme],novo-data-table header>div.novo-data-table-actions>section novo-dropdown button[theme]{white-space:nowrap;padding:6px 5px 6px 15px!important}novo-data-table button[theme][theme=icon]{height:30px;width:30px;padding:5px}novo-data-table .novo-data-table-loading-mask{position:absolute;display:flex;padding-top:10%;justify-content:center;inset:0;background:#00000012;z-index:10}novo-data-table .novo-data-table-detail-row{padding:1em}novo-data-table .novo-data-table-empty-container{padding-top:0}novo-data-table .novo-data-table-no-results-container,novo-data-table .novo-data-table-no-more-results-container{position:absolute;top:48%;left:0;right:0;width:100%}novo-data-table .novo-data-table-empty-container,novo-data-table .novo-data-table-no-results-container,novo-data-table .novo-data-table-no-more-results-container{padding:2em;flex:1;display:flex;align-items:center;justify-content:center;color:#9e9e9e;z-index:5}novo-data-table .novo-data-table-outside-container{display:flex;flex:1}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter{border-right:1px solid var(--border, #f7f7f7)}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter novo-date-picker .calendar{box-shadow:none}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter novo-date-picker .calendar .date-range-tabs{height:51px}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter novo-date-picker .calendar .calendar-footer{display:none}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter div.period-selector{padding:1em}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter div.period-selector .novo-form-control-label{display:block;max-width:100%;margin-bottom:1em}novo-data-table .novo-data-table-outside-container .novo-data-table-container{flex:1;overflow:auto;position:relative}novo-data-table .novo-data-table-outside-container .novo-data-table-container.empty{display:flex;flex:0}novo-data-table .novo-data-table-outside-container .novo-data-table-container.empty-user-filtered{display:flex;flex-flow:column nowrap;min-height:250px}novo-data-table .novo-data-table-outside-container-fixed{overflow:hidden;position:relative}novo-data-table .novo-data-table-outside-container-fixed .novo-data-table-container-fixed{position:absolute;width:100%;height:100%}novo-data-table .novo-data-table-footer{display:flex;align-items:center}novo-data-table .novo-data-table-footer>div,novo-data-table .novo-data-table-footer div.novo-data-table-footer-cell{border-top:1px solid var(--border, #f7f7f7);flex:1;min-width:200px;display:flex;align-items:center}novo-data-table .novo-data-table-footer>div:not(.button-cell):not(.dropdown-cell),novo-data-table .novo-data-table-footer div.novo-data-table-footer-cell:not(.button-cell):not(.dropdown-cell){padding:10px}.dropdown-container.data-table-dropdown{min-width:220px;max-width:280px;max-height:500px;overflow-x:hidden;overflow-y:hidden}.dropdown-container.data-table-dropdown.right{margin-left:-150px!important}.dropdown-container.data-table-dropdown .header{padding:5px 10px;display:flex;justify-content:space-between;align-items:center}.dropdown-container.data-table-dropdown .optgroup-container,.dropdown-container.data-table-dropdown .dropdown-list-options{max-height:346px;overflow-y:auto;overflow-x:hidden}.dropdown-container.data-table-dropdown .footer{border-top:1px solid var(--border, #f7f7f7);padding:5px 10px;display:flex;justify-content:flex-end;align-items:center}.dropdown-container.data-table-dropdown .footer button icon{font-size:.8em}.dropdown-container.data-table-dropdown list item.active{background:transparent;font-weight:500}.dropdown-container.data-table-dropdown button[theme][theme=dialogue][icon] i{padding:inherit;padding-left:5px;height:inherit;width:inherit;display:inline-block;line-height:inherit}.dropdown-container.data-table-dropdown .calendar-container{height:100%;min-height:200px;width:100%;background:#fff;padding:0!important}.dropdown-container.data-table-dropdown .calendar-container .back-link{color:#4a89dc;line-height:3em;font-size:.9em;padding-left:5px;cursor:pointer}.dropdown-container.data-table-dropdown .calendar-container novo-date-picker .calendar{width:100%;height:100%;box-shadow:none;padding:0 5px 10px}.dropdown-container.data-table-dropdown .calendar-container novo-date-picker .calendar .calendar-top{display:none}.dropdown-container.data-table-dropdown span.error-text{color:#da4453;position:relative;left:10px;top:-17px;font-size:x-small}.dropdown-container.data-table-dropdown .filter-null-results{background-color:#fff;text-align:center;color:#b5b5b5;background:transparent;font-weight:500}\n/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n"] }]
3427
2952
  }], ctorParameters: () => [{ type: i1$1.NovoLabelService }, { type: i0.ChangeDetectorRef }, { type: DataTableState }], propDecorators: { globalSearchHiddenClassToggle: [{
3428
2953
  type: HostBinding,
3429
2954
  args: ['class.global-search-hidden']
@@ -3477,6 +3002,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
3477
3002
  type: Input
3478
3003
  }], paginationRefreshSubject: [{
3479
3004
  type: Input
3005
+ }], enableColumnDragging: [{
3006
+ type: Input
3480
3007
  }], dataTableService: [{
3481
3008
  type: Input
3482
3009
  }], rows: [{
@@ -3542,6 +3069,7 @@ class NovoDataTableModule {
3542
3069
  NovoIconModule,
3543
3070
  NovoButtonModule,
3544
3071
  NovoDropdownModule,
3072
+ NovoDragDropModule,
3545
3073
  NovoFormExtrasModule,
3546
3074
  NovoLoadingModule,
3547
3075
  NovoTilesModule,
@@ -3571,6 +3099,7 @@ class NovoDataTableModule {
3571
3099
  NovoIconModule,
3572
3100
  NovoButtonModule,
3573
3101
  NovoDropdownModule,
3102
+ NovoDragDropModule,
3574
3103
  NovoFormExtrasModule,
3575
3104
  NovoLoadingModule,
3576
3105
  NovoTilesModule,
@@ -3595,6 +3124,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
3595
3124
  NovoIconModule,
3596
3125
  NovoButtonModule,
3597
3126
  NovoDropdownModule,
3127
+ NovoDragDropModule,
3598
3128
  NovoFormExtrasModule,
3599
3129
  NovoLoadingModule,
3600
3130
  NovoTilesModule,