igniteui-angular 16.1.6 → 16.1.7

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 (43) hide show
  1. package/esm2022/lib/grids/filtering/excel-style/common.mjs +6 -1
  2. package/esm2022/lib/grids/filtering/excel-style/excel-style-filtering.component.mjs +2 -2
  3. package/esm2022/lib/grids/filtering/excel-style/excel-style-search.component.mjs +148 -6
  4. package/esm2022/lib/grids/pivot-grid/pivot-data-selector.component.mjs +2 -2
  5. package/esm2022/lib/grids/pivot-grid/pivot-grid.component.mjs +2 -2
  6. package/esm2022/lib/grids/pivot-grid/pivot-header-row.component.mjs +2 -2
  7. package/esm2022/lib/list/list-item.component.mjs +9 -4
  8. package/esm2022/lib/list/list.component.mjs +10 -4
  9. package/fesm2022/igniteui-angular.mjs +215 -58
  10. package/fesm2022/igniteui-angular.mjs.map +1 -1
  11. package/lib/core/styles/components/list/_list-component.scss +5 -0
  12. package/lib/core/styles/components/list/_list-theme.scss +10 -0
  13. package/lib/grids/filtering/excel-style/common.d.ts +8 -0
  14. package/lib/grids/filtering/excel-style/excel-style-search.component.d.ts +25 -3
  15. package/lib/list/list-item.component.d.ts +5 -3
  16. package/lib/list/list.component.d.ts +4 -2
  17. package/package.json +1 -1
  18. package/styles/igniteui-angular-dark.css +1 -1
  19. package/styles/igniteui-angular.css +1 -1
  20. package/styles/igniteui-bootstrap-dark.css +1 -1
  21. package/styles/igniteui-bootstrap-light.css +1 -1
  22. package/styles/igniteui-dark-green.css +1 -1
  23. package/styles/igniteui-fluent-dark-excel.css +1 -1
  24. package/styles/igniteui-fluent-dark-word.css +1 -1
  25. package/styles/igniteui-fluent-dark.css +1 -1
  26. package/styles/igniteui-fluent-light-excel.css +1 -1
  27. package/styles/igniteui-fluent-light-word.css +1 -1
  28. package/styles/igniteui-fluent-light.css +1 -1
  29. package/styles/igniteui-indigo-dark.css +1 -1
  30. package/styles/igniteui-indigo-light.css +1 -1
  31. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  32. package/styles/maps/igniteui-angular.css.map +1 -1
  33. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  34. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  35. package/styles/maps/igniteui-dark-green.css.map +1 -1
  36. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  37. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  38. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  39. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  40. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  41. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  42. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  43. package/styles/maps/igniteui-indigo-light.css.map +1 -1
@@ -8682,7 +8682,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
8682
8682
  type: Input
8683
8683
  }] } });
8684
8684
 
8685
- let NEXT_ID$v = 0;
8685
+ let NEXT_ID$w = 0;
8686
8686
  /**
8687
8687
  * An abstract class, defining a drop-down component, with:
8688
8688
  * Properties for display styles and classes
@@ -8793,7 +8793,7 @@ class IgxDropDownBaseDirective extends DisplayDensityBase {
8793
8793
  */
8794
8794
  this.cssClass = true;
8795
8795
  this._focusedItem = null;
8796
- this._id = `igx-drop-down-${NEXT_ID$v++}`;
8796
+ this._id = `igx-drop-down-${NEXT_ID$w++}`;
8797
8797
  }
8798
8798
  /** Keydown Handler */
8799
8799
  onItemActionKey(key, event) {
@@ -9670,14 +9670,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
9670
9670
  args: ['change', ['$event']]
9671
9671
  }] } });
9672
9672
 
9673
- let NEXT_ID$u = 0;
9673
+ let NEXT_ID$v = 0;
9674
9674
  class IgxLabelDirective {
9675
9675
  constructor() {
9676
9676
  this.defaultClass = true;
9677
9677
  /**
9678
9678
  * @hidden
9679
9679
  */
9680
- this.id = `igx-label-${NEXT_ID$u++}`;
9680
+ this.id = `igx-label-${NEXT_ID$v++}`;
9681
9681
  }
9682
9682
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: IgxLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
9683
9683
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.8", type: IgxLabelDirective, isStandalone: true, selector: "[igxLabel]", inputs: { id: "id" }, host: { properties: { "class.igx-input-group__label": "this.defaultClass", "attr.id": "this.id" } }, ngImport: i0 }); }
@@ -11639,7 +11639,7 @@ const IgxDividerType = mkenum({
11639
11639
  SOLID: 'solid',
11640
11640
  DASHED: 'dashed'
11641
11641
  });
11642
- let NEXT_ID$t = 0;
11642
+ let NEXT_ID$u = 0;
11643
11643
  class IgxDividerDirective {
11644
11644
  constructor() {
11645
11645
  /**
@@ -11652,7 +11652,7 @@ class IgxDividerDirective {
11652
11652
  * let dividerId = this.divider.id;
11653
11653
  * ```
11654
11654
  */
11655
- this.id = `igx-divider-${NEXT_ID$t++}`;
11655
+ this.id = `igx-divider-${NEXT_ID$u++}`;
11656
11656
  /**
11657
11657
  * An @Input property that sets the value of `role` attribute.
11658
11658
  * If not the default value of `separator` will be used.
@@ -19380,7 +19380,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
19380
19380
  }]
19381
19381
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
19382
19382
 
19383
- let NEXT_ID$s = 0;
19383
+ let NEXT_ID$t = 0;
19384
19384
  /**
19385
19385
  * **Ignite UI for Angular Tooltip** -
19386
19386
  * [Documentation](https://www.infragistics.com/products/ignite-ui-angular/angular/components/tooltip)
@@ -19430,7 +19430,7 @@ class IgxTooltipDirective extends IgxToggleDirective {
19430
19430
  * let tooltipId = this.tooltip.id;
19431
19431
  * ```
19432
19432
  */
19433
- this.id = `igx-tooltip-${NEXT_ID$s++}`;
19433
+ this.id = `igx-tooltip-${NEXT_ID$t++}`;
19434
19434
  /**
19435
19435
  * @hidden
19436
19436
  * Returns whether close time out has started
@@ -22644,7 +22644,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
22644
22644
  args: [IgxAngularAnimationService]
22645
22645
  }] }]; } });
22646
22646
 
22647
- let NEXT_ID$r = 0;
22647
+ let NEXT_ID$s = 0;
22648
22648
  class IgxExpansionPanelComponent extends ToggleAnimationPlayer {
22649
22649
  /**
22650
22650
  * Sets/gets the animation settings of the expansion panel component
@@ -22717,7 +22717,7 @@ class IgxExpansionPanelComponent extends ToggleAnimationPlayer {
22717
22717
  *
22718
22718
  * @memberof IgxExpansionPanelComponent
22719
22719
  */
22720
- this.id = `igx-expansion-panel-${NEXT_ID$r++}`;
22720
+ this.id = `igx-expansion-panel-${NEXT_ID$s++}`;
22721
22721
  /**
22722
22722
  * @hidden
22723
22723
  */
@@ -22940,7 +22940,7 @@ const IGX_EXPANSION_PANEL_DIRECTIVES = [
22940
22940
  IgxExpansionPanelIconDirective
22941
22941
  ];
22942
22942
 
22943
- let NEXT_ID$q = 0;
22943
+ let NEXT_ID$r = 0;
22944
22944
  /**
22945
22945
  * IgxAccordion is a container-based component that contains that can house multiple expansion panels.
22946
22946
  *
@@ -23033,7 +23033,7 @@ class IgxAccordionComponent {
23033
23033
  * const accordionId = this.accordion.id;
23034
23034
  * ```
23035
23035
  */
23036
- this.id = `igx-accordion-${NEXT_ID$q++}`;
23036
+ this.id = `igx-accordion-${NEXT_ID$r++}`;
23037
23037
  /** @hidden @internal **/
23038
23038
  this.cssClass = 'igx-accordion';
23039
23039
  /** @hidden @internal **/
@@ -23571,7 +23571,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
23571
23571
  }]
23572
23572
  }] });
23573
23573
 
23574
- let NEXT_ID$p = 0;
23574
+ let NEXT_ID$q = 0;
23575
23575
  /**
23576
23576
  * The `<igx-drop-down-item>` is a container intended for row items in
23577
23577
  * a `<igx-drop-down>` container.
@@ -23610,7 +23610,7 @@ class IgxDropDownGroupComponent {
23610
23610
  * **NOTE:** All items inside of a disabled drop down group will be treated as disabled
23611
23611
  */
23612
23612
  this.disabled = false;
23613
- this._id = NEXT_ID$p++;
23613
+ this._id = NEXT_ID$q++;
23614
23614
  }
23615
23615
  /**
23616
23616
  * @hidden @internal
@@ -23658,7 +23658,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
23658
23658
  type: Input
23659
23659
  }] } });
23660
23660
 
23661
- let NEXT_ID$o = 0;
23661
+ let NEXT_ID$p = 0;
23662
23662
  /**
23663
23663
  * An abstract class defining a drop-down item:
23664
23664
  * With properties / styles for selection, highlight, height
@@ -23818,7 +23818,7 @@ class IgxDropDownItemBaseDirective {
23818
23818
  *
23819
23819
  * @memberof IgxSelectItemComponent
23820
23820
  */
23821
- this.id = `igx-drop-down-item-${NEXT_ID$o++}`;
23821
+ this.id = `igx-drop-down-item-${NEXT_ID$p++}`;
23822
23822
  /**
23823
23823
  * @hidden
23824
23824
  */
@@ -28633,7 +28633,7 @@ const IGX_GRID_ACTION_STRIP_DIRECTIVES = [
28633
28633
  IgxGridActionButtonComponent
28634
28634
  ];
28635
28635
 
28636
- let NEXT_ID$n = 0;
28636
+ let NEXT_ID$o = 0;
28637
28637
  const IgxAvatarSize = mkenum({
28638
28638
  SMALL: 'small',
28639
28639
  MEDIUM: 'medium',
@@ -28811,7 +28811,7 @@ class IgxAvatarComponent {
28811
28811
  * <igx-avatar id="my-first-avatar"></igx-avatar>
28812
28812
  * ```
28813
28813
  */
28814
- this.id = `igx-avatar-${NEXT_ID$n++}`;
28814
+ this.id = `igx-avatar-${NEXT_ID$o++}`;
28815
28815
  /**
28816
28816
  * Sets square, rounded or circular shape to the avatar.
28817
28817
  * By default the shape of the avatar is square.
@@ -28926,7 +28926,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
28926
28926
  args: ['style.--component-size']
28927
28927
  }] } });
28928
28928
 
28929
- let NEXT_ID$m = 0;
28929
+ let NEXT_ID$n = 0;
28930
28930
  /**
28931
28931
  * Determines the igxBadge type
28932
28932
  */
@@ -28972,7 +28972,7 @@ class IgxBadgeComponent {
28972
28972
  * <igx-badge id="igx-badge-2"></igx-badge>
28973
28973
  * ```
28974
28974
  */
28975
- this.id = `igx-badge-${NEXT_ID$m++}`;
28975
+ this.id = `igx-badge-${NEXT_ID$n++}`;
28976
28976
  /**
28977
28977
  * Sets/gets the type of the badge.
28978
28978
  *
@@ -29409,7 +29409,7 @@ const ButtonGroupAlignment = mkenum({
29409
29409
  horizontal: 'horizontal',
29410
29410
  vertical: 'vertical'
29411
29411
  });
29412
- let NEXT_ID$l = 0;
29412
+ let NEXT_ID$m = 0;
29413
29413
  /**
29414
29414
  * **Ignite UI for Angular Button Group** -
29415
29415
  * [Documentation](https://www.infragistics.com/products/ignite-ui-angular/angular/components/buttongroup.html)
@@ -29579,7 +29579,7 @@ class IgxButtonGroupComponent extends DisplayDensityBase {
29579
29579
  * <igx-buttongroup [id]="'igx-dialog-56'" [selectionMode]="'multi'" [values]="alignOptions">
29580
29580
  * ```
29581
29581
  */
29582
- this.id = `igx-buttongroup-${NEXT_ID$l++}`;
29582
+ this.id = `igx-buttongroup-${NEXT_ID$m++}`;
29583
29583
  /**
29584
29584
  * @hidden
29585
29585
  */
@@ -31222,7 +31222,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
31222
31222
  type: Input
31223
31223
  }] } });
31224
31224
 
31225
- let NEXT_ID$k = 0;
31225
+ let NEXT_ID$l = 0;
31226
31226
  class IgxMonthsViewComponent {
31227
31227
  /**
31228
31228
  * Gets/sets the selected date of the months view.
@@ -31324,7 +31324,7 @@ class IgxMonthsViewComponent {
31324
31324
  *
31325
31325
  * @memberof IgxMonthsViewComponent
31326
31326
  */
31327
- this.id = `igx-months-view-${NEXT_ID$k++}`;
31327
+ this.id = `igx-months-view-${NEXT_ID$l++}`;
31328
31328
  /**
31329
31329
  * Gets/sets whether the view should be rendered
31330
31330
  * according to the locale and monthFormat, if any.
@@ -32228,7 +32228,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
32228
32228
  type: Injectable
32229
32229
  }] });
32230
32230
 
32231
- let NEXT_ID$j = 0;
32231
+ let NEXT_ID$k = 0;
32232
32232
  class IgxDaysViewComponent extends IgxCalendarBaseDirective {
32233
32233
  /**
32234
32234
  * @hidden
@@ -32257,7 +32257,7 @@ class IgxDaysViewComponent extends IgxCalendarBaseDirective {
32257
32257
  * let daysViewId = this.daysView.id;
32258
32258
  * ```
32259
32259
  */
32260
- this.id = `igx-days-view-${NEXT_ID$j++}`;
32260
+ this.id = `igx-days-view-${NEXT_ID$k++}`;
32261
32261
  /**
32262
32262
  * @hidden
32263
32263
  */
@@ -32672,7 +32672,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
32672
32672
  }]
32673
32673
  }], ctorParameters: function () { return []; } });
32674
32674
 
32675
- let NEXT_ID$i = 0;
32675
+ let NEXT_ID$j = 0;
32676
32676
  /**
32677
32677
  * Calendar provides a way to display date information.
32678
32678
  *
@@ -32708,7 +32708,7 @@ class IgxCalendarComponent extends IgxMonthPickerBaseDirective {
32708
32708
  * ```
32709
32709
  * @memberof IgxCalendarComponent
32710
32710
  */
32711
- this.id = `igx-calendar-${NEXT_ID$i++}`;
32711
+ this.id = `igx-calendar-${NEXT_ID$j++}`;
32712
32712
  /**
32713
32713
  * Sets/gets whether the calendar has header.
32714
32714
  * Default value is `true`.
@@ -33599,7 +33599,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
33599
33599
  args: ['document:mouseup', ['$event']]
33600
33600
  }] } });
33601
33601
 
33602
- let NEXT_ID$h = 0;
33602
+ let NEXT_ID$i = 0;
33603
33603
  class IgxMonthPickerComponent extends IgxMonthPickerBaseDirective {
33604
33604
  constructor() {
33605
33605
  super(...arguments);
@@ -33607,7 +33607,7 @@ class IgxMonthPickerComponent extends IgxMonthPickerBaseDirective {
33607
33607
  * Sets/gets the `id` of the month picker.
33608
33608
  * If not set, the `id` will have value `"igx-month-picker-0"`.
33609
33609
  */
33610
- this.id = `igx-month-picker-${NEXT_ID$h++}`;
33610
+ this.id = `igx-month-picker-${NEXT_ID$i++}`;
33611
33611
  /**
33612
33612
  * The default css class applied to the component.
33613
33613
  *
@@ -33881,7 +33881,7 @@ const IGX_CALENDAR_DIRECTIVES = [
33881
33881
  IgxCalendarSubheaderTemplateDirective
33882
33882
  ];
33883
33883
 
33884
- let NEXT_ID$g = 0;
33884
+ let NEXT_ID$h = 0;
33885
33885
  /**
33886
33886
  * IgxCardMedia is container for the card media section.
33887
33887
  * Use it to wrap images and videos.
@@ -34140,7 +34140,7 @@ class IgxCardComponent {
34140
34140
  * let cardId = this.card.id;
34141
34141
  * ```
34142
34142
  */
34143
- this.id = `igx-card-${NEXT_ID$g++}`;
34143
+ this.id = `igx-card-${NEXT_ID$h++}`;
34144
34144
  /**
34145
34145
  * An @Input property that sets the value of the `role` attribute of the card.
34146
34146
  * By default the value is set to `group`.
@@ -34649,7 +34649,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
34649
34649
  type: Output
34650
34650
  }] } });
34651
34651
 
34652
- let NEXT_ID$f = 0;
34652
+ let NEXT_ID$g = 0;
34653
34653
  const CarouselIndicatorsOrientation = mkenum({
34654
34654
  bottom: 'bottom',
34655
34655
  top: 'top'
@@ -34845,7 +34845,7 @@ class IgxCarouselComponent extends IgxCarouselComponentBase {
34845
34845
  *
34846
34846
  * @memberof IgxCarouselComponent
34847
34847
  */
34848
- this.id = `igx-carousel-${NEXT_ID$f++}`;
34848
+ this.id = `igx-carousel-${NEXT_ID$g++}`;
34849
34849
  /**
34850
34850
  * Returns the `role` attribute of the carousel.
34851
34851
  * ```typescript
@@ -37118,7 +37118,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
37118
37118
  }] });
37119
37119
 
37120
37120
  const IGX_COMBO_COMPONENT = new InjectionToken('IgxComboComponentToken');
37121
- let NEXT_ID$e = 0;
37121
+ let NEXT_ID$f = 0;
37122
37122
  /**
37123
37123
  * @hidden
37124
37124
  * The default number of items that should be in the combo's
@@ -37517,7 +37517,7 @@ class IgxComboBaseDirective extends DisplayDensityBase {
37517
37517
  * <igx-combo [id]='combo1'></igx-combo>
37518
37518
  * ```
37519
37519
  */
37520
- this.id = `igx-combo-${NEXT_ID$e++}`;
37520
+ this.id = `igx-combo-${NEXT_ID$f++}`;
37521
37521
  /**
37522
37522
  * Controls whether custom values can be added to the collection
37523
37523
  *
@@ -39959,7 +39959,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
39959
39959
  args: [IgxInputGroupComponent]
39960
39960
  }] } });
39961
39961
 
39962
- let NEXT_ID$d = 0;
39962
+ let NEXT_ID$e = 0;
39963
39963
  /**
39964
39964
  * Date Picker displays a popup calendar that lets users select a single date.
39965
39965
  *
@@ -40119,7 +40119,7 @@ class IgxDatePickerComponent extends PickerBaseDirective {
40119
40119
  * <igx-date-picker [id]="'igx-date-picker-3'" cancelButtonLabel="cancel" todayButtonLabel="today"></igx-date-picker>
40120
40120
  * ```
40121
40121
  */
40122
- this.id = `igx-date-picker-${NEXT_ID$d++}`;
40122
+ this.id = `igx-date-picker-${NEXT_ID$e++}`;
40123
40123
  /** @hidden @internal */
40124
40124
  this.readOnly = false;
40125
40125
  /**
@@ -41374,7 +41374,7 @@ const IGX_DROP_DOWN_DIRECTIVES = [
41374
41374
  IgxDropDownItemNavigationDirective
41375
41375
  ];
41376
41376
 
41377
- let NEXT_ID$c = 0;
41377
+ let NEXT_ID$d = 0;
41378
41378
  /**
41379
41379
  * Providing reference to `IgxColumnActionsComponent`:
41380
41380
  * ```typescript
@@ -41469,7 +41469,7 @@ class IgxColumnActionsComponent {
41469
41469
  /**
41470
41470
  * @hidden @internal
41471
41471
  */
41472
- this._id = `igx-column-actions-${NEXT_ID$c++}`;
41472
+ this._id = `igx-column-actions-${NEXT_ID$d++}`;
41473
41473
  /**
41474
41474
  * @hidden @internal
41475
41475
  */
@@ -47031,7 +47031,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
47031
47031
  args: [IGX_TIME_PICKER_COMPONENT]
47032
47032
  }] }]; } });
47033
47033
 
