igniteui-angular 19.2.0-alpha.2 → 19.2.0-rc.0

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 (77) hide show
  1. package/fesm2022/igniteui-angular.mjs +2380 -2201
  2. package/fesm2022/igniteui-angular.mjs.map +1 -1
  3. package/lib/calendar/calendar.component.d.ts +2 -2
  4. package/lib/calendar/month-picker/month-picker.component.d.ts +2 -2
  5. package/lib/carousel/carousel-base.d.ts +7 -32
  6. package/lib/carousel/carousel.component.d.ts +3 -25
  7. package/lib/carousel/slide.component.d.ts +3 -3
  8. package/lib/checkbox/checkbox-base.directive.d.ts +3 -4
  9. package/lib/core/styles/components/action-strip/_action-strip-theme.scss +6 -0
  10. package/lib/core/styles/components/calendar/_calendar-component.scss +16 -0
  11. package/lib/core/styles/components/calendar/_calendar-theme.scss +92 -44
  12. package/lib/core/styles/components/card/_card-theme.scss +30 -24
  13. package/lib/core/styles/components/chip/_chip-theme.scss +43 -19
  14. package/lib/core/styles/components/grid/_grid-theme.scss +31 -40
  15. package/lib/core/styles/components/input/_input-group-theme.scss +33 -13
  16. package/lib/core/styles/components/list/_list-theme.scss +7 -5
  17. package/lib/core/styles/components/progress/circular/_circular-theme.scss +11 -8
  18. package/lib/core/styles/components/query-builder/_query-builder-component.scss +3 -3
  19. package/lib/core/styles/components/query-builder/_query-builder-theme.scss +25 -5
  20. package/lib/core/styles/components/switch/_switch-component.scss +0 -65
  21. package/lib/core/styles/components/switch/_switch-theme.scss +0 -81
  22. package/lib/core/styles/components/tree/_tree-theme.scss +1 -3
  23. package/lib/data-operations/expressions-tree-util.d.ts +1 -1
  24. package/lib/data-operations/filtering-condition.d.ts +1 -1
  25. package/lib/data-operations/filtering-expression.interface.d.ts +3 -3
  26. package/lib/data-operations/filtering-expressions-tree.d.ts +3 -3
  27. package/lib/data-operations/filtering-strategy.d.ts +2 -1
  28. package/lib/directives/button/button.directive.d.ts +3 -5
  29. package/lib/directives/drag-drop/drag-drop.directive.d.ts +1 -0
  30. package/lib/grids/columns/column.component.d.ts +19 -1
  31. package/lib/grids/common/enums.d.ts +5 -4
  32. package/lib/grids/common/grid.interface.d.ts +1 -0
  33. package/lib/grids/common/random.d.ts +5 -0
  34. package/lib/grids/filtering/advanced-filtering/advanced-filtering-dialog.component.d.ts +2 -5
  35. package/lib/grids/grid-base.directive.d.ts +13 -6
  36. package/lib/grids/hierarchical-grid/events.d.ts +1 -0
  37. package/lib/grids/hierarchical-grid/hierarchical-grid.component.d.ts +22 -2
  38. package/lib/grids/toolbar/grid-toolbar-advanced-filtering.component.d.ts +3 -3
  39. package/lib/query-builder/query-builder-drag.service.d.ts +26 -36
  40. package/lib/query-builder/query-builder-tree.component.d.ts +29 -11
  41. package/lib/query-builder/query-builder.common.d.ts +1 -1
  42. package/migrations/migration-collection.json +10 -0
  43. package/migrations/update-19_1_4/changes/theme-changes.json +29 -0
  44. package/migrations/update-19_1_4/index.d.ts +3 -0
  45. package/migrations/update-19_1_4/index.js +18 -0
  46. package/migrations/update-19_2_0/changes/inputs.json +13 -0
  47. package/migrations/update-19_2_0/changes/theme-changes.json +59 -0
  48. package/migrations/update-19_2_0/index.d.ts +3 -0
  49. package/migrations/update-19_2_0/index.js +18 -0
  50. package/package.json +2 -2
  51. package/schematics/tsconfig.tsbuildinfo +1 -1
  52. package/styles/igniteui-angular-dark.css +1 -1
  53. package/styles/igniteui-angular.css +1 -1
  54. package/styles/igniteui-bootstrap-dark.css +1 -1
  55. package/styles/igniteui-bootstrap-light.css +1 -1
  56. package/styles/igniteui-dark-green.css +1 -1
  57. package/styles/igniteui-fluent-dark-excel.css +1 -1
  58. package/styles/igniteui-fluent-dark-word.css +1 -1
  59. package/styles/igniteui-fluent-dark.css +1 -1
  60. package/styles/igniteui-fluent-light-excel.css +1 -1
  61. package/styles/igniteui-fluent-light-word.css +1 -1
  62. package/styles/igniteui-fluent-light.css +1 -1
  63. package/styles/igniteui-indigo-dark.css +1 -1
  64. package/styles/igniteui-indigo-light.css +1 -1
  65. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  66. package/styles/maps/igniteui-angular.css.map +1 -1
  67. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  68. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  69. package/styles/maps/igniteui-dark-green.css.map +1 -1
  70. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  71. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  72. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  73. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  74. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  75. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  76. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  77. package/styles/maps/igniteui-indigo-light.css.map +1 -1
@@ -39,11 +39,6 @@
39
39
  /// @param {Color} $focus-outline-color-focused [null] - The focus outlined color for focused state.
40
40
  /// @param {Color} $focus-fill-color [null] - The focus fill color.
41
41
  /// @param {Color} $focus-fill-hover-color [null] - The focus fill color on hover.
