@ascentgl/ads-ui 20.28.0 → 20.29.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.
@@ -54,10 +54,10 @@ import { MatDialogRef, MAT_DIALOG_DATA, MatDialogModule } from '@angular/materia
54
54
  import * as i6$1 from '@angular/material/expansion';
55
55
  import { MatExpansionPanel, MatExpansionPanelTitle, MatExpansionPanelHeader, MatExpansionPanelDescription, MatAccordion } from '@angular/material/expansion';
56
56
  import { ModuleRegistry, AllCommunityModule, provideGlobalGridOptions, themeQuartz } from 'ag-grid-community';
57
+ import * as i4$3 from '@angular/material/menu';
58
+ import { MatMenuTrigger, MatMenuModule, MatMenu, MatMenuItem } from '@angular/material/menu';
57
59
  import * as i3$4 from 'ag-grid-angular';
58
60
  import { AgGridAngular } from 'ag-grid-angular';
59
- import * as i4$3 from '@angular/material/menu';
60
- import { MatMenu, MatMenuTrigger, MatMenuItem, MatMenuModule } from '@angular/material/menu';
61
61
  import * as i3$5 from 'angular-split';
62
62
  import { SplitComponent, SplitAreaComponent } from 'angular-split';
63
63
  import * as i11$1 from '@angular/material/toolbar';
@@ -6355,14 +6355,18 @@ class AdsTableButtonComponent {
6355
6355
  this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
6356
6356
  /** Makes the button take 100% width of its container */
6357
6357
  this.fullWidth = input(false, ...(ngDevMode ? [{ debugName: "fullWidth" }] : []));
6358
+ /** The menu to trigger when button is clicked */
6359
+ this.matMenuTriggerFor = input(null, ...(ngDevMode ? [{ debugName: "matMenuTriggerFor" }] : []));
6360
+ /** Event emitted when the menu is opened */
6361
+ this.menuOpened = output();
6358
6362
  }
