@ascentgl/ads-ui 21.88.0 → 21.90.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Input, Component, NgModule, input, output, computed, ChangeDetectionStrategy, EventEmitter, signal, effect, ViewChild, Output, ElementRef, HostListener, Directive, InjectionToken, inject, DestroyRef, HostBinding, Pipe, contentChild, TemplateRef, Inject, Optional, ChangeDetectorRef, Injectable, Renderer2, viewChild, ViewChildren } from '@angular/core';
2
+ import { Input, Component, NgModule, input, output, computed, ChangeDetectionStrategy, EventEmitter, signal, effect, ViewChild, Output, ElementRef, HostListener, Directive, InjectionToken, inject, DestroyRef, HostBinding, Pipe, contentChild, TemplateRef, Inject, Optional, ChangeDetectorRef, Injectable, Renderer2, ViewChildren, viewChild } from '@angular/core';
3
3
  import * as i1 from '@ascentgl/ads-icons';
4
4
  import { AdsIconModule, AdsIconRegistry } from '@ascentgl/ads-icons';
5
5
  import { adsIconUserCircle, adsIconBell, adsIconChevronRight, adsIconCross, adsIconPlus, adsIconWarning, adsIconLock, adsIconPlusCircle, adsIconSearch, adsIconSortDescending, adsIconCheckCircleFilled, adsIconVisibilityEye, adsIconVisibilityEyeNone, adsIconStatusProcessing, adsIconInformation, adsIconChevronDown, adsIconLoading, adsIconDatepicker, adsIconTimepicker, adsIconCheck, adsIconDropdownArrow, adsIconChevronUp, adsIconSortDownToUp, adsIconSortUpToDown, adsIconMenuFilters, adsIconSortingArrowUp, adsIconSortingArrowDown, adsIconDrag, adsIconFilter, adsIconArrowUpAndDown, adsIconListView, adsIconGridView, adsIconMenuMoreInfo, adsIconHamburgerMenu, adsIconChevronLeft, adsIconStatusNew } from '@ascentgl/ads-icons/icons';
@@ -8355,6 +8355,8 @@ class AdsTableComponent {
8355
8355
  this.showChangeViewButton = false;
8356
8356
  /** Default view mode: 'grid' or 'list'. Defaults to 'grid'. */
8357
8357
  this.defaultViewMode = 'grid';
8358
+ /** Number of list view items to render per batch. Defaults to 50. */
8359
+ this.listBatchSize = 50;
8358
8360
  /** Enable custom column sort/filter menu (optional, default false for backward compatibility) */
8359
8361
  this.enableCustomSortFilter = false;
8360
8362
  /** Change header buttons to mobile view */
@@ -8371,6 +8373,20 @@ class AdsTableComponent {
8371
8373
  this.viewChanged = new EventEmitter();
8372
8374
  /** @ignore - Current view mode: grid or list */
8373
8375
  this.isListView = signal(false, ...(ngDevMode ? [{ debugName: "isListView" }] : []));
8376
+ /** @ignore - Number of list rows currently rendered (grows in batches) */
8377
+ this.renderedListCount = signal(0, ...(ngDevMode ? [{ debugName: "renderedListCount" }] : []));
8378
+ /** @ignore - Cached filtered row data for list view (avoids recalculating on every access) */
8379
+ this.listRowDataCache = signal([], ...(ngDevMode ? [{ debugName: "listRowDataCache" }] : []));
8380
+ /** @ignore - Visible slice of list rows for incremental rendering */
8381
+ this.visibleListRows = computed(() => {
8382
+ const all = this.listRowDataCache();
8383
+ const count = this.renderedListCount();
8384
+ return all.slice(0, count);
8385
+ }, ...(ngDevMode ? [{ debugName: "visibleListRows" }] : []));
8386
+ /** @ignore - Whether there are more rows to render */
8387
+ this.hasMoreListRows = computed(() => {
8388
+ return this.renderedListCount() < this.listRowDataCache().length;
8389
+ }, ...(ngDevMode ? [{ debugName: "hasMoreListRows" }] : []));
8374
8390
  /** @ignore */
8375
8391
  this.tableColumnDefs = signal([], ...(ngDevMode ? [{ debugName: "tableColumnDefs" }] : []));
8376
8392
  /** @ignore */
@@ -8606,6 +8622,11 @@ class AdsTableComponent {
8606
8622
  });
8607
8623
  }
8608
8624
  }
8625
+ // Refresh list view cache when rowData changes while in list mode
8626
+ if (changes['rowData'] && this.isListView()) {
8627
+ // Use microtask so AG Grid has processed the new data first
8628
+ Promise.resolve().then(() => this.refreshListView());
8629
+ }
8609
8630
  }
8610
8631
  /** @ignore - Refresh column headers to update filterOptions after data load */