42
- /// @param {Color} $label-invalid-color [null] - The color of the switch label in invalid state.
43
- /// @param {Color} $track-error-color [null] - The color of the track in invalid state when the switch is off.
44
- /// @param {Color} $thumb-on-error-color [null] - The color of the thumb when the switch is on and invalid.
45
- /// @param {Color} $error-color [null] - The border and fill colors in invalid state.
46
- /// @param {Color} $error-color-hover [null] - The border and fill colors in invalid state on hover.
47
42
  /// @requires $light-material-schema
48
43
  ///
49
44
  /// @example scss Set custom track and thumb on colors
@@ -68,7 +63,6 @@
68
63
  $label-color: null,
69
64
  $label-hover-color: null,
70
65
  $label-disabled-color: null,
71
- $label-invalid-color: null,
72
66
 
73
67
  $resting-shadow: null,
74
68
  $hover-shadow: null,
@@ -86,10 +80,6 @@
86
80
  $focus-outline-color-focused: null,
87
81
  $focus-fill-color: null,
88
82
  $focus-fill-hover-color: null,
89
- $track-error-color: null,
90
- $thumb-on-error-color: null,
91
- $error-color: null,
92
- $error-color-hover: null,
93
83
  ) {
94
84
  $name: 'igx-switch';
95
85
  $switch-schema: ();
@@ -148,7 +138,6 @@
148
138
  label-color: $label-color,
149
139
  label-hover-color: $label-hover-color,
150
140
  label-disabled-color: $label-disabled-color,
151
- label-invalid-color: $label-invalid-color,
152
141
 
153
142
  resting-shadow: $resting-shadow,
154
143
  hover-shadow: $hover-shadow,
@@ -166,10 +155,6 @@
166
155
  focus-outline-color-focused: $focus-outline-color-focused,
167
156
  focus-fill-color: $focus-fill-color,
168
157
  focus-fill-hover-color: $focus-fill-hover-color,
169
- track-error-color: $track-error-color,
170
- thumb-on-error-color: $thumb-on-error-color,
171
- error-color: $error-color,
172
- error-color-hover: $error-color-hover,
173
158
  theme: map.get($schema, '_meta', 'theme'),
174
159
  _meta: map.merge(if($meta, $meta, ()), (
175
160
  variant: map.get($schema, '_meta', 'theme'),
@@ -316,25 +301,6 @@
316
301
  }
317
302
  }
318
303
 
319
- %switch-composite--invalid {
320
- border-color: var-get($theme, 'error-color');
321
-
322
- @if $variant == 'material' {
323
- border-color: var-get($theme, 'track-error-color');
324
- background: var-get($theme, 'track-error-color');
325
- }
326
- }
327
-
328
- %switch-composite--invalid--hover {
329
- @if $variant == 'fluent' {
330
- border-color: var-get($theme, 'error-color-hover');
331
-
332
- %switch-thumb {
333
- background: var-get($theme, 'error-color-hover');
334
- }
335
- }
336
- }
337
-
338
304
  %switch-composite--x {
339
305
  background: var-get($theme, 'track-on-color');
340
306
  border-color: var-get($theme, 'border-on-color');
@@ -403,14 +369,6 @@
403
369
  background: var-get($theme, 'thumb-on-color');
404
370
  }
405
371
 
406
- %switch-thumb--invalid {
407
- background: var-get($theme, 'error-color');
408
- }
409
-
410
- %switch-thumb--x--invalid {
411
- background: var-get($theme, 'thumb-on-error-color');
412
- }
413
-
414
372
  %switch-thumb--disabled {
415
373
  background: var-get($theme, 'thumb-disabled-color');
416
374
  box-shadow: $thumb-disabled-shadow;
@@ -477,25 +435,6 @@
477
435
  }
478
436
  }
479
437
 
480
- %igx-switch--focused--invalid {
481
- @if $variant == 'bootstrap' {
482
- %switch-composite {
483
- border-color: var-get($theme, 'error-color');
484
- box-shadow: 0 0 0 rem(4px) var-get($theme, 'error-color-hover');
485
- }
486
-
487
- %switch-thumb {
488
- background: var-get($theme, 'error-color');
489
- }
490
- }
491
-
492
- @if $variant == 'indigo' {
493
- %switch-composite {
494
- box-shadow: 0 0 0 rem(3px) var-get($theme, 'error-color-hover');
495
- }
496
- }
497
- }
498
-
499
438
  %igx-switch--focused-checked {
500
439
  @if $variant == 'bootstrap' {
501
440
  %switch-composite {
@@ -550,10 +489,6 @@
550
489
  background: var-get($theme, 'thumb-on-color');
551
490
  }
552
491
 
553
- %switch-ripple--focused-invalid {
554
- background: var-get($theme, 'error-color-hover');
555
- }
556
-
557
492
  %switch-label {
558
493
  display: inline-block;
559
494
  color: var-get($theme, 'label-color');
@@ -585,10 +520,6 @@
585
520
  color: var-get($theme, 'label-hover-color');
586
521
  }
587
522
 
588
- %switch-label--invalid {
589
- color: var-get($theme, 'label-invalid-color');
590
- }
591
-
592
523
  %switch-label--disabled {
593
524
  color: var-get($theme, 'label-disabled-color');
594
525
  }
@@ -618,18 +549,6 @@
618
549
  }
619
550
  }
620
551
 
