igniteui-angular 18.0.3 → 18.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/esm2022/lib/buttonGroup/buttonGroup.component.mjs +3 -6
  2. package/esm2022/lib/combo/combo.common.mjs +35 -15
  3. package/esm2022/lib/data-operations/filtering-expressions-tree.mjs +3 -3
  4. package/esm2022/lib/directives/drag-drop/drag-drop.directive.mjs +5 -1
  5. package/esm2022/lib/directives/for-of/for_of.directive.mjs +3 -3
  6. package/esm2022/lib/drop-down/drop-down-item.base.mjs +3 -3
  7. package/esm2022/lib/drop-down/drop-down.base.mjs +2 -2
  8. package/esm2022/lib/drop-down/drop-down.common.mjs +1 -1
  9. package/esm2022/lib/drop-down/drop-down.component.mjs +26 -11
  10. package/esm2022/lib/grids/filtering/excel-style/excel-style-conditional-filter.component.mjs +17 -4
  11. package/esm2022/lib/grids/filtering/excel-style/excel-style-custom-dialog.component.mjs +14 -9
  12. package/esm2022/lib/grids/headers/grid-header-group.component.mjs +6 -3
  13. package/esm2022/lib/grids/headers/grid-header.component.mjs +8 -2
  14. package/esm2022/lib/grids/pivot-grid/pivot-grid.component.mjs +2 -1
  15. package/esm2022/lib/grids/pivot-grid/pivot-grid.interface.mjs +1 -1
  16. package/esm2022/lib/grids/state.directive.mjs +3 -3
  17. package/esm2022/lib/grids/toolbar/grid-toolbar-advanced-filtering.component.mjs +27 -3
  18. package/esm2022/lib/services/excel/excel-strings.mjs +2 -2
  19. package/esm2022/lib/services/exporter-common/base-export-service.mjs +1 -1
  20. package/fesm2022/igniteui-angular.mjs +140 -54
  21. package/fesm2022/igniteui-angular.mjs.map +1 -1
  22. package/lib/combo/combo.common.d.ts +3 -1
  23. package/lib/core/styles/components/grid/_excel-filtering-component.scss +5 -0
  24. package/lib/core/styles/components/grid/_excel-filtering-theme.scss +5 -0
  25. package/lib/core/styles/components/grid-toolbar/_grid-toolbar-component.scss +0 -4
  26. package/lib/core/styles/components/grid-toolbar/_grid-toolbar-theme.scss +0 -15
  27. package/lib/drop-down/drop-down-item.base.d.ts +1 -1
  28. package/lib/drop-down/drop-down.base.d.ts +1 -1
  29. package/lib/drop-down/drop-down.common.d.ts +1 -1
  30. package/lib/drop-down/drop-down.component.d.ts +13 -8
  31. package/lib/grids/filtering/excel-style/excel-style-conditional-filter.component.d.ts +5 -0
  32. package/lib/grids/headers/grid-header.component.d.ts +1 -0
  33. package/lib/grids/pivot-grid/pivot-grid.component.d.ts +1 -0
  34. package/lib/grids/pivot-grid/pivot-grid.interface.d.ts +1 -1
  35. package/lib/grids/toolbar/grid-toolbar-advanced-filtering.component.d.ts +12 -1
  36. package/lib/services/exporter-common/base-export-service.d.ts +2 -2
  37. package/package.json +1 -1
  38. package/styles/igniteui-angular-dark.css +1 -1
  39. package/styles/igniteui-angular.css +1 -1
  40. package/styles/igniteui-bootstrap-dark.css +1 -1
  41. package/styles/igniteui-bootstrap-light.css +1 -1
  42. package/styles/igniteui-dark-green.css +1 -1
  43. package/styles/igniteui-fluent-dark-excel.css +1 -1
  44. package/styles/igniteui-fluent-dark-word.css +1 -1
  45. package/styles/igniteui-fluent-dark.css +1 -1
  46. package/styles/igniteui-fluent-light-excel.css +1 -1
  47. package/styles/igniteui-fluent-light-word.css +1 -1
  48. package/styles/igniteui-fluent-light.css +1 -1
  49. package/styles/igniteui-indigo-dark.css +1 -1
  50. package/styles/igniteui-indigo-light.css +1 -1
  51. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  52. package/styles/maps/igniteui-angular.css.map +1 -1
  53. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  54. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  55. package/styles/maps/igniteui-dark-green.css.map +1 -1
  56. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  57. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  58. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  59. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  60. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  61. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  62. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  63. package/styles/maps/igniteui-indigo-light.css.map +1 -1