6359
6363
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.5", ngImport: i0, type: AdsTableButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6360
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.5", type: AdsTableButtonComponent, isStandalone: false, selector: "ads-table-button", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, fullWidth: { classPropertyName: "fullWidth", publicName: "fullWidth", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<button\n mat-flat-button\n [id]=\"id()\"\n [disabled]=\"disabled()\"\n [class.full-width]=\"fullWidth()\"\n [disableRipple]=\"true\">\n <div class=\"content-container\">\n <ng-content></ng-content>\n </div>\n</button>\n", styles: ["button{--mat-button-filled-label-text-weight: 600;--mat-button-filled-container-height: 24px;--mat-button-filled-label-text-size: 12px;--mat-button-filled-horizontal-padding: 7px;--mat-button-filled-container-shape: 5px;--mat-filled-button-hover-state-layer-opacity: 0;--mat-button-filled-container-color: var(--color-secondary-10);--mat-button-filled-label-text-color: var(--color-secondary);border:1.5px solid var(--color-secondary);min-width:unset!important}button:disabled{border-color:var(--color-medium-30);--mat-button-filled-disabled-container-color: var(--color-muted-50);--mat-button-filled-disabled-label-text-color: var(--color-medium-50)}button:disabled ::ng-deep ads-icon svg{fill:var(--color-medium-50)!important;stroke:var(--color-medium-50)!important}button:not(:disabled):hover{border-color:var(--color-secondary-hover);--mat-button-filled-container-color: var(--color-secondary-hover);--mat-button-filled-label-text-color: var(--color-white)}button:not(:disabled):hover ::ng-deep ads-icon svg{fill:var(--color-white)!important;stroke:var(--color-white)!important}button:not(:disabled):active,button:not(:disabled):focus{border-color:var(--color-secondary-pressed);--mat-button-filled-container-color: var(--color-secondary-pressed);--mat-button-filled-label-text-color: var(--color-white)}button:not(:disabled):active ::ng-deep ads-icon svg,button:not(:disabled):focus ::ng-deep ads-icon svg{fill:var(--color-white)!important;stroke:var(--color-white)!important}::ng-deep .mat-mdc-button-persistent-ripple:before{opacity:0!important}:host::ng-deep .mdc-button__label{white-space:nowrap}.content-container{display:flex;gap:8px;align-items:center}.full-width{width:100%!important}\n"], dependencies: [{ kind: "component", type: i7.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }] }); }
6364
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.5", type: AdsTableButtonComponent, isStandalone: false, selector: "ads-table-button", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, fullWidth: { classPropertyName: "fullWidth", publicName: "fullWidth", isSignal: true, isRequired: false, transformFunction: null }, matMenuTriggerFor: { classPropertyName: "matMenuTriggerFor", publicName: "matMenuTriggerFor", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { menuOpened: "menuOpened" }, ngImport: i0, template: "<button\n mat-flat-button\n [id]=\"id()\"\n [disabled]=\"disabled()\"\n [class.full-width]=\"fullWidth()\"\n [disableRipple]=\"true\"\n [matMenuTriggerFor]=\"matMenuTriggerFor()\"\n (menuOpened)=\"menuOpened.emit()\">\n <div class=\"content-container\">\n <ng-content></ng-content>\n </div>\n</button>\n", styles: ["button{--mat-button-filled-label-text-weight: 600;--mat-button-filled-container-height: 24px;--mat-button-filled-label-text-size: 12px;--mat-button-filled-horizontal-padding: 7px;--mat-button-filled-container-shape: 5px;--mat-filled-button-hover-state-layer-opacity: 0;--mat-button-filled-container-color: var(--color-secondary-10);--mat-button-filled-label-text-color: var(--color-secondary);border:1.5px solid var(--color-secondary);min-width:unset!important}button:disabled{border-color:var(--color-medium-30);--mat-button-filled-disabled-container-color: var(--color-muted-50);--mat-button-filled-disabled-label-text-color: var(--color-medium-50)}button:disabled ::ng-deep ads-icon svg{fill:var(--color-medium-50)!important;stroke:var(--color-medium-50)!important}button:not(:disabled):hover{border-color:var(--color-secondary-hover);--mat-button-filled-container-color: var(--color-secondary-hover);--mat-button-filled-label-text-color: var(--color-white)}button:not(:disabled):hover ::ng-deep ads-icon svg{fill:var(--color-white)!important;stroke:var(--color-white)!important}button:not(:disabled):active,button:not(:disabled):focus{border-color:var(--color-secondary-pressed);--mat-button-filled-container-color: var(--color-secondary-pressed);--mat-button-filled-label-text-color: var(--color-white)}button:not(:disabled):active ::ng-deep ads-icon svg,button:not(:disabled):focus ::ng-deep ads-icon svg{fill:var(--color-white)!important;stroke:var(--color-white)!important}::ng-deep .mat-mdc-button-persistent-ripple:before{opacity:0!important}:host::ng-deep .mdc-button__label{white-space:nowrap}.content-container{display:flex;gap:8px;align-items:center}.full-width{width:100%!important}\n"], dependencies: [{ kind: "component", type: i7.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { 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"] }] }); }
6361
6365
  }
6362
6366
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.5", ngImport: i0, type: AdsTableButtonComponent, decorators: [{
6363
6367
  type: Component,
6364
- args: [{ selector: 'ads-table-button', standalone: false, template: "<button\n mat-flat-button\n [id]=\"id()\"\n [disabled]=\"disabled()\"\n [class.full-width]=\"fullWidth()\"\n [disableRipple]=\"true\">\n <div class=\"content-container\">\n <ng-content></ng-content>\n </div>\n</button>\n", styles: ["button{--mat-button-filled-label-text-weight: 600;--mat-button-filled-container-height: 24px;--mat-button-filled-label-text-size: 12px;--mat-button-filled-horizontal-padding: 7px;--mat-button-filled-container-shape: 5px;--mat-filled-button-hover-state-layer-opacity: 0;--mat-button-filled-container-color: var(--color-secondary-10);--mat-button-filled-label-text-color: var(--color-secondary);border:1.5px solid var(--color-secondary);min-width:unset!important}button:disabled{border-color:var(--color-medium-30);--mat-button-filled-disabled-container-color: var(--color-muted-50);--mat-button-filled-disabled-label-text-color: var(--color-medium-50)}button:disabled ::ng-deep ads-icon svg{fill:var(--color-medium-50)!important;stroke:var(--color-medium-50)!important}button:not(:disabled):hover{border-color:var(--color-secondary-hover);--mat-button-filled-container-color: var(--color-secondary-hover);--mat-button-filled-label-text-color: var(--color-white)}button:not(:disabled):hover ::ng-deep ads-icon svg{fill:var(--color-white)!important;stroke:var(--color-white)!important}button:not(:disabled):active,button:not(:disabled):focus{border-color:var(--color-secondary-pressed);--mat-button-filled-container-color: var(--color-secondary-pressed);--mat-button-filled-label-text-color: var(--color-white)}button:not(:disabled):active ::ng-deep ads-icon svg,button:not(:disabled):focus ::ng-deep ads-icon svg{fill:var(--color-white)!important;stroke:var(--color-white)!important}::ng-deep .mat-mdc-button-persistent-ripple:before{opacity:0!important}:host::ng-deep .mdc-button__label{white-space:nowrap}.content-container{display:flex;gap:8px;align-items:center}.full-width{width:100%!important}\n"] }]
6365
- }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], fullWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "fullWidth", required: false }] }] } });
6368
+ args: [{ selector: 'ads-table-button', standalone: false, template: "<button\n mat-flat-button\n [id]=\"id()\"\n [disabled]=\"disabled()\"\n [class.full-width]=\"fullWidth()\"\n [disableRipple]=\"true\"\n [matMenuTriggerFor]=\"matMenuTriggerFor()\"\n (menuOpened)=\"menuOpened.emit()\">\n <div class=\"content-container\">\n <ng-content></ng-content>\n </div>\n</button>\n", styles: ["button{--mat-button-filled-label-text-weight: 600;--mat-button-filled-container-height: 24px;--mat-button-filled-label-text-size: 12px;--mat-button-filled-horizontal-padding: 7px;--mat-button-filled-container-shape: 5px;--mat-filled-button-hover-state-layer-opacity: 0;--mat-button-filled-container-color: var(--color-secondary-10);--mat-button-filled-label-text-color: var(--color-secondary);border:1.5px solid var(--color-secondary);min-width:unset!important}button:disabled{border-color:var(--color-medium-30);--mat-button-filled-disabled-container-color: var(--color-muted-50);--mat-button-filled-disabled-label-text-color: var(--color-medium-50)}button:disabled ::ng-deep ads-icon svg{fill:var(--color-medium-50)!important;stroke:var(--color-medium-50)!important}button:not(:disabled):hover{border-color:var(--color-secondary-hover);--mat-button-filled-container-color: var(--color-secondary-hover);--mat-button-filled-label-text-color: var(--color-white)}button:not(:disabled):hover ::ng-deep ads-icon svg{fill:var(--color-white)!important;stroke:var(--color-white)!important}button:not(:disabled):active,button:not(:disabled):focus{border-color:var(--color-secondary-pressed);--mat-button-filled-container-color: var(--color-secondary-pressed);--mat-button-filled-label-text-color: var(--color-white)}button:not(:disabled):active ::ng-deep ads-icon svg,button:not(:disabled):focus ::ng-deep ads-icon svg{fill:var(--color-white)!important;stroke:var(--color-white)!important}::ng-deep .mat-mdc-button-persistent-ripple:before{opacity:0!important}:host::ng-deep .mdc-button__label{white-space:nowrap}.content-container{display:flex;gap:8px;align-items:center}.full-width{width:100%!important}\n"] }]
6369
+ }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], fullWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "fullWidth", required: false }] }], matMenuTriggerFor: [{ type: i0.Input, args: [{ isSignal: true, alias: "matMenuTriggerFor", required: false }] }], menuOpened: [{ type: i0.Output, args: ["menuOpened"] }] } });
6366
6370
 
