igniteui-angular 12.3.0-alpha.0 → 12.3.0-alpha.1

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 (61) hide show
  1. package/bundles/igniteui-angular.umd.js +454 -544
  2. package/bundles/igniteui-angular.umd.js.map +1 -1
  3. package/esm2015/igniteui-angular.js +106 -107
  4. package/esm2015/lib/action-strip/action-strip.component.js +19 -2
  5. package/esm2015/lib/action-strip/grid-actions/grid-action-button.component.js +2 -2
  6. package/esm2015/lib/action-strip/grid-actions/grid-editing-actions.component.js +4 -4
  7. package/esm2015/lib/action-strip/grid-actions/grid-pinning-actions.component.js +5 -5
  8. package/esm2015/lib/banner/banner.component.js +1 -1
  9. package/esm2015/lib/combo/combo.common.js +28 -11
  10. package/esm2015/lib/combo/combo.component.js +12 -24
  11. package/esm2015/lib/core/i18n/action-strip-resources.js +4 -0
  12. package/esm2015/lib/core/i18n/resources.js +5 -3
  13. package/esm2015/lib/core/utils.js +11 -1
  14. package/esm2015/lib/directives/radio/radio-group.directive.js +5 -13
  15. package/esm2015/lib/drop-down/drop-down-item.base.js +1 -5
  16. package/esm2015/lib/grids/cell.component.js +1 -17
  17. package/esm2015/lib/grids/column-actions/column-actions.component.js +3 -7
  18. package/esm2015/lib/grids/grid/grid.component.js +3 -7
  19. package/esm2015/lib/grids/grid-base.directive.js +58 -118
  20. package/esm2015/lib/grids/grid-public-row.js +3 -12
  21. package/esm2015/lib/grids/headers/grid-header-row.component.js +2 -2
  22. package/esm2015/lib/grids/hierarchical-grid/hierarchical-grid.component.js +3 -7
  23. package/esm2015/lib/grids/tree-grid/tree-grid.component.js +3 -7
  24. package/esm2015/lib/icon/icon.component.js +1 -6
  25. package/esm2015/lib/services/overlay/utilities.js +1 -1
  26. package/esm2015/lib/simple-combo/simple-combo.component.js +123 -30
  27. package/esm2015/lib/toast/toast.component.js +3 -6
  28. package/esm2015/public_api.js +1 -1
  29. package/fesm2015/igniteui-angular.js +274 -347
  30. package/fesm2015/igniteui-angular.js.map +1 -1
  31. package/igniteui-angular.d.ts +105 -106
  32. package/igniteui-angular.metadata.json +1 -1
  33. package/lib/action-strip/action-strip.component.d.ts +10 -0
  34. package/lib/banner/banner.component.d.ts +1 -2
  35. package/lib/combo/combo.common.d.ts +27 -14
  36. package/lib/combo/combo.component.d.ts +9 -19
  37. package/lib/core/i18n/action-strip-resources.d.ts +4 -0
  38. package/lib/core/i18n/resources.d.ts +3 -1
  39. package/lib/core/utils.d.ts +4 -0
  40. package/lib/directives/radio/radio-group.directive.d.ts +4 -4
  41. package/lib/grids/cell.component.d.ts +0 -9
  42. package/lib/grids/column-actions/column-actions.component.d.ts +2 -1
  43. package/lib/grids/grid/grid.component.d.ts +2 -1
  44. package/lib/grids/grid-base.directive.d.ts +54 -37
  45. package/lib/grids/grid-public-row.d.ts +2 -3
  46. package/lib/grids/hierarchical-grid/hierarchical-grid.component.d.ts +2 -1
  47. package/lib/grids/tree-grid/tree-grid.component.d.ts +2 -1
  48. package/lib/icon/icon.component.d.ts +2 -2
  49. package/lib/services/overlay/utilities.d.ts +2 -1
  50. package/lib/simple-combo/simple-combo.component.d.ts +20 -3
  51. package/lib/toast/toast.component.d.ts +2 -0
  52. package/migrations/common/filterSourceDirs.d.ts +2 -2
  53. package/migrations/common/filterSourceDirs.js +2 -2
  54. package/migrations/migration-collection.json +0 -5
  55. package/migrations/{update-12_3_0 → update-13_0_0}/changes/members.json +0 -0
  56. package/package.json +1 -1
  57. package/public_api.d.ts +1 -0
  58. package/esm2015/lib/core/deprecateDecorators.js +0 -101
  59. package/lib/core/deprecateDecorators.d.ts +0 -20
  60. package/migrations/update-12_3_0/index.d.ts +0 -3
  61. package/migrations/update-12_3_0/index.js +0 -9
@@ -1244,7 +1244,7 @@
1244
1244
  fn();
1245
1245
  }
1246
1246
  };
1247
- var ɵ0$5 = run;
1247
+ var ɵ0$4 = run;
1248
1248
  var listener = function (event) { return run(event.data); };
1249
1249
  var ɵ1$1 = listener;
1250
1250
  // Use function instead of arrow function to workaround an issue in codesandbox
@@ -1276,6 +1276,15 @@
1276
1276
  delete queue[id];
1277
1277
  }
1278
1278
 
1279
+ /**
1280
+ * @hidden
1281
+ */
1282
+ var showMessage = function (message, isMessageShown) {
1283
+ if (!isMessageShown && i0.isDevMode()) {
1284
+ console.warn(message);
1285
+ }
1286
+ return true;
1287
+ };
1279
1288
  var mkenum = function (x) { return x; };
1280
1289
  /**
1281
1290
  * Returns the ResizeObserver type or the polyfilled version if not available.
@@ -9139,7 +9148,7 @@
9139
9148
  };
9140
9149
 
9141
9150
  var clear = function (el) { return el === 0 || Boolean(el); };
9142
- var ɵ0$4 = clear;
9151
+ var ɵ0$3 = clear;
9143
9152
  var first = function (arr) { return arr[0]; };
9144
9153
  var ɵ1 = first;
9145
9154
  var last = function (arr) { return arr[arr.length - 1]; };
@@ -18299,124 +18308,6 @@
18299
18308
  },] }
18300
18309
  ];
18301
18310
 
18302
- /**
18303
- * @hidden
18304
- */
18305
- var DeprecateClass = function (message) {
18306
- var isMessageShown = false;
18307
- return function (originalClass) { return /** @class */ (function (_super) {
18308
- __extends(class_1, _super);
18309
- function class_1() {
18310
- var args = [];
18311
- for (var _i = 0; _i < arguments.length; _i++) {
18312
- args[_i] = arguments[_i];
18313
- }
18314
- var _this = this;
18315
- var target = originalClass;
18316
- var targetName = typeof target === 'function' ? target.name : target.constructor.name;
18317
- isMessageShown = showMessage(targetName + ": " + message, isMessageShown);
18318
- _this = _super.apply(this, __spreadArray([], __read(args))) || this;
18319
- return _this;
18320
- }
18321
- return class_1;
18322
- }(originalClass)); };
18323
- };
18324
- /**
18325
- * @hidden
18326
- */
18327
- function DeprecateMethod(message) {
18328
- var isMessageShown = false;
18329
- return function (target, key, descriptor) {
18330
- if (descriptor && descriptor.value) {
18331
- var originalMethod_1 = descriptor.value;
18332
- descriptor.value = function () {
18333
- var e_1, _a;
18334
- var targetName = typeof target === 'function' ? target.name : target.constructor.name;
18335
- isMessageShown = showMessage(targetName + "." + key + ": " + message, isMessageShown);
18336
- var args = [];
18337
- try {
18338
- for (var arguments_1 = __values(arguments), arguments_1_1 = arguments_1.next(); !arguments_1_1.done; arguments_1_1 = arguments_1.next()) {
18339
- var x = arguments_1_1.value;
18340
- args.push(x);
18341
- }
18342
- }
18343
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
18344
- finally {
18345
- try {
18346
- if (arguments_1_1 && !arguments_1_1.done && (_a = arguments_1.return)) _a.call(arguments_1);
18347
- }
18348
- finally { if (e_1) throw e_1.error; }
18349
- }
18350
- return originalMethod_1.call.apply(originalMethod_1, __spreadArray([this], __read(args)));
18351
- };
18352
- return descriptor;
18353
- }
18354
- };
18355
- }
18356
- /**
18357
- * @hidden
18358
- */
18359
- function DeprecateProperty(message) {
18360
- return function (target, key) {
18361
- var isMessageShown = false;
18362
- var messageToDisplay = target.constructor.name + "." + key + ": " + message;
18363
- // if the target already has the property defined
18364
- var originalDescriptor = Object.getOwnPropertyDescriptor(target, key);
18365
- if (originalDescriptor) {
18366
- var getter_1 = originalDescriptor.get;
18367
- var setter_1 = originalDescriptor.set;
18368
- if (getter_1) {
18369
- originalDescriptor.get = function () {
18370
- isMessageShown = showMessage(messageToDisplay, isMessageShown);
18371
- return getter_1.call(this);
18372
- };
18373
- }
18374
- if (setter_1) {
18375
- originalDescriptor.set = function (value) {
18376
- isMessageShown = showMessage(messageToDisplay, isMessageShown);
18377
- setter_1.call(this, value);
18378
- };
18379
- }
18380
- return originalDescriptor;
18381
- }
18382
- // the target doesn't contain a descriptor for that property, so create one
18383
- // use backing field to set/get the value of the property to ensure there won't be infinite recursive calls
18384
- var newKey = generateUniqueKey(target, key);
18385
- Object.defineProperty(target, key, {
18386
- configurable: true,
18387
- enumerable: true,
18388
- set: function (value) {
18389
- isMessageShown = showMessage(messageToDisplay, isMessageShown);
18390
- this[newKey] = value;
18391
- },
18392
- get: function () {
18393
- isMessageShown = showMessage(messageToDisplay, isMessageShown);
18394
- return this[newKey];
18395
- }
18396
- });
18397
- };
18398
- }
18399
- /**
18400
- * @hidden
18401
- */
18402
- var generateUniqueKey = function (target, key) {
18403
- var newKey = '_' + key;
18404
- while (target.hasOwnProperty(newKey)) {
18405
- newKey = '_' + newKey;
18406
- }
18407
- return newKey;
18408
- };
18409
- var ɵ0$3 = generateUniqueKey;
18410
- /**
18411
- * @hidden
18412
- */
18413
- var showMessage = function (message, isMessageShown) {
18414
- if (!isMessageShown && i0.isDevMode()) {
18415
- console.warn(message);
18416
- }
18417
- return true;
18418
- };
18419
-
18420
18311
  var NEXT_ID$t = 0;
18421
18312
  /**
18422
18313
  * The `<igx-drop-down-item>` is a container intended for row items in
@@ -18492,7 +18383,6 @@
18492
18383
  };
18493
18384
 
18494
18385
  var NEXT_ID$s = 0;
18495
- var warningShown = false;
18496
18386
  /**
18497
18387
  * An abstract class defining a drop-down item:
18498
18388
  * With properties / styles for selection, highlight, height
@@ -18566,8 +18456,6 @@
18566
18456
  */
18567
18457
  get: function () {
18568
18458
  if (this._index === null) {
18569
- warningShown = showMessage('IgxDropDownItemBaseDirective: Automatic index is deprecated.' +
18570
- 'Bind in the template instead using `<igx-drop-down-item [index]="i"` instead.`', warningShown);
18571
18459
  return this.itemIndex;
18572
18460
  }
18573
18461
  return this._index;
@@ -21420,9 +21308,6 @@
21420
21308
  getInactive: [{ type: i0.HostBinding, args: ['class.igx-icon--inactive',] }],
21421
21309
  getColor: [{ type: i0.HostBinding, args: ['style.color',] }]
21422
21310
  };
21423
- __decorate([
21424
- DeprecateProperty('`color` is deprecated.')
21425
- ], IgxIconComponent.prototype, "color", void 0);
21426
21311
 
21427
21312
  /**
21428
21313
  * @hidden
@@ -21713,6 +21598,10 @@
21713
21598
  igx_collapse: 'Collapse',
21714
21599
  };
21715
21600
 
21601
+ var ActionStripResourceStringsEN = {
21602
+ igx_action_strip_button_more_title: 'More'
21603
+ };
21604
+
21716
21605
  /**
21717
21606
  * @hidden
21718
21607
  * IF YOU EDIT THIS OBJECT, DO NOT FORGET TO UPDATE
@@ -21736,7 +21625,8 @@
21736
21625
  CarouselResStrings: cloneValue(CarouselResourceStringsEN),
21737
21626
  ListResStrings: cloneValue(ListResourceStringsEN),
21738
21627
  InputResStrings: cloneValue(InputResourceStringsEN),
21739
- TreeResStrings: cloneValue(TreeResourceStringsEN)
21628
+ TreeResStrings: cloneValue(TreeResourceStringsEN),
21629
+ ActionStripResourceStrings: cloneValue(ActionStripResourceStringsEN)
21740
21630
  };
21741
21631
  var updateResourceStrings = function (currentStrings, newStrings) {
21742
21632
  var e_1, _a;
@@ -21781,7 +21671,7 @@
21781
21671
  /**
21782
21672
  * Returns current resource strings for all components
21783
21673
  */
21784
- var getCurrentResourceStrings = function () { return (Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, CurrentResourceStrings.CalendarResStrings), CurrentResourceStrings.CarouselResStrings), CurrentResourceStrings.ChipResStrings), CurrentResourceStrings.DatePickerResourceStrings), CurrentResourceStrings.DateRangePickerResStrings), CurrentResourceStrings.GridResStrings), CurrentResourceStrings.InputResStrings), CurrentResourceStrings.ListResStrings), CurrentResourceStrings.PaginatorResStrings), CurrentResourceStrings.TimePickerResStrings), CurrentResourceStrings.TreeResStrings)); };
21674
+ var getCurrentResourceStrings = function () { return (Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, CurrentResourceStrings.CalendarResStrings), CurrentResourceStrings.CarouselResStrings), CurrentResourceStrings.ChipResStrings), CurrentResourceStrings.DatePickerResourceStrings), CurrentResourceStrings.DateRangePickerResStrings), CurrentResourceStrings.GridResStrings), CurrentResourceStrings.InputResStrings), CurrentResourceStrings.ListResStrings), CurrentResourceStrings.PaginatorResStrings), CurrentResourceStrings.TimePickerResStrings), CurrentResourceStrings.TreeResStrings), CurrentResourceStrings.ActionStripResourceStrings)); };
21785
21675
 
21786
21676
  var IgxInputGroupTheme = mkenum({
21787
21677
  Material: 'material',
@@ -26111,10 +26001,10 @@
26111
26001
  });