47034
- let NEXT_ID$b = 0;
47034
+ let NEXT_ID$c = 0;
47035
47035
  class IgxTimePickerComponent extends PickerBaseDirective {
47036
47036
  /**
47037
47037
  * The minimum value the picker will accept.
@@ -47281,7 +47281,7 @@ class IgxTimePickerComponent extends PickerBaseDirective {
47281
47281
  * <igx-time-picker [id]="'igx-time-picker-5'" [displayFormat]="h:mm tt" ></igx-time-picker>
47282
47282
  * ```
47283
47283
  */
47284
- this.id = `igx-time-picker-${NEXT_ID$b++}`;
47284
+ this.id = `igx-time-picker-${NEXT_ID$c++}`;
47285
47285
  /**
47286
47286
  * The expected user input format and placeholder.
47287
47287
  *
@@ -49603,6 +49603,11 @@ class ExpressionUI {
49603
49603
  this.isVisible = true;
49604
49604
  }
49605
49605
  }
49606
+ /**
49607
+ * @hidden @internal
49608
+ */
49609
+ class ActiveElement {
49610
+ }
49606
49611
  function generateExpressionsList(expressions, operator, expressionsUIs) {
49607
49612
  generateExpressionsListRecursive(expressions, operator, expressionsUIs);
49608
49613
  // The beforeOperator of the first expression and the afterOperator of the last expression should be null
@@ -52751,7 +52756,7 @@ class IgxListItemComponent {
52751
52756
  this.lastPanDir = IgxListPanState.NONE;
52752
52757
  }
52753
52758
  /**
52754
- * Gets the `role` attribute of the `list item`.
52759
+ * Gets/Sets the `role` attribute of the `list item`.
52755
52760
  * ```typescript
52756
52761
  * let itemRole = this.listItem.role;
52757
52762
  * ```
@@ -52759,7 +52764,10 @@ class IgxListItemComponent {
52759
52764
  * @memberof IgxListItemComponent
52760
52765
  */
52761
52766
  get role() {
52762
- return this.isHeader ? 'separator' : 'listitem';
52767
+ return this._role ? this._role : this.isHeader ? 'separator' : 'listitem';
52768
+ }
52769
+ set role(val) {
52770
+ this._role = val;
52763
52771
  }
52764
52772
  /**
52765
52773
  * Indicates whether `list item` should have header style.
@@ -52950,7 +52958,7 @@ class IgxListItemComponent {
52950
52958
  this.hideLeftAndRightPanTemplates();
52951
52959
  }
52952
52960
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: IgxListItemComponent, deps: [{ token: IgxListBaseDirective }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
52953
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.8", type: IgxListItemComponent, isStandalone: true, selector: "igx-list-item", inputs: { isHeader: "isHeader", hidden: "hidden", index: "index" }, host: { listeners: { "click": "clicked($event)", "panstart": "panStart()", "pancancel": "panCancel()", "panmove": "panMove($event)", "panend": "panEnd()" }, properties: { "attr.aria-label": "this.ariaLabel", "style.touch-action": "this.touchAction", "attr.role": "this.role", "class.igx-list__header": "this.headerStyle", "class.igx-list__item-base": "this.innerStyle", "style.display": "this.display" } }, providers: [HammerGesturesManager], viewQueries: [{ propertyName: "leftPanningTemplateElement", first: true, predicate: ["leftPanningTmpl"], descendants: true }, { propertyName: "rightPanningTemplateElement", first: true, predicate: ["rightPanningTmpl"], descendants: true }], ngImport: i0, template: "\n<div *ngIf=\"!isHeader && list.listItemLeftPanningTemplate\" #leftPanningTmpl class=\"igx-list__item-right\"\n [style.width.rem]=\"offsetWidthInRem\" [style.height.rem]=\"offsetHeightInRem\">\n <ng-container *ngTemplateOutlet=\"list.listItemLeftPanningTemplate.template; context: context\">\n </ng-container>\n</div>\n\n<div *ngIf=\"!isHeader && list.listItemRightPanningTemplate\" #rightPanningTmpl class=\"igx-list__item-left\"\n [style.width.rem]=\"offsetWidthInRem\" [style.height.rem]=\"offsetHeightInRem\">\n <ng-container *ngTemplateOutlet=\"list.listItemRightPanningTemplate.template; context: context\">\n </ng-container>\n</div>\n\n<ng-template #itemsContent>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #itemThumbnails>\n <div class=\"igx-list__item-thumbnail\">\n <ng-content select=\"[igxListThumbnail], igx-list__item-thumbnail, igx-avatar\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #itemLines>\n <div class=\"igx-list__item-lines\">\n <ng-content select=\"[igxListLine], .igx-list__item-lines, [igxListLineTitle], [igxListLineSubTitle], .igx-list__item-line-title, .igx-list__item-line-subtitle\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #itemActions>\n <div class=\"igx-list__item-actions\">\n <ng-content select=\"[igxListAction], .igx-list__item-actions\"></ng-content>\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"isHeader\">\n <ng-container *ngTemplateOutlet=\"itemsContent\"></ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"!isHeader\">\n <div class=\"igx-list__item-content\">\n <ng-container *ngTemplateOutlet=\"itemThumbnails\"></ng-container>\n <ng-container *ngTemplateOutlet=\"itemLines\"></ng-container>\n <ng-container *ngTemplateOutlet=\"itemActions\"></ng-container>\n <ng-container *ngTemplateOutlet=\"itemsContent\"></ng-container>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
52961
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.8", type: IgxListItemComponent, isStandalone: true, selector: "igx-list-item", inputs: { isHeader: "isHeader", hidden: "hidden", index: "index", role: "role" }, host: { listeners: { "click": "clicked($event)", "panstart": "panStart()", "pancancel": "panCancel()", "panmove": "panMove($event)", "panend": "panEnd()" }, properties: { "attr.aria-label": "this.ariaLabel", "style.touch-action": "this.touchAction", "attr.role": "this.role", "class.igx-list__header": "this.headerStyle", "class.igx-list__item-base": "this.innerStyle", "style.display": "this.display" } }, providers: [HammerGesturesManager], viewQueries: [{ propertyName: "leftPanningTemplateElement", first: true, predicate: ["leftPanningTmpl"], descendants: true }, { propertyName: "rightPanningTemplateElement", first: true, predicate: ["rightPanningTmpl"], descendants: true }], ngImport: i0, template: "\n<div *ngIf=\"!isHeader && list.listItemLeftPanningTemplate\" #leftPanningTmpl class=\"igx-list__item-right\"\n [style.width.rem]=\"offsetWidthInRem\" [style.height.rem]=\"offsetHeightInRem\">\n <ng-container *ngTemplateOutlet=\"list.listItemLeftPanningTemplate.template; context: context\">\n </ng-container>\n</div>\n\n<div *ngIf=\"!isHeader && list.listItemRightPanningTemplate\" #rightPanningTmpl class=\"igx-list__item-left\"\n [style.width.rem]=\"offsetWidthInRem\" [style.height.rem]=\"offsetHeightInRem\">\n <ng-container *ngTemplateOutlet=\"list.listItemRightPanningTemplate.template; context: context\">\n </ng-container>\n</div>\n\n<ng-template #itemsContent>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #itemThumbnails>\n <div class=\"igx-list__item-thumbnail\">\n <ng-content select=\"[igxListThumbnail], igx-list__item-thumbnail, igx-avatar\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #itemLines>\n <div class=\"igx-list__item-lines\">\n <ng-content select=\"[igxListLine], .igx-list__item-lines, [igxListLineTitle], [igxListLineSubTitle], .igx-list__item-line-title, .igx-list__item-line-subtitle\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #itemActions>\n <div class=\"igx-list__item-actions\">\n <ng-content select=\"[igxListAction], .igx-list__item-actions\"></ng-content>\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"isHeader\">\n <ng-container *ngTemplateOutlet=\"itemsContent\"></ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"!isHeader\">\n <div class=\"igx-list__item-content\">\n <ng-container *ngTemplateOutlet=\"itemThumbnails\"></ng-container>\n <ng-container *ngTemplateOutlet=\"itemLines\"></ng-container>\n <ng-container *ngTemplateOutlet=\"itemActions\"></ng-container>\n <ng-container *ngTemplateOutlet=\"itemsContent\"></ng-container>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
52954
52962
  }
52955
52963
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: IgxListItemComponent, decorators: [{
52956
52964
  type: Component,
@@ -52976,6 +52984,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
52976
52984
  }], role: [{
52977
52985
  type: HostBinding,
52978
52986
  args: ['attr.role']
52987
+ }, {
52988
+ type: Input
52979
52989
  }], headerStyle: [{
52980
52990
  type: HostBinding,
52981
52991
  args: ['class.igx-list__header']
@@ -53002,7 +53012,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
53002
53012
  args: ['panend']
53003
53013
  }] } });
53004
53014
 
53005
- let NEXT_ID$a = 0;
53015
+ let NEXT_ID$b = 0;
53006
53016
  /**
53007
53017
  * igxListThumbnail is container for the List media
53008
53018
  * Use it to wrap anything you want to be used as a thumbnail.
@@ -53164,7 +53174,7 @@ class IgxListComponent extends IgxListBaseDirective {
53164
53174
  * let listId = this.list.id;
53165
53175
  * ```
53166
53176
  */
53167
- this.id = `igx-list-${NEXT_ID$a++}`;
53177
+ this.id = `igx-list-${NEXT_ID$b++}`;
53168
53178
  /**
53169
53179
  * Sets/gets whether the left panning of an item is allowed.
53170
53180
  *
@@ -53297,6 +53307,7 @@ class IgxListComponent extends IgxListBaseDirective {
53297
53307
  */
53298
53308
  this.itemClicked = new EventEmitter();
53299
53309
  this._resourceStrings = CurrentResourceStrings.ListResStrings;
53310
+ this._role = 'list';
53300
53311
  }
53301
53312
  /**
53302
53313
  * @hidden
@@ -53310,7 +53321,7 @@ class IgxListComponent extends IgxListBaseDirective {
53310
53321
  return null;
53311
53322
  }
53312
53323
  /**
53313
- * Gets the `role` attribute value.
53324
+ * Gets/Sets the `role` attribute value.
53314
53325
  *
53315
53326
  * @example
53316
53327
  * ```typescript
@@ -53318,7 +53329,10 @@ class IgxListComponent extends IgxListBaseDirective {
53318
53329
  * ```
53319
53330
  */
53320
53331
  get role() {
53321
- return 'list';
53332
+ return this._role;
53333
+ }
53334
+ set role(val) {
53335
+ this._role = val;
53322
53336
  }
53323
53337
  /**
53324
53338
  * Gets a boolean indicating if the list is empty.
@@ -53416,7 +53430,7 @@ class IgxListComponent extends IgxListBaseDirective {
53416
53430
  }
53417
53431
  }
53418
53432
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: IgxListComponent, deps: [{ token: i0.ElementRef }, { token: DisplayDensityToken, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
53419
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.8", type: IgxListComponent, isStandalone: true, selector: "igx-list", inputs: { panEndTriggeringThreshold: "panEndTriggeringThreshold", id: "id", allowLeftPanning: "allowLeftPanning", allowRightPanning: "allowRightPanning", isLoading: "isLoading", resourceStrings: "resourceStrings" }, outputs: { leftPan: "leftPan", rightPan: "rightPan", startPan: "startPan", endPan: "endPan", resetPan: "resetPan", panStateChange: "panStateChange", itemClicked: "itemClicked" }, host: { properties: { "attr.id": "this.id", "attr.role": "this.role", "class.igx-list--empty": "this.isListEmpty", "class.igx-list": "this.cssClass", "style.--component-size": "this.componentSize" } }, providers: [{ provide: IgxListBaseDirective, useExisting: IgxListComponent }], queries: [{ propertyName: "emptyListTemplate", first: true, predicate: IgxEmptyListTemplateDirective, descendants: true, read: IgxEmptyListTemplateDirective }, { propertyName: "dataLoadingTemplate", first: true, predicate: IgxDataLoadingTemplateDirective, descendants: true, read: IgxDataLoadingTemplateDirective }, { propertyName: "listItemLeftPanningTemplate", first: true, predicate: IgxListItemLeftPanningTemplateDirective, descendants: true, read: IgxListItemLeftPanningTemplateDirective }, { propertyName: "listItemRightPanningTemplate", first: true, predicate: IgxListItemRightPanningTemplateDirective, descendants: true, read: IgxListItemRightPanningTemplateDirective }, { propertyName: "children", predicate: i0.forwardRef(function () { return IgxListItemComponent; }), descendants: true }], viewQueries: [{ propertyName: "defaultEmptyListTemplate", first: true, predicate: ["defaultEmptyList"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultDataLoadingTemplate", first: true, predicate: ["defaultDataLoading"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n\n<ng-template #defaultEmptyList>\n <article class=\"igx-list__message\">\n {{resourceStrings.igx_list_no_items}}\n </article>\n</ng-template>\n\n<ng-template #defaultDataLoading>\n <article class=\"igx-list__message\">\n {{resourceStrings.igx_list_loading}}\n </article>\n</ng-template>\n\n<ng-container *ngIf=\"!children || children.length === 0 || isLoading\">\n <ng-container *ngTemplateOutlet=\"template; context: context\">\n </ng-container>\n</ng-container>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
53433
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.8", type: IgxListComponent, isStandalone: true, selector: "igx-list", inputs: { panEndTriggeringThreshold: "panEndTriggeringThreshold", id: "id", allowLeftPanning: "allowLeftPanning", allowRightPanning: "allowRightPanning", isLoading: "isLoading", resourceStrings: "resourceStrings", role: "role" }, outputs: { leftPan: "leftPan", rightPan: "rightPan", startPan: "startPan", endPan: "endPan", resetPan: "resetPan", panStateChange: "panStateChange", itemClicked: "itemClicked" }, host: { properties: { "attr.id": "this.id", "attr.role": "this.role", "class.igx-list--empty": "this.isListEmpty", "class.igx-list": "this.cssClass", "style.--component-size": "this.componentSize" } }, providers: [{ provide: IgxListBaseDirective, useExisting: IgxListComponent }], queries: [{ propertyName: "emptyListTemplate", first: true, predicate: IgxEmptyListTemplateDirective, descendants: true, read: IgxEmptyListTemplateDirective }, { propertyName: "dataLoadingTemplate", first: true, predicate: IgxDataLoadingTemplateDirective, descendants: true, read: IgxDataLoadingTemplateDirective }, { propertyName: "listItemLeftPanningTemplate", first: true, predicate: IgxListItemLeftPanningTemplateDirective, descendants: true, read: IgxListItemLeftPanningTemplateDirective }, { propertyName: "listItemRightPanningTemplate", first: true, predicate: IgxListItemRightPanningTemplateDirective, descendants: true, read: IgxListItemRightPanningTemplateDirective }, { propertyName: "children", predicate: i0.forwardRef(function () { return IgxListItemComponent; }), descendants: true }], viewQueries: [{ propertyName: "defaultEmptyListTemplate", first: true, predicate: ["defaultEmptyList"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultDataLoadingTemplate", first: true, predicate: ["defaultDataLoading"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n\n<ng-template #defaultEmptyList>\n <article class=\"igx-list__message\">\n {{resourceStrings.igx_list_no_items}}\n </article>\n</ng-template>\n\n<ng-template #defaultDataLoading>\n <article class=\"igx-list__message\">\n {{resourceStrings.igx_list_loading}}\n </article>\n</ng-template>\n\n<ng-container *ngIf=\"!children || children.length === 0 || isLoading\">\n <ng-container *ngTemplateOutlet=\"template; context: context\">\n </ng-container>\n</ng-container>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
53420
53434
  }
53421
53435
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: IgxListComponent, decorators: [{
53422
53436
  type: Component,
@@ -53479,6 +53493,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
53479
53493
  }], role: [{
53480
53494
  type: HostBinding,
53481
53495
  args: ['attr.role']
53496
+ }, {
53497
+ type: Input
53482
53498
  }], isListEmpty: [{
53483
53499
  type: HostBinding,
53484
53500
  args: ['class.igx-list--empty']
@@ -53507,6 +53523,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
53507
53523
  standalone: true
53508
53524
  }]
53509
53525
  }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
53526
+ let NEXT_ID$a = 0;
53510
53527
  /**
53511
53528
  * A component used for presenting Excel style search UI.
53512
53529
  */
@@ -53586,6 +53603,9 @@ class IgxExcelStyleSearchComponent {
53586
53603
  * @hidden @internal
53587
53604
  */
53588
53605
  this.displayedListData = [];
53606
+ this.activeDescendant = '';
53607
+ this._id = `igx-excel-style-search-${NEXT_ID$a++}`;
53608
+ this._focusedItem = null;
53589
53609
  this.destroy$ = new Subject();
53590
53610
  /**
53591
53611
  * @hidden @internal
@@ -53678,7 +53698,6 @@ class IgxExcelStyleSearchComponent {
53678
53698
  selectAllBtn.indeterminate = true;
53679
53699
  }
53680
53700
  }
53681
- eventArgs.checkbox.nativeCheckbox.nativeElement.blur();
53682
53701
  }
53683
53702
  /**
53684
53703
  * @hidden @internal
@@ -53742,6 +53761,24 @@ class IgxExcelStyleSearchComponent {
53742
53761
  // an igxForContainerSize = undefined, thus assigns the chunkSize to the igxForOf.length which leads to performance issues.
53743
53762
  return 0;
53744
53763
  }
53764
+ get id() {
53765
+ return this._id;
53766
+ }
53767
+ set id(value) {
53768
+ this._id = value;
53769
+ }
53770
+ getItemId(index) {
53771
+ return `${this.id}-item-${index}`;
53772
+ }
53773
+ setActiveDescendant() {
53774
+ this.activeDescendant = this.focusedItem?.id || '';
53775
+ }
53776
+ get focusedItem() {
53777
+ return this._focusedItem;
53778
+ }
53779
+ set focusedItem(val) {
53780
+ this._focusedItem = val;
53781
+ }
53745
53782
  /**
53746
53783
  * @hidden @internal
53747
53784
  */
@@ -53936,6 +53973,54 @@ class IgxExcelStyleSearchComponent {
53936
53973
  }
53937
53974
  this.esf.closeDropdown();
53938
53975
  }
53976
+ handleKeyDown(event) {
53977
+ if (event) {
53978
+ const key = event.key.toLowerCase();
53979
+ const navKeys = ['space', 'spacebar', ' ',
53980
+ 'arrowup', 'up', 'arrowdown', 'down', 'home', 'end'];
53981
+ if (navKeys.indexOf(key) === -1) { // If key has appropriate function in DD
53982
+ return;
53983
+ }
53984
+ event.preventDefault();
53985
+ event.stopPropagation();
53986
+ switch (key) {
53987
+ case 'arrowup':
53988
+ case 'up':
53989
+ this.onArrowUpKeyDown();
53990
+ break;
53991
+ case 'arrowdown':
53992
+ case 'down':
53993
+ this.onArrowDownKeyDown();
53994
+ break;
53995
+ case 'home':
53996
+ this.onHomeKeyDown();
53997
+ break;
53998
+ case 'end':
53999
+ this.onEndKeyDown();
54000
+ break;
54001
+ case 'space':
54002
+ case 'spacebar':
54003
+ case ' ':
54004
+ this.onActionKeyDown();
54005
+ break;
54006
+ default:
54007
+ return;
54008
+ }
54009
+ }
54010
+ }
54011
+ onFocus() {
54012
+ const firstIndexInView = this.virtDir.state.startIndex;
54013
+ this.focusedItem = {
54014
+ id: this.getItemId(firstIndexInView),
54015
+ index: firstIndexInView,
54016
+ checked: this.virtDir.igxForOf[firstIndexInView].isSelected
54017
+ };
54018
+ this.setActiveDescendant();
54019
+ }
54020
+ onFocusOut() {
54021
+ this.focusedItem = null;
54022
+ this.setActiveDescendant();
54023
+ }
53939
54024
  /**
53940
54025
  * @hidden @internal
53941
54026
  */
@@ -54027,18 +54112,82 @@ class IgxExcelStyleSearchComponent {
54027
54112
  this.searchValue = this.searchInput.value;
54028
54113
  }
54029
54114
  }