6367
6371
  ModuleRegistry.registerModules([AllCommunityModule]);
6368
6372
  provideGlobalGridOptions({ theme: 'legacy' });
@@ -6399,15 +6403,13 @@ class AdsTableComponent {
6399
6403
  };
6400
6404
  /** Show/hide the header with column visibility button */
6401
6405
  this.showHeaderActions = false;
6406
+ /** Event emitted when all filters are cleared */
6407
+ this.filtersCleared = new EventEmitter();
6402
6408
  /** @ignore */
6403
6409
  this.tableColumnDefs = signal([], ...(ngDevMode ? [{ debugName: "tableColumnDefs" }] : []));
6404
6410
  /** @ignore */
6405
6411
  this.columnVisibilityList = signal([], ...(ngDevMode ? [{ debugName: "columnVisibilityList" }] : []));
6406
6412
  /** @ignore */
6407
- this.isDropdownOpen = false;
6408
- /** @ignore */
6409
- this.dropdownPosition = { top: '0px', left: '0px' };
6410
- /** @ignore */
6411
6413
  this.destroy$ = new Subject();
6412
6414
  /** @ignore */
6413
6415
  this.truncationStates = new Map();
@@ -6417,15 +6419,6 @@ class AdsTableComponent {
6417
6419
  this.currentSortDirection = null;
6418
6420
  /** @ignore */
6419
6421
  this.filteredColumns = [];
6420
- /** @ignore */
6421
- this.onDocumentClick = (event) => {
6422
- const target = event.target;
6423
- const dropdown = document.querySelector('.column-visibility-dropdown');
6424
- const button = this.hideColumnButton?.nativeElement;
6425
- if (dropdown && !dropdown.contains(target) && !button?.contains(target)) {
6426
- this.closeDropdown();
6427
- }
6428
- };
6429
6422
  this.themeQuartz = themeQuartz;
6430
6423
  this.registry.register([adsIconFilter, adsIconVisibilityEyeNone, adsIconArrowUpAndDown, adsIconCross]);
6431
6424
  }