26112
26002
  Object.defineProperty(IgxRadioGroupDirective.prototype, "disabled", {
26113
26003
  /**
26114
- * An @Input property that allows you to disable the radio group. By default it's false.
26115
- *
26116
26004
  * @deprecated in version 12.2.0
26117
26005
  *
26006
+ * An input property that allows you to disable the radio group. By default it's false.
26007
+ *
26118
26008
  * @example
26119
26009
  * ```html
26120
26010
  * <igx-radio-group disabled></igx-radio-group>
@@ -26132,10 +26022,10 @@
26132
26022
  });
26133
26023
  Object.defineProperty(IgxRadioGroupDirective.prototype, "labelPosition", {
26134
26024
  /**
26135
- * Sets/gets the position of the `label` in the child radio buttons.
26136
- *
26137
26025
  * @deprecated in version 12.2.0
26138
26026
  *
26027
+ * Sets/gets the position of the `label` in the child radio buttons.
26028
+ *
26139
26029
  * @remarks
26140
26030
  * If not set, `labelPosition` will have value `"after"`.
26141
26031
  *
@@ -26403,12 +26293,6 @@
26403
26293
  vertical: [{ type: i0.HostBinding, args: ['class.igx-radio-group--vertical',] }],
26404
26294
  alignment: [{ type: i0.Input }]
26405
26295
  };
26406
- __decorate([
26407
- DeprecateProperty('`disabled` is deprecated.')
26408
- ], IgxRadioGroupDirective.prototype, "disabled", null);
26409
- __decorate([
26410
- DeprecateProperty('`labelPosition` is deprecated.')
26411
- ], IgxRadioGroupDirective.prototype, "labelPosition", null);
26412
26296
  /**
26413
26297
  * @hidden
26414
26298
  */
@@ -28827,7 +28711,7 @@
28827
28711
  IgxGridActionButtonComponent.decorators = [
28828
28712
  { type: i0.Component, args: [{
28829
28713
  selector: 'igx-grid-action-button',
28830
- template: "<ng-container *ngIf=\"!asMenuItem\">\n <button igxButton=\"icon\" igxRipple (click)=\"handleClick($event)\" (mousedown)=\"preventEvent($event)\">\n <igx-icon *ngIf=\"iconSet\" [family]=\"iconSet\" [name]=\"iconName\">{{iconName}}</igx-icon>\n <igx-icon *ngIf=\"!iconSet\" >{{iconName}}</igx-icon>\n </button>\n</ng-container>\n\n<ng-template #menuItemTemplate>\n <ng-container *ngIf=\"asMenuItem\">\n <div #container [className]='containerClass'>\n <igx-icon *ngIf=\"iconSet\" [family]=\"iconSet\" [name]=\"iconName\">{{iconName}}</igx-icon>\n <igx-icon *ngIf=\"!iconSet\" >{{iconName}}</igx-icon>\n <label igxLabel>{{labelText}}</label>\n </div>\n </ng-container>\n</ng-template>"
28714
+ template: "<ng-container *ngIf=\"!asMenuItem\">\n <button [title]=\"labelText\" igxButton=\"icon\" igxRipple (click)=\"handleClick($event)\" (mousedown)=\"preventEvent($event)\">\n <igx-icon *ngIf=\"iconSet\" [family]=\"iconSet\" [name]=\"iconName\">{{iconName}}</igx-icon>\n <igx-icon *ngIf=\"!iconSet\" >{{iconName}}</igx-icon>\n </button>\n</ng-container>\n\n<ng-template #menuItemTemplate>\n <ng-container *ngIf=\"asMenuItem\">\n <div #container [className]='containerClass'>\n <igx-icon *ngIf=\"iconSet\" [family]=\"iconSet\" [name]=\"iconName\">{{iconName}}</igx-icon>\n <igx-icon *ngIf=\"!iconSet\" >{{iconName}}</igx-icon>\n <label igxLabel>{{labelText}}</label>\n </div>\n </ng-container>\n</ng-template>"
28831
28715
  },] }
28832
28716
  ];
28833
28717
  IgxGridActionButtonComponent.propDecorators = {
@@ -29067,8 +28951,8 @@
29067
28951
  * @internal
29068
28952
  */
29069
28953
  IgxGridEditingActionsComponent.prototype.registerIcons = function () {
29070
- this.iconService.addSvgIconFromText(materialIconsExtended.addRow.name, materialIconsExtended.addRow.value, 'imx-icons');
29071
- this.iconService.addSvgIconFromText(materialIconsExtended.addChild.name, materialIconsExtended.addChild.value, 'imx-icons');
28954
+ this.iconService.addSvgIconFromText(materialIconsExtended.addRow.name, materialIconsExtended.addRow.value, 'imx-icons', true);
28955
+ this.iconService.addSvgIconFromText(materialIconsExtended.addChild.name, materialIconsExtended.addChild.value, 'imx-icons', true);
29072
28956
  };
29073
28957
  return IgxGridEditingActionsComponent;
29074
28958
  }(IgxGridActionsBaseDirective));
@@ -29209,10 +29093,10 @@
29209
29093
  var context = this.strip.context;
29210
29094
  var grid = context.grid;
29211
29095
  if (grid) {
29212
- this.iconService.addSvgIconFromText(materialIconsExtended.pinLeft.name, materialIconsExtended.pinLeft.value, 'imx-icons');
29213
- this.iconService.addSvgIconFromText(materialIconsExtended.unpinLeft.name, materialIconsExtended.unpinLeft.value, 'imx-icons');
29214
- this.iconService.addSvgIconFromText(materialIconsExtended.jumpDown.name, materialIconsExtended.jumpDown.value, 'imx-icons');
29215
- this.iconService.addSvgIconFromText(materialIconsExtended.jumpUp.name, materialIconsExtended.jumpDown.value, 'imx-icons');
29096
+ this.iconService.addSvgIconFromText(materialIconsExtended.pinLeft.name, materialIconsExtended.pinLeft.value, 'imx-icons', true);
29097
+ this.iconService.addSvgIconFromText(materialIconsExtended.unpinLeft.name, materialIconsExtended.unpinLeft.value, 'imx-icons', true);
29098
+ this.iconService.addSvgIconFromText(materialIconsExtended.jumpDown.name, materialIconsExtended.jumpDown.value, 'imx-icons', true);
29099
+ this.iconService.addSvgIconFromText(materialIconsExtended.jumpUp.name, materialIconsExtended.jumpDown.value, 'imx-icons', true);
29216
29100
  }
29217
29101
  };
29218
29102
  return IgxGridPinningActionsComponent;
@@ -29300,6 +29184,25 @@
29300
29184
  enumerable: false,
29301
29185
  configurable: true
29302
29186
  });
29187
+ Object.defineProperty(IgxActionStripComponent.prototype, "resourceStrings", {
29188
+ get: function () {
29189
+ if (!this._resourceStrings) {
29190
+ this._resourceStrings = CurrentResourceStrings.ActionStripResourceStrings;
29191
+ }
29192
+ return this._resourceStrings;
29193
+ },
29194
+ /**
29195
+ * Gets/Sets the resource strings.
29196
+ *
29197
+ * @remarks
29198
+ * By default it uses EN resources.
29199
+ */
29200
+ set: function (value) {
29201
+ this._resourceStrings = Object.assign({}, this._resourceStrings, value);
29202
+ },
29203
+ enumerable: false,
29204
+ configurable: true
29205
+ });
29303
29206
  Object.defineProperty(IgxActionStripComponent.prototype, "display", {
29304
29207
  /**
29305
29208
  * Getter for the 'display' property of the current `IgxActionStrip`
@@ -29444,7 +29347,7 @@
29444
29347
  IgxActionStripComponent.decorators = [
29445
29348
  { type: i0.Component, args: [{
29446
29349
  selector: 'igx-action-strip',
29447
- template: "<div class=\"igx-action-strip__actions\">\n <ng-content #content></ng-content>\n <ng-container *ngIf=\"menuItems.length > 0\">\n <button\n igxButton=\"icon\"\n igxRipple\n [igxToggleAction]=\"dropdown\"\n [overlaySettings]=\"menuOverlaySettings\"\n (click)=\"$event.stopPropagation()\"\n [igxDropDownItemNavigation]=\"dropdown\"\n >\n <igx-icon>more_vert</igx-icon>\n </button>\n </ng-container>\n <igx-drop-down #dropdown [displayDensity]=\"displayDensity\">\n <igx-drop-down-item\n *ngFor=\"let item of menuItems\"\n class=\"igx-action-strip__menu-item\"\n >\n <div class=\"igx-drop-down__item-template\">\n <ng-container\n *ngTemplateOutlet=\"\n item.templateRef;\n context: { $implicit: item }\n \"\n ></ng-container>\n </div>\n </igx-drop-down-item>\n </igx-drop-down>\n</div>\n"
29350
+ template: "<div class=\"igx-action-strip__actions\">\n <ng-content #content></ng-content>\n <ng-container *ngIf=\"menuItems.length > 0\">\n <button\n igxButton=\"icon\"\n igxRipple\n [igxToggleAction]=\"dropdown\"\n [overlaySettings]=\"menuOverlaySettings\"\n (click)=\"$event.stopPropagation()\"\n [title]=\"resourceStrings.igx_action_strip_button_more_title\"\n [igxDropDownItemNavigation]=\"dropdown\"\n >\n <igx-icon>more_vert</igx-icon>\n </button>\n </ng-container>\n <igx-drop-down #dropdown [displayDensity]=\"displayDensity\">\n <igx-drop-down-item\n *ngFor=\"let item of menuItems\"\n class=\"igx-action-strip__menu-item\"\n >\n <div class=\"igx-drop-down__item-template\">\n <ng-container\n *ngTemplateOutlet=\"\n item.templateRef;\n context: { $implicit: item }\n \"\n ></ng-container>\n </div>\n </igx-drop-down-item>\n </igx-drop-down>\n</div>\n"
29448
29351
  },] }
29449
29352
  ];
29450
29353
  IgxActionStripComponent.ctorParameters = function () { return [
@@ -29459,6 +29362,7 @@
29459
29362
  actionButtons: [{ type: i0.ContentChildren, args: [IgxGridActionsBaseDirective,] }],
29460
29363
  hidden: [{ type: i0.Input }],
29461
29364
  hostClass: [{ type: i0.Input, args: ['class',] }],
29365
+ resourceStrings: [{ type: i0.Input }],
29462
29366
  menu: [{ type: i0.ViewChild, args: ['dropdown',] }],
29463
29367
  display: [{ type: i0.HostBinding, args: ['style.display',] }],
29464
29368
  hostClasses: [{ type: i0.HostBinding, args: ['attr.class',] }]
@@ -39114,6 +39018,20 @@
39114
39018
  _this._displayDensityOptions = _displayDensityOptions;
39115
39019
  _this._inputGroupType = _inputGroupType;
39116
39020
  _this._injector = _injector;
39021
+ /**
39022
+ * Defines whether the caseSensitive icon should be shown in the search input
39023
+ *
39024
+ * ```typescript
39025
+ * // get
39026
+ * let myComboShowSearchCaseIcon = this.combo.showSearchCaseIcon;
39027
+ * ```
39028
+ *
39029
+ * ```html
39030
+ * <!--set-->
39031
+ * <igx-combo [showSearchCaseIcon]='true'></igx-combo>
39032
+ * ```
39033
+ */
39034
+ _this.showSearchCaseIcon = false;
39117
39035
  /**
39118
39036
  * Set custom overlay settings that control how the combo's list of items is displayed.
39119
39037
  * Set:
@@ -39173,6 +39091,13 @@
39173
39091
  * ```
39174
39092
  */
39175
39093
  _this.valueKey = null;
39094
+ /**
39095
+ * An @Input property that enabled/disables filtering in the list. The default is `true`.
39096
+ * ```html
39097
+ * <igx-combo [filterable]="false">
39098
+ * ```
39099
+ */
39100
+ _this.filterable = true;
39176
39101
  /** @hidden @internal */
39177
39102
  _this.cssClass = 'igx-combo'; // Independent of display density for the time being
39178
39103
  /** @hidden @internal */
@@ -39184,15 +39109,6 @@
39184
39109
  * ```
39185
39110
  */
39186
39111
  _this.disabled = false;
39187
- /**
39188
- * Emitted when item selection is changing, before the selection completes
39189
- *
39190
- * ```html
39191
- * <igx-combo (selectionChanging)='handleSelection()'></igx-combo>
39192
- * ```
39193
- */
39194
- // TODO: any for old/new selection?
39195
- _this.selectionChanging = new i0.EventEmitter();
39196
39112
  /**
39197
39113
  * Emitted before the dropdown is opened
39198
39114
  *
@@ -40017,6 +39933,10 @@
40017
39933
  }
40018
39934
  }
40019
39935
  };
39936
+ /** @hidden @internal */
39937
+ IgxComboBaseDirective.prototype.toggleCaseSensitive = function () {
39938
+ this.filteringOptions = { caseSensitive: !this.filteringOptions.caseSensitive };
39939
+ };
40020
39940
  /** if there is a valueKey - map the keys to data items, else - just return the keys */
40021
39941
  IgxComboBaseDirective.prototype.convertKeysToItems = function (keys) {
40022
39942
  var _this = this;
@@ -40115,6 +40035,7 @@
40115
40035
  { type: i0.Injector, decorators: [{ type: i0.Optional }] }
40116
40036
  ]; };
40117
40037
  IgxComboBaseDirective.propDecorators = {
40038
+ showSearchCaseIcon: [{ type: i0.Input }],
40118
40039
  overlaySettings: [{ type: i0.Input }],
40119
40040
  id: [{ type: i0.HostBinding, args: ['attr.id',] }, { type: i0.Input }],
40120
40041
  width: [{ type: i0.HostBinding, args: ['style.width',] }, { type: i0.Input }],
@@ -40127,6 +40048,7 @@
40127
40048
  valueKey: [{ type: i0.Input }],
40128
40049
  displayKey: [{ type: i0.Input }],
40129
40050
  groupKey: [{ type: i0.Input }],
40051
+ filterable: [{ type: i0.Input }],
40130
40052
  ariaLabelledBy: [{ type: i0.Input }, { type: i0.HostBinding, args: ['attr.aria-labelledby',] }],
40131
40053
  cssClass: [{ type: i0.HostBinding, args: ['class.igx-combo',] }],
40132
40054
  role: [{ type: i0.HostBinding, args: ["attr.role",] }],
@@ -40135,7 +40057,6 @@
40135
40057
  ariaOwns: [{ type: i0.HostBinding, args: ['attr.aria-owns',] }],
40136
40058
  disabled: [{ type: i0.Input }],
40137
40059
  type: [{ type: i0.Input }],
40138
- selectionChanging: [{ type: i0.Output }],
40139
40060
  opening: [{ type: i0.Output }],
40140
40061
  opened: [{ type: i0.Output }],
40141
40062
  closing: [{ type: i0.Output }],
@@ -40559,20 +40480,6 @@
40559
40480
  _this._displayDensityOptions = _displayDensityOptions;
40560
40481
  _this._inputGroupType = _inputGroupType;
40561
40482
  _this._injector = _injector;
40562
- /**
40563
- * Defines whether the caseSensitive icon should be shown in the search input
40564
- *
40565
- * ```typescript
40566
- * // get
40567
- * let myComboShowSearchCaseIcon = this.combo.showSearchCaseIcon;
40568
- * ```
40569
- *
40570
- * ```html
40571
- * <!--set-->
40572
- * <igx-combo [showSearchCaseIcon]='true'></igx-combo>
40573
- * ```
40574
- */
40575
- _this.showSearchCaseIcon = false;
40576
40483
  /**
40577
40484
  * An @Input property that controls whether the combo's search box
40578
40485
  * should be focused after the `opened` event is called
@@ -40600,6 +40507,14 @@
40600
40507
  * ```
40601
40508
  */
40602
40509
  _this.searchPlaceholder = 'Enter a Search Term';
40510
+ /**
40511
+ * Emitted when item selection is changing, before the selection completes
40512
+ *
40513
+ * ```html
40514
+ * <igx-combo (selectionChanging)='handleSelection()'></igx-combo>
40515
+ * ```
40516
+ */
40517
+ _this.selectionChanging = new i0.EventEmitter();
40603
40518
  /**
40604
40519
  * @hidden @internal
40605
40520
  */
@@ -40797,12 +40712,6 @@
40797
40712
  this.deselect([itemID], event);
40798
40713
  }
40799
40714
  };
40800
- /**
40801
- * @hidden @internal
40802
- */
40803
- IgxComboComponent.prototype.toggleCaseSensitive = function () {
40804
- this.filteringOptions = { caseSensitive: !this.filteringOptions.caseSensitive };
40805
- };
40806
40715
  /** @hidden @internal */
