igniteui-angular 13.0.0-alpha.3 → 13.0.0-alpha.4

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 (27) hide show
  1. package/esm2020/lib/core/utils.mjs +3 -2
  2. package/esm2020/lib/directives/scroll-inertia/scroll_inertia.directive.mjs +1 -90
  3. package/esm2020/lib/grids/cell.component.mjs +5 -5
  4. package/esm2020/lib/grids/common/grid.interface.mjs +1 -1
  5. package/esm2020/lib/grids/filtering/excel-style/grid.excel-style-filtering.component.mjs +4 -4
  6. package/esm2020/lib/grids/grid/grid.component.mjs +1 -1
  7. package/esm2020/lib/grids/grid-base.directive.mjs +13 -9
  8. package/esm2020/lib/grids/hierarchical-grid/hierarchical-grid.component.mjs +1 -1
  9. package/esm2020/lib/grids/hierarchical-grid/row-island.component.mjs +1 -1
  10. package/esm2020/lib/grids/state.directive.mjs +8 -5
  11. package/esm2020/lib/grids/toolbar/grid-toolbar-advanced-filtering.component.mjs +13 -11
  12. package/esm2020/lib/grids/toolbar/grid-toolbar-exporter.component.mjs +17 -15
  13. package/esm2020/lib/grids/toolbar/grid-toolbar.base.mjs +6 -4
  14. package/esm2020/lib/grids/tree-grid/tree-grid.component.mjs +1 -1
  15. package/fesm2015/igniteui-angular.mjs +37 -109
  16. package/fesm2015/igniteui-angular.mjs.map +1 -1
  17. package/fesm2020/igniteui-angular.mjs +31 -109
  18. package/fesm2020/igniteui-angular.mjs.map +1 -1
  19. package/lib/core/utils.d.ts +5 -0
  20. package/lib/directives/scroll-inertia/scroll_inertia.directive.d.ts +0 -24
  21. package/lib/grids/common/grid.interface.d.ts +19 -1
  22. package/lib/grids/grid-base.directive.d.ts +5 -5
  23. package/lib/grids/state.directive.d.ts +3 -3
  24. package/lib/grids/toolbar/grid-toolbar-advanced-filtering.component.d.ts +1 -1
  25. package/lib/grids/toolbar/grid-toolbar-exporter.component.d.ts +1 -1
  26. package/lib/grids/toolbar/grid-toolbar.base.d.ts +1 -1
  27. package/package.json +2 -2
@@ -5,7 +5,7 @@ import { Injectable, Directive, Input, HostListener, NgModule, PLATFORM_ID, Inje
5
5
  import * as i12 from '@angular/forms';
6
6
  import { NgModel, FormControlName, NG_VALUE_ACCESSOR, NG_VALIDATORS, CheckboxRequiredValidator, FormsModule, NgControl, ReactiveFormsModule } from '@angular/forms';
7
7
  import * as i4 from '@angular/common';
8
- import { isPlatformBrowser, formatDate as formatDate$1, DatePipe, DOCUMENT, CommonModule, FormatWidth, getLocaleDateFormat, formatPercent, formatNumber, formatCurrency, getLocaleCurrencyCode, getLocaleNumberFormat, NumberFormatStyle, getCurrencySymbol } from '@angular/common';
8
+ import { isPlatformBrowser, formatDate as formatDate$1, CurrencyPipe, DatePipe, DOCUMENT, CommonModule, FormatWidth, getLocaleDateFormat, formatPercent, formatNumber, getLocaleCurrencyCode, getLocaleNumberFormat, NumberFormatStyle, getCurrencySymbol } from '@angular/common';
9
9
  import { Observable, Subject, fromEvent, interval, animationFrameScheduler, noop, merge, Subscription, timer, pipe } from 'rxjs';
10
10
  import { takeUntil, filter, first as first$1, throttleTime, take, throttle, debounce, tap, switchMap, skipLast, map, debounceTime, shareReplay, takeWhile, delay, pluck } from 'rxjs/operators';
11
11
  import mergeWith from 'lodash.mergewith';
@@ -1587,6 +1587,7 @@ const formatDate = (value, format, locale, timezone) => {
1587
1587
  }
1588
1588
  return formatDate$1(value, format, locale, timezone);
1589
1589
  };