@@ -1435,8 +1435,8 @@ class FilteringExpressionsTree {
1435
1435
  if ((expr instanceof FilteringExpressionsTree)) {
1436
1436
  return this.isFilteringExpressionsTreeForColumn(expr, fieldName);
1437
1437
  }
1438
- else {
1439
- return expr.fieldName === fieldName;
1438
+ else if (expr.fieldName === fieldName) {
1439
+ return true;
1440
1440
  }
1441
1441
  }
1442
1442
  return false;
@@ -3413,7 +3413,7 @@ class ExcelStrings {
3413
3413
  }
3414
3414
  static getStyles() {
3415
3415
  return ExcelStrings.XML_STRING +
3416
- '<styleSheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac x16r2" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" xmlns:x16r2="http://schemas.microsoft.com/office/spreadsheetml/2015/02/main"><numFmts count="5"><numFmt numFmtId="164" formatCode="&quot;$&quot;#,##0.00"/><numFmt numFmtId="165" formatCode="[$£-809]#,##0.00"/><numFmt numFmtId="166" formatCode="[$¥-804]#,##0.00"/><numFmt numFmtId="167" formatCode="#,##0.00\ [$€-1]"/><numFmt numFmtId="168" formatCode="[$¥-411]#,##0.00"/></numFmts><fonts count="2" x14ac:knownFonts="1"><font><sz val="11"/><color theme="1"/><name val="Calibri"/><family val="2"/><scheme val="minor"/></font><font><sz val="11"/><color rgb="FFB7B7B7"/><name val="Calibri"/><family val="2"/><scheme val="minor"/></font></fonts><fills count="3"><fill><patternFill patternType="none"/></fill><fill><patternFill patternType="gray125"/></fill><fill><patternFill patternType="solid"><fgColor rgb="FF0D1822"/><bgColor indexed="64"/></patternFill></fill></fills><borders count="1"><border><left/><right/><top/><bottom/><diagonal/></border></borders><cellStyleXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0"/></cellStyleXfs><cellXfs count="13"><xf numFmtId="0" fontId="0" fillId="0" borderId="0" xfId="0"/><xf numFmtId="0" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/><xf numFmtId="14" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/><xf numFmtId="0" fontId="1" fillId="2" borderId="0" xfId="0"/><xf numFmtId="0" fontId="0" fillId="0" borderId="0" xfId="0" applyAlignment="1"><alignment horizontal="center" vertical="center"/></xf><xf numFmtId="164" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/><xf numFmtId="165" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/><xf numFmtId="166" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/><xf numFmtId="167" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/><xf numFmtId="168" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/><xf numFmtId="21" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/><xf numFmtId="22" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/><xf numFmtId="10" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/></cellXfs><cellStyles count="1"><cellStyle name="Normal" xfId="0" builtinId="0"/></cellStyles><dxfs count="0"/><tableStyles count="0" defaultTableStyle="TableStyleMedium2" defaultPivotStyle="PivotStyleLight16"/><extLst><ext uri="{EB79DEF2-80B8-43e5-95BD-54CBDDF9020C}" xmlns:x14="http://schemas.microsoft.com/office/spreadsheetml/2009/9/main"><x14:slicerStyles defaultSlicerStyle="SlicerStyleLight1"/></ext><ext uri="{9260A510-F301-46a8-8635-F512D64BE5F5}" xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main"><x15:timelineStyles defaultTimelineStyle="TimeSlicerStyleLight1"/></ext></extLst></styleSheet>';
3416
+ '<styleSheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac x16r2" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" xmlns:x16r2="http://schemas.microsoft.com/office/spreadsheetml/2015/02/main"><numFmts count="5"><numFmt numFmtId="164" formatCode="&quot;$&quot;#,##0.00"/><numFmt numFmtId="165" formatCode="[$£-809]#,##0.00"/><numFmt numFmtId="166" formatCode="[$¥-804]#,##0.00"/><numFmt numFmtId="167" formatCode="#,##0.00\ [$€-1]"/><numFmt numFmtId="168" formatCode="[$¥-411]#,##0.00"/></numFmts><fonts count="2" x14ac:knownFonts="1"><font><sz val="11"/><color theme="1"/><name val="Calibri"/><family val="2"/><scheme val="minor"/></font><font><b/><sz val="11"/><color theme="0"/><name val="Calibri"/><family val="2"/><scheme val="minor"/></font></fonts><fills count="3"><fill><patternFill patternType="none"/></fill><fill><patternFill patternType="gray125"/></fill><fill><patternFill patternType="solid"><fgColor theme="4"/><bgColor indexed="64"/></patternFill></fill></fills><borders count="1"><border><left/><right/><top/><bottom/><diagonal/></border></borders><cellStyleXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0"/></cellStyleXfs><cellXfs count="13"><xf numFmtId="0" fontId="0" fillId="0" borderId="0" xfId="0"/><xf numFmtId="0" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/><xf numFmtId="14" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/><xf numFmtId="0" fontId="1" fillId="2" borderId="0" xfId="0"/><xf numFmtId="0" fontId="0" fillId="0" borderId="0" xfId="0" applyAlignment="1"><alignment horizontal="center" vertical="center"/></xf><xf numFmtId="164" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/><xf numFmtId="165" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/><xf numFmtId="166" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/><xf numFmtId="167" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/><xf numFmtId="168" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/><xf numFmtId="21" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/><xf numFmtId="22" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/><xf numFmtId="10" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/></cellXfs><cellStyles count="1"><cellStyle name="Normal" xfId="0" builtinId="0"/></cellStyles><dxfs count="0"/><tableStyles count="0" defaultTableStyle="TableStyleMedium2" defaultPivotStyle="PivotStyleLight16"/><extLst><ext uri="{EB79DEF2-80B8-43e5-95BD-54CBDDF9020C}" xmlns:x14="http://schemas.microsoft.com/office/spreadsheetml/2009/9/main"><x14:slicerStyles defaultSlicerStyle="SlicerStyleLight1"/></ext><ext uri="{9260A510-F301-46a8-8635-F512D64BE5F5}" xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main"><x15:timelineStyles defaultTimelineStyle="TimeSlicerStyleLight1"/></ext></extLst></styleSheet>';
3417
3417
  }
3418
3418
  static getWorkbook(worksheetName) {
3419
3419
  return ExcelStrings.XML_STRING + `<workbook xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x15" xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main"><fileVersion appName="xl" lastEdited="6" lowestEdited="6" rupBuild="14420"/><workbookPr filterPrivacy="1" defaultThemeVersion="164011"/><bookViews><workbookView xWindow="0" yWindow="0" windowWidth="22260" windowHeight="12645"/></bookViews><sheets><sheet name="${worksheetName}" sheetId="1" r:id="rId1"/></sheets><calcPr calcId="162913"/><extLst><ext uri="{140A7094-0E35-4892-8432-C4D2E57EDEB5}" xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main"><x15:workbookPr chartTrackingRefBase="1"/></ext></extLst></workbook>`;
@@ -7323,7 +7323,7 @@ class IgxDropDownBaseDirective {
7323
7323
  * @param newSelection the item selected
7324
7324
  * @param event the event that triggered the call
7325
7325
  */
7326
- selectItem(newSelection, event) {
7326
+ selectItem(newSelection, event, emit = true) {
7327
7327
  this.selectionChanging.emit({
7328
7328
  newSelection,
7329
7329
  oldSelection: null,
@@ -11104,6 +11104,10 @@ class IgxDragDirective {
11104
11104
  }
11105
11105
  /** Method setting transformation to the base draggable element. */
11106
11106
  setTransformXY(x, y) {
11107
+ if (x === 0 && y === 0) {
11108
+ this.element.nativeElement.style.transform = '';
11109
+ return;
11110
+ }
11107
11111
  this.element.nativeElement.style.transform = 'translate3d(' + x + 'px, ' + y + 'px, 0px)';
11108
11112
  }
11109
11113
  /**
@@ -13321,13 +13325,13 @@ class IgxForOfDirective extends IgxForOfToken {
13321
13325
  const currDiff = newVal - oldVal;
13322
13326
  diffs.push(currDiff);
13323
13327
  totalDiff += currDiff;
13324
- this.sizesCache[index + 1] += totalDiff;
13328
+ this.sizesCache[index + 1] = (this.sizesCache[index] || 0) + newVal;
13325
13329
  }
13326
13330
  }
13327
13331
  // update cache
13328
13332
  if (Math.abs(totalDiff) > 0) {
13329
13333
  for (let j = this.state.startIndex + this.state.chunkSize + 1; j < this.sizesCache.length; j++) {
13330
- this.sizesCache[j] += totalDiff;
13334
+ this.sizesCache[j] = (this.sizesCache[j] || 0) + totalDiff;
13331
13335
  }
13332
13336
  // update scrBar heights/widths
13333
13337
  const reducer = (acc, val) => acc + val;
@@ -22392,12 +22396,12 @@ class IgxDropDownItemBaseDirective {
22392
22396
  if (this._selected) {
22393
22397
  const dropDownSelectedItem = this.dropDown.selectedItem;
22394
22398
  if (!dropDownSelectedItem) {
22395
- this.dropDown.selectItem(this);
22399
+ this.dropDown.selectItem(this, undefined, false);
22396
22400
  }
22397
22401
  else if (this.hasIndex
22398
22402
  ? this._index !== dropDownSelectedItem.index || this.value !== dropDownSelectedItem.value :
22399
22403
  this !== dropDownSelectedItem) {
22400
- this.dropDown.selectItem(this);
22404
+ this.dropDown.selectItem(this, undefined, false);
22401
22405
  }
22402
22406
  }
22403
22407
  }
@@ -22741,9 +22745,20 @@ class IgxDropDownComponent extends IgxDropDownBaseDirective {
22741
22745
  * ```
22742
22746
  */
22743
22747
  open(overlaySettings) {
22744
- this.toggleDirective.open(overlaySettings);
22748
+ const settings = overlaySettings || this.getDefaultOverlaySettings();
22749
+ this.toggleDirective.open(settings);
22745
22750
  this.updateScrollPosition();
22746
22751
  }
22752
+ /**
22753
+ * @hidden @internal
22754
+ */
22755
+ getDefaultOverlaySettings() {
22756
+ return {
22757
+ closeOnOutsideClick: true,
22758
+ modal: false,
22759
+ positionStrategy: new ConnectedPositioningStrategy()
22760
+ };
22761
+ }
22747
22762
  /**
22748
22763
  * Closes the dropdown
22749
22764
  *
@@ -22983,14 +22998,15 @@ class IgxDropDownComponent extends IgxDropDownBaseDirective {
22983
22998
  }
22984
22999
  }
22985
23000
  /**
22986
- * Handles the `selectionChanging` emit and the drop down toggle when selection changes
22987
- *
22988
- * @hidden
22989
- * @internal
22990
- * @param newSelection
22991
- * @param event
22992
- */
22993
- selectItem(newSelection, event) {
23001
+ * Handles the `selectionChanging` emit and the drop down toggle when selection changes
23002
+ *
23003
+ * @hidden
23004
+ * @internal
23005
+ * @param newSelection
23006
+ * @param event
23007
+ * @param emit
23008
+ */
23009
+ selectItem(newSelection, event, emit = true) {
22994
23010
  const oldSelection = this.selectedItem;
22995
23011
  if (!newSelection) {
22996
23012
  newSelection = this.focusedItem;
@@ -23008,7 +23024,9 @@ class IgxDropDownComponent extends IgxDropDownBaseDirective {
23008
23024
  };
23009
23025
  }
23010
23026
  const args = { oldSelection, newSelection, cancel: false, owner: this };
23011
- this.selectionChanging.emit(args);
23027
+ if (emit) {
23028
+ this.selectionChanging.emit(args);
23029
+ }
23012
23030
  if (!args.cancel) {
23013
23031
  if (this.isSelectionValid(args.newSelection)) {
23014
23032
  this.selection.set(this.id, new Set([args.newSelection]));
@@ -27802,8 +27820,7 @@ class IgxButtonGroupComponent {
27802
27820
  if (updatedButtons.length > 0) {
27803
27821
  updatedButtons.forEach((button) => {
27804
27822
  const index = this.buttons.map((b) => b.nativeElement).indexOf(button);
27805
- const args = { owner: this, button: this.buttons[index], index };
27806
- this.updateButtonSelectionState(index, args);
27823
+ this.updateButtonSelectionState(index);
27807
27824
  });
27808
27825
  }
27809
27826
  // Watch for changes again
@@ -27821,14 +27838,12 @@ class IgxButtonGroupComponent {
27821
27838
  }, updated);
27822
27839
  return updated;
27823
27840
  }
27824
- updateButtonSelectionState(index, args) {
27841
+ updateButtonSelectionState(index) {
27825
27842
  if (this.buttons[index].selected) {
27826
27843
  this.updateSelected(index);
27827
- this.selected.emit(args);
27828
27844
  }
27829
27845
  else {
27830
27846
  this.updateDeselected(index);
27831
- this.deselected.emit(args);
27832
27847
  }
27833
27848
  }
27834
27849
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: IgxButtonGroupComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
@@ -35511,6 +35526,39 @@ const ItemHeights = {
35511
35526
  "1": 28
35512
35527
  };
35513
35528
  class IgxComboBaseDirective {
35529
+ /**
35530
+ * Gets/gets combo id.
35531
+ *
35532
+ * ```typescript
35533
+ * // get
35534
+ * let id = this.combo.id;
35535
+ * ```
35536
+ *
35537
+ * ```html
35538
+ * <!--set-->
35539
+ * <igx-combo [id]='combo1'></igx-combo>
35540
+ * ```
35541
+ */
35542
+ get id() {
35543
+ return this._id;
35544
+ }
35545
+ set id(value) {
35546
+ if (!value) {
35547
+ return;
35548
+ }
35549
+ const selection = this.selectionService.get(this._id);
35550
+ this._id = value;
35551
+ if (selection) {
35552
+ this.selectionService.set(this._id, selection);
35553
+ }
35554
+ if (this.dropdown.open) {
35555
+ this.dropdown.close();
35556
+ }
35557
+ if (this.inputGroup?.isFocused) {
35558
+ this.inputGroup.element.nativeElement.blur();
35559
+ this.inputGroup.isFocused = false;
35560
+ }
35561
+ }
35514
35562
  /**
35515
35563
  * Configures the drop down list height
35516
35564
  *
@@ -35863,20 +35911,6 @@ class IgxComboBaseDirective {
35863
35911
  * ```
35864
35912
  */
35865
35913
  this.overlaySettings = null;
35866
- /**
35867
- * Gets/gets combo id.
35868
- *
35869
- * ```typescript
35870
- * // get
35871
- * let id = this.combo.id;
35872
- * ```
35873
- *
35874
- * ```html
35875
- * <!--set-->
35876
- * <igx-combo [id]='combo1'></igx-combo>
35877
- * ```
35878
- */
35879
- this.id = `igx-combo-${NEXT_ID$f++}`;
35880
35914
  /**
35881
35915
  * Controls whether custom values can be added to the collection
35882
35916
  *
@@ -36158,6 +36192,7 @@ class IgxComboBaseDirective {
36158
36192
  this._onTouchedCallback = noop;
36159
36193
  this._onChangeCallback = noop;
36160
36194
  this.compareCollator = new Intl.Collator();
36195
+ this._id = `igx-combo-${NEXT_ID$f++}`;
36161
36196
  this._type = null;
36162
36197
  this._dataType = '';
36163
36198
  this._itemHeight = null;
@@ -48219,14 +48254,19 @@ class IgxExcelStyleCustomDialogComponent {
48219
48254
  this.expressionDateComponents.forEach(x => x.cdr.markForCheck());
48220
48255
  }
48221
48256
  createInitialExpressionUIElement() {
48222
- this.expressionsList = [];
48223
- const firstExprUI = new ExpressionUI();
48224
- firstExprUI.expression = {
48225
- condition: this.createCondition(this.selectedOperator),
48226
- fieldName: this.column.field,
48227
- ignoreCase: this.column.filteringIgnoreCase,
48228
- searchVal: null
48229
- };
48257
+ let firstExprUI = new ExpressionUI();
48258
+ if (this.expressionsList.length == 1 && this.expressionsList[0].expression.condition.name === this.selectedOperator) {
48259
+ firstExprUI = this.expressionsList.pop();
48260
+ }
48261
+ else {
48262
+ this.expressionsList = [];
48263
+ firstExprUI.expression = {
48264
+ condition: this.createCondition(this.selectedOperator),
48265
+ fieldName: this.column.field,
48266
+ ignoreCase: this.column.filteringIgnoreCase,
48267
+ searchVal: null
48268
+ };
48269
+ }
48230
48270
  firstExprUI.afterOperator = FilteringLogic.And;
48231
48271
  this.expressionsList.push(firstExprUI);
48232
48272
  const secondExprUI = new ExpressionUI();
@@ -48284,6 +48324,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
48284
48324
  * A component used for presenting Excel style conditional filter UI.
48285
48325
  */
48286
48326
  class IgxExcelStyleConditionalFilterComponent {
48327
+ get filterNumber() {
48328
+ return this.esf.expressionsList.length;
48329
+ }
48287
48330
  constructor(esf, platform) {
48288
48331
  this.esf = esf;
48289
48332
  this.platform = platform;
@@ -48353,6 +48396,16 @@ class IgxExcelStyleConditionalFilterComponent {
48353
48396
  getCondition(value) {
48354
48397
  return this.esf.column.filters.condition(value);
48355
48398
  }
48399
+ /**
48400
+ * @hidden @internal
48401
+ */
48402
+ getSelectedCondition(condition) {
48403
+ const expressions = this.esf.expressionsList;
48404
+ if (expressions.length < 1) {
48405
+ return false;
48406
+ }
48407
+ return expressions.length === 1 ? expressions[0].expression.condition.name === condition : condition === 'custom';
48408
+ }
48356
48409
  /**
48357
48410
  * @hidden @internal
48358
48411
  */
@@ -48419,11 +48472,11 @@ class IgxExcelStyleConditionalFilterComponent {
48419
48472
  return this.esf.column.filters.conditionList();
48420
48473
  }
48421
48474
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: IgxExcelStyleConditionalFilterComponent, deps: [{ token: BaseFilteringComponent }, { token: PlatformUtil }], target: i0.ɵɵFactoryTarget.Component }); }
48422
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: IgxExcelStyleConditionalFilterComponent, isStandalone: true, selector: "igx-excel-style-conditional-filter", viewQueries: [{ propertyName: "customDialog", first: true, predicate: ["customDialog"], descendants: true, read: IgxExcelStyleCustomDialogComponent }, { propertyName: "subMenu", first: true, predicate: ["subMenu"], descendants: true, read: IgxDropDownComponent }], ngImport: i0, template: "<ng-container *ngIf=\"esf.column\">\n <div tabindex=\"0\"\n class=\"igx-excel-filter__actions-filter\"\n (keydown)=\"onTextFilterKeyDown($event)\"\n (click)=\"onTextFilterClick($event)\"\n [igxDropDownItemNavigation]=\"subMenu\"\n role=\"menuitem\"\n aria-haspopup=\"true\"\n [attr.aria-controls]=\"this.subMenu.listId\"\n [attr.aria-activedescendant]=\"!this.subMenu.collapsed ? this.subMenu.focusedItem?.id : null\">\n <span>{{ subMenuText }}</span>\n <igx-icon>keyboard_arrow_right</igx-icon>\n </div>\n\n <igx-drop-down\n #subMenu\n [maxHeight]=\"'397px'\"\n (selectionChanging)=\"onSubMenuSelection($event)\"\n (closed)=\"onSubMenuClosed()\">\n <div>\n <igx-drop-down-item\n *ngFor=\"let condition of conditions\"\n [value]=\"condition\">\n <div class=\"igx-grid__filtering-dropdown-items\">\n <igx-icon family=\"imx-icons\" [name]=\"getCondition(condition).iconName\"></igx-icon>\n <span class=\"igx-grid__filtering-dropdown-text\">{{ translateCondition(condition) }}</span>\n </div>\n </igx-drop-down-item>\n <igx-drop-down-item *ngIf=\"showCustomFilterItem()\">\n <div class=\"igx-grid__filtering-dropdown-items\">\n <igx-icon>filter_list</igx-icon>\n <span class=\"igx-grid__filtering-dropdown-text\">{{ esf.grid.resourceStrings.igx_grid_excel_custom_filter }}</span>\n </div>\n </igx-drop-down-item>\n </div>\n </igx-drop-down>\n\n <igx-excel-style-custom-dialog\n #customDialog\n [column]=\"esf.column\"\n [filteringService]=\"esf.grid.filteringService\"\n [overlayComponentId]=\"esf.overlayComponentId\">\n </igx-excel-style-custom-dialog>\n</ng-container>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: IgxDropDownItemNavigationDirective, selector: "[igxDropDownItemNavigation]", inputs: ["igxDropDownItemNavigation"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "component", type: IgxDropDownComponent, selector: "igx-drop-down", inputs: ["allowItemsFocus", "labelledBy"], outputs: ["opening", "opened", "closing", "closed"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: IgxDropDownItemComponent, selector: "igx-drop-down-item" }, { kind: "component", type: IgxExcelStyleCustomDialogComponent, selector: "igx-excel-style-custom-dialog", inputs: ["expressionsList", "column", "selectedOperator", "filteringService", "overlayComponentId"] }] }); }
48475
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: IgxExcelStyleConditionalFilterComponent, isStandalone: true, selector: "igx-excel-style-conditional-filter", viewQueries: [{ propertyName: "customDialog", first: true, predicate: ["customDialog"], descendants: true, read: IgxExcelStyleCustomDialogComponent }, { propertyName: "subMenu", first: true, predicate: ["subMenu"], descendants: true, read: IgxDropDownComponent }], ngImport: i0, template: "<ng-container *ngIf=\"esf.column\">\n <div tabindex=\"0\"\n class=\"igx-excel-filter__actions-filter\"\n [ngClass]=\"filterNumber > 0 ? 'igx-excel-filter__actions-filter--active' : ''\"\n (keydown)=\"onTextFilterKeyDown($event)\"\n (click)=\"onTextFilterClick($event)\"\n [igxDropDownItemNavigation]=\"subMenu\"\n role=\"menuitem\"\n aria-haspopup=\"true\"\n [attr.aria-controls]=\"this.subMenu.listId\"\n [attr.aria-activedescendant]=\"!this.subMenu.collapsed ? this.subMenu.focusedItem?.id : null\">\n <span class=\"igx-excel-filter__filter-number\">{{ subMenuText }} <ng-container *ngIf=\"filterNumber > 0\">({{filterNumber}})</ng-container></span>\n <igx-icon>keyboard_arrow_right</igx-icon>\n </div>\n\n <igx-drop-down\n #subMenu\n [maxHeight]=\"'397px'\"\n (selectionChanging)=\"onSubMenuSelection($event)\"\n (closed)=\"onSubMenuClosed()\">\n <div>\n <igx-drop-down-item\n *ngFor=\"let condition of conditions\"\n [selected]=\"getSelectedCondition(condition)\"\n [value]=\"condition\">\n <div class=\"igx-grid__filtering-dropdown-items\">\n <igx-icon family=\"imx-icons\" [name]=\"getCondition(condition).iconName\"></igx-icon>\n <span class=\"igx-grid__filtering-dropdown-text\">{{ translateCondition(condition) }}</span>\n </div>\n </igx-drop-down-item>\n <igx-drop-down-item *ngIf=\"showCustomFilterItem()\"\n [selected]=\"getSelectedCondition('custom')\" >\n <div class=\"igx-grid__filtering-dropdown-items\">\n <igx-icon>filter_list</igx-icon>\n <span class=\"igx-grid__filtering-dropdown-text\">{{ esf.grid.resourceStrings.igx_grid_excel_custom_filter }}</span>\n </div>\n </igx-drop-down-item>\n </div>\n </igx-drop-down>\n\n <igx-excel-style-custom-dialog\n #customDialog\n [column]=\"esf.column\"\n [filteringService]=\"esf.grid.filteringService\"\n [overlayComponentId]=\"esf.overlayComponentId\">\n </igx-excel-style-custom-dialog>\n</ng-container>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: IgxDropDownItemNavigationDirective, selector: "[igxDropDownItemNavigation]", inputs: ["igxDropDownItemNavigation"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "component", type: IgxDropDownComponent, selector: "igx-drop-down", inputs: ["allowItemsFocus", "labelledBy"], outputs: ["opening", "opened", "closing", "closed"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: IgxDropDownItemComponent, selector: "igx-drop-down-item" }, { kind: "component", type: IgxExcelStyleCustomDialogComponent, selector: "igx-excel-style-custom-dialog", inputs: ["expressionsList", "column", "selectedOperator", "filteringService", "overlayComponentId"] }] }); }
48423
48476
  }
48424
48477
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: IgxExcelStyleConditionalFilterComponent, decorators: [{
48425
48478
  type: Component,
48426
- args: [{ selector: 'igx-excel-style-conditional-filter', standalone: true, imports: [NgIf, IgxDropDownItemNavigationDirective, IgxIconComponent, IgxDropDownComponent, NgFor, IgxDropDownItemComponent, IgxExcelStyleCustomDialogComponent], template: "<ng-container *ngIf=\"esf.column\">\n <div tabindex=\"0\"\n class=\"igx-excel-filter__actions-filter\"\n (keydown)=\"onTextFilterKeyDown($event)\"\n (click)=\"onTextFilterClick($event)\"\n [igxDropDownItemNavigation]=\"subMenu\"\n role=\"menuitem\"\n aria-haspopup=\"true\"\n [attr.aria-controls]=\"this.subMenu.listId\"\n [attr.aria-activedescendant]=\"!this.subMenu.collapsed ? this.subMenu.focusedItem?.id : null\">\n <span>{{ subMenuText }}</span>\n <igx-icon>keyboard_arrow_right</igx-icon>\n </div>\n\n <igx-drop-down\n #subMenu\n [maxHeight]=\"'397px'\"\n (selectionChanging)=\"onSubMenuSelection($event)\"\n (closed)=\"onSubMenuClosed()\">\n <div>\n <igx-drop-down-item\n *ngFor=\"let condition of conditions\"\n [value]=\"condition\">\n <div class=\"igx-grid__filtering-dropdown-items\">\n <igx-icon family=\"imx-icons\" [name]=\"getCondition(condition).iconName\"></igx-icon>\n <span class=\"igx-grid__filtering-dropdown-text\">{{ translateCondition(condition) }}</span>\n </div>\n </igx-drop-down-item>\n <igx-drop-down-item *ngIf=\"showCustomFilterItem()\">\n <div class=\"igx-grid__filtering-dropdown-items\">\n <igx-icon>filter_list</igx-icon>\n <span class=\"igx-grid__filtering-dropdown-text\">{{ esf.grid.resourceStrings.igx_grid_excel_custom_filter }}</span>\n </div>\n </igx-drop-down-item>\n </div>\n </igx-drop-down>\n\n <igx-excel-style-custom-dialog\n #customDialog\n [column]=\"esf.column\"\n [filteringService]=\"esf.grid.filteringService\"\n [overlayComponentId]=\"esf.overlayComponentId\">\n </igx-excel-style-custom-dialog>\n</ng-container>\n" }]
48479
+ args: [{ selector: 'igx-excel-style-conditional-filter', standalone: true, imports: [NgIf, NgClass, IgxDropDownItemNavigationDirective, IgxIconComponent, IgxDropDownComponent, NgFor, IgxDropDownItemComponent, IgxExcelStyleCustomDialogComponent], template: "<ng-container *ngIf=\"esf.column\">\n <div tabindex=\"0\"\n class=\"igx-excel-filter__actions-filter\"\n [ngClass]=\"filterNumber > 0 ? 'igx-excel-filter__actions-filter--active' : ''\"\n (keydown)=\"onTextFilterKeyDown($event)\"\n (click)=\"onTextFilterClick($event)\"\n [igxDropDownItemNavigation]=\"subMenu\"\n role=\"menuitem\"\n aria-haspopup=\"true\"\n [attr.aria-controls]=\"this.subMenu.listId\"\n [attr.aria-activedescendant]=\"!this.subMenu.collapsed ? this.subMenu.focusedItem?.id : null\">\n <span class=\"igx-excel-filter__filter-number\">{{ subMenuText }} <ng-container *ngIf=\"filterNumber > 0\">({{filterNumber}})</ng-container></span>\n <igx-icon>keyboard_arrow_right</igx-icon>\n </div>\n\n <igx-drop-down\n #subMenu\n [maxHeight]=\"'397px'\"\n (selectionChanging)=\"onSubMenuSelection($event)\"\n (closed)=\"onSubMenuClosed()\">\n <div>\n <igx-drop-down-item\n *ngFor=\"let condition of conditions\"\n [selected]=\"getSelectedCondition(condition)\"\n [value]=\"condition\">\n <div class=\"igx-grid__filtering-dropdown-items\">\n <igx-icon family=\"imx-icons\" [name]=\"getCondition(condition).iconName\"></igx-icon>\n <span class=\"igx-grid__filtering-dropdown-text\">{{ translateCondition(condition) }}</span>\n </div>\n </igx-drop-down-item>\n <igx-drop-down-item *ngIf=\"showCustomFilterItem()\"\n [selected]=\"getSelectedCondition('custom')\" >\n <div class=\"igx-grid__filtering-dropdown-items\">\n <igx-icon>filter_list</igx-icon>\n <span class=\"igx-grid__filtering-dropdown-text\">{{ esf.grid.resourceStrings.igx_grid_excel_custom_filter }}</span>\n </div>\n </igx-drop-down-item>\n </div>\n </igx-drop-down>\n\n <igx-excel-style-custom-dialog\n #customDialog\n [column]=\"esf.column\"\n [filteringService]=\"esf.grid.filteringService\"\n [overlayComponentId]=\"esf.overlayComponentId\">\n </igx-excel-style-custom-dialog>\n</ng-container>\n" }]
48427
48480
  }], ctorParameters: () => [{ type: BaseFilteringComponent }, { type: PlatformUtil }], propDecorators: { customDialog: [{
48428
48481
  type: ViewChild,
48429
48482
  args: ['customDialog', { read: IgxExcelStyleCustomDialogComponent }]
@@ -54237,7 +54290,7 @@ class IgxGridHeaderComponent {
54237
54290
  return this.sortDirection !== SortingDirection.None;
54238
54291
  }
54239
54292
  get filterIconClassName() {
54240
- return this.column.filteringExpressionsTree ? 'igx-excel-filter__icon--filtered' : 'igx-excel-filter__icon';
54293
+ return this.column.filteringExpressionsTree || this.isAdvancedFilterApplied() ? 'igx-excel-filter__icon--filtered' : 'igx-excel-filter__icon';
54241
54294
  }
54242
54295
  get selectable() {
54243
54296
  return this.grid.columnSelection !== GridSelectionMode.none &&
@@ -54339,6 +54392,12 @@ class IgxGridHeaderComponent {
54339
54392
  const expr = this.grid.sortingExpressions.find((x) => x.fieldName === this.column.field);
54340
54393
  this.sortDirection = expr ? expr.dir : SortingDirection.None;
54341
54394
  }
54395
+ isAdvancedFilterApplied() {
54396
+ if (!this.grid.advancedFilteringExpressionsTree) {
54397
+ return false;
54398
+ }
54399
+ return !!this.grid.advancedFilteringExpressionsTree.find(this.column.field);
54400
+ }
54342
54401
  triggerSort() {
54343
54402
  const groupingExpr = this.grid.groupingExpressions ?
54344
54403
  this.grid.groupingExpressions.find((expr) => expr.fieldName === this.column.field) :
@@ -55516,8 +55575,11 @@ class IgxGridHeaderGroupComponent {
55516
55575
  * @hidden
55517
55576
  */
55518
55577
  onMouseDown(event) {
55519
- // hack for preventing text selection in IE and Edge while dragging the resize element
55520
- event.preventDefault();
55578
+ if (!this.grid.allowFiltering ||
55579
+ (event.composedPath().findIndex(el => el.tagName?.toLowerCase() === 'igx-grid-filtering-cell') < 1)) {
55580
+ // Hack for preventing text selection in IE and Edge while dragging the resize element
55581
+ event.preventDefault();
55582
+ }
55521
55583
  }
55522
55584
  /**
55523
55585
  * @hidden
@@ -72929,6 +72991,7 @@ class IgxPivotGridComponent extends IgxGridBaseDirective {
72929
72991
  set superCompactMode(value) {
72930
72992
  this._superCompactMode = value;
72931
72993
  }
72994
+ /** @hidden @internal */
72932
72995
  get gridSize() {
72933
72996
  if (this.superCompactMode) {
72934
72997
  return Size.Small;
@@ -75017,7 +75080,7 @@ class IgxGridStateDirective {
75017
75080
  Object.assign(ref1.instance, colState);
75018
75081
  ref1.instance.grid = context.currGrid;
75019
75082
  if (ref1.instance.parent) {
75020
- const columnGroup = newColumns.find(e => e.header === ref1.instance.parent);
75083
+ const columnGroup = newColumns.find(e => e.header === ref1.instance.parent && e.columnGroup);
75021
75084
  columnGroup.children.reset([...columnGroup.children.toArray(), ref1.instance]);
75022
75085
  ref1.instance.parent = columnGroup;
75023
75086
  }
@@ -75029,7 +75092,7 @@ class IgxGridStateDirective {
75029
75092
  Object.assign(ref.instance, colState);
75030
75093
  ref.instance.grid = context.currGrid;
75031
75094
  if (ref.instance.parent) {
75032
- const columnGroup = newColumns.find(e => e.header === ref.instance.parent);
75095
+ const columnGroup = newColumns.find(e => e.header === ref.instance.parent && e.columnGroup);
75033
75096
  if (columnGroup) {
75034
75097
  ref.instance.parent = columnGroup;
75035
75098
  columnGroup.children.reset([...columnGroup.children.toArray(), ref.instance]);
@@ -75633,13 +75696,36 @@ class IgxGridToolbarAdvancedFilteringComponent {
75633
75696
  }
75634
75697
  constructor(toolbar) {
75635
75698
  this.toolbar = toolbar;
75699
+ this.grid?.advancedFilteringExpressionsTreeChange.subscribe(filteringTree => {
75700
+ this.numberOfColumns = this.extractUniqueFieldNamesFromFilterTree(filteringTree).length;
75701
+ });
75702
+ }
75703
+ /**
75704
+ * @hidden
75705
+ */
75706
+ ngAfterViewInit() {
75707
+ this.numberOfColumns = this.grid?.advancedFilteringExpressionsTree ? this.extractUniqueFieldNamesFromFilterTree(this.grid?.advancedFilteringExpressionsTree).length : 0;
75708
+ }
75709
+ extractUniqueFieldNamesFromFilterTree(filteringTree) {
75710
+ const columnNames = [];
75711
+ if (!filteringTree)
75712
+ return columnNames;
75713
+ filteringTree.filteringOperands.forEach((expr) => {
75714
+ if (expr instanceof FilteringExpressionsTree) {
75715
+ columnNames.push(...this.extractUniqueFieldNamesFromFilterTree(expr));
75716
+ }
75717
+ else {
75718
+ columnNames.push(expr.fieldName);
75719
+ }
75720
+ });
75721
+ return [...new Set(columnNames)];
75636
75722
  }
75637
75723
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: IgxGridToolbarAdvancedFilteringComponent, deps: [{ token: IgxToolbarToken }], target: i0.ɵɵFactoryTarget.Component }); }
75638
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: IgxGridToolbarAdvancedFilteringComponent, isStandalone: true, selector: "igx-grid-toolbar-advanced-filtering", inputs: { overlaySettings: "overlaySettings" }, ngImport: i0, template: "<button igxButton=\"outlined\" type=\"button\" name=\"btnAdvancedFiltering\" igxRipple\n [title]=\"grid?.resourceStrings.igx_grid_toolbar_advanced_filtering_button_tooltip\"\n (click)=\"grid.openAdvancedFilteringDialog(overlaySettings)\"\n [ngClass]=\"grid.advancedFilteringExpressionsTree ? 'igx-grid-toolbar__adv-filter--filtered' : 'igx-grid-toolbar__adv-filter'\">\n <igx-icon>filter_list</igx-icon>\n <span #ref>\n <ng-content></ng-content>\n </span>\n <span *ngIf=\"!ref.childNodes.length\">{{ grid?.resourceStrings.igx_grid_toolbar_advanced_filtering_button_label }}</span>\n</button>\n", dependencies: [{ kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxLabel"], outputs: ["buttonSelected"] }, { kind: "directive", type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
75724
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: IgxGridToolbarAdvancedFilteringComponent, isStandalone: true, selector: "igx-grid-toolbar-advanced-filtering", inputs: { overlaySettings: "overlaySettings" }, ngImport: i0, template: "<button igxButton=\"outlined\" type=\"button\" name=\"btnAdvancedFiltering\" igxRipple\n [title]=\"grid?.resourceStrings.igx_grid_toolbar_advanced_filtering_button_tooltip\"\n (click)=\"grid.openAdvancedFilteringDialog(overlaySettings)\"\n class=\"igx-grid-toolbar__adv-filter\">\n <igx-icon>filter_list</igx-icon>\n <span #ref>\n <ng-content></ng-content>\n </span>\n <span *ngIf=\"!ref.childNodes.length\">{{ grid?.resourceStrings.igx_grid_toolbar_advanced_filtering_button_label }}</span>\n <span class=\"igx-adv-filter--column-number\" *ngIf=\"grid?.advancedFilteringExpressionsTree\"> ({{ numberOfColumns }}) </span>\n</button>\n", dependencies: [{ kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxLabel"], outputs: ["buttonSelected"] }, { kind: "directive", type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
75639
75725
  }
75640
75726
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: IgxGridToolbarAdvancedFilteringComponent, decorators: [{
75641
75727
  type: Component,
75642
- args: [{ selector: 'igx-grid-toolbar-advanced-filtering', standalone: true, imports: [IgxButtonDirective, IgxRippleDirective, NgClass, IgxIconComponent, NgIf], template: "<button igxButton=\"outlined\" type=\"button\" name=\"btnAdvancedFiltering\" igxRipple\n [title]=\"grid?.resourceStrings.igx_grid_toolbar_advanced_filtering_button_tooltip\"\n (click)=\"grid.openAdvancedFilteringDialog(overlaySettings)\"\n [ngClass]=\"grid.advancedFilteringExpressionsTree ? 'igx-grid-toolbar__adv-filter--filtered' : 'igx-grid-toolbar__adv-filter'\">\n <igx-icon>filter_list</igx-icon>\n <span #ref>\n <ng-content></ng-content>\n </span>\n <span *ngIf=\"!ref.childNodes.length\">{{ grid?.resourceStrings.igx_grid_toolbar_advanced_filtering_button_label }}</span>\n</button>\n" }]
75728
+ args: [{ selector: 'igx-grid-toolbar-advanced-filtering', standalone: true, imports: [IgxButtonDirective, IgxRippleDirective, NgClass, IgxIconComponent, NgIf], template: "<button igxButton=\"outlined\" type=\"button\" name=\"btnAdvancedFiltering\" igxRipple\n [title]=\"grid?.resourceStrings.igx_grid_toolbar_advanced_filtering_button_tooltip\"\n (click)=\"grid.openAdvancedFilteringDialog(overlaySettings)\"\n class=\"igx-grid-toolbar__adv-filter\">\n <igx-icon>filter_list</igx-icon>\n <span #ref>\n <ng-content></ng-content>\n </span>\n <span *ngIf=\"!ref.childNodes.length\">{{ grid?.resourceStrings.igx_grid_toolbar_advanced_filtering_button_label }}</span>\n <span class=\"igx-adv-filter--column-number\" *ngIf=\"grid?.advancedFilteringExpressionsTree\"> ({{ numberOfColumns }}) </span>\n</button>\n" }]
75643
75729
  }], ctorParameters: () => [{ type: IgxToolbarToken, decorators: [{
75644
75730
  type: Inject,
75645
75731
  args: [IgxToolbarToken]