@@ -6515,34 +6508,11 @@ class AdsTableComponent {
6515
6508
  return columns;
6516
6509
  }
6517
6510
  /** @ignore */
6518
- openColumnVisibilityDropdown() {
6519
- if (this.isDropdownOpen) {
6520
- this.closeDropdown();
6521
- return;
6522
- }
6523
- const buttonRect = this.hideColumnButton.nativeElement.getBoundingClientRect();
6524
- this.dropdownPosition = {
6525
- top: `${buttonRect.bottom + window.scrollY + 4}px`,
6526
- left: `${buttonRect.left + window.scrollX}px`
6527
- };
6528
- this.isDropdownOpen = true;
6529
- // Update truncation states after dropdown is rendered
6511
+ openColumnVisibilityMenu() {
6512
+ // Simple approach: update truncation states after a short delay when menu opens
6530
6513
  setTimeout(() => {
6531
6514
  this.updateTruncationStates();
6532
- }, 0);
6533
- // Close dropdown when clicking outside
6534
- setTimeout(() => {
6535
- document.addEventListener('click', this.onDocumentClick, true);
6536
- }, 0);
6537
- }
6538
- /** @ignore */
6539
- closeDropdown() {
6540
- this.isDropdownOpen = false;
6541
- document.removeEventListener('click', this.onDocumentClick, true);
6542
- }
6543
- /** @ignore */
6544
- onDropdownClick(event) {
6545
- event.stopPropagation();
6515
+ }, 150);
6546
6516
  }
6547
6517
  /** @ignore */