1590
+ const formatCurrency = new CurrencyPipe(undefined).transform;
1590
1591
 
1591
1592
  var PagingError;
1592
1593
  (function (PagingError) {
@@ -8494,12 +8495,6 @@ class IgxScrollInertiaDirective {
8494
8495
  this.inertiaDeltaX = 2;
8495
8496
  this.inertiaDuration = 0.5;
8496
8497
  this._savedSpeedsX = [];
8497
- this.setPointerCaptureFName = typeof Element.prototype['msSetPointerCapture'] === 'function' ?
8498
- 'msSetPointerCapture' :
8499
- 'setPointerCapture';
8500
- this.releasePointerCaptureFName = typeof Element.prototype['msReleasePointerCapture'] === 'function' ?
8501
- 'msReleasePointerCapture' :
8502
- 'releasePointerCapture';
8503
8498
  this.baseDeltaMultiplier = 1 / 120;
8504
8499
  this.firefoxDeltaMultiplier = 1 / 30;
8505
8500
  }
@@ -8514,10 +8509,6 @@ class IgxScrollInertiaDirective {
8514
8509
  targetElem.addEventListener('touchstart', this.onTouchStart.bind(this));
8515
8510
  targetElem.addEventListener('touchmove', this.onTouchMove.bind(this));
8516
8511
  targetElem.addEventListener('touchend', this.onTouchEnd.bind(this));
8517
- targetElem.addEventListener('pointerdown', this.onPointerDown.bind(this));
8518
- targetElem.addEventListener('pointerup', this.onPointerUp.bind(this));
8519
- targetElem.addEventListener('MSGestureStart', this.onMSGestureStart.bind(this));
8520
- targetElem.addEventListener('MSGestureChange', this.onMSGestureChange.bind(this));
8521
8512
  });
8522
8513
  }
8523
8514
  ngOnDestroy() {
@@ -8530,10 +8521,6 @@ class IgxScrollInertiaDirective {
8530
8521
  targetElem.removeEventListener('touchstart', this.onTouchStart);
8531
8522
  targetElem.removeEventListener('touchmove', this.onTouchMove);
8532
8523
  targetElem.removeEventListener('touchend', this.onTouchEnd);
8533
- targetElem.removeEventListener('pointerdown', this.onPointerDown);
8534
- targetElem.removeEventListener('pointerup', this.onPointerUp);
8535
- targetElem.removeEventListener('MSGestureStart', this.onMSGestureStart);
8536
- targetElem.removeEventListener('MSGestureChange', this.onMSGestureChange);
8537
8524
  });
8538
8525
  }