621
- %switch-ripple--hover-invalid {
622
- &::after {
623
- background: var-get($theme, 'error-color-hover');
624
- }
625
- }
626
-
627
- %switch-ripple--hover-checked-invalid {
628
- &::after {
629
- background: var-get($theme, 'thumb-on-color');
630
- }
631
- }
632
-
633
552
  %switch-ripple--pressed {
634
553
  &::after {
635
554
  opacity: .12;
@@ -288,9 +288,7 @@
288
288
  }
289
289
 
290
290
  igx-circular-bar {
291
- --circular-bar: #{sizable(#{map.get($circular-bar-size, 'compact')}, #{map.get($circular-bar-size, 'cosy')}, #{map.get($circular-bar-size, 'comfortable')})};
292
- width: var(--circular-bar);
293
- height: var(--circular-bar);
291
+ --diameter: #{sizable(#{map.get($circular-bar-size, 'compact')}, #{map.get($circular-bar-size, 'cosy')}, #{map.get($circular-bar-size, 'comfortable')})};
294
292
  }
295
293
  }
296
294
 
@@ -31,7 +31,7 @@ export declare function isTree(entry: IExpressionTree | IFilteringExpression): e
31
31
  * @param entities An array of entities to use for recreating the tree.
32
32
  * @returns The recreated expression tree.
33
33
  */
34
- export declare function recreateTree(tree: IExpressionTree, entities: EntityType[]): IExpressionTree;
34
+ export declare function recreateTree(tree: IExpressionTree, entities: EntityType[], isRoot?: boolean): IExpressionTree;
35
35
  /**
36
36
  * Recreates the tree from a given array of fields by applying the correct operands.
37
37
  * It is recommended to use `recreateTree` if there will be multiple entities in the tree
@@ -104,7 +104,7 @@ export interface IFilteringOperation {
104
104
  isNestedQuery?: boolean;
105
105
  iconName: string;
106
106
  hidden?: boolean;
107
- logic: (value: any, searchVal?: any, ignoreCase?: boolean) => boolean;
107
+ logic?: null | ((value: any, searchVal?: any, ignoreCase?: boolean) => boolean);
108
108
  }
109
109
  /**
110
110
  * Interface describing Date object in parts
@@ -9,9 +9,9 @@ export declare enum FilteringLogic {
9
9
  */
10
10
  export declare interface IFilteringExpression {
11
11
  fieldName: string;
12
- condition?: IFilteringOperation;
13
- conditionName?: string;
12
+ condition?: IFilteringOperation | null;
13
+ conditionName?: string | null;
14
14
  searchVal?: any;
15
- searchTree?: IExpressionTree;
15
+ searchTree?: IExpressionTree | null;
16
16
  ignoreCase?: boolean;
17
17
  }