6548
6518
  hideAllColumns() {
@@ -6661,6 +6631,8 @@ class AdsTableComponent {
6661
6631
  if (this.gridApi) {
6662
6632
  this.gridApi.setFilterModel(null);
6663
6633
  this.updateFilteringState();
6634
+ // Emit event to notify header template that filters were cleared
6635
+ this.filtersCleared.emit();
6664
6636
  }
6665
6637
  }
6666
6638
  /** @ignore */
@@ -6775,18 +6747,30 @@ class AdsTableComponent {
6775
6747
  updateTruncationStates() {
6776
6748
  // Clear previous states
6777
6749
  this.truncationStates.clear();
6778
- // Wait for DOM to be ready before checking truncation
6779
- requestAnimationFrame(() => {
6780
- const columnNameElements = this.elementRef.nativeElement.querySelectorAll('.column-name');
6750
+ // Search for menu overlay in document body (Material creates overlays there)
6751
+ const overlayPanes = document.querySelectorAll('.cdk-overlay-pane');
6752
+ let menuPanel = null;
6753
+ // Find the overlay that contains our menu content
6754
+ for (let i = 0; i < overlayPanes.length; i++) {
6755
+ const pane = overlayPanes[i];
6756
+ const menuContent = pane.querySelector('.menu-content');
6757
+ if (menuContent) {
6758
+ menuPanel = pane;
6759
+ break;
6760
+ }
6761
+ }
6762
+ if (menuPanel) {
6763
+ const columnNameElements = menuPanel.querySelectorAll('.column-name');
6781
6764
  columnNameElements.forEach((element, index) => {
6765
+ const htmlElement = element;
6782
6766
  const column = this.columnVisibilityList()[index];
6783
6767
  if (column) {
6784
- const isTruncated = element.scrollWidth > element.clientWidth;
6768
+ const isTruncated = htmlElement.scrollWidth > htmlElement.clientWidth;
6785
6769
  this.truncationStates.set(column.headerName, isTruncated);
6786
6770
  }
6787
6771
  });
6788
6772
  this.cdr.detectChanges();
6789
- });
6773
+ }
6790
6774
  }
6791
6775
  /** @ignore */
6792
6776
  getTooltipDisabled(headerName) {
@@ -6799,15 +6783,17 @@ class AdsTableComponent {
6799
6783
  this.unsubscribeFromControls();
6800
6784
  }
6801
6785
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.5", ngImport: i0, type: AdsTableComponent, deps: [{ token: i0.ElementRef }, { token: i1.AdsIconRegistry }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
6802
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.5", type: AdsTableComponent, isStandalone: false, selector: "ads-table", inputs: { width: "width", height: "height", gridOptions: "gridOptions", rowData: "rowData", columnDefs: "columnDefs", icons: "icons", defaultColDef: "defaultColDef", loading: "loading", columnDefsByBreakpoint: "columnDefsByBreakpoint", showHeaderActions: "showHeaderActions" }, viewQueries: [{ propertyName: "hideColumnButton", first: true, predicate: ["hideColumnButton"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"ads-table-container\">\n @if (showHeaderActions) {\n <div class=\"table-header\">\n <div class=\"header-actions\">\n <ads-table-button\n #hideColumnButton\n id=\"show-hide-columns-button\"\n (click)=\"openColumnVisibilityDropdown()\"\n >\n <ads-icon\n name=\"visibility_eye_none\"\n theme=\"secondary\"\n stroke=\"secondary\"\n size=\"xxxs\"\n />\n {{ hideColumnButtonLabel }}\n </ads-table-button>\n\n <ads-table-button\n id=\"filter-button\"\n [disabled]=\"!isFilteredTable\"\n (click)=\"clearAllFilters()\"\n >\n <ads-icon\n name=\"filter\"\n theme=\"secondary\"\n size=\"xxxs\"\n />\n {{ filterButtonLabel }}\n\n @if(isFilteredTable) {\n <ads-icon\n name=\"cross\"\n stroke=\"secondary\"\n size=\"xxxs\"\n />\n }\n </ads-table-button>\n <ads-table-button\n id=\"sort-button\"\n [disabled]=\"!isSortedTable\"\n (click)=\"clearAllSorting()\"\n >\n <ads-icon\n name=\"arrow_up_and_down\"\n theme=\"secondary\"\n size=\"xxxs\"\n />\n {{ sortButtonLabel }}\n @if (isSortedTable) {\n <ads-icon\n name=\"cross\"\n stroke=\"secondary\"\n size=\"xxxs\"\n />\n }\n </ads-table-button>\n </div>\n </div>\n }\n\n <ag-grid-angular\n [ngStyle]=\"{ width: width, height: height }\"\n [icons]=\"getAgGridIcons()\"\n class=\"ag-theme-quartz\"\n [gridOptions]=\"gridOptions\"\n [rowData]=\"rowData\"\n [columnDefs]=\"tableColumnDefs()\"\n [defaultColDef]=\"getDefaultColDef()\"\n (gridReady)=\"gridReady($event)\"\n (firstDataRendered)=\"firstDataRendered($event)\"\n (sortChanged)=\"sortChanged($event)\"\n (filterChanged)=\"filterChanged($event)\"\n [theme]=\"themeQuartz\"\n [loading]=\"loading\"\n />\n</div>\n\n<!-- Column Visibility Dropdown -->\n@if (isDropdownOpen) {\n <div\n class=\"column-visibility-dropdown\"\n [style.position]=\"'fixed'\"\n [style.top]=\"dropdownPosition.top\"\n [style.left]=\"dropdownPosition.left\"\n [style.z-index]=\"'1000'\"\n (click)=\"onDropdownClick($event)\">\n\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}\n", styles: [":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}: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-light-30)}: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 .table-header{display:flex;justify-content:flex-end;align-items:center;padding:8px 16px;background-color:var(--color-white);border-bottom:1px solid var(--color-light);margin-bottom:8px}:host::ng-deep .ads-table-container .table-header .header-actions{display:flex;gap:8px}.column-visibility-dropdown{background-color:var(--color-white);border:1px solid var(--color-light);border-radius:5px;box-shadow:0 4px 12px #00000026;width:234px;max-width:234px;max-height:498px;overflow:hidden}.column-visibility-dropdown .dropdown-body{overflow-y:auto}.column-visibility-dropdown .dropdown-body .column-row{display:flex;justify-content:space-between;align-items:center;padding:0 12px;gap:12px}.column-visibility-dropdown .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}.column-visibility-dropdown .dropdown-body .column-row .column-toggle{display:flex;justify-content:flex-end}.column-visibility-dropdown .dropdown-body .column-row .column-toggle ::ng-deep ads-slide-toggle .ads-toggle{height:45px!important}.column-visibility-dropdown .dropdown-footer{display:flex;justify-content:space-between;gap:12px;padding:12px}.column-visibility-dropdown .dropdown-footer ::ng-deep ads-button{flex:1}\n"], dependencies: [{ 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$4.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", "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", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "cellFlashDuration", "cellFadeDuration", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableCellSpan", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "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"] }, { 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"] }] }); }
6786
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.5", 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" }, outputs: { filtersCleared: "filtersCleared" }, viewQueries: [{ propertyName: "menuTrigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<div class=\"ads-table-container\">\n @if (showHeaderActions) {\n <div class=\"table-header\">\n <div class=\"header-template\">\n @if (headerTemplate) {\n <ng-container *ngTemplateOutlet=\"headerTemplate\" />\n }\n </div>\n\n <div class=\"header-actions\">\n <ads-table-button\n id=\"show-hide-columns-button\"\n [matMenuTriggerFor]=\"columnVisibilityMenu\"\n (menuOpened)=\"openColumnVisibilityMenu()\"\n >\n <ads-icon\n name=\"visibility_eye_none\"\n theme=\"secondary\"\n stroke=\"secondary\"\n size=\"xxxs\"\n />\n {{ hideColumnButtonLabel }}\n </ads-table-button>\n\n <ads-table-button\n id=\"filter-button\"\n [disabled]=\"!isFilteredTable\"\n (click)=\"clearAllFilters()\"\n >\n <ads-icon\n name=\"filter\"\n theme=\"secondary\"\n size=\"xxxs\"\n />\n {{ filterButtonLabel }}\n\n @if(isFilteredTable) {\n <ads-icon\n name=\"cross\"\n stroke=\"secondary\"\n size=\"xxxs\"\n />\n }\n </ads-table-button>\n <ads-table-button\n id=\"sort-button\"\n [disabled]=\"!isSortedTable\"\n (click)=\"clearAllSorting()\"\n >\n <ads-icon\n name=\"arrow_up_and_down\"\n theme=\"secondary\"\n size=\"xxxs\"\n />\n {{ sortButtonLabel }}\n @if (isSortedTable) {\n <ads-icon\n name=\"cross\"\n stroke=\"secondary\"\n size=\"xxxs\"\n />\n }\n </ads-table-button>\n </div>\n </div>\n }\n\n <ag-grid-angular\n [ngStyle]=\"{ width: width, height: height }\"\n [icons]=\"getAgGridIcons()\"\n class=\"ag-theme-quartz\"\n [gridOptions]=\"gridOptions\"\n [rowData]=\"rowData\"\n [columnDefs]=\"tableColumnDefs()\"\n [defaultColDef]=\"getDefaultColDef()\"\n (gridReady)=\"gridReady($event)\"\n (firstDataRendered)=\"firstDataRendered($event)\"\n (sortChanged)=\"sortChanged($event)\"\n (filterChanged)=\"filterChanged($event)\"\n [theme]=\"themeQuartz\"\n [loading]=\"loading\"\n />\n</div>\n\n<!-- Column Visibility Menu -->\n<mat-menu #columnVisibilityMenu=\"matMenu\" class=\"column-visibility-menu\">\n <div class=\"menu-content\" (click)=\"$event.stopPropagation()\">\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", styles: [":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}: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-light-30)}: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 .table-header{display:flex;justify-content:space-between;align-items:center;padding:16px;background-color:var(--color-white)}:host::ng-deep .ads-table-container .table-header .header-actions{display:flex;gap:8px;flex-wrap:wrap}::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-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}\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$4.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", "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", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "cellFlashDuration", "cellFadeDuration", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableCellSpan", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "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"] }, { 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"] }] }); }
6803
6787
  }