54115
+ onArrowUpKeyDown() {
54116
+ if (this.focusedItem && this.focusedItem.index === 0 && this.virtDir.state.startIndex === 0) {
54117
+ this.searchInput.focus();
54118
+ this.onFocusOut();
54119
+ }
54120
+ else {
54121
+ this.navigateItem(this.focusedItem ? this.focusedItem.index - 1 : 0);
54122
+ }
54123
+ this.setActiveDescendant();
54124
+ }
54125
+ onArrowDownKeyDown() {
54126
+ const lastIndex = this.virtDir.igxForOf.length - 1;
54127
+ if (this.focusedItem && this.focusedItem.index === lastIndex) {
54128
+ this.cancelButton.nativeElement.focus();
54129
+ this.onFocusOut();
54130
+ }
54131
+ else {
54132
+ this.navigateItem(this.focusedItem ? this.focusedItem.index + 1 : 0);
54133
+ }
54134
+ this.setActiveDescendant();
54135
+ }
54136
+ onHomeKeyDown() {
54137
+ this.navigateItem(0);
54138
+ this.setActiveDescendant();
54139
+ }
54140
+ onEndKeyDown() {
54141
+ this.navigateItem(this.virtDir.igxForOf.length - 1);
54142
+ this.setActiveDescendant();
54143
+ }
54144
+ onActionKeyDown() {
54145
+ const dataItem = this.displayedListData[this.focusedItem.index];
54146
+ const args = {
54147
+ checked: !dataItem.isSelected,
54148
+ checkbox: this.checkboxes.find(x => x.value === dataItem)
54149
+ };
54150
+ this.onCheckboxChange(args);
54151
+ }
54152
+ navigateItem(index) {
54153
+ if (index === -1 || index >= this.virtDir.igxForOf.length) {
54154
+ return;
54155
+ }
54156
+ const direction = index > (this.focusedItem ? this.focusedItem.index : -1) ? Navigate.Down : Navigate.Up;
54157
+ const scrollRequired = this.isIndexOutOfBounds(index, direction);
54158
+ this.focusedItem = {
54159
+ id: this.getItemId(index),
54160
+ index: index,
54161
+ checked: this.virtDir.igxForOf[index].isSelected
54162
+ };
54163
+ if (scrollRequired) {
54164
+ this.virtDir.scrollTo(index);
54165
+ }
54166
+ }
54167
+ isIndexOutOfBounds(index, direction) {
54168
+ const virtState = this.virtDir.state;
54169
+ const currentPosition = this.virtDir.getScroll().scrollTop;
54170
+ const itemPosition = this.virtDir.getScrollForIndex(index, direction === Navigate.Down);
54171
+ const indexOutOfChunk = index < virtState.startIndex || index > virtState.chunkSize + virtState.startIndex;
54172
+ const scrollNeeded = direction === Navigate.Down ? currentPosition < itemPosition : currentPosition > itemPosition;
54173
+ const subRequired = indexOutOfChunk || scrollNeeded;
54174
+ return subRequired;
54175
+ }
54030
54176
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: IgxExcelStyleSearchComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: BaseFilteringComponent }, { token: PlatformUtil }], target: i0.ɵɵFactoryTarget.Component }); }
54031
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.8", type: IgxExcelStyleSearchComponent, isStandalone: true, selector: "igx-excel-style-search", host: { properties: { "class.igx-excel-filter__menu-main": "this.defaultClass" } }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["input"], descendants: true, read: IgxInputDirective, static: true }, { propertyName: "list", first: true, predicate: ["list"], descendants: true, read: IgxListComponent }, { propertyName: "selectAllCheckbox", first: true, predicate: ["selectAllCheckbox"], descendants: true, read: IgxCheckboxComponent }, { propertyName: "addToCurrentFilterCheckbox", first: true, predicate: ["addToCurrentFilterCheckbox"], descendants: true, read: IgxCheckboxComponent }, { propertyName: "tree", first: true, predicate: ["tree"], descendants: true, read: IgxTreeComponent }, { propertyName: "virtDir", first: true, predicate: IgxForOfDirective, descendants: true, static: true }, { propertyName: "defaultExcelStyleLoadingValuesTemplate", first: true, predicate: ["defaultExcelStyleLoadingValuesTemplate"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<igx-input-group\n type=\"box\"\n [displayDensity]=\"esf.displayDensity\">\n <igx-icon igxPrefix>search</igx-icon>\n <input\n #input\n igxInput\n tabindex=\"0\"\n [(ngModel)]=\"searchValue\"\n (ngModelChange)=\"filterListData()\"\n (keydown)=\"onInputKeyDown($event)\"\n [placeholder]=\"esf.column?.grid.resourceStrings.igx_grid_excel_search_placeholder\"\n autocomplete=\"off\"/>\n <igx-icon\n igxSuffix\n *ngIf=\"searchValue || searchValue === 0\"\n (click)=\"clearInput()\"\n tabindex=\"0\">\n clear\n </igx-icon>\n</igx-input-group>\n\n<igx-list #list [displayDensity]=\"esf.displayDensity\" [isLoading]=\"isLoading\" *ngIf=\"!isHierarchical()\">\n <div style=\"overflow: hidden; position: relative;\">\n <igx-list-item\n *igxFor=\"let item of displayedListData scrollOrientation : 'vertical'; containerSize: containerSize; itemSize: itemSize\">\n <igx-checkbox\n [value]=\"item\"\n [tabindex]=\"-1\"\n [checked]=\"item?.isSelected\"\n [disableRipple]=\"true\"\n [indeterminate]=\"item?.indeterminate\"\n [disableTransitions]=\"true\"\n (change)=\"onCheckboxChange($event)\">\n {{ item.label }}\n </igx-checkbox>\n </igx-list-item>\n </div>\n\n <ng-template igxDataLoading>\n <div class=\"igx-excel-filter__loading\">\n <ng-container *ngTemplateOutlet=\"valuesLoadingTemplate\">\n </ng-container>\n </div>\n </ng-template>\n\n <ng-template igxEmptyList>\n <ng-container *ngTemplateOutlet=\"emptySearch\"></ng-container>\n </ng-template>\n\n <div class=\"igx-excel-filter__filter-results\" aria-live=\"polite\" aria-atomic=\"true\">\n {{ esf.grid?.resourceStrings.igx_grid_excel_matches_count.replace('{0}', matchesCount) }}\n </div>\n</igx-list>\n\n<div class=\"igx-excel-filter__tree\" *ngIf=\"isHierarchical()\">\n <div class=\"igx-excel-filter__tree-alike\" *ngIf=\"!isTreeEmpty()\">\n <div class=\"igx-excel-filter__tree-alike-item\">\n <igx-checkbox #selectAllCheckbox\n [value]=\"selectAllItem\"\n [checked]=\"selectAllItem?.isSelected\"\n [disableRipple]=\"true\"\n [indeterminate]=\"selectAllItem?.indeterminate\"\n [disableTransitions]=\"true\"\n (change)=\"onSelectAllCheckboxChange($event)\">\n {{ selectAllItem.label }}\n </igx-checkbox>\n </div>\n <div class=\"igx-excel-filter__tree-alike-item\" *ngIf=\"searchValue\">\n <igx-checkbox #addToCurrentFilterCheckbox\n [value]=\"addToCurrentFilterItem\"\n [checked]=\"addToCurrentFilterItem.isSelected\"\n [disableRipple]=\"true\"\n [disableTransitions]=\"true\">\n\n {{ addToCurrentFilterItem.label }}\n </igx-checkbox>\n </div>\n </div>\n\n <igx-tree #tree [displayDensity]=\"esf.displayDensity\" selection=\"Cascading\" (nodeSelection)=\"onNodeSelectionChange($event)\">\n <igx-tree-node [data]=\"item\" *ngFor=\"let item of displayedListData;\" [selected]=\"item.isSelected\">\n <div>{{item.label}}</div>\n <igx-tree-node [data]=\"childLevel1\" *ngFor=\"let childLevel1 of item.children\" [selected]=\"childLevel1.isSelected\">\n <div>{{childLevel1.label}}</div>\n <igx-tree-node [data]=\"childLevel2\" *ngFor=\"let childLevel2 of childLevel1.children\" [selected]=\"childLevel2.isSelected\">\n <div>{{childLevel2.label}}</div>\n <igx-tree-node [data]=\"childLevel3\" *ngFor=\"let childLevel3 of childLevel2.children\" [selected]=\"childLevel3.isSelected\">\n <div>{{childLevel3.label}}</div>\n <igx-tree-node [data]=\"childLevel4\" *ngFor=\"let childLevel4 of childLevel3.children\" [selected]=\"childLevel4.isSelected\">\n <div>{{childLevel4.label}}</div>\n <igx-tree-node [data]=\"childLevel5\" *ngFor=\"let childLevel5 of childLevel4.children\" [selected]=\"childLevel5.isSelected\">\n <div>{{childLevel5.label}}</div>\n <igx-tree-node [data]=\"childLevel6\" *ngFor=\"let childLevel6 of childLevel5.children\" [selected]=\"childLevel6.isSelected\">\n <div>{{childLevel6.label}}</div>\n <igx-tree-node [data]=\"childLevel7\" *ngFor=\"let childLevel7 of childLevel6.children\" [selected]=\"childLevel7.isSelected\">\n <div>{{childLevel7.label}}</div>\n <igx-tree-node [data]=\"childLevel8\" *ngFor=\"let childLevel8 of childLevel7.children\" [selected]=\"childLevel8.isSelected\">\n <div>{{childLevel8.label}}</div>\n <igx-tree-node [data]=\"childLevel9\" *ngFor=\"let childLevel9 of childLevel8.children\" [selected]=\"childLevel9.isSelected\">\n <div>{{childLevel9.label}}</div>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree>\n\n <ng-template igxDataLoading>\n <div class=\"igx-excel-filter__loading\">\n <ng-container *ngTemplateOutlet=\"valuesLoadingTemplate\">\n </ng-container>\n </div>\n </ng-template>\n\n <ng-template [ngIf]=\"isTreeEmpty()\">\n <ng-container *ngTemplateOutlet=\"emptySearch\"></ng-container>\n </ng-template>\n</div>\n\n<ng-template #emptySearch>\n <div class=\"igx-excel-filter__empty\">\n {{esf.grid?.resourceStrings.igx_grid_excel_no_matches}}\n </div>\n</ng-template>\n\n<ng-template #defaultExcelStyleLoadingValuesTemplate>\n <igx-circular-bar [indeterminate]=\"true\">\n </igx-circular-bar>\n</ng-template>\n\n<footer class=\"igx-excel-filter__menu-footer\">\n <div class=\"igx-excel-filter__cancel\">\n <button type=\"button\"\n igxButton=\"flat\"\n [displayDensity]=\"esf.displayDensity\"\n (click)=\"esf.cancel()\">\n {{ esf.grid?.resourceStrings.igx_grid_excel_cancel }}\n </button>\n </div>\n <div class=\"igx-excel-filter__apply\">\n <button type=\"button\"\n igxButton=\"raised\"\n [displayDensity]=\"esf.displayDensity\"\n [disabled]=\"applyButtonDisabled\"\n (click)=\"applyFilter()\">\n {{ esf.grid?.resourceStrings.igx_grid_excel_apply }}\n </button>\n </div>\n</footer>\n", dependencies: [{ kind: "component", type: IgxInputGroupComponent, selector: "igx-input-group", inputs: ["resourceStrings", "suppressInputAutofocus", "type", "theme"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "directive", type: IgxPrefixDirective, selector: "igx-prefix,[igxPrefix],[igxStart]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: IgxInputDirective, selector: "[igxInput]", inputs: ["value", "disabled", "required"], exportAs: ["igxInput"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: IgxSuffixDirective, selector: "igx-suffix,[igxSuffix],[igxEnd]" }, { kind: "component", type: IgxListComponent, selector: "igx-list", inputs: ["panEndTriggeringThreshold", "id", "allowLeftPanning", "allowRightPanning", "isLoading", "resourceStrings"], outputs: ["leftPan", "rightPan", "startPan", "endPan", "resetPan", "panStateChange", "itemClicked"] }, { kind: "directive", type: IgxForOfDirective, selector: "[igxFor][igxForOf]", inputs: ["igxForOf", "igxForSizePropName", "igxForScrollOrientation", "igxForScrollContainer", "igxForContainerSize", "igxForItemSize", "igxForTotalItemCount", "igxForTrackBy"], outputs: ["chunkLoad", "scrollbarVisibilityChanged", "contentSizeChange", "dataChanged", "beforeViewDestroyed", "chunkPreload"] }, { kind: "component", type: IgxListItemComponent, selector: "igx-list-item", inputs: ["isHeader", "hidden", "index"] }, { kind: "component", type: IgxCheckboxComponent, selector: "igx-checkbox", inputs: ["id", "labelId", "value", "name", "tabindex", "labelPosition", "disableRipple", "required", "aria-labelledby", "aria-label", "indeterminate", "checked", "disabled", "invalid", "readonly", "disableTransitions"], outputs: ["change"] }, { kind: "directive", type: IgxDataLoadingTemplateDirective, selector: "[igxDataLoading]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: IgxEmptyListTemplateDirective, selector: "[igxEmptyList]" }, { kind: "component", type: IgxTreeComponent, selector: "igx-tree", inputs: ["selection", "singleBranchExpand", "animationSettings"], outputs: ["nodeSelection", "nodeExpanding", "nodeExpanded", "nodeCollapsing", "nodeCollapsed", "activeNodeChanged"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: IgxTreeNodeComponent, selector: "igx-tree-node", inputs: ["data", "loading", "resourceStrings", "active", "disabled", "selected", "expanded"], outputs: ["selectedChange", "expandedChange"] }, { kind: "component", type: IgxCircularProgressBarComponent, selector: "igx-circular-bar", inputs: ["id", "isIndeterminate", "textVisibility", "text"] }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }] }); }
54177
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.8", type: IgxExcelStyleSearchComponent, isStandalone: true, selector: "igx-excel-style-search", inputs: { id: "id" }, host: { properties: { "class.igx-excel-filter__menu-main": "this.defaultClass", "attr.id": "this.id" } }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["input"], descendants: true, read: IgxInputDirective, static: true }, { propertyName: "cancelButton", first: true, predicate: ["cancelButton"], descendants: true, read: IgxButtonDirective, static: true }, { propertyName: "list", first: true, predicate: ["list"], descendants: true, read: IgxListComponent }, { propertyName: "selectAllCheckbox", first: true, predicate: ["selectAllCheckbox"], descendants: true, read: IgxCheckboxComponent }, { propertyName: "addToCurrentFilterCheckbox", first: true, predicate: ["addToCurrentFilterCheckbox"], descendants: true, read: IgxCheckboxComponent }, { propertyName: "tree", first: true, predicate: ["tree"], descendants: true, read: IgxTreeComponent }, { propertyName: "virtDir", first: true, predicate: IgxForOfDirective, descendants: true }, { propertyName: "defaultExcelStyleLoadingValuesTemplate", first: true, predicate: ["defaultExcelStyleLoadingValuesTemplate"], descendants: true, read: TemplateRef }, { propertyName: "checkboxes", predicate: IgxCheckboxComponent, descendants: true }], ngImport: i0, template: "<igx-input-group\n type=\"box\"\n [displayDensity]=\"esf.displayDensity\">\n <igx-icon igxPrefix>search</igx-icon>\n <input\n #input\n igxInput\n tabindex=\"0\"\n [(ngModel)]=\"searchValue\"\n (ngModelChange)=\"filterListData()\"\n (keydown)=\"onInputKeyDown($event)\"\n [placeholder]=\"esf.column?.grid.resourceStrings.igx_grid_excel_search_placeholder\"\n autocomplete=\"off\"/>\n <igx-icon\n igxSuffix\n *ngIf=\"searchValue || searchValue === 0\"\n (click)=\"clearInput()\"\n tabindex=\"0\">\n clear\n </igx-icon>\n</igx-input-group>\n\n<igx-list #list role=\"listbox\" [displayDensity]=\"esf.displayDensity\" [isLoading]=\"isLoading\" *ngIf=\"!isHierarchical()\" (keydown)=\"handleKeyDown($event)\" tabindex=\"0\"\n[attr.aria-activedescendant]=\"this.activeDescendant\" (focus)=\"onFocus()\" (focusout)=\"onFocusOut()\">\n <div style=\"overflow: hidden; position: relative;\">\n <igx-list-item [class.igx-list__item-base--active]=\"focusedItem?.id === this.getItemId(i)\" [attr.id]=\"getItemId(i)\" role=\"option\" \n *igxFor=\"let item of displayedListData;index as i; scrollOrientation : 'vertical'; containerSize: containerSize; itemSize: itemSize\">\n <igx-checkbox\n [value]=\"item\"\n [tabindex]=\"-1\"\n [checked]=\"item?.isSelected\"\n [disableRipple]=\"true\"\n [indeterminate]=\"item?.indeterminate\"\n [disableTransitions]=\"true\"\n (change)=\"onCheckboxChange($event)\">\n {{ item.label }}\n </igx-checkbox>\n </igx-list-item>\n </div>\n\n <ng-template igxDataLoading>\n <div class=\"igx-excel-filter__loading\">\n <ng-container *ngTemplateOutlet=\"valuesLoadingTemplate\">\n </ng-container>\n </div>\n </ng-template>\n\n <ng-template igxEmptyList>\n <ng-container *ngTemplateOutlet=\"emptySearch\"></ng-container>\n </ng-template>\n\n <div class=\"igx-excel-filter__filter-results\" aria-live=\"polite\" aria-atomic=\"true\">\n {{ esf.grid?.resourceStrings.igx_grid_excel_matches_count.replace('{0}', matchesCount) }}\n </div>\n</igx-list>\n\n<div class=\"igx-excel-filter__tree\" *ngIf=\"isHierarchical()\">\n <div class=\"igx-excel-filter__tree-alike\" *ngIf=\"!isTreeEmpty()\">\n <div class=\"igx-excel-filter__tree-alike-item\">\n <igx-checkbox #selectAllCheckbox\n [value]=\"selectAllItem\"\n [checked]=\"selectAllItem?.isSelected\"\n [disableRipple]=\"true\"\n [indeterminate]=\"selectAllItem?.indeterminate\"\n [disableTransitions]=\"true\"\n (change)=\"onSelectAllCheckboxChange($event)\">\n {{ selectAllItem.label }}\n </igx-checkbox>\n </div>\n <div class=\"igx-excel-filter__tree-alike-item\" *ngIf=\"searchValue\">\n <igx-checkbox #addToCurrentFilterCheckbox\n [value]=\"addToCurrentFilterItem\"\n [checked]=\"addToCurrentFilterItem.isSelected\"\n [disableRipple]=\"true\"\n [disableTransitions]=\"true\">\n\n {{ addToCurrentFilterItem.label }}\n </igx-checkbox>\n </div>\n </div>\n\n <igx-tree #tree [displayDensity]=\"esf.displayDensity\" selection=\"Cascading\" (nodeSelection)=\"onNodeSelectionChange($event)\">\n <igx-tree-node [data]=\"item\" *ngFor=\"let item of displayedListData;\" [selected]=\"item.isSelected\">\n <div>{{item.label}}</div>\n <igx-tree-node [data]=\"childLevel1\" *ngFor=\"let childLevel1 of item.children\" [selected]=\"childLevel1.isSelected\">\n <div>{{childLevel1.label}}</div>\n <igx-tree-node [data]=\"childLevel2\" *ngFor=\"let childLevel2 of childLevel1.children\" [selected]=\"childLevel2.isSelected\">\n <div>{{childLevel2.label}}</div>\n <igx-tree-node [data]=\"childLevel3\" *ngFor=\"let childLevel3 of childLevel2.children\" [selected]=\"childLevel3.isSelected\">\n <div>{{childLevel3.label}}</div>\n <igx-tree-node [data]=\"childLevel4\" *ngFor=\"let childLevel4 of childLevel3.children\" [selected]=\"childLevel4.isSelected\">\n <div>{{childLevel4.label}}</div>\n <igx-tree-node [data]=\"childLevel5\" *ngFor=\"let childLevel5 of childLevel4.children\" [selected]=\"childLevel5.isSelected\">\n <div>{{childLevel5.label}}</div>\n <igx-tree-node [data]=\"childLevel6\" *ngFor=\"let childLevel6 of childLevel5.children\" [selected]=\"childLevel6.isSelected\">\n <div>{{childLevel6.label}}</div>\n <igx-tree-node [data]=\"childLevel7\" *ngFor=\"let childLevel7 of childLevel6.children\" [selected]=\"childLevel7.isSelected\">\n <div>{{childLevel7.label}}</div>\n <igx-tree-node [data]=\"childLevel8\" *ngFor=\"let childLevel8 of childLevel7.children\" [selected]=\"childLevel8.isSelected\">\n <div>{{childLevel8.label}}</div>\n <igx-tree-node [data]=\"childLevel9\" *ngFor=\"let childLevel9 of childLevel8.children\" [selected]=\"childLevel9.isSelected\">\n <div>{{childLevel9.label}}</div>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree>\n\n <ng-template igxDataLoading>\n <div class=\"igx-excel-filter__loading\">\n <ng-container *ngTemplateOutlet=\"valuesLoadingTemplate\">\n </ng-container>\n </div>\n </ng-template>\n\n <ng-template [ngIf]=\"isTreeEmpty()\">\n <ng-container *ngTemplateOutlet=\"emptySearch\"></ng-container>\n </ng-template>\n</div>\n\n<ng-template #emptySearch>\n <div class=\"igx-excel-filter__empty\">\n {{esf.grid?.resourceStrings.igx_grid_excel_no_matches}}\n </div>\n</ng-template>\n\n<ng-template #defaultExcelStyleLoadingValuesTemplate>\n <igx-circular-bar [indeterminate]=\"true\">\n </igx-circular-bar>\n</ng-template>\n\n<footer class=\"igx-excel-filter__menu-footer\">\n <div class=\"igx-excel-filter__cancel\">\n <button type=\"button\" #cancelButton\n igxButton=\"flat\"\n [displayDensity]=\"esf.displayDensity\"\n (click)=\"esf.cancel()\">\n {{ esf.grid?.resourceStrings.igx_grid_excel_cancel }}\n </button>\n </div>\n <div class=\"igx-excel-filter__apply\">\n <button type=\"button\"\n igxButton=\"raised\"\n [displayDensity]=\"esf.displayDensity\"\n [disabled]=\"applyButtonDisabled\"\n (click)=\"applyFilter()\">\n {{ esf.grid?.resourceStrings.igx_grid_excel_apply }}\n </button>\n </div>\n</footer>\n", dependencies: [{ kind: "component", type: IgxInputGroupComponent, selector: "igx-input-group", inputs: ["resourceStrings", "suppressInputAutofocus", "type", "theme"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "directive", type: IgxPrefixDirective, selector: "igx-prefix,[igxPrefix],[igxStart]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: IgxInputDirective, selector: "[igxInput]", inputs: ["value", "disabled", "required"], exportAs: ["igxInput"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: IgxSuffixDirective, selector: "igx-suffix,[igxSuffix],[igxEnd]" }, { kind: "component", type: IgxListComponent, selector: "igx-list", inputs: ["panEndTriggeringThreshold", "id", "allowLeftPanning", "allowRightPanning", "isLoading", "resourceStrings", "role"], outputs: ["leftPan", "rightPan", "startPan", "endPan", "resetPan", "panStateChange", "itemClicked"] }, { kind: "directive", type: IgxForOfDirective, selector: "[igxFor][igxForOf]", inputs: ["igxForOf", "igxForSizePropName", "igxForScrollOrientation", "igxForScrollContainer", "igxForContainerSize", "igxForItemSize", "igxForTotalItemCount", "igxForTrackBy"], outputs: ["chunkLoad", "scrollbarVisibilityChanged", "contentSizeChange", "dataChanged", "beforeViewDestroyed", "chunkPreload"] }, { kind: "component", type: IgxListItemComponent, selector: "igx-list-item", inputs: ["isHeader", "hidden", "index", "role"] }, { kind: "component", type: IgxCheckboxComponent, selector: "igx-checkbox", inputs: ["id", "labelId", "value", "name", "tabindex", "labelPosition", "disableRipple", "required", "aria-labelledby", "aria-label", "indeterminate", "checked", "disabled", "invalid", "readonly", "disableTransitions"], outputs: ["change"] }, { kind: "directive", type: IgxDataLoadingTemplateDirective, selector: "[igxDataLoading]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: IgxEmptyListTemplateDirective, selector: "[igxEmptyList]" }, { kind: "component", type: IgxTreeComponent, selector: "igx-tree", inputs: ["selection", "singleBranchExpand", "animationSettings"], outputs: ["nodeSelection", "nodeExpanding", "nodeExpanded", "nodeCollapsing", "nodeCollapsed", "activeNodeChanged"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: IgxTreeNodeComponent, selector: "igx-tree-node", inputs: ["data", "loading", "resourceStrings", "active", "disabled", "selected", "expanded"], outputs: ["selectedChange", "expandedChange"] }, { kind: "component", type: IgxCircularProgressBarComponent, selector: "igx-circular-bar", inputs: ["id", "isIndeterminate", "textVisibility", "text"] }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }] }); }
54032
54178
  }