8611
8632
  refreshColumnHeaders() {
@@ -8620,6 +8641,10 @@ class AdsTableComponent {
8620
8641
  const tableElement = this.elementRef.nativeElement.querySelector('ag-grid-angular');
8621
8642
  if (tableElement) {
8622
8643
  this.resizeObserver = new ResizeObserver(() => {
8644
+ // Skip resize handling when the grid is hidden (list view mode)
8645
+ if (this.isListView()) {
8646
+ return;
8647
+ }
8623
8648
  this.updateColumnDefs(tableElement.clientWidth);
8624
8649
  this.gridApi?.sizeColumnsToFit();
8625
8650
  });
@@ -8628,6 +8653,39 @@ class AdsTableComponent {
8628
8653
  // Initialize column visibility list
8629
8654
  this.initializeColumnVisibility();
8630
8655
  }
8656
+ /** @ignore - Re-observe sentinel when ViewChildren change (e.g. after switching to list view) */
8657
+ ngAfterViewChecked() {
8658
+ this.observeListSentinel();
8659
+ }
8660
+ /** @ignore - Set up IntersectionObserver on the sentinel element for incremental list rendering */
8661
+ observeListSentinel() {
8662
+ const sentinelRef = this.listSentinelQuery?.first;
8663
+ const sentinelEl = sentinelRef?.nativeElement;
8664
+ // If sentinel element is the same one we're already observing, nothing to do
8665
+ if (sentinelEl && sentinelEl === this.observedSentinelEl) {
8666
+ return;
8667
+ }
8668
+ if (!sentinelEl) {
8669
+ // No sentinel in DOM — clean up observer if it exists
8670
+ if (this.listSentinelObserver) {
8671
+ this.listSentinelObserver.disconnect();
8672
+ this.listSentinelObserver = undefined;
8673
+ this.observedSentinelEl = undefined;
8674
+ }
8675
+ return;
8676
+ }
8677
+ // Disconnect old observer
8678
+ this.listSentinelObserver?.disconnect();
8679
+ // Find the scrollable container (the .list-view-container div)
8680
+ const root = sentinelEl.closest('.list-view-container');
8681
+ this.listSentinelObserver = new IntersectionObserver((entries) => {
8682
+ if (entries[0]?.isIntersecting && this.hasMoreListRows()) {
8683
+ this.renderedListCount.update(c => Math.min(c + this.listBatchSize, this.listRowDataCache().length));
8684
+ }
8685
+ }, { root: root, rootMargin: '200px' });
8686
+ this.listSentinelObserver.observe(sentinelEl);
8687
+ this.observedSentinelEl = sentinelEl;
8688
+ }
8631
8689
  /** @ignore */
8632
8690
  initializeColumnVisibility() {
8633
8691
  // Unsubscribe from previous subscriptions
@@ -8865,17 +8923,37 @@ class AdsTableComponent {
8865
8923
  sortChanged($event) {
8866
8924
  this.onSortChanged();
8867
8925
  this.gridOptions?.onSortChanged?.($event);
8926
+ if (this.isListView()) {
8927
+ this.refreshListView();
8928
+ }
8868
8929
  }
8869
8930
  /** @ignore */
8870
8931
  filterChanged($event) {
8871
8932
  this.onFilterChanged();
8872
8933
  this.gridOptions?.onFilterChanged?.($event);
8934
+ if (this.isListView()) {
8935
+ this.refreshListView();
8936
+ }
8873
8937
  }
8874
8938
  /** @ignore - Toggle between grid view and list view */
8875
8939
  toggleView() {
8876
8940
  this.isListView.update(v => !v);
8941
+ if (this.isListView()) {
8942
+ this.refreshListView();
8943
+ }
8944
+ else {
8945
+ this.listSentinelObserver?.disconnect();
8946
+ this.listSentinelObserver = undefined;
8947
+ // Re-fit columns after the grid becomes visible again
8948
+ Promise.resolve().then(() => this.gridApi?.sizeColumnsToFit());
8949
+ }
8877
8950
  this.viewChanged.emit(this.isListView() ? 'list' : 'grid');
8878
8951
  }
8952
+ /** @ignore - Refresh the list view data cache and reset rendered count */
8953
+ refreshListView() {
8954
+ this.listRowDataCache.set(this.getFilteredRowData());
8955
+ this.renderedListCount.set(Math.min(this.listBatchSize, this.listRowDataCache().length));
8956
+ }
8879
8957
  /** @ignore - Get filtered and sorted row data for list view */
8880
8958
  getFilteredRowData() {
8881
8959
  if (!this.gridApi) {
@@ -9620,6 +9698,10 @@ class AdsTableComponent {
9620
9698
  if (this.enableCustomSortFilter) {
9621
9699
  this.gridApi.refreshHeader();
9622
9700
  }
9701
+ // Refresh list view data if currently in list mode
9702
+ if (this.isListView()) {
9703
+ this.refreshListView();
9704
+ }
9623
9705
  }
9624
9706
  /**
9625
9707
  * Reapplies the current column filter states to the grid.
@@ -9631,8 +9713,10 @@ class AdsTableComponent {
9631
9713
  }
9632
9714
  /** @ignore */
9633
9715
  ngOnDestroy() {
9634
- // Clean up the observer when the component is destroyed
9716
+ // Clean up the observers when the component is destroyed
9635
9717
  this.resizeObserver?.disconnect();
9718
+ this.listSentinelObserver?.disconnect();
9719
+ this.observedSentinelEl = undefined;
9636
9720
  this.unsubscribeFromControls();
9637
9721
  }
9638
9722
  /** @ignore - serialize any cell value into a stable string key */
@@ -9659,11 +9743,11 @@ class AdsTableComponent {
9659
9743
  return options.map((v) => this.serializeCellValue(v));
9660
9744
  }
9661
9745
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: AdsTableComponent, deps: [{ token: i0.ElementRef }, { token: i1.AdsIconRegistry }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
9662
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: AdsTableComponent, isStandalone: false, selector: "ads-table", inputs: { width: "width", height: "height", headerTemplate: "headerTemplate", gridOptions: "gridOptions", rowData: "rowData", columnDefs: "columnDefs", icons: "icons", defaultColDef: "defaultColDef", loading: "loading", columnDefsByBreakpoint: "columnDefsByBreakpoint", showHeaderActions: "showHeaderActions", showChangeViewButton: "showChangeViewButton", defaultViewMode: "defaultViewMode", listItemTemplate: "listItemTemplate", enableCustomSortFilter: "enableCustomSortFilter", mobileHeaderView: "mobileHeaderView", showBorder: "showBorder", columnSortFilterConfigs: "columnSortFilterConfigs" }, outputs: { filtersCleared: "filtersCleared", columnFilterChanged: "columnFilterChanged", viewChanged: "viewChanged" }, viewQueries: [{ propertyName: "menuTrigger", first: true, predicate: MatMenuTrigger, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"ads-table-container\" [style.width]=\"width\" [class.with-header]=\"showHeaderActions\" [class.no-border]=\"!showBorder\">\n @if (showHeaderActions) {\n <div class=\"table-header\">\n <div class=\"header-template-container\">\n @if (showChangeViewButton) {\n <div class=\"change-view-button\" (click)=\"toggleView()\">\n @if (isListView()) {\n <ads-icon name=\"grid_view\" size=\"xxxs\" stroke=\"iconPrimary\" />\n } @else {\n <ads-icon name=\"list_view\" size=\"xxxs\" stroke=\"iconPrimary\" />\n }\n </div>\n }\n <div class=\"header-template\">\n @if (headerTemplate) {\n <ng-container *ngTemplateOutlet=\"headerTemplate\" />\n }\n </div>\n\n </div>\n\n <div class=\"header-actions\">\n @if (!isListView()) {\n <ads-table-button\n id=\"show-hide-columns-button\"\n [matMenuTriggerFor]=\"columnVisibilityMenu\"\n (menuOpened)=\"openColumnVisibilityMenu()\"\n (menuClosed)=\"onColumnVisibilityMenuClosed()\"\n >\n <ads-icon\n name=\"visibility_eye_none\"\n theme=\"secondary\"\n stroke=\"secondary\"\n size=\"xxxs\"\n />\n @if (!mobileHeaderView) {\n {{ hideColumnButtonLabel }}\n }\n </ads-table-button>\n }\n\n <ads-table-button\n id=\"filter-button\"\n [matMenuTriggerFor]=\"filterMenu\"\n (menuOpened)=\"openFilterMenu()\"\n (menuClosed)=\"onFilterMenuClosed()\"\n >\n <ads-icon\n name=\"filter\"\n theme=\"secondary\"\n size=\"xxxs\"\n />\n @if (!mobileHeaderView) {\n Filter\n }\n\n </ads-table-button>\n <ads-table-button\n id=\"sort-button\"\n [matMenuTriggerFor]=\"sortMenu\"\n >\n <ads-icon\n name=\"arrow_up_and_down\"\n theme=\"secondary\"\n size=\"xxxs\"\n />\n @if (!mobileHeaderView) {\n Sort\n }\n </ads-table-button>\n </div>\n </div>\n }\n\n <ag-grid-angular\n [ngStyle]=\"{ height: height }\"\n [style.display]=\"isListView() ? 'none' : ''\"\n [icons]=\"getAgGridIcons()\"\n class=\"ag-theme-quartz\"\n [gridOptions]=\"gridOptions\"\n [rowData]=\"rowData\"\n [columnDefs]=\"getProcessedColumnDefs()\"\n [defaultColDef]=\"getDefaultColDef()\"\n [components]=\"frameworkComponents\"\n [isExternalFilterPresent]=\"isExternalFilterPresent\"\n [doesExternalFilterPass]=\"doesExternalFilterPass\"\n (gridReady)=\"gridReady($event)\"\n (firstDataRendered)=\"firstDataRendered($event)\"\n (sortChanged)=\"sortChanged($event)\"\n (filterChanged)=\"filterChanged($event)\"\n [theme]=\"themeQuartz\"\n [loading]=\"loading\"\n [enableCellTextSelection]=\"true\"\n [ensureDomOrder]=\"true\"\n />\n\n @if (isListView()) {\n <div #listViewContainer class=\"list-view-container\" [ngStyle]=\"{ height: height }\">\n @if (loading) {\n <ads-progress-spinner [scrollContainer]=\"listViewContainer\" [size]=\"SpinnerSize.small\" />\n } @else {\n @for (row of getFilteredRowData(); track $index) {\n <div class=\"list-view-item\">\n @if (listItemTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"listItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, index: $index }\"\n />\n }\n </div>\n } @empty {\n <div class=\"list-view-empty\">No data to display</div>\n }\n }\n </div>\n }\n\n <!-- Column Visibility Menu -->\n <mat-menu #columnVisibilityMenu=\"matMenu\" class=\"column-visibility-menu\" [class.has-header]=\"showHeaderActions\">\n <div class=\"menu-content\" (click)=\"$event.stopPropagation()\">\n <p class=\"dropdown-label\">Show/Hide Columns</p>\n <div class=\"dropdown-body\">\n @for (column of columnVisibilityList(); track $index) {\n <div class=\"column-row\">\n <span\n class=\"column-name\"\n [matTooltip]=\"column.headerName\"\n [matTooltipDisabled]=\"getTooltipDisabled(column.headerName)\"\n >\n {{ column.headerName }}\n </span>\n <div class=\"column-toggle\">\n <ads-slide-toggle\n [id]=\"'toggle-' + column.field\"\n [control]=\"column.control\"\n [showFooter]=\"false\"\n [customTitles]=\"['Show', 'Hide']\"\n />\n </div>\n </div>\n }\n </div>\n\n <ads-divider />\n\n <div class=\"dropdown-footer\">\n <ads-button\n [fullWidth]=\"true\"\n (click)=\"hideAllColumns()\"\n [disabled]=\"allColumnsHidden\"\n variant=\"tertiary\"\n id='hide-all-button'\n size=\"xs\"\n >\n Hide All\n </ads-button>\n <ads-button\n [fullWidth]=\"true\"\n (click)=\"showAllColumns()\"\n [disabled]=\"allColumnsVisible\"\n variant=\"tertiary\"\n id=\"show-all-button\"\n size=\"xs\"\n >\n Show All\n </ads-button>\n </div>\n </div>\n </mat-menu>\n\n <!-- Filter Menu -->\n <mat-menu #filterMenu=\"matMenu\" class=\"filter-menu-panel\" (closed)=\"filterMenuComponent.onMenuClosed()\">\n <ads-filter-menu\n #filterMenuComponent\n [columnSortFilterConfigs]=\"columnSortFilterConfigs\"\n [columnFilterStates]=\"columnFilterStates()\"\n [getFilterOptionsForField]=\"getFilterOptionsForFieldFn\"\n [getHierarchicalFilterOptionsForField]=\"getHierarchicalFilterOptionsForFieldFn\"\n [getFilterValuesForField]=\"getFilterValuesForFieldFn\"\n [isColumnFilteredFn]=\"isColumnFilteredFn\"\n [getFilterValueFormatterForField]=\"getFilterValueFormatterForFieldFn\"\n (filterChanged)=\"onFilterMenuFilterChanged($event)\"\n (filtersRemoved)=\"onFilterMenuFilterRemoved($event)\"\n />\n </mat-menu>\n\n <!-- Sort Menu -->\n <mat-menu #sortMenu=\"matMenu\" class=\"sort-menu-panel\">\n <ads-sort-menu\n [columnSortFilterConfigs]=\"columnSortFilterConfigs\"\n [columnSortStates]=\"columnSortStates()\"\n (sortChanged)=\"onSortMenuSortChanged($event)\"\n (sortsRemoved)=\"onSortMenuSortsRemoved($event)\"\n />\n </mat-menu>\n</div>\n", styles: [":host::ng-deep{--ag-wrapper-border-radius: 10px}:host::ng-deep ag-grid-angular{--ag-grid-size: 4px;--ag-border-radius: 5px;--ag-font-family: \"Roboto\";--ag-font-size: 16px;--ag-header-foreground-color: var(--color-medium);--ag-header-background-color: var(--color-light-30);--ag-background-color: var(--color-white);--ag-header-height: 45px;--ag-row-height: 45px;--ag-border-color: var(--color-light);--ag-foreground-color: var(--color-medium);--ag-spacing: 4px;--ag-inherited-accent-color: var(--color-secondary-hover)}:host::ng-deep ag-grid-angular .ag-header-cell-text{font-weight:600;line-height:21px}:host::ng-deep ag-grid-angular .ag-cell:focus,:host::ng-deep ag-grid-angular .ag-cell-focus{outline:none!important;border:none!important;box-shadow:none!important}:host::ng-deep ag-grid-angular .ag-row,:host::ng-deep ag-grid-angular .ag-header,:host::ng-deep ag-grid-angular .ag-advanced-filter-header{border-bottom:none}:host::ng-deep ag-grid-angular .ag-row-even{background-color:var(--color-white)}:host::ng-deep ag-grid-angular .ag-row-odd{background-color:var(--color-white)}:host::ng-deep ag-grid-angular .ag-sort-indicator-container{min-width:fit-content}:host::ng-deep ag-grid-angular .ag-sort-indicator-icon>svg{fill:var(--color-medium);stroke:var(--color-medium)}:host::ng-deep ag-grid-angular .ag-header-cell-filter-button>svg{fill:var(--color-medium);stroke:var(--color-medium)}:host::ng-deep ag-grid-angular .ag-theme-quartz{--ag-background-color: var(--color-light-30);--ag-foreground-color: var(--color-black);--ag-input-border-color: var(--color-light);--ag-input-focus-border-color: var(--color-medium);--ag-input-focus-box-shadow: none}:host::ng-deep ag-grid-angular .ag-theme-quartz .ag-input-wrapper input::placeholder{color:var(--color-medium);opacity:1}:host::ng-deep ag-grid-angular .ag-theme-quartz .ag-input-wrapper:before{background-image:none;content:none}:host::ng-deep ag-grid-angular .ag-theme-quartz .ag-input-wrapper input{padding-left:8px!important}:host::ng-deep .ads-table-container{display:flex;flex-direction:column;width:100%;height:100%}:host::ng-deep .ads-table-container.no-border .table-header{border:none;border-radius:0}:host::ng-deep .ads-table-container.no-border::ng-deep ag-grid-angular .ag-root-wrapper{border:none;border-radius:0}:host::ng-deep .ads-table-container.no-border .list-view-container{border:none;border-radius:0}:host::ng-deep .ads-table-container.with-header::ng-deep ag-grid-angular .ag-root-wrapper{border-top:none;border-top-left-radius:0;border-top-right-radius:0}:host::ng-deep .ads-table-container.with-header .list-view-container{border-top:none;border-top-left-radius:0;border-top-right-radius:0}:host::ng-deep .ads-table-container .table-header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:16px;background-color:var(--color-white);border:1px solid var(--color-light);border-top-left-radius:var(--ag-wrapper-border-radius);border-top-right-radius:var(--ag-wrapper-border-radius)}:host::ng-deep .ads-table-container .table-header .header-template-container{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 0}:host::ng-deep .ads-table-container .table-header .header-template-container .header-template{min-width:0;flex:1 1 0}:host::ng-deep .ads-table-container .table-header .header-actions{display:flex;gap:8px;flex-wrap:nowrap;flex-shrink:0;justify-content:flex-end}:host::ng-deep .ads-table-container .table-header .header-actions ads-table-button{display:flex}:host::ng-deep .ads-table-container .table-header .change-view-button{display:flex;height:30px;padding:0 12px;border-radius:100px;background-color:var(--color-muted);align-items:center;cursor:pointer;flex-shrink:0}:host::ng-deep .ads-table-container .table-header .change-view-button:hover{background-color:var(--color-secondary-hover)}:host::ng-deep .ads-table-container .table-header .change-view-button:hover ::ng-deep svg{stroke:var(--color-white)}:host::ng-deep .list-view-container{overflow-y:auto;display:flex;flex-direction:column;border:1px solid var(--color-light);border-radius:var(--ag-wrapper-border-radius)}:host::ng-deep .list-view-container .list-view-item{flex-shrink:0}:host::ng-deep .list-view-container .list-view-loading{display:flex;justify-content:center;align-items:center;height:100%}:host::ng-deep .list-view-container .list-view-empty{display:flex;justify-content:center;align-items:center;height:100%}::ng-deep .column-visibility-menu{width:234px;max-width:498px;border-radius:5px;box-shadow:0 4px 12px #00000026;border:1px solid var(--color-light)}::ng-deep .column-visibility-menu .mat-mdc-menu-content{padding:0}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content{background-color:var(--color-white)}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-label{padding:12px 12px 0;color:var(--color-medium);font-size:12px;font-weight:600;line-height:16px}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-body{overflow-y:auto}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-body .column-row{display:flex;justify-content:space-between;align-items:center;padding:0 12px;height:45px;gap:12px}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-body .column-row .column-name{font-size:16px;font-weight:400;color:var(--color-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px;flex:1}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-body .column-row .column-toggle{display:flex;justify-content:flex-end}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-body .column-row .column-toggle ::ng-deep ads-slide-toggle .ads-toggle{height:45px!important}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-footer{display:flex;justify-content:space-between;gap:12px;padding:12px}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-footer ::ng-deep ads-button{flex:1}::ng-deep .filter-menu-panel{width:316px;border-radius:5px;box-shadow:0 4px 12px #00000026;border:1px solid var(--color-light)}::ng-deep .sort-menu-panel{width:316px;border-radius:5px;box-shadow:0 4px 12px #00000026;border:1px solid var(--color-light)}\n"], dependencies: [{ kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i1.AdsIconComponent, selector: "ads-icon", inputs: ["size", "name", "color", "theme", "stroke"] }, { kind: "component", type: i3$5.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "enableStrictPivotColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "hidePaddedHeaderRows", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressMoveWhenColumnDragging", "suppressDragLeaveHidesColumns", "suppressGroupChangesColumnVisibility", "suppressMakeColumnVisibleAfterUnGroup", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "animateColumnResizing", "components", "editType", "suppressStartEditOnTab", "getFullRowEditValidationErrors", "invalidEditValueMode", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "findSearchValue", "findOptions", "quickFilterText", "cacheQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "alwaysPassFilter", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "advancedFilterParams", "suppressAdvancedFilterEval", "suppressSetFilterByDefault", "enableFilterHandlers", "filterHandlers", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressTouch", "suppressFocusAfterRefresh", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "loading", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "suppressOverlays", "overlayComponent", "overlayComponentParams", "overlayComponentSelector", "activeOverlay", "activeOverlayParams", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "formulaDataSource", "formulaFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "cellFlashDuration", "cellFadeDuration", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableCellSpan", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "refreshAfterGroupEdit", "rowDragInsertDelay", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "dragAndDropImageComponent", "dragAndDropImageComponentParams", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupHideParentOfSingleChild", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "treeData", "treeDataChildrenField", "treeDataParentIdField", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "groupHierarchyConfig", "pinnedTopRowData", "pinnedBottomRowData", "enableRowPinning", "isRowPinnable", "isRowPinned", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "cellSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "selectionColumnDef", "rowNumbers", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "enableGroupEdit", "initialState", "theme", "loadThemeGoogleFonts", "themeCssLayer", "styleNonce", "themeStyleContainer", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "focusGridInnerElement", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "ssrmExpandAllAffectsAllRows", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow", "isRowValidDropPosition"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnsReset", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "bulkEditingStarted", "bulkEditingStopped", "batchEditingStarted", "batchEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "cellSelectionDeleteStart", "cellSelectionDeleteEnd", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "filterUiChanged", "floatingFilterUiChanged", "advancedFilterBuilderVisibleChanged", "findChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "dragCancelled", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "rowDragCancel", "rowResizeStarted", "rowResizeEnded", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "pinnedRowsChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "headerFocused", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "cellSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged"] }, { kind: "component", type: AdsSlideToggleComponent, selector: "ads-slide-toggle", inputs: ["enableYesOrNo", "customTitles", "control", "label", "id", "width"] }, { kind: "component", type: AdsButtonComponent, selector: "ads-button", inputs: ["id", "variant", "disabled", "size", "type", "fullWidth"] }, { kind: "component", type: AdsTableButtonComponent, selector: "ads-table-button", inputs: ["id", "disabled", "fullWidth", "matMenuTriggerFor"], outputs: ["menuOpened", "menuClosed"] }, { kind: "component", type: DividerComponent, selector: "ads-divider", inputs: ["margin", "color"] }, { kind: "directive", type: i13.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4$3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i4$3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: AdsFilterMenuComponent, selector: "ads-filter-menu", inputs: ["columnSortFilterConfigs", "columnFilterStates", "getFilterOptionsForField", "getHierarchicalFilterOptionsForField", "getFilterValuesForField", "isColumnFilteredFn", "getFilterValueFormatterForField"], outputs: ["filterChanged", "filtersRemoved"] }, { kind: "component", type: AdsSortMenuComponent, selector: "ads-sort-menu", inputs: ["columnSortFilterConfigs", "columnSortStates"], outputs: ["sortChanged", "sortsRemoved"] }, { kind: "component", type: AdsProgressSpinnerComponent, selector: "ads-progress-spinner", inputs: ["zIndex", "scrollContainer", "size", "diameter"] }] }); }
9746
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: AdsTableComponent, isStandalone: false, selector: "ads-table", inputs: { width: "width", height: "height", headerTemplate: "headerTemplate", gridOptions: "gridOptions", rowData: "rowData", columnDefs: "columnDefs", icons: "icons", defaultColDef: "defaultColDef", loading: "loading", columnDefsByBreakpoint: "columnDefsByBreakpoint", showHeaderActions: "showHeaderActions", showChangeViewButton: "showChangeViewButton", defaultViewMode: "defaultViewMode", listItemTemplate: "listItemTemplate", listBatchSize: "listBatchSize", enableCustomSortFilter: "enableCustomSortFilter", mobileHeaderView: "mobileHeaderView", showBorder: "showBorder", columnSortFilterConfigs: "columnSortFilterConfigs" }, outputs: { filtersCleared: "filtersCleared", columnFilterChanged: "columnFilterChanged", viewChanged: "viewChanged" }, viewQueries: [{ propertyName: "menuTrigger", first: true, predicate: MatMenuTrigger, descendants: true }, { propertyName: "listSentinelQuery", predicate: ["listSentinel"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"ads-table-container\" [style.width]=\"width\" [class.with-header]=\"showHeaderActions\" [class.no-border]=\"!showBorder\">\n @if (showHeaderActions) {\n <div class=\"table-header\">\n <div class=\"header-template-container\">\n @if (showChangeViewButton) {\n <div class=\"change-view-button\" (click)=\"toggleView()\">\n @if (isListView()) {\n <ads-icon name=\"grid_view\" size=\"xxxs\" stroke=\"iconPrimary\" />\n } @else {\n <ads-icon name=\"list_view\" size=\"xxxs\" stroke=\"iconPrimary\" />\n }\n </div>\n }\n <div class=\"header-template\">\n @if (headerTemplate) {\n <ng-container *ngTemplateOutlet=\"headerTemplate\" />\n }\n </div>\n\n </div>\n\n <div class=\"header-actions\">\n @if (!isListView()) {\n <ads-table-button\n id=\"show-hide-columns-button\"\n [matMenuTriggerFor]=\"columnVisibilityMenu\"\n (menuOpened)=\"openColumnVisibilityMenu()\"\n (menuClosed)=\"onColumnVisibilityMenuClosed()\"\n >\n <ads-icon\n name=\"visibility_eye_none\"\n theme=\"secondary\"\n stroke=\"secondary\"\n size=\"xxxs\"\n />\n @if (!mobileHeaderView) {\n {{ hideColumnButtonLabel }}\n }\n </ads-table-button>\n }\n\n <ads-table-button\n id=\"filter-button\"\n [matMenuTriggerFor]=\"filterMenu\"\n (menuOpened)=\"openFilterMenu()\"\n (menuClosed)=\"onFilterMenuClosed()\"\n >\n <ads-icon\n name=\"filter\"\n theme=\"secondary\"\n size=\"xxxs\"\n />\n @if (!mobileHeaderView) {\n Filter\n }\n\n </ads-table-button>\n <ads-table-button\n id=\"sort-button\"\n [matMenuTriggerFor]=\"sortMenu\"\n >\n <ads-icon\n name=\"arrow_up_and_down\"\n theme=\"secondary\"\n size=\"xxxs\"\n />\n @if (!mobileHeaderView) {\n Sort\n }\n </ads-table-button>\n </div>\n </div>\n }\n\n <ag-grid-angular\n [ngStyle]=\"{ height: height }\"\n [style.display]=\"isListView() ? 'none' : ''\"\n [icons]=\"getAgGridIcons()\"\n class=\"ag-theme-quartz\"\n [gridOptions]=\"gridOptions\"\n [rowData]=\"rowData\"\n [columnDefs]=\"getProcessedColumnDefs()\"\n [defaultColDef]=\"getDefaultColDef()\"\n [components]=\"frameworkComponents\"\n [isExternalFilterPresent]=\"isExternalFilterPresent\"\n [doesExternalFilterPass]=\"doesExternalFilterPass\"\n (gridReady)=\"gridReady($event)\"\n (firstDataRendered)=\"firstDataRendered($event)\"\n (sortChanged)=\"sortChanged($event)\"\n (filterChanged)=\"filterChanged($event)\"\n [theme]=\"themeQuartz\"\n [loading]=\"loading\"\n [enableCellTextSelection]=\"true\"\n [ensureDomOrder]=\"true\"\n />\n\n @if (isListView()) {\n <div class=\"list-view-container\" [ngStyle]=\"{ height: height }\">\n @if (loading) {\n <div class=\"list-view-loading\">\n <ads-progress-spinner [size]=\"SpinnerSize.small\" />\n </div>\n } @else {\n @for (row of visibleListRows(); track $index) {\n <div class=\"list-view-item\">\n @if (listItemTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"listItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, index: $index, first: $first, last: $last }\"\n />\n }\n </div>\n } @empty {\n <div class=\"list-view-empty\">No data to display</div>\n }\n @if (hasMoreListRows()) {\n <div #listSentinel class=\"list-view-sentinel\"></div>\n }\n }\n </div>\n }\n\n <!-- Column Visibility Menu -->\n <mat-menu #columnVisibilityMenu=\"matMenu\" class=\"column-visibility-menu\" [class.has-header]=\"showHeaderActions\">\n <div class=\"menu-content\" (click)=\"$event.stopPropagation()\">\n <p class=\"dropdown-label\">Show/Hide Columns</p>\n <div class=\"dropdown-body\">\n @for (column of columnVisibilityList(); track $index) {\n <div class=\"column-row\">\n <span\n class=\"column-name\"\n [matTooltip]=\"column.headerName\"\n [matTooltipDisabled]=\"getTooltipDisabled(column.headerName)\"\n >\n {{ column.headerName }}\n </span>\n <div class=\"column-toggle\">\n <ads-slide-toggle\n [id]=\"'toggle-' + column.field\"\n [control]=\"column.control\"\n [showFooter]=\"false\"\n [customTitles]=\"['Show', 'Hide']\"\n />\n </div>\n </div>\n }\n </div>\n\n <ads-divider />\n\n <div class=\"dropdown-footer\">\n <ads-button\n [fullWidth]=\"true\"\n (click)=\"hideAllColumns()\"\n [disabled]=\"allColumnsHidden\"\n variant=\"tertiary\"\n id='hide-all-button'\n size=\"xs\"\n >\n Hide All\n </ads-button>\n <ads-button\n [fullWidth]=\"true\"\n (click)=\"showAllColumns()\"\n [disabled]=\"allColumnsVisible\"\n variant=\"tertiary\"\n id=\"show-all-button\"\n size=\"xs\"\n >\n Show All\n </ads-button>\n </div>\n </div>\n </mat-menu>\n\n <!-- Filter Menu -->\n <mat-menu #filterMenu=\"matMenu\" class=\"filter-menu-panel\" (closed)=\"filterMenuComponent.onMenuClosed()\">\n <ads-filter-menu\n #filterMenuComponent\n [columnSortFilterConfigs]=\"columnSortFilterConfigs\"\n [columnFilterStates]=\"columnFilterStates()\"\n [getFilterOptionsForField]=\"getFilterOptionsForFieldFn\"\n [getHierarchicalFilterOptionsForField]=\"getHierarchicalFilterOptionsForFieldFn\"\n [getFilterValuesForField]=\"getFilterValuesForFieldFn\"\n [isColumnFilteredFn]=\"isColumnFilteredFn\"\n [getFilterValueFormatterForField]=\"getFilterValueFormatterForFieldFn\"\n (filterChanged)=\"onFilterMenuFilterChanged($event)\"\n (filtersRemoved)=\"onFilterMenuFilterRemoved($event)\"\n />\n </mat-menu>\n\n <!-- Sort Menu -->\n <mat-menu #sortMenu=\"matMenu\" class=\"sort-menu-panel\">\n <ads-sort-menu\n [columnSortFilterConfigs]=\"columnSortFilterConfigs\"\n [columnSortStates]=\"columnSortStates()\"\n (sortChanged)=\"onSortMenuSortChanged($event)\"\n (sortsRemoved)=\"onSortMenuSortsRemoved($event)\"\n />\n </mat-menu>\n</div>\n", styles: [":host::ng-deep{--ag-wrapper-border-radius: 10px}:host::ng-deep ag-grid-angular{--ag-grid-size: 4px;--ag-border-radius: 5px;--ag-font-family: \"Roboto\";--ag-font-size: 16px;--ag-header-foreground-color: var(--color-medium);--ag-header-background-color: var(--color-light-30);--ag-background-color: var(--color-white);--ag-header-height: 45px;--ag-row-height: 45px;--ag-border-color: var(--color-light);--ag-foreground-color: var(--color-medium);--ag-spacing: 4px;--ag-inherited-accent-color: var(--color-secondary-hover)}:host::ng-deep ag-grid-angular .ag-header-cell-text{font-weight:600;line-height:21px}:host::ng-deep ag-grid-angular .ag-cell:focus,:host::ng-deep ag-grid-angular .ag-cell-focus{outline:none!important;border:none!important;box-shadow:none!important}:host::ng-deep ag-grid-angular .ag-row,:host::ng-deep ag-grid-angular .ag-header,:host::ng-deep ag-grid-angular .ag-advanced-filter-header{border-bottom:none}:host::ng-deep ag-grid-angular .ag-row-even{background-color:var(--color-white)}:host::ng-deep ag-grid-angular .ag-row-odd{background-color:var(--color-white)}:host::ng-deep ag-grid-angular .ag-sort-indicator-container{min-width:fit-content}:host::ng-deep ag-grid-angular .ag-sort-indicator-icon>svg{fill:var(--color-medium);stroke:var(--color-medium)}:host::ng-deep ag-grid-angular .ag-header-cell-filter-button>svg{fill:var(--color-medium);stroke:var(--color-medium)}:host::ng-deep ag-grid-angular .ag-theme-quartz{--ag-background-color: var(--color-light-30);--ag-foreground-color: var(--color-black);--ag-input-border-color: var(--color-light);--ag-input-focus-border-color: var(--color-medium);--ag-input-focus-box-shadow: none}:host::ng-deep ag-grid-angular .ag-theme-quartz .ag-input-wrapper input::placeholder{color:var(--color-medium);opacity:1}:host::ng-deep ag-grid-angular .ag-theme-quartz .ag-input-wrapper:before{background-image:none;content:none}:host::ng-deep ag-grid-angular .ag-theme-quartz .ag-input-wrapper input{padding-left:8px!important}:host::ng-deep .ads-table-container{display:flex;flex-direction:column;width:100%;height:100%}:host::ng-deep .ads-table-container.no-border .table-header{border:none;border-radius:0}:host::ng-deep .ads-table-container.no-border::ng-deep ag-grid-angular .ag-root-wrapper{border:none;border-radius:0}:host::ng-deep .ads-table-container.no-border .list-view-container{border:none;border-radius:0}:host::ng-deep .ads-table-container.with-header::ng-deep ag-grid-angular .ag-root-wrapper{border-top:none;border-top-left-radius:0;border-top-right-radius:0}:host::ng-deep .ads-table-container.with-header .list-view-container{border-top:none;border-top-left-radius:0;border-top-right-radius:0}:host::ng-deep .ads-table-container .table-header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:16px;background-color:var(--color-white);border:1px solid var(--color-light);border-top-left-radius:var(--ag-wrapper-border-radius);border-top-right-radius:var(--ag-wrapper-border-radius)}:host::ng-deep .ads-table-container .table-header .header-template-container{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 0}:host::ng-deep .ads-table-container .table-header .header-template-container .header-template{min-width:0;flex:1 1 0}:host::ng-deep .ads-table-container .table-header .header-actions{display:flex;gap:8px;flex-wrap:nowrap;flex-shrink:0;justify-content:flex-end}:host::ng-deep .ads-table-container .table-header .header-actions ads-table-button{display:flex}:host::ng-deep .ads-table-container .table-header .change-view-button{display:flex;height:30px;padding:0 12px;border-radius:100px;background-color:var(--color-muted);align-items:center;cursor:pointer;flex-shrink:0}:host::ng-deep .ads-table-container .table-header .change-view-button:hover{background-color:var(--color-secondary-hover)}:host::ng-deep .ads-table-container .table-header .change-view-button:hover ::ng-deep svg{stroke:var(--color-white)}:host::ng-deep .list-view-container{overflow-y:auto;display:flex;flex-direction:column;border:1px solid var(--color-light);border-radius:var(--ag-wrapper-border-radius)}:host::ng-deep .list-view-container .list-view-item{flex-shrink:0}:host::ng-deep .list-view-container .list-view-sentinel{height:1px;flex-shrink:0}:host::ng-deep .list-view-container .list-view-loading{display:flex;justify-content:center;align-items:center;height:100%}:host::ng-deep .list-view-container .list-view-empty{display:flex;justify-content:center;align-items:center;height:100%}::ng-deep .column-visibility-menu{width:234px;max-width:498px;border-radius:5px;box-shadow:0 4px 12px #00000026;border:1px solid var(--color-light)}::ng-deep .column-visibility-menu .mat-mdc-menu-content{padding:0}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content{background-color:var(--color-white)}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-label{padding:12px 12px 0;color:var(--color-medium);font-size:12px;font-weight:600;line-height:16px}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-body{overflow-y:auto}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-body .column-row{display:flex;justify-content:space-between;align-items:center;padding:0 12px;height:45px;gap:12px}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-body .column-row .column-name{font-size:16px;font-weight:400;color:var(--color-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px;flex:1}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-body .column-row .column-toggle{display:flex;justify-content:flex-end}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-body .column-row .column-toggle ::ng-deep ads-slide-toggle .ads-toggle{height:45px!important}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-footer{display:flex;justify-content:space-between;gap:12px;padding:12px}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-footer ::ng-deep ads-button{flex:1}::ng-deep .filter-menu-panel{width:316px;border-radius:5px;box-shadow:0 4px 12px #00000026;border:1px solid var(--color-light)}::ng-deep .sort-menu-panel{width:316px;border-radius:5px;box-shadow:0 4px 12px #00000026;border:1px solid var(--color-light)}\n"], dependencies: [{ kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i1.AdsIconComponent, selector: "ads-icon", inputs: ["size", "name", "color", "theme", "stroke"] }, { kind: "component", type: i3$5.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "enableStrictPivotColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "hidePaddedHeaderRows", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressMoveWhenColumnDragging", "suppressDragLeaveHidesColumns", "suppressGroupChangesColumnVisibility", "suppressMakeColumnVisibleAfterUnGroup", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "animateColumnResizing", "components", "editType", "suppressStartEditOnTab", "getFullRowEditValidationErrors", "invalidEditValueMode", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "findSearchValue", "findOptions", "quickFilterText", "cacheQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "alwaysPassFilter", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "advancedFilterParams", "suppressAdvancedFilterEval", "suppressSetFilterByDefault", "enableFilterHandlers", "filterHandlers", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressTouch", "suppressFocusAfterRefresh", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "loading", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "suppressOverlays", "overlayComponent", "overlayComponentParams", "overlayComponentSelector", "activeOverlay", "activeOverlayParams", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "formulaDataSource", "formulaFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "cellFlashDuration", "cellFadeDuration", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableCellSpan", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "refreshAfterGroupEdit", "rowDragInsertDelay", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "dragAndDropImageComponent", "dragAndDropImageComponentParams", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupHideParentOfSingleChild", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "treeData", "treeDataChildrenField", "treeDataParentIdField", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "groupHierarchyConfig", "pinnedTopRowData", "pinnedBottomRowData", "enableRowPinning", "isRowPinnable", "isRowPinned", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "cellSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "selectionColumnDef", "rowNumbers", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "enableGroupEdit", "initialState", "theme", "loadThemeGoogleFonts", "themeCssLayer", "styleNonce", "themeStyleContainer", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "focusGridInnerElement", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "ssrmExpandAllAffectsAllRows", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow", "isRowValidDropPosition"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnsReset", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "bulkEditingStarted", "bulkEditingStopped", "batchEditingStarted", "batchEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "cellSelectionDeleteStart", "cellSelectionDeleteEnd", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "filterUiChanged", "floatingFilterUiChanged", "advancedFilterBuilderVisibleChanged", "findChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "dragCancelled", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "rowDragCancel", "rowResizeStarted", "rowResizeEnded", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "pinnedRowsChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "headerFocused", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "cellSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged"] }, { kind: "component", type: AdsSlideToggleComponent, selector: "ads-slide-toggle", inputs: ["enableYesOrNo", "customTitles", "control", "label", "id", "width"] }, { kind: "component", type: AdsButtonComponent, selector: "ads-button", inputs: ["id", "variant", "disabled", "size", "type", "fullWidth"] }, { kind: "component", type: AdsTableButtonComponent, selector: "ads-table-button", inputs: ["id", "disabled", "fullWidth", "matMenuTriggerFor"], outputs: ["menuOpened", "menuClosed"] }, { kind: "component", type: DividerComponent, selector: "ads-divider", inputs: ["margin", "color"] }, { kind: "directive", type: i13.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4$3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i4$3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: AdsFilterMenuComponent, selector: "ads-filter-menu", inputs: ["columnSortFilterConfigs", "columnFilterStates", "getFilterOptionsForField", "getHierarchicalFilterOptionsForField", "getFilterValuesForField", "isColumnFilteredFn", "getFilterValueFormatterForField"], outputs: ["filterChanged", "filtersRemoved"] }, { kind: "component", type: AdsSortMenuComponent, selector: "ads-sort-menu", inputs: ["columnSortFilterConfigs", "columnSortStates"], outputs: ["sortChanged", "sortsRemoved"] }, { kind: "component", type: AdsProgressSpinnerComponent, selector: "ads-progress-spinner", inputs: ["zIndex", "scrollContainer", "size", "diameter"] }] }); }
9663
9747
  }
9664
9748
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: AdsTableComponent, decorators: [{
9665
9749
  type: Component,
9666
- args: [{ selector: 'ads-table', standalone: false, template: "<div class=\"ads-table-container\" [style.width]=\"width\" [class.with-header]=\"showHeaderActions\" [class.no-border]=\"!showBorder\">\n @if (showHeaderActions) {\n <div class=\"table-header\">\n <div class=\"header-template-container\">\n @if (showChangeViewButton) {\n <div class=\"change-view-button\" (click)=\"toggleView()\">\n @if (isListView()) {\n <ads-icon name=\"grid_view\" size=\"xxxs\" stroke=\"iconPrimary\" />\n } @else {\n <ads-icon name=\"list_view\" size=\"xxxs\" stroke=\"iconPrimary\" />\n }\n </div>\n }\n <div class=\"header-template\">\n @if (headerTemplate) {\n <ng-container *ngTemplateOutlet=\"headerTemplate\" />\n }\n </div>\n\n </div>\n\n <div class=\"header-actions\">\n @if (!isListView()) {\n <ads-table-button\n id=\"show-hide-columns-button\"\n [matMenuTriggerFor]=\"columnVisibilityMenu\"\n (menuOpened)=\"openColumnVisibilityMenu()\"\n (menuClosed)=\"onColumnVisibilityMenuClosed()\"\n >\n <ads-icon\n name=\"visibility_eye_none\"\n theme=\"secondary\"\n stroke=\"secondary\"\n size=\"xxxs\"\n />\n @if (!mobileHeaderView) {\n {{ hideColumnButtonLabel }}\n }\n </ads-table-button>\n }\n\n <ads-table-button\n id=\"filter-button\"\n [matMenuTriggerFor]=\"filterMenu\"\n (menuOpened)=\"openFilterMenu()\"\n (menuClosed)=\"onFilterMenuClosed()\"\n >\n <ads-icon\n name=\"filter\"\n theme=\"secondary\"\n size=\"xxxs\"\n />\n @if (!mobileHeaderView) {\n Filter\n }\n\n </ads-table-button>\n <ads-table-button\n id=\"sort-button\"\n [matMenuTriggerFor]=\"sortMenu\"\n >\n <ads-icon\n name=\"arrow_up_and_down\"\n theme=\"secondary\"\n size=\"xxxs\"\n />\n @if (!mobileHeaderView) {\n Sort\n }\n </ads-table-button>\n </div>\n </div>\n }\n\n <ag-grid-angular\n [ngStyle]=\"{ height: height }\"\n [style.display]=\"isListView() ? 'none' : ''\"\n [icons]=\"getAgGridIcons()\"\n class=\"ag-theme-quartz\"\n [gridOptions]=\"gridOptions\"\n [rowData]=\"rowData\"\n [columnDefs]=\"getProcessedColumnDefs()\"\n [defaultColDef]=\"getDefaultColDef()\"\n [components]=\"frameworkComponents\"\n [isExternalFilterPresent]=\"isExternalFilterPresent\"\n [doesExternalFilterPass]=\"doesExternalFilterPass\"\n (gridReady)=\"gridReady($event)\"\n (firstDataRendered)=\"firstDataRendered($event)\"\n (sortChanged)=\"sortChanged($event)\"\n (filterChanged)=\"filterChanged($event)\"\n [theme]=\"themeQuartz\"\n [loading]=\"loading\"\n [enableCellTextSelection]=\"true\"\n [ensureDomOrder]=\"true\"\n />\n\n @if (isListView()) {\n <div #listViewContainer class=\"list-view-container\" [ngStyle]=\"{ height: height }\">\n @if (loading) {\n <ads-progress-spinner [scrollContainer]=\"listViewContainer\" [size]=\"SpinnerSize.small\" />\n } @else {\n @for (row of getFilteredRowData(); track $index) {\n <div class=\"list-view-item\">\n @if (listItemTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"listItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, index: $index }\"\n />\n }\n </div>\n } @empty {\n <div class=\"list-view-empty\">No data to display</div>\n }\n }\n </div>\n }\n\n <!-- Column Visibility Menu -->\n <mat-menu #columnVisibilityMenu=\"matMenu\" class=\"column-visibility-menu\" [class.has-header]=\"showHeaderActions\">\n <div class=\"menu-content\" (click)=\"$event.stopPropagation()\">\n <p class=\"dropdown-label\">Show/Hide Columns</p>\n <div class=\"dropdown-body\">\n @for (column of columnVisibilityList(); track $index) {\n <div class=\"column-row\">\n <span\n class=\"column-name\"\n [matTooltip]=\"column.headerName\"\n [matTooltipDisabled]=\"getTooltipDisabled(column.headerName)\"\n >\n {{ column.headerName }}\n </span>\n <div class=\"column-toggle\">\n <ads-slide-toggle\n [id]=\"'toggle-' + column.field\"\n [control]=\"column.control\"\n [showFooter]=\"false\"\n [customTitles]=\"['Show', 'Hide']\"\n />\n </div>\n </div>\n }\n </div>\n\n <ads-divider />\n\n <div class=\"dropdown-footer\">\n <ads-button\n [fullWidth]=\"true\"\n (click)=\"hideAllColumns()\"\n [disabled]=\"allColumnsHidden\"\n variant=\"tertiary\"\n id='hide-all-button'\n size=\"xs\"\n >\n Hide All\n </ads-button>\n <ads-button\n [fullWidth]=\"true\"\n (click)=\"showAllColumns()\"\n [disabled]=\"allColumnsVisible\"\n variant=\"tertiary\"\n id=\"show-all-button\"\n size=\"xs\"\n >\n Show All\n </ads-button>\n </div>\n </div>\n </mat-menu>\n\n <!-- Filter Menu -->\n <mat-menu #filterMenu=\"matMenu\" class=\"filter-menu-panel\" (closed)=\"filterMenuComponent.onMenuClosed()\">\n <ads-filter-menu\n #filterMenuComponent\n [columnSortFilterConfigs]=\"columnSortFilterConfigs\"\n [columnFilterStates]=\"columnFilterStates()\"\n [getFilterOptionsForField]=\"getFilterOptionsForFieldFn\"\n [getHierarchicalFilterOptionsForField]=\"getHierarchicalFilterOptionsForFieldFn\"\n [getFilterValuesForField]=\"getFilterValuesForFieldFn\"\n [isColumnFilteredFn]=\"isColumnFilteredFn\"\n [getFilterValueFormatterForField]=\"getFilterValueFormatterForFieldFn\"\n (filterChanged)=\"onFilterMenuFilterChanged($event)\"\n (filtersRemoved)=\"onFilterMenuFilterRemoved($event)\"\n />\n </mat-menu>\n\n <!-- Sort Menu -->\n <mat-menu #sortMenu=\"matMenu\" class=\"sort-menu-panel\">\n <ads-sort-menu\n [columnSortFilterConfigs]=\"columnSortFilterConfigs\"\n [columnSortStates]=\"columnSortStates()\"\n (sortChanged)=\"onSortMenuSortChanged($event)\"\n (sortsRemoved)=\"onSortMenuSortsRemoved($event)\"\n />\n </mat-menu>\n</div>\n", styles: [":host::ng-deep{--ag-wrapper-border-radius: 10px}:host::ng-deep ag-grid-angular{--ag-grid-size: 4px;--ag-border-radius: 5px;--ag-font-family: \"Roboto\";--ag-font-size: 16px;--ag-header-foreground-color: var(--color-medium);--ag-header-background-color: var(--color-light-30);--ag-background-color: var(--color-white);--ag-header-height: 45px;--ag-row-height: 45px;--ag-border-color: var(--color-light);--ag-foreground-color: var(--color-medium);--ag-spacing: 4px;--ag-inherited-accent-color: var(--color-secondary-hover)}:host::ng-deep ag-grid-angular .ag-header-cell-text{font-weight:600;line-height:21px}:host::ng-deep ag-grid-angular .ag-cell:focus,:host::ng-deep ag-grid-angular .ag-cell-focus{outline:none!important;border:none!important;box-shadow:none!important}:host::ng-deep ag-grid-angular .ag-row,:host::ng-deep ag-grid-angular .ag-header,:host::ng-deep ag-grid-angular .ag-advanced-filter-header{border-bottom:none}:host::ng-deep ag-grid-angular .ag-row-even{background-color:var(--color-white)}:host::ng-deep ag-grid-angular .ag-row-odd{background-color:var(--color-white)}:host::ng-deep ag-grid-angular .ag-sort-indicator-container{min-width:fit-content}:host::ng-deep ag-grid-angular .ag-sort-indicator-icon>svg{fill:var(--color-medium);stroke:var(--color-medium)}:host::ng-deep ag-grid-angular .ag-header-cell-filter-button>svg{fill:var(--color-medium);stroke:var(--color-medium)}:host::ng-deep ag-grid-angular .ag-theme-quartz{--ag-background-color: var(--color-light-30);--ag-foreground-color: var(--color-black);--ag-input-border-color: var(--color-light);--ag-input-focus-border-color: var(--color-medium);--ag-input-focus-box-shadow: none}:host::ng-deep ag-grid-angular .ag-theme-quartz .ag-input-wrapper input::placeholder{color:var(--color-medium);opacity:1}:host::ng-deep ag-grid-angular .ag-theme-quartz .ag-input-wrapper:before{background-image:none;content:none}:host::ng-deep ag-grid-angular .ag-theme-quartz .ag-input-wrapper input{padding-left:8px!important}:host::ng-deep .ads-table-container{display:flex;flex-direction:column;width:100%;height:100%}:host::ng-deep .ads-table-container.no-border .table-header{border:none;border-radius:0}:host::ng-deep .ads-table-container.no-border::ng-deep ag-grid-angular .ag-root-wrapper{border:none;border-radius:0}:host::ng-deep .ads-table-container.no-border .list-view-container{border:none;border-radius:0}:host::ng-deep .ads-table-container.with-header::ng-deep ag-grid-angular .ag-root-wrapper{border-top:none;border-top-left-radius:0;border-top-right-radius:0}:host::ng-deep .ads-table-container.with-header .list-view-container{border-top:none;border-top-left-radius:0;border-top-right-radius:0}:host::ng-deep .ads-table-container .table-header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:16px;background-color:var(--color-white);border:1px solid var(--color-light);border-top-left-radius:var(--ag-wrapper-border-radius);border-top-right-radius:var(--ag-wrapper-border-radius)}:host::ng-deep .ads-table-container .table-header .header-template-container{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 0}:host::ng-deep .ads-table-container .table-header .header-template-container .header-template{min-width:0;flex:1 1 0}:host::ng-deep .ads-table-container .table-header .header-actions{display:flex;gap:8px;flex-wrap:nowrap;flex-shrink:0;justify-content:flex-end}:host::ng-deep .ads-table-container .table-header .header-actions ads-table-button{display:flex}:host::ng-deep .ads-table-container .table-header .change-view-button{display:flex;height:30px;padding:0 12px;border-radius:100px;background-color:var(--color-muted);align-items:center;cursor:pointer;flex-shrink:0}:host::ng-deep .ads-table-container .table-header .change-view-button:hover{background-color:var(--color-secondary-hover)}:host::ng-deep .ads-table-container .table-header .change-view-button:hover ::ng-deep svg{stroke:var(--color-white)}:host::ng-deep .list-view-container{overflow-y:auto;display:flex;flex-direction:column;border:1px solid var(--color-light);border-radius:var(--ag-wrapper-border-radius)}:host::ng-deep .list-view-container .list-view-item{flex-shrink:0}:host::ng-deep .list-view-container .list-view-loading{display:flex;justify-content:center;align-items:center;height:100%}:host::ng-deep .list-view-container .list-view-empty{display:flex;justify-content:center;align-items:center;height:100%}::ng-deep .column-visibility-menu{width:234px;max-width:498px;border-radius:5px;box-shadow:0 4px 12px #00000026;border:1px solid var(--color-light)}::ng-deep .column-visibility-menu .mat-mdc-menu-content{padding:0}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content{background-color:var(--color-white)}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-label{padding:12px 12px 0;color:var(--color-medium);font-size:12px;font-weight:600;line-height:16px}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-body{overflow-y:auto}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-body .column-row{display:flex;justify-content:space-between;align-items:center;padding:0 12px;height:45px;gap:12px}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-body .column-row .column-name{font-size:16px;font-weight:400;color:var(--color-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px;flex:1}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-body .column-row .column-toggle{display:flex;justify-content:flex-end}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-body .column-row .column-toggle ::ng-deep ads-slide-toggle .ads-toggle{height:45px!important}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-footer{display:flex;justify-content:space-between;gap:12px;padding:12px}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-footer ::ng-deep ads-button{flex:1}::ng-deep .filter-menu-panel{width:316px;border-radius:5px;box-shadow:0 4px 12px #00000026;border:1px solid var(--color-light)}::ng-deep .sort-menu-panel{width:316px;border-radius:5px;box-shadow:0 4px 12px #00000026;border:1px solid var(--color-light)}\n"] }]
9750
+ args: [{ selector: 'ads-table', standalone: false, template: "<div class=\"ads-table-container\" [style.width]=\"width\" [class.with-header]=\"showHeaderActions\" [class.no-border]=\"!showBorder\">\n @if (showHeaderActions) {\n <div class=\"table-header\">\n <div class=\"header-template-container\">\n @if (showChangeViewButton) {\n <div class=\"change-view-button\" (click)=\"toggleView()\">\n @if (isListView()) {\n <ads-icon name=\"grid_view\" size=\"xxxs\" stroke=\"iconPrimary\" />\n } @else {\n <ads-icon name=\"list_view\" size=\"xxxs\" stroke=\"iconPrimary\" />\n }\n </div>\n }\n <div class=\"header-template\">\n @if (headerTemplate) {\n <ng-container *ngTemplateOutlet=\"headerTemplate\" />\n }\n </div>\n\n </div>\n\n <div class=\"header-actions\">\n @if (!isListView()) {\n <ads-table-button\n id=\"show-hide-columns-button\"\n [matMenuTriggerFor]=\"columnVisibilityMenu\"\n (menuOpened)=\"openColumnVisibilityMenu()\"\n (menuClosed)=\"onColumnVisibilityMenuClosed()\"\n >\n <ads-icon\n name=\"visibility_eye_none\"\n theme=\"secondary\"\n stroke=\"secondary\"\n size=\"xxxs\"\n />\n @if (!mobileHeaderView) {\n {{ hideColumnButtonLabel }}\n }\n </ads-table-button>\n }\n\n <ads-table-button\n id=\"filter-button\"\n [matMenuTriggerFor]=\"filterMenu\"\n (menuOpened)=\"openFilterMenu()\"\n (menuClosed)=\"onFilterMenuClosed()\"\n >\n <ads-icon\n name=\"filter\"\n theme=\"secondary\"\n size=\"xxxs\"\n />\n @if (!mobileHeaderView) {\n Filter\n }\n\n </ads-table-button>\n <ads-table-button\n id=\"sort-button\"\n [matMenuTriggerFor]=\"sortMenu\"\n >\n <ads-icon\n name=\"arrow_up_and_down\"\n theme=\"secondary\"\n size=\"xxxs\"\n />\n @if (!mobileHeaderView) {\n Sort\n }\n </ads-table-button>\n </div>\n </div>\n }\n\n <ag-grid-angular\n [ngStyle]=\"{ height: height }\"\n [style.display]=\"isListView() ? 'none' : ''\"\n [icons]=\"getAgGridIcons()\"\n class=\"ag-theme-quartz\"\n [gridOptions]=\"gridOptions\"\n [rowData]=\"rowData\"\n [columnDefs]=\"getProcessedColumnDefs()\"\n [defaultColDef]=\"getDefaultColDef()\"\n [components]=\"frameworkComponents\"\n [isExternalFilterPresent]=\"isExternalFilterPresent\"\n [doesExternalFilterPass]=\"doesExternalFilterPass\"\n (gridReady)=\"gridReady($event)\"\n (firstDataRendered)=\"firstDataRendered($event)\"\n (sortChanged)=\"sortChanged($event)\"\n (filterChanged)=\"filterChanged($event)\"\n [theme]=\"themeQuartz\"\n [loading]=\"loading\"\n [enableCellTextSelection]=\"true\"\n [ensureDomOrder]=\"true\"\n />\n\n @if (isListView()) {\n <div class=\"list-view-container\" [ngStyle]=\"{ height: height }\">\n @if (loading) {\n <div class=\"list-view-loading\">\n <ads-progress-spinner [size]=\"SpinnerSize.small\" />\n </div>\n } @else {\n @for (row of visibleListRows(); track $index) {\n <div class=\"list-view-item\">\n @if (listItemTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"listItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, index: $index, first: $first, last: $last }\"\n />\n }\n </div>\n } @empty {\n <div class=\"list-view-empty\">No data to display</div>\n }\n @if (hasMoreListRows()) {\n <div #listSentinel class=\"list-view-sentinel\"></div>\n }\n }\n </div>\n }\n\n <!-- Column Visibility Menu -->\n <mat-menu #columnVisibilityMenu=\"matMenu\" class=\"column-visibility-menu\" [class.has-header]=\"showHeaderActions\">\n <div class=\"menu-content\" (click)=\"$event.stopPropagation()\">\n <p class=\"dropdown-label\">Show/Hide Columns</p>\n <div class=\"dropdown-body\">\n @for (column of columnVisibilityList(); track $index) {\n <div class=\"column-row\">\n <span\n class=\"column-name\"\n [matTooltip]=\"column.headerName\"\n [matTooltipDisabled]=\"getTooltipDisabled(column.headerName)\"\n >\n {{ column.headerName }}\n </span>\n <div class=\"column-toggle\">\n <ads-slide-toggle\n [id]=\"'toggle-' + column.field\"\n [control]=\"column.control\"\n [showFooter]=\"false\"\n [customTitles]=\"['Show', 'Hide']\"\n />\n </div>\n </div>\n }\n </div>\n\n <ads-divider />\n\n <div class=\"dropdown-footer\">\n <ads-button\n [fullWidth]=\"true\"\n (click)=\"hideAllColumns()\"\n [disabled]=\"allColumnsHidden\"\n variant=\"tertiary\"\n id='hide-all-button'\n size=\"xs\"\n >\n Hide All\n </ads-button>\n <ads-button\n [fullWidth]=\"true\"\n (click)=\"showAllColumns()\"\n [disabled]=\"allColumnsVisible\"\n variant=\"tertiary\"\n id=\"show-all-button\"\n size=\"xs\"\n >\n Show All\n </ads-button>\n </div>\n </div>\n </mat-menu>\n\n <!-- Filter Menu -->\n <mat-menu #filterMenu=\"matMenu\" class=\"filter-menu-panel\" (closed)=\"filterMenuComponent.onMenuClosed()\">\n <ads-filter-menu\n #filterMenuComponent\n [columnSortFilterConfigs]=\"columnSortFilterConfigs\"\n [columnFilterStates]=\"columnFilterStates()\"\n [getFilterOptionsForField]=\"getFilterOptionsForFieldFn\"\n [getHierarchicalFilterOptionsForField]=\"getHierarchicalFilterOptionsForFieldFn\"\n [getFilterValuesForField]=\"getFilterValuesForFieldFn\"\n [isColumnFilteredFn]=\"isColumnFilteredFn\"\n [getFilterValueFormatterForField]=\"getFilterValueFormatterForFieldFn\"\n (filterChanged)=\"onFilterMenuFilterChanged($event)\"\n (filtersRemoved)=\"onFilterMenuFilterRemoved($event)\"\n />\n </mat-menu>\n\n <!-- Sort Menu -->\n <mat-menu #sortMenu=\"matMenu\" class=\"sort-menu-panel\">\n <ads-sort-menu\n [columnSortFilterConfigs]=\"columnSortFilterConfigs\"\n [columnSortStates]=\"columnSortStates()\"\n (sortChanged)=\"onSortMenuSortChanged($event)\"\n (sortsRemoved)=\"onSortMenuSortsRemoved($event)\"\n />\n </mat-menu>\n</div>\n", styles: [":host::ng-deep{--ag-wrapper-border-radius: 10px}:host::ng-deep ag-grid-angular{--ag-grid-size: 4px;--ag-border-radius: 5px;--ag-font-family: \"Roboto\";--ag-font-size: 16px;--ag-header-foreground-color: var(--color-medium);--ag-header-background-color: var(--color-light-30);--ag-background-color: var(--color-white);--ag-header-height: 45px;--ag-row-height: 45px;--ag-border-color: var(--color-light);--ag-foreground-color: var(--color-medium);--ag-spacing: 4px;--ag-inherited-accent-color: var(--color-secondary-hover)}:host::ng-deep ag-grid-angular .ag-header-cell-text{font-weight:600;line-height:21px}:host::ng-deep ag-grid-angular .ag-cell:focus,:host::ng-deep ag-grid-angular .ag-cell-focus{outline:none!important;border:none!important;box-shadow:none!important}:host::ng-deep ag-grid-angular .ag-row,:host::ng-deep ag-grid-angular .ag-header,:host::ng-deep ag-grid-angular .ag-advanced-filter-header{border-bottom:none}:host::ng-deep ag-grid-angular .ag-row-even{background-color:var(--color-white)}:host::ng-deep ag-grid-angular .ag-row-odd{background-color:var(--color-white)}:host::ng-deep ag-grid-angular .ag-sort-indicator-container{min-width:fit-content}:host::ng-deep ag-grid-angular .ag-sort-indicator-icon>svg{fill:var(--color-medium);stroke:var(--color-medium)}:host::ng-deep ag-grid-angular .ag-header-cell-filter-button>svg{fill:var(--color-medium);stroke:var(--color-medium)}:host::ng-deep ag-grid-angular .ag-theme-quartz{--ag-background-color: var(--color-light-30);--ag-foreground-color: var(--color-black);--ag-input-border-color: var(--color-light);--ag-input-focus-border-color: var(--color-medium);--ag-input-focus-box-shadow: none}:host::ng-deep ag-grid-angular .ag-theme-quartz .ag-input-wrapper input::placeholder{color:var(--color-medium);opacity:1}:host::ng-deep ag-grid-angular .ag-theme-quartz .ag-input-wrapper:before{background-image:none;content:none}:host::ng-deep ag-grid-angular .ag-theme-quartz .ag-input-wrapper input{padding-left:8px!important}:host::ng-deep .ads-table-container{display:flex;flex-direction:column;width:100%;height:100%}:host::ng-deep .ads-table-container.no-border .table-header{border:none;border-radius:0}:host::ng-deep .ads-table-container.no-border::ng-deep ag-grid-angular .ag-root-wrapper{border:none;border-radius:0}:host::ng-deep .ads-table-container.no-border .list-view-container{border:none;border-radius:0}:host::ng-deep .ads-table-container.with-header::ng-deep ag-grid-angular .ag-root-wrapper{border-top:none;border-top-left-radius:0;border-top-right-radius:0}:host::ng-deep .ads-table-container.with-header .list-view-container{border-top:none;border-top-left-radius:0;border-top-right-radius:0}:host::ng-deep .ads-table-container .table-header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:16px;background-color:var(--color-white);border:1px solid var(--color-light);border-top-left-radius:var(--ag-wrapper-border-radius);border-top-right-radius:var(--ag-wrapper-border-radius)}:host::ng-deep .ads-table-container .table-header .header-template-container{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 0}:host::ng-deep .ads-table-container .table-header .header-template-container .header-template{min-width:0;flex:1 1 0}:host::ng-deep .ads-table-container .table-header .header-actions{display:flex;gap:8px;flex-wrap:nowrap;flex-shrink:0;justify-content:flex-end}:host::ng-deep .ads-table-container .table-header .header-actions ads-table-button{display:flex}:host::ng-deep .ads-table-container .table-header .change-view-button{display:flex;height:30px;padding:0 12px;border-radius:100px;background-color:var(--color-muted);align-items:center;cursor:pointer;flex-shrink:0}:host::ng-deep .ads-table-container .table-header .change-view-button:hover{background-color:var(--color-secondary-hover)}:host::ng-deep .ads-table-container .table-header .change-view-button:hover ::ng-deep svg{stroke:var(--color-white)}:host::ng-deep .list-view-container{overflow-y:auto;display:flex;flex-direction:column;border:1px solid var(--color-light);border-radius:var(--ag-wrapper-border-radius)}:host::ng-deep .list-view-container .list-view-item{flex-shrink:0}:host::ng-deep .list-view-container .list-view-sentinel{height:1px;flex-shrink:0}:host::ng-deep .list-view-container .list-view-loading{display:flex;justify-content:center;align-items:center;height:100%}:host::ng-deep .list-view-container .list-view-empty{display:flex;justify-content:center;align-items:center;height:100%}::ng-deep .column-visibility-menu{width:234px;max-width:498px;border-radius:5px;box-shadow:0 4px 12px #00000026;border:1px solid var(--color-light)}::ng-deep .column-visibility-menu .mat-mdc-menu-content{padding:0}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content{background-color:var(--color-white)}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-label{padding:12px 12px 0;color:var(--color-medium);font-size:12px;font-weight:600;line-height:16px}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-body{overflow-y:auto}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-body .column-row{display:flex;justify-content:space-between;align-items:center;padding:0 12px;height:45px;gap:12px}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-body .column-row .column-name{font-size:16px;font-weight:400;color:var(--color-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px;flex:1}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-body .column-row .column-toggle{display:flex;justify-content:flex-end}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-body .column-row .column-toggle ::ng-deep ads-slide-toggle .ads-toggle{height:45px!important}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-footer{display:flex;justify-content:space-between;gap:12px;padding:12px}::ng-deep .column-visibility-menu .mat-mdc-menu-content .menu-content .dropdown-footer ::ng-deep ads-button{flex:1}::ng-deep .filter-menu-panel{width:316px;border-radius:5px;box-shadow:0 4px 12px #00000026;border:1px solid var(--color-light)}::ng-deep .sort-menu-panel{width:316px;border-radius:5px;box-shadow:0 4px 12px #00000026;border:1px solid var(--color-light)}\n"] }]
9667
9751
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.AdsIconRegistry }, { type: i0.ChangeDetectorRef }], propDecorators: { width: [{
9668
9752
  type: Input
9669
9753
  }], height: [{
@@ -9692,6 +9776,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
9692
9776
  type: Input
9693
9777
  }], listItemTemplate: [{
9694
9778
  type: Input
9779
+ }], listBatchSize: [{
9780
+ type: Input
9695
9781
  }], enableCustomSortFilter: [{
9696
9782
  type: Input
9697
9783
  }], mobileHeaderView: [{
@@ -9706,6 +9792,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
9706
9792
  type: Output
9707
9793
  }], viewChanged: [{
9708
9794
  type: Output
9795
+ }], listSentinelQuery: [{
9796
+ type: ViewChildren,
9797
+ args: ['listSentinel']
9709
9798
  }], menuTrigger: [{
9710
9799
  type: ViewChild,
9711
9800
  args: [MatMenuTrigger]