8539
8526
  /**
@@ -8741,81 +8728,6 @@ class IgxScrollInertiaDirective {
8741
8728
  this.preventParentScroll(event, false);
8742
8729
  }
8743
8730
  }
8744
- /**
8745
- * @hidden
8746
- * Function that is called when we need to detect touch starting on a touch device on IE/Edge
8747
- */
8748
- onPointerDown(event) {
8749
- if (!event || (event.pointerType !== 2 && event.pointerType !== 'touch')) {
8750
- return true;
8751
- }
8752
- if (!this.IgxScrollInertiaScrollContainer) {
8753
- return;
8754
- }
8755
- // setPointerCaptureFName is the name of the function that is supported
8756
- event.target[this.setPointerCaptureFName](this._pointer = event.pointerId);
8757
- this._gestureObject.addPointer(this._pointer);
8758
- }
8759
- /**
8760
- * @hidden
8761
- * Function that is called when we need to detect touch ending on a touch device on IE/Edge
8762
- */
8763
- onPointerUp(event) {
8764
- if (!this._pointer) {
8765
- return true;
8766
- }
8767
- if (!this.IgxScrollInertiaScrollContainer) {
8768
- return;
8769
- }
8770
- /* releasePointerCaptureFName is the name of the function that is supported */
8771
- event.target[this.releasePointerCaptureFName](this._pointer);
8772
- delete this._pointer;
8773
- }
8774
- /**
8775
- * @hidden
8776
- * Function that is called when a gesture begins on IE/Edge
8777
- */
8778
- onMSGestureStart(event) {
8779
- if (!this.IgxScrollInertiaScrollContainer) {
8780
- return;
8781
- }
8782
- this._startX = this.IgxScrollInertiaScrollContainer.scrollLeft;
8783
- this._startY = this.IgxScrollInertiaScrollContainer.scrollTop;
8784
- this._touchStartX = event.screenX;
8785
- this._touchStartY = event.screenY;
8786
- // Vars regarding swipe offset
8787
- this._totalMovedX = 0;
8788
- this._offsetRecorded = false;
8789
- this._offsetDirection = 0;
8790
- return false;
8791
- }
8792
- /**
8793
- * @hidden
8794
- * Function that is called when a we need to scroll based on the gesture performed on IE/Edge
8795
- */
8796
- onMSGestureChange(event) {
8797
- if (!this.IgxScrollInertiaScrollContainer) {
8798
- return;
8799
- }
8800
- const touchPos = event;
8801
- const destX = this._startX + this._touchStartX - touchPos.screenX;
8802
- const destY = this._startY + this._touchStartY - touchPos.screenY;
8803
- /* Logic regarding x tolerance to prevent accidental horizontal scrolling when scrolling vertically */
8804
- this._totalMovedX = this._touchStartX - touchPos.screenX;
8805
- if (Math.abs(this._totalMovedX) < this.swipeToleranceX && !this._offsetRecorded) {
8806
- /* Do not scroll horizontally yet while in the tolerance range */
8807
- this._scrollToY(destY);
8808
- }
8809
- else {
8810
- if (!this._offsetRecorded) {
8811
- this._offsetDirection = Math.sign(destX - this._startX);
8812
- this._offsetRecorded = true;
8813
- }
8814
- /* Once the tolerance is exceeded it can be scrolled horizontally */
8815
- this._scrollTo(destX - this._offsetDirection * this.swipeToleranceX, destY);
8816
- }
8817
- return false;
8818
- }
8819
8731
  _smoothWheelScroll(delta) {
8820
8732
  this._nextY = this.IgxScrollInertiaScrollContainer.scrollTop;
8821
8733
  this._nextX = this.IgxScrollInertiaScrollContainer.scrollLeft;
@@ -43465,7 +43377,7 @@ class IgxGridExcelStyleFilteringComponent extends BaseFilteringComponent {
43465
43377
  case GridColumnDataType.Time:
43466
43378
  return formatDate(element, format, locale, timezone);
43467
43379
  case GridColumnDataType.Currency:
43468
- return formatCurrency(element, locale, display, currencyCode !== null && currencyCode !== void 0 ? currencyCode : getLocaleCurrencyCode(locale), digitsInfo);
43380
+ return formatCurrency(element, currencyCode !== null && currencyCode !== void 0 ? currencyCode : getLocaleCurrencyCode(locale), display, digitsInfo, locale);
43469
43381
  case GridColumnDataType.Number:
43470
43382
  return formatNumber(element, locale, digitsInfo);
43471
43383
  case GridColumnDataType.Percent:
@@ -47491,14 +47403,15 @@ class IgxGridToolbarAdvancedFilteringComponent {
47491
47403
  return this.toolbar.grid;
47492
47404
  }
47493
47405
  }
47494
- IgxGridToolbarAdvancedFilteringComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridToolbarAdvancedFilteringComponent, deps: [{ token: IgxToolbarToken, host: true }], target: i0.ɵɵFactoryTarget.Component });
47406
+ IgxGridToolbarAdvancedFilteringComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridToolbarAdvancedFilteringComponent, deps: [{ token: IgxToolbarToken }], target: i0.ɵɵFactoryTarget.Component });
47495
47407
  IgxGridToolbarAdvancedFilteringComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: IgxGridToolbarAdvancedFilteringComponent, selector: "igx-grid-toolbar-advanced-filtering", inputs: { overlaySettings: "overlaySettings" }, ngImport: i0, template: "<button igxButton=\"outlined\" [displayDensity]=\"grid.displayDensity\" name=\"btnAdvancedFiltering\" igxRipple\n [title]=\"grid?.resourceStrings.igx_grid_toolbar_advanced_filtering_button_tooltip\"\n (click)=\"grid.openAdvancedFilteringDialog()\"\n [ngClass]=\"grid.advancedFilteringExpressionsTree ? 'igx-grid-toolbar__adv-filter--filtered' : 'igx-grid-toolbar__adv-filter'\">\n <igx-icon>filter_list</igx-icon>\n <span #ref>\n <ng-content></ng-content>\n </span>\n <span *ngIf=\"!ref.childNodes.length\">{{ grid?.resourceStrings.igx_grid_toolbar_advanced_filtering_button_label }}</span>\n</button>\n", components: [{ type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }], directives: [{ type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
47496
47408
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridToolbarAdvancedFilteringComponent, decorators: [{
47497
47409
  type: Component,
47498
47410
  args: [{ selector: 'igx-grid-toolbar-advanced-filtering', template: "<button igxButton=\"outlined\" [displayDensity]=\"grid.displayDensity\" name=\"btnAdvancedFiltering\" igxRipple\n [title]=\"grid?.resourceStrings.igx_grid_toolbar_advanced_filtering_button_tooltip\"\n (click)=\"grid.openAdvancedFilteringDialog()\"\n [ngClass]=\"grid.advancedFilteringExpressionsTree ? 'igx-grid-toolbar__adv-filter--filtered' : 'igx-grid-toolbar__adv-filter'\">\n <igx-icon>filter_list</igx-icon>\n <span #ref>\n <ng-content></ng-content>\n </span>\n <span *ngIf=\"!ref.childNodes.length\">{{ grid?.resourceStrings.igx_grid_toolbar_advanced_filtering_button_label }}</span>\n</button>\n" }]
47499
47411
  }], ctorParameters: function () {
47500
47412
  return [{ type: IgxToolbarToken, decorators: [{
47501
- type: Host
47413
+ type: Inject,
47414
+ args: [IgxToolbarToken]
47502
47415
  }] }];
47503
47416
  }, propDecorators: { overlaySettings: [{
47504
47417
  type: Input
@@ -48097,13 +48010,14 @@ class BaseToolbarDirective {
48097
48010
  }
48098
48011
  }
48099
48012
  }
48100
- BaseToolbarDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: BaseToolbarDirective, deps: [{ token: IgxToolbarToken, host: true }], target: i0.ɵɵFactoryTarget.Directive });
48013
+ BaseToolbarDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: BaseToolbarDirective, deps: [{ token: IgxToolbarToken }], target: i0.ɵɵFactoryTarget.Directive });
48101
48014
  BaseToolbarDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0", type: BaseToolbarDirective, inputs: { columnListHeight: "columnListHeight", title: "title", prompt: "prompt", overlaySettings: "overlaySettings" }, outputs: { opening: "opening", opened: "opened", closing: "closing", closed: "closed", columnToggle: "columnToggle" }, ngImport: i0 });