6804
6788
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.5", ngImport: i0, type: AdsTableComponent, decorators: [{
6805
6789
  type: Component,
6806
- args: [{ selector: 'ads-table', standalone: false, template: "<div class=\"ads-table-container\">\n @if (showHeaderActions) {\n <div class=\"table-header\">\n <div class=\"header-actions\">\n <ads-table-button\n #hideColumnButton\n id=\"show-hide-columns-button\"\n (click)=\"openColumnVisibilityDropdown()\"\n >\n <ads-icon\n name=\"visibility_eye_none\"\n theme=\"secondary\"\n stroke=\"secondary\"\n size=\"xxxs\"\n />\n {{ hideColumnButtonLabel }}\n </ads-table-button>\n\n <ads-table-button\n id=\"filter-button\"\n [disabled]=\"!isFilteredTable\"\n (click)=\"clearAllFilters()\"\n >\n <ads-icon\n name=\"filter\"\n theme=\"secondary\"\n size=\"xxxs\"\n />\n {{ filterButtonLabel }}\n\n @if(isFilteredTable) {\n <ads-icon\n name=\"cross\"\n stroke=\"secondary\"\n size=\"xxxs\"\n />\n }\n </ads-table-button>\n <ads-table-button\n id=\"sort-button\"\n [disabled]=\"!isSortedTable\"\n (click)=\"clearAllSorting()\"\n >\n <ads-icon\n name=\"arrow_up_and_down\"\n theme=\"secondary\"\n size=\"xxxs\"\n />\n {{ sortButtonLabel }}\n @if (isSortedTable) {\n <ads-icon\n name=\"cross\"\n stroke=\"secondary\"\n size=\"xxxs\"\n />\n }\n </ads-table-button>\n </div>\n </div>\n }\n\n <ag-grid-angular\n [ngStyle]=\"{ width: width, height: height }\"\n [icons]=\"getAgGridIcons()\"\n class=\"ag-theme-quartz\"\n [gridOptions]=\"gridOptions\"\n [rowData]=\"rowData\"\n [columnDefs]=\"tableColumnDefs()\"\n [defaultColDef]=\"getDefaultColDef()\"\n (gridReady)=\"gridReady($event)\"\n (firstDataRendered)=\"firstDataRendered($event)\"\n (sortChanged)=\"sortChanged($event)\"\n (filterChanged)=\"filterChanged($event)\"\n [theme]=\"themeQuartz\"\n [loading]=\"loading\"\n />\n</div>\n\n<!-- Column Visibility Dropdown -->\n@if (isDropdownOpen) {\n <div\n class=\"column-visibility-dropdown\"\n [style.position]=\"'fixed'\"\n [style.top]=\"dropdownPosition.top\"\n [style.left]=\"dropdownPosition.left\"\n [style.z-index]=\"'1000'\"\n (click)=\"onDropdownClick($event)\">\n\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}\n", styles: [":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}: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-light-30)}: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 .table-header{display:flex;justify-content:flex-end;align-items:center;padding:8px 16px;background-color:var(--color-white);border-bottom:1px solid var(--color-light);margin-bottom:8px}:host::ng-deep .ads-table-container .table-header .header-actions{display:flex;gap:8px}.column-visibility-dropdown{background-color:var(--color-white);border:1px solid var(--color-light);border-radius:5px;box-shadow:0 4px 12px #00000026;width:234px;max-width:234px;max-height:498px;overflow:hidden}.column-visibility-dropdown .dropdown-body{overflow-y:auto}.column-visibility-dropdown .dropdown-body .column-row{display:flex;justify-content:space-between;align-items:center;padding:0 12px;gap:12px}.column-visibility-dropdown .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}.column-visibility-dropdown .dropdown-body .column-row .column-toggle{display:flex;justify-content:flex-end}.column-visibility-dropdown .dropdown-body .column-row .column-toggle ::ng-deep ads-slide-toggle .ads-toggle{height:45px!important}.column-visibility-dropdown .dropdown-footer{display:flex;justify-content:space-between;gap:12px;padding:12px}.column-visibility-dropdown .dropdown-footer ::ng-deep ads-button{flex:1}\n"] }]
6790
+ args: [{ selector: 'ads-table', standalone: false, template: "<div class=\"ads-table-container\">\n @if (showHeaderActions) {\n <div class=\"table-header\">\n <div class=\"header-template\">\n @if (headerTemplate) {\n <ng-container *ngTemplateOutlet=\"headerTemplate\" />\n }\n </div>\n\n <div class=\"header-actions\">\n <ads-table-button\n id=\"show-hide-columns-button\"\n [matMenuTriggerFor]=\"columnVisibilityMenu\"\n (menuOpened)=\"openColumnVisibilityMenu()\"\n >\n <ads-icon\n name=\"visibility_eye_none\"\n theme=\"secondary\"\n stroke=\"secondary\"\n size=\"xxxs\"\n />\n {{ hideColumnButtonLabel }}\n </ads-table-button>\n\n <ads-table-button\n id=\"filter-button\"\n [disabled]=\"!isFilteredTable\"\n (click)=\"clearAllFilters()\"\n >\n <ads-icon\n name=\"filter\"\n theme=\"secondary\"\n size=\"xxxs\"\n />\n {{ filterButtonLabel }}\n\n @if(isFilteredTable) {\n <ads-icon\n name=\"cross\"\n stroke=\"secondary\"\n size=\"xxxs\"\n />\n }\n </ads-table-button>\n <ads-table-button\n id=\"sort-button\"\n [disabled]=\"!isSortedTable\"\n (click)=\"clearAllSorting()\"\n >\n <ads-icon\n name=\"arrow_up_and_down\"\n theme=\"secondary\"\n size=\"xxxs\"\n />\n {{ sortButtonLabel }}\n @if (isSortedTable) {\n <ads-icon\n name=\"cross\"\n stroke=\"secondary\"\n size=\"xxxs\"\n />\n }\n </ads-table-button>\n </div>\n </div>\n }\n\n <ag-grid-angular\n [ngStyle]=\"{ width: width, height: height }\"\n [icons]=\"getAgGridIcons()\"\n class=\"ag-theme-quartz\"\n [gridOptions]=\"gridOptions\"\n [rowData]=\"rowData\"\n [columnDefs]=\"tableColumnDefs()\"\n [defaultColDef]=\"getDefaultColDef()\"\n (gridReady)=\"gridReady($event)\"\n (firstDataRendered)=\"firstDataRendered($event)\"\n (sortChanged)=\"sortChanged($event)\"\n (filterChanged)=\"filterChanged($event)\"\n [theme]=\"themeQuartz\"\n [loading]=\"loading\"\n />\n</div>\n\n<!-- Column Visibility Menu -->\n<mat-menu #columnVisibilityMenu=\"matMenu\" class=\"column-visibility-menu\">\n <div class=\"menu-content\" (click)=\"$event.stopPropagation()\">\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", styles: [":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}: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-light-30)}: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 .table-header{display:flex;justify-content:space-between;align-items:center;padding:16px;background-color:var(--color-white)}:host::ng-deep .ads-table-container .table-header .header-actions{display:flex;gap:8px;flex-wrap:wrap}::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-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}\n"] }]
6807
6791
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.AdsIconRegistry }, { type: i0.ChangeDetectorRef }], propDecorators: { width: [{
6808
6792
  type: Input
6809
6793
  }], height: [{
6810
6794
  type: Input
6795
+ }], headerTemplate: [{
6796
+ type: Input
6811
6797
  }], gridOptions: [{
6812
6798
  type: Input
6813
6799
  }], rowData: [{
@@ -6824,22 +6810,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.5", ngImpor
6824
6810
  type: Input
6825
6811
  }], showHeaderActions: [{
6826
6812
  type: Input
6827
- }], hideColumnButton: [{
6813
+ }], filtersCleared: [{
6814
+ type: Output
6815
+ }], menuTrigger: [{
6828
6816
  type: ViewChild,
6829
- args: ['hideColumnButton', { read: ElementRef }]
6817
+ args: [MatMenuTrigger]
6830
6818
  }] } });