40807
40716
  IgxComboComponent.prototype.handleOpened = function () {
40808
40717
  this.triggerCheck();
@@ -40878,7 +40787,7 @@
40878
40787
  IgxComboComponent.decorators = [
40879
40788
  { type: i0.Component, args: [{
40880
40789
  selector: 'igx-combo',
40881
- template: "<igx-input-group #inputGroup [displayDensity]=\"displayDensity\" [type]=\"type\" (click)=\"onClick($event)\">\n <ng-container ngProjectAs=\"[igxLabel]\">\n <ng-content select=\"[igxLabel]\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-prefix\">\n <ng-content select=\"igx-prefix\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-hint, [igxHint]\">\n <ng-content select=\"igx-hint, [igxHint]\"></ng-content>\n </ng-container>\n <input igxInput #comboInput name=\"comboInput\" type=\"text\" [value]=\"value\" readonly [attr.placeholder]=\"placeholder\"\n [disabled]=\"disabled\" (blur)=\"onBlur()\" />\n <ng-container ngProjectAs=\"igx-suffix\">\n <ng-content select=\"igx-suffix\"></ng-content>\n </ng-container>\n <igx-suffix *ngIf=\"value.length\" aria-label=\"Clear Selection\" class=\"igx-combo__clear-button\"\n (click)=\"handleClearItems($event)\">\n <ng-container *ngIf=\"clearIconTemplate\">\n <ng-container *ngTemplateOutlet=\"clearIconTemplate\"></ng-container>\n </ng-container>\n <igx-icon *ngIf=\"!clearIconTemplate\">\n clear\n </igx-icon>\n </igx-suffix>\n <igx-suffix class=\"igx-combo__toggle-button\">\n <ng-container *ngIf=\"toggleIconTemplate\">\n <ng-container *ngTemplateOutlet=\"toggleIconTemplate; context: {$implicit: this.collapsed}\"></ng-container>\n </ng-container>\n <igx-icon *ngIf=\"!toggleIconTemplate\">\n {{ dropdown.collapsed ? 'arrow_drop_down' : 'arrow_drop_up'}}\n </igx-icon>\n </igx-suffix>\n</igx-input-group>\n<igx-combo-drop-down #igxComboDropDown class=\"igx-combo__drop-down\" [displayDensity]=\"displayDensity\"\n [width]=\"itemsWidth || '100%'\" (opening)=\"handleOpening($event)\" (closing)=\"handleClosing($event)\"\n (opened)=\"handleOpened()\" (closed)=\"handleClosed()\">\n <igx-input-group *ngIf=\"displaySearchInput\" [displayDensity]=\"displayDensity\" theme=\"material\" class=\"igx-combo__search\">\n <input class=\"igx-combo-input\" igxInput #searchInput name=\"searchInput\" autocomplete=\"off\" type=\"text\"\n [(ngModel)]=\"searchValue\" (ngModelChange)=\"handleInputChange($event)\" (keyup)=\"handleKeyUp($event)\"\n (keydown)=\"handleKeyDown($event)\" (focus)=\"dropdown.onBlur($event)\" [attr.placeholder]=\"searchPlaceholder\"\n aria-autocomplete=\"both\" [attr.aria-owns]=\"dropdown.id\" [attr.aria-labelledby]=\"ariaLabelledBy\" />\n <igx-suffix *ngIf=\"showSearchCaseIcon\">\n <igx-icon family=\"imx-icons\" name=\"case-sensitive\" [active]=\"filteringOptions.caseSensitive\"\n (click)=\"toggleCaseSensitive()\">\n </igx-icon>\n </igx-suffix>\n </igx-input-group>\n <ng-container *ngTemplateOutlet=\"headerTemplate\">\n </ng-container>\n <div #dropdownItemContainer class=\"igx-combo__content\" [style.overflow]=\"'hidden'\"\n [style.maxHeight.px]=\"itemsMaxHeight\" [igxDropDownItemNavigation]=\"dropdown\" (focus)=\"dropdown.onFocus()\"\n [tabindex]=\"dropdown.collapsed ? -1 : 0\" role=\"listbox\" [attr.id]=\"dropdown.id\">\n <igx-combo-item role=\"option\" [itemHeight]='itemHeight' *igxFor=\"let item of data\n | comboFiltering:filterValue:displayKey:filteringOptions:filterable\n | comboGrouping:groupKey:valueKey;\n index as rowIndex; containerSize: itemsMaxHeight; scrollOrientation: 'vertical'; itemSize: itemHeight\"\n [value]=\"item\" [isHeader]=\"item.isHeader\" [index]=\"rowIndex\">\n <ng-container *ngIf=\"item.isHeader\">\n <ng-container\n *ngTemplateOutlet=\"headerItemTemplate ? headerItemTemplate : headerItemBase;\n context: {$implicit: item, data: data, valueKey: valueKey, groupKey: groupKey, displayKey: displayKey}\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!item.isHeader\">\n <ng-container #listItem\n *ngTemplateOutlet=\"template; context: {$implicit: item, data: data, valueKey: valueKey, displayKey: displayKey};\">\n </ng-container>\n </ng-container>\n </igx-combo-item>\n </div>\n <div class=\"igx-combo__add\" *ngIf=\"filteredData.length === 0 || isAddButtonVisible()\">\n <div class=\"igx-combo__empty\" *ngIf=\"filteredData.length === 0\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate ? emptyTemplate : empty\">\n </ng-container>\n </div>\n <igx-combo-add-item [itemHeight]=\"itemHeight\" *ngIf=\"isAddButtonVisible()\"\n [tabindex]=\"dropdown.collapsed ? -1 : customValueFlag ? 1 : -1\" class=\"igx-combo__add-item\" role=\"button\"\n aria-label=\"Add Item\" [index]=\"virtualScrollContainer.igxForOf.length\">\n <ng-container *ngTemplateOutlet=\"addItemTemplate ? addItemTemplate : addItemDefault\">\n </ng-container>\n </igx-combo-add-item>\n </div>\n <ng-container *ngTemplateOutlet=\"footerTemplate\">\n </ng-container>\n</igx-combo-drop-down>\n<ng-template #complex let-display let-data=\"data\" let-key=\"displayKey\">\n {{display[key]}}\n</ng-template>\n<ng-template #primitive let-display>\n {{display}}\n</ng-template>\n<ng-template #empty>\n <span>The list is empty</span>\n</ng-template>\n<ng-template #addItemDefault let-control>\n <button igxButton=\"flat\" igxRipple>Add item</button>\n</ng-template>\n<ng-template #headerItemBase let-item let-key=\"valueKey\" let-groupKey=\"groupKey\">\n {{ item[key] }}\n</ng-template>\n",
40790
+ template: "<igx-input-group #inputGroup [displayDensity]=\"displayDensity\" [type]=\"type\" (click)=\"onClick($event)\">\n <ng-container ngProjectAs=\"[igxLabel]\">\n <ng-content select=\"[igxLabel]\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-prefix\">\n <ng-content select=\"igx-prefix\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-hint, [igxHint]\">\n <ng-content select=\"igx-hint, [igxHint]\"></ng-content>\n </ng-container>\n <input igxInput #comboInput name=\"comboInput\" type=\"text\" [value]=\"value\" readonly [attr.placeholder]=\"placeholder\"\n [disabled]=\"disabled\" (blur)=\"onBlur()\" />\n <ng-container ngProjectAs=\"igx-suffix\">\n <ng-content select=\"igx-suffix\"></ng-content>\n </ng-container>\n <igx-suffix *ngIf=\"value.length\" aria-label=\"Clear Selection\" class=\"igx-combo__clear-button\"\n (click)=\"handleClearItems($event)\">\n <ng-container *ngIf=\"clearIconTemplate\">\n <ng-container *ngTemplateOutlet=\"clearIconTemplate\"></ng-container>\n </ng-container>\n <igx-icon *ngIf=\"!clearIconTemplate\">\n clear\n </igx-icon>\n </igx-suffix>\n <igx-suffix class=\"igx-combo__toggle-button\">\n <ng-container *ngIf=\"toggleIconTemplate\">\n <ng-container *ngTemplateOutlet=\"toggleIconTemplate; context: {$implicit: this.collapsed}\"></ng-container>\n </ng-container>\n <igx-icon *ngIf=\"!toggleIconTemplate\">\n {{ dropdown.collapsed ? 'arrow_drop_down' : 'arrow_drop_up'}}\n </igx-icon>\n </igx-suffix>\n</igx-input-group>\n<igx-combo-drop-down #igxComboDropDown class=\"igx-combo__drop-down\" [displayDensity]=\"displayDensity\"\n [width]=\"itemsWidth || '100%'\" (opening)=\"handleOpening($event)\" (closing)=\"handleClosing($event)\"\n (opened)=\"handleOpened()\" (closed)=\"handleClosed()\">\n <igx-input-group *ngIf=\"displaySearchInput\" [displayDensity]=\"displayDensity\" theme=\"material\" class=\"igx-combo__search\">\n <input class=\"igx-combo-input\" igxInput #searchInput name=\"searchInput\" autocomplete=\"off\" type=\"text\"\n [(ngModel)]=\"searchValue\" (ngModelChange)=\"handleInputChange($event)\" (keyup)=\"handleKeyUp($event)\"\n (keydown)=\"handleKeyDown($event)\" (focus)=\"dropdown.onBlur($event)\" [attr.placeholder]=\"searchPlaceholder\"\n aria-autocomplete=\"both\" [attr.aria-owns]=\"dropdown.id\" [attr.aria-labelledby]=\"ariaLabelledBy\" />\n <igx-suffix *ngIf=\"showSearchCaseIcon\">\n <igx-icon family=\"imx-icons\" name=\"case-sensitive\" [active]=\"filteringOptions.caseSensitive\"\n (click)=\"toggleCaseSensitive()\">\n </igx-icon>\n </igx-suffix>\n </igx-input-group>\n <ng-container *ngTemplateOutlet=\"headerTemplate\">\n </ng-container>\n <div #dropdownItemContainer class=\"igx-combo__content\" [style.overflow]=\"'hidden'\"\n [style.maxHeight.px]=\"itemsMaxHeight\" [igxDropDownItemNavigation]=\"dropdown\" (focus)=\"dropdown.onFocus()\"\n [tabindex]=\"dropdown.collapsed ? -1 : 0\" role=\"listbox\" [attr.id]=\"dropdown.id\">\n <igx-combo-item role=\"option\" [itemHeight]='itemHeight' *igxFor=\"let item of data\n | comboFiltering:filterValue:displayKey:filteringOptions:filterable\n | comboGrouping:groupKey:valueKey\n index as rowIndex; containerSize: itemsMaxHeight; scrollOrientation: 'vertical'; itemSize: itemHeight\"\n [value]=\"item\" [isHeader]=\"item.isHeader\" [index]=\"rowIndex\">\n <ng-container *ngIf=\"item.isHeader\">\n <ng-container\n *ngTemplateOutlet=\"headerItemTemplate ? headerItemTemplate : headerItemBase;\n context: {$implicit: item, data: data, valueKey: valueKey, groupKey: groupKey, displayKey: displayKey}\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!item.isHeader\">\n <ng-container #listItem\n *ngTemplateOutlet=\"template; context: {$implicit: item, data: data, valueKey: valueKey, displayKey: displayKey};\">\n </ng-container>\n </ng-container>\n </igx-combo-item>\n </div>\n <div class=\"igx-combo__add\" *ngIf=\"filteredData.length === 0 || isAddButtonVisible()\">\n <div class=\"igx-combo__empty\" *ngIf=\"filteredData.length === 0\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate ? emptyTemplate : empty\">\n </ng-container>\n </div>\n <igx-combo-add-item [itemHeight]=\"itemHeight\" *ngIf=\"isAddButtonVisible()\"\n [tabindex]=\"dropdown.collapsed ? -1 : customValueFlag ? 1 : -1\" class=\"igx-combo__add-item\" role=\"button\"\n aria-label=\"Add Item\" [index]=\"virtualScrollContainer.igxForOf.length\">\n <ng-container *ngTemplateOutlet=\"addItemTemplate ? addItemTemplate : addItemDefault\">\n </ng-container>\n </igx-combo-add-item>\n </div>\n <ng-container *ngTemplateOutlet=\"footerTemplate\">\n </ng-container>\n</igx-combo-drop-down>\n<ng-template #complex let-display let-data=\"data\" let-key=\"displayKey\">\n {{display[key]}}\n</ng-template>\n<ng-template #primitive let-display>\n {{display}}\n</ng-template>\n<ng-template #empty>\n <span>The list is empty</span>\n</ng-template>\n<ng-template #addItemDefault let-control>\n <button igxButton=\"flat\" igxRipple>Add item</button>\n</ng-template>\n<ng-template #headerItemBase let-item let-key=\"valueKey\" let-groupKey=\"groupKey\">\n {{ item[key] }}\n</ng-template>\n",
40882
40791
  providers: [
40883
40792
  IgxComboAPIService,
40884
40793
  { provide: IGX_COMBO_COMPONENT, useExisting: IgxComboComponent },
@@ -40897,10 +40806,10 @@
40897
40806
  { type: i0.Injector, decorators: [{ type: i0.Optional }] }
40898
40807
  ]; };
40899
40808
  IgxComboComponent.propDecorators = {
40900
- showSearchCaseIcon: [{ type: i0.Input }],
40901
40809
  autoFocusSearch: [{ type: i0.Input }],
40902
40810
  filterable: [{ type: i0.Input }],
40903
40811
  searchPlaceholder: [{ type: i0.Input }],
40812
+ selectionChanging: [{ type: i0.Output }],
40904
40813
  dropdown: [{ type: i0.ViewChild, args: [IgxComboDropDownComponent, { static: true },] }]
40905
40814
  };
40906
40815
  /**
@@ -40982,7 +40891,7 @@
40982
40891
  _this.selectionChanging = new i0.EventEmitter();
40983
40892
  /** @hidden @internal */
40984
40893
  _this.composing = false;
40985
- _this._updateInput = false;
40894
+ _this._updateInput = true;
40986
40895
  _this.findMatch = function (element) {
40987
40896
  var value = _this.displayKey ? element[_this.displayKey] : element;
40988
40897
  return value.toString().toLowerCase().includes(_this.searchValue.trim().toLowerCase());
@@ -41003,6 +40912,23 @@
41003
40912
  enumerable: false,
41004
40913
  configurable: true
41005
40914
  });
40915
+ /** @hidden @internal */
40916
+ IgxSimpleComboComponent.prototype.onArrowDown = function (event) {
40917
+ if (this.collapsed) {
40918
+ event.preventDefault();
40919
+ event.stopPropagation();
40920
+ this.open();
40921
+ }
40922
+ else {
40923
+ if (this.virtDir.igxForOf.length > 0) {
40924
+ this.dropdown.navigateFirst();
40925
+ this.dropdownContainer.nativeElement.focus();
40926
+ }
40927
+ else if (this.allowCustomValues) {
40928
+ this.addItem.element.nativeElement.focus();
40929
+ }
40930
+ }
40931
+ };
41006
40932
  /**
41007
40933
  * Select a defined item
41008
40934
  *
@@ -41018,18 +40944,15 @@
41018
40944
  }
41019
40945
  };
41020
40946
  /**
41021
- * Deselect a defined item
40947
+ * Deselect the currently selected item
41022
40948
  *
41023
40949
  * @param item the items to be deselected
41024
40950
  * ```typescript
41025
40951
  * this.combo.deselect("New York");
41026
40952
  * ```
41027
40953
  */
41028
- IgxSimpleComboComponent.prototype.deselect = function (item) {
41029
- if (item !== null && item !== undefined) {
41030
- var newSelection = this.selectionService.delete_items(this.id, item instanceof Array ? item : [item]);
41031
- this.setSelection(newSelection);
41032
- }
40954
+ IgxSimpleComboComponent.prototype.deselect = function () {
40955
+ this.clearSelection();
41033
40956
  };
41034
40957
  /** @hidden @internal */
41035
40958
  IgxSimpleComboComponent.prototype.writeValue = function (value) {
@@ -41041,21 +40964,30 @@
41041
40964
  /** @hidden @internal */
41042
40965
  IgxSimpleComboComponent.prototype.ngAfterViewInit = function () {
41043
40966
  var _this = this;
40967
+ this.virtDir.contentSizeChange.pipe(operators.takeUntil(this.destroy$)).subscribe(function () {
40968
+ if (_this.selection.length > 0) {
40969
+ var index = _this.virtDir.igxForOf.findIndex(function (e) {
40970
+ var current = e[_this.valueKey];
40971
+ if (_this.valueKey === null || _this.valueKey === undefined) {
40972
+ current = e;
40973
+ }
40974
+ return current === _this.selection[0];
40975
+ });
40976
+ _this.dropdown.navigateItem(index);
40977
+ }
40978
+ });
41044
40979
  this.dropdown.opened.pipe(operators.takeUntil(this.destroy$)).subscribe(function () {
41045
40980
  if (_this.composing) {
41046
40981
  _this.comboInput.focus();
41047
40982
  }
41048
40983
  });
41049
- this.dropdown.closed.pipe(operators.takeUntil(this.destroy$)).subscribe(function () {
41050
- _this.composing = false;
41051
- });
41052
- this.dropdown.closing.pipe(operators.takeUntil(this.destroy$)).subscribe(function () {
41053
- var selection = _this.selectionService.first_item(_this.id);
41054
- _this.comboInput.value = selection !== undefined && selection !== null ? selection : '';
41055
- });
41056
- this.dropdown.opening.pipe(operators.takeUntil(this.destroy$)).subscribe(function () {
41057
- if (!_this.comboInput.value.length) {
41058
- _this.clearSelection();
40984
+ this.dropdown.closing.pipe(operators.takeUntil(this.destroy$)).subscribe(function (args) {
40985
+ if (_this.getEditElement() && !args.event) {
40986
+ _this.comboInput.focus();
40987
+ }
40988
+ else {
40989
+ _this.clearOnBlur();
40990
+ _this._onTouchedCallback();
41059
40991
  }
41060
40992
  });
41061
40993
  _super.prototype.ngAfterViewInit.call(this);
@@ -41064,10 +40996,17 @@
41064
40996
  IgxSimpleComboComponent.prototype.handleInputChange = function (event) {
41065
40997
  this.searchValue = event.target.value;
41066
40998
  this._onChangeCallback(this.searchValue);
41067
- if (this.collapsed) {
40999
+ if (this.collapsed && this.comboInput.focused) {
41068
41000
  this.open();
41001
+ this.dropdown.navigateFirst();
41002
+ }
41003
+ if (!this.comboInput.value.trim()) {
41004
+ // handle clearing of input by space
41005
+ this.clearSelection();
41006
+ this._onChangeCallback(null);
41069
41007
  }
41070
41008
  _super.prototype.handleInputChange.call(this, event);
41009
+ this.composing = true;
41071
41010
  };
41072
41011
  /** @hidden @internal */
41073
41012
  IgxSimpleComboComponent.prototype.handleKeyDown = function (event) {
@@ -41076,10 +41015,12 @@
41076
41015
  if (filtered === null || filtered === undefined) {
41077
41016
  return;
41078
41017
  }
41079
- this.select(this.dropdown.items[0].itemID);
41018
+ this.select(this.dropdown.focusedItem.itemID);
41080
41019
  event.preventDefault();
41081
41020
  event.stopPropagation();
41082
41021
  this.close();
41022
+ // manually trigger text selection as it will not be triggered during editing
41023
+ this.textSelection.trigger();
41083
41024
  return;
41084
41025
  }
41085
41026
  if (event.key === this.platformUtil.KEYMAP.BACKSPACE
@@ -41087,11 +41028,12 @@
41087
41028
  this._updateInput = false;
41088
41029
  this.clearSelection();
41089
41030
  }
41031
+ if (!this.collapsed && event.key === this.platformUtil.KEYMAP.TAB) {
41032
+ this.close();
41033
+ this.clearOnBlur();
41034
+ }
41035
+ this.composing = false;
41090
41036
  _super.prototype.handleKeyDown.call(this, event);
41091
- this.composing = event.key !== this.platformUtil.KEYMAP.ARROW_DOWN
41092
- && event.key !== this.platformUtil.KEYMAP.ARROW_LEFT
41093
- && event.key !== this.platformUtil.KEYMAP.ARROW_RIGHT
41094
- && event.key !== this.platformUtil.KEYMAP.TAB;
41095
41037
  };
41096
41038
  /** @hidden @internal */
41097
41039
  IgxSimpleComboComponent.prototype.handleKeyUp = function (event) {
@@ -41104,6 +41046,29 @@
41104
41046
  }
41105
41047
  };
41106
41048
  /** @hidden @internal */
41049
+ IgxSimpleComboComponent.prototype.handleItemKeyDown = function (event) {
41050
+ if (event.key === this.platformUtil.KEYMAP.ARROW_UP && event.altKey) {
41051
+ this.close();
41052
+ this.comboInput.focus();
41053
+ return;
41054
+ }
41055
+ if (event.key === this.platformUtil.KEYMAP.ENTER) {
41056
+ this.comboInput.focus();
41057
+ }
41058
+ };
41059
+ /** @hidden @internal */
41060
+ IgxSimpleComboComponent.prototype.handleItemClick = function () {
41061
+ this.close();
41062
+ this.comboInput.focus();
41063
+ };
41064
+ /** @hidden @internal */
41065
+ IgxSimpleComboComponent.prototype.onBlur = function () {
41066
+ if (this.collapsed) {
41067
+ this.clearOnBlur();
41068
+ }
41069
+ _super.prototype.onBlur.call(this);
41070
+ };
41071
+ /** @hidden @internal */
41107
41072
  IgxSimpleComboComponent.prototype.getEditElement = function () {
41108
41073
  return this.comboInput.nativeElement;
41109
41074
  };
@@ -41114,7 +41079,8 @@
41114
41079
  }
41115
41080
  this.clearSelection(true);
41116
41081
  if (this.collapsed) {
41117
- this.getEditElement().focus();
41082
+ this.open();
41083
+ this.dropdown.navigateFirst();
41118
41084
  }
41119
41085
  else {
41120
41086
  this.focusSearchInput(true);
@@ -41122,6 +41088,7 @@
41122
41088
  event.stopPropagation();
41123
41089
  this.comboInput.value = this.filterValue = this.searchValue = '';
41124
41090
  this.dropdown.focusedItem = null;
41091
+ this.composing = false;
41125
41092
  this.comboInput.focus();
41126
41093
  };
41127
41094
  /** @hidden @internal */
@@ -41131,6 +41098,22 @@
41131
41098
  this.opened.emit({ owner: this });
41132
41099
  };
41133
41100
  /** @hidden @internal */
41101
+ IgxSimpleComboComponent.prototype.handleClosing = function (e) {
41102
+ var args = { owner: this, event: e.event, cancel: e.cancel };
41103
+ this.closing.emit(args);
41104
+ e.cancel = args.cancel;
41105
+ if (e.cancel) {
41106
+ return;
41107
+ }
41108
+ this.composing = false;
41109
+ // explicitly update selection and trigger text selection so that we don't have to force CD
41110
+ this.textSelection.selected = true;
41111
+ this.textSelection.trigger();
41112
+ var selection = this.selectionService.first_item(this.id);
41113
+ this._value = selection !== undefined && selection !== null ? selection : '';
41114
+ this._onChangeCallback(selection);
41115
+ };
41116
+ /** @hidden @internal */
41134
41117
  IgxSimpleComboComponent.prototype.focusSearchInput = function (opening) {
41135
41118
  if (opening) {
41136
41119
  this.dropdownContainer.nativeElement.focus();
@@ -41140,6 +41123,13 @@
41140
41123
  this.toggle();
41141
41124
  }
41142
41125
  };
41126
+ /** @hidden @internal */
41127
+ IgxSimpleComboComponent.prototype.onClick = function (event) {
41128
+ _super.prototype.onClick.call(this, event);
41129
+ if (this.comboInput.value.length === 0) {
41130
+ this.virtDir.scrollTo(0);
41131
+ }
41132
+ };
41143
41133
  IgxSimpleComboComponent.prototype.setSelection = function (newSelection) {
41144
41134
  var newSelectionAsArray = newSelection ? Array.from(newSelection) : [];
41145
41135
  var oldSelectionAsArray = Array.from(this.selectionService.get(this.id) || []);
@@ -41159,7 +41149,7 @@
41159
41149
  : [];
41160
41150
  this.selectionService.select_items(this.id, argsSelection, true);
41161
41151
  if (this._updateInput) {
41162
- this._value = displayText !== args.displayText
41152
+ this.comboInput.value = this._value = displayText !== args.displayText
41163
41153
  ? args.displayText
41164
41154
  : this.createDisplayText([args.newSelection], [args.oldSelection]);
41165
41155
  }
@@ -41183,12 +41173,20 @@
41183
41173
  }
41184
41174
  this.setSelection(newSelection);
41185
41175
  };
41176
+ IgxSimpleComboComponent.prototype.clearOnBlur = function () {
41177
+ var filtered = this.filteredData.find(this.findMatch);
41178
+ if ((filtered === undefined || filtered === null)) {
41179
+ this.close();
41180
+ this.clearSelection();
41181
+ this.searchValue = '';
41182
+ }
41183
+ };
41186
41184
  return IgxSimpleComboComponent;
41187
41185
  }(IgxComboBaseDirective));
41188
41186
  IgxSimpleComboComponent.decorators = [
41189
41187
  { type: i0.Component, args: [{
41190
41188
  selector: 'igx-simple-combo',
41191
- template: "<igx-input-group #inputGroup [displayDensity]=\"displayDensity\" [type]=\"type\">\n <ng-container ngProjectAs=\"[igxLabel]\">\n <ng-content select=\"[igxLabel]\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-prefix\">\n <ng-content select=\"igx-prefix\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-hint, [igxHint]\">\n <ng-content select=\"igx-hint, [igxHint]\"></ng-content>\n </ng-container>\n\n <input #comboInput igxInput [value]=\"value\" (input)=\"handleInputChange($event)\" (keyup)=\"handleKeyUp($event)\"\n (keydown)=\"handleKeyDown($event)\" (blur)=\"onBlur()\" [attr.placeholder]=\"placeholder\"\n aria-autocomplete=\"both\" [attr.aria-owns]=\"dropdown.id\" [attr.aria-labelledby]=\"ariaLabelledBy\"\n [disabled]=\"disabled\" [igxTextSelection]=\"!composing\" />\n\n <ng-container ngProjectAs=\"igx-suffix\">\n <ng-content select=\"igx-suffix\"></ng-content>\n </ng-container>\n <igx-suffix *ngIf=\"comboInput.value.length\" aria-label=\"Clear Selection\" class=\"igx-combo__clear-button\"\n (click)=\"handleClear($event)\">\n <ng-container *ngIf=\"clearIconTemplate\">\n <ng-container *ngTemplateOutlet=\"clearIconTemplate\"></ng-container>\n </ng-container>\n <igx-icon *ngIf=\"!clearIconTemplate\">\n clear\n </igx-icon>\n </igx-suffix>\n <igx-suffix class=\"igx-combo__toggle-button\">\n <ng-container *ngIf=\"toggleIconTemplate\">\n <ng-container *ngTemplateOutlet=\"toggleIconTemplate; context: {$implicit: collapsed}\"></ng-container>\n </ng-container>\n <igx-icon (click)=\"onClick($event)\" *ngIf=\"!toggleIconTemplate\">\n {{ dropdown.collapsed ? 'arrow_drop_down' : 'arrow_drop_up'}}\n </igx-icon>\n </igx-suffix>\n</igx-input-group>\n\n<igx-combo-drop-down #igxComboDropDown class=\"igx-combo__drop-down\" [displayDensity]=\"displayDensity\"\n [width]=\"itemsWidth || '100%'\" (opening)=\"handleOpening($event)\" (closing)=\"handleClosing($event)\"\n (opened)=\"handleOpened()\" (closed)=\"handleClosed()\" [singleMode]=\"true\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\">\n </ng-container>\n <div #dropdownItemContainer class=\"igx-combo__content\" [style.overflow]=\"'hidden'\"\n [style.maxHeight.px]=\"itemsMaxHeight\" [igxDropDownItemNavigation]=\"dropdown\" (focus)=\"dropdown.onFocus()\"\n [tabindex]=\"dropdown.collapsed ? -1 : 0\" role=\"listbox\" [attr.id]=\"dropdown.id\">\n <igx-combo-item role=\"option\" [singleMode]=\"true\" [itemHeight]='itemHeight' (click)=\"close()\" *igxFor=\"let item of data\n | comboFiltering:filterValue:displayKey:filteringOptions:true\n | comboGrouping:groupKey:valueKey\n index as rowIndex; containerSize: itemsMaxHeight; scrollOrientation: 'vertical'; itemSize: itemHeight\"\n [value]=\"item\" [isHeader]=\"item.isHeader\" [index]=\"rowIndex\">\n <ng-container *ngIf=\"item.isHeader\">\n <ng-container\n *ngTemplateOutlet=\"headerItemTemplate ? headerItemTemplate : headerItemBase;\n context: {$implicit: item, data: data, valueKey: valueKey, groupKey: groupKey, displayKey: displayKey}\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!item.isHeader\">\n <ng-container #listItem\n *ngTemplateOutlet=\"template; context: {$implicit: item, data: data, valueKey: valueKey, displayKey: displayKey};\">\n </ng-container>\n </ng-container>\n </igx-combo-item>\n </div>\n\n <div class=\"igx-combo__add\" *ngIf=\"filteredData.length === 0 || isAddButtonVisible()\">\n <div class=\"igx-combo__empty\" *ngIf=\"filteredData.length === 0\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate ? emptyTemplate : empty\">\n </ng-container>\n </div>\n <igx-combo-add-item [itemHeight]=\"itemHeight\" *ngIf=\"isAddButtonVisible()\"\n [tabindex]=\"dropdown.collapsed ? -1 : customValueFlag ? 1 : -1\" class=\"igx-combo__add-item\" role=\"button\"\n aria-label=\"Add Item\" [index]=\"virtualScrollContainer.igxForOf.length\">\n <ng-container *ngTemplateOutlet=\"addItemTemplate ? addItemTemplate : addItemDefault\">\n </ng-container>\n </igx-combo-add-item>\n </div>\n <ng-container *ngTemplateOutlet=\"footerTemplate\">\n </ng-container>\n</igx-combo-drop-down>\n\n<ng-template #complex let-display let-data=\"data\" let-key=\"displayKey\">\n {{display[key]}}\n</ng-template>\n<ng-template #primitive let-display>\n {{display}}\n</ng-template>\n<ng-template #empty>\n <span>The list is empty</span>\n</ng-template>\n<ng-template #addItemDefault let-control>\n <button igxButton=\"flat\" igxRipple>Add item</button>\n</ng-template>\n<ng-template #headerItemBase let-item let-key=\"valueKey\" let-groupKey=\"groupKey\">\n {{ item[key] }}\n</ng-template>\n",
41189
+ template: "<igx-input-group #inputGroup [displayDensity]=\"displayDensity\" [suppressInputAutofocus]=\"true\" [type]=\"type\">\n <ng-container ngProjectAs=\"[igxLabel]\">\n <ng-content select=\"[igxLabel]\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-prefix\">\n <ng-content select=\"igx-prefix\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-hint, [igxHint]\">\n <ng-content select=\"igx-hint, [igxHint]\"></ng-content>\n </ng-container>\n\n <input #comboInput igxInput [value]=\"value\" (input)=\"handleInputChange($event)\" (keyup)=\"handleKeyUp($event)\"\n (keydown)=\"handleKeyDown($event)\" (blur)=\"onBlur()\" [attr.placeholder]=\"placeholder\" aria-autocomplete=\"both\"\n [attr.aria-owns]=\"dropdown.id\" [attr.aria-labelledby]=\"ariaLabelledBy\" [disabled]=\"disabled\"\n [igxTextSelection]=\"!composing\" />\n\n <ng-container ngProjectAs=\"igx-suffix\">\n <ng-content select=\"igx-suffix\"></ng-content>\n </ng-container>\n <igx-suffix *ngIf=\"comboInput.value.length\" aria-label=\"Clear Selection\" class=\"igx-combo__clear-button\"\n (click)=\"handleClear($event)\">\n <ng-container *ngIf=\"clearIconTemplate\">\n <ng-container *ngTemplateOutlet=\"clearIconTemplate\"></ng-container>\n </ng-container>\n <igx-icon *ngIf=\"!clearIconTemplate\">\n clear\n </igx-icon>\n </igx-suffix>\n <igx-suffix *ngIf=\"showSearchCaseIcon\">\n <igx-icon family=\"imx-icons\" name=\"case-sensitive\" [active]=\"filteringOptions.caseSensitive\"\n (click)=\"toggleCaseSensitive()\">\n </igx-icon>\n </igx-suffix>\n <igx-suffix class=\"igx-combo__toggle-button\">\n <ng-container *ngIf=\"toggleIconTemplate\">\n <ng-container *ngTemplateOutlet=\"toggleIconTemplate; context: {$implicit: collapsed}\"></ng-container>\n </ng-container>\n <igx-icon (click)=\"onClick($event)\" *ngIf=\"!toggleIconTemplate\">\n {{ dropdown.collapsed ? 'arrow_drop_down' : 'arrow_drop_up'}}\n </igx-icon>\n </igx-suffix>\n</igx-input-group>\n\n<igx-combo-drop-down #igxComboDropDown class=\"igx-combo__drop-down\" [displayDensity]=\"displayDensity\"\n [width]=\"itemsWidth || '100%'\" (opening)=\"handleOpening($event)\" (closing)=\"handleClosing($event)\"\n (opened)=\"handleOpened()\" (closed)=\"handleClosed()\" [singleMode]=\"true\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\">\n </ng-container>\n <div #dropdownItemContainer class=\"igx-combo__content\" [style.overflow]=\"'hidden'\"\n [style.maxHeight.px]=\"itemsMaxHeight\" [igxDropDownItemNavigation]=\"dropdown\" (focus)=\"dropdown.onFocus()\"\n [tabindex]=\"dropdown.collapsed ? -1 : 0\" role=\"listbox\" [attr.id]=\"dropdown.id\"\n (keydown)=\"handleItemKeyDown($event)\">\n <igx-combo-item role=\"option\" [singleMode]=\"true\" [itemHeight]='itemHeight' (click)=\"handleItemClick()\" *igxFor=\"let item of data\n | comboFiltering:filterValue:displayKey:filteringOptions:true\n | comboGrouping:groupKey:valueKey\n index as rowIndex; containerSize: itemsMaxHeight; scrollOrientation: 'vertical'; itemSize: itemHeight\"\n [value]=\"item\" [isHeader]=\"item.isHeader\" [index]=\"rowIndex\">\n <ng-container *ngIf=\"item.isHeader\">\n <ng-container\n *ngTemplateOutlet=\"headerItemTemplate ? headerItemTemplate : headerItemBase;\n context: {$implicit: item, data: data, valueKey: valueKey, groupKey: groupKey, displayKey: displayKey}\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!item.isHeader\">\n <ng-container #listItem\n *ngTemplateOutlet=\"template; context: {$implicit: item, data: data, valueKey: valueKey, displayKey: displayKey};\">\n </ng-container>\n </ng-container>\n </igx-combo-item>\n </div>\n\n <div class=\"igx-combo__add\" *ngIf=\"filteredData.length === 0 || isAddButtonVisible()\">\n <div class=\"igx-combo__empty\" *ngIf=\"filteredData.length === 0\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate ? emptyTemplate : empty\">\n </ng-container>\n </div>\n <igx-combo-add-item #addItem [itemHeight]=\"itemHeight\" *ngIf=\"isAddButtonVisible()\"\n [tabindex]=\"dropdown.collapsed ? -1 : customValueFlag ? 1 : -1\" class=\"igx-combo__add-item\" role=\"button\"\n aria-label=\"Add Item\" [index]=\"virtualScrollContainer.igxForOf.length\">\n <ng-container *ngTemplateOutlet=\"addItemTemplate ? addItemTemplate : addItemDefault\">\n </ng-container>\n </igx-combo-add-item>\n </div>\n <ng-container *ngTemplateOutlet=\"footerTemplate\">\n </ng-container>\n</igx-combo-drop-down>\n\n<ng-template #complex let-display let-data=\"data\" let-key=\"displayKey\">\n {{display[key]}}\n</ng-template>\n<ng-template #primitive let-display>\n {{display}}\n</ng-template>\n<ng-template #empty>\n <span>The list is empty</span>\n</ng-template>\n<ng-template #addItemDefault let-control>\n <button igxButton=\"flat\" igxRipple>Add item</button>\n</ng-template>\n<ng-template #headerItemBase let-item let-key=\"valueKey\" let-groupKey=\"groupKey\">\n {{ item[key] }}\n</ng-template>\n",
41192
41190
  providers: [
41193
41191
  IgxComboAPIService,
41194
41192
  { provide: IGX_COMBO_COMPONENT, useExisting: IgxSimpleComboComponent },
@@ -41209,7 +41207,10 @@
41209
41207
  ]; };
41210
41208
  IgxSimpleComboComponent.propDecorators = {
41211
41209
  dropdown: [{ type: i0.ViewChild, args: [IgxComboDropDownComponent, { static: true },] }],
41212
- selectionChanging: [{ type: i0.Output }]
41210
+ addItem: [{ type: i0.ViewChild, args: [IgxComboAddItemComponent,] }],
41211
+ selectionChanging: [{ type: i0.Output }],
41212
+ textSelection: [{ type: i0.ViewChild, args: [IgxTextSelectionDirective, { static: true },] }],
41213
+ onArrowDown: [{ type: i0.HostListener, args: ['keydown.ArrowDown', ['$event'],] }, { type: i0.HostListener, args: ['keydown.Alt.ArrowDown', ['$event'],] }]
41213
41214
  };
41214
41215
  var IgxSimpleComboModule = /** @class */ (function () {
41215
41216
  function IgxSimpleComboModule() {
@@ -54441,7 +54442,7 @@
54441
54442
  { type: i0.Component, args: [{
54442
54443
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
54443
54444
  selector: 'igx-grid-header-row',
54444
- template: "<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\n <!-- Left column moving area -->\n <ng-container *ngIf=\"grid.hasMovableColumns && grid.columnInDrag && pinnedColumnCollection.length <= 0\">\n <span id=\"left\" class=\"igx-grid__scroll-on-drag-left\" droppable=\"true\" [style.left.px]=\"grid.pinnedWidth\"\n [igxColumnMovingDrop]=\"headerContainer\"></span>\n </ng-container>\n <ng-container *ngIf=\"grid.hasMovableColumns && grid.columnInDrag && pinnedColumnCollection.length > 0\">\n <span id=\"left\" class=\"igx-grid__scroll-on-drag-pinned\" droppable=\"true\" [style.left.px]=\"grid.pinnedWidth\"\n [igxColumnMovingDrop]=\"headerContainer\"></span>\n </ng-container>\n\n <!-- Row dragging area -->\n <ng-container *ngIf=\"grid.rowDraggable\">\n <div #headerDragContainer class=\"igx-grid__drag-indicator igx-grid__tr-action\" (pointerdown)=\"$event.preventDefault()\" [class.igx-grid__drag-indicator--header]=\"!grid.isRowSelectable\">\n <div style=\"visibility: hidden;\">\n <ng-container *ngTemplateOutlet=\"grid.dragIndicatorIconTemplate || grid.dragIndicatorIconBase\"></ng-container>\n </div>\n </div>\n </ng-container>\n\n <!-- Row selectors area -->\n <ng-container *ngIf=\"grid.showRowSelectors\">\n <div #headerSelectorContainer class=\"igx-grid__cbx-selection igx-grid__tr-action\"\n [class.igx-grid__cbx-selection--push]=\"grid.filteringService.isFilterRowVisible\"\n (click)=\"headerRowSelection($event)\"\n (pointerdown)=\"$event.preventDefault()\">\n <ng-container #headSelector\n *ngTemplateOutlet=\"grid.headSelectorTemplate || headSelectorBaseTemplate; context: rowSelectorsContext\">\n </ng-container>\n </div>\n </ng-container>\n\n <!-- Hierarchical grids expand all area -->\n <ng-container *ngIf=\"isHierarchicalGrid\">\n <div #headerHierarchyExpander\n (click)=\"grid.toggleAll()\"\n (pointerdown)=\"$event.preventDefault()\"\n [hidden]=\"!grid.hasExpandableChildren || !grid.hasVisibleColumns\"\n [ngClass]=\"{\n 'igx-grid__hierarchical-expander igx-grid__hierarchical-expander--header igx-grid__tr-action': grid.hasExpandableChildren,\n 'igx-grid__hierarchical-expander--push': grid.filteringService.isFilterRowVisible,\n 'igx-grid__hierarchical-expander--no-border': grid.isRowSelectable || grid.rowDraggable\n }\">\n <ng-container *ngTemplateOutlet=\"grid.iconTemplate; context: { $implicit: grid }\"></ng-container>\n </div>\n </ng-container>\n\n\n <!-- Grouping icon toggle area -->\n <ng-container *ngIf=\"grid?.groupingExpressions?.length\">\n <div #headerGroupContainer class=\"{{ indentationCSSClasses }}\"\n (click)=\"grid.toggleAllGroupRows()\"\n (pointerdown)=\"$event.preventDefault()\">\n <ng-container *ngTemplateOutlet=\"grid.iconTemplate\"></ng-container>\n </div>\n </ng-container>\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\n [ngClass]=\"column.headerGroupClasses\"\n [ngStyle]=\"column.headerGroupStyles | igxHeaderGroupStyle:column:grid.pipeTrigger\"\n [column]=\"column\"\n [style.min-width]=\"column.calcWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\"\n [style.flex-basis]=\"column.calcWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\">\n </igx-grid-header-group>\n </ng-container>\n </ng-container>\n\n <!-- Unpinned columns collection -->\n <ng-template igxGridFor #headerVirtualContainer let-column\n [igxGridForOf]=\"unpinnedColumnCollection | igxTopLevel\"\n [igxForScrollContainer]=\"grid.parentVirtDir\"\n [igxForContainerSize]=\"grid.unpinnedWidth\"\n [igxForTrackBy]=\"grid.trackColumnChanges\"\n [igxForSizePropName]=\"'calcPixelWidth'\"\n [igxForScrollOrientation]=\"'horizontal'\"\n >\n <igx-grid-header-group\n [ngClass]=\"column.headerGroupClasses\"\n [ngStyle]=\"column.headerGroupStyles |igxHeaderGroupStyle:column:grid.pipeTrigger\"\n [column]=\"column\"\n [style.min-width]=\"column.calcWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\"\n [style.flex-basis]=\"column.calcWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\">\n </igx-grid-header-group>\n </ng-template>\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\n [ngClass]=\"column.headerGroupClasses\"\n [ngStyle]=\"column.headerGroupStyles |igxHeaderGroupStyle:column:grid.pipeTrigger\"\n [column]=\"column\"\n [style.min-width]=\"column.calcWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\"\n [style.flex-basis]=\"column.calcWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\"\n [style.left]=\"column.rightPinnedOffset\">\n </igx-grid-header-group>\n </ng-container>\n </ng-container>\n </div>\n\n <!-- Filter row area -->\n <ng-container *ngIf=\"grid.filteringService.isFilterRowVisible\">\n <igx-grid-filtering-row #filteringRow\n [column]=\"grid.filteringService.filteredColumn\"\n [style.width.px]=\"width\">\n </igx-grid-filtering-row>\n </ng-container>\n\n <!-- Right column moving area -->\n <ng-container *ngIf=\"grid.hasMovableColumns && grid.columnInDrag\">\n <span id=\"right\" class=\"igx-grid__scroll-on-drag-right\" droppable=\"true\" [igxColumnMovingDrop]=\"headerContainer\"></span>\n </ng-container>\n</div>\n\n<!-- Header thumb area -->\n<div class=\"igx-grid-thead__thumb\" [hidden]=\"!grid.hasVerticalScroll()\" [style.width.px]=\"grid.scrollSize\"></div>\n\n<!-- Default row selection header checkbox template -->\n<ng-template #headSelectorBaseTemplate igxHeadSelector let-context>\n <div class=\"igx-grid__cbx-padding\">\n <igx-checkbox\n [tabindex]=\"-1\"\n [readonly]=\"true\"\n [checked]=\"context.selectedCount > 0 && context.totalCount === context.selectedCount\"\n [disableRipple]=\"true\"\n [ngStyle]=\"{'visibility': grid.isMultiRowSelectionEnabled? 'visible' : 'hidden' }\"\n [indeterminate]=\"context.selectedCount > 0 && context.selectedCount !== context.totalCount\"\n [aria-label]=\"grid.headSelectorBaseAriaLabel\"\n #headerCheckbox>\n </igx-checkbox>\n </div>\n</ng-template>\n"
54445
+ template: "<div role=\"rowgroup\" class=\"igx-grid-thead__wrapper\" [style.width.px]=\"width\"\n [class.igx-grid__tr--mrl]=\"hasMRL\">\n\n <!-- Column headers area -->\n <div class=\"igx-grid__tr\" role=\"row\" [style.width.px]=\"width\">\n\n <!-- Left column moving area -->\n <ng-container *ngIf=\"grid.hasMovableColumns && grid.columnInDrag && pinnedColumnCollection.length <= 0\">\n <span id=\"left\" class=\"igx-grid__scroll-on-drag-left\" droppable=\"true\" [style.left.px]=\"grid.pinnedWidth\"\n [igxColumnMovingDrop]=\"headerContainer\"></span>\n </ng-container>\n <ng-container *ngIf=\"grid.hasMovableColumns && grid.columnInDrag && pinnedColumnCollection.length > 0\">\n <span id=\"left\" class=\"igx-grid__scroll-on-drag-pinned\" droppable=\"true\" [style.left.px]=\"grid.pinnedWidth\"\n [igxColumnMovingDrop]=\"headerContainer\"></span>\n </ng-container>\n\n <!-- Row dragging area -->\n <ng-container *ngIf=\"grid.rowDraggable\">\n <div #headerDragContainer class=\"igx-grid__drag-indicator igx-grid__tr-action\" (pointerdown)=\"$event.preventDefault()\" [class.igx-grid__drag-indicator--header]=\"!grid.isRowSelectable\">\n <div style=\"visibility: hidden;\">\n <ng-container *ngTemplateOutlet=\"grid.dragIndicatorIconTemplate || grid.dragIndicatorIconBase\"></ng-container>\n </div>\n </div>\n </ng-container>\n\n <!-- Row selectors area -->\n <ng-container *ngIf=\"grid.showRowSelectors\">\n <div #headerSelectorContainer class=\"igx-grid__cbx-selection igx-grid__tr-action\"\n [class.igx-grid__cbx-selection--push]=\"grid.filteringService.isFilterRowVisible\"\n (click)=\"headerRowSelection($event)\"\n (pointerdown)=\"$event.preventDefault()\">\n <ng-container #headSelector\n *ngTemplateOutlet=\"grid.headSelectorTemplate || headSelectorBaseTemplate; context: rowSelectorsContext\">\n </ng-container>\n </div>\n </ng-container>\n\n <!-- Hierarchical grids expand all area -->\n <ng-container *ngIf=\"isHierarchicalGrid\">\n <div #headerHierarchyExpander\n (click)=\"grid.toggleAll()\"\n (pointerdown)=\"$event.preventDefault()\"\n [hidden]=\"!grid.hasExpandableChildren || !grid.hasVisibleColumns\"\n [ngClass]=\"{\n 'igx-grid__hierarchical-expander igx-grid__hierarchical-expander--header igx-grid__tr-action': grid.hasExpandableChildren,\n 'igx-grid__hierarchical-expander--push': grid.filteringService.isFilterRowVisible,\n 'igx-grid__hierarchical-expander--no-border': grid.isRowSelectable || grid.rowDraggable\n }\">\n <ng-container *ngTemplateOutlet=\"grid.iconTemplate; context: { $implicit: grid }\"></ng-container>\n </div>\n </ng-container>\n\n\n <!-- Grouping icon toggle area -->\n <ng-container *ngIf=\"grid?.groupingExpressions?.length\">\n <div #headerGroupContainer class=\"{{ indentationCSSClasses }}\"\n (click)=\"grid.toggleAllGroupRows()\"\n (pointerdown)=\"$event.preventDefault()\">\n <ng-container *ngTemplateOutlet=\"grid.iconTemplate\"></ng-container>\n </div>\n </ng-container>\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\n [ngClass]=\"column.headerGroupClasses\"\n [ngStyle]=\"column.headerGroupStyles | igxHeaderGroupStyle:column:grid.pipeTrigger\"\n [column]=\"column\"\n [style.min-width]=\"column.calcWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\"\n [style.flex-basis]=\"column.calcWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\">\n </igx-grid-header-group>\n </ng-container>\n </ng-container>\n\n <!-- Unpinned columns collection -->\n <ng-template igxGridFor #headerVirtualContainer let-column\n [igxGridForOf]=\"unpinnedColumnCollection | igxTopLevel\"\n [igxForScrollContainer]=\"grid.parentVirtDir\"\n [igxForContainerSize]=\"grid.unpinnedWidth\"\n [igxForTrackBy]=\"grid.trackColumnChanges\"\n [igxForSizePropName]=\"'calcPixelWidth'\"\n [igxForScrollOrientation]=\"'horizontal'\"\n >\n <igx-grid-header-group\n [ngClass]=\"column.headerGroupClasses\"\n [ngStyle]=\"column.headerGroupStyles |igxHeaderGroupStyle:column:grid.pipeTrigger\"\n [column]=\"column\"\n [style.min-width]=\"column.calcWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\"\n [style.flex-basis]=\"column.calcWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\">\n </igx-grid-header-group>\n </ng-template>\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\n [ngClass]=\"column.headerGroupClasses\"\n [ngStyle]=\"column.headerGroupStyles |igxHeaderGroupStyle:column:grid.pipeTrigger\"\n [column]=\"column\"\n [style.min-width]=\"column.calcWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\"\n [style.flex-basis]=\"column.calcWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\"\n [style.left]=\"column.rightPinnedOffset\">\n </igx-grid-header-group>\n </ng-container>\n </ng-container>\n </div>\n\n <!-- Filter row area -->\n <ng-container *ngIf=\"grid.filteringService.isFilterRowVisible\">\n <igx-grid-filtering-row #filteringRow\n [column]=\"grid.filteringService.filteredColumn\"\n [style.width.px]=\"width\">\n </igx-grid-filtering-row>\n </ng-container>\n\n <!-- Right column moving area -->\n <ng-container *ngIf=\"grid.hasMovableColumns && grid.columnInDrag\">\n <span id=\"right\" class=\"igx-grid__scroll-on-drag-right\" droppable=\"true\" [igxColumnMovingDrop]=\"headerContainer\"></span>\n </ng-container>\n</div>\n\n<!-- Header thumb area -->\n<div class=\"igx-grid-thead__thumb\" [hidden]=\"!grid.hasVerticalScroll()\" [style.width.px]=\"grid.scrollSize\"></div>\n\n<!-- Default row selection header checkbox template -->\n<ng-template #headSelectorBaseTemplate igxHeadSelector let-context>\n <div class=\"igx-grid__cbx-padding\">\n <igx-checkbox\n [tabindex]=\"-1\"\n [readonly]=\"true\"\n [checked]=\"context.selectedCount > 0 && context.totalCount === context.selectedCount\"\n [disableRipple]=\"true\"\n [ngStyle]=\"{'visibility': grid.isMultiRowSelectionEnabled? 'visible' : 'hidden' }\"\n [indeterminate]=\"context.selectedCount > 0 && context.selectedCount !== context.totalCount\"\n [aria-label]=\"grid.headSelectorBaseAriaLabel\"\n #headerCheckbox>\n </igx-checkbox>\n </div>\n</ng-template>\n"
54445
54446
  },] }
54446
54447
  ];
54447
54448
  IgxGridHeaderRowComponent.ctorParameters = function () { return [
@@ -54625,9 +54626,10 @@
54625
54626
  */
54626
54627
  _this.gridScroll = new i0.EventEmitter();
54627
54628
  /**
54629
+ * @deprecated in version 12.1.0. Use the corresponding output exposed by the `igx-paginator` component instead
54630
+ *
54628
54631
  * Emitted after the current page is changed.
54629
54632
  *
54630
- * @deprecated in version 12.1.0
54631
54633
  * @example
54632
54634
  * ```html
54633
54635
  * <igx-grid (pageChange)="onPageChange($event)"></igx-grid>
@@ -54640,10 +54642,10 @@
54640
54642
  */
54641
54643
  _this.pageChange = new i0.EventEmitter();
54642
54644
  /**
54645
+ * @deprecated in version 12.1.0. Use the corresponding output exposed by the `igx-paginator` component instead
54646
+ *
54643
54647
  * Emitted when `perPage` property value of the grid is changed.
54644
54648
  *
54645
- * @deprecated in version 12.1.0
54646
- * @example
54647
54649
  * ```html
54648
54650
  * <igx-grid #grid (perPageChange)="onPerPageChange($event)" [autoGenerate]="true"></igx-grid>
54649
54651
  * ```
@@ -54660,6 +54662,8 @@
54660
54662
  */
54661
54663
  _this.class = '';
54662
54664
  /**
54665
+ * @deprecated in version 12.2.0. We suggest using `rowClasses` property instead
54666
+ *
54663
54667
  * Gets/Sets the styling classes applied to all even `IgxGridRowComponent`s in the grid.
54664
54668
  *
54665
54669
  * @example
@@ -54669,6 +54673,8 @@
54669
54673
  */
54670
54674
  _this.evenRowCSS = 'igx-grid__tr--even';
54671
54675
  /**
54676
+ * @deprecated in version 12.2.0. We suggest using `rowClasses` property instead
54677
+ *
54672
54678
  * Gets/Sets the styling classes applied to all odd `IgxGridRowComponent`s in the grid.
54673
54679
  *
54674
54680
  * @example
@@ -54923,9 +54929,10 @@
54923
54929
  */
54924
54930
  _this.filteringDone = new i0.EventEmitter();
54925
54931
  /**
54932
+ * @deprecated in version 12.1.0. Use the corresponding output exposed by the `igx-paginator` component instead
54933
+ *
54926
54934
  * Emitted after paging is performed.
54927
54935
  *
54928
- * @deprecated in version 12.1.x
54929
54936
  * @remarks
54930
54937
  * Returns an object consisting of the previous and next pages.
54931
54938
  * @example
@@ -55629,9 +55636,10 @@
55629
55636
  });
55630
55637
  Object.defineProperty(IgxGridBaseDirective.prototype, "paging", {
55631
55638
  /**
55639
+ * @deprecated in version 12.1.0. Use the corresponding method exposed by the `igx-paginator`
55640
+ *
55632
55641
  * Gets/Sets whether the paging feature is enabled.
55633
55642
  *
55634
- * @deprecated in version 12.1.x
55635
55643
  * @remarks
55636
55644
  * The default state is disabled (false).
55637
55645
  * @example
@@ -55653,9 +55661,10 @@
55653
55661
  });
55654
55662
  Object.defineProperty(IgxGridBaseDirective.prototype, "page", {
55655
55663
  /**
55664
+ * @deprecated in version 12.1.0. Use `page` property form `paginator` component instead
55665
+ *
55656
55666
  * Gets/Sets the current page index.
55657
55667
  *
55658
- * @deprecated in version 12.1.x
55659
55668
  * @example
55660
55669
  * ```html
55661
55670
  * <igx-grid #grid [data]="Data" [autoGenerate]="true">
@@ -55679,9 +55688,10 @@
55679
55688
  });
55680
55689
  Object.defineProperty(IgxGridBaseDirective.prototype, "perPage", {
55681
55690
  /**
55691
+ * @deprecated in version 12.1.0. Use `perPage` property from `paginator` component instead
55692
+ *
55682
55693
  * Gets/Sets the number of visible items per page.
55683
55694
  *
55684
- * @deprecated in version 12.1.x
55685
55695
  * @remarks
55686
55696
  * The default is 15.
55687
55697
  * @example
@@ -55706,9 +55716,10 @@
55706
55716
  });
55707
55717
  Object.defineProperty(IgxGridBaseDirective.prototype, "columnHiding", {
55708
55718
  /**
55719
+ * @deprecated in version 10.1.0
55720
+ *
55709
55721
  * Gets/Sets whether the column hiding UI is enabled.
55710
55722
  *
55711
- * @deprecated
55712
55723
  * @remarks
55713
55724
  * By default it is disabled (false). In order for the UI to work, you need to enable the toolbar as shown in the example below.
55714
55725
  * @example
@@ -55959,9 +55970,9 @@
55959
55970
  });
55960
55971
  Object.defineProperty(IgxGridBaseDirective.prototype, "columnHidingTitle", {
55961
55972
  /**
55962
- * Gets/Sets the title to be displayed in the built-in column hiding UI.
55973
+ * @deprecated in version 10.1.0
55963
55974
  *
55964
- * @deprecated
55975
+ * Gets/Sets the title to be displayed in the built-in column hiding UI.
55965
55976
  *
55966
55977
  * @example
55967
55978
  * ```html
@@ -56011,9 +56022,9 @@
56011
56022
  });
56012
56023
  Object.defineProperty(IgxGridBaseDirective.prototype, "columnPinning", {
56013
56024
  /**
56014
- * Gets/Sets if the built-in column pinning UI should be shown in the toolbar.
56025
+ * @deprecated in version 10.1.0
56015
56026
  *
56016
- * @deprecated
56027
+ * Gets/Sets if the built-in column pinning UI should be shown in the toolbar.
56017
56028
  *
56018
56029
  * @example
56019
56030
  * ```html
@@ -56032,9 +56043,9 @@
56032
56043
  });
56033
56044
  Object.defineProperty(IgxGridBaseDirective.prototype, "columnPinningTitle", {
56034
56045
  /**
56035
- * Gets/Sets the title to be displayed in the UI of the column pinning.
56046
+ * @deprecated in version 10.1.0
56036
56047
  *
56037
- * @deprecated
56048
+ * Gets/Sets the title to be displayed in the UI of the column pinning.
56038
56049
  *
56039
56050
  * @example
56040
56051
  * ```html
@@ -56637,9 +56648,9 @@
56637
56648
  });
56638
56649
  Object.defineProperty(IgxGridBaseDirective.prototype, "hiddenColumnsText", {
56639
56650
  /**
56640
- * Gets/Sets the text to be displayed inside the toggle button.
56651
+ * @deprecated in version 10.1.0
56641
56652
  *
56642
- * @deprecated
56653
+ * Gets/Sets the text to be displayed inside the toggle button.
56643
56654
  *
56644
56655
  * @remarks
56645
56656
  * Used for the built-in column hiding UI of the`IgxColumnComponent`.
@@ -56648,7 +56659,6 @@
56648
56659
  * <igx-grid [columnHiding]="true" [showToolbar]="true" [hiddenColumnsText]="'Hidden Columns'"></igx-grid>
56649
56660
  * ```
56650
56661
  */
56651
- // @DeprecateProperty('`hiddenColumnsText` is deprecated')
56652
56662
  get: function () {
56653
56663
  return this._hiddenColumnsText;
56654
56664
  },
@@ -56661,9 +56671,9 @@
56661
56671
  });
56662
56672
  Object.defineProperty(IgxGridBaseDirective.prototype, "pinnedColumnsText", {
56663
56673
  /**
56664
- * Gets/Sets the text to be displayed inside the toggle button.
56674
+ * @deprecated in version 10.1.0
56665
56675
  *
56666
- * @deprecated
56676
+ * Gets/Sets the text to be displayed inside the toggle button.
56667
56677
  *
56668
56678
  * @remarks
56669
56679
  * Used for the built-in column pinning UI of the`IgxColumnComponent`.
@@ -56757,9 +56767,9 @@
56757
56767
  });
56758
56768
  Object.defineProperty(IgxGridBaseDirective.prototype, "showToolbar", {
56759
56769
  /**
56760
- * Gets/Sets whether the toolbar is shown.
56770
+ * @deprecated in version 11.0.0
56761
56771
  *
56762
- * @deprecated
56772
+ * Gets/Sets whether the toolbar is shown.
56763
56773
  *
56764
56774
  * @example
56765
56775
  * ```html
@@ -56777,9 +56787,9 @@
56777
56787
  });
56778
56788
  Object.defineProperty(IgxGridBaseDirective.prototype, "toolbarTitle", {
56779
56789
  /**
56780
- * Gets/Sets the toolbar's title.
56790
+ * @deprecated in version 11.0.0
56781
56791
  *
56782
- * @deprecated
56792
+ * Gets/Sets the toolbar's title.
56783
56793
  *
56784
56794
  * @example
56785
56795
  * ```html
@@ -56798,9 +56808,9 @@
56798
56808
  });
56799
56809
  Object.defineProperty(IgxGridBaseDirective.prototype, "exportExcel", {
56800
56810
  /**
56801
- * Gets/Sets whether exporting to MS Excel is enabled or disabled.
56811
+ * @deprecated `exportExcel` is deprecated
56802
56812
  *
56803
- * @deprecated
56813
+ * Gets/Sets whether exporting to MS Excel is enabled or disabled.
56804
56814
  *
56805
56815
  * @example
56806
56816
  * ```html
@@ -56819,9 +56829,9 @@
56819
56829
  });
56820
56830
  Object.defineProperty(IgxGridBaseDirective.prototype, "exportCsv", {
56821
56831
  /**
56822
- * Gets/Sets whether the option for exporting to CSV is enabled or disabled.
56832
+ * @deprecated `exportCsv` is deprecated
56823
56833
  *
56824
- * @deprecated
56834
+ * Gets/Sets whether the option for exporting to CSV is enabled or disabled.
56825
56835
  *
56826
56836
  * ```html
56827
56837
  * <igx-grid [data]="localData" [showToolbar]="true" [autoGenerate]="true" [exportCsv]="true"></igx-grid>
@@ -56839,9 +56849,9 @@
56839
56849
  });
56840
56850
  Object.defineProperty(IgxGridBaseDirective.prototype, "exportText", {
56841
56851
  /**
56842
- * Gets/Sets the textual content for the main export button.
56852
+ * @deprecated `exportText` is deprecated
56843
56853
  *
56844
- * @deprecated
56854
+ * Gets/Sets the textual content for the main export button.
56845
56855
  *
56846
56856
  * @example
56847
56857
  * ```html
@@ -56860,9 +56870,9 @@
56860
56870
  });
56861
56871
  Object.defineProperty(IgxGridBaseDirective.prototype, "exportExcelText", {
56862
56872
  /**
56863
- * Gets/Sets the textual content for the MS Excel export button.
56873
+ * @deprecated `exportExcelText` is deprecated
56864
56874
  *
56865
- * @deprecated
56875
+ * Gets/Sets the textual content for the MS Excel export button.
56866
56876
  *
56867
56877
  * ```html
56868
56878
  * <igx-grid [exportExcelText]="'My Excel Exporter" [showToolbar]="true" [exportText]="'My Exporter'" [exportCsv]="true"></igx-grid>
@@ -56880,9 +56890,9 @@
56880
56890
  });
56881
56891
  Object.defineProperty(IgxGridBaseDirective.prototype, "exportCsvText", {
56882
56892
  /**
56883
- * Gets/Sets the textual content for the CSV export button.
56893
+ * @deprecated `exportCsvText` is deprecated
56884
56894
  *
56885
- * @deprecated
56895
+ * Gets/Sets the textual content for the CSV export button.
56886
56896
  *
56887
56897
  * @example
56888
56898
  * ```html
@@ -58148,9 +58158,10 @@
58148
58158
  });
58149
58159
  Object.defineProperty(IgxGridBaseDirective.prototype, "totalPages", {
58150
58160
  /**
58161
+ * @deprecated in version 12.1.0. Use the corresponding property exposed by the `igx-paginator`
58162
+ *
58151
58163
  * Gets the total number of pages.
58152
58164
  *
58153
- * @deprecated in version 12.1.0
58154
58165
  * @example
58155
58166
  * ```typescript
58156
58167
  * const totalPages = this.grid.totalPages;
@@ -58165,9 +58176,10 @@
58165
58176
  });
58166
58177
  Object.defineProperty(IgxGridBaseDirective.prototype, "isFirstPage", {
58167
58178
  /**
58179
+ * @deprecated in version 12.1.0. Use the corresponding property exposed by the `igx-paginator`
58180
+ *
58168
58181
  * Gets if the current page is the first page.
58169
58182
  *
58170
- * @deprecated in version 12.1.0
58171
58183
  * @example
58172
58184
  * ```typescript
58173
58185
  * const firstPage = this.grid.isFirstPage;
@@ -58180,9 +58192,10 @@
58180
58192
  configurable: true
58181
58193
  });
58182
58194
  /**
58195
+ * @deprecated in version 12.1.0. Use the corresponding method exposed by the `igx-paginator`
58196
+ *
58183
58197
  * Goes to the next page, if the grid is not already at the last page.
58184
58198
  *
58185
- * @deprecated in version 12.1.0
58186
58199
  * @example
58187
58200
  * ```typescript
58188
58201
  * this.grid1.nextPage();
@@ -58194,9 +58207,10 @@
58194
58207
  (_a = this.paginator) === null || _a === void 0 ? void 0 : _a.nextPage();
58195
58208
  };
58196
58209
  /**
58210
+ * @deprecated in version 12.1.0. Use the corresponding method exposed by the `igx-paginator`
58211
+ *
58197
58212
  * Goes to the previous page, if the grid is not already at the first page.
58198
58213
  *
58199
- * @deprecated in version 12.1.0
58200
58214
  * @example
58201
58215
  * ```typescript
58202
58216
  * this.grid1.previousPage();
@@ -58237,9 +58251,10 @@
58237
58251
  });
58238
58252
  Object.defineProperty(IgxGridBaseDirective.prototype, "isLastPage", {
58239
58253
  /**
58254
+ * @deprecated in version 12.1.0. Use the corresponding property exposed by the `igx-paginator`
58255
+ *
58240
58256
  * Returns if the current page is the last page.
58241
58257
  *
58242
- * @deprecated in version 12.1.0
58243
58258
  * @example
58244
58259
  * ```typescript
58245
58260
  * const lastPage = this.grid.isLastPage;
@@ -58356,6 +58371,8 @@
58356
58371
  this._columnsReordered(column);
58357
58372
  };
58358
58373
  /**
58374
+ * @deprecated in version 12.1.0. Use the corresponding method exposed by the `igx-paginator`
58375
+ *
58359
58376
  * Goes to the desired page index.
58360
58377
  *
58361
58378
  * @example
@@ -59685,6 +59702,9 @@
59685
59702
  if (!this.clipboardOptions.copyHeaders) {
59686
59703
  result = result.substring(result.indexOf('\n') + 1);
59687
59704
  }
59705
+ if (Object.values(data[0]).length === 1) {
59706
+ result = result.slice(0, -2);
59707
+ }
59688
59708
  event.preventDefault();
59689
59709
  /* Necessary for the hiearachical case but will probably have to
59690
59710
  change how getSelectedData is propagated in the hiearachical grid
@@ -61643,24 +61663,9 @@
61643
61663
  totalRecords: [{ type: i0.Input }],
61644
61664
  selectRowOnClick: [{ type: i0.Input }]
61645
61665
  };
61646
- __decorate([
61647
- DeprecateProperty('`pageChange` is deprecated. Use the corresponding output exposed by the `igx-paginator` component instead.')
61648
- ], IgxGridBaseDirective.prototype, "pageChange", void 0);
61649
- __decorate([
61650
- DeprecateProperty('`perPageChange` is deprecated. Use the corresponding output exposed by the `igx-paginator` component instead.')
61651
- ], IgxGridBaseDirective.prototype, "perPageChange", void 0);
61652
- __decorate([
61653
- DeprecateProperty('`evenRowCSS` is deprecated. We suggest using `rowClasses` property instead.')
61654
- ], IgxGridBaseDirective.prototype, "evenRowCSS", void 0);
61655
- __decorate([
61656
- DeprecateProperty('`oddRowCSS` is deprecated. We suggest using `rowClasses` property instead.')
61657
- ], IgxGridBaseDirective.prototype, "oddRowCSS", void 0);
61658
61666
  __decorate([
61659
61667
  WatchChanges()
61660
61668
  ], IgxGridBaseDirective.prototype, "primaryKey", void 0);
61661
- __decorate([
61662
- DeprecateProperty('`pagingDone` is deprecated. Use the corresponding output exposed by the `igx-paginator` component instead.')
61663
- ], IgxGridBaseDirective.prototype, "pagingDone", void 0);
61664
61669
  __decorate([
61665
61670
  WatchChanges()
61666
61671
  ], IgxGridBaseDirective.prototype, "filteringLogic", null);
@@ -61670,18 +61675,6 @@
61670
61675
  __decorate([
61671
61676
  WatchChanges()
61672
61677
  ], IgxGridBaseDirective.prototype, "advancedFilteringExpressionsTree", null);
61673
- __decorate([
61674
- DeprecateProperty('`paging` is deprecated')
61675
- ], IgxGridBaseDirective.prototype, "paging", null);
61676
- __decorate([
61677
- DeprecateProperty('`page` is deprecated. Use `page` property form `paginator` component instead.')
61678
- ], IgxGridBaseDirective.prototype, "page", null);
61679
- __decorate([
61680
- DeprecateProperty('`perPage` is deprecated. Use `perPage` property from `paginator` component instead.')
61681
- ], IgxGridBaseDirective.prototype, "perPage", null);
61682
- __decorate([
61683
- DeprecateProperty('`columnHiding` is deprecated.')
61684
- ], IgxGridBaseDirective.prototype, "columnHiding", null);
61685
61678
  __decorate([
61686
61679
  WatchChanges()
61687
61680
  ], IgxGridBaseDirective.prototype, "hideRowSelectors", null);
@@ -61703,42 +61696,9 @@
61703
61696
  __decorate([
61704
61697
  WatchChanges()
61705
61698
  ], IgxGridBaseDirective.prototype, "isLoading", null);
61706
- __decorate([
61707
- DeprecateProperty('`columnHidingTitle` is deprecated')
61708
- ], IgxGridBaseDirective.prototype, "columnHidingTitle", null);
61709
- __decorate([
61710
- DeprecateProperty('`columnPinning` is deprecated')
61711
- ], IgxGridBaseDirective.prototype, "columnPinning", null);
61712
- __decorate([
61713
- DeprecateProperty('`columnPinningTitle` is deprecated')
61714
- ], IgxGridBaseDirective.prototype, "columnPinningTitle", null);
61715
61699
  __decorate([
61716
61700
  WatchChanges()
61717
61701
  ], IgxGridBaseDirective.prototype, "sortingExpressions", null);
61718
- __decorate([
61719
- DeprecateProperty('`pinnedColumnsText` is deprecated')
61720
- ], IgxGridBaseDirective.prototype, "pinnedColumnsText", null);
61721
- __decorate([
61722
- DeprecateProperty('`showToolbar` is deprecated')
61723
- ], IgxGridBaseDirective.prototype, "showToolbar", null);
61724
- __decorate([
61725
- DeprecateProperty('`toolbarTitle` is deprecated')
61726
- ], IgxGridBaseDirective.prototype, "toolbarTitle", null);
61727
- __decorate([
61728
- DeprecateProperty('`exportExcel` is deprecated')
61729
- ], IgxGridBaseDirective.prototype, "exportExcel", null);
61730
- __decorate([
61731
- DeprecateProperty('`exportCsv` is deprecated')
61732
- ], IgxGridBaseDirective.prototype, "exportCsv", null);
61733
- __decorate([
61734
- DeprecateProperty('`exportText` is deprecated')
61735
- ], IgxGridBaseDirective.prototype, "exportText", null);
61736
- __decorate([
61737
- DeprecateProperty('`exportExcelText` is deprecated')
61738
- ], IgxGridBaseDirective.prototype, "exportExcelText", null);
61739
- __decorate([
61740
- DeprecateProperty('`exportCsvText` is deprecated')
61741
- ], IgxGridBaseDirective.prototype, "exportCsvText", null);
61742
61702
  __decorate([
61743
61703
  WatchChanges()
61744
61704
  ], IgxGridBaseDirective.prototype, "cellSelection", null);
@@ -61748,24 +61708,6 @@
61748
61708
  __decorate([
61749
61709
  WatchChanges()
61750
61710
  ], IgxGridBaseDirective.prototype, "columnSelection", null);
61751
- __decorate([
61752
- DeprecateProperty('`totalPages` is deprecated. Use the corresponding property exposed by the `igx-paginator`.')
61753
- ], IgxGridBaseDirective.prototype, "totalPages", null);
61754
- __decorate([
61755
- DeprecateProperty('`isFirstPage` is deprecated. Use the corresponding property exposed by the `igx-paginator`.')
61756
- ], IgxGridBaseDirective.prototype, "isFirstPage", null);
61757
- __decorate([
61758
- DeprecateMethod('Use the corresponding method exposed by the `igx-paginator`.')
61759
- ], IgxGridBaseDirective.prototype, "nextPage", null);
61760
- __decorate([
61761
- DeprecateMethod('Use the corresponding method exposed by the `igx-paginator`.')
61762
- ], IgxGridBaseDirective.prototype, "previousPage", null);
61763
- __decorate([
61764
- DeprecateProperty('`isLastPage` is deprecated. Use the corresponding property exposed by the `igx-paginator`.')
61765
- ], IgxGridBaseDirective.prototype, "isLastPage", null);
61766
- __decorate([
61767
- DeprecateMethod('Use the corresponding method exposed by the `igx-paginator`.')
61768
- ], IgxGridBaseDirective.prototype, "paginate", null);
61769
61711
  __decorate([
61770
61712
  WatchChanges()
61771
61713
  ], IgxGridBaseDirective.prototype, "selectRowOnClick", null);
@@ -61828,7 +61770,7 @@
61828
61770
  });
61829
61771
  Object.defineProperty(BaseRow.prototype, "rowData", {
61830
61772
  /**
61831
- * @deprecated Use 'data' instead.
61773
+ * @deprecated Use 'data' instead
61832
61774
  *
61833
61775
  * The data record that populates the row
61834
61776
  */
@@ -61840,8 +61782,7 @@
61840
61782
  });
61841
61783
  Object.defineProperty(BaseRow.prototype, "rowID", {
61842
61784
  /**
61843
- * @deprecated Use 'key' instead.
61844
- *
61785
+ * @deprecated Use 'key' instead
61845
61786
  */
61846
61787
  get: function () {
61847
61788
  return this.key;
@@ -62047,12 +61988,6 @@
62047
61988
  };
62048
61989
  return BaseRow;
62049
61990
  }());
62050
- __decorate([
62051
- DeprecateProperty("'rowData' property is deprecated. Use 'data' instead.")
62052
- ], BaseRow.prototype, "rowData", null);
62053
- __decorate([
62054
- DeprecateProperty("'rowID' property is deprecated. Use 'key' instead.")
62055
- ], BaseRow.prototype, "rowID", null);
62056
61991
  var IgxGridRow = /** @class */ (function (_super) {
62057
61992
  __extends(IgxGridRow, _super);
62058
61993
  /**
@@ -63295,17 +63230,6 @@
63295
63230
  enumerable: false,
63296
63231
  configurable: true
63297
63232
  });
63298
- /**
63299
- * @deprecated
63300
- * Gets whether the cell is selected.
63301
- * ```typescript
63302
- * let isCellSelected = thid.cell.isCellSelected();
63303
- * ```
63304
- * @memberof IgxGridCellComponent
63305
- */
63306
- IgxGridCellComponent.prototype.isCellSelected = function () {
63307
- return this.selectionService.selected(this.selectionNode);
63308
- };
63309
63233
  /**
63310
63234
  * @hidden
63311
63235
  * @internal
@@ -63617,9 +63541,6 @@
63617
63541
  onClick: [{ type: i0.HostListener, args: ['click', ['$event'],] }],
63618
63542
  onContextMenu: [{ type: i0.HostListener, args: ['contextmenu', ['$event'],] }]
63619
63543
  };
63620
- __decorate([
63621
- DeprecateMethod("'isCellSelected' is deprecated. Use 'selected' property instead.")
63622
- ], IgxGridCellComponent.prototype, "isCellSelected", null);
63623
63544
 
63624
63545
  var IgxGridFooterComponent = /** @class */ (function () {
63625
63546
  function IgxGridFooterComponent() {
@@ -64022,9 +63943,10 @@
64022
63943
  }
64023
63944
  Object.defineProperty(IgxColumnActionsComponent.prototype, "columns", {
64024
63945
  /**
63946
+ * @deprecated Use grid input instead.
63947
+ *
64025
63948
  * Gets the grid columns to provide an action for.
64026
63949
  *
64027
- * @deprecated
64028
63950
  * @example
64029
63951
  * ```typescript
64030
63952
  * let gridColumns = this.columnActions.columns;
@@ -64304,9 +64226,6 @@
64304
64226
  checkAllText: [{ type: i0.Input }],
64305
64227
  id: [{ type: i0.HostBinding, args: ['attr.id',] }, { type: i0.Input }]
64306
64228
  };
64307
- __decorate([
64308
- DeprecateProperty("Deprecated. Use 'grid' input instead.")
64309
- ], IgxColumnActionsComponent.prototype, "columns", null);
64310
64229
 
64311
64230
  /**
64312
64231
  * @hidden
@@ -69178,7 +69097,8 @@
69178
69097
  configurable: true
69179
69098
  });
69180
69099
  /**
69181
- * @deprecated
69100
+ * @deprecated in version 12.1.0. Use `getCellByColumn` or `getCellByKey` instead
69101
+ *
69182
69102
  * Returns a `CellType` object that matches the conditions.
69183
69103
  *
69184
69104
  * @example
@@ -70005,9 +69925,6 @@
70005
69925
  dropAreaMessage: [{ type: i0.Input }],
70006
69926
  showGroupArea: [{ type: i0.Input }]
70007
69927
  };
70008
- __decorate([
70009
- DeprecateMethod('`getCellByColumnVisibleIndex` is deprecated. Use `getCellByColumn` or `getCellByKey` instead')
70010
- ], IgxGridComponent.prototype, "getCellByColumnVisibleIndex", null);
70011
69928
 
70012
69929
  var IgxGridStateDirective = /** @class */ (function () {
70013
69930
  /**
@@ -73183,7 +73100,8 @@
73183
73100
  configurable: true
73184
73101
  });
73185
73102
  /**
73186
- * @deprecated
73103
+ * @deprecated in version 12.1.0. Use `getCellByColumn` or `getCellByKey` instead
73104
+ *
73187
73105
  * Returns a `CellType` object that matches the conditions.
73188
73106
  *
73189
73107
  * @example
@@ -73895,9 +73813,6 @@
73895
73813
  expansionDepth: [{ type: i0.Input }],
73896
73814
  rowLoadingIndicatorTemplate: [{ type: i0.Input }]
73897
73815
  };
73898
- __decorate([
73899
- DeprecateMethod('`getCellByColumnVisibleIndex` is deprecated. Use `getCellByColumn` or `getCellByKey` instead')
73900
- ], IgxTreeGridComponent.prototype, "getCellByColumnVisibleIndex", null);
73901
73816
 
73902
73817
  var IgxTreeGridRowComponent = /** @class */ (function (_super) {
73903
73818
  __extends(IgxTreeGridRowComponent, _super);
@@ -76395,7 +76310,8 @@
76395
76310
  configurable: true
76396
76311
  });
76397
76312
  /**
76398
- * @deprecated
76313
+ * @deprecated in version 12.1.0. Use `getCellByColumn` or `getCellByKey` instead
76314
+ *
76399
76315
  * Returns a `CellType` object that matches the conditions.
76400
76316
  *
76401
76317
  * @example
@@ -77091,9 +77007,6 @@
77091
77007
  data: [{ type: i0.Input }],
77092
77008
  expandChildren: [{ type: i0.Input }]
77093
77009
  };
77094
- __decorate([
77095
- DeprecateMethod('`getCellByColumnVisibleIndex` is deprecated. Use `getCellByColumn` or `getCellByKey` instead')
77096
- ], IgxHierarchicalGridComponent.prototype, "getCellByColumnVisibleIndex", null);
77097
77010
 
77098
77011
  var IgxHierarchicalGridCellComponent = /** @class */ (function (_super) {
77099
77012
  __extends(IgxHierarchicalGridCellComponent, _super);
@@ -82091,6 +82004,8 @@
82091
82004
  }
82092
82005
  Object.defineProperty(IgxToastComponent.prototype, "position", {
82093
82006
  /**
82007
+ * @deprecated in version 12.2.3. We suggest using `positionSettings` property instead
82008
+ *
82094
82009
  * Sets/gets the position of the toast.
82095
82010
  * If not set, the `position` attribute will have value `IgxToastPosition.Bottom`.
82096
82011
  * ```html
@@ -82247,9 +82162,6 @@
82247
82162
  position: [{ type: i0.Input }],
82248
82163
  positionSettings: [{ type: i0.Input }]
82249
82164
  };
82250
- __decorate([
82251
- DeprecateProperty('`position` is deprecated. We suggest using `positionSettings` property instead.')
82252
- ], IgxToastComponent.prototype, "position", null);
82253
82165
  /**
82254
82166
  * @hidden
82255
82167
  */
@@ -86508,186 +86420,184 @@
86508
86420
  exports.ɵ2 = ɵ2;
86509
86421
  exports.ɵa = IgxActionStripMenuItemDirective;
86510
86422
  exports.ɵb = IGX_DROPDOWN_BASE;
86511
- exports.ɵba = IgxGridActionButtonComponent;
86512
- exports.ɵbb = ToggleAnimationPlayer;
86513
- exports.ɵbc = IgxExpansionPanelTitleDirective;
86514
- exports.ɵbd = IgxExpansionPanelDescriptionDirective;
86515
- exports.ɵbe = IgxExpansionPanelIconDirective;
86516
- exports.ɵbf = IgxBannerActionsDirective;
86517
- exports.ɵbg = IgxDaysViewNavigationService;
86518
- exports.ɵbh = IgxDayItemComponent;
86519
- exports.ɵbi = IgxMonthViewSlotsCalendar;
86520
- exports.ɵbj = IgxGetViewDateCalendar;
86521
- exports.ɵbk = IgxCarouselIndicatorDirective;
86522
- exports.ɵbl = IgxCarouselNextButtonDirective;
86523
- exports.ɵbm = IgxCarouselPrevButtonDirective;
86524
- exports.ɵbn = IGX_COMBO_COMPONENT;
86525
- exports.ɵbp = IgxComboBaseDirective;
86526
- exports.ɵbq = IgxComboHeaderDirective;
86527
- exports.ɵbr = IgxComboFooterDirective;
86528
- exports.ɵbs = IgxComboItemDirective;
86529
- exports.ɵbt = IgxComboEmptyDirective;
86530
- exports.ɵbu = IgxComboHeaderItemDirective;
86531
- exports.ɵbv = IgxComboAddItemDirective;
86532
- exports.ɵbw = IgxComboToggleIconDirective;
86533
- exports.ɵbx = IgxComboClearIconDirective;
86534
- exports.ɵby = IgxComboAPIService;
86535
- exports.ɵbz = IgxComboDropDownComponent;
86536
- exports.ɵca = IgxComboItemComponent;
86537
- exports.ɵcb = IgxComboFilteringPipe;
86538
- exports.ɵcc = IgxComboGroupingPipe;
86539
- exports.ɵcd = IgxComboAddItemComponent;
86540
- exports.ɵce = PickerBaseDirective;
86541
- exports.ɵcf = IgxCalendarContainerComponent;
86542
- exports.ɵcg = IgxCalendarContainerModule;
86543
- exports.ɵch = IgxDialogTitleDirective;
86544
- exports.ɵci = IgxDialogActionsDirective;
86545
- exports.ɵcj = IgxCellCrudState;
86546
- exports.ɵck = IgxRowCrudState;
86547
- exports.ɵcl = IgxRowAddCrudState;
86548
- exports.ɵcm = IgxGridCRUDService;
86549
- exports.ɵcn = IgxColumnMovingService;
86550
- exports.ɵco = IgxExcelStyleCustomDialogComponent;
86551
- exports.ɵcp = IgxExcelStyleDefaultExpressionComponent;
86552
- exports.ɵcq = IgxExcelStyleDateExpressionComponent;
86553
- exports.ɵcr = HammerGesturesManager;
86554
- exports.ɵcs = WatchChanges;
86555
- exports.ɵct = WatchColumnChanges;
86556
- exports.ɵcu = notifyChanges;
86557
- exports.ɵcv = IgxNotificationsDirective;
86558
- exports.ɵcw = IgxGridColumnResizerComponent;
86559
- exports.ɵcx = IgxColumnResizerDirective;
86560
- exports.ɵcy = IgxColumnResizingService;
86561
- exports.ɵcz = IgxRowSelectorDirective;
86423
+ exports.ɵba = IgxExpansionPanelTitleDirective;
86424
+ exports.ɵbb = IgxExpansionPanelDescriptionDirective;
86425
+ exports.ɵbc = IgxExpansionPanelIconDirective;
86426
+ exports.ɵbd = IgxBannerActionsDirective;
86427
+ exports.ɵbe = IgxDaysViewNavigationService;
86428
+ exports.ɵbf = IgxDayItemComponent;
86429
+ exports.ɵbg = IgxMonthViewSlotsCalendar;
86430
+ exports.ɵbh = IgxGetViewDateCalendar;
86431
+ exports.ɵbi = IgxCarouselIndicatorDirective;
86432
+ exports.ɵbj = IgxCarouselNextButtonDirective;
86433
+ exports.ɵbk = IgxCarouselPrevButtonDirective;
86434
+ exports.ɵbl = IGX_COMBO_COMPONENT;
86435
+ exports.ɵbn = IgxComboBaseDirective;
86436
+ exports.ɵbo = IgxComboHeaderDirective;
86437
+ exports.ɵbp = IgxComboFooterDirective;
86438
+ exports.ɵbq = IgxComboItemDirective;
86439
+ exports.ɵbr = IgxComboEmptyDirective;
86440
+ exports.ɵbs = IgxComboHeaderItemDirective;
86441
+ exports.ɵbt = IgxComboAddItemDirective;
86442
+ exports.ɵbu = IgxComboToggleIconDirective;
86443
+ exports.ɵbv = IgxComboClearIconDirective;
86444
+ exports.ɵbw = IgxComboAPIService;
86445
+ exports.ɵbx = IgxComboDropDownComponent;
86446
+ exports.ɵby = IgxComboItemComponent;
86447
+ exports.ɵbz = IgxComboFilteringPipe;
86448
+ exports.ɵca = IgxComboGroupingPipe;
86449
+ exports.ɵcb = IgxComboAddItemComponent;
86450
+ exports.ɵcc = PickerBaseDirective;
86451
+ exports.ɵcd = IgxCalendarContainerComponent;
86452
+ exports.ɵce = IgxCalendarContainerModule;
86453
+ exports.ɵcf = IgxDialogTitleDirective;
86454
+ exports.ɵcg = IgxDialogActionsDirective;
86455
+ exports.ɵch = IgxCellCrudState;
86456
+ exports.ɵci = IgxRowCrudState;
86457
+ exports.ɵcj = IgxRowAddCrudState;
86458
+ exports.ɵck = IgxGridCRUDService;
86459
+ exports.ɵcl = IgxColumnMovingService;
86460
+ exports.ɵcm = IgxExcelStyleCustomDialogComponent;
86461
+ exports.ɵcn = IgxExcelStyleDefaultExpressionComponent;
86462
+ exports.ɵco = IgxExcelStyleDateExpressionComponent;
86463
+ exports.ɵcp = HammerGesturesManager;
86464
+ exports.ɵcq = WatchChanges;
86465
+ exports.ɵcr = WatchColumnChanges;
86466
+ exports.ɵcs = notifyChanges;
86467
+ exports.ɵct = IgxNotificationsDirective;
86468
+ exports.ɵcu = IgxGridColumnResizerComponent;
86469
+ exports.ɵcv = IgxColumnResizerDirective;
86470
+ exports.ɵcw = IgxColumnResizingService;
86471
+ exports.ɵcx = IgxRowSelectorDirective;
86472
+ exports.ɵcy = IgxGroupByRowSelectorDirective;
86473
+ exports.ɵcz = IgxHeadSelectorDirective;
86562
86474
  exports.ɵd = IgxGridSelectionService;
86563
- exports.ɵda = IgxGroupByRowSelectorDirective;
86564
- exports.ɵdb = IgxHeadSelectorDirective;
86565
- exports.ɵdc = IgxRowDragDirective;
86566
- exports.ɵdd = IgxDragIndicatorIconDirective;
86567
- exports.ɵde = IgxRowDragGhostDirective;
86568
- exports.ɵdf = IgxRowDragModule;
86569
- exports.ɵdg = IgxGridHeaderRowComponent;
86570
- exports.ɵdh = IgxGridHeaderGroupComponent;
86571
- exports.ɵdi = IgxGridHeaderComponent;
86572
- exports.ɵdj = IgxGridFilteringCellComponent;
86573
- exports.ɵdk = IgxFilteringService;
86574
- exports.ɵdl = IgxGridFilteringRowComponent;
86575
- exports.ɵdm = IgxGridGroupByAreaComponent;
86576
- exports.ɵdn = IgxGroupByAreaDirective;
86577
- exports.ɵdo = IgxGroupByMetaPipe;
86578
- exports.ɵdp = IgxTemplateOutletDirective;
86579
- exports.ɵdq = IgxTemplateOutletModule;
86580
- exports.ɵdr = IgxRowEditTemplateDirective;
86581
- exports.ɵds = IgxRowEditTextDirective;
86582
- exports.ɵdt = IgxRowAddTextDirective;
86583
- exports.ɵdu = IgxRowEditActionsDirective;
86584
- exports.ɵdv = IgxRowEditTabStopDirective;
86585
- exports.ɵdw = IgxSummaryRowComponent;
86586
- exports.ɵdx = IgxSummaryCellComponent;
86587
- exports.ɵdy = IgxRowDirective;
86588
- exports.ɵdz = IgxGridNavigationService;
86589
- exports.ɵea = IgxGridSummaryService;
86590
- exports.ɵeb = ConnectedPositioningStrategy;
86591
- exports.ɵec = IgxGridGroupByRowComponent;
86592
- exports.ɵed = IgxTreeGridSelectionService;
86593
- exports.ɵee = IgxTreeGridGroupByAreaComponent;
86594
- exports.ɵef = IgxRowLoadingIndicatorTemplateDirective;
86595
- exports.ɵeg = IgxHierarchicalGridNavigationService;
86596
- exports.ɵeh = IgxChildGridRowComponent;
86597
- exports.ɵei = IgxGridCellComponent;
86598
- exports.ɵej = IgxGridFooterComponent;
86599
- exports.ɵek = IgxAdvancedFilteringDialogComponent;
86600
- exports.ɵel = IgxColumnHidingDirective;
86601
- exports.ɵem = IgxColumnPinningDirective;
86602
- exports.ɵen = IgxGridSharedModules;
86603
- exports.ɵeo = IgxProcessBarTextTemplateDirective;
86604
- exports.ɵep = IgxProgressBarGradientDirective;
86605
- exports.ɵeq = DIR_DOCUMENT_FACTORY;
86606
- exports.ɵer = DIR_DOCUMENT;
86607
- exports.ɵes = IgxDirectionality;
86608
- exports.ɵet = IgxSelectItemNavigationDirective;
86609
- exports.ɵeu = IGX_TIME_PICKER_COMPONENT;
86610
- exports.ɵew = IgxItemListDirective;
86611
- exports.ɵex = IgxTimeItemDirective;
86612
- exports.ɵey = IgxTimePickerTemplateDirective;
86613
- exports.ɵez = IgxTimePickerActionsDirective;
86475
+ exports.ɵda = IgxRowDragDirective;
86476
+ exports.ɵdb = IgxDragIndicatorIconDirective;
86477
+ exports.ɵdc = IgxRowDragGhostDirective;
86478
+ exports.ɵdd = IgxRowDragModule;
86479
+ exports.ɵde = IgxGridHeaderRowComponent;
86480
+ exports.ɵdf = IgxGridHeaderGroupComponent;
86481
+ exports.ɵdg = IgxGridHeaderComponent;
86482
+ exports.ɵdh = IgxGridFilteringCellComponent;
86483
+ exports.ɵdi = IgxFilteringService;
86484
+ exports.ɵdj = IgxGridFilteringRowComponent;
86485
+ exports.ɵdk = IgxGridGroupByAreaComponent;
86486
+ exports.ɵdl = IgxGroupByAreaDirective;
86487
+ exports.ɵdm = IgxGroupByMetaPipe;
86488
+ exports.ɵdn = IgxTemplateOutletDirective;
86489
+ exports.ɵdo = IgxTemplateOutletModule;
86490
+ exports.ɵdp = IgxRowEditTemplateDirective;
86491
+ exports.ɵdq = IgxRowEditTextDirective;
86492
+ exports.ɵdr = IgxRowAddTextDirective;
86493
+ exports.ɵds = IgxRowEditActionsDirective;
86494
+ exports.ɵdt = IgxRowEditTabStopDirective;
86495
+ exports.ɵdu = IgxSummaryRowComponent;
86496
+ exports.ɵdv = IgxSummaryCellComponent;
86497
+ exports.ɵdw = IgxRowDirective;
86498
+ exports.ɵdx = IgxGridNavigationService;
86499
+ exports.ɵdy = IgxGridSummaryService;
86500
+ exports.ɵdz = ConnectedPositioningStrategy;
86501
+ exports.ɵea = IgxGridGroupByRowComponent;
86502
+ exports.ɵeb = IgxTreeGridSelectionService;
86503
+ exports.ɵec = IgxTreeGridGroupByAreaComponent;
86504
+ exports.ɵed = IgxRowLoadingIndicatorTemplateDirective;
86505
+ exports.ɵee = IgxHierarchicalGridNavigationService;
86506
+ exports.ɵef = IgxChildGridRowComponent;
86507
+ exports.ɵeg = IgxGridCellComponent;
86508
+ exports.ɵeh = IgxGridFooterComponent;
86509
+ exports.ɵei = IgxAdvancedFilteringDialogComponent;
86510
+ exports.ɵej = IgxColumnHidingDirective;
86511
+ exports.ɵek = IgxColumnPinningDirective;
86512
+ exports.ɵel = IgxGridSharedModules;
86513
+ exports.ɵem = IgxProcessBarTextTemplateDirective;
86514
+ exports.ɵen = IgxProgressBarGradientDirective;
86515
+ exports.ɵeo = DIR_DOCUMENT_FACTORY;
86516
+ exports.ɵep = DIR_DOCUMENT;
86517
+ exports.ɵeq = IgxDirectionality;
86518
+ exports.ɵer = IgxSelectItemNavigationDirective;
86519
+ exports.ɵes = IGX_TIME_PICKER_COMPONENT;
86520
+ exports.ɵeu = IgxItemListDirective;
86521
+ exports.ɵev = IgxTimeItemDirective;
86522
+ exports.ɵew = IgxTimePickerTemplateDirective;
86523
+ exports.ɵex = IgxTimePickerActionsDirective;
86524
+ exports.ɵey = TimeFormatPipe;
86525
+ exports.ɵez = TimeItemPipe;
86614
86526
  exports.ɵf = IGX_EXPANSION_PANEL_COMPONENT;
86615
- exports.ɵfa = TimeFormatPipe;
86616
- exports.ɵfb = TimeItemPipe;
86617
- exports.ɵfc = IgxGridPipesModule;
86618
- exports.ɵfd = IgxGridCellStyleClassesPipe;
86619
- exports.ɵfe = IgxGridCellStylesPipe;
86620
- exports.ɵff = IgxGridRowClassesPipe;
86621
- exports.ɵfg = IgxGridRowStylesPipe;
86622
- exports.ɵfh = IgxGridNotGroupedPipe;
86623
- exports.ɵfi = IgxGridTopLevelColumns;
86624
- exports.ɵfj = IgxGridFilterConditionPipe;
86625
- exports.ɵfk = IgxGridTransactionPipe;
86626
- exports.ɵfl = IgxGridPaginatorOptionsPipe;
86627
- exports.ɵfm = IgxHasVisibleColumnsPipe;
86628
- exports.ɵfn = IgxGridRowPinningPipe;
86629
- exports.ɵfo = IgxColumnActionEnabledPipe;
86630
- exports.ɵfp = IgxFilterActionColumnsPipe;
86631
- exports.ɵfq = IgxSortActionColumnsPipe;
86632
- exports.ɵfr = IgxGridDataMapperPipe;
86633
- exports.ɵfs = IgxStringReplacePipe;
86634
- exports.ɵft = IgxGridTransactionStatePipe;
86635
- exports.ɵfu = IgxColumnFormatterPipe;
86636
- exports.ɵfv = IgxSummaryFormatterPipe;
86637
- exports.ɵfw = IgxGridAddRowPipe;
86638
- exports.ɵfx = IgxHeaderGroupWidthPipe;
86639
- exports.ɵfy = IgxHeaderGroupStylePipe;
86640
- exports.ɵfz = IgxGridColumnModule;
86527
+ exports.ɵfa = IgxGridPipesModule;
86528
+ exports.ɵfb = IgxGridCellStyleClassesPipe;
86529
+ exports.ɵfc = IgxGridCellStylesPipe;
86530
+ exports.ɵfd = IgxGridRowClassesPipe;
86531
+ exports.ɵfe = IgxGridRowStylesPipe;
86532
+ exports.ɵff = IgxGridNotGroupedPipe;
86533
+ exports.ɵfg = IgxGridTopLevelColumns;
86534
+ exports.ɵfh = IgxGridFilterConditionPipe;
86535
+ exports.ɵfi = IgxGridTransactionPipe;
86536
+ exports.ɵfj = IgxGridPaginatorOptionsPipe;
86537
+ exports.ɵfk = IgxHasVisibleColumnsPipe;
86538
+ exports.ɵfl = IgxGridRowPinningPipe;
86539
+ exports.ɵfm = IgxColumnActionEnabledPipe;
86540
+ exports.ɵfn = IgxFilterActionColumnsPipe;
86541
+ exports.ɵfo = IgxSortActionColumnsPipe;
86542
+ exports.ɵfp = IgxGridDataMapperPipe;
86543
+ exports.ɵfq = IgxStringReplacePipe;
86544
+ exports.ɵfr = IgxGridTransactionStatePipe;
86545
+ exports.ɵfs = IgxColumnFormatterPipe;
86546
+ exports.ɵft = IgxSummaryFormatterPipe;
86547
+ exports.ɵfu = IgxGridAddRowPipe;
86548
+ exports.ɵfv = IgxHeaderGroupWidthPipe;
86549
+ exports.ɵfw = IgxHeaderGroupStylePipe;
86550
+ exports.ɵfx = IgxGridColumnModule;
86551
+ exports.ɵfy = IgxGridHeadersModule;
86552
+ exports.ɵfz = SortingIndexPipe;
86641
86553
  exports.ɵg = IGX_TREE_COMPONENT;
86642
- exports.ɵga = IgxGridHeadersModule;
86643
- exports.ɵgb = SortingIndexPipe;
86644
- exports.ɵgc = IgxGridFilteringModule;
86645
- exports.ɵgd = IgxColumnMovingModule;
86646
- exports.ɵge = IgxColumnMovingDropDirective;
86647
- exports.ɵgf = IgxColumnMovingDragDirective;
86648
- exports.ɵgg = IgxGridResizingModule;
86649
- exports.ɵgh = IgxResizeHandleDirective;
86650
- exports.ɵgi = IgxGridExcelStyleFilteringModule;
86651
- exports.ɵgj = IgxGridSelectionModule;
86652
- exports.ɵgk = IgxGridDragSelectDirective;
86653
- exports.ɵgl = IgxGridSummaryModule;
86654
- exports.ɵgm = IgxSummaryDataPipe;
86655
- exports.ɵgn = IgxGridToolbarModule;
86656
- exports.ɵgo = BaseToolbarDirective;
86657
- exports.ɵgp = BaseToolbarColumnActionsDirective;
86658
- exports.ɵgq = IgxGridRowComponent;
86659
- exports.ɵgr = IgxGridSortingPipe;
86660
- exports.ɵgs = IgxGridGroupingPipe;
86661
- exports.ɵgt = IgxGridPagingPipe;
86662
- exports.ɵgu = IgxGridFilteringPipe;
86663
- exports.ɵgv = IgxGridSummaryPipe;
86664
- exports.ɵgw = IgxGridDetailsPipe;
86665
- exports.ɵgx = IgxGridExpandableCellComponent;
86666
- exports.ɵgy = IgxTreeGridRowComponent;
86667
- exports.ɵgz = IgxTreeGridCellComponent;
86554
+ exports.ɵga = IgxGridFilteringModule;
86555
+ exports.ɵgb = IgxColumnMovingModule;
86556
+ exports.ɵgc = IgxColumnMovingDropDirective;
86557
+ exports.ɵgd = IgxColumnMovingDragDirective;
86558
+ exports.ɵge = IgxGridResizingModule;
86559
+ exports.ɵgf = IgxResizeHandleDirective;
86560
+ exports.ɵgg = IgxGridExcelStyleFilteringModule;
86561
+ exports.ɵgh = IgxGridSelectionModule;
86562
+ exports.ɵgi = IgxGridDragSelectDirective;
86563
+ exports.ɵgj = IgxGridSummaryModule;
86564
+ exports.ɵgk = IgxSummaryDataPipe;
86565
+ exports.ɵgl = IgxGridToolbarModule;
86566
+ exports.ɵgm = BaseToolbarDirective;
86567
+ exports.ɵgn = BaseToolbarColumnActionsDirective;
86568
+ exports.ɵgo = IgxGridRowComponent;
86569
+ exports.ɵgp = IgxGridSortingPipe;
86570
+ exports.ɵgq = IgxGridGroupingPipe;
86571
+ exports.ɵgr = IgxGridPagingPipe;
86572
+ exports.ɵgs = IgxGridFilteringPipe;
86573
+ exports.ɵgt = IgxGridSummaryPipe;
86574
+ exports.ɵgu = IgxGridDetailsPipe;
86575
+ exports.ɵgv = IgxGridExpandableCellComponent;
86576
+ exports.ɵgw = IgxTreeGridRowComponent;
86577
+ exports.ɵgx = IgxTreeGridCellComponent;
86578
+ exports.ɵgy = IgxTreeGridHierarchizingPipe;
86579
+ exports.ɵgz = IgxTreeGridFlatteningPipe;
86668
86580
  exports.ɵh = IGX_TREE_NODE_COMPONENT;
86669
- exports.ɵha = IgxTreeGridHierarchizingPipe;
86670
- exports.ɵhb = IgxTreeGridFlatteningPipe;
86671
- exports.ɵhc = IgxTreeGridSortingPipe;
86672
- exports.ɵhd = IgxTreeGridPagingPipe;
86673
- exports.ɵhe = IgxTreeGridTransactionPipe;
86674
- exports.ɵhf = IgxTreeGridNormalizeRecordsPipe;
86675
- exports.ɵhg = IgxTreeGridAddRowPipe;
86676
- exports.ɵhh = IgxTreeGridFilteringPipe;
86677
- exports.ɵhi = IgxTreeGridSummaryPipe;
86678
- exports.ɵhj = IgxHierarchicalRowComponent;
86679
- exports.ɵhk = IgxHierarchicalGridCellComponent;
86680
- exports.ɵhl = IgxSliderThumbComponent;
86681
- exports.ɵhm = IgxThumbLabelComponent;
86682
- exports.ɵhn = IgxTicksComponent;
86683
- exports.ɵho = IgxTickLabelsPipe;
86684
- exports.ɵhp = IgxTabsBase;
86685
- exports.ɵhq = IgxTabHeaderBase;
86686
- exports.ɵhr = IgxTabContentBase;
86687
- exports.ɵhs = IgxSplitBarComponent;
86688
- exports.ɵht = IgxTreeService;
86689
- exports.ɵhu = IgxTreeSelectionService;
86690
- exports.ɵhv = IgxTreeNavigationService;
86581
+ exports.ɵha = IgxTreeGridSortingPipe;
86582
+ exports.ɵhb = IgxTreeGridPagingPipe;
86583
+ exports.ɵhc = IgxTreeGridTransactionPipe;
86584
+ exports.ɵhd = IgxTreeGridNormalizeRecordsPipe;
86585
+ exports.ɵhe = IgxTreeGridAddRowPipe;
86586
+ exports.ɵhf = IgxTreeGridFilteringPipe;
86587
+ exports.ɵhg = IgxTreeGridSummaryPipe;
86588
+ exports.ɵhh = IgxHierarchicalRowComponent;
86589
+ exports.ɵhi = IgxHierarchicalGridCellComponent;
86590
+ exports.ɵhj = IgxSliderThumbComponent;
86591
+ exports.ɵhk = IgxThumbLabelComponent;
86592
+ exports.ɵhl = IgxTicksComponent;
86593
+ exports.ɵhm = IgxTickLabelsPipe;
86594
+ exports.ɵhn = IgxTabsBase;
86595
+ exports.ɵho = IgxTabHeaderBase;
86596
+ exports.ɵhp = IgxTabContentBase;
86597
+ exports.ɵhq = IgxSplitBarComponent;
86598
+ exports.ɵhr = IgxTreeService;
86599
+ exports.ɵhs = IgxTreeSelectionService;
86600
+ exports.ɵht = IgxTreeNavigationService;
86691
86601
  exports.ɵi = PlatformUtil;
86692
86602
  exports.ɵl = IgxInputGroupBase;
86693
86603
  exports.ɵm = IgxSelectionAPIService;
@@ -86700,10 +86610,10 @@
86700
86610
  exports.ɵt = VirtualHelperBaseDirective;
86701
86611
  exports.ɵu = HVirtualHelperComponent;
86702
86612
  exports.ɵv = MaskParsingService;
86703
- exports.ɵw = DeprecateMethod;
86704
- exports.ɵx = DeprecateProperty;
86705
- exports.ɵy = isHierarchyMatch;
86706
- exports.ɵz = getHierarchy;
86613
+ exports.ɵw = isHierarchyMatch;
86614
+ exports.ɵx = getHierarchy;
86615
+ exports.ɵy = IgxGridActionButtonComponent;
86616
+ exports.ɵz = ToggleAnimationPlayer;
86707
86617
 
86708
86618
  Object.defineProperty(exports, '__esModule', { value: true });
86709
86619