@@ -7,9 +7,9 @@ export declare enum FilteringExpressionsTreeType {
7
7
  export declare interface IExpressionTree {
8
8
  filteringOperands: (IExpressionTree | IFilteringExpression)[];
9
9
  operator: FilteringLogic;
10
- fieldName?: string;
11
- entity?: string;
12
- returnFields?: string[];
10
+ fieldName?: string | null;
11
+ entity?: string | null;
12
+ returnFields?: string[] | null;
13
13
  }
14
14
  export declare interface IFilteringExpressionsTree extends IBaseEventArgs, IExpressionTree {
15
15
  filteringOperands: (IFilteringExpressionsTree | IFilteringExpression)[];
@@ -16,7 +16,8 @@ export interface IgxFilterItem {
16
16
  }
17
17
  export declare abstract class BaseFilteringStrategy implements IFilteringStrategy {
18
18
  findMatchByExpression(rec: any, expr: IFilteringExpression, isDate?: boolean, isTime?: boolean, grid?: GridType): boolean;
19
- matchRecord(rec: any, expressions: IFilteringExpressionsTree | IFilteringExpression, grid?: GridType): boolean;
19
+ matchRecord(rec: any, expressions: IFilteringExpressionsTree | IFilteringExpression, grid?: GridType, entity?: string): boolean;
20
+ private findEntityByName;
20
21
  getFilterItems(column: ColumnType, tree: IFilteringExpressionsTree): Promise<IgxFilterItem[]>;
21
22
  protected getFilterItemLabel(column: ColumnType, value: any, applyFormatter: boolean, data: any): any;
22
23
  protected getUniqueFilterItems(column: ColumnType, filterItems: IgxFilterItem[]): any[];
@@ -1,4 +1,4 @@
1
- import { ElementRef, EventEmitter, Renderer2, AfterContentInit, OnDestroy } from '@angular/core';
1
+ import { ElementRef, EventEmitter, Renderer2 } from '@angular/core';
2
2
  import { IBaseEventArgs } from '../../core/utils';
3
3
  import { IgxButtonBaseDirective } from './button-base';
4
4
  import * as i0 from "@angular/core";
@@ -31,7 +31,7 @@ export type IgxButtonType = typeof IgxButtonType[keyof typeof IgxButtonType];
31
31
  * <button type="button" igxButton="outlined">A Button</button>
32
32
  * ```
33
33
  */
34
- export declare class IgxButtonDirective extends IgxButtonBaseDirective implements AfterContentInit, OnDestroy {
34
+ export declare class IgxButtonDirective extends IgxButtonBaseDirective {
35
35
  element: ElementRef;
36
36
  private _renderer;
37
37
  private static ngAcceptInputType_type;
@@ -69,7 +69,7 @@ export declare class IgxButtonDirective extends IgxButtonBaseDirective implement
69
69
  * @internal
70
70
  */
71
71
  private _selected;
72
- private emitSelected;
72
+ protected emitSelected(): void;
73
73
  /**
74
74
  * Gets or sets whether the button is selected.
75
75
  * Mainly used in the IgxButtonGroup component and it will have no effect if set separately.
@@ -82,8 +82,6 @@ export declare class IgxButtonDirective extends IgxButtonBaseDirective implement
82
82
  set selected(value: boolean);
83
83
  get selected(): boolean;
84
84
  constructor(element: ElementRef, _renderer: Renderer2);
85
- ngAfterContentInit(): void;
86
- ngOnDestroy(): void;
87
85
  /**
88
86
  * Sets the type of the button.
89
87
  *
@@ -564,6 +564,7 @@ export declare class IgxDragDirective implements AfterContentInit, OnDestroy {
564
564
  * @hidden
565
565
  */
566
566
  onTransitionEnd(event: any): void;
567
+ protected detachGhost(): void;
567
568
  protected clearGhost(): void;
568
569
  /**
569
570
  * @hidden
@@ -307,7 +307,8 @@ export declare class IgxColumnComponent implements AfterContentInit, OnDestroy,
307
307
  *
308
308
  * @memberof IgxColumnComponent
309
309
  */
310
- maxWidth: string;
310
+ set maxWidth(value: string);
311
+ get maxWidth(): string;
311
312
  /**
312
313
  * Sets/gets the class selector of the column header.
313
314
  * ```typescript
@@ -631,6 +632,10 @@ export declare class IgxColumnComponent implements AfterContentInit, OnDestroy,
631
632
  * @hidden
632
633
  */
633
634
  get minWidthPx(): number;
635
+ /**
636
+ * @hidden
637
+ */
638
+ get userSetMinWidthPx(): number;
634
639
  /**
635
640
  * @hidden
636
641
  */
@@ -1120,6 +1125,10 @@ export declare class IgxColumnComponent implements AfterContentInit, OnDestroy,
1120
1125
  * @hidden
1121
1126
  */
1122
1127
  destroy$: Subject<any>;
1128
+ /**
1129
+ * @hidden
1130
+ */
1131
+ widthConstrained: boolean;
1123
1132
  /**
1124
1133
  * @hidden
1125
1134
  */
@@ -1193,6 +1202,10 @@ export declare class IgxColumnComponent implements AfterContentInit, OnDestroy,
1193
1202
  * @hidden
1194
1203
  */
1195
1204
  protected _defaultMinWidth: string;
1205
+ /**
1206
+ * @hidden
1207
+ */
1208
+ protected _maxWidth: any;
1196
1209
  /**
1197
1210
  * @hidden
1198
1211
  */
@@ -1373,6 +1386,11 @@ export declare class IgxColumnComponent implements AfterContentInit, OnDestroy,
1373
1386
  */
1374
1387
  populateVisibleIndexes(): void;
1375
1388
  protected getColumnSizesString(children: QueryList<IgxColumnComponent>): string;
1389
+ /**
1390
+ * @hidden
1391
+ * @internal
1392
+ */
1393
+ getConstrainedSizePx(newSize: any): any;
1376
1394
  /**
1377
1395
  * @hidden
1378
1396
  * @internal
@@ -89,10 +89,11 @@ export declare enum RowPinningPosition {
89
89
  * - Local: The grid will use local data to extract pages during paging.
90
90
  * - Remote: The grid will expect pages to be delivered from a remote location and will only raise events during paging interactions.
91
91
  */
92
- export declare enum GridPagingMode {
93
- Local = 0,
94
- Remote = 1
95
- }
92
+ export declare const GridPagingMode: {
93
+ Local: "local";
94
+ Remote: "remote";
95
+ };
96
+ export type GridPagingMode = (typeof GridPagingMode)[keyof typeof GridPagingMode];
96
97
  /**
97
98
  * @hidden @internal
98
99
  *
@@ -1354,4 +1354,5 @@ export interface IClipboardOptions {
1354
1354
  export interface EntityType {
1355
1355
  name: string;
1356
1356
  fields: FieldType[];
1357
+ childEntities?: EntityType[];
1357
1358
  }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Use the function to get a random UUID string when secure context is not guaranteed making crypto.randomUUID unavailable.
3
+ * @returns A random UUID string.
4
+ */
5
+ export declare function getUUID(): `${string}-${string}-${string}-${string}-${string}`;
@@ -3,7 +3,7 @@ import { IgxOverlayService } from '../../../services/overlay/overlay';
3
3
  import { IDragStartEventArgs } from '../../../directives/drag-drop/drag-drop.directive';
4
4
  import { IActiveNode } from '../../grid-navigation.service';
5
5
  import { PlatformUtil } from '../../../core/utils';
6
- import { FieldType, GridType } from '../../common/grid.interface';
6
+ import { EntityType, FieldType, GridType } from '../../common/grid.interface';
7
7
  import { IgxQueryBuilderComponent } from '../../../query-builder/query-builder.component';
8
8
  import * as i0 from "@angular/core";
9
9
  /**
@@ -100,10 +100,7 @@ export declare class IgxAdvancedFilteringDialogComponent implements AfterViewIni
100
100
  /**
101
101
  * @hidden @internal
102
102
  */
103
- generateEntity(): {
104
- name: any;
105
- fields: FieldType[];
106
- }[];
103
+ generateEntity(): EntityType[];
107
104
  private assignResourceStrings;
108
105
  static ɵfac: i0.ɵɵFactoryDeclaration<IgxAdvancedFilteringDialogComponent, never>;
109
106
  static ɵcmp: i0.ɵɵComponentDeclaration<IgxAdvancedFilteringDialogComponent, "igx-advanced-filtering-dialog", never, { "grid": { "alias": "grid"; "required": false; }; }, {}, never, never, true, never>;
@@ -1,4 +1,4 @@
1
- import { AfterContentInit, AfterViewInit, ChangeDetectorRef, DoCheck, ElementRef, EnvironmentInjector, EventEmitter, Injector, IterableDiffers, NgZone, OnDestroy, OnInit, QueryList, TemplateRef, ViewContainerRef } from '@angular/core';
1
+ import { AfterContentInit, AfterViewInit, ChangeDetectorRef, ComponentRef, DoCheck, ElementRef, EnvironmentInjector, EventEmitter, Injector, IterableDiffers, NgZone, OnDestroy, OnInit, QueryList, TemplateRef, ViewContainerRef } from '@angular/core';
2
2
  import { Subject } from 'rxjs';
3
3
  import { PlatformUtil } from '../core/utils';
4
4
  import { FilteringLogic } from '../data-operations/filtering-expression.interface';
@@ -28,7 +28,7 @@ import { IgxColumnResizingService } from './resizing/resizing.service';
28
28
  import { IFilteringStrategy } from '../data-operations/filtering-strategy';
29
29
  import { GridSelectionMode, GridSummaryPosition, GridSummaryCalculationMode, FilterMode, GridPagingMode, GridValidationTrigger, Size } from './common/enums';
30
30
  import { IGridCellEventArgs, IRowSelectionEventArgs, IPinColumnEventArgs, IRowDataEventArgs, IColumnResizeEventArgs, IColumnMovingStartEventArgs, IColumnMovingEventArgs, IColumnMovingEndEventArgs, IGridKeydownEventArgs, IRowDragStartEventArgs, IRowDragEndEventArgs, IGridClipboardEvent, IGridToolbarExportEventArgs, ISearchInfo, ICellPosition, IRowToggleEventArgs, IColumnSelectionEventArgs, IPinRowEventArgs, IGridScrollEventArgs, IActiveNodeChangeEventArgs, ISortingEventArgs, IFilteringEventArgs, IColumnVisibilityChangedEventArgs, IColumnVisibilityChangingEventArgs, IPinColumnCancellableEventArgs, IGridEditEventArgs, IRowDataCancelableEventArgs, IGridEditDoneEventArgs, IGridRowEventArgs, IGridContextMenuEventArgs, IColumnsAutoGeneratedEventArgs } from './common/events';
31
- import { ColumnType, GridServiceType, GridType, IGridFormGroupCreatedEventArgs, IGridValidationStatusEventArgs, IgxGridEmptyTemplateContext, IgxGridHeaderTemplateContext, IgxGridRowDragGhostContext, IgxGridRowEditActionsTemplateContext, IgxGridRowEditTemplateContext, IgxGridRowEditTextTemplateContext, IgxGridRowTemplateContext, IgxGridTemplateContext, IgxHeadSelectorTemplateContext, IgxRowSelectorTemplateContext, ISizeInfo, RowType, IPinningConfig, IClipboardOptions } from './common/grid.interface';
31
+ import { ColumnType, GridServiceType, GridType, IGridFormGroupCreatedEventArgs, IGridValidationStatusEventArgs, IgxGridEmptyTemplateContext, IgxGridHeaderTemplateContext, IgxGridRowDragGhostContext, IgxGridRowEditActionsTemplateContext, IgxGridRowEditTemplateContext, IgxGridRowEditTextTemplateContext, IgxGridRowTemplateContext, IgxGridTemplateContext, IgxHeadSelectorTemplateContext, IgxRowSelectorTemplateContext, ISizeInfo, RowType, IPinningConfig, IClipboardOptions, EntityType } from './common/grid.interface';
32
32
  import { DropPosition } from './moving/moving.service';
33
33
  import { IgxColumnComponent } from './columns/column.component';
34
34
  import { IgxSnackbarComponent } from '../snackbar/snackbar.component';
@@ -123,7 +123,7 @@ export declare abstract class IgxGridBaseDirective implements GridType, OnInit,
123
123
  * <igx-grid [id]="'igx-grid-1'" [data]="Data" [emptyGridTemplate]="myTemplate" [autoGenerate]="true"></igx-grid>
124
124
  * ```
125
125
  */
126
- emptyGridTemplate: TemplateRef<void>;
126
+ emptyGridTemplate: TemplateRef<IgxGridTemplateContext>;
127
127
  /**
128
128
  * Gets/Sets a custom template for adding row UI when grid is empty.
129
129
  *
@@ -141,7 +141,7 @@ export declare abstract class IgxGridBaseDirective implements GridType, OnInit,
141
141
  * <igx-grid [id]="'igx-grid-1'" [data]="Data" [loadingGridTemplate]="myTemplate" [autoGenerate]="true"></igx-grid>
142
142
  * ```
143
143
  */
144
- loadingGridTemplate: TemplateRef<void>;
144
+ loadingGridTemplate: TemplateRef<IgxGridTemplateContext>;
145
145
  /**
146
146
  * Get/Set IgxSummaryRow height
147
147
  */
@@ -1929,8 +1929,10 @@ export declare abstract class IgxGridBaseDirective implements GridType, OnInit,
1929
1929
  protected _sortingOptions: ISortingOptions;
1930
1930
  protected _filterStrategy: IFilteringStrategy;
1931
1931
  protected _autoGeneratedCols: any[];
1932
+ protected _autoGeneratedColsRefs: ComponentRef<IgxColumnComponent>[];
1932
1933
  protected _dataView: any[];
1933
1934
  protected _lastSearchInfo: ISearchInfo;
1935
+ protected _hGridSchema: EntityType[];
1934
1936
  protected gridComputedStyles: any;
1935
1937
  /** @hidden @internal */
1936
1938
  get paginator(): IgxPaginatorComponent;
@@ -2054,6 +2056,10 @@ export declare abstract class IgxGridBaseDirective implements GridType, OnInit,
2054
2056
  * @hidden @internal
2055
2057
  */
2056
2058
  private get hasZeroResultFilter();
2059
+ protected get totalCalcWidth(): number;
2060
+ protected get renderData(): any[];
2061
+ protected displayStyle: string;
2062
+ protected templateRows: string;
2057
2063
  /**
2058
2064
  * @hidden @internal
2059
2065
  */
@@ -3185,7 +3191,7 @@ export declare abstract class IgxGridBaseDirective implements GridType, OnInit,
3185
3191
  /**
3186
3192
  * @hidden @internal
3187
3193
  */
3188
- trackColumnChanges(index: any, col: any): any;
3194
+ trackColumnChanges(_index: any, col: any): any;
3189
3195
  /**
3190
3196
  * @hidden
3191
3197
  */
@@ -3244,7 +3250,7 @@ export declare abstract class IgxGridBaseDirective implements GridType, OnInit,
3244
3250
  /**
3245
3251
  * @hidden
3246
3252
  */
3247
- rowEditingWheelHandler(event: WheelEvent): void;
3253
+ rowEditingWheelHandler: (event: WheelEvent) => void;
3248
3254
  /**
3249
3255
  * @hidden
3250
3256
  */
@@ -3528,6 +3534,7 @@ export declare abstract class IgxGridBaseDirective implements GridType, OnInit,
3528
3534
  * Clears the current navigation service active node
3529
3535
  */
3530
3536
  private clearActiveNode;
3537
+ private getRecreatedTree;
3531
3538
  static ɵfac: i0.ɵɵFactoryDeclaration<IgxGridBaseDirective, [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }]>;
3532
3539
  static ɵdir: i0.ɵɵDirectiveDeclaration<IgxGridBaseDirective, never, never, { "snackbarDisplayTime": { "alias": "snackbarDisplayTime"; "required": false; }; "autoGenerate": { "alias": "autoGenerate"; "required": false; }; "autoGenerateExclude": { "alias": "autoGenerateExclude"; "required": false; }; "moving": { "alias": "moving"; "required": false; }; "emptyGridTemplate": { "alias": "emptyGridTemplate"; "required": false; }; "addRowEmptyTemplate": { "alias": "addRowEmptyTemplate"; "required": false; }; "loadingGridTemplate": { "alias": "loadingGridTemplate"; "required": false; }; "summaryRowHeight": { "alias": "summaryRowHeight"; "required": false; }; "dataCloneStrategy": { "alias": "dataCloneStrategy"; "required": false; }; "clipboardOptions": { "alias": "clipboardOptions"; "required": false; }; "rowClasses": { "alias": "rowClasses"; "required": false; }; "rowStyles": { "alias": "rowStyles"; "required": false; }; "primaryKey": { "alias": "primaryKey"; "required": false; }; "uniqueColumnValuesStrategy": { "alias": "uniqueColumnValuesStrategy"; "required": false; }; "dragGhostCustomTemplate": { "alias": "dragGhostCustomTemplate"; "required": false; }; "rowEditTextTemplate": { "alias": "rowEditTextTemplate"; "required": false; }; "rowAddTextTemplate": { "alias": "rowAddTextTemplate"; "required": false; }; "rowEditActionsTemplate": { "alias": "rowEditActionsTemplate"; "required": false; }; "rowExpandedIndicatorTemplate": { "alias": "rowExpandedIndicatorTemplate"; "required": false; }; "rowCollapsedIndicatorTemplate": { "alias": "rowCollapsedIndicatorTemplate"; "required": false; }; "headerExpandedIndicatorTemplate": { "alias": "headerExpandedIndicatorTemplate"; "required": false; }; "headerCollapsedIndicatorTemplate": { "alias": "headerCollapsedIndicatorTemplate"; "required": false; }; "excelStyleHeaderIconTemplate": { "alias": "excelStyleHeaderIconTemplate"; "required": false; }; "sortAscendingHeaderIconTemplate": { "alias": "sortAscendingHeaderIconTemplate"; "required": false; }; "sortDescendingHeaderIconTemplate": { "alias": "sortDescendingHeaderIconTemplate"; "required": false; }; "sortHeaderIconTemplate": { "alias": "sortHeaderIconTemplate"; "required": false; }; "resourceStrings": { "alias": "resourceStrings"; "required": false; }; "filteringLogic": { "alias": "filteringLogic"; "required": false; }; "filteringExpressionsTree": { "alias": "filteringExpressionsTree"; "required": false; }; "advancedFilteringExpressionsTree": { "alias": "advancedFilteringExpressionsTree"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "pagingMode": { "alias": "pagingMode"; "required": false; }; "hideRowSelectors": { "alias": "hideRowSelectors"; "required": false; }; "rowDraggable": { "alias": "rowDraggable"; "required": false; }; "validationTrigger": { "alias": "validationTrigger"; "required": false; }; "rowEditable": { "alias": "rowEditable"; "required": false; }; "height": { "alias": "height"; "required": false; }; "width": { "alias": "width"; "required": false; }; "rowHeight": { "alias": "rowHeight"; "required": false; }; "columnWidth": { "alias": "columnWidth"; "required": false; }; "emptyGridMessage": { "alias": "emptyGridMessage"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "emptyFilteredGridMessage": { "alias": "emptyFilteredGridMessage"; "required": false; }; "pinning": { "alias": "pinning"; "required": false; }; "allowFiltering": { "alias": "allowFiltering"; "required": false; }; "allowAdvancedFiltering": { "alias": "allowAdvancedFiltering"; "required": false; }; "filterMode": { "alias": "filterMode"; "required": false; }; "summaryPosition": { "alias": "summaryPosition"; "required": false; }; "summaryCalculationMode": { "alias": "summaryCalculationMode"; "required": false; }; "showSummaryOnCollapse": { "alias": "showSummaryOnCollapse"; "required": false; }; "filterStrategy": { "alias": "filterStrategy"; "required": false; }; "sortStrategy": { "alias": "sortStrategy"; "required": false; }; "sortingOptions": { "alias": "sortingOptions"; "required": false; }; "selectedRows": { "alias": "selectedRows"; "required": false; }; "headSelectorTemplate": { "alias": "headSelectorTemplate"; "required": false; }; "rowSelectorTemplate": { "alias": "rowSelectorTemplate"; "required": false; }; "dragIndicatorIconTemplate": { "alias": "dragIndicatorIconTemplate"; "required": false; }; "sortingExpressions": { "alias": "sortingExpressions"; "required": false; }; "batchEditing": { "alias": "batchEditing"; "required": false; }; "cellSelection": { "alias": "cellSelection"; "required": false; }; "rowSelection": { "alias": "rowSelection"; "required": false; }; "columnSelection": { "alias": "columnSelection"; "required": false; }; "expansionStates": { "alias": "expansionStates"; "required": false; }; "outlet": { "alias": "outlet"; "required": false; }; "totalRecords": { "alias": "totalRecords"; "required": false; }; "selectRowOnClick": { "alias": "selectRowOnClick"; "required": false; }; }, { "filteringExpressionsTreeChange": "filteringExpressionsTreeChange"; "advancedFilteringExpressionsTreeChange": "advancedFilteringExpressionsTreeChange"; "gridScroll": "gridScroll"; "cellClick": "cellClick"; "rowClick": "rowClick"; "formGroupCreated": "formGroupCreated"; "validationStatusChange": "validationStatusChange"; "selected": "selected"; "rowSelectionChanging": "rowSelectionChanging"; "columnSelectionChanging": "columnSelectionChanging"; "columnPin": "columnPin"; "columnPinned": "columnPinned"; "cellEditEnter": "cellEditEnter"; "cellEditExit": "cellEditExit"; "cellEdit": "cellEdit"; "cellEditDone": "cellEditDone"; "rowEditEnter": "rowEditEnter"; "rowEdit": "rowEdit"; "rowEditDone": "rowEditDone"; "rowEditExit": "rowEditExit"; "columnInit": "columnInit"; "columnsAutogenerated": "columnsAutogenerated"; "sorting": "sorting"; "sortingDone": "sortingDone"; "filtering": "filtering"; "filteringDone": "filteringDone"; "rowAdded": "rowAdded"; "rowDeleted": "rowDeleted"; "rowDelete": "rowDelete"; "rowAdd": "rowAdd"; "columnResized": "columnResized"; "contextMenu": "contextMenu"; "doubleClick": "doubleClick"; "columnVisibilityChanging": "columnVisibilityChanging"; "columnVisibilityChanged": "columnVisibilityChanged"; "columnMovingStart": "columnMovingStart"; "columnMoving": "columnMoving"; "columnMovingEnd": "columnMovingEnd"; "gridKeydown": "gridKeydown"; "rowDragStart": "rowDragStart"; "rowDragEnd": "rowDragEnd"; "gridCopy": "gridCopy"; "expansionStatesChange": "expansionStatesChange"; "selectedRowsChange": "selectedRowsChange"; "rowToggle": "rowToggle"; "rowPinning": "rowPinning"; "rowPinned": "rowPinned"; "activeNodeChange": "activeNodeChange"; "sortingExpressionsChange": "sortingExpressionsChange"; "toolbarExporting": "toolbarExporting"; "rangeSelected": "rangeSelected"; "rendered": "rendered"; "localeChange": "localeChange"; "dataChanging": "dataChanging"; "dataChanged": "dataChanged"; }, ["excelStyleLoadingValuesTemplateDirective", "rowAddText", "rowExpandedIndicatorDirectiveTemplate", "rowCollapsedIndicatorDirectiveTemplate", "headerExpandedIndicatorDirectiveTemplate", "headerCollapsedIndicatorDirectiveTemplate", "excelStyleHeaderIconDirectiveTemplate", "sortAscendingHeaderIconDirectiveTemplate", "sortDescendingHeaderIconDirectiveTemplate", "sortHeaderIconDirectiveTemplate", "excelStyleFilteringComponents", "columnList", "actionStripComponents", "headSelectorsTemplates", "rowSelectorsTemplates", "dragGhostCustomTemplates", "rowEditCustomDirectives", "rowEditTextDirectives", "rowEditActionsDirectives", "dragIndicatorIconTemplates", "rowEditTabsCUSTOM", "toolbar", "paginationComponents"], never, true, never>;
3533
3540
  static ngAcceptInputType_autoGenerate: unknown;
@@ -5,4 +5,5 @@ export interface IGridCreatedEventArgs extends IBaseEventArgs {
5
5
  owner: IgxRowIslandComponent;
6
6
  parentID: any;
7
7
  grid: IgxHierarchicalGridComponent;
8
+ parentRowData?: any;
8
9
  }
@@ -3,10 +3,11 @@ import { IgxHierarchicalGridAPIService } from './hierarchical-grid-api.service';
3
3
  import { IgxRowIslandComponent } from './row-island.component';
4
4
  import { IgxColumnComponent } from '../columns/column.component';
5
5
  import { IgxHierarchicalGridBaseDirective } from './hierarchical-grid-base.directive';
6
- import { CellType, GridType, RowType } from '../common/grid.interface';
6
+ import { CellType, EntityType, GridType, RowType } from '../common/grid.interface';
7
7
  import type { IgxPaginatorComponent } from '../../paginator/paginator.component';
8
8
  import { IgxGridExcelStyleFilteringComponent } from '../filtering/excel-style/excel-style-filtering.component';
9
9
  import { IgxActionStripToken } from '../../action-strip/token';
10
+ import { IFilteringExpressionsTree } from '../../data-operations/filtering-expressions-tree';
10
11
  import * as i0 from "@angular/core";
11
12
  /**
12
13
  * @hidden @internal
@@ -159,6 +160,8 @@ export declare class IgxHierarchicalGridComponent extends IgxHierarchicalGridBas
159
160
  protected actionStripComponents: QueryList<IgxActionStripToken>;
160
161
  /** @hidden @internal */
161
162
  get actionStrip(): IgxActionStripToken;
163
+ get advancedFilteringExpressionsTree(): IFilteringExpressionsTree;
164
+ set advancedFilteringExpressionsTree(value: IFilteringExpressionsTree);
162
165
  private _data;
163
166
  private h_id;
164
167
  private childGridTemplates;
@@ -229,6 +232,21 @@ export declare class IgxHierarchicalGridComponent extends IgxHierarchicalGridBas
229
232
  * @memberof IgxHierarchicalGridComponent
230
233
  */
231
234
  get expandChildren(): boolean;
235
+ /**
236
+ * Gets/Sets the schema for the hierarchical grid.
237
+ * This schema defines the structure and properties of the data displayed in the grid.
238
+ * @Input()
239
+ * @param {EntityType[]} entities - An array of EntityType objects representing the grid's schema.
240
+ * @remarks
241
+ * This property is required in remote data filtering scenarios.
242
+ * @example
243
+ * ```typescript
244
+ * const schema = this.grid.schema;
245
+ * this.grid.schema = [{ name: 'Products', fields: [...], childEntities: [...] }];
246
+ * ```
247
+ */
248
+ set schema(entities: EntityType[]);
249
+ get schema(): EntityType[];
232
250
  /**
233
251
  * Gets the unique identifier of the parent row. It may be a `string` or `number` if `primaryKey` of the
234
252
  * parent grid is set or an object reference of the parent record otherwise.
@@ -433,7 +451,9 @@ export declare class IgxHierarchicalGridComponent extends IgxHierarchicalGridBas
433
451
  protected _shouldAutoSize(renderedHeight: any): boolean;
434
452
  private updateColumnList;
435
453
  private _clearSeletionHighlights;
454
+ private generateSchema;
455
+ private generateChildEntity;
436
456
  static ɵfac: i0.ɵɵFactoryDeclaration<IgxHierarchicalGridComponent, never>;
437
- static ɵcmp: i0.ɵɵComponentDeclaration<IgxHierarchicalGridComponent, "igx-hierarchical-grid", never, { "id": { "alias": "id"; "required": false; }; "data": { "alias": "data"; "required": false; }; "totalItemCount": { "alias": "totalItemCount"; "required": false; }; "expandChildren": { "alias": "expandChildren"; "required": false; }; }, {}, ["childLayoutList", "allLayoutList", "paginatorList", "actionStripComponents"], ["igx-grid-toolbar,igc-grid-toolbar", "igx-grid-footer,igc-grid-footer", "igx-paginator,igc-paginator", "igx-grid-state,igc-grid-state", "igx-column,igc-column,igx-column-group,igc-column-group,igx-action-strip,igc-action-strip", "igx-row-island,igc-row-island"], true, never>;
457
+ static ɵcmp: i0.ɵɵComponentDeclaration<IgxHierarchicalGridComponent, "igx-hierarchical-grid", never, { "id": { "alias": "id"; "required": false; }; "data": { "alias": "data"; "required": false; }; "totalItemCount": { "alias": "totalItemCount"; "required": false; }; "expandChildren": { "alias": "expandChildren"; "required": false; }; "schema": { "alias": "schema"; "required": false; }; }, {}, ["childLayoutList", "allLayoutList", "paginatorList", "actionStripComponents"], ["igx-grid-toolbar,igc-grid-toolbar", "igx-grid-footer,igc-grid-footer", "igx-paginator,igc-paginator", "igx-grid-state,igc-grid-state", "igx-column,igc-column,igx-column-group,igc-column-group,igx-action-strip,igc-action-strip", "igx-row-island,igc-row-island"], true, never>;
438
458
  static ngAcceptInputType_expandChildren: unknown;
439
459
  }
@@ -1,4 +1,4 @@
1
- import { AfterViewInit } from '@angular/core';
1
+ import { OnInit } from '@angular/core';
2
2
  import { IgxToolbarToken } from './token';
3
3
  import { OverlaySettings } from '../../services/overlay/utilities';
4
4
  import { IFilteringExpressionsTree } from '../../data-operations/filtering-expressions-tree';
@@ -16,7 +16,7 @@ import * as i0 from "@angular/core";
16
16
  * <igx-grid-toolbar-advanced-filtering>Custom text</igx-grid-toolbar-advanced-filtering>
17
17
  * ```
18
18
  */
19
- export declare class IgxGridToolbarAdvancedFilteringComponent implements AfterViewInit {
19
+ export declare class IgxGridToolbarAdvancedFilteringComponent implements OnInit {
20
20
  private toolbar;
21
21
  protected numberOfColumns: number;
22
22
  /**
@@ -29,7 +29,7 @@ export declare class IgxGridToolbarAdvancedFilteringComponent implements AfterVi
29
29
  /**
30
30
  * @hidden
31
31
  */
32
- ngAfterViewInit(): void;
32
+ ngOnInit(): void;
33
33
  protected extractUniqueFieldNamesFromFilterTree(filteringTree?: IFilteringExpressionsTree): string[];
34
34
  static ɵfac: i0.ɵɵFactoryDeclaration<IgxGridToolbarAdvancedFilteringComponent, never>;
35
35
  static ɵcmp: i0.ɵɵComponentDeclaration<IgxGridToolbarAdvancedFilteringComponent, "igx-grid-toolbar-advanced-filtering", never, { "overlaySettings": { "alias": "overlaySettings"; "required": false; }; }, {}, never, ["*"], true, never>;