igniteui-angular 21.1.2 → 21.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/fesm2022/igniteui-angular-accordion.mjs +7 -7
  2. package/fesm2022/igniteui-angular-action-strip.mjs +10 -10
  3. package/fesm2022/igniteui-angular-avatar.mjs +7 -7
  4. package/fesm2022/igniteui-angular-badge.mjs +7 -7
  5. package/fesm2022/igniteui-angular-banner.mjs +10 -10
  6. package/fesm2022/igniteui-angular-bottom-nav.mjs +22 -22
  7. package/fesm2022/igniteui-angular-button-group.mjs +7 -7
  8. package/fesm2022/igniteui-angular-calendar.mjs +61 -61
  9. package/fesm2022/igniteui-angular-card.mjs +31 -31
  10. package/fesm2022/igniteui-angular-carousel.mjs +25 -25
  11. package/fesm2022/igniteui-angular-chat-extras.mjs +6 -6
  12. package/fesm2022/igniteui-angular-chat.mjs +18 -18
  13. package/fesm2022/igniteui-angular-chat.mjs.map +1 -1
  14. package/fesm2022/igniteui-angular-checkbox.mjs +7 -7
  15. package/fesm2022/igniteui-angular-chips.mjs +10 -10
  16. package/fesm2022/igniteui-angular-combo.mjs +52 -52
  17. package/fesm2022/igniteui-angular-core.mjs +60 -60
  18. package/fesm2022/igniteui-angular-date-picker.mjs +38 -38
  19. package/fesm2022/igniteui-angular-dialog.mjs +13 -13
  20. package/fesm2022/igniteui-angular-directives.mjs +191 -191
  21. package/fesm2022/igniteui-angular-drop-down.mjs +29 -29
  22. package/fesm2022/igniteui-angular-expansion-panel.mjs +28 -28
  23. package/fesm2022/igniteui-angular-grids-core.mjs +429 -428
  24. package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
  25. package/fesm2022/igniteui-angular-grids-grid.mjs +50 -50
  26. package/fesm2022/igniteui-angular-grids-grid.mjs.map +1 -1
  27. package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs +37 -37
  28. package/fesm2022/igniteui-angular-grids-lite.mjs +33 -33
  29. package/fesm2022/igniteui-angular-grids-lite.mjs.map +1 -1
  30. package/fesm2022/igniteui-angular-grids-pivot-grid.mjs +79 -79
  31. package/fesm2022/igniteui-angular-grids-tree-grid.mjs +55 -55
  32. package/fesm2022/igniteui-angular-icon.mjs +10 -10
  33. package/fesm2022/igniteui-angular-input-group.mjs +26 -26
  34. package/fesm2022/igniteui-angular-input-group.mjs.map +1 -1
  35. package/fesm2022/igniteui-angular-list.mjs +40 -40
  36. package/fesm2022/igniteui-angular-navbar.mjs +13 -13
  37. package/fesm2022/igniteui-angular-navigation-drawer.mjs +21 -21
  38. package/fesm2022/igniteui-angular-navigation-drawer.mjs.map +1 -1
  39. package/fesm2022/igniteui-angular-paginator.mjs +20 -20
  40. package/fesm2022/igniteui-angular-paginator.mjs.map +1 -1
  41. package/fesm2022/igniteui-angular-progressbar.mjs +19 -19
  42. package/fesm2022/igniteui-angular-query-builder.mjs +22 -22
  43. package/fesm2022/igniteui-angular-radio.mjs +12 -12
  44. package/fesm2022/igniteui-angular-radio.mjs.map +1 -1
  45. package/fesm2022/igniteui-angular-select.mjs +25 -25
  46. package/fesm2022/igniteui-angular-simple-combo.mjs +7 -7
  47. package/fesm2022/igniteui-angular-slider.mjs +28 -28
  48. package/fesm2022/igniteui-angular-snackbar.mjs +7 -7
  49. package/fesm2022/igniteui-angular-splitter.mjs +14 -14
  50. package/fesm2022/igniteui-angular-splitter.mjs.map +1 -1
  51. package/fesm2022/igniteui-angular-stepper.mjs +34 -34
  52. package/fesm2022/igniteui-angular-switch.mjs +7 -7
  53. package/fesm2022/igniteui-angular-tabs.mjs +34 -34
  54. package/fesm2022/igniteui-angular-time-picker.mjs +19 -19
  55. package/fesm2022/igniteui-angular-toast.mjs +7 -7
  56. package/fesm2022/igniteui-angular-tree.mjs +28 -28
  57. package/package.json +2 -2
  58. package/schematics/tsconfig.tsbuildinfo +1 -1
  59. package/skills/igniteui-angular-components/SKILL.md +2 -2
  60. package/skills/igniteui-angular-components/references/directives.md +5 -5
  61. package/skills/igniteui-angular-components/references/feedback.md +2 -2
  62. package/skills/igniteui-angular-components/references/layout-manager.md +129 -1
  63. package/styles/igniteui-angular-dark.css +1 -1
  64. package/styles/igniteui-angular.css +1 -1
  65. package/styles/igniteui-bootstrap-dark.css +1 -1
  66. package/styles/igniteui-bootstrap-light.css +1 -1
  67. package/styles/igniteui-dark-green.css +1 -1
  68. package/styles/igniteui-fluent-dark-excel.css +1 -1
  69. package/styles/igniteui-fluent-dark-word.css +1 -1
  70. package/styles/igniteui-fluent-dark.css +1 -1
  71. package/styles/igniteui-fluent-light-excel.css +1 -1
  72. package/styles/igniteui-fluent-light-word.css +1 -1
  73. package/styles/igniteui-fluent-light.css +1 -1
  74. package/styles/igniteui-indigo-dark.css +1 -1
  75. package/styles/igniteui-indigo-light.css +1 -1
  76. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  77. package/styles/maps/igniteui-angular.css.map +1 -1
  78. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  79. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  80. package/styles/maps/igniteui-dark-green.css.map +1 -1
  81. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  82. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  83. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  84. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  85. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  86. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  87. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  88. package/styles/maps/igniteui-indigo-light.css.map +1 -1