54033
54179
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: IgxExcelStyleSearchComponent, decorators: [{
54034
54180
  type: Component,
54035
- args: [{ selector: 'igx-excel-style-search', standalone: true, imports: [IgxInputGroupComponent, IgxIconComponent, IgxPrefixDirective, FormsModule, IgxInputDirective, NgIf, IgxSuffixDirective, IgxListComponent, IgxForOfDirective, IgxListItemComponent, IgxCheckboxComponent, IgxDataLoadingTemplateDirective, NgTemplateOutlet, IgxEmptyListTemplateDirective, IgxTreeComponent, NgFor, IgxTreeNodeComponent, IgxCircularProgressBarComponent, IgxButtonDirective], template: "<igx-input-group\n type=\"box\"\n [displayDensity]=\"esf.displayDensity\">\n <igx-icon igxPrefix>search</igx-icon>\n <input\n #input\n igxInput\n tabindex=\"0\"\n [(ngModel)]=\"searchValue\"\n (ngModelChange)=\"filterListData()\"\n (keydown)=\"onInputKeyDown($event)\"\n [placeholder]=\"esf.column?.grid.resourceStrings.igx_grid_excel_search_placeholder\"\n autocomplete=\"off\"/>\n <igx-icon\n igxSuffix\n *ngIf=\"searchValue || searchValue === 0\"\n (click)=\"clearInput()\"\n tabindex=\"0\">\n clear\n </igx-icon>\n</igx-input-group>\n\n<igx-list #list [displayDensity]=\"esf.displayDensity\" [isLoading]=\"isLoading\" *ngIf=\"!isHierarchical()\">\n <div style=\"overflow: hidden; position: relative;\">\n <igx-list-item\n *igxFor=\"let item of displayedListData scrollOrientation : 'vertical'; containerSize: containerSize; itemSize: itemSize\">\n <igx-checkbox\n [value]=\"item\"\n [tabindex]=\"-1\"\n [checked]=\"item?.isSelected\"\n [disableRipple]=\"true\"\n [indeterminate]=\"item?.indeterminate\"\n [disableTransitions]=\"true\"\n (change)=\"onCheckboxChange($event)\">\n {{ item.label }}\n </igx-checkbox>\n </igx-list-item>\n </div>\n\n <ng-template igxDataLoading>\n <div class=\"igx-excel-filter__loading\">\n <ng-container *ngTemplateOutlet=\"valuesLoadingTemplate\">\n </ng-container>\n </div>\n </ng-template>\n\n <ng-template igxEmptyList>\n <ng-container *ngTemplateOutlet=\"emptySearch\"></ng-container>\n </ng-template>\n\n <div class=\"igx-excel-filter__filter-results\" aria-live=\"polite\" aria-atomic=\"true\">\n {{ esf.grid?.resourceStrings.igx_grid_excel_matches_count.replace('{0}', matchesCount) }}\n </div>\n</igx-list>\n\n<div class=\"igx-excel-filter__tree\" *ngIf=\"isHierarchical()\">\n <div class=\"igx-excel-filter__tree-alike\" *ngIf=\"!isTreeEmpty()\">\n <div class=\"igx-excel-filter__tree-alike-item\">\n <igx-checkbox #selectAllCheckbox\n [value]=\"selectAllItem\"\n [checked]=\"selectAllItem?.isSelected\"\n [disableRipple]=\"true\"\n [indeterminate]=\"selectAllItem?.indeterminate\"\n [disableTransitions]=\"true\"\n (change)=\"onSelectAllCheckboxChange($event)\">\n {{ selectAllItem.label }}\n </igx-checkbox>\n </div>\n <div class=\"igx-excel-filter__tree-alike-item\" *ngIf=\"searchValue\">\n <igx-checkbox #addToCurrentFilterCheckbox\n [value]=\"addToCurrentFilterItem\"\n [checked]=\"addToCurrentFilterItem.isSelected\"\n [disableRipple]=\"true\"\n [disableTransitions]=\"true\">\n\n {{ addToCurrentFilterItem.label }}\n </igx-checkbox>\n </div>\n </div>\n\n <igx-tree #tree [displayDensity]=\"esf.displayDensity\" selection=\"Cascading\" (nodeSelection)=\"onNodeSelectionChange($event)\">\n <igx-tree-node [data]=\"item\" *ngFor=\"let item of displayedListData;\" [selected]=\"item.isSelected\">\n <div>{{item.label}}</div>\n <igx-tree-node [data]=\"childLevel1\" *ngFor=\"let childLevel1 of item.children\" [selected]=\"childLevel1.isSelected\">\n <div>{{childLevel1.label}}</div>\n <igx-tree-node [data]=\"childLevel2\" *ngFor=\"let childLevel2 of childLevel1.children\" [selected]=\"childLevel2.isSelected\">\n <div>{{childLevel2.label}}</div>\n <igx-tree-node [data]=\"childLevel3\" *ngFor=\"let childLevel3 of childLevel2.children\" [selected]=\"childLevel3.isSelected\">\n <div>{{childLevel3.label}}</div>\n <igx-tree-node [data]=\"childLevel4\" *ngFor=\"let childLevel4 of childLevel3.children\" [selected]=\"childLevel4.isSelected\">\n <div>{{childLevel4.label}}</div>\n <igx-tree-node [data]=\"childLevel5\" *ngFor=\"let childLevel5 of childLevel4.children\" [selected]=\"childLevel5.isSelected\">\n <div>{{childLevel5.label}}</div>\n <igx-tree-node [data]=\"childLevel6\" *ngFor=\"let childLevel6 of childLevel5.children\" [selected]=\"childLevel6.isSelected\">\n <div>{{childLevel6.label}}</div>\n <igx-tree-node [data]=\"childLevel7\" *ngFor=\"let childLevel7 of childLevel6.children\" [selected]=\"childLevel7.isSelected\">\n <div>{{childLevel7.label}}</div>\n <igx-tree-node [data]=\"childLevel8\" *ngFor=\"let childLevel8 of childLevel7.children\" [selected]=\"childLevel8.isSelected\">\n <div>{{childLevel8.label}}</div>\n <igx-tree-node [data]=\"childLevel9\" *ngFor=\"let childLevel9 of childLevel8.children\" [selected]=\"childLevel9.isSelected\">\n <div>{{childLevel9.label}}</div>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree>\n\n <ng-template igxDataLoading>\n <div class=\"igx-excel-filter__loading\">\n <ng-container *ngTemplateOutlet=\"valuesLoadingTemplate\">\n </ng-container>\n </div>\n </ng-template>\n\n <ng-template [ngIf]=\"isTreeEmpty()\">\n <ng-container *ngTemplateOutlet=\"emptySearch\"></ng-container>\n </ng-template>\n</div>\n\n<ng-template #emptySearch>\n <div class=\"igx-excel-filter__empty\">\n {{esf.grid?.resourceStrings.igx_grid_excel_no_matches}}\n </div>\n</ng-template>\n\n<ng-template #defaultExcelStyleLoadingValuesTemplate>\n <igx-circular-bar [indeterminate]=\"true\">\n </igx-circular-bar>\n</ng-template>\n\n<footer class=\"igx-excel-filter__menu-footer\">\n <div class=\"igx-excel-filter__cancel\">\n <button type=\"button\"\n igxButton=\"flat\"\n [displayDensity]=\"esf.displayDensity\"\n (click)=\"esf.cancel()\">\n {{ esf.grid?.resourceStrings.igx_grid_excel_cancel }}\n </button>\n </div>\n <div class=\"igx-excel-filter__apply\">\n <button type=\"button\"\n igxButton=\"raised\"\n [displayDensity]=\"esf.displayDensity\"\n [disabled]=\"applyButtonDisabled\"\n (click)=\"applyFilter()\">\n {{ esf.grid?.resourceStrings.igx_grid_excel_apply }}\n </button>\n </div>\n</footer>\n" }]
54181
+ args: [{ selector: 'igx-excel-style-search', standalone: true, imports: [IgxInputGroupComponent, IgxIconComponent, IgxPrefixDirective, FormsModule, IgxInputDirective, NgIf, IgxSuffixDirective, IgxListComponent, IgxForOfDirective, IgxListItemComponent, IgxCheckboxComponent, IgxDataLoadingTemplateDirective, NgTemplateOutlet, IgxEmptyListTemplateDirective, IgxTreeComponent, NgFor, IgxTreeNodeComponent, IgxCircularProgressBarComponent, IgxButtonDirective], template: "<igx-input-group\n type=\"box\"\n [displayDensity]=\"esf.displayDensity\">\n <igx-icon igxPrefix>search</igx-icon>\n <input\n #input\n igxInput\n tabindex=\"0\"\n [(ngModel)]=\"searchValue\"\n (ngModelChange)=\"filterListData()\"\n (keydown)=\"onInputKeyDown($event)\"\n [placeholder]=\"esf.column?.grid.resourceStrings.igx_grid_excel_search_placeholder\"\n autocomplete=\"off\"/>\n <igx-icon\n igxSuffix\n *ngIf=\"searchValue || searchValue === 0\"\n (click)=\"clearInput()\"\n tabindex=\"0\">\n clear\n </igx-icon>\n</igx-input-group>\n\n<igx-list #list role=\"listbox\" [displayDensity]=\"esf.displayDensity\" [isLoading]=\"isLoading\" *ngIf=\"!isHierarchical()\" (keydown)=\"handleKeyDown($event)\" tabindex=\"0\"\n[attr.aria-activedescendant]=\"this.activeDescendant\" (focus)=\"onFocus()\" (focusout)=\"onFocusOut()\">\n <div style=\"overflow: hidden; position: relative;\">\n <igx-list-item [class.igx-list__item-base--active]=\"focusedItem?.id === this.getItemId(i)\" [attr.id]=\"getItemId(i)\" role=\"option\" \n *igxFor=\"let item of displayedListData;index as i; scrollOrientation : 'vertical'; containerSize: containerSize; itemSize: itemSize\">\n <igx-checkbox\n [value]=\"item\"\n [tabindex]=\"-1\"\n [checked]=\"item?.isSelected\"\n [disableRipple]=\"true\"\n [indeterminate]=\"item?.indeterminate\"\n [disableTransitions]=\"true\"\n (change)=\"onCheckboxChange($event)\">\n {{ item.label }}\n </igx-checkbox>\n </igx-list-item>\n </div>\n\n <ng-template igxDataLoading>\n <div class=\"igx-excel-filter__loading\">\n <ng-container *ngTemplateOutlet=\"valuesLoadingTemplate\">\n </ng-container>\n </div>\n </ng-template>\n\n <ng-template igxEmptyList>\n <ng-container *ngTemplateOutlet=\"emptySearch\"></ng-container>\n </ng-template>\n\n <div class=\"igx-excel-filter__filter-results\" aria-live=\"polite\" aria-atomic=\"true\">\n {{ esf.grid?.resourceStrings.igx_grid_excel_matches_count.replace('{0}', matchesCount) }}\n </div>\n</igx-list>\n\n<div class=\"igx-excel-filter__tree\" *ngIf=\"isHierarchical()\">\n <div class=\"igx-excel-filter__tree-alike\" *ngIf=\"!isTreeEmpty()\">\n <div class=\"igx-excel-filter__tree-alike-item\">\n <igx-checkbox #selectAllCheckbox\n [value]=\"selectAllItem\"\n [checked]=\"selectAllItem?.isSelected\"\n [disableRipple]=\"true\"\n [indeterminate]=\"selectAllItem?.indeterminate\"\n [disableTransitions]=\"true\"\n (change)=\"onSelectAllCheckboxChange($event)\">\n {{ selectAllItem.label }}\n </igx-checkbox>\n </div>\n <div class=\"igx-excel-filter__tree-alike-item\" *ngIf=\"searchValue\">\n <igx-checkbox #addToCurrentFilterCheckbox\n [value]=\"addToCurrentFilterItem\"\n [checked]=\"addToCurrentFilterItem.isSelected\"\n [disableRipple]=\"true\"\n [disableTransitions]=\"true\">\n\n {{ addToCurrentFilterItem.label }}\n </igx-checkbox>\n </div>\n </div>\n\n <igx-tree #tree [displayDensity]=\"esf.displayDensity\" selection=\"Cascading\" (nodeSelection)=\"onNodeSelectionChange($event)\">\n <igx-tree-node [data]=\"item\" *ngFor=\"let item of displayedListData;\" [selected]=\"item.isSelected\">\n <div>{{item.label}}</div>\n <igx-tree-node [data]=\"childLevel1\" *ngFor=\"let childLevel1 of item.children\" [selected]=\"childLevel1.isSelected\">\n <div>{{childLevel1.label}}</div>\n <igx-tree-node [data]=\"childLevel2\" *ngFor=\"let childLevel2 of childLevel1.children\" [selected]=\"childLevel2.isSelected\">\n <div>{{childLevel2.label}}</div>\n <igx-tree-node [data]=\"childLevel3\" *ngFor=\"let childLevel3 of childLevel2.children\" [selected]=\"childLevel3.isSelected\">\n <div>{{childLevel3.label}}</div>\n <igx-tree-node [data]=\"childLevel4\" *ngFor=\"let childLevel4 of childLevel3.children\" [selected]=\"childLevel4.isSelected\">\n <div>{{childLevel4.label}}</div>\n <igx-tree-node [data]=\"childLevel5\" *ngFor=\"let childLevel5 of childLevel4.children\" [selected]=\"childLevel5.isSelected\">\n <div>{{childLevel5.label}}</div>\n <igx-tree-node [data]=\"childLevel6\" *ngFor=\"let childLevel6 of childLevel5.children\" [selected]=\"childLevel6.isSelected\">\n <div>{{childLevel6.label}}</div>\n <igx-tree-node [data]=\"childLevel7\" *ngFor=\"let childLevel7 of childLevel6.children\" [selected]=\"childLevel7.isSelected\">\n <div>{{childLevel7.label}}</div>\n <igx-tree-node [data]=\"childLevel8\" *ngFor=\"let childLevel8 of childLevel7.children\" [selected]=\"childLevel8.isSelected\">\n <div>{{childLevel8.label}}</div>\n <igx-tree-node [data]=\"childLevel9\" *ngFor=\"let childLevel9 of childLevel8.children\" [selected]=\"childLevel9.isSelected\">\n <div>{{childLevel9.label}}</div>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree-node>\n </igx-tree>\n\n <ng-template igxDataLoading>\n <div class=\"igx-excel-filter__loading\">\n <ng-container *ngTemplateOutlet=\"valuesLoadingTemplate\">\n </ng-container>\n </div>\n </ng-template>\n\n <ng-template [ngIf]=\"isTreeEmpty()\">\n <ng-container *ngTemplateOutlet=\"emptySearch\"></ng-container>\n </ng-template>\n</div>\n\n<ng-template #emptySearch>\n <div class=\"igx-excel-filter__empty\">\n {{esf.grid?.resourceStrings.igx_grid_excel_no_matches}}\n </div>\n</ng-template>\n\n<ng-template #defaultExcelStyleLoadingValuesTemplate>\n <igx-circular-bar [indeterminate]=\"true\">\n </igx-circular-bar>\n</ng-template>\n\n<footer class=\"igx-excel-filter__menu-footer\">\n <div class=\"igx-excel-filter__cancel\">\n <button type=\"button\" #cancelButton\n igxButton=\"flat\"\n [displayDensity]=\"esf.displayDensity\"\n (click)=\"esf.cancel()\">\n {{ esf.grid?.resourceStrings.igx_grid_excel_cancel }}\n </button>\n </div>\n <div class=\"igx-excel-filter__apply\">\n <button type=\"button\"\n igxButton=\"raised\"\n [displayDensity]=\"esf.displayDensity\"\n [disabled]=\"applyButtonDisabled\"\n (click)=\"applyFilter()\">\n {{ esf.grid?.resourceStrings.igx_grid_excel_apply }}\n </button>\n </div>\n</footer>\n" }]
54036
54182
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: BaseFilteringComponent }, { type: PlatformUtil }]; }, propDecorators: { defaultClass: [{
54037
54183
  type: HostBinding,
54038
54184
  args: ['class.igx-excel-filter__menu-main']
54039
54185
  }], searchInput: [{
54040
54186
  type: ViewChild,
54041
54187
  args: ['input', { read: IgxInputDirective, static: true }]
54188
+ }], cancelButton: [{
54189
+ type: ViewChild,
54190
+ args: ['cancelButton', { read: IgxButtonDirective, static: true }]
54042
54191
  }], list: [{
54043
54192
  type: ViewChild,
54044
54193
  args: ['list', { read: IgxListComponent, static: false }]
@@ -54053,10 +54202,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
54053
54202
  args: ['tree', { read: IgxTreeComponent, static: false }]
54054
54203
  }], virtDir: [{
54055
54204
  type: ViewChild,
54056
- args: [IgxForOfDirective, { static: true }]
54205
+ args: [IgxForOfDirective]
54057
54206
  }], defaultExcelStyleLoadingValuesTemplate: [{
54058
54207
  type: ViewChild,
54059
54208
  args: ['defaultExcelStyleLoadingValuesTemplate', { read: TemplateRef }]
54209
+ }], checkboxes: [{
54210
+ type: ViewChildren,
54211
+ args: [IgxCheckboxComponent]
54212
+ }], id: [{
54213
+ type: HostBinding,
54214
+ args: ['attr.id']
54215
+ }, {
54216
+ type: Input
54060
54217
  }] } });
54061
54218
 