48102
48015
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: BaseToolbarDirective, decorators: [{
48103
48016
  type: Directive
48104
48017
  }], ctorParameters: function () {
48105
48018
  return [{ type: IgxToolbarToken, decorators: [{
48106
- type: Host
48019
+ type: Inject,
48020
+ args: [IgxToolbarToken]
48107
48021
  }] }];
48108
48022
  }, propDecorators: { columnListHeight: [{
48109
48023
  type: Input
@@ -48359,14 +48273,15 @@ class IgxGridToolbarExporterComponent extends BaseToolbarDirective {
48359
48273
  exporter.export(this.grid, options);
48360
48274
  }
48361
48275
  }
48362
- IgxGridToolbarExporterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridToolbarExporterComponent, deps: [{ token: IgxToolbarToken, host: true }, { token: IgxExcelExporterService }, { token: IgxCsvExporterService }], target: i0.ɵɵFactoryTarget.Component });
48276
+ IgxGridToolbarExporterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridToolbarExporterComponent, deps: [{ token: IgxToolbarToken }, { token: IgxExcelExporterService }, { token: IgxCsvExporterService }], target: i0.ɵɵFactoryTarget.Component });
48363
48277
  IgxGridToolbarExporterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: IgxGridToolbarExporterComponent, selector: "igx-grid-toolbar-exporter", inputs: { exportCSV: "exportCSV", exportExcel: "exportExcel", filename: "filename" }, outputs: { exportStarted: "exportStarted", exportEnded: "exportEnded" }, queries: [{ propertyName: "hasExcelAttr", first: true, predicate: IgxExcelTextDirective, descendants: true }, { propertyName: "hasCSVAttr", first: true, predicate: IgxCSVTextDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"igx-grid-toolbar__dropdown\" id=\"btnExport\">\n <button [title]=\"grid?.resourceStrings.igx_grid_toolbar_exporter_button_tooltip\" [disabled]=\"isExporting\"\n igxButton=\"outlined\" [displayDensity]=\"grid.displayDensity\" igxRipple #btn (click)=\"toggle(btn, toggleRef)\">\n <igx-icon>import_export</igx-icon>\n <span #ref>\n <ng-content></ng-content>\n </span>\n <span *ngIf=\"!ref.childNodes.length\">\n {{ grid?.resourceStrings.igx_grid_toolbar_exporter_button_label }}\n </span>\n <igx-icon>arrow_drop_down</igx-icon>\n </button>\n\n <ul class=\"igx-grid-toolbar__dd-list\" igxToggle #toggleRef=\"toggle\">\n <li *ngIf=\"exportExcel\" #btnExportExcel id=\"btnExportExcel\"\n class=\"igx-grid-toolbar__dd-list-items\" igxRipple (click)=\"export('excel', toggleRef)\">\n <ng-template #excel>\n <ng-content select=[excelText],excel-text></ng-content>\n </ng-template>\n <excel-text *ngIf=\"!hasExcelAttr\">\n {{ grid?.resourceStrings.igx_grid_toolbar_exporter_excel_entry_text}}\n </excel-text>\n <ng-container *ngTemplateOutlet=\"excel\"></ng-container>\n </li>\n\n <li *ngIf=\"exportCSV\" #btnExportCsv id=\"btnExportCsv\" class=\"igx-grid-toolbar__dd-list-items\"\n igxRipple (click)=\"export('csv', toggleRef)\">\n <ng-template #csv>\n <ng-content select=[csvText],csv-text></ng-content>\n </ng-template>\n <csv-text *ngIf=\"!hasCSVAttr\">\n {{ grid?.resourceStrings.igx_grid_toolbar_exporter_csv_entry_text }}</csv-text>\n <ng-container *ngTemplateOutlet=\"csv\"></ng-container>\n </li>\n </ul>\n</div>\n", components: [{ type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }], directives: [{ type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: IgxToggleDirective, selector: "[igxToggle]", inputs: ["id"], outputs: ["opened", "opening", "closed", "closing", "appended"], exportAs: ["toggle"] }, { type: IgxExcelTextDirective, selector: "[excelText],excel-text" }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: IgxCSVTextDirective, selector: "[csvText],csv-text" }] });