@@ -61,7 +61,7 @@ class IgxGridLiteComponent {
61
61
  //#endregion
62
62
  //#region Inputs
63
63
  /** The data source for the grid. */
64
- this.data = input([], ...(ngDevMode ? [{ debugName: "data" }] : []));
64
+ this.data = input([], ...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
65
65
  /**
66
66
  * Whether the grid will try to "resolve" its column configuration based on the passed
67
67
  * data source.
@@ -69,15 +69,15 @@ class IgxGridLiteComponent {
69
69
  * @remarks
70
70
  * This property is ignored if any existing column configuration already exists in the grid.
71
71
  */
72
- this.autoGenerate = input(false, { ...(ngDevMode ? { debugName: "autoGenerate" } : {}), transform: booleanAttribute });
72
+ this.autoGenerate = input(false, { ...(ngDevMode ? { debugName: "autoGenerate" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
73
73
  /** Sort configuration property for the grid. */
74
74
  this.sortingOptions = input({
75
75
  mode: 'multiple'
76
- }, ...(ngDevMode ? [{ debugName: "sortingOptions" }] : []));
76
+ }, ...(ngDevMode ? [{ debugName: "sortingOptions" }] : /* istanbul ignore next */ []));
77
77
  /**
78
78
  * Configuration object which controls remote data operations for the grid.
79
79
  */
80
- this.dataPipelineConfiguration = input(...(ngDevMode ? [undefined, { debugName: "dataPipelineConfiguration" }] : []));
80
+ this.dataPipelineConfiguration = input(...(ngDevMode ? [undefined, { debugName: "dataPipelineConfiguration" }] : /* istanbul ignore next */ []));
81
81
  /**
82
82
  * The sort state for the grid.
83
83
  *
@@ -85,7 +85,7 @@ class IgxGridLiteComponent {
85
85
  * This is a two-way bindable property. It will be updated when sort operations
86
86
  * complete through the UI.
87
87
  */
88
- this.sortingExpressions = model([], ...(ngDevMode ? [{ debugName: "sortingExpressions" }] : []));
88
+ this.sortingExpressions = model([], ...(ngDevMode ? [{ debugName: "sortingExpressions" }] : /* istanbul ignore next */ []));
89
89
  /**
90
90
  * The filter state for the grid.
91
91
  *
@@ -93,7 +93,7 @@ class IgxGridLiteComponent {
93
93
  * This is a two-way bindable property. It will be updated when filter operations
94
94
  * complete through the UI.
95
95
  */
96
- this.filteringExpressions = model([], ...(ngDevMode ? [{ debugName: "filteringExpressions" }] : []));
96
+ this.filteringExpressions = model([], ...(ngDevMode ? [{ debugName: "filteringExpressions" }] : /* istanbul ignore next */ []));
97
97
  // D.P. Temporary guarded assign instead of binding to prevent WC issue with setter logic re-doing sort/filter
98
98
  effect(() => {
99
99
  const grid = this.gridRef.nativeElement;
@@ -170,10 +170,10 @@ class IgxGridLiteComponent {
170
170
  onFiltered(_event) {
171
171
  this.filteringExpressions.set(this.gridRef.nativeElement.filterExpressions ?? []);
172
172
  }
173
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: IgxGridLiteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
174
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.3", type: IgxGridLiteComponent, isStandalone: true, selector: "igx-grid-lite", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, autoGenerate: { classPropertyName: "autoGenerate", publicName: "autoGenerate", isSignal: true, isRequired: false, transformFunction: null }, sortingOptions: { classPropertyName: "sortingOptions", publicName: "sortingOptions", isSignal: true, isRequired: false, transformFunction: null }, dataPipelineConfiguration: { classPropertyName: "dataPipelineConfiguration", publicName: "dataPipelineConfiguration", isSignal: true, isRequired: false, transformFunction: null }, sortingExpressions: { classPropertyName: "sortingExpressions", publicName: "sortingExpressions", isSignal: true, isRequired: false, transformFunction: null }, filteringExpressions: { classPropertyName: "filteringExpressions", publicName: "filteringExpressions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { sortingExpressions: "sortingExpressionsChange", filteringExpressions: "filteringExpressionsChange" }, host: { attributes: { "adopt-root-styles": "" }, listeners: { "sorted": "onSorted($any($event))", "filtered": "onFiltered($any($event))" }, properties: { "data": "data()", "autoGenerate": "autoGenerate()", "sortingOptions": "sortingOptions()", "dataPipelineConfiguration": "dataPipelineConfiguration()" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
173
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxGridLiteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
174
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: IgxGridLiteComponent, isStandalone: true, selector: "igx-grid-lite", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, autoGenerate: { classPropertyName: "autoGenerate", publicName: "autoGenerate", isSignal: true, isRequired: false, transformFunction: null }, sortingOptions: { classPropertyName: "sortingOptions", publicName: "sortingOptions", isSignal: true, isRequired: false, transformFunction: null }, dataPipelineConfiguration: { classPropertyName: "dataPipelineConfiguration", publicName: "dataPipelineConfiguration", isSignal: true, isRequired: false, transformFunction: null }, sortingExpressions: { classPropertyName: "sortingExpressions", publicName: "sortingExpressions", isSignal: true, isRequired: false, transformFunction: null }, filteringExpressions: { classPropertyName: "filteringExpressions", publicName: "filteringExpressions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { sortingExpressions: "sortingExpressionsChange", filteringExpressions: "filteringExpressionsChange" }, host: { attributes: { "adopt-root-styles": "" }, listeners: { "sorted": "onSorted($any($event))", "filtered": "onFiltered($any($event))" }, properties: { "data": "data()", "autoGenerate": "autoGenerate()", "sortingOptions": "sortingOptions()", "dataPipelineConfiguration": "dataPipelineConfiguration()" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
175
175
  }
176
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: IgxGridLiteComponent, decorators: [{
176
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxGridLiteComponent, decorators: [{
177
177
  type: Component,
178
178
  args: [{
179
179
  selector: 'igx-grid-lite',
@@ -211,10 +211,10 @@ class IgxGridLiteHeaderTemplateDirective {
211
211
  static ngTemplateContextGuard(_, ctx) {
212
212
  return true;
213
213
  }
214
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: IgxGridLiteHeaderTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
215
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.3", type: IgxGridLiteHeaderTemplateDirective, isStandalone: true, selector: "[igxGridLiteHeader]", ngImport: i0 }); }
214
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxGridLiteHeaderTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
215
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: IgxGridLiteHeaderTemplateDirective, isStandalone: true, selector: "[igxGridLiteHeader]", ngImport: i0 }); }
216
216
  }
217
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: IgxGridLiteHeaderTemplateDirective, decorators: [{
217
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxGridLiteHeaderTemplateDirective, decorators: [{
218
218
  type: Directive,
219
219
  args: [{ selector: '[igxGridLiteHeader]' }]
220
220
  }] });
@@ -236,10 +236,10 @@ class IgxGridLiteCellTemplateDirective {
236
236
  static ngTemplateContextGuard(_, ctx) {
237
237
  return true;
238
238
  }
239
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: IgxGridLiteCellTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
240
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.3", type: IgxGridLiteCellTemplateDirective, isStandalone: true, selector: "[igxGridLiteCell]", ngImport: i0 }); }
239
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxGridLiteCellTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
240
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: IgxGridLiteCellTemplateDirective, isStandalone: true, selector: "[igxGridLiteCell]", ngImport: i0 }); }
241
241
  }
242
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: IgxGridLiteCellTemplateDirective, decorators: [{
242
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxGridLiteCellTemplateDirective, decorators: [{
243
243
  type: Directive,
244
244
  args: [{ selector: '[igxGridLiteCell]' }]
245
245
  }] });
@@ -251,36 +251,36 @@ class IgxGridLiteColumnComponent {
251
251
  /** Reference to the embedded view for the cell template and its template function. */
252
252
  this.cellViewRefs = new Map();
253
253
  /** Template directives used for inline templating */
254
- this.headerTemplateDirective = contentChild((IgxGridLiteHeaderTemplateDirective), ...(ngDevMode ? [{ debugName: "headerTemplateDirective" }] : []));
255
- this.cellTemplateDirective = contentChild((IgxGridLiteCellTemplateDirective), ...(ngDevMode ? [{ debugName: "cellTemplateDirective" }] : []));
254
+ this.headerTemplateDirective = contentChild((IgxGridLiteHeaderTemplateDirective), ...(ngDevMode ? [{ debugName: "headerTemplateDirective" }] : /* istanbul ignore next */ []));
255
+ this.cellTemplateDirective = contentChild((IgxGridLiteCellTemplateDirective), ...(ngDevMode ? [{ debugName: "cellTemplateDirective" }] : /* istanbul ignore next */ []));
256
256
  //#endregion
257
257
  //#region Inputs
258
258
  /** The field from the data for this column. */
259
- this.field = input(...(ngDevMode ? [undefined, { debugName: "field" }] : []));
259
+ this.field = input(...(ngDevMode ? [undefined, { debugName: "field" }] : /* istanbul ignore next */ []));
260
260
  /** The data type of the column's values. */
261
- this.dataType = input('string', ...(ngDevMode ? [{ debugName: "dataType" }] : []));
261
+ this.dataType = input('string', ...(ngDevMode ? [{ debugName: "dataType" }] : /* istanbul ignore next */ []));
262
262
  /** The header text of the column. */
263
- this.header = input(...(ngDevMode ? [undefined, { debugName: "header" }] : []));
263
+ this.header = input(...(ngDevMode ? [undefined, { debugName: "header" }] : /* istanbul ignore next */ []));
264
264
  /** The width of the column. */
265
- this.width = input(...(ngDevMode ? [undefined, { debugName: "width" }] : []));
265
+ this.width = input(...(ngDevMode ? [undefined, { debugName: "width" }] : /* istanbul ignore next */ []));
266
266
  /** Indicates whether the column is hidden. */
267
- this.hidden = input(false, { ...(ngDevMode ? { debugName: "hidden" } : {}), transform: booleanAttribute });
267
+ this.hidden = input(false, { ...(ngDevMode ? { debugName: "hidden" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
268
268
  /** Indicates whether the column is resizable. */
269
- this.resizable = input(false, { ...(ngDevMode ? { debugName: "resizable" } : {}), transform: booleanAttribute });
269
+ this.resizable = input(false, { ...(ngDevMode ? { debugName: "resizable" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
270
270
  /** Indicates whether the column is sortable. */
271
- this.sortable = input(false, { ...(ngDevMode ? { debugName: "sortable" } : {}), transform: booleanAttribute });
271
+ this.sortable = input(false, { ...(ngDevMode ? { debugName: "sortable" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
272
272
  /** Whether sort operations will be case sensitive. */
273
- this.sortingCaseSensitive = input(false, { ...(ngDevMode ? { debugName: "sortingCaseSensitive" } : {}), transform: booleanAttribute });
273
+ this.sortingCaseSensitive = input(false, { ...(ngDevMode ? { debugName: "sortingCaseSensitive" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
274
274
  /** Sort configuration for the column (e.g., custom comparer). */
275
- this.sortConfiguration = input(...(ngDevMode ? [undefined, { debugName: "sortConfiguration" }] : []));
275
+ this.sortConfiguration = input(...(ngDevMode ? [undefined, { debugName: "sortConfiguration" }] : /* istanbul ignore next */ []));
276
276
  /** Indicates whether the column is filterable. */
277
- this.filterable = input(false, { ...(ngDevMode ? { debugName: "filterable" } : {}), transform: booleanAttribute });
277
+ this.filterable = input(false, { ...(ngDevMode ? { debugName: "filterable" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
278
278
  /** Whether filter operations will be case sensitive. */
279
- this.filteringCaseSensitive = input(false, { ...(ngDevMode ? { debugName: "filteringCaseSensitive" } : {}), transform: booleanAttribute });
279
+ this.filteringCaseSensitive = input(false, { ...(ngDevMode ? { debugName: "filteringCaseSensitive" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
280
280
  /** Custom header template for the column. */
281
- this.headerTemplate = input(...(ngDevMode ? [undefined, { debugName: "headerTemplate" }] : []));
281
+ this.headerTemplate = input(...(ngDevMode ? [undefined, { debugName: "headerTemplate" }] : /* istanbul ignore next */ []));
282
282
  /** Custom cell template for the column. */
283
- this.cellTemplate = input(...(ngDevMode ? [undefined, { debugName: "cellTemplate" }] : []));
283
+ this.cellTemplate = input(...(ngDevMode ? [undefined, { debugName: "cellTemplate" }] : /* istanbul ignore next */ []));
284
284
  effect((onCleanup) => {
285
285
  const directive = this.headerTemplateDirective();
286
286
  const template = this.headerTemplate() ?? directive?.template;
@@ -330,10 +330,10 @@ class IgxGridLiteColumnComponent {
330
330
  });
331
331
  });
332
332
  }
333
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: IgxGridLiteColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
334
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.3", type: IgxGridLiteColumnComponent, isStandalone: true, selector: "igx-grid-lite-column", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: false, transformFunction: null }, dataType: { classPropertyName: "dataType", publicName: "dataType", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, hidden: { classPropertyName: "hidden", publicName: "hidden", isSignal: true, isRequired: false, transformFunction: null }, resizable: { classPropertyName: "resizable", publicName: "resizable", isSignal: true, isRequired: false, transformFunction: null }, sortable: { classPropertyName: "sortable", publicName: "sortable", isSignal: true, isRequired: false, transformFunction: null }, sortingCaseSensitive: { classPropertyName: "sortingCaseSensitive", publicName: "sortingCaseSensitive", isSignal: true, isRequired: false, transformFunction: null }, sortConfiguration: { classPropertyName: "sortConfiguration", publicName: "sortConfiguration", isSignal: true, isRequired: false, transformFunction: null }, filterable: { classPropertyName: "filterable", publicName: "filterable", isSignal: true, isRequired: false, transformFunction: null }, filteringCaseSensitive: { classPropertyName: "filteringCaseSensitive", publicName: "filteringCaseSensitive", isSignal: true, isRequired: false, transformFunction: null }, headerTemplate: { classPropertyName: "headerTemplate", publicName: "headerTemplate", isSignal: true, isRequired: false, transformFunction: null }, cellTemplate: { classPropertyName: "cellTemplate", publicName: "cellTemplate", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "headerTemplateDirective", first: true, predicate: (IgxGridLiteHeaderTemplateDirective), descendants: true, isSignal: true }, { propertyName: "cellTemplateDirective", first: true, predicate: (IgxGridLiteCellTemplateDirective), descendants: true, isSignal: true }], ngImport: i0, template: "<igc-grid-lite-column\n [field]=\"field()\"\n [dataType]=\"dataType()\"\n [header]=\"header()\"\n [width]=\"width()\"\n [hidden]=\"hidden()\"\n [resizable]=\"resizable()\"\n [sortable]=\"sortable()\"\n [sortingCaseSensitive]=\"sortingCaseSensitive()\"\n [sortConfiguration]=\"sortConfiguration()\"\n [filterable]=\"filterable()\"\n [filteringCaseSensitive]=\"filteringCaseSensitive()\"\n [headerTemplate]=\"headerTemplateFunc\"\n [cellTemplate]=\"cellTemplateFunc\"\n></igc-grid-lite-column>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
333
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxGridLiteColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
334
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.5", type: IgxGridLiteColumnComponent, isStandalone: true, selector: "igx-grid-lite-column", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: false, transformFunction: null }, dataType: { classPropertyName: "dataType", publicName: "dataType", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, hidden: { classPropertyName: "hidden", publicName: "hidden", isSignal: true, isRequired: false, transformFunction: null }, resizable: { classPropertyName: "resizable", publicName: "resizable", isSignal: true, isRequired: false, transformFunction: null }, sortable: { classPropertyName: "sortable", publicName: "sortable", isSignal: true, isRequired: false, transformFunction: null }, sortingCaseSensitive: { classPropertyName: "sortingCaseSensitive", publicName: "sortingCaseSensitive", isSignal: true, isRequired: false, transformFunction: null }, sortConfiguration: { classPropertyName: "sortConfiguration", publicName: "sortConfiguration", isSignal: true, isRequired: false, transformFunction: null }, filterable: { classPropertyName: "filterable", publicName: "filterable", isSignal: true, isRequired: false, transformFunction: null }, filteringCaseSensitive: { classPropertyName: "filteringCaseSensitive", publicName: "filteringCaseSensitive", isSignal: true, isRequired: false, transformFunction: null }, headerTemplate: { classPropertyName: "headerTemplate", publicName: "headerTemplate", isSignal: true, isRequired: false, transformFunction: null }, cellTemplate: { classPropertyName: "cellTemplate", publicName: "cellTemplate", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "headerTemplateDirective", first: true, predicate: (IgxGridLiteHeaderTemplateDirective), descendants: true, isSignal: true }, { propertyName: "cellTemplateDirective", first: true, predicate: (IgxGridLiteCellTemplateDirective), descendants: true, isSignal: true }], ngImport: i0, template: "<igc-grid-lite-column\n [field]=\"field()\"\n [dataType]=\"dataType()\"\n [header]=\"header()\"\n [width]=\"width()\"\n [hidden]=\"hidden()\"\n [resizable]=\"resizable()\"\n [sortable]=\"sortable()\"\n [sortingCaseSensitive]=\"sortingCaseSensitive()\"\n [sortConfiguration]=\"sortConfiguration()\"\n [filterable]=\"filterable()\"\n [filteringCaseSensitive]=\"filteringCaseSensitive()\"\n [headerTemplate]=\"headerTemplateFunc\"\n [cellTemplate]=\"cellTemplateFunc\"\n></igc-grid-lite-column>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
335
335
  }
336
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: IgxGridLiteColumnComponent, decorators: [{
336
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxGridLiteColumnComponent, decorators: [{
337
337
  type: Component,
338
338
  args: [{ selector: 'igx-grid-lite-column', changeDetection: ChangeDetectionStrategy.OnPush, schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<igc-grid-lite-column\n [field]=\"field()\"\n [dataType]=\"dataType()\"\n [header]=\"header()\"\n [width]=\"width()\"\n [hidden]=\"hidden()\"\n [resizable]=\"resizable()\"\n [sortable]=\"sortable()\"\n [sortingCaseSensitive]=\"sortingCaseSensitive()\"\n [sortConfiguration]=\"sortConfiguration()\"\n [filterable]=\"filterable()\"\n [filteringCaseSensitive]=\"filteringCaseSensitive()\"\n [headerTemplate]=\"headerTemplateFunc\"\n [cellTemplate]=\"cellTemplateFunc\"\n></igc-grid-lite-column>\n" }]
339
339
  }], ctorParameters: () => [], propDecorators: { headerTemplateDirective: [{ type: i0.ContentChild, args: [i0.forwardRef(() => IgxGridLiteHeaderTemplateDirective), { isSignal: true }] }], cellTemplateDirective: [{ type: i0.ContentChild, args: [i0.forwardRef(() => IgxGridLiteCellTemplateDirective), { isSignal: true }] }], field: [{ type: i0.Input, args: [{ isSignal: true, alias: "field", required: false }] }], dataType: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataType", required: false }] }], header: [{ type: i0.Input, args: [{ isSignal: true, alias: "header", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], hidden: [{ type: i0.Input, args: [{ isSignal: true, alias: "hidden", required: false }] }], resizable: [{ type: i0.Input, args: [{ isSignal: true, alias: "resizable", required: false }] }], sortable: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortable", required: false }] }], sortingCaseSensitive: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortingCaseSensitive", required: false }] }], sortConfiguration: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortConfiguration", required: false }] }], filterable: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterable", required: false }] }], filteringCaseSensitive: [{ type: i0.Input, args: [{ isSignal: true, alias: "filteringCaseSensitive", required: false }] }], headerTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerTemplate", required: false }] }], cellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "cellTemplate", required: false }] }] } });
@@ -1 +1 @@
1
- {"version":3,"file":"igniteui-angular-grids-lite.mjs","sources":["../../../projects/igniteui-angular/grids/lite/src/grid-lite.component.ts","../../../projects/igniteui-angular/grids/lite/src/grid-lite-column.component.ts","../../../projects/igniteui-angular/grids/lite/src/grid-lite-column.component.html","../../../projects/igniteui-angular/grids/lite/src/igniteui-angular-grids-lite.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, effect, ElementRef, inject, input, model, OnInit } from '@angular/core';\nimport { DataPipelineConfiguration, FilterExpression, GridLiteSortingOptions, IgcGridLite, Keys, SortingExpression } from 'igniteui-grid-lite';\nimport { IgxGridLiteColumnConfiguration } from './grid-lite-column.component';\n\nexport type IgxGridLiteSortingOptions = GridLiteSortingOptions;\nexport type IgxGridLiteDataPipelineConfiguration<T extends object = any> = DataPipelineConfiguration<T>;\nexport type IgxGridLiteSortingExpression<T extends object = any> = SortingExpression<T>;\nexport type IgxGridLiteFilteringExpression<T extends object = any> = FilterExpression<T>;\n\n\nclass IgxGridLite<T extends object = any> extends IgcGridLite<T> {\n public static override get tagName() {\n return 'igx-grid-lite' as any;\n }\n public static override register(): void {\n // still call super for child components:\n super.register();\n\n if (!customElements.get(IgxGridLite.tagName)) {\n customElements.define(IgxGridLite.tagName, IgxGridLite);\n }\n }\n}\n\n/**\n * The Grid Lite is a web component for displaying data in a tabular format quick and easy.\n *\n * Out of the box it provides row virtualization, sort and filter operations (client and server side),\n * the ability to template cells and headers and column hiding.\n *\n * @fires sorting - Emitted when sorting is initiated through the UI.\n * @fires sorted - Emitted when a sort operation initiated through the UI has completed.\n * @fires filtering - Emitted when filtering is initiated through the UI.\n * @fires filtered - Emitted when a filter operation initiated through the UI has completed.\n *\n * @developerPreview 21.1.0\n */\n@Component({\n selector: 'igx-grid-lite',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n host: {\n '[data]': \"data()\",\n '[autoGenerate]': \"autoGenerate()\",\n '[sortingOptions]': \"sortingOptions()\",\n '[dataPipelineConfiguration]': \"dataPipelineConfiguration()\",\n '(sorted)': \"onSorted($any($event))\",\n '(filtered)': \"onFiltered($any($event))\",\n 'adopt-root-styles': '',\n },\n template: `<ng-content></ng-content>`\n})\n\nexport class IgxGridLiteComponent<T extends object = any> implements OnInit {\n\n //#region Internal state\n\n private readonly gridRef = inject(ElementRef) as ElementRef<IgxGridLite<T>>;\n\n //#endregion\n\n //#region Inputs\n\n /** The data source for the grid. */\n public readonly data = input<T[]>([]);\n\n /**\n * Whether the grid will try to \"resolve\" its column configuration based on the passed\n * data source.\n *\n * @remarks\n * This property is ignored if any existing column configuration already exists in the grid.\n */\n public readonly autoGenerate = input(false, { transform: booleanAttribute });;\n\n /** Sort configuration property for the grid. */\n public readonly sortingOptions = input<IgxGridLiteSortingOptions>({\n mode: 'multiple'\n });\n\n /**\n * Configuration object which controls remote data operations for the grid.\n */\n public readonly dataPipelineConfiguration = input<IgxGridLiteDataPipelineConfiguration>();\n\n /**\n * The sort state for the grid.\n *\n * @remarks\n * This is a two-way bindable property. It will be updated when sort operations\n * complete through the UI.\n */\n public readonly sortingExpressions = model<IgxGridLiteSortingExpression<T>[]>([]);\n\n /**\n * The filter state for the grid.\n *\n * @remarks\n * This is a two-way bindable property. It will be updated when filter operations\n * complete through the UI.\n */\n public readonly filteringExpressions = model<IgxGridLiteFilteringExpression<T>[]>([]);\n\n //#endregion\n\n //#region Getters / Setters\n\n /**\n * Get the column configuration of the grid.\n */\n public get columns(): IgxGridLiteColumnConfiguration<T>[] {\n return this.gridRef.nativeElement.columns ?? [];\n }\n\n /**\n * Returns the collection of rendered row elements in the grid.\n *\n * @remarks\n * Since the grid has virtualization, this property returns only the currently rendered\n * chunk of elements in the DOM.\n */\n public get rows() {\n return this.gridRef.nativeElement.rows ?? [];\n }\n\n /**\n * Returns the state of the data source after sort/filter operations\n * have been applied.\n */\n public get dataView(): ReadonlyArray<T> {\n return this.gridRef.nativeElement.dataView ?? [];\n }\n\n //#endregion\n\n constructor() {\n // D.P. Temporary guarded assign instead of binding to prevent WC issue with setter logic re-doing sort/filter\n effect(() => {\n const grid = this.gridRef.nativeElement\n if (!grid) return;\n const newValue = this.filteringExpressions();\n if (new Set(newValue).symmetricDifference(new Set(grid.filterExpressions)).size !== 0) {\n grid.clearFilter();\n grid.filterExpressions = newValue;\n }\n });\n effect(() => {\n const grid = this.gridRef.nativeElement\n if (!grid) return;\n const newValue = this.sortingExpressions();\n if (new Set(newValue).symmetricDifference(new Set(grid.sortingExpressions)).size !== 0) {\n grid.clearSort();\n grid.sortingExpressions = newValue;\n }\n });\n }\n\n /**\n * @hidden @internal\n */\n public ngOnInit(): void {\n IgxGridLite.register();\n }\n\n //#region Public API\n\n /**\n * Performs a filter operation in the grid based on the passed expression(s).\n */\n public filter(config: IgxGridLiteFilteringExpression | IgxGridLiteFilteringExpression[]): void {\n this.gridRef.nativeElement.filter(config as FilterExpression<T> | FilterExpression<T>[]);\n }\n\n /**\n * Performs a sort operation in the grid based on the passed expression(s).\n */\n public sort(expressions: IgxGridLiteSortingExpression<T> | IgxGridLiteSortingExpression<T>[]) {\n this.gridRef.nativeElement.sort(expressions);\n }\n\n /**\n * Resets the current sort state of the control.\n */\n public clearSort(key?: Keys<T>): void {\n this.gridRef.nativeElement.clearSort(key);\n }\n\n /**\n * Resets the current filter state of the control.\n */\n public clearFilter(key?: Keys<T>): void {\n this.gridRef.nativeElement.clearFilter(key);\n }\n\n /**\n * Navigates to a position in the grid based on provided row index and column field.\n * @param row The row index to navigate to\n * @param column The column field to navigate to, if any\n * @param activate Optionally also activate the navigated cell\n */\n public async navigateTo(row: number, column?: Keys<T>, activate = false) {\n await this.gridRef.nativeElement.navigateTo(row, column, activate);\n }\n\n /**\n * Returns a {@link IgxGridLiteColumnConfiguration} for a given column.\n */\n public getColumn(id: Keys<T> | number): IgxGridLiteColumnConfiguration<T> | undefined {\n return this.gridRef.nativeElement.getColumn(id);\n }\n\n //#endregion\n\n //#region Event handlers\n\n protected onSorted(_event: CustomEvent<SortingExpression<T>>): void {\n this.sortingExpressions.set(this.gridRef.nativeElement.sortingExpressions ?? []);\n }\n\n protected onFiltered(_event: CustomEvent<FilterExpression<T>>): void {\n this.filteringExpressions.set(this.gridRef.nativeElement.filterExpressions ?? []);\n }\n\n //#endregion\n\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [IgxGridLite.tagName]: IgxGridLite;\n }\n\n interface HTMLElementEventMap {\n 'sorting': CustomEvent<IgxGridLiteSortingExpression<any>>;\n 'sorted': CustomEvent<IgxGridLiteSortingExpression<any>>;\n 'filtering': CustomEvent<IgxGridLiteFilteringExpression<any>>;\n 'filtered': CustomEvent<IgxGridLiteFilteringExpression<any>>;\n }\n}\n\n// see https://github.com/ng-packagr/ng-packagr/issues/3233\nexport {};\n","import { booleanAttribute, ChangeDetectionStrategy, Component, contentChild, CUSTOM_ELEMENTS_SCHEMA, Directive, effect, EmbeddedViewRef, inject, input, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { ColumnConfiguration, ColumnSortConfiguration, IgcCellContext, IgcHeaderContext, Keys, DataType } from 'igniteui-grid-lite';\n\n/** Configuration object for grid columns. */\nexport type IgxGridLiteColumnConfiguration<T extends object = any> = ColumnConfiguration<T>;\n\nexport type IgxGridLiteColumnSortConfiguration<T extends object = any> = ColumnSortConfiguration<T>;\n\n\n/**\n * Directive providing type information for header template contexts.\n * Use this directive on ng-template elements that render header templates.\n *\n * @example\n * ```html\n * <ng-template igxGridLiteHeader let-column>\n * <div>{{column.header}}</div>\n * </ng-template>\n * ```\n */\n@Directive({ selector: '[igxGridLiteHeader]' })\nexport class IgxGridLiteHeaderTemplateDirective<T extends object = any> {\n public template = inject<TemplateRef<IgxGridLiteHeaderTemplateContext<T>>>(TemplateRef);\n\n public static ngTemplateContextGuard<T extends object = any>(_: IgxGridLiteHeaderTemplateDirective<T>, ctx: any): ctx is IgxGridLiteHeaderTemplateContext<T> {\n return true;\n }\n}\n\n/**\n * Directive providing type information for cell template contexts.\n * Use this directive on ng-template elements that render cell templates.\n *\n * @example\n * ```html\n * <ng-template igxGridLiteCell let-value let-column=\"column\" let-rowIndex=\"rowIndex\" let-data=\"data\">\n * <div>{{value}}</div>\n * </ng-template>\n * ```\n */\n@Directive({ selector: '[igxGridLiteCell]' })\nexport class IgxGridLiteCellTemplateDirective<T extends object = any> {\n public template = inject<TemplateRef<IgxGridLiteCellTemplateContext<T>>>(TemplateRef);\n\n public static ngTemplateContextGuard<T extends object = any>(_: IgxGridLiteCellTemplateDirective<T>, ctx: unknown): ctx is IgxGridLiteCellTemplateContext<T> {\n return true;\n }\n}\n\n@Component({\n selector: 'igx-grid-lite-column',\n changeDetection: ChangeDetectionStrategy.OnPush,\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n templateUrl: './grid-lite-column.component.html'\n})\nexport class IgxGridLiteColumnComponent<T extends object = any> {\n\n //#region Internal state\n\n private readonly _view = inject(ViewContainerRef);\n\n /** Reference to the embedded view for the header template and its template function. */\n private headerViewRef?: EmbeddedViewRef<IgxGridLiteHeaderTemplateContext<T>>;\n protected headerTemplateFunc?: (ctx: IgcHeaderContext<T>) => Node[];\n\n /** Reference to the embedded view for the cell template and its template function. */\n private cellViewRefs? = new Map<T, EmbeddedViewRef<IgxGridLiteCellTemplateContext<T>>>();\n protected cellTemplateFunc?: (ctx: IgcCellContext<T>) => Node[];\n\n /** Template directives used for inline templating */\n private readonly headerTemplateDirective = contentChild(IgxGridLiteHeaderTemplateDirective<T>);\n private readonly cellTemplateDirective = contentChild(IgxGridLiteCellTemplateDirective<T>);\n\n //#endregion\n\n //#region Inputs\n\n /** The field from the data for this column. */\n public readonly field = input<Keys<T>>();\n\n /** The data type of the column's values. */\n public readonly dataType = input<DataType>('string');\n\n /** The header text of the column. */\n public readonly header = input<string>();\n\n /** The width of the column. */\n public readonly width = input<string>();\n\n /** Indicates whether the column is hidden. */\n public readonly hidden = input(false, { transform: booleanAttribute });\n\n /** Indicates whether the column is resizable. */\n public readonly resizable = input(false, { transform: booleanAttribute });\n\n /** Indicates whether the column is sortable. */\n public readonly sortable = input(false, { transform: booleanAttribute });\n\n /** Whether sort operations will be case sensitive. */\n public readonly sortingCaseSensitive = input(false, { transform: booleanAttribute });\n\n /** Sort configuration for the column (e.g., custom comparer). */\n public readonly sortConfiguration = input<IgxGridLiteColumnSortConfiguration<T>>();\n\n /** Indicates whether the column is filterable. */\n public readonly filterable = input(false, { transform: booleanAttribute });\n\n /** Whether filter operations will be case sensitive. */\n public readonly filteringCaseSensitive = input(false, { transform: booleanAttribute });\n\n /** Custom header template for the column. */\n public readonly headerTemplate = input<TemplateRef<IgxGridLiteHeaderTemplateContext<T>>>();\n\n /** Custom cell template for the column. */\n public readonly cellTemplate = input<TemplateRef<IgxGridLiteCellTemplateContext<T>>>();\n\n //#endregion\n\n constructor() {\n effect((onCleanup) => {\n const directive = this.headerTemplateDirective();\n const template = this.headerTemplate() ?? directive?.template;\n if (template) {\n this.headerTemplateFunc = (ctx: IgcHeaderContext<T>) => {\n if (!this.headerViewRef) {\n const angularContext = {\n ...ctx,\n $implicit: ctx.column\n }\n this.headerViewRef = this._view.createEmbeddedView(template, angularContext);\n }\n return this.headerViewRef.rootNodes;\n };\n }\n onCleanup(() => {\n if (this.headerViewRef) {\n this.headerViewRef.destroy();\n this.headerViewRef = undefined;\n }\n })\n });\n\n effect((onCleanup) => {\n const directive = this.cellTemplateDirective();\n const template = this.cellTemplate() ?? directive?.template;\n if (template) {\n this.cellTemplateFunc = (ctx: IgcCellContext<T>) => {\n const oldViewRef = this.cellViewRefs.get(ctx.row.data);\n const angularContext = {\n ...ctx,\n $implicit: ctx.value,\n } as IgxGridLiteCellTemplateContext<T>;\n if (!oldViewRef) {\n const newViewRef = this._view.createEmbeddedView(template, angularContext);\n this.cellViewRefs.set(ctx.row.data, newViewRef);\n return newViewRef.rootNodes;\n }\n Object.assign(oldViewRef.context, angularContext);\n return oldViewRef.rootNodes;\n };\n }\n onCleanup(() => {\n this.cellViewRefs.forEach((viewRef) => {\n viewRef.destroy();\n });\n this.cellViewRefs?.clear();\n });\n });\n }\n}\n\n/**\n * Context provided to the header template.\n */\nexport type IgxGridLiteHeaderTemplateContext<T extends object = any> = IgcHeaderContext<T> & {\n /**\n * The current configuration for the column.\n */\n $implicit: IgcHeaderContext<T>['column'];\n}\n\n/**\n * Context provided to the header template.\n */\nexport type IgxGridLiteCellTemplateContext<T extends object = any> = IgcCellContext<T> & {\n /**\n * The value from the data source for this cell.\n */\n $implicit: IgcCellContext<T>['value'];\n};\n","<igc-grid-lite-column\n [field]=\"field()\"\n [dataType]=\"dataType()\"\n [header]=\"header()\"\n [width]=\"width()\"\n [hidden]=\"hidden()\"\n [resizable]=\"resizable()\"\n [sortable]=\"sortable()\"\n [sortingCaseSensitive]=\"sortingCaseSensitive()\"\n [sortConfiguration]=\"sortConfiguration()\"\n [filterable]=\"filterable()\"\n [filteringCaseSensitive]=\"filteringCaseSensitive()\"\n [headerTemplate]=\"headerTemplateFunc\"\n [cellTemplate]=\"cellTemplateFunc\"\n></igc-grid-lite-column>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"igniteui-angular-grids-lite.mjs","sources":["../../../projects/igniteui-angular/grids/lite/src/grid-lite.component.ts","../../../projects/igniteui-angular/grids/lite/src/grid-lite-column.component.ts","../../../projects/igniteui-angular/grids/lite/src/grid-lite-column.component.html","../../../projects/igniteui-angular/grids/lite/src/igniteui-angular-grids-lite.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, effect, ElementRef, inject, input, model, OnInit } from '@angular/core';\nimport { DataPipelineConfiguration, FilterExpression, GridLiteSortingOptions, IgcGridLite, Keys, SortingExpression } from 'igniteui-grid-lite';\nimport { IgxGridLiteColumnConfiguration } from './grid-lite-column.component';\n\nexport type IgxGridLiteSortingOptions = GridLiteSortingOptions;\nexport type IgxGridLiteDataPipelineConfiguration<T extends object = any> = DataPipelineConfiguration<T>;\nexport type IgxGridLiteSortingExpression<T extends object = any> = SortingExpression<T>;\nexport type IgxGridLiteFilteringExpression<T extends object = any> = FilterExpression<T>;\n\n\nclass IgxGridLite<T extends object = any> extends IgcGridLite<T> {\n public static override get tagName() {\n return 'igx-grid-lite' as any;\n }\n public static override register(): void {\n // still call super for child components:\n super.register();\n\n if (!customElements.get(IgxGridLite.tagName)) {\n customElements.define(IgxGridLite.tagName, IgxGridLite);\n }\n }\n}\n\n/**\n * The Grid Lite is a web component for displaying data in a tabular format quick and easy.\n *\n * Out of the box it provides row virtualization, sort and filter operations (client and server side),\n * the ability to template cells and headers and column hiding.\n *\n * @fires sorting - Emitted when sorting is initiated through the UI.\n * @fires sorted - Emitted when a sort operation initiated through the UI has completed.\n * @fires filtering - Emitted when filtering is initiated through the UI.\n * @fires filtered - Emitted when a filter operation initiated through the UI has completed.\n *\n * @developerPreview 21.1.0\n */\n@Component({\n selector: 'igx-grid-lite',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n host: {\n '[data]': \"data()\",\n '[autoGenerate]': \"autoGenerate()\",\n '[sortingOptions]': \"sortingOptions()\",\n '[dataPipelineConfiguration]': \"dataPipelineConfiguration()\",\n '(sorted)': \"onSorted($any($event))\",\n '(filtered)': \"onFiltered($any($event))\",\n 'adopt-root-styles': '',\n },\n template: `<ng-content></ng-content>`\n})\n\nexport class IgxGridLiteComponent<T extends object = any> implements OnInit {\n\n //#region Internal state\n\n private readonly gridRef = inject(ElementRef) as ElementRef<IgxGridLite<T>>;\n\n //#endregion\n\n //#region Inputs\n\n /** The data source for the grid. */\n public readonly data = input<T[]>([]);\n\n /**\n * Whether the grid will try to \"resolve\" its column configuration based on the passed\n * data source.\n *\n * @remarks\n * This property is ignored if any existing column configuration already exists in the grid.\n */\n public readonly autoGenerate = input(false, { transform: booleanAttribute });;\n\n /** Sort configuration property for the grid. */\n public readonly sortingOptions = input<IgxGridLiteSortingOptions>({\n mode: 'multiple'\n });\n\n /**\n * Configuration object which controls remote data operations for the grid.\n */\n public readonly dataPipelineConfiguration = input<IgxGridLiteDataPipelineConfiguration>();\n\n /**\n * The sort state for the grid.\n *\n * @remarks\n * This is a two-way bindable property. It will be updated when sort operations\n * complete through the UI.\n */\n public readonly sortingExpressions = model<IgxGridLiteSortingExpression<T>[]>([]);\n\n /**\n * The filter state for the grid.\n *\n * @remarks\n * This is a two-way bindable property. It will be updated when filter operations\n * complete through the UI.\n */\n public readonly filteringExpressions = model<IgxGridLiteFilteringExpression<T>[]>([]);\n\n //#endregion\n\n //#region Getters / Setters\n\n /**\n * Get the column configuration of the grid.\n */\n public get columns(): IgxGridLiteColumnConfiguration<T>[] {\n return this.gridRef.nativeElement.columns ?? [];\n }\n\n /**\n * Returns the collection of rendered row elements in the grid.\n *\n * @remarks\n * Since the grid has virtualization, this property returns only the currently rendered\n * chunk of elements in the DOM.\n */\n public get rows() {\n return this.gridRef.nativeElement.rows ?? [];\n }\n\n /**\n * Returns the state of the data source after sort/filter operations\n * have been applied.\n */\n public get dataView(): ReadonlyArray<T> {\n return this.gridRef.nativeElement.dataView ?? [];\n }\n\n //#endregion\n\n constructor() {\n // D.P. Temporary guarded assign instead of binding to prevent WC issue with setter logic re-doing sort/filter\n effect(() => {\n const grid = this.gridRef.nativeElement\n if (!grid) return;\n const newValue = this.filteringExpressions();\n if (new Set(newValue).symmetricDifference(new Set(grid.filterExpressions)).size !== 0) {\n grid.clearFilter();\n grid.filterExpressions = newValue;\n }\n });\n effect(() => {\n const grid = this.gridRef.nativeElement\n if (!grid) return;\n const newValue = this.sortingExpressions();\n if (new Set(newValue).symmetricDifference(new Set(grid.sortingExpressions)).size !== 0) {\n grid.clearSort();\n grid.sortingExpressions = newValue;\n }\n });\n }\n\n /**\n * @hidden @internal\n */\n public ngOnInit(): void {\n IgxGridLite.register();\n }\n\n //#region Public API\n\n /**\n * Performs a filter operation in the grid based on the passed expression(s).\n */\n public filter(config: IgxGridLiteFilteringExpression | IgxGridLiteFilteringExpression[]): void {\n this.gridRef.nativeElement.filter(config as FilterExpression<T> | FilterExpression<T>[]);\n }\n\n /**\n * Performs a sort operation in the grid based on the passed expression(s).\n */\n public sort(expressions: IgxGridLiteSortingExpression<T> | IgxGridLiteSortingExpression<T>[]) {\n this.gridRef.nativeElement.sort(expressions);\n }\n\n /**\n * Resets the current sort state of the control.\n */\n public clearSort(key?: Keys<T>): void {\n this.gridRef.nativeElement.clearSort(key);\n }\n\n /**\n * Resets the current filter state of the control.\n */\n public clearFilter(key?: Keys<T>): void {\n this.gridRef.nativeElement.clearFilter(key);\n }\n\n /**\n * Navigates to a position in the grid based on provided row index and column field.\n * @param row The row index to navigate to\n * @param column The column field to navigate to, if any\n * @param activate Optionally also activate the navigated cell\n */\n public async navigateTo(row: number, column?: Keys<T>, activate = false) {\n await this.gridRef.nativeElement.navigateTo(row, column, activate);\n }\n\n /**\n * Returns a {@link IgxGridLiteColumnConfiguration} for a given column.\n */\n public getColumn(id: Keys<T> | number): IgxGridLiteColumnConfiguration<T> | undefined {\n return this.gridRef.nativeElement.getColumn(id);\n }\n\n //#endregion\n\n //#region Event handlers\n\n protected onSorted(_event: CustomEvent<SortingExpression<T>>): void {\n this.sortingExpressions.set(this.gridRef.nativeElement.sortingExpressions ?? []);\n }\n\n protected onFiltered(_event: CustomEvent<FilterExpression<T>>): void {\n this.filteringExpressions.set(this.gridRef.nativeElement.filterExpressions ?? []);\n }\n\n //#endregion\n\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [IgxGridLite.tagName]: IgxGridLite;\n }\n\n interface HTMLElementEventMap {\n 'sorting': CustomEvent<IgxGridLiteSortingExpression<any>>;\n 'sorted': CustomEvent<IgxGridLiteSortingExpression<any>>;\n 'filtering': CustomEvent<IgxGridLiteFilteringExpression<any>>;\n 'filtered': CustomEvent<IgxGridLiteFilteringExpression<any>>;\n }\n}\n\n// see https://github.com/ng-packagr/ng-packagr/issues/3233\nexport {};\n","import { booleanAttribute, ChangeDetectionStrategy, Component, contentChild, CUSTOM_ELEMENTS_SCHEMA, Directive, effect, EmbeddedViewRef, inject, input, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { ColumnConfiguration, ColumnSortConfiguration, IgcCellContext, IgcHeaderContext, Keys, DataType } from 'igniteui-grid-lite';\n\n/** Configuration object for grid columns. */\nexport type IgxGridLiteColumnConfiguration<T extends object = any> = ColumnConfiguration<T>;\n\nexport type IgxGridLiteColumnSortConfiguration<T extends object = any> = ColumnSortConfiguration<T>;\n\n\n/**\n * Directive providing type information for header template contexts.\n * Use this directive on ng-template elements that render header templates.\n *\n * @example\n * ```html\n * <ng-template igxGridLiteHeader let-column>\n * <div>{{column.header}}</div>\n * </ng-template>\n * ```\n */\n@Directive({ selector: '[igxGridLiteHeader]' })\nexport class IgxGridLiteHeaderTemplateDirective<T extends object = any> {\n public template = inject<TemplateRef<IgxGridLiteHeaderTemplateContext<T>>>(TemplateRef);\n\n public static ngTemplateContextGuard<T extends object = any>(_: IgxGridLiteHeaderTemplateDirective<T>, ctx: any): ctx is IgxGridLiteHeaderTemplateContext<T> {\n return true;\n }\n}\n\n/**\n * Directive providing type information for cell template contexts.\n * Use this directive on ng-template elements that render cell templates.\n *\n * @example\n * ```html\n * <ng-template igxGridLiteCell let-value let-column=\"column\" let-rowIndex=\"rowIndex\" let-data=\"data\">\n * <div>{{value}}</div>\n * </ng-template>\n * ```\n */\n@Directive({ selector: '[igxGridLiteCell]' })\nexport class IgxGridLiteCellTemplateDirective<T extends object = any> {\n public template = inject<TemplateRef<IgxGridLiteCellTemplateContext<T>>>(TemplateRef);\n\n public static ngTemplateContextGuard<T extends object = any>(_: IgxGridLiteCellTemplateDirective<T>, ctx: unknown): ctx is IgxGridLiteCellTemplateContext<T> {\n return true;\n }\n}\n\n@Component({\n selector: 'igx-grid-lite-column',\n changeDetection: ChangeDetectionStrategy.OnPush,\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n templateUrl: './grid-lite-column.component.html'\n})\nexport class IgxGridLiteColumnComponent<T extends object = any> {\n\n //#region Internal state\n\n private readonly _view = inject(ViewContainerRef);\n\n /** Reference to the embedded view for the header template and its template function. */\n private headerViewRef?: EmbeddedViewRef<IgxGridLiteHeaderTemplateContext<T>>;\n protected headerTemplateFunc?: (ctx: IgcHeaderContext<T>) => Node[];\n\n /** Reference to the embedded view for the cell template and its template function. */\n private cellViewRefs? = new Map<T, EmbeddedViewRef<IgxGridLiteCellTemplateContext<T>>>();\n protected cellTemplateFunc?: (ctx: IgcCellContext<T>) => Node[];\n\n /** Template directives used for inline templating */\n private readonly headerTemplateDirective = contentChild(IgxGridLiteHeaderTemplateDirective<T>);\n private readonly cellTemplateDirective = contentChild(IgxGridLiteCellTemplateDirective<T>);\n\n //#endregion\n\n //#region Inputs\n\n /** The field from the data for this column. */\n public readonly field = input<Keys<T>>();\n\n /** The data type of the column's values. */\n public readonly dataType = input<DataType>('string');\n\n /** The header text of the column. */\n public readonly header = input<string>();\n\n /** The width of the column. */\n public readonly width = input<string>();\n\n /** Indicates whether the column is hidden. */\n public readonly hidden = input(false, { transform: booleanAttribute });\n\n /** Indicates whether the column is resizable. */\n public readonly resizable = input(false, { transform: booleanAttribute });\n\n /** Indicates whether the column is sortable. */\n public readonly sortable = input(false, { transform: booleanAttribute });\n\n /** Whether sort operations will be case sensitive. */\n public readonly sortingCaseSensitive = input(false, { transform: booleanAttribute });\n\n /** Sort configuration for the column (e.g., custom comparer). */\n public readonly sortConfiguration = input<IgxGridLiteColumnSortConfiguration<T>>();\n\n /** Indicates whether the column is filterable. */\n public readonly filterable = input(false, { transform: booleanAttribute });\n\n /** Whether filter operations will be case sensitive. */\n public readonly filteringCaseSensitive = input(false, { transform: booleanAttribute });\n\n /** Custom header template for the column. */\n public readonly headerTemplate = input<TemplateRef<IgxGridLiteHeaderTemplateContext<T>>>();\n\n /** Custom cell template for the column. */\n public readonly cellTemplate = input<TemplateRef<IgxGridLiteCellTemplateContext<T>>>();\n\n //#endregion\n\n constructor() {\n effect((onCleanup) => {\n const directive = this.headerTemplateDirective();\n const template = this.headerTemplate() ?? directive?.template;\n if (template) {\n this.headerTemplateFunc = (ctx: IgcHeaderContext<T>) => {\n if (!this.headerViewRef) {\n const angularContext = {\n ...ctx,\n $implicit: ctx.column\n }\n this.headerViewRef = this._view.createEmbeddedView(template, angularContext);\n }\n return this.headerViewRef.rootNodes;\n };\n }\n onCleanup(() => {\n if (this.headerViewRef) {\n this.headerViewRef.destroy();\n this.headerViewRef = undefined;\n }\n })\n });\n\n effect((onCleanup) => {\n const directive = this.cellTemplateDirective();\n const template = this.cellTemplate() ?? directive?.template;\n if (template) {\n this.cellTemplateFunc = (ctx: IgcCellContext<T>) => {\n const oldViewRef = this.cellViewRefs.get(ctx.row.data);\n const angularContext = {\n ...ctx,\n $implicit: ctx.value,\n } as IgxGridLiteCellTemplateContext<T>;\n if (!oldViewRef) {\n const newViewRef = this._view.createEmbeddedView(template, angularContext);\n this.cellViewRefs.set(ctx.row.data, newViewRef);\n return newViewRef.rootNodes;\n }\n Object.assign(oldViewRef.context, angularContext);\n return oldViewRef.rootNodes;\n };\n }\n onCleanup(() => {\n this.cellViewRefs.forEach((viewRef) => {\n viewRef.destroy();\n });\n this.cellViewRefs?.clear();\n });\n });\n }\n}\n\n/**\n * Context provided to the header template.\n */\nexport type IgxGridLiteHeaderTemplateContext<T extends object = any> = IgcHeaderContext<T> & {\n /**\n * The current configuration for the column.\n */\n $implicit: IgcHeaderContext<T>['column'];\n}\n\n/**\n * Context provided to the header template.\n */\nexport type IgxGridLiteCellTemplateContext<T extends object = any> = IgcCellContext<T> & {\n /**\n * The value from the data source for this cell.\n */\n $implicit: IgcCellContext<T>['value'];\n};\n","<igc-grid-lite-column\n [field]=\"field()\"\n [dataType]=\"dataType()\"\n [header]=\"header()\"\n [width]=\"width()\"\n [hidden]=\"hidden()\"\n [resizable]=\"resizable()\"\n [sortable]=\"sortable()\"\n [sortingCaseSensitive]=\"sortingCaseSensitive()\"\n [sortConfiguration]=\"sortConfiguration()\"\n [filterable]=\"filterable()\"\n [filteringCaseSensitive]=\"filteringCaseSensitive()\"\n [headerTemplate]=\"headerTemplateFunc\"\n [cellTemplate]=\"cellTemplateFunc\"\n></igc-grid-lite-column>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}