54062
54219
  /**
@@ -54736,7 +54893,7 @@ class IgxGridExcelStyleFilteringComponent extends BaseFilteringComponent {
54736
54893
  return value;
54737
54894
  }
54738
54895
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: IgxGridExcelStyleFilteringComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: PlatformUtil }, { token: DOCUMENT }, { token: IGX_GRID_BASE, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
54739
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.8", type: IgxGridExcelStyleFilteringComponent, isStandalone: true, selector: "igx-grid-excel-style-filtering", inputs: { column: "column", minHeight: "minHeight", maxHeight: "maxHeight" }, outputs: { loadingStart: "loadingStart", loadingEnd: "loadingEnd", initialized: "initialized", sortingChanged: "sortingChanged", columnChange: "columnChange", listDataLoaded: "listDataLoaded" }, host: { properties: { "class.igx-excel-filter": "this.defaultClass", "class.igx-excel-filter--inline": "this.inline", "style.max-height": "this.maxHeight" } }, providers: [{ provide: BaseFilteringComponent, useExisting: forwardRef(() => IgxGridExcelStyleFilteringComponent) }], queries: [{ propertyName: "excelColumnOperationsDirective", first: true, predicate: IgxExcelStyleColumnOperationsTemplateDirective, descendants: true, read: IgxExcelStyleColumnOperationsTemplateDirective }, { propertyName: "excelFilterOperationsDirective", first: true, predicate: IgxExcelStyleFilterOperationsTemplateDirective, descendants: true, read: IgxExcelStyleFilterOperationsTemplateDirective }], viewQueries: [{ propertyName: "mainDropdown", first: true, predicate: ["mainDropdown"], descendants: true, read: ElementRef }, { propertyName: "defaultExcelColumnOperations", first: true, predicate: ["defaultExcelColumnOperations"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultExcelFilterOperations", first: true, predicate: ["defaultExcelFilterOperations"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #defaultExcelColumnOperations>\n <igx-excel-style-header\n [showHiding]=\"displayDensity !== 'comfortable' && !column?.disableHiding\"\n [showPinning]=\"displayDensity !== 'comfortable' && !column?.disablePinning\"\n [showSelecting]=\"displayDensity !== 'comfortable' && columnSelectable()\"\n >\n </igx-excel-style-header>\n\n <igx-excel-style-sorting *ngIf=\"column?.sortable\">\n </igx-excel-style-sorting>\n\n <igx-excel-style-moving *ngIf=\"grid?.moving\">\n </igx-excel-style-moving>\n\n <igx-excel-style-pinning *ngIf=\"!column?.disablePinning && displayDensity==='comfortable'\">\n </igx-excel-style-pinning>\n\n <igx-excel-style-hiding *ngIf=\"!column?.disableHiding && displayDensity==='comfortable'\">\n </igx-excel-style-hiding>\n\n <igx-excel-style-selecting *ngIf=\"columnSelectable() && displayDensity==='comfortable'\">\n </igx-excel-style-selecting>\n</ng-template>\n\n<ng-template #defaultExcelFilterOperations>\n <igx-excel-style-clear-filters>\n </igx-excel-style-clear-filters>\n\n <igx-excel-style-conditional-filter>\n </igx-excel-style-conditional-filter>\n\n <igx-excel-style-search>\n </igx-excel-style-search>\n</ng-template>\n\n<article #mainDropdown\n class=\"igx-excel-filter__menu\"\n [ngClass]=\"{\n 'igx-excel-filter__menu--cosy': displayDensity === 'cosy',\n 'igx-excel-filter__menu--compact': displayDensity === 'compact'\n }\"\n [id]=\"overlayComponentId\"\n (keydown)=\"onKeyDown($event)\"\n [style.min-height]=\"minHeight\"\n [style.max-height]=\"maxHeight\"\n role=\"menu\">\n\n <ng-container *ngIf=\"this.excelColumnOperationsDirective; else defaultExcelColumnOperations\">\n <ng-content select=\"igx-excel-style-column-operations,[igxExcelStyleColumnOperations]\">\n </ng-content>\n </ng-container>\n\n <ng-container *ngIf=\"this.excelFilterOperationsDirective; else defaultExcelFilterOperations\">\n <ng-content select=\"igx-excel-style-filter-operations,[igxExcelStyleFilterOperations]\">\n </ng-content>\n </ng-container>\n</article>\n", dependencies: [{ kind: "component", type: IgxExcelStyleHeaderComponent, selector: "igx-excel-style-header", inputs: ["showPinning", "showSelecting", "showHiding"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IgxExcelStyleSortingComponent, selector: "igx-excel-style-sorting" }, { kind: "component", type: IgxExcelStyleMovingComponent, selector: "igx-excel-style-moving" }, { kind: "component", type: IgxExcelStylePinningComponent, selector: "igx-excel-style-pinning" }, { kind: "component", type: IgxExcelStyleHidingComponent, selector: "igx-excel-style-hiding" }, { kind: "component", type: IgxExcelStyleSelectingComponent, selector: "igx-excel-style-selecting" }, { kind: "component", type: IgxExcelStyleClearFiltersComponent, selector: "igx-excel-style-clear-filters" }, { kind: "component", type: IgxExcelStyleConditionalFilterComponent, selector: "igx-excel-style-conditional-filter" }, { kind: "component", type: IgxExcelStyleSearchComponent, selector: "igx-excel-style-search" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
54896
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.8", type: IgxGridExcelStyleFilteringComponent, isStandalone: true, selector: "igx-grid-excel-style-filtering", inputs: { column: "column", minHeight: "minHeight", maxHeight: "maxHeight" }, outputs: { loadingStart: "loadingStart", loadingEnd: "loadingEnd", initialized: "initialized", sortingChanged: "sortingChanged", columnChange: "columnChange", listDataLoaded: "listDataLoaded" }, host: { properties: { "class.igx-excel-filter": "this.defaultClass", "class.igx-excel-filter--inline": "this.inline", "style.max-height": "this.maxHeight" } }, providers: [{ provide: BaseFilteringComponent, useExisting: forwardRef(() => IgxGridExcelStyleFilteringComponent) }], queries: [{ propertyName: "excelColumnOperationsDirective", first: true, predicate: IgxExcelStyleColumnOperationsTemplateDirective, descendants: true, read: IgxExcelStyleColumnOperationsTemplateDirective }, { propertyName: "excelFilterOperationsDirective", first: true, predicate: IgxExcelStyleFilterOperationsTemplateDirective, descendants: true, read: IgxExcelStyleFilterOperationsTemplateDirective }], viewQueries: [{ propertyName: "mainDropdown", first: true, predicate: ["mainDropdown"], descendants: true, read: ElementRef }, { propertyName: "defaultExcelColumnOperations", first: true, predicate: ["defaultExcelColumnOperations"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultExcelFilterOperations", first: true, predicate: ["defaultExcelFilterOperations"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #defaultExcelColumnOperations>\n <igx-excel-style-header\n [showHiding]=\"displayDensity !== 'comfortable' && !column?.disableHiding\"\n [showPinning]=\"displayDensity !== 'comfortable' && !column?.disablePinning\"\n [showSelecting]=\"displayDensity !== 'comfortable' && columnSelectable()\"\n >\n </igx-excel-style-header>\n\n <igx-excel-style-sorting *ngIf=\"column?.sortable\">\n </igx-excel-style-sorting>\n\n <igx-excel-style-moving *ngIf=\"grid?.moving\">\n </igx-excel-style-moving>\n\n <igx-excel-style-pinning *ngIf=\"!column?.disablePinning && displayDensity==='comfortable'\">\n </igx-excel-style-pinning>\n\n <igx-excel-style-hiding *ngIf=\"!column?.disableHiding && displayDensity==='comfortable'\">\n </igx-excel-style-hiding>\n\n <igx-excel-style-selecting *ngIf=\"columnSelectable() && displayDensity==='comfortable'\">\n </igx-excel-style-selecting>\n</ng-template>\n\n<ng-template #defaultExcelFilterOperations>\n <igx-excel-style-clear-filters>\n </igx-excel-style-clear-filters>\n\n <igx-excel-style-conditional-filter>\n </igx-excel-style-conditional-filter>\n\n <igx-excel-style-search>\n </igx-excel-style-search>\n</ng-template>\n\n<article #mainDropdown\n class=\"igx-excel-filter__menu\"\n [ngClass]=\"{\n 'igx-excel-filter__menu--cosy': displayDensity === 'cosy',\n 'igx-excel-filter__menu--compact': displayDensity === 'compact'\n }\"\n [id]=\"overlayComponentId\"\n (keydown)=\"onKeyDown($event)\"\n [style.min-height]=\"minHeight\"\n [style.max-height]=\"maxHeight\"\n role=\"menu\">\n\n <ng-container *ngIf=\"this.excelColumnOperationsDirective; else defaultExcelColumnOperations\">\n <ng-content select=\"igx-excel-style-column-operations,[igxExcelStyleColumnOperations]\">\n </ng-content>\n </ng-container>\n\n <ng-container *ngIf=\"this.excelFilterOperationsDirective; else defaultExcelFilterOperations\">\n <ng-content select=\"igx-excel-style-filter-operations,[igxExcelStyleFilterOperations]\">\n </ng-content>\n </ng-container>\n</article>\n", dependencies: [{ kind: "component", type: IgxExcelStyleHeaderComponent, selector: "igx-excel-style-header", inputs: ["showPinning", "showSelecting", "showHiding"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IgxExcelStyleSortingComponent, selector: "igx-excel-style-sorting" }, { kind: "component", type: IgxExcelStyleMovingComponent, selector: "igx-excel-style-moving" }, { kind: "component", type: IgxExcelStylePinningComponent, selector: "igx-excel-style-pinning" }, { kind: "component", type: IgxExcelStyleHidingComponent, selector: "igx-excel-style-hiding" }, { kind: "component", type: IgxExcelStyleSelectingComponent, selector: "igx-excel-style-selecting" }, { kind: "component", type: IgxExcelStyleClearFiltersComponent, selector: "igx-excel-style-clear-filters" }, { kind: "component", type: IgxExcelStyleConditionalFilterComponent, selector: "igx-excel-style-conditional-filter" }, { kind: "component", type: IgxExcelStyleSearchComponent, selector: "igx-excel-style-search", inputs: ["id"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
54740
54897
  }
54741
54898
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: IgxGridExcelStyleFilteringComponent, decorators: [{
54742
54899
  type: Component,
@@ -73248,7 +73405,7 @@ class IgxPivotHeaderRowComponent extends IgxGridHeaderRowComponent {
73248
73405
  dropdown.open(this._subMenuOverlaySettings);
73249
73406
  }
73250
73407
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: IgxPivotHeaderRowComponent, deps: [{ token: IGX_GRID_BASE }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
73251
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.8", type: IgxPivotHeaderRowComponent, isStandalone: true, selector: "igx-pivot-header-row", viewQueries: [{ propertyName: "esf", first: true, predicate: ["esf"], descendants: true }, { propertyName: "filterArea", first: true, predicate: ["filterAreaHidden"], descendants: true }, { propertyName: "filtersButton", first: true, predicate: ["filterIcon"], descendants: true }, { propertyName: "dropdownChips", first: true, predicate: ["dropdownChips"], descendants: true }, { propertyName: "pivotFilterContainer", first: true, predicate: ["pivotFilterContainer"], descendants: true }, { propertyName: "notificationChips", predicate: ["notifyChip"], descendants: true }, { propertyName: "headerContainers", predicate: ["headerVirtualContainer"], descendants: true, read: IgxGridForOfDirective }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div>\n <div class=\"igx-grid-thead__wrapper igx-grid-thead__wrapper--pivot\" role=\"row\" [style.width.px]=\"width\">\n <div class=\"igx-grid__tr\" role=\"row\" [style.width.px]=\"width\">\n <div class='igx-grid__tr-pivot--filter-container'>\n <div #pivotFilterContainer *ngIf=\"grid.showPivotConfigurationUI\"\n class=\"igx-grid__tr-pivot igx-grid__tr-pivot--filter\" [style.min-width.px]=\"grid.pivotRowWidths - 1\"\n [style.max-width.px]=\"grid.pivotRowWidths - 1\" (igxDragLeave)=\"onAreaDragLeave($event, filterArea)\"\n igxDrop (dropped)=\"onDimDrop($event, filterArea, 2)\" (pointerdown)=\"$event.preventDefault()\">\n <!-- Filter area -->\n <igx-chips-area #filterArea droppable='true'>\n <span id='empty' igxDrop (dropped)=\"onDimDrop($event, filterArea, 2)\"\n *ngIf=\"grid.filterDimensions.length === 0\"\n class='igx-grid__pivot-empty-chip-area'>{{grid.resourceStrings.igx_grid_pivot_empty_filter_drop_area}}</span>\n <ng-container *ngFor=\"let filter of this.filterAreaDimensions; let last = last;\">\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(filterArea)'></span>\n <igx-chip [id]=\"filter.memberName\" [draggable]=\"true\" [displayDensity]=\"grid.displayDensity\" [data]=\"{ pivotArea: 'filter' }\"\n [removable]=\"true\" (remove)=\"filterRemoved($event)\" (dragOver)=\"onDimDragOver($event, 2)\"\n (dragLeave)=\"onDimDragLeave($event)\" (dragDrop)=\"onDimDrop($event, filterArea, 2)\"\n (moveStart)='onDimDragStart($event, filterArea)' (moveEnd)='onDimDragEnd()'>\n <igx-icon igxPrefix (pointerdown)='onFilteringIconPointerDown($event)'\n (click)='onFilteringIconClick($event, filter)'>filter_list</igx-icon>\n {{filter.memberName}}\n </igx-chip>\n <ng-container *ngIf='last'>\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(filterArea)'></span>\n </ng-container>\n </ng-container>\n <igx-chip igxDrop (dragDrop)=\"onDimDrop($event, filterArea, 2)\" #notifyChip [hidden]='true'\n [displayDensity]=\"grid.displayDensity\">\n {{grid.resourceStrings.igx_grid_pivot_filter_drop_chip}}\n </igx-chip>\n </igx-chips-area>\n <div class=\"igx-grid__pivot-filter-toggle\" *ngIf=\"isFiltersButton && grid.filterDimensions.length !== 0\">\n <igx-icon #filterIcon (pointerdown)='onFilteringIconPointerDown($event)' (click)='onFiltersAreaDropdownClick($event)'>filter_list</igx-icon>\n <igx-badge value=\"{{this.filterDropdownDimensions.size}}\"></igx-badge>\n </div>\n </div>\n <div class='igx-grid__tr-pivot--drop-row-area' (igxDragLeave)=\"onAreaDragLeave($event, rowArea)\" igxDrop\n (dropped)=\"onDimDrop($event, rowArea, 0)\">\n </div>\n </div>\n\n <div class=\"igx-grid__tr-pivot-group\">\n <div #pivotColumnContainer *ngIf=\"grid.showPivotConfigurationUI\" class=\"igx-grid__tr-pivot\"\n (dropped)=\"onDimDrop($event, colArea, 1)\" igxDrop (igxDragLeave)=\"onAreaDragLeave($event, colArea)\">\n <!-- Columns area -->\n <igx-chips-area #colArea droppable='true'>\n <span id='empty' (dropped)=\"onDimDrop($event, colArea, 1)\" igxDrop\n *ngIf=\"grid.columnDimensions.length === 0\" class='igx-grid__pivot-empty-chip-area'>\n {{grid.resourceStrings.igx_grid_pivot_empty_column_drop_area}}</span>\n <ng-container *ngFor=\"let col of grid.columnDimensions; let last = last;\">\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(colArea)'></span>\n <igx-chip [draggable]=\"true\" [id]=\"col.memberName\" [displayDensity]=\"grid.displayDensity\" [data]=\"{ pivotArea: 'column' }\"\n [removable]=\"true\" (remove)=\"columnRemoved($event)\" (dragOver)=\"onDimDragOver($event, 1)\"\n (dragLeave)=\"onDimDragLeave($event)\" (dragDrop)=\"onDimDrop($event, colArea, 1)\"\n (moveStart)='onDimDragStart($event, colArea)' (moveEnd)='onDimDragEnd()'\n (click)=\"onChipSort($event, col)\">\n <igx-icon igxPrefix>view_column</igx-icon>\n <igx-icon igxPrefix (pointerdown)='onFilteringIconPointerDown($event)'\n (click)='onFilteringIconClick($event, col)'>filter_list</igx-icon>\n {{col.memberName}}\n <igx-icon *ngIf=\"col.sortDirection\" igxSuffix> {{ col.sortDirection < 2 ? 'arrow_upward'\n : 'arrow_downward' }}</igx-icon>\n </igx-chip>\n <ng-container *ngIf='last'>\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(colArea)'></span>\n </ng-container>\n </ng-container>\n <igx-chip igxDrop (dragDrop)=\"onDimDrop($event, colArea, 1)\" #notifyChip [hidden]='true'\n [displayDensity]=\"grid.displayDensity\">\n {{grid.resourceStrings.igx_grid_pivot_column_drop_chip}}\n </igx-chip>\n </igx-chips-area>\n </div>\n\n <div #pivotValueContainer *ngIf=\"grid.showPivotConfigurationUI\" class=\"igx-grid__tr-pivot\"\n (pointerdown)=\"$event.preventDefault()\" (dropped)=\"onValueDrop($event, valueArea)\" igxDrop\n (igxDragLeave)=\"onAreaDragLeave($event, valueArea)\">\n <!-- Value area -->\n <igx-chips-area #valueArea droppable='true'>\n <span id='empty' (dropped)=\"onValueDrop($event, valueArea)\" igxDrop *ngIf=\"grid.values.length === 0\"\n class='igx-grid__pivot-empty-chip-area'>{{grid.resourceStrings.igx_grid_pivot_empty_value_drop_area}}</span>\n <ng-container *ngFor=\"let value of grid.values; let last = last;\">\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(valueArea)'></span>\n <igx-chip #currChip [draggable]=\"true\" [id]=\"value.displayName || value.member\" [data]=\"{ pivotArea: 'value' }\"\n [displayDensity]=\"grid.displayDensity\" [removable]=\"true\" (remove)=\"valueRemoved($event)\"\n (dragLeave)=\"onDimDragLeave($event)\" (dragOver)=\"onDimDragOver($event)\"\n (dragDrop)=\"onValueDrop($event, valueArea)\">\n <div class=\"igx-grid__tr-pivot-toggle-icons\" igxPrefix\n (click)='onSummaryClick($event, value, dropdown, currChip)'\n (pointerdown)='$event.stopPropagation()' [igxDropDownItemNavigation]=\"dropdown\">\n <igx-icon>functions</igx-icon>\n <igx-icon>arrow_drop_down</igx-icon>\n </div>\n <ng-container *ngTemplateOutlet=\"grid.valueChipTemplate ? grid.valueChipTemplate : valueChipDefaultTemplate; context: { $implicit: value }\"></ng-container>\n </igx-chip>\n <ng-container *ngIf='last'>\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(valueArea)'></span>\n </ng-container>\n </ng-container>\n <igx-chip igxDrop (dragDrop)=\"onValueDrop($event, valueArea)\" #notifyValueChip [hidden]='true'\n [displayDensity]=\"grid.displayDensity\">\n {{grid.resourceStrings.igx_grid_pivot_value_drop_chip}}\n </igx-chip>\n </igx-chips-area>\n </div>\n </div>\n </div>\n </div>\n <div role=\"rowgroup\" class=\"igx-grid-thead__wrapper\" [style.width.px]=\"width\"\n [attr.aria-activedescendant]=\"activeDescendant\" [class.igx-grid__tr--mrl]=\"hasMRL\">\n\n <!-- Column headers area -->\n <div class=\"igx-grid__tr\" role=\"row\" [style.width.px]=\"width\">\n <div #pivotContainer class=\"igx-grid__tr-pivot igx-grid__tr-pivot--row-area\"\n [style.width.px]=\"grid.pivotRowWidths - 1\" (igxDragLeave)=\"onAreaDragLeave($event, rowArea)\" igxDrop\n (dropped)=\"onDimDrop($event, rowArea, 0)\" (pointerdown)=\"$event.preventDefault()\">\n <!-- Row area -->\n <igx-chips-area #rowArea droppable='true'>\n <ng-container *ngIf=\"grid.showPivotConfigurationUI\">\n <span id='empty' igxDrop (dropped)=\"onDimDrop($event, rowArea, 0)\"\n *ngIf=\"grid.rowDimensions.length === 0 && grid.showPivotConfigurationUI\"\n class='igx-grid__pivot-empty-chip-area'>{{grid.resourceStrings.igx_grid_pivot_empty_row_drop_area}}</span>\n <ng-container *ngFor=\"let row of grid.rowDimensions; let last = last;\">\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(rowArea)'></span>\n <igx-chip [draggable]=\"true\" [id]=\"row.memberName\" [displayDensity]=\"grid.displayDensity\" [data]=\"{ pivotArea: 'row' }\"\n [removable]=\"true\" (remove)=\"rowRemoved($event)\" (dragLeave)=\"onDimDragLeave($event)\"\n (dragDrop)=\"onDimDrop($event, rowArea, 0)\" (dragOver)=\"onDimDragOver($event, 0)\"\n (moveStart)='onDimDragStart($event, rowArea)' (moveEnd)='onDimDragEnd()'\n (click)=\"onChipSort($event, row)\">\n <igx-icon igxPrefix>table_rows</igx-icon>\n <igx-icon igxPrefix (pointerdown)='onFilteringIconPointerDown($event)'\n (click)='onFilteringIconClick($event, row)'>filter_list</igx-icon>\n {{ row.memberName}}\n <igx-icon *ngIf=\"row.sortDirection\" igxSuffix> {{ row.sortDirection < 2 ? 'arrow_upward'\n : 'arrow_downward' }}</igx-icon>\n </igx-chip>\n <ng-container *ngIf='last'>\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(rowArea)'></span>\n </ng-container>\n </ng-container>\n <igx-chip igxDrop (dragDrop)=\"onDimDrop($event, rowArea, 0)\" #notifyChip [hidden]='true'\n [displayDensity]=\"grid.displayDensity\">\n {{grid.resourceStrings.igx_grid_pivot_row_drop_chip}}\n </igx-chip>\n </ng-container>\n </igx-chips-area>\n </div>\n\n <!-- Pinned columns collection from the start -->\n <ng-container *ngIf=\"pinnedColumnCollection.length && grid.isPinningToStart\">\n <ng-container *ngFor=\"let column of pinnedColumnCollection | igxTopLevel\">\n <igx-grid-header-group [ngClass]=\"column.headerGroupClasses\"\n [ngStyle]=\"column.headerGroupStyles | igxHeaderGroupStyle:column:grid.pipeTrigger\" [column]=\"column\"\n [style.min-width]=\"column.resolvedWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\"\n [style.flex-basis]=\"column.resolvedWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\"\n (pointerdown)=\"grid.navigation.focusOutRowHeader($event)\">\n </igx-grid-header-group>\n </ng-container>\n </ng-container>\n <div class=\"igx-grid-thead--virtualizationWrapper\" [style.max-height.px]='maxContainerHeight'>\n <div class=\"igx-grid-thead__group igx-grid-thead--virtualizationContainer\" [style.height.px]='totalDepth > 1 ? grid.rowHeight : undefined' *ngFor='let dimLevelColumns of columnDimensionsByLevel; let i = index' [style.width.px]='grid.unpinnedWidth'>\n <ng-template igxGridFor #headerVirtualContainer let-column\n [igxGridForOf]=\"dimLevelColumns\" [igxGridForOfUniqueSizeCache] = 'true' [igxForScrollContainer]=\"grid.parentVirtDir\"\n [igxForContainerSize]=\"grid.unpinnedWidth\" [igxForTrackBy]=\"grid.trackColumnChanges\"\n [igxForSizePropName]=\"'calcPixelWidth'\" [igxForScrollOrientation]=\"'horizontal'\">\n <igx-grid-header-group [ngClass]=\"column.headerGroupClasses\"\n [style.height.px]='totalDepth > 1 ? calcHeight(column, i) : undefined'\n [ngStyle]=\"column.headerGroupStyles |igxHeaderGroupStyle:column:grid.pipeTrigger\" [column]=\"column\"\n [style.min-width]=\"column.resolvedWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\"\n [style.flex-basis]=\"column.resolvedWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\"\n [class.igx-grid__tr-pivot--columnDimensionLeaf] = 'isDuplicateOfExistingParent(column, i)'\n [class.igx-grid__tr-pivot--columnMultiRowSpan] = 'isMultiRow(column, i)'\n >\n </igx-grid-header-group>\n </ng-template>\n </div>\n </div>\n\n <!-- Pinned columns collection at the end -->\n <ng-container *ngIf=\"pinnedColumnCollection.length && !grid.isPinningToStart\">\n <ng-container *ngFor=\"let column of pinnedColumnCollection | igxTopLevel\">\n <igx-grid-header-group [ngClass]=\"column.headerGroupClasses\"\n [ngStyle]=\"column.headerGroupStyles |igxHeaderGroupStyle:column:grid.pipeTrigger\" [column]=\"column\"\n [style.min-width]=\"column.resolvedWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\"\n [style.flex-basis]=\"column.resolvedWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\"\n [style.left]=\"column.rightPinnedOffset\" (pointerdown)=\"grid.navigation.focusOutRowHeader($event)\">\n </igx-grid-header-group>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n<!-- Header thumb area -->\n<div class=\"igx-grid-thead__thumb\" [hidden]=\"!grid.hasVerticalScroll()\" [style.width.px]=\"grid.scrollSize\">\n</div>\n\n<igx-drop-down #dropdown (selectionChanging)='onAggregationChange($event)'>\n <igx-drop-down-item *ngFor=\"let item of aggregateList\" [selected]='isSelected(item)' [value]='item'>\n {{ item.label }}\n </igx-drop-down-item>\n</igx-drop-down>\n\n<div [hidden]='true'>\n <igx-grid-excel-style-filtering [maxHeight]='grid.excelStyleFilterMaxHeight' [minHeight]='grid.excelStyleFilterMinHeight' #esf>\n <div igxExcelStyleColumnOperations>\n <igx-chips-area #dropdownChips>\n <igx-chip *ngFor=\"let filter of this.filterDropdownDimensions\" [id]=\"filter.memberName\"\n [displayDensity]=\"grid.displayDensity\" [removable]=\"true\" (remove)=\"filterRemoved($event)\"\n (chipClick)='onFiltersSelectionChanged($event)' [selectable]='true' [selected]='filter === this.filterDropdownDimensions.values().next().value'>\n {{filter.memberName}}\n </igx-chip>\n </igx-chips-area>\n </div>\n <igx-excel-style-filter-operations>\n <igx-excel-style-search></igx-excel-style-search>\n </igx-excel-style-filter-operations>\n </igx-grid-excel-style-filtering>\n</div>\n\n<div style=\"visibility: hidden; position: absolute; top: -10000px\">\n <igx-chips-area #filterAreaHidden droppable='true'>\n <igx-chip *ngFor=\"let filter of grid.filterDimensions\" [id]=\"filter.memberName\" [draggable]=\"true\"\n [displayDensity]=\"grid.displayDensity\" [removable]=\"true\" (remove)=\"filterRemoved($event)\">\n <igx-icon igxPrefix>filter_list</igx-icon>\n {{filter.memberName}}\n </igx-chip>\n </igx-chips-area>\n</div>\n\n<ng-template #valueChipDefaultTemplate let-value>\n {{value.aggregate.key}}({{value.displayName || value.member}})\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: IgxDropDirective, selector: "[igxDrop]", inputs: ["igxDrop", "dropChannel", "dropStrategy"], outputs: ["enter", "over", "leave", "dropped"], exportAs: ["drop"] }, { kind: "component", type: IgxChipsAreaComponent, selector: "igx-chips-area", inputs: ["width", "height"], outputs: ["reorder", "selectionChange", "moveStart", "moveEnd"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: IgxChipComponent, selector: "igx-chip", inputs: ["variant", "id", "tabIndex", "data", "draggable", "animateOnRelease", "hideBaseOnDrag", "removable", "removeIcon", "selectable", "selectIcon", "class", "disabled", "selected", "color", "resourceStrings"], outputs: ["selectedChange", "moveStart", "moveEnd", "remove", "chipClick", "selectedChanging", "selectedChanged", "keyDown", "dragEnter", "dragLeave", "dragOver", "dragDrop"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "directive", type: IgxPrefixDirective, selector: "igx-prefix,[igxPrefix],[igxStart]" }, { kind: "component", type: IgxBadgeComponent, selector: "igx-badge", inputs: ["id", "type", "value", "icon", "iconSet", "shape"] }, { kind: "directive", type: IgxSuffixDirective, selector: "igx-suffix,[igxSuffix],[igxEnd]" }, { kind: "directive", type: IgxDropDownItemNavigationDirective, selector: "[igxDropDownItemNavigation]", inputs: ["igxDropDownItemNavigation"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IgxGridHeaderGroupComponent, selector: "igx-grid-header-group", inputs: ["column"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: IgxGridForOfDirective, selector: "[igxGridFor][igxGridForOf]", inputs: ["igxGridForOf", "igxGridForOfUniqueSizeCache", "igxGridForOfVariableSizes"], outputs: ["dataChanging"] }, { kind: "component", type: IgxDropDownComponent, selector: "igx-drop-down", inputs: ["allowItemsFocus", "labelledBy"], outputs: ["opening", "opened", "closing", "closed"] }, { kind: "component", type: IgxDropDownItemComponent, selector: "igx-drop-down-item" }, { kind: "component", type: IgxGridExcelStyleFilteringComponent, selector: "igx-grid-excel-style-filtering", inputs: ["column", "minHeight", "maxHeight"], outputs: ["loadingStart", "loadingEnd", "initialized", "sortingChanged", "columnChange", "listDataLoaded"] }, { kind: "directive", type: IgxExcelStyleColumnOperationsTemplateDirective, selector: "igx-excel-style-column-operations,[igxExcelStyleColumnOperations]" }, { kind: "directive", type: IgxExcelStyleFilterOperationsTemplateDirective, selector: "igx-excel-style-filter-operations,[igxExcelStyleFilterOperations]" }, { kind: "component", type: IgxExcelStyleSearchComponent, selector: "igx-excel-style-search" }, { kind: "pipe", type: IgxHeaderGroupWidthPipe, name: "igxHeaderGroupWidth" }, { kind: "pipe", type: IgxHeaderGroupStylePipe, name: "igxHeaderGroupStyle" }, { kind: "pipe", type: IgxGridTopLevelColumns, name: "igxTopLevel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
73408
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.8", type: IgxPivotHeaderRowComponent, isStandalone: true, selector: "igx-pivot-header-row", viewQueries: [{ propertyName: "esf", first: true, predicate: ["esf"], descendants: true }, { propertyName: "filterArea", first: true, predicate: ["filterAreaHidden"], descendants: true }, { propertyName: "filtersButton", first: true, predicate: ["filterIcon"], descendants: true }, { propertyName: "dropdownChips", first: true, predicate: ["dropdownChips"], descendants: true }, { propertyName: "pivotFilterContainer", first: true, predicate: ["pivotFilterContainer"], descendants: true }, { propertyName: "notificationChips", predicate: ["notifyChip"], descendants: true }, { propertyName: "headerContainers", predicate: ["headerVirtualContainer"], descendants: true, read: IgxGridForOfDirective }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div>\n <div class=\"igx-grid-thead__wrapper igx-grid-thead__wrapper--pivot\" role=\"row\" [style.width.px]=\"width\">\n <div class=\"igx-grid__tr\" role=\"row\" [style.width.px]=\"width\">\n <div class='igx-grid__tr-pivot--filter-container'>\n <div #pivotFilterContainer *ngIf=\"grid.showPivotConfigurationUI\"\n class=\"igx-grid__tr-pivot igx-grid__tr-pivot--filter\" [style.min-width.px]=\"grid.pivotRowWidths - 1\"\n [style.max-width.px]=\"grid.pivotRowWidths - 1\" (igxDragLeave)=\"onAreaDragLeave($event, filterArea)\"\n igxDrop (dropped)=\"onDimDrop($event, filterArea, 2)\" (pointerdown)=\"$event.preventDefault()\">\n <!-- Filter area -->\n <igx-chips-area #filterArea droppable='true'>\n <span id='empty' igxDrop (dropped)=\"onDimDrop($event, filterArea, 2)\"\n *ngIf=\"grid.filterDimensions.length === 0\"\n class='igx-grid__pivot-empty-chip-area'>{{grid.resourceStrings.igx_grid_pivot_empty_filter_drop_area}}</span>\n <ng-container *ngFor=\"let filter of this.filterAreaDimensions; let last = last;\">\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(filterArea)'></span>\n <igx-chip [id]=\"filter.memberName\" [draggable]=\"true\" [displayDensity]=\"grid.displayDensity\" [data]=\"{ pivotArea: 'filter' }\"\n [removable]=\"true\" (remove)=\"filterRemoved($event)\" (dragOver)=\"onDimDragOver($event, 2)\"\n (dragLeave)=\"onDimDragLeave($event)\" (dragDrop)=\"onDimDrop($event, filterArea, 2)\"\n (moveStart)='onDimDragStart($event, filterArea)' (moveEnd)='onDimDragEnd()'>\n <igx-icon igxPrefix (pointerdown)='onFilteringIconPointerDown($event)'\n (click)='onFilteringIconClick($event, filter)'>filter_list</igx-icon>\n {{filter.memberName}}\n </igx-chip>\n <ng-container *ngIf='last'>\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(filterArea)'></span>\n </ng-container>\n </ng-container>\n <igx-chip igxDrop (dragDrop)=\"onDimDrop($event, filterArea, 2)\" #notifyChip [hidden]='true'\n [displayDensity]=\"grid.displayDensity\">\n {{grid.resourceStrings.igx_grid_pivot_filter_drop_chip}}\n </igx-chip>\n </igx-chips-area>\n <div class=\"igx-grid__pivot-filter-toggle\" *ngIf=\"isFiltersButton && grid.filterDimensions.length !== 0\">\n <igx-icon #filterIcon (pointerdown)='onFilteringIconPointerDown($event)' (click)='onFiltersAreaDropdownClick($event)'>filter_list</igx-icon>\n <igx-badge value=\"{{this.filterDropdownDimensions.size}}\"></igx-badge>\n </div>\n </div>\n <div class='igx-grid__tr-pivot--drop-row-area' (igxDragLeave)=\"onAreaDragLeave($event, rowArea)\" igxDrop\n (dropped)=\"onDimDrop($event, rowArea, 0)\">\n </div>\n </div>\n\n <div class=\"igx-grid__tr-pivot-group\">\n <div #pivotColumnContainer *ngIf=\"grid.showPivotConfigurationUI\" class=\"igx-grid__tr-pivot\"\n (dropped)=\"onDimDrop($event, colArea, 1)\" igxDrop (igxDragLeave)=\"onAreaDragLeave($event, colArea)\">\n <!-- Columns area -->\n <igx-chips-area #colArea droppable='true'>\n <span id='empty' (dropped)=\"onDimDrop($event, colArea, 1)\" igxDrop\n *ngIf=\"grid.columnDimensions.length === 0\" class='igx-grid__pivot-empty-chip-area'>\n {{grid.resourceStrings.igx_grid_pivot_empty_column_drop_area}}</span>\n <ng-container *ngFor=\"let col of grid.columnDimensions; let last = last;\">\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(colArea)'></span>\n <igx-chip [draggable]=\"true\" [id]=\"col.memberName\" [displayDensity]=\"grid.displayDensity\" [data]=\"{ pivotArea: 'column' }\"\n [removable]=\"true\" (remove)=\"columnRemoved($event)\" (dragOver)=\"onDimDragOver($event, 1)\"\n (dragLeave)=\"onDimDragLeave($event)\" (dragDrop)=\"onDimDrop($event, colArea, 1)\"\n (moveStart)='onDimDragStart($event, colArea)' (moveEnd)='onDimDragEnd()'\n (click)=\"onChipSort($event, col)\">\n <igx-icon igxPrefix>view_column</igx-icon>\n <igx-icon igxPrefix (pointerdown)='onFilteringIconPointerDown($event)'\n (click)='onFilteringIconClick($event, col)'>filter_list</igx-icon>\n {{col.memberName}}\n <igx-icon *ngIf=\"col.sortDirection\" igxSuffix> {{ col.sortDirection < 2 ? 'arrow_upward'\n : 'arrow_downward' }}</igx-icon>\n </igx-chip>\n <ng-container *ngIf='last'>\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(colArea)'></span>\n </ng-container>\n </ng-container>\n <igx-chip igxDrop (dragDrop)=\"onDimDrop($event, colArea, 1)\" #notifyChip [hidden]='true'\n [displayDensity]=\"grid.displayDensity\">\n {{grid.resourceStrings.igx_grid_pivot_column_drop_chip}}\n </igx-chip>\n </igx-chips-area>\n </div>\n\n <div #pivotValueContainer *ngIf=\"grid.showPivotConfigurationUI\" class=\"igx-grid__tr-pivot\"\n (pointerdown)=\"$event.preventDefault()\" (dropped)=\"onValueDrop($event, valueArea)\" igxDrop\n (igxDragLeave)=\"onAreaDragLeave($event, valueArea)\">\n <!-- Value area -->\n <igx-chips-area #valueArea droppable='true'>\n <span id='empty' (dropped)=\"onValueDrop($event, valueArea)\" igxDrop *ngIf=\"grid.values.length === 0\"\n class='igx-grid__pivot-empty-chip-area'>{{grid.resourceStrings.igx_grid_pivot_empty_value_drop_area}}</span>\n <ng-container *ngFor=\"let value of grid.values; let last = last;\">\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(valueArea)'></span>\n <igx-chip #currChip [draggable]=\"true\" [id]=\"value.displayName || value.member\" [data]=\"{ pivotArea: 'value' }\"\n [displayDensity]=\"grid.displayDensity\" [removable]=\"true\" (remove)=\"valueRemoved($event)\"\n (dragLeave)=\"onDimDragLeave($event)\" (dragOver)=\"onDimDragOver($event)\"\n (dragDrop)=\"onValueDrop($event, valueArea)\">\n <div class=\"igx-grid__tr-pivot-toggle-icons\" igxPrefix\n (click)='onSummaryClick($event, value, dropdown, currChip)'\n (pointerdown)='$event.stopPropagation()' [igxDropDownItemNavigation]=\"dropdown\">\n <igx-icon>functions</igx-icon>\n <igx-icon>arrow_drop_down</igx-icon>\n </div>\n <ng-container *ngTemplateOutlet=\"grid.valueChipTemplate ? grid.valueChipTemplate : valueChipDefaultTemplate; context: { $implicit: value }\"></ng-container>\n </igx-chip>\n <ng-container *ngIf='last'>\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(valueArea)'></span>\n </ng-container>\n </ng-container>\n <igx-chip igxDrop (dragDrop)=\"onValueDrop($event, valueArea)\" #notifyValueChip [hidden]='true'\n [displayDensity]=\"grid.displayDensity\">\n {{grid.resourceStrings.igx_grid_pivot_value_drop_chip}}\n </igx-chip>\n </igx-chips-area>\n </div>\n </div>\n </div>\n </div>\n <div role=\"rowgroup\" class=\"igx-grid-thead__wrapper\" [style.width.px]=\"width\"\n [attr.aria-activedescendant]=\"activeDescendant\" [class.igx-grid__tr--mrl]=\"hasMRL\">\n\n <!-- Column headers area -->\n <div class=\"igx-grid__tr\" role=\"row\" [style.width.px]=\"width\">\n <div #pivotContainer class=\"igx-grid__tr-pivot igx-grid__tr-pivot--row-area\"\n [style.width.px]=\"grid.pivotRowWidths - 1\" (igxDragLeave)=\"onAreaDragLeave($event, rowArea)\" igxDrop\n (dropped)=\"onDimDrop($event, rowArea, 0)\" (pointerdown)=\"$event.preventDefault()\">\n <!-- Row area -->\n <igx-chips-area #rowArea droppable='true'>\n <ng-container *ngIf=\"grid.showPivotConfigurationUI\">\n <span id='empty' igxDrop (dropped)=\"onDimDrop($event, rowArea, 0)\"\n *ngIf=\"grid.rowDimensions.length === 0 && grid.showPivotConfigurationUI\"\n class='igx-grid__pivot-empty-chip-area'>{{grid.resourceStrings.igx_grid_pivot_empty_row_drop_area}}</span>\n <ng-container *ngFor=\"let row of grid.rowDimensions; let last = last;\">\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(rowArea)'></span>\n <igx-chip [draggable]=\"true\" [id]=\"row.memberName\" [displayDensity]=\"grid.displayDensity\" [data]=\"{ pivotArea: 'row' }\"\n [removable]=\"true\" (remove)=\"rowRemoved($event)\" (dragLeave)=\"onDimDragLeave($event)\"\n (dragDrop)=\"onDimDrop($event, rowArea, 0)\" (dragOver)=\"onDimDragOver($event, 0)\"\n (moveStart)='onDimDragStart($event, rowArea)' (moveEnd)='onDimDragEnd()'\n (click)=\"onChipSort($event, row)\">\n <igx-icon igxPrefix>table_rows</igx-icon>\n <igx-icon igxPrefix (pointerdown)='onFilteringIconPointerDown($event)'\n (click)='onFilteringIconClick($event, row)'>filter_list</igx-icon>\n {{ row.memberName}}\n <igx-icon *ngIf=\"row.sortDirection\" igxSuffix> {{ row.sortDirection < 2 ? 'arrow_upward'\n : 'arrow_downward' }}</igx-icon>\n </igx-chip>\n <ng-container *ngIf='last'>\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(rowArea)'></span>\n </ng-container>\n </ng-container>\n <igx-chip igxDrop (dragDrop)=\"onDimDrop($event, rowArea, 0)\" #notifyChip [hidden]='true'\n [displayDensity]=\"grid.displayDensity\">\n {{grid.resourceStrings.igx_grid_pivot_row_drop_chip}}\n </igx-chip>\n </ng-container>\n </igx-chips-area>\n </div>\n\n <!-- Pinned columns collection from the start -->\n <ng-container *ngIf=\"pinnedColumnCollection.length && grid.isPinningToStart\">\n <ng-container *ngFor=\"let column of pinnedColumnCollection | igxTopLevel\">\n <igx-grid-header-group [ngClass]=\"column.headerGroupClasses\"\n [ngStyle]=\"column.headerGroupStyles | igxHeaderGroupStyle:column:grid.pipeTrigger\" [column]=\"column\"\n [style.min-width]=\"column.resolvedWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\"\n [style.flex-basis]=\"column.resolvedWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\"\n (pointerdown)=\"grid.navigation.focusOutRowHeader($event)\">\n </igx-grid-header-group>\n </ng-container>\n </ng-container>\n <div class=\"igx-grid-thead--virtualizationWrapper\" [style.max-height.px]='maxContainerHeight'>\n <div class=\"igx-grid-thead__group igx-grid-thead--virtualizationContainer\" [style.height.px]='totalDepth > 1 ? grid.rowHeight : undefined' *ngFor='let dimLevelColumns of columnDimensionsByLevel; let i = index' [style.width.px]='grid.unpinnedWidth'>\n <ng-template igxGridFor #headerVirtualContainer let-column\n [igxGridForOf]=\"dimLevelColumns\" [igxGridForOfUniqueSizeCache] = 'true' [igxForScrollContainer]=\"grid.parentVirtDir\"\n [igxForContainerSize]=\"grid.unpinnedWidth\" [igxForTrackBy]=\"grid.trackColumnChanges\"\n [igxForSizePropName]=\"'calcPixelWidth'\" [igxForScrollOrientation]=\"'horizontal'\">\n <igx-grid-header-group [ngClass]=\"column.headerGroupClasses\"\n [style.height.px]='totalDepth > 1 ? calcHeight(column, i) : undefined'\n [ngStyle]=\"column.headerGroupStyles |igxHeaderGroupStyle:column:grid.pipeTrigger\" [column]=\"column\"\n [style.min-width]=\"column.resolvedWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\"\n [style.flex-basis]=\"column.resolvedWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\"\n [class.igx-grid__tr-pivot--columnDimensionLeaf] = 'isDuplicateOfExistingParent(column, i)'\n [class.igx-grid__tr-pivot--columnMultiRowSpan] = 'isMultiRow(column, i)'\n >\n </igx-grid-header-group>\n </ng-template>\n </div>\n </div>\n\n <!-- Pinned columns collection at the end -->\n <ng-container *ngIf=\"pinnedColumnCollection.length && !grid.isPinningToStart\">\n <ng-container *ngFor=\"let column of pinnedColumnCollection | igxTopLevel\">\n <igx-grid-header-group [ngClass]=\"column.headerGroupClasses\"\n [ngStyle]=\"column.headerGroupStyles |igxHeaderGroupStyle:column:grid.pipeTrigger\" [column]=\"column\"\n [style.min-width]=\"column.resolvedWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\"\n [style.flex-basis]=\"column.resolvedWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\"\n [style.left]=\"column.rightPinnedOffset\" (pointerdown)=\"grid.navigation.focusOutRowHeader($event)\">\n </igx-grid-header-group>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n<!-- Header thumb area -->\n<div class=\"igx-grid-thead__thumb\" [hidden]=\"!grid.hasVerticalScroll()\" [style.width.px]=\"grid.scrollSize\">\n</div>\n\n<igx-drop-down #dropdown (selectionChanging)='onAggregationChange($event)'>\n <igx-drop-down-item *ngFor=\"let item of aggregateList\" [selected]='isSelected(item)' [value]='item'>\n {{ item.label }}\n </igx-drop-down-item>\n</igx-drop-down>\n\n<div [hidden]='true'>\n <igx-grid-excel-style-filtering [maxHeight]='grid.excelStyleFilterMaxHeight' [minHeight]='grid.excelStyleFilterMinHeight' #esf>\n <div igxExcelStyleColumnOperations>\n <igx-chips-area #dropdownChips>\n <igx-chip *ngFor=\"let filter of this.filterDropdownDimensions\" [id]=\"filter.memberName\"\n [displayDensity]=\"grid.displayDensity\" [removable]=\"true\" (remove)=\"filterRemoved($event)\"\n (chipClick)='onFiltersSelectionChanged($event)' [selectable]='true' [selected]='filter === this.filterDropdownDimensions.values().next().value'>\n {{filter.memberName}}\n </igx-chip>\n </igx-chips-area>\n </div>\n <igx-excel-style-filter-operations>\n <igx-excel-style-search></igx-excel-style-search>\n </igx-excel-style-filter-operations>\n </igx-grid-excel-style-filtering>\n</div>\n\n<div style=\"visibility: hidden; position: absolute; top: -10000px\">\n <igx-chips-area #filterAreaHidden droppable='true'>\n <igx-chip *ngFor=\"let filter of grid.filterDimensions\" [id]=\"filter.memberName\" [draggable]=\"true\"\n [displayDensity]=\"grid.displayDensity\" [removable]=\"true\" (remove)=\"filterRemoved($event)\">\n <igx-icon igxPrefix>filter_list</igx-icon>\n {{filter.memberName}}\n </igx-chip>\n </igx-chips-area>\n</div>\n\n<ng-template #valueChipDefaultTemplate let-value>\n {{value.aggregate.key}}({{value.displayName || value.member}})\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: IgxDropDirective, selector: "[igxDrop]", inputs: ["igxDrop", "dropChannel", "dropStrategy"], outputs: ["enter", "over", "leave", "dropped"], exportAs: ["drop"] }, { kind: "component", type: IgxChipsAreaComponent, selector: "igx-chips-area", inputs: ["width", "height"], outputs: ["reorder", "selectionChange", "moveStart", "moveEnd"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: IgxChipComponent, selector: "igx-chip", inputs: ["variant", "id", "tabIndex", "data", "draggable", "animateOnRelease", "hideBaseOnDrag", "removable", "removeIcon", "selectable", "selectIcon", "class", "disabled", "selected", "color", "resourceStrings"], outputs: ["selectedChange", "moveStart", "moveEnd", "remove", "chipClick", "selectedChanging", "selectedChanged", "keyDown", "dragEnter", "dragLeave", "dragOver", "dragDrop"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "directive", type: IgxPrefixDirective, selector: "igx-prefix,[igxPrefix],[igxStart]" }, { kind: "component", type: IgxBadgeComponent, selector: "igx-badge", inputs: ["id", "type", "value", "icon", "iconSet", "shape"] }, { kind: "directive", type: IgxSuffixDirective, selector: "igx-suffix,[igxSuffix],[igxEnd]" }, { kind: "directive", type: IgxDropDownItemNavigationDirective, selector: "[igxDropDownItemNavigation]", inputs: ["igxDropDownItemNavigation"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IgxGridHeaderGroupComponent, selector: "igx-grid-header-group", inputs: ["column"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: IgxGridForOfDirective, selector: "[igxGridFor][igxGridForOf]", inputs: ["igxGridForOf", "igxGridForOfUniqueSizeCache", "igxGridForOfVariableSizes"], outputs: ["dataChanging"] }, { kind: "component", type: IgxDropDownComponent, selector: "igx-drop-down", inputs: ["allowItemsFocus", "labelledBy"], outputs: ["opening", "opened", "closing", "closed"] }, { kind: "component", type: IgxDropDownItemComponent, selector: "igx-drop-down-item" }, { kind: "component", type: IgxGridExcelStyleFilteringComponent, selector: "igx-grid-excel-style-filtering", inputs: ["column", "minHeight", "maxHeight"], outputs: ["loadingStart", "loadingEnd", "initialized", "sortingChanged", "columnChange", "listDataLoaded"] }, { kind: "directive", type: IgxExcelStyleColumnOperationsTemplateDirective, selector: "igx-excel-style-column-operations,[igxExcelStyleColumnOperations]" }, { kind: "directive", type: IgxExcelStyleFilterOperationsTemplateDirective, selector: "igx-excel-style-filter-operations,[igxExcelStyleFilterOperations]" }, { kind: "component", type: IgxExcelStyleSearchComponent, selector: "igx-excel-style-search", inputs: ["id"] }, { kind: "pipe", type: IgxHeaderGroupWidthPipe, name: "igxHeaderGroupWidth" }, { kind: "pipe", type: IgxHeaderGroupStylePipe, name: "igxHeaderGroupStyle" }, { kind: "pipe", type: IgxGridTopLevelColumns, name: "igxTopLevel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
73252
73409
  }
73253
73410
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: IgxPivotHeaderRowComponent, decorators: [{
73254
73411
  type: Component,
@@ -76214,7 +76371,7 @@ class IgxPivotGridComponent extends IgxGridBaseDirective {
76214
76371
  IgxPivotColumnResizingService,
76215
76372
  IgxForOfSyncService,
76216
76373
  IgxForOfScrollSyncService
76217
- ], queries: [{ propertyName: "valueChipTemplateDirective", first: true, predicate: IgxPivotValueChipTemplateDirective, descendants: true, read: IgxPivotValueChipTemplateDirective }], viewQueries: [{ propertyName: "theadRow", first: true, predicate: IgxPivotHeaderRowComponent, descendants: true, static: true }, { propertyName: "recordTemplate", first: true, predicate: ["record_template"], descendants: true, read: TemplateRef, static: true }, { propertyName: "headerTemplate", first: true, predicate: ["headerTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "resizeLine", first: true, predicate: IgxPivotGridColumnResizerComponent, descendants: true }, { propertyName: "defaultEmptyPivotGridTemplate", first: true, predicate: ["emptyPivotGridTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "excelStyleFilteringComponents", predicate: IgxGridExcelStyleFilteringComponent, descendants: true, read: IgxGridExcelStyleFilteringComponent }, { propertyName: "rowDimensionContentCollection", predicate: IgxPivotRowDimensionContentComponent, descendants: true }, { propertyName: "verticalRowDimScrollContainers", predicate: ["verticalRowDimScrollContainer"], descendants: true, read: IgxGridForOfDirective }], usesInheritance: true, ngImport: i0, template: "<!-- Toolbar area -->\n<ng-content select=\"igx-grid-toolbar\"></ng-content>\n\n<!-- Grid table head row area -->\n<igx-pivot-header-row class=\"igx-grid-thead igx-grid-thead--pivot\" tabindex=\"0\"\n [grid]=\"this\"\n [hasMRL]=\"hasColumnLayouts\"\n [density]=\"displayDensity\"\n [activeDescendant]=\"activeDescendant\"\n [width]=\"calcWidth\"\n [pinnedColumnCollection]=\"pinnedColumns\"\n [unpinnedColumnCollection]=\"unpinnedColumns\"\n (keydown.meta.c)=\"copyHandler($event)\"\n (keydown.control.c)=\"copyHandler($event)\"\n (copy)=\"copyHandler($event)\"\n (keydown)=\"navigation.headerNavigation($event)\"\n (scroll)=\"preventHeaderScroll($event)\"\n>\n</igx-pivot-header-row>\n\n<div igxGridBody (keydown.control.c)=\"copyHandler($event)\" (copy)=\"copyHandler($event)\" class=\"igx-grid__tbody\" role=\"rowgroup\">\n <ng-container *ngTemplateOutlet=\"rowDimensions.length ? defaultRowDimensionsTemplate : emptyRowDimensionsTemplate; context: this\"></ng-container>\n <div class=\"igx-grid__tbody-content\" tabindex=\"0\" [attr.role]=\"dataView.length ? null : 'row'\" (keydown)=\"navigation.handleNavigation($event)\" (focus)=\"navigation.focusTbody($event)\"\n (dragStop)=\"selectionService.dragMode = $event\" (scroll)=\"preventContainerScroll($event)\"\n (dragScroll)=\"dragScroll($event)\" [igxGridDragSelect]=\"selectionService.dragMode\"\n [style.height.px]=\"totalHeight\" [style.width.px]=\"pivotContentCalcWidth || null\" #tbody [attr.aria-activedescendant]=\"activeDescendant\">\n <span *ngIf=\"hasMovableColumns && columnInDrag && pinnedColumns.length <= 0\"\n [igxColumnMovingDrop]=\"headerContainer\" [attr.droppable]=\"true\" id=\"left\"\n class=\"igx-grid__scroll-on-drag-left\"></span>\n <span *ngIf=\"hasMovableColumns && columnInDrag && pinnedColumns.length > 0\"\n [igxColumnMovingDrop]=\"headerContainer\" [attr.droppable]=\"true\" id=\"left\"\n class=\"igx-grid__scroll-on-drag-pinned\" [style.left.px]=\"pinnedWidth\"></span>\n <ng-template igxGridFor let-rowData [igxGridForOf]=\"data\n | pivotGridFilter:pivotConfiguration:filterStrategy:advancedFilteringExpressionsTree:filteringPipeTrigger:pipeTrigger\n | pivotGridSort:pivotConfiguration:sortStrategy:pipeTrigger\n | pivotGridRow:pivotConfiguration:pivotValueCloneStrategy:expansionStates:pipeTrigger:sortingExpressions\n | pivotGridColumn:pivotConfiguration:pivotValueCloneStrategy:expansionStates:pipeTrigger:sortingExpressions\n | pivotGridAutoTransform:pivotConfiguration:pipeTrigger\n | pivotGridColumnSort:sortingExpressions:sortStrategy:pipeTrigger\n | pivotGridRowExpansion:pivotConfiguration:expansionStates:defaultExpandState:pipeTrigger\"\n let-rowIndex=\"index\" [igxForScrollOrientation]=\"'vertical'\" [igxForScrollContainer]=\"verticalScroll\"\n [igxForContainerSize]=\"calcHeight\"\n [igxForItemSize]=\"hasColumnLayouts ? rowHeight * multiRowLayoutRowSize + 1 : renderedRowHeight\"\n [igxGridForOfVariableSizes]=\"false\"\n #verticalScrollContainer>\n <ng-template\n [igxTemplateOutlet]=\"recordTemplate\"\n [igxTemplateOutletContext]=\"getContext(rowData, rowIndex)\"\n (cachedViewLoaded)=\"cachedViewLoaded($event)\">\n </ng-template>\n </ng-template>\n <ng-template #record_template let-rowIndex=\"index\" let-rowData>\n <igx-pivot-row [style.height.px]=\"renderedRowHeight\" [gridID]=\"id\" [index]=\"rowIndex\" [data]=\"rowData\"\n [ngClass]=\"rowClasses | igxGridRowClasses:row:row.inEditMode:row.selected:row.dirty:row.deleted:row.dragging:rowIndex:hasColumnLayouts:false:rowData:pipeTrigger\"\n [ngStyle]=\"rowStyles | igxGridRowStyles:rowData:rowIndex:pipeTrigger\" #row>\n </igx-pivot-row>\n </ng-template>\n\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n <igc-trial-watermark></igc-trial-watermark>\n </div>\n <div igxToggle #loadingOverlay>\n <igx-circular-bar [indeterminate]=\"true\" *ngIf=\"shouldOverlayLoading\">\n </igx-circular-bar>\n </div>\n <span *ngIf=\"hasMovableColumns && columnInDrag\" [igxColumnMovingDrop]=\"headerContainer\" [attr.droppable]=\"true\"\n id=\"right\" class=\"igx-grid__scroll-on-drag-right\"></span>\n <div [hidden]=\"!hasVerticalScroll()\" class=\"igx-grid__tbody-scrollbar\" [style.width.px]=\"scrollSize\" (pointerdown)=\"$event.preventDefault()\">\n <div class=\"igx-grid__tbody-scrollbar-start\" [style.height.px]=\" isRowPinningToTop ? pinnedRowHeight : 0\"></div>\n <div class=\"igx-grid__tbody-scrollbar-main\" [style.height.px]=\"calcHeight\">\n <ng-template igxGridFor [igxGridForOf]=\"[]\" #verticalScrollHolder></ng-template>\n </div>\n <div class=\"igx-grid__tbody-scrollbar-end\" [style.height.px]=\"!isRowPinningToTop ? pinnedRowHeight : 0\"></div>\n </div>\n\n <div class=\"igx-grid__addrow-snackbar\">\n <igx-snackbar #addRowSnackbar [outlet]=\"igxBodyOverlayOutlet\" [actionText]=\"resourceStrings.igx_grid_snackbar_addrow_actiontext\" [displayTime]=\"snackbarDisplayTime\">{{resourceStrings.igx_grid_snackbar_addrow_label}}</igx-snackbar>\n </div>\n\n <div #igxBodyOverlayOutlet=\"overlay-outlet\" igxOverlayOutlet></div>\n</div>\n\n<div class=\"igx-grid__scroll\" [style.height.px]=\"scrollSize\" #scr [hidden]=\"isHorizontalScrollHidden\" (pointerdown)=\"$event.preventDefault()\">\n <div class=\"igx-grid__scroll-start\" [style.width.px]=\"pivotPinnedWidth\" [style.min-width.px]=\"pivotPinnedWidth\"></div>\n <div class=\"igx-grid__scroll-main\" [style.width.px]=\"pivotUnpinnedWidth\">\n <ng-template igxGridFor [igxGridForOf]=\"EMPTY_DATA\" #scrollContainer>\n </ng-template>\n </div>\n <div class=\"igx-grid__scroll-end\" [style.width.px]=\"pivotPinnedWidth\" [style.min-width.px]=\"pivotPinnedWidth\" [hidden]=\"pivotPinnedWidth === 0 || isPinningToStart\"></div>\n</div>\n\n<div class=\"igx-grid__tfoot\" role=\"rowgroup\" #tfoot>\n</div>\n\n<div class=\"igx-grid__footer\" #footer>\n <ng-content select=\"igx-grid-footer\"></ng-content>\n</div>\n\n<ng-template #emptyFilteredGrid>\n <span class=\"igx-grid__tbody-message\" role=\"cell\">\n <span>{{emptyFilteredGridMessage}}</span>\n </span>\n</ng-template>\n\n<ng-template #defaultEmptyGrid>\n <span class=\"igx-grid__tbody-message\" role=\"cell\">\n <span>{{emptyGridMessage}}</span>\n </span>\n</ng-template>\n\n<ng-template #defaultLoadingGrid>\n <div class=\"igx-grid__loading\">\n <igx-circular-bar [indeterminate]=\"true\">\n </igx-circular-bar>\n </div>\n</ng-template>\n<igx-pivot-grid-column-resizer [restrictResizerTop]=\"theadRow.nativeElement.clientHeight\" *ngIf=\"colResizingService.showResizer\"></igx-pivot-grid-column-resizer>\n<div class=\"igx-grid__loading-outlet\" #igxLoadingOverlayOutlet igxOverlayOutlet></div>\n<div class=\"igx-grid__outlet\" #igxFilteringOverlayOutlet igxOverlayOutlet></div>\n\n<ng-template #headerTemplate let-column>\n <div class=\"igx-grid__tr--header\">\n <igx-icon [attr.draggable]=\"false\"\n (click)=\"toggleColumn(column)\">\n {{getColumnGroupExpandState(column) ? \"chevron_right\" : \"expand_more\"}}</igx-icon>\n {{column.header}}\n </div>\n</ng-template>\n\n<ng-template #defaultRowDimensionsTemplate>\n <div tabindex=\"0\" [style.height.px]=\"totalHeight\" *ngFor=\"let dim of rowDimensions; let dimIndex = index;\" #rowDimensionContainer role=\"rowgroup\" class=\"igx-grid__tbody-pivot-dimension\" (focus)=\"navigation.focusTbody($event)\" (keydown)=\"navigation.handleNavigation($event)\">\n <ng-template igxGridFor let-rowData [igxGridForOf]=\"dataView\n | pivotGridCellMerging:pivotConfiguration:dim:pipeTrigger\"\n let-rowIndex=\"index\" [igxForScrollOrientation]=\"'vertical'\" [igxForScrollContainer]=\"verticalScroll\"\n [igxForContainerSize]=\"calcHeight\"\n [igxForItemSize]=\"renderedRowHeight\"\n [igxForSizePropName]=\"'height'\"\n #verticalRowDimScrollContainer>\n <igx-pivot-row-dimension-content role=\"row\" class=\"igx-grid-thead\" [grid]=\"this\"\n [dimension]=\"rowData.dimensions[dimIndex]\"\n [rootDimension]=\"dim\"\n [style.height.px]=\"renderedRowHeight * (rowData.rowSpan || 1)\"\n [rowIndex]=\"rowIndex\" [rowData]=\"rowData\"\n [density]=\"displayDensity\" [width]=\"rowDimensionWidthToPixels(dim)\">\n </igx-pivot-row-dimension-content>\n </ng-template>\n </div>\n</ng-template>\n<ng-template #emptyRowDimensionsTemplate>\n <div tabindex=\"0\" *ngIf=\"columnDimensions.length > 0 || values.length > 0\" #rowDimensionContainer role=\"rowgroup\" class=\"igx-grid__tbody-pivot-dimension\" (focus)=\"navigation.focusTbody($event)\" (keydown)=\"navigation.handleNavigation($event)\">\n <igx-pivot-row-dimension-content role=\"row\" class=\"igx-grid-thead\" [grid]=\"this\"\n [dimension]=\"emptyRowDimension\"\n [rootDimension]=\"emptyRowDimension\"\n [rowIndex]=\"0\" [rowData]=\"dataView[0]\"\n [density]=\"displayDensity\" [width]=\"rowDimensionWidthToPixels(emptyRowDimension)\">\n </igx-pivot-row-dimension-content>\n </div>\n</ng-template>\n\n<ng-template #emptyPivotGridTemplate>\n <span class=\"igx-grid__tbody-message\" role=\"cell\">\n <span>{{resourceStrings.igx_grid_pivot_empty_message}}</span>\n </span>\n</ng-template>\n\n<div [hidden]=\"true\">\n <igx-grid-excel-style-filtering [maxHeight]=\"excelStyleFilterMaxHeight\" [minHeight]=\"excelStyleFilterMinHeight\">\n <div igxExcelStyleColumnOperations [hidden]=\"true\"></div>\n <igx-excel-style-filter-operations>\n <igx-excel-style-search></igx-excel-style-search>\n </igx-excel-style-filter-operations>\n </igx-grid-excel-style-filtering>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IgxPivotHeaderRowComponent, selector: "igx-pivot-header-row" }, { kind: "directive", type: IgxGridBodyDirective, selector: "[igxGridBody]" }, { kind: "directive", type: IgxGridDragSelectDirective, selector: "[igxGridDragSelect]", inputs: ["igxGridDragSelect"], outputs: ["dragStop", "dragScroll"] }, { kind: "directive", type: IgxColumnMovingDropDirective, selector: "[igxColumnMovingDrop]", inputs: ["igxColumnMovingDrop"] }, { kind: "directive", type: IgxGridForOfDirective, selector: "[igxGridFor][igxGridForOf]", inputs: ["igxGridForOf", "igxGridForOfUniqueSizeCache", "igxGridForOfVariableSizes"], outputs: ["dataChanging"] }, { kind: "directive", type: IgxTemplateOutletDirective, selector: "[igxTemplateOutlet]", inputs: ["igxTemplateOutletContext", "igxTemplateOutlet"], outputs: ["viewCreated", "viewMoved", "cachedViewLoaded", "beforeViewDetach"] }, { kind: "component", type: IgxPivotRowComponent, selector: "igx-pivot-row", inputs: ["selected", "data"] }, { kind: "directive", type: IgxToggleDirective, selector: "[igxToggle]", inputs: ["id"], outputs: ["opened", "opening", "closed", "closing", "appended"], exportAs: ["toggle"] }, { kind: "component", type: IgxCircularProgressBarComponent, selector: "igx-circular-bar", inputs: ["id", "isIndeterminate", "textVisibility", "text"] }, { kind: "component", type: IgxSnackbarComponent, selector: "igx-snackbar", inputs: ["id", "actionText", "positionSettings"], outputs: ["clicked", "animationStarted", "animationDone"] }, { kind: "directive", type: IgxOverlayOutletDirective, selector: "[igxOverlayOutlet]", exportAs: ["overlay-outlet"] }, { kind: "component", type: IgxPivotGridColumnResizerComponent, selector: "igx-pivot-grid-column-resizer" }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "component", type: IgxPivotRowDimensionContentComponent, selector: "igx-pivot-row-dimension-content", inputs: ["rowIndex", "dimension", "rootDimension", "rowData"] }, { kind: "component", type: IgxGridExcelStyleFilteringComponent, selector: "igx-grid-excel-style-filtering", inputs: ["column", "minHeight", "maxHeight"], outputs: ["loadingStart", "loadingEnd", "initialized", "sortingChanged", "columnChange", "listDataLoaded"] }, { kind: "directive", type: IgxExcelStyleColumnOperationsTemplateDirective, selector: "igx-excel-style-column-operations,[igxExcelStyleColumnOperations]" }, { kind: "directive", type: IgxExcelStyleFilterOperationsTemplateDirective, selector: "igx-excel-style-filter-operations,[igxExcelStyleFilterOperations]" }, { kind: "component", type: IgxExcelStyleSearchComponent, selector: "igx-excel-style-search" }, { kind: "pipe", type: IgxGridRowClassesPipe, name: "igxGridRowClasses" }, { kind: "pipe", type: IgxGridRowStylesPipe, name: "igxGridRowStyles" }, { kind: "pipe", type: IgxPivotRowPipe, name: "pivotGridRow" }, { kind: "pipe", type: IgxPivotRowExpansionPipe, name: "pivotGridRowExpansion" }, { kind: "pipe", type: IgxPivotAutoTransform, name: "pivotGridAutoTransform" }, { kind: "pipe", type: IgxPivotColumnPipe, name: "pivotGridColumn" }, { kind: "pipe", type: IgxPivotGridFilterPipe, name: "pivotGridFilter" }, { kind: "pipe", type: IgxPivotGridSortingPipe, name: "pivotGridSort" }, { kind: "pipe", type: IgxPivotGridColumnSortingPipe, name: "pivotGridColumnSort" }, { kind: "pipe", type: IgxPivotCellMergingPipe, name: "pivotGridCellMerging" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
76374
+ ], queries: [{ propertyName: "valueChipTemplateDirective", first: true, predicate: IgxPivotValueChipTemplateDirective, descendants: true, read: IgxPivotValueChipTemplateDirective }], viewQueries: [{ propertyName: "theadRow", first: true, predicate: IgxPivotHeaderRowComponent, descendants: true, static: true }, { propertyName: "recordTemplate", first: true, predicate: ["record_template"], descendants: true, read: TemplateRef, static: true }, { propertyName: "headerTemplate", first: true, predicate: ["headerTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "resizeLine", first: true, predicate: IgxPivotGridColumnResizerComponent, descendants: true }, { propertyName: "defaultEmptyPivotGridTemplate", first: true, predicate: ["emptyPivotGridTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "excelStyleFilteringComponents", predicate: IgxGridExcelStyleFilteringComponent, descendants: true, read: IgxGridExcelStyleFilteringComponent }, { propertyName: "rowDimensionContentCollection", predicate: IgxPivotRowDimensionContentComponent, descendants: true }, { propertyName: "verticalRowDimScrollContainers", predicate: ["verticalRowDimScrollContainer"], descendants: true, read: IgxGridForOfDirective }], usesInheritance: true, ngImport: i0, template: "<!-- Toolbar area -->\n<ng-content select=\"igx-grid-toolbar\"></ng-content>\n\n<!-- Grid table head row area -->\n<igx-pivot-header-row class=\"igx-grid-thead igx-grid-thead--pivot\" tabindex=\"0\"\n [grid]=\"this\"\n [hasMRL]=\"hasColumnLayouts\"\n [density]=\"displayDensity\"\n [activeDescendant]=\"activeDescendant\"\n [width]=\"calcWidth\"\n [pinnedColumnCollection]=\"pinnedColumns\"\n [unpinnedColumnCollection]=\"unpinnedColumns\"\n (keydown.meta.c)=\"copyHandler($event)\"\n (keydown.control.c)=\"copyHandler($event)\"\n (copy)=\"copyHandler($event)\"\n (keydown)=\"navigation.headerNavigation($event)\"\n (scroll)=\"preventHeaderScroll($event)\"\n>\n</igx-pivot-header-row>\n\n<div igxGridBody (keydown.control.c)=\"copyHandler($event)\" (copy)=\"copyHandler($event)\" class=\"igx-grid__tbody\" role=\"rowgroup\">\n <ng-container *ngTemplateOutlet=\"rowDimensions.length ? defaultRowDimensionsTemplate : emptyRowDimensionsTemplate; context: this\"></ng-container>\n <div class=\"igx-grid__tbody-content\" tabindex=\"0\" [attr.role]=\"dataView.length ? null : 'row'\" (keydown)=\"navigation.handleNavigation($event)\" (focus)=\"navigation.focusTbody($event)\"\n (dragStop)=\"selectionService.dragMode = $event\" (scroll)=\"preventContainerScroll($event)\"\n (dragScroll)=\"dragScroll($event)\" [igxGridDragSelect]=\"selectionService.dragMode\"\n [style.height.px]=\"totalHeight\" [style.width.px]=\"pivotContentCalcWidth || null\" #tbody [attr.aria-activedescendant]=\"activeDescendant\">\n <span *ngIf=\"hasMovableColumns && columnInDrag && pinnedColumns.length <= 0\"\n [igxColumnMovingDrop]=\"headerContainer\" [attr.droppable]=\"true\" id=\"left\"\n class=\"igx-grid__scroll-on-drag-left\"></span>\n <span *ngIf=\"hasMovableColumns && columnInDrag && pinnedColumns.length > 0\"\n [igxColumnMovingDrop]=\"headerContainer\" [attr.droppable]=\"true\" id=\"left\"\n class=\"igx-grid__scroll-on-drag-pinned\" [style.left.px]=\"pinnedWidth\"></span>\n <ng-template igxGridFor let-rowData [igxGridForOf]=\"data\n | pivotGridFilter:pivotConfiguration:filterStrategy:advancedFilteringExpressionsTree:filteringPipeTrigger:pipeTrigger\n | pivotGridSort:pivotConfiguration:sortStrategy:pipeTrigger\n | pivotGridRow:pivotConfiguration:pivotValueCloneStrategy:expansionStates:pipeTrigger:sortingExpressions\n | pivotGridColumn:pivotConfiguration:pivotValueCloneStrategy:expansionStates:pipeTrigger:sortingExpressions\n | pivotGridAutoTransform:pivotConfiguration:pipeTrigger\n | pivotGridColumnSort:sortingExpressions:sortStrategy:pipeTrigger\n | pivotGridRowExpansion:pivotConfiguration:expansionStates:defaultExpandState:pipeTrigger\"\n let-rowIndex=\"index\" [igxForScrollOrientation]=\"'vertical'\" [igxForScrollContainer]=\"verticalScroll\"\n [igxForContainerSize]=\"calcHeight\"\n [igxForItemSize]=\"hasColumnLayouts ? rowHeight * multiRowLayoutRowSize + 1 : renderedRowHeight\"\n [igxGridForOfVariableSizes]=\"false\"\n #verticalScrollContainer>\n <ng-template\n [igxTemplateOutlet]=\"recordTemplate\"\n [igxTemplateOutletContext]=\"getContext(rowData, rowIndex)\"\n (cachedViewLoaded)=\"cachedViewLoaded($event)\">\n </ng-template>\n </ng-template>\n <ng-template #record_template let-rowIndex=\"index\" let-rowData>\n <igx-pivot-row [style.height.px]=\"renderedRowHeight\" [gridID]=\"id\" [index]=\"rowIndex\" [data]=\"rowData\"\n [ngClass]=\"rowClasses | igxGridRowClasses:row:row.inEditMode:row.selected:row.dirty:row.deleted:row.dragging:rowIndex:hasColumnLayouts:false:rowData:pipeTrigger\"\n [ngStyle]=\"rowStyles | igxGridRowStyles:rowData:rowIndex:pipeTrigger\" #row>\n </igx-pivot-row>\n </ng-template>\n\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n <igc-trial-watermark></igc-trial-watermark>\n </div>\n <div igxToggle #loadingOverlay>\n <igx-circular-bar [indeterminate]=\"true\" *ngIf=\"shouldOverlayLoading\">\n </igx-circular-bar>\n </div>\n <span *ngIf=\"hasMovableColumns && columnInDrag\" [igxColumnMovingDrop]=\"headerContainer\" [attr.droppable]=\"true\"\n id=\"right\" class=\"igx-grid__scroll-on-drag-right\"></span>\n <div [hidden]=\"!hasVerticalScroll()\" class=\"igx-grid__tbody-scrollbar\" [style.width.px]=\"scrollSize\" (pointerdown)=\"$event.preventDefault()\">\n <div class=\"igx-grid__tbody-scrollbar-start\" [style.height.px]=\" isRowPinningToTop ? pinnedRowHeight : 0\"></div>\n <div class=\"igx-grid__tbody-scrollbar-main\" [style.height.px]=\"calcHeight\">\n <ng-template igxGridFor [igxGridForOf]=\"[]\" #verticalScrollHolder></ng-template>\n </div>\n <div class=\"igx-grid__tbody-scrollbar-end\" [style.height.px]=\"!isRowPinningToTop ? pinnedRowHeight : 0\"></div>\n </div>\n\n <div class=\"igx-grid__addrow-snackbar\">\n <igx-snackbar #addRowSnackbar [outlet]=\"igxBodyOverlayOutlet\" [actionText]=\"resourceStrings.igx_grid_snackbar_addrow_actiontext\" [displayTime]=\"snackbarDisplayTime\">{{resourceStrings.igx_grid_snackbar_addrow_label}}</igx-snackbar>\n </div>\n\n <div #igxBodyOverlayOutlet=\"overlay-outlet\" igxOverlayOutlet></div>\n</div>\n\n<div class=\"igx-grid__scroll\" [style.height.px]=\"scrollSize\" #scr [hidden]=\"isHorizontalScrollHidden\" (pointerdown)=\"$event.preventDefault()\">\n <div class=\"igx-grid__scroll-start\" [style.width.px]=\"pivotPinnedWidth\" [style.min-width.px]=\"pivotPinnedWidth\"></div>\n <div class=\"igx-grid__scroll-main\" [style.width.px]=\"pivotUnpinnedWidth\">\n <ng-template igxGridFor [igxGridForOf]=\"EMPTY_DATA\" #scrollContainer>\n </ng-template>\n </div>\n <div class=\"igx-grid__scroll-end\" [style.width.px]=\"pivotPinnedWidth\" [style.min-width.px]=\"pivotPinnedWidth\" [hidden]=\"pivotPinnedWidth === 0 || isPinningToStart\"></div>\n</div>\n\n<div class=\"igx-grid__tfoot\" role=\"rowgroup\" #tfoot>\n</div>\n\n<div class=\"igx-grid__footer\" #footer>\n <ng-content select=\"igx-grid-footer\"></ng-content>\n</div>\n\n<ng-template #emptyFilteredGrid>\n <span class=\"igx-grid__tbody-message\" role=\"cell\">\n <span>{{emptyFilteredGridMessage}}</span>\n </span>\n</ng-template>\n\n<ng-template #defaultEmptyGrid>\n <span class=\"igx-grid__tbody-message\" role=\"cell\">\n <span>{{emptyGridMessage}}</span>\n </span>\n</ng-template>\n\n<ng-template #defaultLoadingGrid>\n <div class=\"igx-grid__loading\">\n <igx-circular-bar [indeterminate]=\"true\">\n </igx-circular-bar>\n </div>\n</ng-template>\n<igx-pivot-grid-column-resizer [restrictResizerTop]=\"theadRow.nativeElement.clientHeight\" *ngIf=\"colResizingService.showResizer\"></igx-pivot-grid-column-resizer>\n<div class=\"igx-grid__loading-outlet\" #igxLoadingOverlayOutlet igxOverlayOutlet></div>\n<div class=\"igx-grid__outlet\" #igxFilteringOverlayOutlet igxOverlayOutlet></div>\n\n<ng-template #headerTemplate let-column>\n <div class=\"igx-grid__tr--header\">\n <igx-icon [attr.draggable]=\"false\"\n (click)=\"toggleColumn(column)\">\n {{getColumnGroupExpandState(column) ? \"chevron_right\" : \"expand_more\"}}</igx-icon>\n {{column.header}}\n </div>\n</ng-template>\n\n<ng-template #defaultRowDimensionsTemplate>\n <div tabindex=\"0\" [style.height.px]=\"totalHeight\" *ngFor=\"let dim of rowDimensions; let dimIndex = index;\" #rowDimensionContainer role=\"rowgroup\" class=\"igx-grid__tbody-pivot-dimension\" (focus)=\"navigation.focusTbody($event)\" (keydown)=\"navigation.handleNavigation($event)\">\n <ng-template igxGridFor let-rowData [igxGridForOf]=\"dataView\n | pivotGridCellMerging:pivotConfiguration:dim:pipeTrigger\"\n let-rowIndex=\"index\" [igxForScrollOrientation]=\"'vertical'\" [igxForScrollContainer]=\"verticalScroll\"\n [igxForContainerSize]=\"calcHeight\"\n [igxForItemSize]=\"renderedRowHeight\"\n [igxForSizePropName]=\"'height'\"\n #verticalRowDimScrollContainer>\n <igx-pivot-row-dimension-content role=\"row\" class=\"igx-grid-thead\" [grid]=\"this\"\n [dimension]=\"rowData.dimensions[dimIndex]\"\n [rootDimension]=\"dim\"\n [style.height.px]=\"renderedRowHeight * (rowData.rowSpan || 1)\"\n [rowIndex]=\"rowIndex\" [rowData]=\"rowData\"\n [density]=\"displayDensity\" [width]=\"rowDimensionWidthToPixels(dim)\">\n </igx-pivot-row-dimension-content>\n </ng-template>\n </div>\n</ng-template>\n<ng-template #emptyRowDimensionsTemplate>\n <div tabindex=\"0\" *ngIf=\"columnDimensions.length > 0 || values.length > 0\" #rowDimensionContainer role=\"rowgroup\" class=\"igx-grid__tbody-pivot-dimension\" (focus)=\"navigation.focusTbody($event)\" (keydown)=\"navigation.handleNavigation($event)\">\n <igx-pivot-row-dimension-content role=\"row\" class=\"igx-grid-thead\" [grid]=\"this\"\n [dimension]=\"emptyRowDimension\"\n [rootDimension]=\"emptyRowDimension\"\n [rowIndex]=\"0\" [rowData]=\"dataView[0]\"\n [density]=\"displayDensity\" [width]=\"rowDimensionWidthToPixels(emptyRowDimension)\">\n </igx-pivot-row-dimension-content>\n </div>\n</ng-template>\n\n<ng-template #emptyPivotGridTemplate>\n <span class=\"igx-grid__tbody-message\" role=\"cell\">\n <span>{{resourceStrings.igx_grid_pivot_empty_message}}</span>\n </span>\n</ng-template>\n\n<div [hidden]=\"true\">\n <igx-grid-excel-style-filtering [maxHeight]=\"excelStyleFilterMaxHeight\" [minHeight]=\"excelStyleFilterMinHeight\">\n <div igxExcelStyleColumnOperations [hidden]=\"true\"></div>\n <igx-excel-style-filter-operations>\n <igx-excel-style-search></igx-excel-style-search>\n </igx-excel-style-filter-operations>\n </igx-grid-excel-style-filtering>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IgxPivotHeaderRowComponent, selector: "igx-pivot-header-row" }, { kind: "directive", type: IgxGridBodyDirective, selector: "[igxGridBody]" }, { kind: "directive", type: IgxGridDragSelectDirective, selector: "[igxGridDragSelect]", inputs: ["igxGridDragSelect"], outputs: ["dragStop", "dragScroll"] }, { kind: "directive", type: IgxColumnMovingDropDirective, selector: "[igxColumnMovingDrop]", inputs: ["igxColumnMovingDrop"] }, { kind: "directive", type: IgxGridForOfDirective, selector: "[igxGridFor][igxGridForOf]", inputs: ["igxGridForOf", "igxGridForOfUniqueSizeCache", "igxGridForOfVariableSizes"], outputs: ["dataChanging"] }, { kind: "directive", type: IgxTemplateOutletDirective, selector: "[igxTemplateOutlet]", inputs: ["igxTemplateOutletContext", "igxTemplateOutlet"], outputs: ["viewCreated", "viewMoved", "cachedViewLoaded", "beforeViewDetach"] }, { kind: "component", type: IgxPivotRowComponent, selector: "igx-pivot-row", inputs: ["selected", "data"] }, { kind: "directive", type: IgxToggleDirective, selector: "[igxToggle]", inputs: ["id"], outputs: ["opened", "opening", "closed", "closing", "appended"], exportAs: ["toggle"] }, { kind: "component", type: IgxCircularProgressBarComponent, selector: "igx-circular-bar", inputs: ["id", "isIndeterminate", "textVisibility", "text"] }, { kind: "component", type: IgxSnackbarComponent, selector: "igx-snackbar", inputs: ["id", "actionText", "positionSettings"], outputs: ["clicked", "animationStarted", "animationDone"] }, { kind: "directive", type: IgxOverlayOutletDirective, selector: "[igxOverlayOutlet]", exportAs: ["overlay-outlet"] }, { kind: "component", type: IgxPivotGridColumnResizerComponent, selector: "igx-pivot-grid-column-resizer" }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "component", type: IgxPivotRowDimensionContentComponent, selector: "igx-pivot-row-dimension-content", inputs: ["rowIndex", "dimension", "rootDimension", "rowData"] }, { kind: "component", type: IgxGridExcelStyleFilteringComponent, selector: "igx-grid-excel-style-filtering", inputs: ["column", "minHeight", "maxHeight"], outputs: ["loadingStart", "loadingEnd", "initialized", "sortingChanged", "columnChange", "listDataLoaded"] }, { kind: "directive", type: IgxExcelStyleColumnOperationsTemplateDirective, selector: "igx-excel-style-column-operations,[igxExcelStyleColumnOperations]" }, { kind: "directive", type: IgxExcelStyleFilterOperationsTemplateDirective, selector: "igx-excel-style-filter-operations,[igxExcelStyleFilterOperations]" }, { kind: "component", type: IgxExcelStyleSearchComponent, selector: "igx-excel-style-search", inputs: ["id"] }, { kind: "pipe", type: IgxGridRowClassesPipe, name: "igxGridRowClasses" }, { kind: "pipe", type: IgxGridRowStylesPipe, name: "igxGridRowStyles" }, { kind: "pipe", type: IgxPivotRowPipe, name: "pivotGridRow" }, { kind: "pipe", type: IgxPivotRowExpansionPipe, name: "pivotGridRowExpansion" }, { kind: "pipe", type: IgxPivotAutoTransform, name: "pivotGridAutoTransform" }, { kind: "pipe", type: IgxPivotColumnPipe, name: "pivotGridColumn" }, { kind: "pipe", type: IgxPivotGridFilterPipe, name: "pivotGridFilter" }, { kind: "pipe", type: IgxPivotGridSortingPipe, name: "pivotGridSort" }, { kind: "pipe", type: IgxPivotGridColumnSortingPipe, name: "pivotGridColumnSort" }, { kind: "pipe", type: IgxPivotCellMergingPipe, name: "pivotGridCellMerging" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
76218
76375
  }
76219
76376
  __decorate([
76220
76377
  WatchChanges()
@@ -78162,7 +78319,7 @@ class IgxPivotDataSelectorComponent {
78162
78319
  }
78163
78320
  }
78164
78321
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: IgxPivotDataSelectorComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
78165
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.8", type: IgxPivotDataSelectorComponent, isStandalone: true, selector: "igx-pivot-data-selector", inputs: { columnsExpanded: "columnsExpanded", rowsExpanded: "rowsExpanded", filtersExpanded: "filtersExpanded", valuesExpanded: "valuesExpanded", grid: "grid" }, outputs: { columnsExpandedChange: "columnsExpandedChange", rowsExpandedChange: "rowsExpandedChange", filtersExpandedChange: "filtersExpandedChange", valuesExpandedChange: "valuesExpandedChange" }, host: { properties: { "class.igx-pivot-data-selector": "this.cssClass" } }, ngImport: i0, template: "<div class=\"igx-pivot-data-selector__filter\">\n <igx-input-group type=\"box\" [displayDensity]=\"displayDensity\">\n <igx-icon igxPrefix>search</igx-icon>\n <input\n #input\n igxInput\n tabindex=\"0\"\n placeholder=\"Search\"\n autocomplete=\"off\"\n />\n </igx-input-group>\n <igx-list [displayDensity]=\"displayDensity\">\n <igx-list-item\n *ngFor=\"\n let item of dims\n | filterPivotItems: input.value:grid?.pipeTrigger\n \"\n [id]=\"item.memberName\"\n >\n <igx-checkbox\n [aria-labelledby]=\"item.memberName\"\n [disableRipple]=\"true\"\n [checked]=\"item.enabled\"\n (click)=\"toggleItem(item)\"\n ></igx-checkbox>\n <span>{{ item.memberName }}</span>\n </igx-list-item>\n <igx-list-item\n *ngFor=\"\n let item of values\n | filterPivotItems: input.value:grid?.pipeTrigger\n \"\n [id]=\"item.member\"\n >\n <igx-checkbox\n [aria-labelledby]=\"item.member\"\n [disableRipple]=\"true\"\n [checked]=\"item.enabled\"\n (click)=\"toggleItem(item)\"\n ></igx-checkbox>\n <span>{{ item.displayName || item.member }}</span>\n </igx-list-item>\n </igx-list>\n</div>\n\n<igx-accordion>\n <igx-expansion-panel\n *ngFor=\"let panel of _panels\"\n [animationSettings]=\"animationSettings\"\n [collapsed]=\"getPanelCollapsed(panel.type)\"\n (collapsedChange)=\"onCollapseChange($event, panel.type)\"\n >\n <igx-expansion-panel-header\n iconPosition=\"left\"\n [disabled]=\"false\"\n igxDrop\n (enter)=\"onPanelEntry($event, panel.name)\"\n (dropped)=\"onItemDropped($event, panel.type)\"\n >\n <igx-expansion-panel-title class=\"igx-pivot-data-selector__header\">\n <h6 class=\"igx-pivot-data-selector__header-title\">\n {{ grid?.resourceStrings[panel.i18n] }}\n </h6>\n <div class=\"igx-pivot-data-selector__header-extra\">\n <igx-icon>{{ panel.icon }}</igx-icon>\n <igx-chip>{{ this.grid ? this.grid[panel.dataKey].length : 0 }}</igx-chip>\n </div>\n </igx-expansion-panel-title>\n </igx-expansion-panel-header>\n <igx-expansion-panel-body\n igxDrop\n (enter)=\"onPanelEntry($event, panel.name)\"\n (dropped)=\"onItemDropped($event, panel.type)\"\n >\n <igx-list\n *ngIf=\"this.grid && this.grid[panel.dataKey].length > 0\"\n [displayDensity]=\"displayDensity\"\n >\n <igx-list-item\n igxDrop\n [igxDrag]=\"{ gridID: grid.id, selectorChannels: panel.dragChannels }\"\n [ghostTemplate]=\"itemGhost\"\n (ghostCreate)=\"ghostCreated($event, item[panel.itemKey])\"\n (over)=\"onItemDragOver($event)\"\n (leave)=\"onItemDragLeave($event)\"\n (dragMove)=\"onItemDragMove($event)\"\n (dragEnd)=\"onItemDragEnd($event)\"\n (dropped)=\"onItemDropped($event, panel.type)\"\n *ngFor=\"\n let item of this.grid[panel.dataKey];\n let index\n \"\n [id]=\"item[panel.itemKey]\"\n >\n <div class=\"igx-pivot-data-selector__item\">\n <div\n class=\"igx-pivot-data-selector__item-start\"\n (click)=\"onItemSort($event, item, panel.type)\"\n [class.igx-pivot-data-selector__action-sort]=\"\n panel.sortable\n \"\n >\n <div class=\"igx-pivot-data-selector__item-text\">\n <span *ngIf=\"panel.type === null\">{{\n item.aggregate.key\n }}</span>\n <span *ngIf=\"panel.type === null\">(</span>\n <span>{{ item[panel.displayKey] || item[panel.itemKey] }}</span>\n <span *ngIf=\"panel.type === null\">)</span>\n </div>\n <igx-icon\n class=\"igx-pivot-data-selector__action-sort\"\n *ngIf=\"panel.sortable && item.sortDirection\"\n >\n {{\n item.sortDirection < 2\n ? \"arrow_upward\"\n : \"arrow_downward\"\n }}\n </igx-icon>\n </div>\n <div class=\"igx-pivot-data-selector__item-end\">\n <igx-icon\n class=\"igx-pivot-data-selector__action-filter\"\n *ngIf=\"panel.type !== null\"\n (pointerdown)=\"\n onFilteringIconPointerDown($event)\n \"\n (click)=\"onFilteringIconClick($event, item)\"\n >filter_list\n </igx-icon>\n <igx-icon\n class=\"igx-pivot-data-selector__action-summary\"\n *ngIf=\"panel.type === null\"\n (click)=\"onSummaryClick($event, item, dropdown)\"\n [igxDropDownItemNavigation]=\"dropdown\"\n >\n functions\n </igx-icon>\n <igx-icon\n igxDragHandle\n class=\"igx-pivot-data-selector__action-move\"\n *ngIf=\"panel.dragChannels.length > 0\"\n >drag_handle</igx-icon\n >\n </div>\n </div>\n </igx-list-item>\n </igx-list>\n <div\n class=\"igx-pivot-data-selector__empty\"\n *ngIf=\"this.grid && this.grid[panel.dataKey].length === 0\"\n >\n {{ grid?.resourceStrings.igx_grid_pivot_selector_panel_empty }}\n </div>\n </igx-expansion-panel-body>\n </igx-expansion-panel>\n</igx-accordion>\n\n<igx-drop-down #dropdown (selectionChanging)=\"onAggregationChange($event)\">\n <igx-drop-down-item\n *ngFor=\"let item of aggregateList\"\n [selected]=\"isSelected(item)\"\n [value]=\"item\"\n >\n {{ item.label }}\n </igx-drop-down-item>\n</igx-drop-down>\n\n<ng-template #itemGhost>\n <div\n class=\"igx-pivot-data-selector__item-ghost\"\n [style.width.px]=\"ghostWidth\"\n [class.igx-pivot-data-selector__item-ghost--no-drop]=\"!dropAllowed\"\n >\n <div class=\"igx-pivot-data-selector__item-ghost-text\">\n <igx-icon>unfold_more</igx-icon>\n <span>{{ ghostText }}</span>\n </div>\n <igx-icon>drag_handle</igx-icon>\n </div>\n</ng-template>\n", dependencies: [{ kind: "component", type: IgxInputGroupComponent, selector: "igx-input-group", inputs: ["resourceStrings", "suppressInputAutofocus", "type", "theme"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "directive", type: IgxPrefixDirective, selector: "igx-prefix,[igxPrefix],[igxStart]" }, { kind: "directive", type: IgxInputDirective, selector: "[igxInput]", inputs: ["value", "disabled", "required"], exportAs: ["igxInput"] }, { kind: "component", type: IgxListComponent, selector: "igx-list", inputs: ["panEndTriggeringThreshold", "id", "allowLeftPanning", "allowRightPanning", "isLoading", "resourceStrings"], outputs: ["leftPan", "rightPan", "startPan", "endPan", "resetPan", "panStateChange", "itemClicked"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: IgxListItemComponent, selector: "igx-list-item", inputs: ["isHeader", "hidden", "index"] }, { kind: "component", type: IgxCheckboxComponent, selector: "igx-checkbox", inputs: ["id", "labelId", "value", "name", "tabindex", "labelPosition", "disableRipple", "required", "aria-labelledby", "aria-label", "indeterminate", "checked", "disabled", "invalid", "readonly", "disableTransitions"], outputs: ["change"] }, { kind: "component", type: IgxAccordionComponent, selector: "igx-accordion", inputs: ["id", "animationSettings", "singleBranchExpand"], outputs: ["panelExpanding", "panelExpanded", "panelCollapsing", "panelCollapsed"] }, { kind: "component", type: IgxExpansionPanelComponent, selector: "igx-expansion-panel", inputs: ["animationSettings", "id", "collapsed"], outputs: ["collapsedChange", "contentCollapsing", "contentCollapsed", "contentExpanding", "contentExpanded"] }, { kind: "component", type: IgxExpansionPanelHeaderComponent, selector: "igx-expansion-panel-header", inputs: ["lv", "role", "iconPosition", "disabled"], outputs: ["interaction"] }, { kind: "directive", type: IgxDropDirective, selector: "[igxDrop]", inputs: ["igxDrop", "dropChannel", "dropStrategy"], outputs: ["enter", "over", "leave", "dropped"], exportAs: ["drop"] }, { kind: "directive", type: IgxExpansionPanelTitleDirective, selector: "igx-expansion-panel-title" }, { kind: "component", type: IgxChipComponent, selector: "igx-chip", inputs: ["variant", "id", "tabIndex", "data", "draggable", "animateOnRelease", "hideBaseOnDrag", "removable", "removeIcon", "selectable", "selectIcon", "class", "disabled", "selected", "color", "resourceStrings"], outputs: ["selectedChange", "moveStart", "moveEnd", "remove", "chipClick", "selectedChanging", "selectedChanged", "keyDown", "dragEnter", "dragLeave", "dragOver", "dragDrop"] }, { kind: "component", type: IgxExpansionPanelBodyComponent, selector: "igx-expansion-panel-body", inputs: ["role", "label", "labelledBy"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: IgxDragDirective, selector: "[igxDrag]", inputs: ["igxDrag", "dragTolerance", "dragDirection", "dragChannel", "ghost", "ghostClass", "ghostStyle", "ghostTemplate", "ghostHost", "scrollContainer", "ghostOffsetX", "ghostOffsetY"], outputs: ["dragStart", "dragMove", "dragEnd", "dragClick", "ghostCreate", "ghostDestroy", "transitioned"], exportAs: ["drag"] }, { kind: "directive", type: IgxDropDownItemNavigationDirective, selector: "[igxDropDownItemNavigation]", inputs: ["igxDropDownItemNavigation"] }, { kind: "directive", type: IgxDragHandleDirective, selector: "[igxDragHandle]" }, { kind: "component", type: IgxDropDownComponent, selector: "igx-drop-down", inputs: ["allowItemsFocus", "labelledBy"], outputs: ["opening", "opened", "closing", "closed"] }, { kind: "component", type: IgxDropDownItemComponent, selector: "igx-drop-down-item" }, { kind: "pipe", type: IgxFilterPivotItemsPipe, name: "filterPivotItems" }] }); }
78322
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.8", type: IgxPivotDataSelectorComponent, isStandalone: true, selector: "igx-pivot-data-selector", inputs: { columnsExpanded: "columnsExpanded", rowsExpanded: "rowsExpanded", filtersExpanded: "filtersExpanded", valuesExpanded: "valuesExpanded", grid: "grid" }, outputs: { columnsExpandedChange: "columnsExpandedChange", rowsExpandedChange: "rowsExpandedChange", filtersExpandedChange: "filtersExpandedChange", valuesExpandedChange: "valuesExpandedChange" }, host: { properties: { "class.igx-pivot-data-selector": "this.cssClass" } }, ngImport: i0, template: "<div class=\"igx-pivot-data-selector__filter\">\n <igx-input-group type=\"box\" [displayDensity]=\"displayDensity\">\n <igx-icon igxPrefix>search</igx-icon>\n <input\n #input\n igxInput\n tabindex=\"0\"\n placeholder=\"Search\"\n autocomplete=\"off\"\n />\n </igx-input-group>\n <igx-list [displayDensity]=\"displayDensity\">\n <igx-list-item\n *ngFor=\"\n let item of dims\n | filterPivotItems: input.value:grid?.pipeTrigger\n \"\n [id]=\"item.memberName\"\n >\n <igx-checkbox\n [aria-labelledby]=\"item.memberName\"\n [disableRipple]=\"true\"\n [checked]=\"item.enabled\"\n (click)=\"toggleItem(item)\"\n ></igx-checkbox>\n <span>{{ item.memberName }}</span>\n </igx-list-item>\n <igx-list-item\n *ngFor=\"\n let item of values\n | filterPivotItems: input.value:grid?.pipeTrigger\n \"\n [id]=\"item.member\"\n >\n <igx-checkbox\n [aria-labelledby]=\"item.member\"\n [disableRipple]=\"true\"\n [checked]=\"item.enabled\"\n (click)=\"toggleItem(item)\"\n ></igx-checkbox>\n <span>{{ item.displayName || item.member }}</span>\n </igx-list-item>\n </igx-list>\n</div>\n\n<igx-accordion>\n <igx-expansion-panel\n *ngFor=\"let panel of _panels\"\n [animationSettings]=\"animationSettings\"\n [collapsed]=\"getPanelCollapsed(panel.type)\"\n (collapsedChange)=\"onCollapseChange($event, panel.type)\"\n >\n <igx-expansion-panel-header\n iconPosition=\"left\"\n [disabled]=\"false\"\n igxDrop\n (enter)=\"onPanelEntry($event, panel.name)\"\n (dropped)=\"onItemDropped($event, panel.type)\"\n >\n <igx-expansion-panel-title class=\"igx-pivot-data-selector__header\">\n <h6 class=\"igx-pivot-data-selector__header-title\">\n {{ grid?.resourceStrings[panel.i18n] }}\n </h6>\n <div class=\"igx-pivot-data-selector__header-extra\">\n <igx-icon>{{ panel.icon }}</igx-icon>\n <igx-chip>{{ this.grid ? this.grid[panel.dataKey].length : 0 }}</igx-chip>\n </div>\n </igx-expansion-panel-title>\n </igx-expansion-panel-header>\n <igx-expansion-panel-body\n igxDrop\n (enter)=\"onPanelEntry($event, panel.name)\"\n (dropped)=\"onItemDropped($event, panel.type)\"\n >\n <igx-list\n *ngIf=\"this.grid && this.grid[panel.dataKey].length > 0\"\n [displayDensity]=\"displayDensity\"\n >\n <igx-list-item\n igxDrop\n [igxDrag]=\"{ gridID: grid.id, selectorChannels: panel.dragChannels }\"\n [ghostTemplate]=\"itemGhost\"\n (ghostCreate)=\"ghostCreated($event, item[panel.itemKey])\"\n (over)=\"onItemDragOver($event)\"\n (leave)=\"onItemDragLeave($event)\"\n (dragMove)=\"onItemDragMove($event)\"\n (dragEnd)=\"onItemDragEnd($event)\"\n (dropped)=\"onItemDropped($event, panel.type)\"\n *ngFor=\"\n let item of this.grid[panel.dataKey];\n let index\n \"\n [id]=\"item[panel.itemKey]\"\n >\n <div class=\"igx-pivot-data-selector__item\">\n <div\n class=\"igx-pivot-data-selector__item-start\"\n (click)=\"onItemSort($event, item, panel.type)\"\n [class.igx-pivot-data-selector__action-sort]=\"\n panel.sortable\n \"\n >\n <div class=\"igx-pivot-data-selector__item-text\">\n <span *ngIf=\"panel.type === null\">{{\n item.aggregate.key\n }}</span>\n <span *ngIf=\"panel.type === null\">(</span>\n <span>{{ item[panel.displayKey] || item[panel.itemKey] }}</span>\n <span *ngIf=\"panel.type === null\">)</span>\n </div>\n <igx-icon\n class=\"igx-pivot-data-selector__action-sort\"\n *ngIf=\"panel.sortable && item.sortDirection\"\n >\n {{\n item.sortDirection < 2\n ? \"arrow_upward\"\n : \"arrow_downward\"\n }}\n </igx-icon>\n </div>\n <div class=\"igx-pivot-data-selector__item-end\">\n <igx-icon\n class=\"igx-pivot-data-selector__action-filter\"\n *ngIf=\"panel.type !== null\"\n (pointerdown)=\"\n onFilteringIconPointerDown($event)\n \"\n (click)=\"onFilteringIconClick($event, item)\"\n >filter_list\n </igx-icon>\n <igx-icon\n class=\"igx-pivot-data-selector__action-summary\"\n *ngIf=\"panel.type === null\"\n (click)=\"onSummaryClick($event, item, dropdown)\"\n [igxDropDownItemNavigation]=\"dropdown\"\n >\n functions\n </igx-icon>\n <igx-icon\n igxDragHandle\n class=\"igx-pivot-data-selector__action-move\"\n *ngIf=\"panel.dragChannels.length > 0\"\n >drag_handle</igx-icon\n >\n </div>\n </div>\n </igx-list-item>\n </igx-list>\n <div\n class=\"igx-pivot-data-selector__empty\"\n *ngIf=\"this.grid && this.grid[panel.dataKey].length === 0\"\n >\n {{ grid?.resourceStrings.igx_grid_pivot_selector_panel_empty }}\n </div>\n </igx-expansion-panel-body>\n </igx-expansion-panel>\n</igx-accordion>\n\n<igx-drop-down #dropdown (selectionChanging)=\"onAggregationChange($event)\">\n <igx-drop-down-item\n *ngFor=\"let item of aggregateList\"\n [selected]=\"isSelected(item)\"\n [value]=\"item\"\n >\n {{ item.label }}\n </igx-drop-down-item>\n</igx-drop-down>\n\n<ng-template #itemGhost>\n <div\n class=\"igx-pivot-data-selector__item-ghost\"\n [style.width.px]=\"ghostWidth\"\n [class.igx-pivot-data-selector__item-ghost--no-drop]=\"!dropAllowed\"\n >\n <div class=\"igx-pivot-data-selector__item-ghost-text\">\n <igx-icon>unfold_more</igx-icon>\n <span>{{ ghostText }}</span>\n </div>\n <igx-icon>drag_handle</igx-icon>\n </div>\n</ng-template>\n", dependencies: [{ kind: "component", type: IgxInputGroupComponent, selector: "igx-input-group", inputs: ["resourceStrings", "suppressInputAutofocus", "type", "theme"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "directive", type: IgxPrefixDirective, selector: "igx-prefix,[igxPrefix],[igxStart]" }, { kind: "directive", type: IgxInputDirective, selector: "[igxInput]", inputs: ["value", "disabled", "required"], exportAs: ["igxInput"] }, { kind: "component", type: IgxListComponent, selector: "igx-list", inputs: ["panEndTriggeringThreshold", "id", "allowLeftPanning", "allowRightPanning", "isLoading", "resourceStrings", "role"], outputs: ["leftPan", "rightPan", "startPan", "endPan", "resetPan", "panStateChange", "itemClicked"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: IgxListItemComponent, selector: "igx-list-item", inputs: ["isHeader", "hidden", "index", "role"] }, { kind: "component", type: IgxCheckboxComponent, selector: "igx-checkbox", inputs: ["id", "labelId", "value", "name", "tabindex", "labelPosition", "disableRipple", "required", "aria-labelledby", "aria-label", "indeterminate", "checked", "disabled", "invalid", "readonly", "disableTransitions"], outputs: ["change"] }, { kind: "component", type: IgxAccordionComponent, selector: "igx-accordion", inputs: ["id", "animationSettings", "singleBranchExpand"], outputs: ["panelExpanding", "panelExpanded", "panelCollapsing", "panelCollapsed"] }, { kind: "component", type: IgxExpansionPanelComponent, selector: "igx-expansion-panel", inputs: ["animationSettings", "id", "collapsed"], outputs: ["collapsedChange", "contentCollapsing", "contentCollapsed", "contentExpanding", "contentExpanded"] }, { kind: "component", type: IgxExpansionPanelHeaderComponent, selector: "igx-expansion-panel-header", inputs: ["lv", "role", "iconPosition", "disabled"], outputs: ["interaction"] }, { kind: "directive", type: IgxDropDirective, selector: "[igxDrop]", inputs: ["igxDrop", "dropChannel", "dropStrategy"], outputs: ["enter", "over", "leave", "dropped"], exportAs: ["drop"] }, { kind: "directive", type: IgxExpansionPanelTitleDirective, selector: "igx-expansion-panel-title" }, { kind: "component", type: IgxChipComponent, selector: "igx-chip", inputs: ["variant", "id", "tabIndex", "data", "draggable", "animateOnRelease", "hideBaseOnDrag", "removable", "removeIcon", "selectable", "selectIcon", "class", "disabled", "selected", "color", "resourceStrings"], outputs: ["selectedChange", "moveStart", "moveEnd", "remove", "chipClick", "selectedChanging", "selectedChanged", "keyDown", "dragEnter", "dragLeave", "dragOver", "dragDrop"] }, { kind: "component", type: IgxExpansionPanelBodyComponent, selector: "igx-expansion-panel-body", inputs: ["role", "label", "labelledBy"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: IgxDragDirective, selector: "[igxDrag]", inputs: ["igxDrag", "dragTolerance", "dragDirection", "dragChannel", "ghost", "ghostClass", "ghostStyle", "ghostTemplate", "ghostHost", "scrollContainer", "ghostOffsetX", "ghostOffsetY"], outputs: ["dragStart", "dragMove", "dragEnd", "dragClick", "ghostCreate", "ghostDestroy", "transitioned"], exportAs: ["drag"] }, { kind: "directive", type: IgxDropDownItemNavigationDirective, selector: "[igxDropDownItemNavigation]", inputs: ["igxDropDownItemNavigation"] }, { kind: "directive", type: IgxDragHandleDirective, selector: "[igxDragHandle]" }, { kind: "component", type: IgxDropDownComponent, selector: "igx-drop-down", inputs: ["allowItemsFocus", "labelledBy"], outputs: ["opening", "opened", "closing", "closed"] }, { kind: "component", type: IgxDropDownItemComponent, selector: "igx-drop-down-item" }, { kind: "pipe", type: IgxFilterPivotItemsPipe, name: "filterPivotItems" }] }); }
78166
78323
  }
78167
78324
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: IgxPivotDataSelectorComponent, decorators: [{
78168
78325
  type: Component,