6831
6819
 
6832
6820
  class AdsTableButtonModule {
6833
6821
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.5", ngImport: i0, type: AdsTableButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6834
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.5", ngImport: i0, type: AdsTableButtonModule, declarations: [AdsTableButtonComponent], imports: [CommonModule, MatButtonModule], exports: [AdsTableButtonComponent] }); }
6835
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.5", ngImport: i0, type: AdsTableButtonModule, imports: [CommonModule, MatButtonModule] }); }
6822
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.5", ngImport: i0, type: AdsTableButtonModule, declarations: [AdsTableButtonComponent], imports: [CommonModule, MatButtonModule, MatMenuModule], exports: [AdsTableButtonComponent] }); }
6823
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.5", ngImport: i0, type: AdsTableButtonModule, imports: [CommonModule, MatButtonModule, MatMenuModule] }); }
6836
6824
  }
6837
6825
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.5", ngImport: i0, type: AdsTableButtonModule, decorators: [{
6838
6826
  type: NgModule,
6839
6827
  args: [{
6840
6828
  declarations: [AdsTableButtonComponent],
6841
6829
  exports: [AdsTableButtonComponent],
6842
- imports: [CommonModule, MatButtonModule],
6830
+ imports: [CommonModule, MatButtonModule, MatMenuModule],
6843
6831
  }]
