@ascentgl/ads-ui 21.91.0 → 21.93.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.
@@ -3462,6 +3462,9 @@ class AdsMultiSelectDropdownComponent extends AdsDropdownComponent {
3462
3462
  this.showChips = true;
3463
3463
  /** If true, adds a "Select All" option as the first item in the dropdown */
3464
3464
  this.showSelectAll = false;
3465
+ /** When true (default), options with empty values ('', null, undefined) are disabled.
3466
+ * When false, empty value options are enabled and display as "No Value" chips when selected. */
3467
+ this.disableEmptyValue = true;
3465
3468
  /** @ignore - Cached list of real option keys */
3466
3469
  this.realOptionKeys = [];
3467
3470
  /** @ignore - FormControl for the Select All checkbox visual state */
@@ -3539,16 +3542,36 @@ class AdsMultiSelectDropdownComponent extends AdsDropdownComponent {
3539
3542
  this.replaceDisplayedOptionWithControlValue(value);
3540
3543
  });
3541
3544
  }
3545
+ /** @ignore - Check if an option represents an empty value */
3546
+ isEmptyOption(option) {
3547
+ return option === '' || option === null || option === undefined;
3548
+ }
3549
+ /** @ignore - Get display label for an option, returning "No Value" for empty options */
3550
+ getOptionDisplayLabel(option) {
3551
+ if (this.isEmptyOption(option)) {
3552
+ return '';
3553
+ }
3554
+ return this.displayValueFormatter ? this.displayValueFormatter(option) : this.displayedOptions.get(option);
3555
+ }
3556
+ /** @ignore - Override to show "No Value" chip for empty options */
3557
+ chipName(option) {
3558
+ if (this.isEmptyOption(option)) {
3559
+ return 'No Value';
3560
+ }
3561
+ return super.chipName(option);
3562
+ }
3542
3563
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: AdsMultiSelectDropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3543
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: AdsMultiSelectDropdownComponent, isStandalone: false, selector: "ads-multi-select-dropdown", inputs: { showChips: "showChips", showSelectAll: "showSelectAll" }, usesInheritance: true, ngImport: i0, template: "<div [ngStyle]=\"{ minWidth: containerMinWidth }\" class=\"ads-field-container\" [class.shrink]=\"shrink\">\n <div [ngStyle]=\"{ width: width }\">\n <mat-form-field\n (click)=\"onOpened()\"\n [ngClass]=\"{\n 'immediate-validation': immediateValidation,\n 'no-left-padding': !showExclamation,\n pill: mode === 'pill',\n chips: showChips && isMultiselect,\n 'success-label': canShowSuccess(),\n 'error-label': canShowError(),\n 'x-small': smallSize,\n 'wrap-trigger-text': wrapOptionText,\n 'has-label': !!label\n }\"\n [ngStyle]=\"{ width: width }\"\n >\n @if ((!showChips || valueControl.value.length === 0) && (label || required) && !smallSize) {\n <mat-label>{{ label }}</mat-label>\n }\n <!--&nbsp; is required in placeholder for smoother animation -->\n <mat-select\n #panel\n [disableRipple]=\"true\"\n [id]=\"id\"\n [placeholder]=\"placeholder || '&nbsp;'\"\n [panelClass]=\"panelClassList\"\n [disableOptionCentering]=\"true\"\n [required]=\"required\"\n [formControl]=\"valueControl\"\n [multiple]=\"isMultiselect\"\n >\n @if (showSelectAll && isAllSelected) {\n <mat-select-trigger>Select All</mat-select-trigger>\n } @else if (showChips && isMultiselect) {\n <mat-select-trigger>\n <div class=\"tag-container\">\n @for (option of valueControl.value; track $index) {\n <ads-tag\n [tag]=\"chipName(option)\"\n [color]=\"Colors.Medium\"\n [id]=\"'' + $index\"\n (remove)=\"onOptionRemoved(option)\"\n (click)=\"$event.stopPropagation()\"\n />\n }\n </div>\n </mat-select-trigger>\n } @else if (triggerTemplate) {\n <mat-select-trigger>\n <ng-container *ngTemplateOutlet=\"triggerTemplate; context: { option: valueControl.value }\" />\n </mat-select-trigger>\n }\n\n @if (hasEmptyValue) {\n <mat-option [value]=\"undefined\"></mat-option>\n }\n\n @if (showSelectAll) {\n <mat-option\n class=\"select-all-option checkbox\"\n [value]=\"'__SELECT_ALL__'\"\n (click)=\"onSelectAllClick($event)\"\n >\n <ads-checkbox\n [showFooter]=\"false\"\n width=\"100%\"\n [control]=\"selectAllCheckboxControl\"\n label=\"Select All\"\n />\n </mat-option>\n }\n\n @for (option of displayedOptionsArray; track $index) {\n <mat-option\n [id]=\"id + '-option-' + ($index + 1)\"\n [value]=\"option\"\n [ngClass]=\"{\n checkbox: isMultiselect && checkSelected,\n 'wrap-text': wrapOptionText,\n }\"\n [matTooltip]=\"displayValueFormatter ? displayValueFormatter(option) : displayedOptions.get(option)\"\n [matTooltipDisabled]=\"!showTooltip\"\n [disabled]=\"isDropdownOptionObject(option)\"\n >\n @if (optionTemplate) {\n <ng-container *ngTemplateOutlet=\"optionTemplate; context: { option }\" />\n } @else if (isMultiselect && checkSelected) {\n <ads-checkbox\n [showFooter]=\"false\"\n width=\"100%\"\n [control]=\"createCheckboxControl(option)\"\n (change)=\"onCheckboxChange(option)\"\n [label]=\"displayValueFormatter ? displayValueFormatter(option) : displayedOptions.get(option)\"\n />\n } @else {\n <span\n [ngClass]=\"{ 'wrap-text': wrapOptionText }\"\n [innerHTML]=\"displayValueFormatter ? displayValueFormatter(option) : displayedOptions.get(option)\"\n ></span>\n }\n </mat-option>\n }\n </mat-select>\n\n @if (canClear) {\n <button matTextSuffix type=\"button\" mat-icon-button (click)=\"clear($event)\" class=\"action-icon\">\n <ads-icon name=\"cross\" [size]=\"smallSize ? 'xxs' : 'xs'\" [theme]=\"'iconPrimary'\" class=\"cross-icon\" />\n </button>\n }\n <button matTextSuffix type=\"button\" mat-icon-button class=\"action-icon\">\n <ads-icon\n matTextSuffix\n name=\"chevron_down\"\n [size]=\"smallSize ? 'xxs' : 'xs'\"\n [theme]=\"'iconPrimary'\"\n class=\"chevron-down\"\n />\n </button>\n </mat-form-field>\n\n @if (showFooter) {\n <div class=\"footer-container\"\n [class.dynamic]=\"!isStaticFooter\"\n [class.has-content]=\"hasFooterContent()\">\n @if (canShowError()) {\n <ads-error [error]=\"displayFirstError()\" [ngStyle]=\"{ width: width }\" />\n } @else if (canShowSuccess()) {\n <ads-success [success]=\"successMessage!\" [ngStyle]=\"{ width: width }\" />\n } @else if (hint) {\n <ads-hint [hint]=\"hint\" [control]=\"valueControl\" [ngStyle]=\"{ width: width }\" />\n }\n </div>\n }\n </div>\n\n @if (tooltip) {\n <ads-input-tooltip [tooltip]=\"tooltip\" [smallSize]=\"smallSize\" [href]=\"tooltipHref\" />\n }\n</div>\n\n", styles: [".ads-field-container{display:flex;gap:12px;align-items:flex-start}.ads-field-container.shrink{min-width:0}.ads-field-container.shrink>div{min-width:0;width:100%}.ads-field-container.shrink mat-form-field{min-width:0;width:100%}.ads-field-container.shrink .mdc-text-field,.ads-field-container.shrink .mat-mdc-form-field-flex{min-width:0}.ads-field-container.shrink .mat-mdc-form-field-infix{min-width:0;width:0;flex:1 1 0}.ads-field-container.shrink .mat-mdc-select,.ads-field-container.shrink .mat-mdc-select-trigger{min-width:0}.ads-field-container.shrink .mat-mdc-select-value{min-width:0;max-width:100%}.ads-field-container.shrink .mat-mdc-select-value-text,.ads-field-container.shrink .mat-mdc-select-placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ads-input-right-hint{position:absolute;right:40px;top:50%;transform:translateY(-50%);color:var(--color-light);font-size:.95em;pointer-events:none;z-index:2;background:transparent;white-space:nowrap}:host::ng-deep mat-form-field{--mat-form-field-filled-container-color: var(--color-white);--mat-form-field-filled-input-text-color: var(--color-medium);--mat-form-field-filled-error-label-text-color: var(--color-error);--mat-form-field-filled-error-hover-label-text-color: var(--color-error);--mat-form-field-filled-label-text-color: var(--color-medium);--mat-form-field-filled-focus-label-text-color: var(--color-medium);--mat-form-field-filled-hover-label-text-color: var(--color-medium);--mat-form-field-filled-disabled-label-text-color: var(--color-medium);--mat-form-field-filled-disabled-container-color: var(--color-muted) !important;--mat-form-field-filled-disabled-input-text-color: var(--color-medium) !important;--mat-form-field-filled-error-focus-label-text-color: var(--color-error);--mat-form-field-filled-label-text-size: 16px}:host::ng-deep mat-form-field .mdc-floating-label--float-above{--mat-form-field-filled-label-text-size: 12px}:host::ng-deep mat-form-field .mdc-icon-button:focus-visible,:host::ng-deep mat-form-field .mat-mdc-icon-button:focus-visible{background-color:var(--color-light-30)}:host::ng-deep mat-form-field .mdc-text-field{box-sizing:border-box;border-radius:5px;outline:1px solid var(--color-light);outline-offset:-1px;align-items:center;padding:0 12px;cursor:text;height:48px}:host::ng-deep mat-form-field .mdc-text-field .cross-icon{stroke:var(--color-medium)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex{height:100%}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex .mat-mdc-form-field-infix{align-items:center}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-outer-spin-button,:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input[type=number]{-moz-appearance:textfield}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input{height:24px}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .cross-icon,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .visibility-eye,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .picker{stroke:var(--color-error)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .chevron-down,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .status_processing,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .search-icon{color:var(--color-error)!important}:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid{outline:1px solid var(--color-light);outline-offset:-1px}:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid .cross-icon,:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid .visibility-eye,:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid .picker{stroke:var(--color-medium)!important}:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid .chevron-down,:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid .status_processing,:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid .search-icon{color:var(--color-medium)!important}:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid .mdc-floating-label{color:var(--mat-form-field-filled-label-text-color)!important}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex{align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix{display:flex;align-items:flex-end;width:120px}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label{width:100%}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label .mat-mdc-form-field-required-marker{color:var(--mat-form-field-filled-error-label-text-color)}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix{display:flex;align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix .mat-mdc-icon-button{display:flex;align-items:center;justify-content:center}:host::ng-deep mat-form-field .action-icon{padding:0;--mat-icon-button-state-layer-size: 35px}:host::ng-deep mat-form-field .action-icon .mat-mdc-button-touch-target{height:unset;width:unset}:host::ng-deep mat-form-field .time-picker-button{cursor:default}:host::ng-deep mat-form-field .time-picker-button .mdc-icon-button__ripple{display:none!important}:host::ng-deep mat-form-field.x-small .mdc-text-field{height:24px;padding:0 8px}:host::ng-deep mat-form-field.x-small .mdc-text-field .mat-mdc-form-field-input-control{font-size:12px;line-height:16px}:host::ng-deep mat-form-field.x-small .action-icon{--mat-icon-button-state-layer-size: 18px}:host::ng-deep mat-form-field.mat-form-field-disabled .mdc-text-field{background-color:var(--mat-form-field-filled-disabled-container-color);border:none}:host::ng-deep mat-form-field:not(.mat-form-field-disabled) .mdc-text-field:hover .visibility-eye{fill:var(--color-light-30)!important}:host::ng-deep mat-form-field.read-only{pointer-events:none}:host::ng-deep mat-form-field.read-only .mdc-text-field{background-color:var(--mat-form-field-filled-container-color);cursor:default;outline:1px solid var(--color-light);outline-offset:-1px}:host::ng-deep mat-form-field.read-only .mdc-text-field input{pointer-events:none;-webkit-user-select:none;user-select:none}:host::ng-deep mat-form-field:not(.mat-form-field-disabled):not(.read-only) .mdc-text-field:hover{background-color:var(--color-light-30);outline:2px solid var(--color-secondary-hover);outline-offset:-2px}:host::ng-deep mat-form-field:not(.mat-form-field-disabled):not(.read-only).mat-focused .mdc-text-field{outline:2px solid var(--color-secondary-pressed);outline-offset:-2px;background-color:var(--color-muted)}:host::ng-deep mat-form-field:not(.mat-form-field-disabled):not(.read-only).mat-focused .mdc-text-field .visibility-eye{fill:var(--color-muted)!important}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field{outline:2px solid var(--color-medium);outline-offset:-2px}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field.suppress-validation.immediate-validation .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-medium);outline-offset:-2px}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper{color:var(--mat-form-field-filled-label-text-color)}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper:before{content:none}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-error-wrapper,:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper{position:relative;padding:0}:host::ng-deep mat-form-field .mdc-line-ripple{display:none}:host::ng-deep mat-form-field.success-label .mat-mdc-form-field-required-marker,:host::ng-deep mat-form-field.success-label mat-label{color:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .mdc-text-field{outline:2px solid var(--color-success);outline-offset:-2px}:host::ng-deep mat-form-field.success-label .cross-icon,:host::ng-deep mat-form-field.success-label .visibility-eye,:host::ng-deep mat-form-field.success-label .picker{stroke:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .chevron-down,:host::ng-deep mat-form-field.success-label .status_processing,:host::ng-deep mat-form-field.success-label .search-icon{color:var(--color-success)!important}:host::ng-deep mat-form-field.error-label mat-label{color:var(--color-error)}:host::ng-deep mat-hint{display:inline-block}:host::ng-deep .mat-mdc-form-field-hint-spacer{display:none}.info-tooltip{position:relative;top:12px}mat-error{display:flex;padding-top:2px}mat-error .error{display:flex;align-items:flex-start;gap:2px}mat-error .error ads-icon{position:relative;top:2px}:host ::ng-deep .mdc-text-field{position:relative}:host ::ng-deep input[type=number]::-webkit-outer-spin-button,:host ::ng-deep input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host ::ng-deep input[type=number]{-moz-appearance:textfield}\n", "mat-select{--mat-select-trigger-text-line-height: 24px;--mat-select-enabled-trigger-text-color: var(--color-medium);--mat-select-disabled-trigger-text-color: var(--color-medium);--mat-select-placeholder-text-color: var(--color-medium)}mat-option{--mat-option-selected-state-layer-color: var(--color-secondary);--mat-option-selected-state-label-text-color: var(--color-white);--mat-option-hover-state-layer-color: var(--color-secondary-hover);padding:0 12px}mat-option.checkbox{padding:0 12px 0 6px}mat-option:active{background-color:var(--color-secondary-pressed)!important}mat-option.wrap-text{white-space:normal;word-wrap:break-word;overflow-wrap:break-word;min-height:48px;height:auto;line-height:1.4}mat-option.wrap-text span{white-space:normal;word-wrap:break-word;overflow-wrap:break-word;display:block;line-height:1.4}mat-option span.wrap-text{white-space:normal;word-wrap:break-word;overflow-wrap:break-word;display:block;line-height:1.4}mat-form-field.pill ::ng-deep .mdc-text-field{border-radius:24px;padding-left:16px;background-color:var(--color-light-30)}mat-form-field.pill ::ng-deep .mdc-text-field:not(.mdc-text-field--invalid){border-color:transparent}mat-form-field.wrap-trigger-text ::ng-deep .mat-mdc-select-value{white-space:normal!important;word-wrap:break-word;overflow-wrap:break-word;line-height:1.4;min-height:24px;height:auto}mat-form-field.wrap-trigger-text ::ng-deep .mat-mdc-select-value-text{white-space:normal!important;word-wrap:break-word;overflow-wrap:break-word;line-height:1.4}mat-form-field.wrap-trigger-text ::ng-deep .mdc-text-field{min-height:48px;height:auto}mat-form-field.wrap-trigger-text ::ng-deep .mdc-text-field__input,mat-form-field.wrap-trigger-text ::ng-deep .mat-mdc-form-field-infix{white-space:normal;word-wrap:break-word;overflow-wrap:break-word;line-height:1.4;height:auto;min-height:24px;padding-top:12px;padding-bottom:12px}mat-form-field.has-label.wrap-trigger-text ::ng-deep .mdc-text-field__input,mat-form-field.has-label.wrap-trigger-text ::ng-deep .mat-mdc-form-field-infix{padding-top:20px;padding-bottom:4px}mat-form-field ::ng-deep .mdc-text-field .mat-mdc-select-arrow-wrapper{display:none}mat-form-field.x-small mat-select{font-size:12px;line-height:16px}mat-form-field.x-small ::ng-deep .mat-mdc-select-placeholder{font-size:12px;line-height:16px}mat-option:hover:not(.mdc-list-item--disabled){color:var(--color-white);background-color:var(--mat-option-hover-state-layer-color)}mat-option:hover:not(.mdc-list-item--disabled).mdc-list-item--selected{background-color:var(--mat-option-selected-state-layer-color)}mat-option:hover:not(.mdc-list-item--disabled) ::ng-deep .mdc-list-item__primary-text{color:var(--color-white)!important}mat-option:hover:not(.mdc-list-item--disabled) ::ng-deep .flag-option span{color:var(--color-white)!important}mat-option.mat-mdc-option-active{color:var(--color-white);background-color:var(--mat-option-hover-state-layer-color)!important}mat-option.mat-mdc-option-active.mdc-list-item--selected{background-color:var(--mat-option-selected-state-layer-color)!important}mat-option.mat-mdc-option-active ::ng-deep .mdc-list-item__primary-text{color:var(--color-white)!important}mat-option.mat-mdc-option-active ::ng-deep .flag-option span{color:var(--color-white)!important}mat-option.mdc-list-item--disabled{opacity:.5}mat-option ::ng-deep .mat-pseudo-checkbox{display:none}mat-option ::ng-deep .mdc-list-item__primary-text{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n", "mat-form-field.chips ::ng-deep .mdc-text-field{height:auto;min-height:var(--mat-form-field-container-height)}mat-form-field.x-small ::ng-deep{--mat-form-field-container-height: 32px}mat-option:not(.mdc-list-item--disabled):hover ::ng-deep .checkbox-label,mat-option:not(.mdc-list-item--disabled):focus ::ng-deep .checkbox-label,mat-option:not(.mdc-list-item--disabled):active ::ng-deep .checkbox-label,mat-option:not(.mdc-list-item--disabled).mat-mdc-option-active ::ng-deep .checkbox-label{color:var(--color-white)}.tag-container{display:flex;gap:4px;flex-wrap:wrap;margin:4px 0}\n", ".footer-container{min-height:20px;overflow:hidden}.footer-container.dynamic{min-height:0;max-height:0;opacity:0;transition:max-height .3s ease-in-out,opacity .2s ease-in-out,min-height .3s ease-in-out}.footer-container.dynamic.has-content{min-height:20px;max-height:100px;opacity:1;transition:max-height .3s ease-in-out,opacity .3s ease-in-out .1s,min-height .3s ease-in-out}::ng-deep .mat-mdc-form-field{--mat-form-field-filled-input-text-placeholder-color: var(--color-medium) !important}::ng-deep .spinner{animation:spin 1s linear infinite;transform-origin:50% 50%}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4$2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i4$2.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i4$2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i1.AdsIconComponent, selector: "ads-icon", inputs: ["size", "name", "color", "theme", "stroke"] }, { kind: "component", type: AdsInputTooltipComponent, selector: "ads-input-tooltip", inputs: ["tooltip", "smallSize", "href"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: AdsSuccessComponent, selector: "ads-success", inputs: ["success"] }, { kind: "component", type: AdsErrorComponent, selector: "ads-error", inputs: ["error"] }, { kind: "component", type: AdsHintComponent, selector: "ads-hint", inputs: ["control", "hint"] }, { kind: "component", type: AdsTagComponent, selector: "ads-tag", inputs: ["color", "borderColor", "borderWidth", "width", "id", "removable", "tag"], outputs: ["remove", "selected"] }, { kind: "component", type: AdsCheckboxComponent, selector: "ads-checkbox", inputs: ["indeterminate", "width", "tooltip", "tooltipHref", "size"] }, { kind: "directive", type: i13.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
3564
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: AdsMultiSelectDropdownComponent, isStandalone: false, selector: "ads-multi-select-dropdown", inputs: { showChips: "showChips", showSelectAll: "showSelectAll", disableEmptyValue: "disableEmptyValue" }, usesInheritance: true, ngImport: i0, template: "<div [ngStyle]=\"{ minWidth: containerMinWidth }\" class=\"ads-field-container\" [class.shrink]=\"shrink\">\n <div [ngStyle]=\"{ width: width }\">\n <mat-form-field\n (click)=\"onOpened()\"\n [ngClass]=\"{\n 'immediate-validation': immediateValidation,\n 'no-left-padding': !showExclamation,\n pill: mode === 'pill',\n chips: showChips && isMultiselect,\n 'success-label': canShowSuccess(),\n 'error-label': canShowError(),\n 'x-small': smallSize,\n 'wrap-trigger-text': wrapOptionText,\n 'has-label': !!label\n }\"\n [ngStyle]=\"{ width: width }\"\n >\n @if ((!showChips || valueControl.value.length === 0) && (label || required) && !smallSize) {\n <mat-label>{{ label }}</mat-label>\n }\n <!--&nbsp; is required in placeholder for smoother animation -->\n <mat-select\n #panel\n [disableRipple]=\"true\"\n [id]=\"id\"\n [placeholder]=\"placeholder || '&nbsp;'\"\n [panelClass]=\"panelClassList\"\n [disableOptionCentering]=\"true\"\n [required]=\"required\"\n [formControl]=\"valueControl\"\n [multiple]=\"isMultiselect\"\n >\n @if (showSelectAll && isAllSelected) {\n <mat-select-trigger>Select All</mat-select-trigger>\n } @else if (showChips && isMultiselect) {\n <mat-select-trigger>\n <div class=\"tag-container\">\n @for (option of valueControl.value; track $index) {\n <ads-tag\n [tag]=\"chipName(option)\"\n [color]=\"Colors.Medium\"\n [id]=\"'' + $index\"\n (remove)=\"onOptionRemoved(option)\"\n (click)=\"$event.stopPropagation()\"\n />\n }\n </div>\n </mat-select-trigger>\n } @else if (triggerTemplate) {\n <mat-select-trigger>\n <ng-container *ngTemplateOutlet=\"triggerTemplate; context: { option: valueControl.value }\" />\n </mat-select-trigger>\n }\n\n @if (hasEmptyValue) {\n <mat-option [value]=\"undefined\"></mat-option>\n }\n\n @if (showSelectAll) {\n <mat-option\n class=\"select-all-option checkbox\"\n [value]=\"'__SELECT_ALL__'\"\n (click)=\"onSelectAllClick($event)\"\n >\n <ads-checkbox\n [showFooter]=\"false\"\n width=\"100%\"\n [control]=\"selectAllCheckboxControl\"\n label=\"Select All\"\n />\n </mat-option>\n }\n\n @for (option of displayedOptionsArray; track $index) {\n <mat-option\n [id]=\"id + '-option-' + ($index + 1)\"\n [value]=\"option\"\n [ngClass]=\"{\n checkbox: isMultiselect && checkSelected,\n 'wrap-text': wrapOptionText,\n }\"\n [matTooltip]=\"getOptionDisplayLabel(option)\"\n [matTooltipDisabled]=\"!showTooltip\"\n [disabled]=\"isDropdownOptionObject(option) || (disableEmptyValue && isEmptyOption(option))\"\n >\n @if (optionTemplate) {\n <ng-container *ngTemplateOutlet=\"optionTemplate; context: { option }\" />\n } @else if (isMultiselect && checkSelected) {\n <ads-checkbox\n [showFooter]=\"false\"\n width=\"100%\"\n [control]=\"createCheckboxControl(option)\"\n (change)=\"onCheckboxChange(option)\"\n [label]=\"getOptionDisplayLabel(option)\"\n />\n } @else {\n <span\n [ngClass]=\"{ 'wrap-text': wrapOptionText }\"\n [innerHTML]=\"getOptionDisplayLabel(option)\"\n ></span>\n }\n </mat-option>\n }\n </mat-select>\n\n @if (canClear) {\n <button matTextSuffix type=\"button\" mat-icon-button (click)=\"clear($event)\" class=\"action-icon\">\n <ads-icon name=\"cross\" [size]=\"smallSize ? 'xxs' : 'xs'\" [theme]=\"'iconPrimary'\" class=\"cross-icon\" />\n </button>\n }\n <button matTextSuffix type=\"button\" mat-icon-button class=\"action-icon\">\n <ads-icon\n matTextSuffix\n name=\"chevron_down\"\n [size]=\"smallSize ? 'xxs' : 'xs'\"\n [theme]=\"'iconPrimary'\"\n class=\"chevron-down\"\n />\n </button>\n </mat-form-field>\n\n @if (showFooter) {\n <div class=\"footer-container\"\n [class.dynamic]=\"!isStaticFooter\"\n [class.has-content]=\"hasFooterContent()\">\n @if (canShowError()) {\n <ads-error [error]=\"displayFirstError()\" [ngStyle]=\"{ width: width }\" />\n } @else if (canShowSuccess()) {\n <ads-success [success]=\"successMessage!\" [ngStyle]=\"{ width: width }\" />\n } @else if (hint) {\n <ads-hint [hint]=\"hint\" [control]=\"valueControl\" [ngStyle]=\"{ width: width }\" />\n }\n </div>\n }\n </div>\n\n @if (tooltip) {\n <ads-input-tooltip [tooltip]=\"tooltip\" [smallSize]=\"smallSize\" [href]=\"tooltipHref\" />\n }\n</div>\n\n", styles: [".ads-field-container{display:flex;gap:12px;align-items:flex-start}.ads-field-container.shrink{min-width:0}.ads-field-container.shrink>div{min-width:0;width:100%}.ads-field-container.shrink mat-form-field{min-width:0;width:100%}.ads-field-container.shrink .mdc-text-field,.ads-field-container.shrink .mat-mdc-form-field-flex{min-width:0}.ads-field-container.shrink .mat-mdc-form-field-infix{min-width:0;width:0;flex:1 1 0}.ads-field-container.shrink .mat-mdc-select,.ads-field-container.shrink .mat-mdc-select-trigger{min-width:0}.ads-field-container.shrink .mat-mdc-select-value{min-width:0;max-width:100%}.ads-field-container.shrink .mat-mdc-select-value-text,.ads-field-container.shrink .mat-mdc-select-placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ads-input-right-hint{position:absolute;right:40px;top:50%;transform:translateY(-50%);color:var(--color-light);font-size:.95em;pointer-events:none;z-index:2;background:transparent;white-space:nowrap}:host::ng-deep mat-form-field{--mat-form-field-filled-container-color: var(--color-white);--mat-form-field-filled-input-text-color: var(--color-medium);--mat-form-field-filled-error-label-text-color: var(--color-error);--mat-form-field-filled-error-hover-label-text-color: var(--color-error);--mat-form-field-filled-label-text-color: var(--color-medium);--mat-form-field-filled-focus-label-text-color: var(--color-medium);--mat-form-field-filled-hover-label-text-color: var(--color-medium);--mat-form-field-filled-disabled-label-text-color: var(--color-medium);--mat-form-field-filled-disabled-container-color: var(--color-muted) !important;--mat-form-field-filled-disabled-input-text-color: var(--color-medium) !important;--mat-form-field-filled-error-focus-label-text-color: var(--color-error);--mat-form-field-filled-label-text-size: 16px}:host::ng-deep mat-form-field .mdc-floating-label--float-above{--mat-form-field-filled-label-text-size: 12px}:host::ng-deep mat-form-field .mdc-icon-button:focus-visible,:host::ng-deep mat-form-field .mat-mdc-icon-button:focus-visible{background-color:var(--color-light-30)}:host::ng-deep mat-form-field .mdc-text-field{box-sizing:border-box;border-radius:5px;outline:1px solid var(--color-light);outline-offset:-1px;align-items:center;padding:0 12px;cursor:text;height:48px}:host::ng-deep mat-form-field .mdc-text-field .cross-icon{stroke:var(--color-medium)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex{height:100%}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex .mat-mdc-form-field-infix{align-items:center}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-outer-spin-button,:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input[type=number]{-moz-appearance:textfield}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input{height:24px}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .cross-icon,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .visibility-eye,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .picker{stroke:var(--color-error)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .chevron-down,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .status_processing,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .search-icon{color:var(--color-error)!important}:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid{outline:1px solid var(--color-light);outline-offset:-1px}:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid .cross-icon,:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid .visibility-eye,:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid .picker{stroke:var(--color-medium)!important}:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid .chevron-down,:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid .status_processing,:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid .search-icon{color:var(--color-medium)!important}:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid .mdc-floating-label{color:var(--mat-form-field-filled-label-text-color)!important}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex{align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix{display:flex;align-items:flex-end;width:120px}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label{width:100%}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label .mat-mdc-form-field-required-marker{color:var(--mat-form-field-filled-error-label-text-color)}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix{display:flex;align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix .mat-mdc-icon-button{display:flex;align-items:center;justify-content:center}:host::ng-deep mat-form-field .action-icon{padding:0;--mat-icon-button-state-layer-size: 35px}:host::ng-deep mat-form-field .action-icon .mat-mdc-button-touch-target{height:unset;width:unset}:host::ng-deep mat-form-field .time-picker-button{cursor:default}:host::ng-deep mat-form-field .time-picker-button .mdc-icon-button__ripple{display:none!important}:host::ng-deep mat-form-field.x-small .mdc-text-field{height:24px;padding:0 8px}:host::ng-deep mat-form-field.x-small .mdc-text-field .mat-mdc-form-field-input-control{font-size:12px;line-height:16px}:host::ng-deep mat-form-field.x-small .action-icon{--mat-icon-button-state-layer-size: 18px}:host::ng-deep mat-form-field.mat-form-field-disabled .mdc-text-field{background-color:var(--mat-form-field-filled-disabled-container-color);border:none}:host::ng-deep mat-form-field:not(.mat-form-field-disabled) .mdc-text-field:hover .visibility-eye{fill:var(--color-light-30)!important}:host::ng-deep mat-form-field.read-only{pointer-events:none}:host::ng-deep mat-form-field.read-only .mdc-text-field{background-color:var(--mat-form-field-filled-container-color);cursor:default;outline:1px solid var(--color-light);outline-offset:-1px}:host::ng-deep mat-form-field.read-only .mdc-text-field input{pointer-events:none;-webkit-user-select:none;user-select:none}:host::ng-deep mat-form-field:not(.mat-form-field-disabled):not(.read-only) .mdc-text-field:hover{background-color:var(--color-light-30);outline:2px solid var(--color-secondary-hover);outline-offset:-2px}:host::ng-deep mat-form-field:not(.mat-form-field-disabled):not(.read-only).mat-focused .mdc-text-field{outline:2px solid var(--color-secondary-pressed);outline-offset:-2px;background-color:var(--color-muted)}:host::ng-deep mat-form-field:not(.mat-form-field-disabled):not(.read-only).mat-focused .mdc-text-field .visibility-eye{fill:var(--color-muted)!important}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field{outline:2px solid var(--color-medium);outline-offset:-2px}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field.suppress-validation.immediate-validation .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-medium);outline-offset:-2px}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper{color:var(--mat-form-field-filled-label-text-color)}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper:before{content:none}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-error-wrapper,:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper{position:relative;padding:0}:host::ng-deep mat-form-field .mdc-line-ripple{display:none}:host::ng-deep mat-form-field.success-label .mat-mdc-form-field-required-marker,:host::ng-deep mat-form-field.success-label mat-label{color:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .mdc-text-field{outline:2px solid var(--color-success);outline-offset:-2px}:host::ng-deep mat-form-field.success-label .cross-icon,:host::ng-deep mat-form-field.success-label .visibility-eye,:host::ng-deep mat-form-field.success-label .picker{stroke:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .chevron-down,:host::ng-deep mat-form-field.success-label .status_processing,:host::ng-deep mat-form-field.success-label .search-icon{color:var(--color-success)!important}:host::ng-deep mat-form-field.error-label mat-label{color:var(--color-error)}:host::ng-deep mat-hint{display:inline-block}:host::ng-deep .mat-mdc-form-field-hint-spacer{display:none}.info-tooltip{position:relative;top:12px}mat-error{display:flex;padding-top:2px}mat-error .error{display:flex;align-items:flex-start;gap:2px}mat-error .error ads-icon{position:relative;top:2px}:host ::ng-deep .mdc-text-field{position:relative}:host ::ng-deep input[type=number]::-webkit-outer-spin-button,:host ::ng-deep input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host ::ng-deep input[type=number]{-moz-appearance:textfield}\n", "mat-select{--mat-select-trigger-text-line-height: 24px;--mat-select-enabled-trigger-text-color: var(--color-medium);--mat-select-disabled-trigger-text-color: var(--color-medium);--mat-select-placeholder-text-color: var(--color-medium)}mat-option{--mat-option-selected-state-layer-color: var(--color-secondary);--mat-option-selected-state-label-text-color: var(--color-white);--mat-option-hover-state-layer-color: var(--color-secondary-hover);padding:0 12px}mat-option.checkbox{padding:0 12px 0 6px}mat-option:active{background-color:var(--color-secondary-pressed)!important}mat-option.wrap-text{white-space:normal;word-wrap:break-word;overflow-wrap:break-word;min-height:48px;height:auto;line-height:1.4}mat-option.wrap-text span{white-space:normal;word-wrap:break-word;overflow-wrap:break-word;display:block;line-height:1.4}mat-option span.wrap-text{white-space:normal;word-wrap:break-word;overflow-wrap:break-word;display:block;line-height:1.4}mat-form-field.pill ::ng-deep .mdc-text-field{border-radius:24px;padding-left:16px;background-color:var(--color-light-30)}mat-form-field.pill ::ng-deep .mdc-text-field:not(.mdc-text-field--invalid){border-color:transparent}mat-form-field.wrap-trigger-text ::ng-deep .mat-mdc-select-value{white-space:normal!important;word-wrap:break-word;overflow-wrap:break-word;line-height:1.4;min-height:24px;height:auto}mat-form-field.wrap-trigger-text ::ng-deep .mat-mdc-select-value-text{white-space:normal!important;word-wrap:break-word;overflow-wrap:break-word;line-height:1.4}mat-form-field.wrap-trigger-text ::ng-deep .mdc-text-field{min-height:48px;height:auto}mat-form-field.wrap-trigger-text ::ng-deep .mdc-text-field__input,mat-form-field.wrap-trigger-text ::ng-deep .mat-mdc-form-field-infix{white-space:normal;word-wrap:break-word;overflow-wrap:break-word;line-height:1.4;height:auto;min-height:24px;padding-top:12px;padding-bottom:12px}mat-form-field.has-label.wrap-trigger-text ::ng-deep .mdc-text-field__input,mat-form-field.has-label.wrap-trigger-text ::ng-deep .mat-mdc-form-field-infix{padding-top:20px;padding-bottom:4px}mat-form-field ::ng-deep .mdc-text-field .mat-mdc-select-arrow-wrapper{display:none}mat-form-field.x-small mat-select{font-size:12px;line-height:16px}mat-form-field.x-small ::ng-deep .mat-mdc-select-placeholder{font-size:12px;line-height:16px}mat-option:hover:not(.mdc-list-item--disabled){color:var(--color-white);background-color:var(--mat-option-hover-state-layer-color)}mat-option:hover:not(.mdc-list-item--disabled).mdc-list-item--selected{background-color:var(--mat-option-selected-state-layer-color)}mat-option:hover:not(.mdc-list-item--disabled) ::ng-deep .mdc-list-item__primary-text{color:var(--color-white)!important}mat-option:hover:not(.mdc-list-item--disabled) ::ng-deep .flag-option span{color:var(--color-white)!important}mat-option.mat-mdc-option-active{color:var(--color-white);background-color:var(--mat-option-hover-state-layer-color)!important}mat-option.mat-mdc-option-active.mdc-list-item--selected{background-color:var(--mat-option-selected-state-layer-color)!important}mat-option.mat-mdc-option-active ::ng-deep .mdc-list-item__primary-text{color:var(--color-white)!important}mat-option.mat-mdc-option-active ::ng-deep .flag-option span{color:var(--color-white)!important}mat-option.mdc-list-item--disabled{opacity:.5}mat-option ::ng-deep .mat-pseudo-checkbox{display:none}mat-option ::ng-deep .mdc-list-item__primary-text{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n", "mat-form-field.chips ::ng-deep .mdc-text-field{height:auto;min-height:var(--mat-form-field-container-height)}mat-form-field.x-small ::ng-deep{--mat-form-field-container-height: 32px}mat-option:not(.mdc-list-item--disabled):hover ::ng-deep .checkbox-label,mat-option:not(.mdc-list-item--disabled):focus ::ng-deep .checkbox-label,mat-option:not(.mdc-list-item--disabled):active ::ng-deep .checkbox-label,mat-option:not(.mdc-list-item--disabled).mat-mdc-option-active ::ng-deep .checkbox-label{color:var(--color-white)}.tag-container{display:flex;gap:4px;flex-wrap:wrap;margin:4px 0}\n", ".footer-container{min-height:20px;overflow:hidden}.footer-container.dynamic{min-height:0;max-height:0;opacity:0;transition:max-height .3s ease-in-out,opacity .2s ease-in-out,min-height .3s ease-in-out}.footer-container.dynamic.has-content{min-height:20px;max-height:100px;opacity:1;transition:max-height .3s ease-in-out,opacity .3s ease-in-out .1s,min-height .3s ease-in-out}::ng-deep .mat-mdc-form-field{--mat-form-field-filled-input-text-placeholder-color: var(--color-medium) !important}::ng-deep .spinner{animation:spin 1s linear infinite;transform-origin:50% 50%}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4$2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i4$2.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i4$2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i1.AdsIconComponent, selector: "ads-icon", inputs: ["size", "name", "color", "theme", "stroke"] }, { kind: "component", type: AdsInputTooltipComponent, selector: "ads-input-tooltip", inputs: ["tooltip", "smallSize", "href"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: AdsSuccessComponent, selector: "ads-success", inputs: ["success"] }, { kind: "component", type: AdsErrorComponent, selector: "ads-error", inputs: ["error"] }, { kind: "component", type: AdsHintComponent, selector: "ads-hint", inputs: ["control", "hint"] }, { kind: "component", type: AdsTagComponent, selector: "ads-tag", inputs: ["color", "borderColor", "borderWidth", "width", "id", "removable", "tag"], outputs: ["remove", "selected"] }, { kind: "component", type: AdsCheckboxComponent, selector: "ads-checkbox", inputs: ["indeterminate", "width", "tooltip", "tooltipHref", "size"] }, { kind: "directive", type: i13.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
3544
3565
  }
3545
3566
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: AdsMultiSelectDropdownComponent, decorators: [{
3546
3567
  type: Component,
3547
- args: [{ selector: 'ads-multi-select-dropdown', standalone: false, template: "<div [ngStyle]=\"{ minWidth: containerMinWidth }\" class=\"ads-field-container\" [class.shrink]=\"shrink\">\n <div [ngStyle]=\"{ width: width }\">\n <mat-form-field\n (click)=\"onOpened()\"\n [ngClass]=\"{\n 'immediate-validation': immediateValidation,\n 'no-left-padding': !showExclamation,\n pill: mode === 'pill',\n chips: showChips && isMultiselect,\n 'success-label': canShowSuccess(),\n 'error-label': canShowError(),\n 'x-small': smallSize,\n 'wrap-trigger-text': wrapOptionText,\n 'has-label': !!label\n }\"\n [ngStyle]=\"{ width: width }\"\n >\n @if ((!showChips || valueControl.value.length === 0) && (label || required) && !smallSize) {\n <mat-label>{{ label }}</mat-label>\n }\n <!--&nbsp; is required in placeholder for smoother animation -->\n <mat-select\n #panel\n [disableRipple]=\"true\"\n [id]=\"id\"\n [placeholder]=\"placeholder || '&nbsp;'\"\n [panelClass]=\"panelClassList\"\n [disableOptionCentering]=\"true\"\n [required]=\"required\"\n [formControl]=\"valueControl\"\n [multiple]=\"isMultiselect\"\n >\n @if (showSelectAll && isAllSelected) {\n <mat-select-trigger>Select All</mat-select-trigger>\n } @else if (showChips && isMultiselect) {\n <mat-select-trigger>\n <div class=\"tag-container\">\n @for (option of valueControl.value; track $index) {\n <ads-tag\n [tag]=\"chipName(option)\"\n [color]=\"Colors.Medium\"\n [id]=\"'' + $index\"\n (remove)=\"onOptionRemoved(option)\"\n (click)=\"$event.stopPropagation()\"\n />\n }\n </div>\n </mat-select-trigger>\n } @else if (triggerTemplate) {\n <mat-select-trigger>\n <ng-container *ngTemplateOutlet=\"triggerTemplate; context: { option: valueControl.value }\" />\n </mat-select-trigger>\n }\n\n @if (hasEmptyValue) {\n <mat-option [value]=\"undefined\"></mat-option>\n }\n\n @if (showSelectAll) {\n <mat-option\n class=\"select-all-option checkbox\"\n [value]=\"'__SELECT_ALL__'\"\n (click)=\"onSelectAllClick($event)\"\n >\n <ads-checkbox\n [showFooter]=\"false\"\n width=\"100%\"\n [control]=\"selectAllCheckboxControl\"\n label=\"Select All\"\n />\n </mat-option>\n }\n\n @for (option of displayedOptionsArray; track $index) {\n <mat-option\n [id]=\"id + '-option-' + ($index + 1)\"\n [value]=\"option\"\n [ngClass]=\"{\n checkbox: isMultiselect && checkSelected,\n 'wrap-text': wrapOptionText,\n }\"\n [matTooltip]=\"displayValueFormatter ? displayValueFormatter(option) : displayedOptions.get(option)\"\n [matTooltipDisabled]=\"!showTooltip\"\n [disabled]=\"isDropdownOptionObject(option)\"\n >\n @if (optionTemplate) {\n <ng-container *ngTemplateOutlet=\"optionTemplate; context: { option }\" />\n } @else if (isMultiselect && checkSelected) {\n <ads-checkbox\n [showFooter]=\"false\"\n width=\"100%\"\n [control]=\"createCheckboxControl(option)\"\n (change)=\"onCheckboxChange(option)\"\n [label]=\"displayValueFormatter ? displayValueFormatter(option) : displayedOptions.get(option)\"\n />\n } @else {\n <span\n [ngClass]=\"{ 'wrap-text': wrapOptionText }\"\n [innerHTML]=\"displayValueFormatter ? displayValueFormatter(option) : displayedOptions.get(option)\"\n ></span>\n }\n </mat-option>\n }\n </mat-select>\n\n @if (canClear) {\n <button matTextSuffix type=\"button\" mat-icon-button (click)=\"clear($event)\" class=\"action-icon\">\n <ads-icon name=\"cross\" [size]=\"smallSize ? 'xxs' : 'xs'\" [theme]=\"'iconPrimary'\" class=\"cross-icon\" />\n </button>\n }\n <button matTextSuffix type=\"button\" mat-icon-button class=\"action-icon\">\n <ads-icon\n matTextSuffix\n name=\"chevron_down\"\n [size]=\"smallSize ? 'xxs' : 'xs'\"\n [theme]=\"'iconPrimary'\"\n class=\"chevron-down\"\n />\n </button>\n </mat-form-field>\n\n @if (showFooter) {\n <div class=\"footer-container\"\n [class.dynamic]=\"!isStaticFooter\"\n [class.has-content]=\"hasFooterContent()\">\n @if (canShowError()) {\n <ads-error [error]=\"displayFirstError()\" [ngStyle]=\"{ width: width }\" />\n } @else if (canShowSuccess()) {\n <ads-success [success]=\"successMessage!\" [ngStyle]=\"{ width: width }\" />\n } @else if (hint) {\n <ads-hint [hint]=\"hint\" [control]=\"valueControl\" [ngStyle]=\"{ width: width }\" />\n }\n </div>\n }\n </div>\n\n @if (tooltip) {\n <ads-input-tooltip [tooltip]=\"tooltip\" [smallSize]=\"smallSize\" [href]=\"tooltipHref\" />\n }\n</div>\n\n", styles: [".ads-field-container{display:flex;gap:12px;align-items:flex-start}.ads-field-container.shrink{min-width:0}.ads-field-container.shrink>div{min-width:0;width:100%}.ads-field-container.shrink mat-form-field{min-width:0;width:100%}.ads-field-container.shrink .mdc-text-field,.ads-field-container.shrink .mat-mdc-form-field-flex{min-width:0}.ads-field-container.shrink .mat-mdc-form-field-infix{min-width:0;width:0;flex:1 1 0}.ads-field-container.shrink .mat-mdc-select,.ads-field-container.shrink .mat-mdc-select-trigger{min-width:0}.ads-field-container.shrink .mat-mdc-select-value{min-width:0;max-width:100%}.ads-field-container.shrink .mat-mdc-select-value-text,.ads-field-container.shrink .mat-mdc-select-placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ads-input-right-hint{position:absolute;right:40px;top:50%;transform:translateY(-50%);color:var(--color-light);font-size:.95em;pointer-events:none;z-index:2;background:transparent;white-space:nowrap}:host::ng-deep mat-form-field{--mat-form-field-filled-container-color: var(--color-white);--mat-form-field-filled-input-text-color: var(--color-medium);--mat-form-field-filled-error-label-text-color: var(--color-error);--mat-form-field-filled-error-hover-label-text-color: var(--color-error);--mat-form-field-filled-label-text-color: var(--color-medium);--mat-form-field-filled-focus-label-text-color: var(--color-medium);--mat-form-field-filled-hover-label-text-color: var(--color-medium);--mat-form-field-filled-disabled-label-text-color: var(--color-medium);--mat-form-field-filled-disabled-container-color: var(--color-muted) !important;--mat-form-field-filled-disabled-input-text-color: var(--color-medium) !important;--mat-form-field-filled-error-focus-label-text-color: var(--color-error);--mat-form-field-filled-label-text-size: 16px}:host::ng-deep mat-form-field .mdc-floating-label--float-above{--mat-form-field-filled-label-text-size: 12px}:host::ng-deep mat-form-field .mdc-icon-button:focus-visible,:host::ng-deep mat-form-field .mat-mdc-icon-button:focus-visible{background-color:var(--color-light-30)}:host::ng-deep mat-form-field .mdc-text-field{box-sizing:border-box;border-radius:5px;outline:1px solid var(--color-light);outline-offset:-1px;align-items:center;padding:0 12px;cursor:text;height:48px}:host::ng-deep mat-form-field .mdc-text-field .cross-icon{stroke:var(--color-medium)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex{height:100%}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex .mat-mdc-form-field-infix{align-items:center}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-outer-spin-button,:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input[type=number]{-moz-appearance:textfield}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input{height:24px}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .cross-icon,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .visibility-eye,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .picker{stroke:var(--color-error)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .chevron-down,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .status_processing,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .search-icon{color:var(--color-error)!important}:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid{outline:1px solid var(--color-light);outline-offset:-1px}:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid .cross-icon,:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid .visibility-eye,:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid .picker{stroke:var(--color-medium)!important}:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid .chevron-down,:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid .status_processing,:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid .search-icon{color:var(--color-medium)!important}:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid .mdc-floating-label{color:var(--mat-form-field-filled-label-text-color)!important}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex{align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix{display:flex;align-items:flex-end;width:120px}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label{width:100%}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label .mat-mdc-form-field-required-marker{color:var(--mat-form-field-filled-error-label-text-color)}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix{display:flex;align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix .mat-mdc-icon-button{display:flex;align-items:center;justify-content:center}:host::ng-deep mat-form-field .action-icon{padding:0;--mat-icon-button-state-layer-size: 35px}:host::ng-deep mat-form-field .action-icon .mat-mdc-button-touch-target{height:unset;width:unset}:host::ng-deep mat-form-field .time-picker-button{cursor:default}:host::ng-deep mat-form-field .time-picker-button .mdc-icon-button__ripple{display:none!important}:host::ng-deep mat-form-field.x-small .mdc-text-field{height:24px;padding:0 8px}:host::ng-deep mat-form-field.x-small .mdc-text-field .mat-mdc-form-field-input-control{font-size:12px;line-height:16px}:host::ng-deep mat-form-field.x-small .action-icon{--mat-icon-button-state-layer-size: 18px}:host::ng-deep mat-form-field.mat-form-field-disabled .mdc-text-field{background-color:var(--mat-form-field-filled-disabled-container-color);border:none}:host::ng-deep mat-form-field:not(.mat-form-field-disabled) .mdc-text-field:hover .visibility-eye{fill:var(--color-light-30)!important}:host::ng-deep mat-form-field.read-only{pointer-events:none}:host::ng-deep mat-form-field.read-only .mdc-text-field{background-color:var(--mat-form-field-filled-container-color);cursor:default;outline:1px solid var(--color-light);outline-offset:-1px}:host::ng-deep mat-form-field.read-only .mdc-text-field input{pointer-events:none;-webkit-user-select:none;user-select:none}:host::ng-deep mat-form-field:not(.mat-form-field-disabled):not(.read-only) .mdc-text-field:hover{background-color:var(--color-light-30);outline:2px solid var(--color-secondary-hover);outline-offset:-2px}:host::ng-deep mat-form-field:not(.mat-form-field-disabled):not(.read-only).mat-focused .mdc-text-field{outline:2px solid var(--color-secondary-pressed);outline-offset:-2px;background-color:var(--color-muted)}:host::ng-deep mat-form-field:not(.mat-form-field-disabled):not(.read-only).mat-focused .mdc-text-field .visibility-eye{fill:var(--color-muted)!important}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field{outline:2px solid var(--color-medium);outline-offset:-2px}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field.suppress-validation.immediate-validation .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-medium);outline-offset:-2px}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper{color:var(--mat-form-field-filled-label-text-color)}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper:before{content:none}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-error-wrapper,:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper{position:relative;padding:0}:host::ng-deep mat-form-field .mdc-line-ripple{display:none}:host::ng-deep mat-form-field.success-label .mat-mdc-form-field-required-marker,:host::ng-deep mat-form-field.success-label mat-label{color:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .mdc-text-field{outline:2px solid var(--color-success);outline-offset:-2px}:host::ng-deep mat-form-field.success-label .cross-icon,:host::ng-deep mat-form-field.success-label .visibility-eye,:host::ng-deep mat-form-field.success-label .picker{stroke:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .chevron-down,:host::ng-deep mat-form-field.success-label .status_processing,:host::ng-deep mat-form-field.success-label .search-icon{color:var(--color-success)!important}:host::ng-deep mat-form-field.error-label mat-label{color:var(--color-error)}:host::ng-deep mat-hint{display:inline-block}:host::ng-deep .mat-mdc-form-field-hint-spacer{display:none}.info-tooltip{position:relative;top:12px}mat-error{display:flex;padding-top:2px}mat-error .error{display:flex;align-items:flex-start;gap:2px}mat-error .error ads-icon{position:relative;top:2px}:host ::ng-deep .mdc-text-field{position:relative}:host ::ng-deep input[type=number]::-webkit-outer-spin-button,:host ::ng-deep input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host ::ng-deep input[type=number]{-moz-appearance:textfield}\n", "mat-select{--mat-select-trigger-text-line-height: 24px;--mat-select-enabled-trigger-text-color: var(--color-medium);--mat-select-disabled-trigger-text-color: var(--color-medium);--mat-select-placeholder-text-color: var(--color-medium)}mat-option{--mat-option-selected-state-layer-color: var(--color-secondary);--mat-option-selected-state-label-text-color: var(--color-white);--mat-option-hover-state-layer-color: var(--color-secondary-hover);padding:0 12px}mat-option.checkbox{padding:0 12px 0 6px}mat-option:active{background-color:var(--color-secondary-pressed)!important}mat-option.wrap-text{white-space:normal;word-wrap:break-word;overflow-wrap:break-word;min-height:48px;height:auto;line-height:1.4}mat-option.wrap-text span{white-space:normal;word-wrap:break-word;overflow-wrap:break-word;display:block;line-height:1.4}mat-option span.wrap-text{white-space:normal;word-wrap:break-word;overflow-wrap:break-word;display:block;line-height:1.4}mat-form-field.pill ::ng-deep .mdc-text-field{border-radius:24px;padding-left:16px;background-color:var(--color-light-30)}mat-form-field.pill ::ng-deep .mdc-text-field:not(.mdc-text-field--invalid){border-color:transparent}mat-form-field.wrap-trigger-text ::ng-deep .mat-mdc-select-value{white-space:normal!important;word-wrap:break-word;overflow-wrap:break-word;line-height:1.4;min-height:24px;height:auto}mat-form-field.wrap-trigger-text ::ng-deep .mat-mdc-select-value-text{white-space:normal!important;word-wrap:break-word;overflow-wrap:break-word;line-height:1.4}mat-form-field.wrap-trigger-text ::ng-deep .mdc-text-field{min-height:48px;height:auto}mat-form-field.wrap-trigger-text ::ng-deep .mdc-text-field__input,mat-form-field.wrap-trigger-text ::ng-deep .mat-mdc-form-field-infix{white-space:normal;word-wrap:break-word;overflow-wrap:break-word;line-height:1.4;height:auto;min-height:24px;padding-top:12px;padding-bottom:12px}mat-form-field.has-label.wrap-trigger-text ::ng-deep .mdc-text-field__input,mat-form-field.has-label.wrap-trigger-text ::ng-deep .mat-mdc-form-field-infix{padding-top:20px;padding-bottom:4px}mat-form-field ::ng-deep .mdc-text-field .mat-mdc-select-arrow-wrapper{display:none}mat-form-field.x-small mat-select{font-size:12px;line-height:16px}mat-form-field.x-small ::ng-deep .mat-mdc-select-placeholder{font-size:12px;line-height:16px}mat-option:hover:not(.mdc-list-item--disabled){color:var(--color-white);background-color:var(--mat-option-hover-state-layer-color)}mat-option:hover:not(.mdc-list-item--disabled).mdc-list-item--selected{background-color:var(--mat-option-selected-state-layer-color)}mat-option:hover:not(.mdc-list-item--disabled) ::ng-deep .mdc-list-item__primary-text{color:var(--color-white)!important}mat-option:hover:not(.mdc-list-item--disabled) ::ng-deep .flag-option span{color:var(--color-white)!important}mat-option.mat-mdc-option-active{color:var(--color-white);background-color:var(--mat-option-hover-state-layer-color)!important}mat-option.mat-mdc-option-active.mdc-list-item--selected{background-color:var(--mat-option-selected-state-layer-color)!important}mat-option.mat-mdc-option-active ::ng-deep .mdc-list-item__primary-text{color:var(--color-white)!important}mat-option.mat-mdc-option-active ::ng-deep .flag-option span{color:var(--color-white)!important}mat-option.mdc-list-item--disabled{opacity:.5}mat-option ::ng-deep .mat-pseudo-checkbox{display:none}mat-option ::ng-deep .mdc-list-item__primary-text{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n", "mat-form-field.chips ::ng-deep .mdc-text-field{height:auto;min-height:var(--mat-form-field-container-height)}mat-form-field.x-small ::ng-deep{--mat-form-field-container-height: 32px}mat-option:not(.mdc-list-item--disabled):hover ::ng-deep .checkbox-label,mat-option:not(.mdc-list-item--disabled):focus ::ng-deep .checkbox-label,mat-option:not(.mdc-list-item--disabled):active ::ng-deep .checkbox-label,mat-option:not(.mdc-list-item--disabled).mat-mdc-option-active ::ng-deep .checkbox-label{color:var(--color-white)}.tag-container{display:flex;gap:4px;flex-wrap:wrap;margin:4px 0}\n", ".footer-container{min-height:20px;overflow:hidden}.footer-container.dynamic{min-height:0;max-height:0;opacity:0;transition:max-height .3s ease-in-out,opacity .2s ease-in-out,min-height .3s ease-in-out}.footer-container.dynamic.has-content{min-height:20px;max-height:100px;opacity:1;transition:max-height .3s ease-in-out,opacity .3s ease-in-out .1s,min-height .3s ease-in-out}::ng-deep .mat-mdc-form-field{--mat-form-field-filled-input-text-placeholder-color: var(--color-medium) !important}::ng-deep .spinner{animation:spin 1s linear infinite;transform-origin:50% 50%}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
3568
+ args: [{ selector: 'ads-multi-select-dropdown', standalone: false, template: "<div [ngStyle]=\"{ minWidth: containerMinWidth }\" class=\"ads-field-container\" [class.shrink]=\"shrink\">\n <div [ngStyle]=\"{ width: width }\">\n <mat-form-field\n (click)=\"onOpened()\"\n [ngClass]=\"{\n 'immediate-validation': immediateValidation,\n 'no-left-padding': !showExclamation,\n pill: mode === 'pill',\n chips: showChips && isMultiselect,\n 'success-label': canShowSuccess(),\n 'error-label': canShowError(),\n 'x-small': smallSize,\n 'wrap-trigger-text': wrapOptionText,\n 'has-label': !!label\n }\"\n [ngStyle]=\"{ width: width }\"\n >\n @if ((!showChips || valueControl.value.length === 0) && (label || required) && !smallSize) {\n <mat-label>{{ label }}</mat-label>\n }\n <!--&nbsp; is required in placeholder for smoother animation -->\n <mat-select\n #panel\n [disableRipple]=\"true\"\n [id]=\"id\"\n [placeholder]=\"placeholder || '&nbsp;'\"\n [panelClass]=\"panelClassList\"\n [disableOptionCentering]=\"true\"\n [required]=\"required\"\n [formControl]=\"valueControl\"\n [multiple]=\"isMultiselect\"\n >\n @if (showSelectAll && isAllSelected) {\n <mat-select-trigger>Select All</mat-select-trigger>\n } @else if (showChips && isMultiselect) {\n <mat-select-trigger>\n <div class=\"tag-container\">\n @for (option of valueControl.value; track $index) {\n <ads-tag\n [tag]=\"chipName(option)\"\n [color]=\"Colors.Medium\"\n [id]=\"'' + $index\"\n (remove)=\"onOptionRemoved(option)\"\n (click)=\"$event.stopPropagation()\"\n />\n }\n </div>\n </mat-select-trigger>\n } @else if (triggerTemplate) {\n <mat-select-trigger>\n <ng-container *ngTemplateOutlet=\"triggerTemplate; context: { option: valueControl.value }\" />\n </mat-select-trigger>\n }\n\n @if (hasEmptyValue) {\n <mat-option [value]=\"undefined\"></mat-option>\n }\n\n @if (showSelectAll) {\n <mat-option\n class=\"select-all-option checkbox\"\n [value]=\"'__SELECT_ALL__'\"\n (click)=\"onSelectAllClick($event)\"\n >\n <ads-checkbox\n [showFooter]=\"false\"\n width=\"100%\"\n [control]=\"selectAllCheckboxControl\"\n label=\"Select All\"\n />\n </mat-option>\n }\n\n @for (option of displayedOptionsArray; track $index) {\n <mat-option\n [id]=\"id + '-option-' + ($index + 1)\"\n [value]=\"option\"\n [ngClass]=\"{\n checkbox: isMultiselect && checkSelected,\n 'wrap-text': wrapOptionText,\n }\"\n [matTooltip]=\"getOptionDisplayLabel(option)\"\n [matTooltipDisabled]=\"!showTooltip\"\n [disabled]=\"isDropdownOptionObject(option) || (disableEmptyValue && isEmptyOption(option))\"\n >\n @if (optionTemplate) {\n <ng-container *ngTemplateOutlet=\"optionTemplate; context: { option }\" />\n } @else if (isMultiselect && checkSelected) {\n <ads-checkbox\n [showFooter]=\"false\"\n width=\"100%\"\n [control]=\"createCheckboxControl(option)\"\n (change)=\"onCheckboxChange(option)\"\n [label]=\"getOptionDisplayLabel(option)\"\n />\n } @else {\n <span\n [ngClass]=\"{ 'wrap-text': wrapOptionText }\"\n [innerHTML]=\"getOptionDisplayLabel(option)\"\n ></span>\n }\n </mat-option>\n }\n </mat-select>\n\n @if (canClear) {\n <button matTextSuffix type=\"button\" mat-icon-button (click)=\"clear($event)\" class=\"action-icon\">\n <ads-icon name=\"cross\" [size]=\"smallSize ? 'xxs' : 'xs'\" [theme]=\"'iconPrimary'\" class=\"cross-icon\" />\n </button>\n }\n <button matTextSuffix type=\"button\" mat-icon-button class=\"action-icon\">\n <ads-icon\n matTextSuffix\n name=\"chevron_down\"\n [size]=\"smallSize ? 'xxs' : 'xs'\"\n [theme]=\"'iconPrimary'\"\n class=\"chevron-down\"\n />\n </button>\n </mat-form-field>\n\n @if (showFooter) {\n <div class=\"footer-container\"\n [class.dynamic]=\"!isStaticFooter\"\n [class.has-content]=\"hasFooterContent()\">\n @if (canShowError()) {\n <ads-error [error]=\"displayFirstError()\" [ngStyle]=\"{ width: width }\" />\n } @else if (canShowSuccess()) {\n <ads-success [success]=\"successMessage!\" [ngStyle]=\"{ width: width }\" />\n } @else if (hint) {\n <ads-hint [hint]=\"hint\" [control]=\"valueControl\" [ngStyle]=\"{ width: width }\" />\n }\n </div>\n }\n </div>\n\n @if (tooltip) {\n <ads-input-tooltip [tooltip]=\"tooltip\" [smallSize]=\"smallSize\" [href]=\"tooltipHref\" />\n }\n</div>\n\n", styles: [".ads-field-container{display:flex;gap:12px;align-items:flex-start}.ads-field-container.shrink{min-width:0}.ads-field-container.shrink>div{min-width:0;width:100%}.ads-field-container.shrink mat-form-field{min-width:0;width:100%}.ads-field-container.shrink .mdc-text-field,.ads-field-container.shrink .mat-mdc-form-field-flex{min-width:0}.ads-field-container.shrink .mat-mdc-form-field-infix{min-width:0;width:0;flex:1 1 0}.ads-field-container.shrink .mat-mdc-select,.ads-field-container.shrink .mat-mdc-select-trigger{min-width:0}.ads-field-container.shrink .mat-mdc-select-value{min-width:0;max-width:100%}.ads-field-container.shrink .mat-mdc-select-value-text,.ads-field-container.shrink .mat-mdc-select-placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ads-input-right-hint{position:absolute;right:40px;top:50%;transform:translateY(-50%);color:var(--color-light);font-size:.95em;pointer-events:none;z-index:2;background:transparent;white-space:nowrap}:host::ng-deep mat-form-field{--mat-form-field-filled-container-color: var(--color-white);--mat-form-field-filled-input-text-color: var(--color-medium);--mat-form-field-filled-error-label-text-color: var(--color-error);--mat-form-field-filled-error-hover-label-text-color: var(--color-error);--mat-form-field-filled-label-text-color: var(--color-medium);--mat-form-field-filled-focus-label-text-color: var(--color-medium);--mat-form-field-filled-hover-label-text-color: var(--color-medium);--mat-form-field-filled-disabled-label-text-color: var(--color-medium);--mat-form-field-filled-disabled-container-color: var(--color-muted) !important;--mat-form-field-filled-disabled-input-text-color: var(--color-medium) !important;--mat-form-field-filled-error-focus-label-text-color: var(--color-error);--mat-form-field-filled-label-text-size: 16px}:host::ng-deep mat-form-field .mdc-floating-label--float-above{--mat-form-field-filled-label-text-size: 12px}:host::ng-deep mat-form-field .mdc-icon-button:focus-visible,:host::ng-deep mat-form-field .mat-mdc-icon-button:focus-visible{background-color:var(--color-light-30)}:host::ng-deep mat-form-field .mdc-text-field{box-sizing:border-box;border-radius:5px;outline:1px solid var(--color-light);outline-offset:-1px;align-items:center;padding:0 12px;cursor:text;height:48px}:host::ng-deep mat-form-field .mdc-text-field .cross-icon{stroke:var(--color-medium)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex{height:100%}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex .mat-mdc-form-field-infix{align-items:center}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-outer-spin-button,:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input[type=number]{-moz-appearance:textfield}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input{height:24px}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .cross-icon,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .visibility-eye,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .picker{stroke:var(--color-error)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .chevron-down,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .status_processing,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .search-icon{color:var(--color-error)!important}:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid{outline:1px solid var(--color-light);outline-offset:-1px}:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid .cross-icon,:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid .visibility-eye,:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid .picker{stroke:var(--color-medium)!important}:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid .chevron-down,:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid .status_processing,:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid .search-icon{color:var(--color-medium)!important}:host::ng-deep mat-form-field.suppress-validation .mdc-text-field.mdc-text-field--invalid .mdc-floating-label{color:var(--mat-form-field-filled-label-text-color)!important}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex{align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix{display:flex;align-items:flex-end;width:120px}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label{width:100%}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label .mat-mdc-form-field-required-marker{color:var(--mat-form-field-filled-error-label-text-color)}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix{display:flex;align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix .mat-mdc-icon-button{display:flex;align-items:center;justify-content:center}:host::ng-deep mat-form-field .action-icon{padding:0;--mat-icon-button-state-layer-size: 35px}:host::ng-deep mat-form-field .action-icon .mat-mdc-button-touch-target{height:unset;width:unset}:host::ng-deep mat-form-field .time-picker-button{cursor:default}:host::ng-deep mat-form-field .time-picker-button .mdc-icon-button__ripple{display:none!important}:host::ng-deep mat-form-field.x-small .mdc-text-field{height:24px;padding:0 8px}:host::ng-deep mat-form-field.x-small .mdc-text-field .mat-mdc-form-field-input-control{font-size:12px;line-height:16px}:host::ng-deep mat-form-field.x-small .action-icon{--mat-icon-button-state-layer-size: 18px}:host::ng-deep mat-form-field.mat-form-field-disabled .mdc-text-field{background-color:var(--mat-form-field-filled-disabled-container-color);border:none}:host::ng-deep mat-form-field:not(.mat-form-field-disabled) .mdc-text-field:hover .visibility-eye{fill:var(--color-light-30)!important}:host::ng-deep mat-form-field.read-only{pointer-events:none}:host::ng-deep mat-form-field.read-only .mdc-text-field{background-color:var(--mat-form-field-filled-container-color);cursor:default;outline:1px solid var(--color-light);outline-offset:-1px}:host::ng-deep mat-form-field.read-only .mdc-text-field input{pointer-events:none;-webkit-user-select:none;user-select:none}:host::ng-deep mat-form-field:not(.mat-form-field-disabled):not(.read-only) .mdc-text-field:hover{background-color:var(--color-light-30);outline:2px solid var(--color-secondary-hover);outline-offset:-2px}:host::ng-deep mat-form-field:not(.mat-form-field-disabled):not(.read-only).mat-focused .mdc-text-field{outline:2px solid var(--color-secondary-pressed);outline-offset:-2px;background-color:var(--color-muted)}:host::ng-deep mat-form-field:not(.mat-form-field-disabled):not(.read-only).mat-focused .mdc-text-field .visibility-eye{fill:var(--color-muted)!important}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field{outline:2px solid var(--color-medium);outline-offset:-2px}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field.suppress-validation.immediate-validation .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-medium);outline-offset:-2px}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper{color:var(--mat-form-field-filled-label-text-color)}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper:before{content:none}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-error-wrapper,:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper{position:relative;padding:0}:host::ng-deep mat-form-field .mdc-line-ripple{display:none}:host::ng-deep mat-form-field.success-label .mat-mdc-form-field-required-marker,:host::ng-deep mat-form-field.success-label mat-label{color:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .mdc-text-field{outline:2px solid var(--color-success);outline-offset:-2px}:host::ng-deep mat-form-field.success-label .cross-icon,:host::ng-deep mat-form-field.success-label .visibility-eye,:host::ng-deep mat-form-field.success-label .picker{stroke:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .chevron-down,:host::ng-deep mat-form-field.success-label .status_processing,:host::ng-deep mat-form-field.success-label .search-icon{color:var(--color-success)!important}:host::ng-deep mat-form-field.error-label mat-label{color:var(--color-error)}:host::ng-deep mat-hint{display:inline-block}:host::ng-deep .mat-mdc-form-field-hint-spacer{display:none}.info-tooltip{position:relative;top:12px}mat-error{display:flex;padding-top:2px}mat-error .error{display:flex;align-items:flex-start;gap:2px}mat-error .error ads-icon{position:relative;top:2px}:host ::ng-deep .mdc-text-field{position:relative}:host ::ng-deep input[type=number]::-webkit-outer-spin-button,:host ::ng-deep input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host ::ng-deep input[type=number]{-moz-appearance:textfield}\n", "mat-select{--mat-select-trigger-text-line-height: 24px;--mat-select-enabled-trigger-text-color: var(--color-medium);--mat-select-disabled-trigger-text-color: var(--color-medium);--mat-select-placeholder-text-color: var(--color-medium)}mat-option{--mat-option-selected-state-layer-color: var(--color-secondary);--mat-option-selected-state-label-text-color: var(--color-white);--mat-option-hover-state-layer-color: var(--color-secondary-hover);padding:0 12px}mat-option.checkbox{padding:0 12px 0 6px}mat-option:active{background-color:var(--color-secondary-pressed)!important}mat-option.wrap-text{white-space:normal;word-wrap:break-word;overflow-wrap:break-word;min-height:48px;height:auto;line-height:1.4}mat-option.wrap-text span{white-space:normal;word-wrap:break-word;overflow-wrap:break-word;display:block;line-height:1.4}mat-option span.wrap-text{white-space:normal;word-wrap:break-word;overflow-wrap:break-word;display:block;line-height:1.4}mat-form-field.pill ::ng-deep .mdc-text-field{border-radius:24px;padding-left:16px;background-color:var(--color-light-30)}mat-form-field.pill ::ng-deep .mdc-text-field:not(.mdc-text-field--invalid){border-color:transparent}mat-form-field.wrap-trigger-text ::ng-deep .mat-mdc-select-value{white-space:normal!important;word-wrap:break-word;overflow-wrap:break-word;line-height:1.4;min-height:24px;height:auto}mat-form-field.wrap-trigger-text ::ng-deep .mat-mdc-select-value-text{white-space:normal!important;word-wrap:break-word;overflow-wrap:break-word;line-height:1.4}mat-form-field.wrap-trigger-text ::ng-deep .mdc-text-field{min-height:48px;height:auto}mat-form-field.wrap-trigger-text ::ng-deep .mdc-text-field__input,mat-form-field.wrap-trigger-text ::ng-deep .mat-mdc-form-field-infix{white-space:normal;word-wrap:break-word;overflow-wrap:break-word;line-height:1.4;height:auto;min-height:24px;padding-top:12px;padding-bottom:12px}mat-form-field.has-label.wrap-trigger-text ::ng-deep .mdc-text-field__input,mat-form-field.has-label.wrap-trigger-text ::ng-deep .mat-mdc-form-field-infix{padding-top:20px;padding-bottom:4px}mat-form-field ::ng-deep .mdc-text-field .mat-mdc-select-arrow-wrapper{display:none}mat-form-field.x-small mat-select{font-size:12px;line-height:16px}mat-form-field.x-small ::ng-deep .mat-mdc-select-placeholder{font-size:12px;line-height:16px}mat-option:hover:not(.mdc-list-item--disabled){color:var(--color-white);background-color:var(--mat-option-hover-state-layer-color)}mat-option:hover:not(.mdc-list-item--disabled).mdc-list-item--selected{background-color:var(--mat-option-selected-state-layer-color)}mat-option:hover:not(.mdc-list-item--disabled) ::ng-deep .mdc-list-item__primary-text{color:var(--color-white)!important}mat-option:hover:not(.mdc-list-item--disabled) ::ng-deep .flag-option span{color:var(--color-white)!important}mat-option.mat-mdc-option-active{color:var(--color-white);background-color:var(--mat-option-hover-state-layer-color)!important}mat-option.mat-mdc-option-active.mdc-list-item--selected{background-color:var(--mat-option-selected-state-layer-color)!important}mat-option.mat-mdc-option-active ::ng-deep .mdc-list-item__primary-text{color:var(--color-white)!important}mat-option.mat-mdc-option-active ::ng-deep .flag-option span{color:var(--color-white)!important}mat-option.mdc-list-item--disabled{opacity:.5}mat-option ::ng-deep .mat-pseudo-checkbox{display:none}mat-option ::ng-deep .mdc-list-item__primary-text{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n", "mat-form-field.chips ::ng-deep .mdc-text-field{height:auto;min-height:var(--mat-form-field-container-height)}mat-form-field.x-small ::ng-deep{--mat-form-field-container-height: 32px}mat-option:not(.mdc-list-item--disabled):hover ::ng-deep .checkbox-label,mat-option:not(.mdc-list-item--disabled):focus ::ng-deep .checkbox-label,mat-option:not(.mdc-list-item--disabled):active ::ng-deep .checkbox-label,mat-option:not(.mdc-list-item--disabled).mat-mdc-option-active ::ng-deep .checkbox-label{color:var(--color-white)}.tag-container{display:flex;gap:4px;flex-wrap:wrap;margin:4px 0}\n", ".footer-container{min-height:20px;overflow:hidden}.footer-container.dynamic{min-height:0;max-height:0;opacity:0;transition:max-height .3s ease-in-out,opacity .2s ease-in-out,min-height .3s ease-in-out}.footer-container.dynamic.has-content{min-height:20px;max-height:100px;opacity:1;transition:max-height .3s ease-in-out,opacity .3s ease-in-out .1s,min-height .3s ease-in-out}::ng-deep .mat-mdc-form-field{--mat-form-field-filled-input-text-placeholder-color: var(--color-medium) !important}::ng-deep .spinner{animation:spin 1s linear infinite;transform-origin:50% 50%}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
3548
3569
  }], propDecorators: { showChips: [{
3549
3570
  type: Input
3550
3571
  }], showSelectAll: [{
3551
3572
  type: Input
3573
+ }], disableEmptyValue: [{
3574
+ type: Input
3552
3575
  }] } });
3553
3576
 
3554
3577
  class AdsMultiSelectDropdownModule {
@@ -8111,11 +8134,11 @@ class AdsFilterMenuComponent {
8111
8134
  }
8112
8135
  }
8113
8136
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: AdsFilterMenuComponent, deps: [{ token: i1.AdsIconRegistry }], target: i0.ɵɵFactoryTarget.Component }); }
8114
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: AdsFilterMenuComponent, isStandalone: false, selector: "ads-filter-menu", inputs: { columnSortFilterConfigs: "columnSortFilterConfigs", columnFilterStates: "columnFilterStates", getFilterOptionsForField: "getFilterOptionsForField", getHierarchicalFilterOptionsForField: "getHierarchicalFilterOptionsForField", getFilterValuesForField: "getFilterValuesForField", isColumnFilteredFn: "isColumnFilteredFn", getFilterValueFormatterForField: "getFilterValueFormatterForField" }, outputs: { filterChanged: "filterChanged", filtersRemoved: "filtersRemoved" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"filter-menu\" (click)=\"$event.stopPropagation()\">\n <!-- Header -->\n <p class=\"filter-label\">Filter</p>\n\n <!-- Active Filters Section -->\n @if (hasActiveFilters) {\n <div class=\"active-filters\">\n @for (filter of activeFilters(); track filter.field; let i = $index) {\n <div class=\"active-filter-row\" [class.first-filter]=\"isFirstFilter(i)\">\n <div class=\"active-filter-header\">\n @if (!isFirstFilter(i)) {\n <span class=\"filter-connector\">|</span>\n }\n <span class=\"filter-column-name\" [class.first]=\"isFirstFilter(i)\">\n {{ filter.headerName }}\n </span>\n\n <div class=\"filter-actions\">\n <ads-multi-select-dropdown\n [control]=\"filter.filterControl\"\n [options]=\"filter.options\"\n [showFooter]=\"false\"\n [showChips]=\"false\"\n [sortOptions]=\"false\"\n [showSelectAll]=\"true\"\n size=\"xs\"\n panelWidth=\"180px\"\n />\n\n <button class=\"filter-remove-button\" (click)=\"removeColumnFilter(filter.field)\">\n <ads-icon name=\"cross\" stroke=\"iconPrimary\" size=\"xxs\" />\n </button>\n </div>\n </div>\n </div>\n }\n </div>\n } @else {\n <p class=\"no-filters-text\">No filters are applied</p>\n }\n\n <!-- Divider between active filters and available columns -->\n <div class=\"select-column-section\">\n <p class=\"select-column-label\">Select Column</p>\n\n <div class=\"available-columns\">\n @for (column of availableColumns(); track column.field) {\n <div\n class=\"available-column-row\"\n (click)=\"addColumnToFilter(column)\"\n >\n <span class=\"column-name\">{{ column.headerName }}</span>\n </div>\n }\n </div>\n </div>\n</div>\n\n", styles: [".filter-menu{background-color:var(--color-white);display:flex;flex-direction:column;overflow-y:auto}.filter-menu .filter-label{padding:12px 12px 0;color:var(--color-medium);font-size:12px;font-weight:600;line-height:16px;margin:0}.filter-menu .no-filters-text{padding:12px;color:var(--color-medium-50);font-size:14px;line-height:18px;margin:0}.filter-menu .active-filters{padding:0}.filter-menu .active-filters .active-filter-row{padding:0 12px}.filter-menu .active-filters .active-filter-row.first-filter .active-filter-header .filter-column-name{font-size:16px;font-weight:600;color:var(--color-dark)}.filter-menu .active-filters .active-filter-row .active-filter-header{display:flex;align-items:center;gap:8px;padding:8px 0}.filter-menu .active-filters .active-filter-row .active-filter-header .filter-connector{color:var(--color-light);font-size:14px;font-weight:600}.filter-menu .active-filters .active-filter-row .active-filter-header .filter-column-name{font-size:14px;color:var(--color-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.filter-menu .active-filters .active-filter-row .active-filter-header .filter-column-name.first{font-size:16px;font-weight:600}.filter-menu .active-filters .active-filter-row .active-filter-header .filter-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.filter-menu .active-filters .active-filter-row .active-filter-header .filter-actions ads-multi-select-dropdown{width:108px}.filter-menu .active-filters .active-filter-row .active-filter-header .filter-actions .filter-remove-button{display:flex;align-items:center;justify-content:center;padding:4px;border:none;background:none;cursor:pointer;border-radius:4px}.filter-menu .active-filters .active-filter-row .active-filter-header .filter-actions .filter-remove-button:hover{background-color:var(--color-light-30)}.filter-menu .select-column-section{border-top:1px solid var(--color-light)}.filter-menu .select-column-section .select-column-label{padding:12px 12px 4px;color:var(--color-medium);font-size:12px;font-weight:600;line-height:16px;margin:0}.filter-menu .select-column-section .available-columns .available-column-row{display:flex;align-items:center;padding:12px;cursor:pointer;transition:background-color .2s ease}.filter-menu .select-column-section .available-columns .available-column-row:hover{background-color:var(--color-secondary-hover)}.filter-menu .select-column-section .available-columns .available-column-row:hover .column-name{color:var(--color-white)}.filter-menu .select-column-section .available-columns .available-column-row:active{background-color:var(--color-secondary-pressed)}.filter-menu .select-column-section .available-columns .available-column-row:active .column-name{color:var(--color-white)}.filter-menu .select-column-section .available-columns .available-column-row .column-name{font-size:14px;line-height:18px;color:var(--color-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"], dependencies: [{ kind: "component", type: i1.AdsIconComponent, selector: "ads-icon", inputs: ["size", "name", "color", "theme", "stroke"] }, { kind: "component", type: AdsMultiSelectDropdownComponent, selector: "ads-multi-select-dropdown", inputs: ["showChips", "showSelectAll"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8137
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: AdsFilterMenuComponent, isStandalone: false, selector: "ads-filter-menu", inputs: { columnSortFilterConfigs: "columnSortFilterConfigs", columnFilterStates: "columnFilterStates", getFilterOptionsForField: "getFilterOptionsForField", getHierarchicalFilterOptionsForField: "getHierarchicalFilterOptionsForField", getFilterValuesForField: "getFilterValuesForField", isColumnFilteredFn: "isColumnFilteredFn", getFilterValueFormatterForField: "getFilterValueFormatterForField" }, outputs: { filterChanged: "filterChanged", filtersRemoved: "filtersRemoved" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"filter-menu\" (click)=\"$event.stopPropagation()\">\n <!-- Header -->\n <p class=\"filter-label\">Filter</p>\n\n <!-- Active Filters Section -->\n @if (hasActiveFilters) {\n <div class=\"active-filters\">\n @for (filter of activeFilters(); track filter.field; let i = $index) {\n <div class=\"active-filter-row\" [class.first-filter]=\"isFirstFilter(i)\">\n <div class=\"active-filter-header\">\n @if (!isFirstFilter(i)) {\n <span class=\"filter-connector\">|</span>\n }\n <span class=\"filter-column-name\" [class.first]=\"isFirstFilter(i)\">\n {{ filter.headerName }}\n </span>\n\n <div class=\"filter-actions\">\n <ads-multi-select-dropdown\n [control]=\"filter.filterControl\"\n [options]=\"filter.options\"\n [showFooter]=\"false\"\n [showChips]=\"false\"\n [sortOptions]=\"false\"\n [showSelectAll]=\"true\"\n [disableEmptyValue]=\"false\"\n size=\"xs\"\n panelWidth=\"180px\"\n />\n\n <button class=\"filter-remove-button\" (click)=\"removeColumnFilter(filter.field)\">\n <ads-icon name=\"cross\" stroke=\"iconPrimary\" size=\"xxs\" />\n </button>\n </div>\n </div>\n </div>\n }\n </div>\n } @else {\n <p class=\"no-filters-text\">No filters are applied</p>\n }\n\n <!-- Divider between active filters and available columns -->\n <div class=\"select-column-section\">\n <p class=\"select-column-label\">Select Column</p>\n\n <div class=\"available-columns\">\n @for (column of availableColumns(); track column.field) {\n <div\n class=\"available-column-row\"\n (click)=\"addColumnToFilter(column)\"\n >\n <span class=\"column-name\">{{ column.headerName }}</span>\n </div>\n }\n </div>\n </div>\n</div>\n\n", styles: [".filter-menu{background-color:var(--color-white);display:flex;flex-direction:column;overflow-y:auto}.filter-menu .filter-label{padding:12px 12px 0;color:var(--color-medium);font-size:12px;font-weight:600;line-height:16px;margin:0}.filter-menu .no-filters-text{padding:12px;color:var(--color-medium-50);font-size:14px;line-height:18px;margin:0}.filter-menu .active-filters{padding:0}.filter-menu .active-filters .active-filter-row{padding:0 12px}.filter-menu .active-filters .active-filter-row.first-filter .active-filter-header .filter-column-name{font-size:16px;font-weight:600;color:var(--color-dark)}.filter-menu .active-filters .active-filter-row .active-filter-header{display:flex;align-items:center;gap:8px;padding:8px 0}.filter-menu .active-filters .active-filter-row .active-filter-header .filter-connector{color:var(--color-light);font-size:14px;font-weight:600}.filter-menu .active-filters .active-filter-row .active-filter-header .filter-column-name{font-size:14px;color:var(--color-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.filter-menu .active-filters .active-filter-row .active-filter-header .filter-column-name.first{font-size:16px;font-weight:600}.filter-menu .active-filters .active-filter-row .active-filter-header .filter-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.filter-menu .active-filters .active-filter-row .active-filter-header .filter-actions ads-multi-select-dropdown{width:108px}.filter-menu .active-filters .active-filter-row .active-filter-header .filter-actions .filter-remove-button{display:flex;align-items:center;justify-content:center;padding:4px;border:none;background:none;cursor:pointer;border-radius:4px}.filter-menu .active-filters .active-filter-row .active-filter-header .filter-actions .filter-remove-button:hover{background-color:var(--color-light-30)}.filter-menu .select-column-section{border-top:1px solid var(--color-light)}.filter-menu .select-column-section .select-column-label{padding:12px 12px 4px;color:var(--color-medium);font-size:12px;font-weight:600;line-height:16px;margin:0}.filter-menu .select-column-section .available-columns .available-column-row{display:flex;align-items:center;padding:12px;cursor:pointer;transition:background-color .2s ease}.filter-menu .select-column-section .available-columns .available-column-row:hover{background-color:var(--color-secondary-hover)}.filter-menu .select-column-section .available-columns .available-column-row:hover .column-name{color:var(--color-white)}.filter-menu .select-column-section .available-columns .available-column-row:active{background-color:var(--color-secondary-pressed)}.filter-menu .select-column-section .available-columns .available-column-row:active .column-name{color:var(--color-white)}.filter-menu .select-column-section .available-columns .available-column-row .column-name{font-size:14px;line-height:18px;color:var(--color-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"], dependencies: [{ kind: "component", type: i1.AdsIconComponent, selector: "ads-icon", inputs: ["size", "name", "color", "theme", "stroke"] }, { kind: "component", type: AdsMultiSelectDropdownComponent, selector: "ads-multi-select-dropdown", inputs: ["showChips", "showSelectAll", "disableEmptyValue"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8115
8138
  }
8116
8139
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: AdsFilterMenuComponent, decorators: [{
8117
8140
  type: Component,
8118
- args: [{ selector: 'ads-filter-menu', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"filter-menu\" (click)=\"$event.stopPropagation()\">\n <!-- Header -->\n <p class=\"filter-label\">Filter</p>\n\n <!-- Active Filters Section -->\n @if (hasActiveFilters) {\n <div class=\"active-filters\">\n @for (filter of activeFilters(); track filter.field; let i = $index) {\n <div class=\"active-filter-row\" [class.first-filter]=\"isFirstFilter(i)\">\n <div class=\"active-filter-header\">\n @if (!isFirstFilter(i)) {\n <span class=\"filter-connector\">|</span>\n }\n <span class=\"filter-column-name\" [class.first]=\"isFirstFilter(i)\">\n {{ filter.headerName }}\n </span>\n\n <div class=\"filter-actions\">\n <ads-multi-select-dropdown\n [control]=\"filter.filterControl\"\n [options]=\"filter.options\"\n [showFooter]=\"false\"\n [showChips]=\"false\"\n [sortOptions]=\"false\"\n [showSelectAll]=\"true\"\n size=\"xs\"\n panelWidth=\"180px\"\n />\n\n <button class=\"filter-remove-button\" (click)=\"removeColumnFilter(filter.field)\">\n <ads-icon name=\"cross\" stroke=\"iconPrimary\" size=\"xxs\" />\n </button>\n </div>\n </div>\n </div>\n }\n </div>\n } @else {\n <p class=\"no-filters-text\">No filters are applied</p>\n }\n\n <!-- Divider between active filters and available columns -->\n <div class=\"select-column-section\">\n <p class=\"select-column-label\">Select Column</p>\n\n <div class=\"available-columns\">\n @for (column of availableColumns(); track column.field) {\n <div\n class=\"available-column-row\"\n (click)=\"addColumnToFilter(column)\"\n >\n <span class=\"column-name\">{{ column.headerName }}</span>\n </div>\n }\n </div>\n </div>\n</div>\n\n", styles: [".filter-menu{background-color:var(--color-white);display:flex;flex-direction:column;overflow-y:auto}.filter-menu .filter-label{padding:12px 12px 0;color:var(--color-medium);font-size:12px;font-weight:600;line-height:16px;margin:0}.filter-menu .no-filters-text{padding:12px;color:var(--color-medium-50);font-size:14px;line-height:18px;margin:0}.filter-menu .active-filters{padding:0}.filter-menu .active-filters .active-filter-row{padding:0 12px}.filter-menu .active-filters .active-filter-row.first-filter .active-filter-header .filter-column-name{font-size:16px;font-weight:600;color:var(--color-dark)}.filter-menu .active-filters .active-filter-row .active-filter-header{display:flex;align-items:center;gap:8px;padding:8px 0}.filter-menu .active-filters .active-filter-row .active-filter-header .filter-connector{color:var(--color-light);font-size:14px;font-weight:600}.filter-menu .active-filters .active-filter-row .active-filter-header .filter-column-name{font-size:14px;color:var(--color-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.filter-menu .active-filters .active-filter-row .active-filter-header .filter-column-name.first{font-size:16px;font-weight:600}.filter-menu .active-filters .active-filter-row .active-filter-header .filter-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.filter-menu .active-filters .active-filter-row .active-filter-header .filter-actions ads-multi-select-dropdown{width:108px}.filter-menu .active-filters .active-filter-row .active-filter-header .filter-actions .filter-remove-button{display:flex;align-items:center;justify-content:center;padding:4px;border:none;background:none;cursor:pointer;border-radius:4px}.filter-menu .active-filters .active-filter-row .active-filter-header .filter-actions .filter-remove-button:hover{background-color:var(--color-light-30)}.filter-menu .select-column-section{border-top:1px solid var(--color-light)}.filter-menu .select-column-section .select-column-label{padding:12px 12px 4px;color:var(--color-medium);font-size:12px;font-weight:600;line-height:16px;margin:0}.filter-menu .select-column-section .available-columns .available-column-row{display:flex;align-items:center;padding:12px;cursor:pointer;transition:background-color .2s ease}.filter-menu .select-column-section .available-columns .available-column-row:hover{background-color:var(--color-secondary-hover)}.filter-menu .select-column-section .available-columns .available-column-row:hover .column-name{color:var(--color-white)}.filter-menu .select-column-section .available-columns .available-column-row:active{background-color:var(--color-secondary-pressed)}.filter-menu .select-column-section .available-columns .available-column-row:active .column-name{color:var(--color-white)}.filter-menu .select-column-section .available-columns .available-column-row .column-name{font-size:14px;line-height:18px;color:var(--color-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"] }]
8141
+ args: [{ selector: 'ads-filter-menu', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"filter-menu\" (click)=\"$event.stopPropagation()\">\n <!-- Header -->\n <p class=\"filter-label\">Filter</p>\n\n <!-- Active Filters Section -->\n @if (hasActiveFilters) {\n <div class=\"active-filters\">\n @for (filter of activeFilters(); track filter.field; let i = $index) {\n <div class=\"active-filter-row\" [class.first-filter]=\"isFirstFilter(i)\">\n <div class=\"active-filter-header\">\n @if (!isFirstFilter(i)) {\n <span class=\"filter-connector\">|</span>\n }\n <span class=\"filter-column-name\" [class.first]=\"isFirstFilter(i)\">\n {{ filter.headerName }}\n </span>\n\n <div class=\"filter-actions\">\n <ads-multi-select-dropdown\n [control]=\"filter.filterControl\"\n [options]=\"filter.options\"\n [showFooter]=\"false\"\n [showChips]=\"false\"\n [sortOptions]=\"false\"\n [showSelectAll]=\"true\"\n [disableEmptyValue]=\"false\"\n size=\"xs\"\n panelWidth=\"180px\"\n />\n\n <button class=\"filter-remove-button\" (click)=\"removeColumnFilter(filter.field)\">\n <ads-icon name=\"cross\" stroke=\"iconPrimary\" size=\"xxs\" />\n </button>\n </div>\n </div>\n </div>\n }\n </div>\n } @else {\n <p class=\"no-filters-text\">No filters are applied</p>\n }\n\n <!-- Divider between active filters and available columns -->\n <div class=\"select-column-section\">\n <p class=\"select-column-label\">Select Column</p>\n\n <div class=\"available-columns\">\n @for (column of availableColumns(); track column.field) {\n <div\n class=\"available-column-row\"\n (click)=\"addColumnToFilter(column)\"\n >\n <span class=\"column-name\">{{ column.headerName }}</span>\n </div>\n }\n </div>\n </div>\n</div>\n\n", styles: [".filter-menu{background-color:var(--color-white);display:flex;flex-direction:column;overflow-y:auto}.filter-menu .filter-label{padding:12px 12px 0;color:var(--color-medium);font-size:12px;font-weight:600;line-height:16px;margin:0}.filter-menu .no-filters-text{padding:12px;color:var(--color-medium-50);font-size:14px;line-height:18px;margin:0}.filter-menu .active-filters{padding:0}.filter-menu .active-filters .active-filter-row{padding:0 12px}.filter-menu .active-filters .active-filter-row.first-filter .active-filter-header .filter-column-name{font-size:16px;font-weight:600;color:var(--color-dark)}.filter-menu .active-filters .active-filter-row .active-filter-header{display:flex;align-items:center;gap:8px;padding:8px 0}.filter-menu .active-filters .active-filter-row .active-filter-header .filter-connector{color:var(--color-light);font-size:14px;font-weight:600}.filter-menu .active-filters .active-filter-row .active-filter-header .filter-column-name{font-size:14px;color:var(--color-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.filter-menu .active-filters .active-filter-row .active-filter-header .filter-column-name.first{font-size:16px;font-weight:600}.filter-menu .active-filters .active-filter-row .active-filter-header .filter-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.filter-menu .active-filters .active-filter-row .active-filter-header .filter-actions ads-multi-select-dropdown{width:108px}.filter-menu .active-filters .active-filter-row .active-filter-header .filter-actions .filter-remove-button{display:flex;align-items:center;justify-content:center;padding:4px;border:none;background:none;cursor:pointer;border-radius:4px}.filter-menu .active-filters .active-filter-row .active-filter-header .filter-actions .filter-remove-button:hover{background-color:var(--color-light-30)}.filter-menu .select-column-section{border-top:1px solid var(--color-light)}.filter-menu .select-column-section .select-column-label{padding:12px 12px 4px;color:var(--color-medium);font-size:12px;font-weight:600;line-height:16px;margin:0}.filter-menu .select-column-section .available-columns .available-column-row{display:flex;align-items:center;padding:12px;cursor:pointer;transition:background-color .2s ease}.filter-menu .select-column-section .available-columns .available-column-row:hover{background-color:var(--color-secondary-hover)}.filter-menu .select-column-section .available-columns .available-column-row:hover .column-name{color:var(--color-white)}.filter-menu .select-column-section .available-columns .available-column-row:active{background-color:var(--color-secondary-pressed)}.filter-menu .select-column-section .available-columns .available-column-row:active .column-name{color:var(--color-white)}.filter-menu .select-column-section .available-columns .available-column-row .column-name{font-size:14px;line-height:18px;color:var(--color-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"] }]
8119
8142
  }], ctorParameters: () => [{ type: i1.AdsIconRegistry }], propDecorators: { columnSortFilterConfigs: [{
8120
8143
  type: Input
8121
8144
  }], columnFilterStates: [{
@@ -9761,11 +9784,11 @@ class AdsTableComponent {
9761
9784
  return options.map((v) => this.serializeCellValue(v));
9762
9785
  }
9763
9786
  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 }); }
9764
- 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"] }] }); }
9787
+ 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 Matching Rows</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-overlay-no-matching-rows-wrapper{display:flex;justify-content:center;align-items:center;height:100%}:host::ng-deep ag-grid-angular .ag-overlay-no-matching-rows-wrapper .ag-overlay-no-matching-rows-center{color:var(--color-medium);font-family:Roboto,sans-serif;font-size:16px;border:none;padding:0;background:transparent}: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%;color:var(--color-medium)}::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"] }] }); }
9765
9788
  }
9766
9789
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: AdsTableComponent, decorators: [{
9767
9790
  type: Component,
9768
- 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"] }]
9791
+ 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 Matching Rows</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-overlay-no-matching-rows-wrapper{display:flex;justify-content:center;align-items:center;height:100%}:host::ng-deep ag-grid-angular .ag-overlay-no-matching-rows-wrapper .ag-overlay-no-matching-rows-center{color:var(--color-medium);font-family:Roboto,sans-serif;font-size:16px;border:none;padding:0;background:transparent}: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%;color:var(--color-medium)}::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"] }]
9769
9792
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.AdsIconRegistry }, { type: i0.ChangeDetectorRef }], propDecorators: { width: [{
9770
9793
  type: Input
9771
9794
  }], height: [{