igniteui-angular 16.1.16 → 16.1.17

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.
@@ -10135,9 +10135,7 @@ class IgxButtonDirective extends DisplayDensityBase {
10135
10135
  set selected(value) {
10136
10136
  if (this._selected !== value) {
10137
10137
  this._selected = value;
10138
- this.buttonSelected.emit({
10139
- button: this
10140
- });
10138
+ this._renderer.setAttribute(this.nativeElement, 'data-selected', value.toString());
10141
10139
  }
10142
10140
  }
10143
10141
  get selected() {
@@ -10182,6 +10180,13 @@ class IgxButtonDirective extends DisplayDensityBase {
10182
10180
  */
10183
10181
  this._selected = false;
10184
10182
  }
10183
+ ngAfterContentInit() {
10184
+ this.nativeElement.addEventListener('click', () => {
10185
+ this.buttonSelected.emit({
10186
+ button: this
10187
+ });
10188
+ });
10189
+ }
10185
10190
  /**
10186
10191
  * @hidden
10187
10192
  * @internal
@@ -10328,7 +10333,7 @@ class IgxButtonDirective extends DisplayDensityBase {
10328
10333
  * @internal
10329
10334
  */
10330
10335
  deselect() {
10331
- this._selected = false;
10336
+ this.selected = false;
10332
10337
  }
10333
10338
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: IgxButtonDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: DisplayDensityToken, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
10334
10339
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.8", type: IgxButtonDirective, isStandalone: true, selector: "[igxButton]", inputs: { selected: "selected", type: ["igxButton", "type"], color: ["igxButtonColor", "color"], background: ["igxButtonBackground", "background"], label: ["igxLabel", "label"], disabled: "disabled" }, outputs: { buttonClick: "buttonClick", buttonSelected: "buttonSelected" }, host: { listeners: { "click": "onClick($event)" }, properties: { "attr.role": "this.role", "class.igx-button": "this._cssClass", "class.igx-button--disabled": "this.disabled", "class.igx-button--flat": "this.flat", "class.igx-button--raised": "this.raised", "class.igx-button--outlined": "this.outlined", "class.igx-button--icon": "this.icon", "class.igx-button--fab": "this.fab", "style.--component-size": "this.componentSize", "attr.disabled": "this.disabledAttribute" } }, usesInheritance: true, ngImport: i0 }); }
@@ -29633,10 +29638,14 @@ class IgxButtonGroupComponent extends DisplayDensityBase {
29633
29638
  */
29634
29639
  this.selectedIndexes = [];
29635
29640
  this.buttonClickNotifier$ = new Subject();
29636
- this.buttonSelectedNotifier$ = new Subject();
29637
29641
  this.queryListNotifier$ = new Subject();
29638
29642
  this._disabled = false;
29639
29643
  this._selectionMode = 'single';
29644
+ this.observerConfig = {
29645
+ attributeFilter: ["data-selected"],
29646
+ childList: true,
29647
+ subtree: true,
29648
+ };
29640
29649
  }
29641
29650
  /**
29642
29651
  * Gets the selected button/buttons.
@@ -29668,6 +29677,7 @@ class IgxButtonGroupComponent extends DisplayDensityBase {
29668
29677
  if (index >= this.buttons.length || index < 0) {
29669
29678
  return;
29670
29679
  }
29680
+ this.updateSelected(index);
29671
29681
  const button = this.buttons[index];
29672
29682
  button.select();
29673
29683
  }
@@ -29680,24 +29690,19 @@ class IgxButtonGroupComponent extends DisplayDensityBase {
29680
29690
  if (this.selectedIndexes.indexOf(index) === -1) {
29681
29691
  this.selectedIndexes.push(index);
29682
29692
  }
29683
- if (button.selected) {
29684
- this._renderer.setAttribute(button.nativeElement, 'aria-pressed', 'true');
29685
- this._renderer.addClass(button.nativeElement, 'igx-button-group__item--selected');
29686
- const indexInViewButtons = this.viewButtons.toArray().indexOf(button);
29687
- if (indexInViewButtons !== -1) {
29688
- this.values[indexInViewButtons].selected = true;
29689
- }
29690
- // deselect other buttons if selectionMode is not multi
29691
- if (this.selectionMode !== 'multi' && this.selectedIndexes.length > 1) {
29692
- this.buttons.forEach((_, i) => {
29693
- if (i !== index && this.selectedIndexes.indexOf(i) !== -1) {
29694
- this.deselectButton(i);
29695
- }
29696
- });
29697
- }
29693
+ this._renderer.setAttribute(button.nativeElement, 'aria-pressed', 'true');
29694
+ this._renderer.addClass(button.nativeElement, 'igx-button-group__item--selected');
29695
+ const indexInViewButtons = this.viewButtons.toArray().indexOf(button);
29696
+ if (indexInViewButtons !== -1) {
29697
+ this.values[indexInViewButtons].selected = true;
29698
29698
  }
29699
- else {
29700
- this.deselectButton(index);
29699
+ // deselect other buttons if selectionMode is not multi
29700
+ if (this.selectionMode !== 'multi' && this.selectedIndexes.length > 1) {
29701
+ this.buttons.forEach((_, i) => {
29702
+ if (i !== index && this.selectedIndexes.indexOf(i) !== -1) {
29703
+ this.deselectButton(i);
29704
+ }
29705
+ });
29701
29706
  }
29702
29707
  }
29703
29708
  /**
@@ -29756,15 +29761,14 @@ class IgxButtonGroupComponent extends DisplayDensityBase {
29756
29761
  this.updateSelected(index);
29757
29762
  }
29758
29763
  button.buttonClick.pipe(takeUntil(this.buttonClickNotifier$)).subscribe((_) => this._clickHandler(index));
29759
- button.buttonSelected
29760
- .pipe(takeUntil(this.buttonSelectedNotifier$))
29761
- .subscribe((_) => this.updateSelected(index));
29762
29764
  });
29763
29765
  };
29764
29766
  this.viewButtons.changes.pipe(takeUntil(this.queryListNotifier$)).subscribe(() => initButtons());
29765
29767
  this.templateButtons.changes.pipe(takeUntil(this.queryListNotifier$)).subscribe(() => initButtons());
29766
29768
  initButtons();
29767
29769
  this._cdr.detectChanges();
29770
+ this.mutationObserver = this.setMutationsObserver();
29771
+ this.mutationObserver.observe(this._el.nativeElement, this.observerConfig);
29768
29772
  }
29769
29773
  /**
29770
29774
  * @hidden
@@ -29772,15 +29776,15 @@ class IgxButtonGroupComponent extends DisplayDensityBase {
29772
29776
  ngOnDestroy() {
29773
29777
  this.buttonClickNotifier$.next();
29774
29778
  this.buttonClickNotifier$.complete();
29775
- this.buttonSelectedNotifier$.next();
29776
- this.buttonSelectedNotifier$.complete();
29777
29779
  this.queryListNotifier$.next();
29778
29780
  this.queryListNotifier$.complete();
29781
+ this.mutationObserver.disconnect();
29779
29782
  }
29780
29783
  /**
29781
29784
  * @hidden
29782
29785
  */
29783
29786
  _clickHandler(index) {
29787
+ this.mutationObserver.disconnect();
29784
29788
  const button = this.buttons[index];
29785
29789
  const args = { owner: this, button, index };
29786
29790
  if (this.selectionMode !== 'multi') {
@@ -29800,6 +29804,43 @@ class IgxButtonGroupComponent extends DisplayDensityBase {
29800
29804
  this.deselected.emit(args);
29801
29805
  }
29802
29806
  }
29807
+ this.mutationObserver.observe(this._el.nativeElement, this.observerConfig);
29808
+ }
29809
+ setMutationsObserver() {
29810
+ return new MutationObserver((records, observer) => {
29811
+ // Stop observing while handling changes
29812
+ observer.disconnect();
29813
+ const updatedButtons = this.getUpdatedButtons(records);
29814
+ if (updatedButtons.length > 0) {
29815
+ updatedButtons.forEach((button) => {
29816
+ const index = this.buttons.map((b) => b.nativeElement).indexOf(button);
29817
+ const args = { owner: this, button: this.buttons[index], index };
29818
+ this.updateButtonSelectionState(index, args);
29819
+ });
29820
+ }
29821
+ // Watch for changes again
29822
+ observer.observe(this._el.nativeElement, this.observerConfig);
29823
+ });
29824
+ }
29825
+ getUpdatedButtons(records) {
29826
+ const updated = [];
29827
+ records
29828
+ .filter((x) => x.type === 'attributes')
29829
+ .reduce((prev, curr) => {
29830
+ prev.push(curr.target);
29831
+ return prev;
29832
+ }, updated);
29833
+ return updated;
29834
+ }
29835
+ updateButtonSelectionState(index, args) {
29836
+ if (this.selectedIndexes.indexOf(index) === -1) {
29837
+ this.selectButton(index);
29838
+ this.selected.emit(args);
29839
+ }
29840
+ else {
29841
+ this.deselectButton(index);
29842
+ this.deselected.emit(args);
29843
+ }
29803
29844
  }
29804
29845
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: IgxButtonGroupComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: DisplayDensityToken, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
29805
29846
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.8", type: IgxButtonGroupComponent, isStandalone: true, selector: "igx-buttongroup", inputs: { id: "id", itemContentCssClass: "itemContentCssClass", multiSelection: "multiSelection", selectionMode: "selectionMode", values: "values", disabled: "disabled", alignment: "alignment" }, outputs: { selected: "selected", deselected: "deselected" }, host: { properties: { "attr.id": "this.id", "style.zIndex": "this.zIndex" } }, queries: [{ propertyName: "templateButtons", predicate: IgxButtonDirective }], viewQueries: [{ propertyName: "viewButtons", predicate: IgxButtonDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"igx-button-group\" role=\"group\" [class.igx-button-group--vertical]=\"isVertical\">\n <button *ngFor=\"let button of values; let i = 'index'\"\n type=\"button\"\n igxButton=\"flat\"\n [displayDensity]=\"displayDensity\"\n [selected]=\"button.selected\"\n [attr.data-togglable]=\"button.togglable\"\n [disabled]=\"disabled || button.disabled\"\n [igxButtonColor]=\"button.color\"\n [igxButtonBackground]=\"button.bgcolor\"\n [igxLabel]=\"button.label\"\n [igxRipple]=\"button.ripple\"\n >\n <span class=\"igx-button-group__item-content {{ itemContentCssClass }}\">\n <igx-icon *ngIf=\"button.icon\">{{button.icon}}</igx-icon>\n <span class=\"igx-button-group__button-text\" *ngIf=\"button.label\">{{button.label}}</span>\n </span>\n </button>\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { kind: "directive", type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }] }); }
@@ -45108,6 +45149,9 @@ class IgxColumnGroupComponent extends IgxColumnComponent {
45108
45149
  }
45109
45150
  this.children.forEach(child => {
45110
45151
  child.parent = this;
45152
+ if (this.pinned) {
45153
+ child.pinned = this.pinned;
45154
+ }
45111
45155
  });
45112
45156
  if (this.collapsible) {
45113
45157
  this.setExpandCollapseState();
@@ -45115,10 +45159,20 @@ class IgxColumnGroupComponent extends IgxColumnComponent {
45115
45159
  this.children.changes
45116
45160
  .pipe(takeUntil(this.destroy$))
45117
45161
  .subscribe((change) => {
45118
- change.forEach(x => x.parent = this);
45162
+ let shouldReinitPinning = false;
45163
+ change.forEach(x => {
45164
+ x.parent = this;
45165
+ if (this.pinned && x.pinned !== this.pinned) {
45166
+ shouldReinitPinning = true;
45167
+ x.pinned = this.pinned;
45168
+ }
45169
+ });
45119
45170
  if (this.collapsible) {
45120
45171
  this.setExpandCollapseState();
45121
45172
  }
45173
+ if (shouldReinitPinning) {
45174
+ this.grid.initPinning();
45175
+ }
45122
45176
  });
45123
45177
  }
45124
45178
  /** @hidden @internal **/
@@ -67415,16 +67469,21 @@ class IgxGridBaseDirective extends DisplayDensityBase {
67415
67469
  if (diff) {
67416
67470
  let added = false;
67417
67471
  let removed = false;
67472
+ let pinning = false;
67418
67473
  diff.forEachAddedItem((record) => {
67419
67474
  added = true;
67420
67475
  if (record.item.pinned) {
67421
67476
  this._pinnedColumns.push(record.item);
67477
+ pinning = true;
67422
67478
  }
67423
67479
  else {
67424
67480
  this._unpinnedColumns.push(record.item);
67425
67481
  }
67426
67482
  });
67427
67483
  this.initColumns(this.columnList.toArray(), (col) => this.columnInit.emit(col));
67484
+ if (pinning) {
67485
+ this.initPinning();
67486
+ }
67428
67487
  diff.forEachRemovedItem((record) => {
67429
67488
  const isColumnGroup = record.item instanceof IgxColumnGroupComponent;
67430
67489
  if (!isColumnGroup) {
@@ -67990,42 +68049,9 @@ class IgxGridBaseDirective extends DisplayDensityBase {
67990
68049
  * @hidden
67991
68050
  */
67992
68051
  initPinning() {
67993
- const pinnedColumns = [];
67994
- const unpinnedColumns = [];
67995
68052
  this.calculateGridWidth();
67996
68053
  this.resetCaches();
67997
- // When a column is a group or is inside a group, pin all related.
67998
- this._pinnedColumns.forEach(col => {
67999
- if (col.parent) {
68000
- col.parent.pinned = true;
68001
- }
68002
- if (col.columnGroup) {
68003
- col.children.forEach(child => child.pinned = true);
68004
- }
68005
- });
68006
- // Make sure we don't exceed unpinned area min width and get pinned and unpinned col collections.
68007
- // We take into account top level columns (top level groups and non groups).
68008
- // If top level is unpinned the pinning handles all children to be unpinned as well.
68009
- for (const column of this._columns) {
68010
- if (column.pinned && !column.parent) {
68011
- pinnedColumns.push(column);
68012
- }
68013
- else if (column.pinned && column.parent) {
68014
- if (column.topLevelParent.pinned) {
68015
- pinnedColumns.push(column);
68016
- }
68017
- else {
68018
- column.pinned = false;
68019
- unpinnedColumns.push(column);
68020
- }
68021
- }
68022
- else {
68023
- unpinnedColumns.push(column);
68024
- }
68025
- }
68026
- // Assign the applicable collections.
68027
- this._pinnedColumns = pinnedColumns;
68028
- this._unpinnedColumns = unpinnedColumns;
68054
+ this.handleColumnPinningForGroups();
68029
68055
  this.notifyChanges();
68030
68056
  }
68031
68057
  /**
@@ -68411,6 +68437,42 @@ class IgxGridBaseDirective extends DisplayDensityBase {
68411
68437
  settings.target = targetRow.element.nativeElement;
68412
68438
  this.toggleRowEditingOverlay(true);
68413
68439
  }
68440
+ handleColumnPinningForGroups() {
68441
+ // When a column is a group or is inside a group, pin all related.
68442
+ const pinnedColumns = [];
68443
+ const unpinnedColumns = [];
68444
+ this._pinnedColumns.forEach(col => {
68445
+ if (col.parent) {
68446
+ col.parent.pinned = true;
68447
+ }
68448
+ if (col.columnGroup) {
68449
+ col.children.forEach(child => child.pinned = true);
68450
+ }
68451
+ });
68452
+ // Make sure we don't exceed unpinned area min width and get pinned and unpinned col collections.
68453
+ // We take into account top level columns (top level groups and non groups).
68454
+ // If top level is unpinned the pinning handles all children to be unpinned as well.
68455
+ for (const column of this._columns) {
68456
+ if (column.pinned && !column.parent) {
68457
+ pinnedColumns.push(column);
68458
+ }
68459
+ else if (column.pinned && column.parent) {
68460
+ if (column.topLevelParent.pinned) {
68461
+ pinnedColumns.push(column);
68462
+ }
68463
+ else {
68464
+ column.pinned = false;
68465
+ unpinnedColumns.push(column);
68466
+ }
68467
+ }
68468
+ else {
68469
+ unpinnedColumns.push(column);
68470
+ }
68471
+ }
68472
+ // Assign the applicable collections.
68473
+ this._pinnedColumns = pinnedColumns;
68474
+ this._unpinnedColumns = unpinnedColumns;
68475
+ }
68414
68476
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: IgxGridBaseDirective, deps: [{ token: IgxGridValidationService }, { token: IgxGridSelectionService }, { token: IgxColumnResizingService }, { token: IGX_GRID_SERVICE_BASE }, { token: IgxFlatTransactionFactory }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: DOCUMENT }, { token: i0.ChangeDetectorRef }, { token: i0.IterableDiffers }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i0.EnvironmentInjector }, { token: IgxGridNavigationService }, { token: IgxFilteringService }, { token: IgxOverlayService }, { token: IgxGridSummaryService }, { token: DisplayDensityToken, optional: true }, { token: LOCALE_ID }, { token: PlatformUtil }, { token: IgxGridTransaction, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
68415
68477
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.8", type: IgxGridBaseDirective, inputs: { snackbarDisplayTime: "snackbarDisplayTime", autoGenerate: "autoGenerate", autoGenerateExclude: "autoGenerateExclude", moving: "moving", emptyGridTemplate: "emptyGridTemplate", addRowEmptyTemplate: "addRowEmptyTemplate", loadingGridTemplate: "loadingGridTemplate", summaryRowHeight: "summaryRowHeight", dataCloneStrategy: "dataCloneStrategy", clipboardOptions: "clipboardOptions", rowClasses: "rowClasses", rowStyles: "rowStyles", primaryKey: "primaryKey", uniqueColumnValuesStrategy: "uniqueColumnValuesStrategy", dragGhostCustomTemplate: "dragGhostCustomTemplate", rowEditTextTemplate: "rowEditTextTemplate", rowAddTextTemplate: "rowAddTextTemplate", rowEditActionsTemplate: "rowEditActionsTemplate", rowExpandedIndicatorTemplate: "rowExpandedIndicatorTemplate", rowCollapsedIndicatorTemplate: "rowCollapsedIndicatorTemplate", headerExpandedIndicatorTemplate: "headerExpandedIndicatorTemplate", headerCollapsedIndicatorTemplate: "headerCollapsedIndicatorTemplate", excelStyleHeaderIconTemplate: "excelStyleHeaderIconTemplate", sortAscendingHeaderIconTemplate: "sortAscendingHeaderIconTemplate", sortDescendingHeaderIconTemplate: "sortDescendingHeaderIconTemplate", sortHeaderIconTemplate: "sortHeaderIconTemplate", resourceStrings: "resourceStrings", filteringLogic: "filteringLogic", filteringExpressionsTree: "filteringExpressionsTree", advancedFilteringExpressionsTree: "advancedFilteringExpressionsTree", locale: "locale", pagingMode: "pagingMode", hideRowSelectors: "hideRowSelectors", rowDraggable: "rowDraggable", validationTrigger: "validationTrigger", rowEditable: "rowEditable", height: "height", width: "width", rowHeight: "rowHeight", columnWidth: "columnWidth", emptyGridMessage: "emptyGridMessage", isLoading: "isLoading", emptyFilteredGridMessage: "emptyFilteredGridMessage", pinning: "pinning", allowFiltering: "allowFiltering", allowAdvancedFiltering: "allowAdvancedFiltering", filterMode: "filterMode", summaryPosition: "summaryPosition", summaryCalculationMode: "summaryCalculationMode", showSummaryOnCollapse: "showSummaryOnCollapse", filterStrategy: "filterStrategy", sortStrategy: "sortStrategy", sortingOptions: "sortingOptions", selectedRows: "selectedRows", headSelectorTemplate: "headSelectorTemplate", rowSelectorTemplate: "rowSelectorTemplate", dragIndicatorIconTemplate: "dragIndicatorIconTemplate", sortingExpressions: "sortingExpressions", batchEditing: "batchEditing", cellSelection: "cellSelection", rowSelection: "rowSelection", columnSelection: "columnSelection", expansionStates: "expansionStates", outlet: "outlet", totalRecords: "totalRecords", selectRowOnClick: "selectRowOnClick" }, outputs: { filteringExpressionsTreeChange: "filteringExpressionsTreeChange", advancedFilteringExpressionsTreeChange: "advancedFilteringExpressionsTreeChange", gridScroll: "gridScroll", cellClick: "cellClick", formGroupCreated: "formGroupCreated", validationStatusChange: "validationStatusChange", selected: "selected", rowSelectionChanging: "rowSelectionChanging", columnSelectionChanging: "columnSelectionChanging", columnPin: "columnPin", columnPinned: "columnPinned", cellEditEnter: "cellEditEnter", cellEditExit: "cellEditExit", cellEdit: "cellEdit", cellEditDone: "cellEditDone", rowEditEnter: "rowEditEnter", rowEdit: "rowEdit", rowEditDone: "rowEditDone", rowEditExit: "rowEditExit", columnInit: "columnInit", sorting: "sorting", sortingDone: "sortingDone", filtering: "filtering", filteringDone: "filteringDone", rowAdded: "rowAdded", rowDeleted: "rowDeleted", rowDelete: "rowDelete", rowAdd: "rowAdd", columnResized: "columnResized", contextMenu: "contextMenu", doubleClick: "doubleClick", columnVisibilityChanging: "columnVisibilityChanging", columnVisibilityChanged: "columnVisibilityChanged", columnMovingStart: "columnMovingStart", columnMoving: "columnMoving", columnMovingEnd: "columnMovingEnd", gridKeydown: "gridKeydown", rowDragStart: "rowDragStart", rowDragEnd: "rowDragEnd", gridCopy: "gridCopy", expansionStatesChange: "expansionStatesChange", rowToggle: "rowToggle", rowPinning: "rowPinning", rowPinned: "rowPinned", activeNodeChange: "activeNodeChange", sortingExpressionsChange: "sortingExpressionsChange", toolbarExporting: "toolbarExporting", rangeSelected: "rangeSelected", rendered: "rendered", localeChange: "localeChange", dataChanging: "dataChanging", dataChanged: "dataChanged" }, host: { listeners: { "mouseleave": "hideActionStrip()" }, properties: { "attr.tabindex": "this.tabindex", "attr.role": "this.hostRole", "class.igx-grid": "this.baseClass", "style.--component-size": "this.hostStyles", "style.height": "this.height", "style.width": "this.hostWidth" } }, queries: [{ propertyName: "actionStrip", first: true, predicate: IgxActionStripComponent, descendants: true }, { propertyName: "excelStyleLoadingValuesTemplateDirective", first: true, predicate: IgxExcelStyleLoadingValuesTemplateDirective, descendants: true, read: IgxExcelStyleLoadingValuesTemplateDirective, static: true }, { propertyName: "rowAddText", first: true, predicate: IgxRowAddTextDirective, descendants: true, read: TemplateRef }, { propertyName: "rowExpandedIndicatorDirectiveTemplate", first: true, predicate: IgxRowExpandedIndicatorDirective, descendants: true, read: TemplateRef }, { propertyName: "rowCollapsedIndicatorDirectiveTemplate", first: true, predicate: IgxRowCollapsedIndicatorDirective, descendants: true, read: TemplateRef }, { propertyName: "headerExpandedIndicatorDirectiveTemplate", first: true, predicate: IgxHeaderExpandedIndicatorDirective, descendants: true, read: TemplateRef }, { propertyName: "headerCollapsedIndicatorDirectiveTemplate", first: true, predicate: IgxHeaderCollapsedIndicatorDirective, descendants: true, read: TemplateRef }, { propertyName: "excelStyleHeaderIconDirectiveTemplate", first: true, predicate: IgxExcelStyleHeaderIconDirective, descendants: true, read: TemplateRef }, { propertyName: "sortAscendingHeaderIconDirectiveTemplate", first: true, predicate: IgxSortAscendingHeaderIconDirective, descendants: true, read: TemplateRef }, { propertyName: "sortDescendingHeaderIconDirectiveTemplate", first: true, predicate: IgxSortDescendingHeaderIconDirective, descendants: true, read: TemplateRef }, { propertyName: "sortHeaderIconDirectiveTemplate", first: true, predicate: IgxSortHeaderIconDirective, descendants: true, read: TemplateRef }, { propertyName: "excelStyleFilteringComponents", predicate: IgxGridExcelStyleFilteringComponent, read: IgxGridExcelStyleFilteringComponent }, { propertyName: "columnList", predicate: IgxColumnComponent, descendants: true, read: IgxColumnComponent }, { propertyName: "headSelectorsTemplates", predicate: IgxHeadSelectorDirective, read: TemplateRef }, { propertyName: "rowSelectorsTemplates", predicate: IgxRowSelectorDirective, read: TemplateRef }, { propertyName: "dragGhostCustomTemplates", predicate: IgxRowDragGhostDirective, read: TemplateRef }, { propertyName: "rowEditCustomDirectives", predicate: IgxRowEditTemplateDirective, read: TemplateRef }, { propertyName: "rowEditTextDirectives", predicate: IgxRowEditTextDirective, read: TemplateRef }, { propertyName: "rowEditActionsDirectives", predicate: IgxRowEditActionsDirective, read: TemplateRef }, { propertyName: "dragIndicatorIconTemplates", predicate: IgxDragIndicatorIconDirective, read: TemplateRef }, { propertyName: "rowEditTabsCUSTOM", predicate: IgxRowEditTabStopDirective, descendants: true }, { propertyName: "toolbar", predicate: IgxGridToolbarComponent }, { propertyName: "paginationComponents", predicate: IgxPaginatorComponent }], viewQueries: [{ propertyName: "addRowSnackbar", first: true, predicate: IgxSnackbarComponent, descendants: true }, { propertyName: "resizeLine", first: true, predicate: IgxGridColumnResizerComponent, descendants: true }, { propertyName: "loadingOverlay", first: true, predicate: ["loadingOverlay"], descendants: true, read: IgxToggleDirective, static: true }, { propertyName: "loadingOutlet", first: true, predicate: ["igxLoadingOverlayOutlet"], descendants: true, read: IgxOverlayOutletDirective, static: true }, { propertyName: "emptyFilteredGridTemplate", first: true, predicate: ["emptyFilteredGrid"], descendants: true, read: TemplateRef, static: true }, { propertyName: "emptyGridDefaultTemplate", first: true, predicate: ["defaultEmptyGrid"], descendants: true, read: TemplateRef, static: true }, { propertyName: "loadingGridDefaultTemplate", first: true, predicate: ["defaultLoadingGrid"], descendants: true, read: TemplateRef, static: true }, { propertyName: "parentVirtDir", first: true, predicate: ["scrollContainer"], descendants: true, read: IgxGridForOfDirective, static: true }, { propertyName: "verticalScrollContainer", first: true, predicate: ["verticalScrollContainer"], descendants: true, read: IgxGridForOfDirective, static: true }, { propertyName: "verticalScroll", first: true, predicate: ["verticalScrollHolder"], descendants: true, read: IgxGridForOfDirective, static: true }, { propertyName: "scr", first: true, predicate: ["scr"], descendants: true, read: ElementRef, static: true }, { propertyName: "headerSelectorBaseTemplate", first: true, predicate: ["headSelectorBaseTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "footer", first: true, predicate: ["footer"], descendants: true, read: ElementRef }, { propertyName: "theadRow", first: true, predicate: IgxGridHeaderRowComponent, descendants: true, static: true }, { propertyName: "groupArea", first: true, predicate: IgxGridGroupByAreaComponent, descendants: true }, { propertyName: "tbody", first: true, predicate: ["tbody"], descendants: true, static: true }, { propertyName: "pinContainer", first: true, predicate: ["pinContainer"], descendants: true, read: ElementRef }, { propertyName: "tfoot", first: true, predicate: ["tfoot"], descendants: true, static: true }, { propertyName: "rowEditingOutletDirective", first: true, predicate: ["igxRowEditingOverlayOutlet"], descendants: true, read: IgxOverlayOutletDirective, static: true }, { propertyName: "dragIndicatorIconBase", first: true, predicate: ["dragIndicatorIconBase"], descendants: true, read: TemplateRef, static: true }, { propertyName: "rowEditingOverlay", first: true, predicate: ["rowEditingOverlay"], descendants: true, read: IgxToggleDirective }, { propertyName: "_outletDirective", first: true, predicate: ["igxFilteringOverlayOutlet"], descendants: true, read: IgxOverlayOutletDirective, static: true }, { propertyName: "defaultExpandedTemplate", first: true, predicate: ["defaultExpandedTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultCollapsedTemplate", first: true, predicate: ["defaultCollapsedTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultESFHeaderIconTemplate", first: true, predicate: ["defaultESFHeaderIcon"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultRowEditTemplate", first: true, predicate: ["defaultRowEditTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "tmpOutlets", predicate: IgxTemplateOutletDirective, descendants: true, read: IgxTemplateOutletDirective }, { propertyName: "rowEditTabsDEFAULT", predicate: IgxRowEditTabStopDirective, descendants: true }, { propertyName: "_summaryRowList", predicate: ["summaryRow"], descendants: true, read: IgxSummaryRowComponent }, { propertyName: "_rowList", predicate: ["row"], descendants: true }, { propertyName: "_pinnedRowList", predicate: ["pinnedRow"], descendants: true }, { propertyName: "_dataRowList", predicate: IgxRowDirective, descendants: true, read: IgxRowDirective }], usesInheritance: true, ngImport: i0 }); }
68416
68478
  }