48364
48278
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridToolbarExporterComponent, decorators: [{
48365
48279
  type: Component,
48366
48280
  args: [{ selector: 'igx-grid-toolbar-exporter', template: "<div class=\"igx-grid-toolbar__dropdown\" id=\"btnExport\">\n <button [title]=\"grid?.resourceStrings.igx_grid_toolbar_exporter_button_tooltip\" [disabled]=\"isExporting\"\n igxButton=\"outlined\" [displayDensity]=\"grid.displayDensity\" igxRipple #btn (click)=\"toggle(btn, toggleRef)\">\n <igx-icon>import_export</igx-icon>\n <span #ref>\n <ng-content></ng-content>\n </span>\n <span *ngIf=\"!ref.childNodes.length\">\n {{ grid?.resourceStrings.igx_grid_toolbar_exporter_button_label }}\n </span>\n <igx-icon>arrow_drop_down</igx-icon>\n </button>\n\n <ul class=\"igx-grid-toolbar__dd-list\" igxToggle #toggleRef=\"toggle\">\n <li *ngIf=\"exportExcel\" #btnExportExcel id=\"btnExportExcel\"\n class=\"igx-grid-toolbar__dd-list-items\" igxRipple (click)=\"export('excel', toggleRef)\">\n <ng-template #excel>\n <ng-content select=[excelText],excel-text></ng-content>\n </ng-template>\n <excel-text *ngIf=\"!hasExcelAttr\">\n {{ grid?.resourceStrings.igx_grid_toolbar_exporter_excel_entry_text}}\n </excel-text>\n <ng-container *ngTemplateOutlet=\"excel\"></ng-container>\n </li>\n\n <li *ngIf=\"exportCSV\" #btnExportCsv id=\"btnExportCsv\" class=\"igx-grid-toolbar__dd-list-items\"\n igxRipple (click)=\"export('csv', toggleRef)\">\n <ng-template #csv>\n <ng-content select=[csvText],csv-text></ng-content>\n </ng-template>\n <csv-text *ngIf=\"!hasCSVAttr\">\n {{ grid?.resourceStrings.igx_grid_toolbar_exporter_csv_entry_text }}</csv-text>\n <ng-container *ngTemplateOutlet=\"csv\"></ng-container>\n </li>\n </ul>\n</div>\n" }]
48367
48281
  }], ctorParameters: function () {
48368
48282
  return [{ type: IgxToolbarToken, decorators: [{
48369
- type: Host
48283
+ type: Inject,
48284
+ args: [IgxToolbarToken]
48370
48285
  }] }, { type: IgxExcelExporterService }, { type: IgxCsvExporterService }];
48371
48286
  }, propDecorators: { hasExcelAttr: [{
48372
48287
  type: ContentChild,
@@ -56790,19 +56705,24 @@ class IgxGridBaseDirective extends DisplayDensityBase {
56790
56705
  return this.theadRow.groups;
56791
56706
  }
56792
56707
  get headerContainer() {
56793
- return this.theadRow.headerContainer;
56708
+ var _a;
56709
+ return (_a = this.theadRow) === null || _a === void 0 ? void 0 : _a.headerContainer;
56794
56710
  }
56795
56711
  get headerSelectorContainer() {
56796
- return this.theadRow.headerSelectorContainer;
56712
+ var _a;
56713
+ return (_a = this.theadRow) === null || _a === void 0 ? void 0 : _a.headerSelectorContainer;
56797
56714
  }
56798
56715
  get headerDragContainer() {
56799
- return this.theadRow.headerDragContainer;
56716
+ var _a;
56717
+ return (_a = this.theadRow) === null || _a === void 0 ? void 0 : _a.headerDragContainer;
56800
56718
  }
56801
56719
  get headerGroupContainer() {
56802
- return this.theadRow.headerGroupContainer;
56720
+ var _a;
56721
+ return (_a = this.theadRow) === null || _a === void 0 ? void 0 : _a.headerGroupContainer;
56803
56722
  }
56804
56723
  get filteringRow() {
56805
- return this.theadRow.filterRow;
56724
+ var _a;
56725
+ return (_a = this.theadRow) === null || _a === void 0 ? void 0 : _a.filterRow;
56806
56726
  }
56807
56727
  /**
56808
56728
  * Gets/Sets the resource strings.
@@ -59773,7 +59693,8 @@ class IgxGridBaseDirective extends DisplayDensityBase {
59773
59693
  * ```
59774
59694
  */
59775
59695
  get unpinnedDataView() {
59776
- return this.unpinnedRecords ? this.unpinnedRecords : this.verticalScrollContainer.igxForOf || [];
59696
+ var _a;
59697
+ return this.unpinnedRecords ? this.unpinnedRecords : ((_a = this.verticalScrollContainer) === null || _a === void 0 ? void 0 : _a.igxForOf) || [];
59777
59698
  }
59778
59699
  /**
59779
59700
  * Returns the currently transformed paged/filtered/sorted/grouped/pinned/unpinned row data, displayed in the grid.
@@ -59988,7 +59909,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
59988
59909
  this.notifyChanges();
59989
59910
  }
59990
59911
  /**
59991
- * Deselect specified columns by filed.
59912
+ * Deselect specified columns by field.
59992
59913
  *
59993
59914
  * @example
59994
59915
  * ```typescript
@@ -60113,6 +60034,9 @@ class IgxGridBaseDirective extends DisplayDensityBase {
60113
60034
  if (!this.clipboardOptions.copyHeaders) {
60114
60035
  result = result.substring(result.indexOf('\n') + 1);
60115
60036
  }
60037
+ if (Object.values(data[0]).length === 1) {
60038
+ result = result.slice(0, -2);
60039
+ }
60116
60040
  event.preventDefault();
60117
60041
  /* Necessary for the hiearachical case but will probably have to
60118
60042
  change how getSelectedData is propagated in the hiearachical grid
@@ -60369,7 +60293,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
60369
60293
  * @hidden @internal
60370
60294
  */
60371
60295
  getEmptyRecordObjectFor(inRow) {
60372
- const row = Object.assign({}, inRow === null || inRow === void 0 ? void 0 : inRow.rowData);
60296
+ const row = Object.assign({}, inRow === null || inRow === void 0 ? void 0 : inRow.data);
60373
60297
  Object.keys(row).forEach(key => row[key] = undefined);
60374
60298
  const id = this.generateRowID();
60375
60299
  row[this.primaryKey] = id;
@@ -60504,6 +60428,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
60504
60428
  return this.beginAddRowById(this.gridAPI.get_rec_id_by_index(index - 1, this.dataView));
60505
60429
  }
60506
60430
  beginAddRowForIndex(index, asChild = false) {
60431
+ // TODO is row from rowList suitable for enterAddRowMode
60507
60432
  const row = index == null ?
60508
60433
  null : this.rowList.find(r => r.index === index);
60509
60434
  if (row !== undefined) {
@@ -63264,7 +63189,7 @@ class IgxGridCellComponent {
63264
63189
  case GridColumnDataType.Percent:
63265
63190
  return formatPercent(this.value, locale, args.digitsInfo);
63266
63191
  case GridColumnDataType.Currency:
63267
- return formatCurrency(this.value, locale, args.display, this.currencyCode, args.digitsInfo);
63192
+ return formatCurrency(this.value, this.currencyCode, args.display, args.digitsInfo, locale);
63268
63193
  case GridColumnDataType.Date:
63269
63194
  case GridColumnDataType.DateTime:
63270
63195
  case GridColumnDataType.Time:
@@ -63696,7 +63621,7 @@ class IgxGridCellComponent {
63696
63621
  }
63697
63622
  getCellType(useRow) {
63698
63623
  const rowID = useRow ? this.grid.createRow(this.intRow.index, this.intRow.rowData) : this.intRow.index;
63699
- // TOOD: Fix types
63624
+ // TODO: Fix types
63700
63625
  return new IgxGridCell(this.grid, rowID, this.column.field);
63701
63626
  }
63702
63627
  }
@@ -66014,7 +65939,7 @@ class IgxGridStateDirective {
66014
65939
  return feature;
66015
65940
  }
66016
65941
  }
66017
- IgxGridStateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridStateDirective, deps: [{ token: IgxGridBaseDirective, host: true, optional: true }, { token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
65942
+ IgxGridStateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridStateDirective, deps: [{ token: IGX_GRID_BASE, host: true, optional: true }, { token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
66018
65943
  IgxGridStateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0", type: IgxGridStateDirective, selector: "[igxGridState]", inputs: { options: ["igxGridState", "options"] }, ngImport: i0 });
66019
65944
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridStateDirective, decorators: [{
66020
65945
  type: Directive,
@@ -66022,10 +65947,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
66022
65947
  selector: '[igxGridState]'
66023
65948
  }]
66024
65949
  }], ctorParameters: function () {
66025
- return [{ type: IgxGridBaseDirective, decorators: [{
65950
+ return [{ type: undefined, decorators: [{
66026
65951
  type: Host
66027
65952
  }, {
66028
65953
  type: Optional
65954
+ }, {
65955
+ type: Inject,
65956
+ args: [IGX_GRID_BASE]
66029
65957
  }] }, { type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }];
66030
65958
  }, propDecorators: { options: [{
66031
65959
  type: Input,