6844
6832
  }] });
6845
6833
 
@@ -6853,7 +6841,8 @@ class AdsTableModule {
6853
6841
  AdsButtonModule,
6854
6842
  AdsTableButtonModule,
6855
6843
  AdsDividerModule,
6856
- MatTooltip], exports: [AdsTableComponent] }); }
6844
+ MatTooltip,
6845
+ MatMenuModule], exports: [AdsTableComponent] }); }
6857
6846
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.5", ngImport: i0, type: AdsTableModule, imports: [CommonModule,
6858
6847
  AdsIconModule,
6859
6848
  AgGridAngular,
@@ -6861,7 +6850,8 @@ class AdsTableModule {
6861
6850
  AdsSlideToggle,
6862
6851
  AdsButtonModule,
6863
6852
  AdsTableButtonModule,
6864
- AdsDividerModule] }); }
6853
+ AdsDividerModule,
6854
+ MatMenuModule] }); }
6865
6855
  }
6866
6856
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.5", ngImport: i0, type: AdsTableModule, decorators: [{
6867
6857
  type: NgModule,
@@ -6877,6 +6867,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.5", ngImpor
6877
6867
  AdsTableButtonModule,
6878
6868
  AdsDividerModule,
6879
6869
  MatTooltip,
6870
+ MatMenuModule,
6880
6871
  ],
6881
6872
  exports: [AdsTableComponent],
6882
6873
  }]