igniteui-angular 22.1.3 → 22.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 (158) hide show
  1. package/README.md +2 -2
  2. package/combo/README.md +19 -0
  3. package/drop-down/README.md +40 -4
  4. package/fesm2022/igniteui-angular-accordion.mjs +7 -7
  5. package/fesm2022/igniteui-angular-action-strip.mjs +15 -12
  6. package/fesm2022/igniteui-angular-action-strip.mjs.map +1 -1
  7. package/fesm2022/igniteui-angular-avatar.mjs +7 -7
  8. package/fesm2022/igniteui-angular-badge.mjs +7 -7
  9. package/fesm2022/igniteui-angular-banner.mjs +15 -12
  10. package/fesm2022/igniteui-angular-banner.mjs.map +1 -1
  11. package/fesm2022/igniteui-angular-bottom-nav.mjs +22 -22
  12. package/fesm2022/igniteui-angular-button-group.mjs +12 -13
  13. package/fesm2022/igniteui-angular-button-group.mjs.map +1 -1
  14. package/fesm2022/igniteui-angular-calendar.mjs +73 -66
  15. package/fesm2022/igniteui-angular-calendar.mjs.map +1 -1
  16. package/fesm2022/igniteui-angular-card.mjs +31 -31
  17. package/fesm2022/igniteui-angular-carousel.mjs +27 -24
  18. package/fesm2022/igniteui-angular-carousel.mjs.map +1 -1
  19. package/fesm2022/igniteui-angular-chat-extras.mjs +6 -6
  20. package/fesm2022/igniteui-angular-chat.mjs +12 -12
  21. package/fesm2022/igniteui-angular-checkbox.mjs +7 -7
  22. package/fesm2022/igniteui-angular-chips.mjs +15 -12
  23. package/fesm2022/igniteui-angular-chips.mjs.map +1 -1
  24. package/fesm2022/igniteui-angular-combo.mjs +273 -122
  25. package/fesm2022/igniteui-angular-combo.mjs.map +1 -1
  26. package/fesm2022/igniteui-angular-core.mjs +188 -59
  27. package/fesm2022/igniteui-angular-core.mjs.map +1 -1
  28. package/fesm2022/igniteui-angular-date-picker.mjs +76 -82
  29. package/fesm2022/igniteui-angular-date-picker.mjs.map +1 -1
  30. package/fesm2022/igniteui-angular-dialog.mjs +13 -13
  31. package/fesm2022/igniteui-angular-directives.mjs +321 -457
  32. package/fesm2022/igniteui-angular-directives.mjs.map +1 -1
  33. package/fesm2022/igniteui-angular-drop-down.mjs +331 -104
  34. package/fesm2022/igniteui-angular-drop-down.mjs.map +1 -1
  35. package/fesm2022/igniteui-angular-expansion-panel.mjs +28 -28
  36. package/fesm2022/igniteui-angular-grids-core.mjs +556 -518
  37. package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
  38. package/fesm2022/igniteui-angular-grids-grid.mjs +91 -85
  39. package/fesm2022/igniteui-angular-grids-grid.mjs.map +1 -1
  40. package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs +59 -46
  41. package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs.map +1 -1
  42. package/fesm2022/igniteui-angular-grids-lite.mjs +12 -12
  43. package/fesm2022/igniteui-angular-grids-pivot-grid.mjs +113 -86
  44. package/fesm2022/igniteui-angular-grids-pivot-grid.mjs.map +1 -1
  45. package/fesm2022/igniteui-angular-grids-tree-grid.mjs +57 -57
  46. package/fesm2022/igniteui-angular-grids-tree-grid.mjs.map +1 -1
  47. package/fesm2022/igniteui-angular-icon.mjs +10 -10
  48. package/fesm2022/igniteui-angular-input-group.mjs +52 -63
  49. package/fesm2022/igniteui-angular-input-group.mjs.map +1 -1
  50. package/fesm2022/igniteui-angular-list.mjs +45 -42
  51. package/fesm2022/igniteui-angular-list.mjs.map +1 -1
  52. package/fesm2022/igniteui-angular-navbar.mjs +13 -13
  53. package/fesm2022/igniteui-angular-navigation-drawer.mjs +16 -16
  54. package/fesm2022/igniteui-angular-paginator.mjs +24 -21
  55. package/fesm2022/igniteui-angular-paginator.mjs.map +1 -1
  56. package/fesm2022/igniteui-angular-progressbar.mjs +19 -19
  57. package/fesm2022/igniteui-angular-query-builder.mjs +44 -31
  58. package/fesm2022/igniteui-angular-query-builder.mjs.map +1 -1
  59. package/fesm2022/igniteui-angular-radio.mjs +59 -35
  60. package/fesm2022/igniteui-angular-radio.mjs.map +1 -1
  61. package/fesm2022/igniteui-angular-select.mjs +35 -43
  62. package/fesm2022/igniteui-angular-select.mjs.map +1 -1
  63. package/fesm2022/igniteui-angular-simple-combo.mjs +44 -33
  64. package/fesm2022/igniteui-angular-simple-combo.mjs.map +1 -1
  65. package/fesm2022/igniteui-angular-slider.mjs +28 -28
  66. package/fesm2022/igniteui-angular-snackbar.mjs +7 -7
  67. package/fesm2022/igniteui-angular-splitter.mjs +37 -27
  68. package/fesm2022/igniteui-angular-splitter.mjs.map +1 -1
  69. package/fesm2022/igniteui-angular-stepper.mjs +34 -34
  70. package/fesm2022/igniteui-angular-switch.mjs +7 -7
  71. package/fesm2022/igniteui-angular-tabs.mjs +34 -34
  72. package/fesm2022/igniteui-angular-time-picker.mjs +34 -40
  73. package/fesm2022/igniteui-angular-time-picker.mjs.map +1 -1
  74. package/fesm2022/igniteui-angular-toast.mjs +7 -7
  75. package/fesm2022/igniteui-angular-tree.mjs +33 -30
  76. package/fesm2022/igniteui-angular-tree.mjs.map +1 -1
  77. package/fesm2022/igniteui-angular-virtual-scroll.mjs +1257 -0
  78. package/fesm2022/igniteui-angular-virtual-scroll.mjs.map +1 -0
  79. package/fesm2022/igniteui-angular.mjs +1 -0
  80. package/fesm2022/igniteui-angular.mjs.map +1 -1
  81. package/input-group/README.md +2 -0
  82. package/lib/core/styles/components/scrollbar/scrollbar-component.scss +0 -2
  83. package/lib/core/styles/components/scrollbar/scrollbar-theme.scss +23 -51
  84. package/lib/grids/core/src/column-actions/themes/_derived.scss +3 -3
  85. package/lib/grids/core/src/filtering/excel-style/themes/_derived.scss +3 -3
  86. package/lib/grids/themes/_derived.scss +3 -3
  87. package/lib/query-builder/src/query-builder/themes/_derived.scss +3 -3
  88. package/migrations/migration-collection.json +10 -0
  89. package/migrations/update-22_2_0/changes/theme-changes.json +77 -0
  90. package/migrations/update-22_2_0/index.d.ts +3 -0
  91. package/migrations/update-22_2_0/index.js +18 -0
  92. package/migrations/update-22_2_0/index.spec.d.ts +1 -0
  93. package/migrations/update-22_2_0/index.spec.js +88 -0
  94. package/migrations/update-22_2_0_grid-summary-borders/changes/theme-changes.json +17 -0
  95. package/migrations/update-22_2_0_grid-summary-borders/index.d.ts +3 -0
  96. package/migrations/update-22_2_0_grid-summary-borders/index.js +64 -0
  97. package/migrations/update-22_2_0_grid-summary-borders/index.spec.d.ts +1 -0
  98. package/migrations/update-22_2_0_grid-summary-borders/index.spec.js +100 -0
  99. package/package.json +6 -2
  100. package/schematics/tsconfig.tsbuildinfo +1 -1
  101. package/simple-combo/README.md +3 -0
  102. package/skills/igniteui-angular-components/references/form-controls.md +58 -0
  103. package/styles/igniteui-angular-dark.css +1 -1
  104. package/styles/igniteui-angular.css +1 -1
  105. package/styles/igniteui-bootstrap-dark.css +1 -1
  106. package/styles/igniteui-bootstrap-light.css +1 -1
  107. package/styles/igniteui-dark-green.css +1 -1
  108. package/styles/igniteui-fluent-dark-excel.css +1 -1
  109. package/styles/igniteui-fluent-dark-word.css +1 -1
  110. package/styles/igniteui-fluent-dark.css +1 -1
  111. package/styles/igniteui-fluent-light-excel.css +1 -1
  112. package/styles/igniteui-fluent-light-word.css +1 -1
  113. package/styles/igniteui-fluent-light.css +1 -1
  114. package/styles/igniteui-indigo-dark.css +1 -1
  115. package/styles/igniteui-indigo-light.css +1 -1
  116. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  117. package/styles/maps/igniteui-angular.css.map +1 -1
  118. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  119. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  120. package/styles/maps/igniteui-dark-green.css.map +1 -1
  121. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  122. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  123. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  124. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  125. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  126. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  127. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  128. package/styles/maps/igniteui-indigo-light.css.map +1 -1
  129. package/types/igniteui-angular-action-strip.d.ts +1 -0
  130. package/types/igniteui-angular-banner.d.ts +1 -0
  131. package/types/igniteui-angular-calendar.d.ts +3 -1
  132. package/types/igniteui-angular-carousel.d.ts +1 -0
  133. package/types/igniteui-angular-chips.d.ts +1 -0
  134. package/types/igniteui-angular-combo.d.ts +56 -12
  135. package/types/igniteui-angular-core.d.ts +64 -11
  136. package/types/igniteui-angular-date-picker.d.ts +4 -4
  137. package/types/igniteui-angular-directives.d.ts +50 -164
  138. package/types/igniteui-angular-drop-down.d.ts +76 -4
  139. package/types/igniteui-angular-grids-core.d.ts +64 -28
  140. package/types/igniteui-angular-grids-grid.d.ts +4 -7
  141. package/types/igniteui-angular-grids-hierarchical-grid.d.ts +5 -4
  142. package/types/igniteui-angular-grids-pivot-grid.d.ts +11 -5
  143. package/types/igniteui-angular-grids-tree-grid.d.ts +1 -1
  144. package/types/igniteui-angular-icon.d.ts +1 -1
  145. package/types/igniteui-angular-input-group.d.ts +2 -2
  146. package/types/igniteui-angular-list.d.ts +1 -0
  147. package/types/igniteui-angular-paginator.d.ts +1 -0
  148. package/types/igniteui-angular-query-builder.d.ts +5 -1
  149. package/types/igniteui-angular-radio.d.ts +16 -1
  150. package/types/igniteui-angular-select.d.ts +1 -2
  151. package/types/igniteui-angular-simple-combo.d.ts +7 -0
  152. package/types/igniteui-angular-splitter.d.ts +6 -1
  153. package/types/igniteui-angular-stepper.d.ts +1 -1
  154. package/types/igniteui-angular-time-picker.d.ts +2 -2
  155. package/types/igniteui-angular-tree.d.ts +4 -3
  156. package/types/igniteui-angular-virtual-scroll.d.ts +408 -0
  157. package/types/igniteui-angular.d.ts +1 -0
  158. package/virtual-scroll/README.md +332 -0
@@ -1,80 +1,55 @@
1
1
  import * as i0 from '@angular/core';
2
- import { ElementRef, EventEmitter, AfterViewInit, ChangeDetectorRef, Renderer2, AfterContentInit, OnDestroy, TemplateRef, QueryList, EmbeddedViewRef, ViewContainerRef, NgZone, OnInit, OnChanges, SimpleChanges, PipeTransform, ComponentRef, IterableDiffers, EnvironmentInjector, IterableDiffer, TrackByFunction, IterableChanges, AfterViewChecked } from '@angular/core';
2
+ import { EventEmitter, AfterViewInit, ChangeDetectorRef, ElementRef, Renderer2, AfterContentInit, OnDestroy, TemplateRef, QueryList, EmbeddedViewRef, ViewContainerRef, NgZone, OnInit, OnChanges, SimpleChanges, PipeTransform, ComponentRef, IterableDiffers, EnvironmentInjector, IterableDiffer, TrackByFunction, IterableChanges, AfterViewChecked } from '@angular/core';
3
3
  import { IBaseEventArgs, PlatformUtil, IToggleView, IgxOverlayService, CancelableBrowserEventArgs, OverlaySettings, OffsetMode, IgxNavigationService, IgxOverlayOutletDirective, PositionSettings, AutoPositionStrategy, Size, Point, ConnectedFit, DatePartDeltas, DatePart, IPositionStrategy } from 'igniteui-angular/core';
4
4
  import { NgControl, ControlValueAccessor, Validator, AbstractControl, ValidationErrors } from '@angular/forms';
5
5
  import { Subject } from 'rxjs';
6
6
  import { NgForOfContext } from '@angular/common';
7
7
 
8
+ /**
9
+ * The Focus Ring directive provides a way to style an element when it has keyboard focus.
10
+ * It listens for keyboard and pointer events to determine when to apply the focus ring styles.
11
+ * @hidden @internal
12
+ */
13
+ declare class IgxFocusRingDirective {
14
+ protected readonly _hasKeyboardFocus: i0.WritableSignal<boolean>;
15
+ /** Indicates whether the element has keyboard focus. */
16
+ readonly hasKeyboardFocus: i0.Signal<boolean>;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<IgxFocusRingDirective, never>;
18
+ static ɵdir: i0.ɵɵDirectiveDeclaration<IgxFocusRingDirective, "[igxFocusRing]", never, {}, {}, never, never, true, never>;
19
+ }
20
+
8
21
  declare const IgxBaseButtonType: {
9
22
  readonly Flat: "flat";
10
23
  readonly Contained: "contained";
11
24
  readonly Outlined: "outlined";
12
25
  };
13
26
  declare abstract class IgxButtonBaseDirective {
14
- element: ElementRef<any>;
15
- /** `--ready` modifier that enables transitions; overridden by icon-button. */
16
- protected readyClass: string;
17
- constructor();
27
+ private readonly _element;
28
+ protected readonly _hasKeyboardFocus: i0.Signal<boolean>;
18
29
  /**
19
- * Emitted when the button is clicked.
30
+ * Set after the first paint. Subclasses bind it to their `--ready` modifier,
31
+ * which gates the CSS transitions so a button doesn't animate its resting
32
+ * styles on mount (#14759 / #16817).
20
33
  */
21
- buttonClick: EventEmitter<any>;
34
+ protected readonly _hasRendered: i0.WritableSignal<boolean>;
35
+ protected readonly _disabled: i0.WritableSignal<boolean>;
22
36
  /**
23
- * Sets/gets the `role` attribute.
37
+ * Gets or sets whether the button is disabled.
24
38
  *
25
39
  * @example
26
- * ```typescript
27
- * this.button.role = 'navbutton';
28
- * let buttonRole = this.button.role;
29
- * ```
30
- */
31
- role: string;
32
- /**
33
- * @hidden
34
- * @internal
35
- */
36
- onClick(ev: MouseEvent): void;
37
- /**
38
- * @hidden
39
- * @internal
40
- */
41
- protected onBlur(): void;
42
- /**
43
- * Sets/gets whether the button component is on focus.
44
- * Default value is `false`.
45
- * ```typescript
46
- * this.button.focus = true;
47
- * ```
48
- * ```typescript
49
- * let isFocused = this.button.focused;
40
+ * ```html
41
+ * <button type="button" igxButton="flat" [disabled]="isDisabled"></button>
50
42
  * ```
51
43
  */
52
- protected focused: boolean;
53
- /**
54
- * Enables/disables the button.
55
- *
56
- * @example
57
- * ```html
58
- * <button igxButton="fab" disabled></button>
59
- * ```
60
- */
61
- disabled: boolean;
62
- /**
63
- * @hidden
64
- * @internal
65
- */
66
- get disabledAttribute(): true | null;
67
- /**
68
- * @hidden
69
- * @internal
70
- */
71
- protected updateOnKeyUp(event: KeyboardEvent): void;
72
- /**
73
- * Returns the underlying DOM element.
74
- */
75
- get nativeElement(): any;
44
+ set disabled(value: boolean);
45
+ get disabled(): boolean;
46
+ /** Emitted when the button is clicked. */
47
+ readonly buttonClick: EventEmitter<MouseEvent>;
48
+ /** Returns the underlying DOM element. */
49
+ get nativeElement(): HTMLElement;
50
+ constructor();
76
51
  static ɵfac: i0.ɵɵFactoryDeclaration<IgxButtonBaseDirective, never>;
77
- static ɵdir: i0.ɵɵDirectiveDeclaration<IgxButtonBaseDirective, never, never, { "disabled": { "alias": "disabled"; "required": false; }; }, { "buttonClick": "buttonClick"; }, never, never, true, never>;
52
+ static ɵdir: i0.ɵɵDirectiveDeclaration<IgxButtonBaseDirective, never, never, { "disabled": { "alias": "disabled"; "required": false; }; }, { "buttonClick": "buttonClick"; }, never, never, true, [{ directive: typeof IgxFocusRingDirective; inputs: {}; outputs: {}; }]>;
78
53
  static ngAcceptInputType_disabled: unknown;
79
54
  }
80
55
 
@@ -84,9 +59,7 @@ declare const IgxButtonType: {
84
59
  readonly Contained: "contained";
85
60
  readonly Outlined: "outlined";
86
61
  };
87
- /**
88
- * Determines the Button type.
89
- */
62
+ /** The type of the button. */
90
63
  type IgxButtonType = typeof IgxButtonType[keyof typeof IgxButtonType];
91
64
  /**
92
65
  * The Button directive provides the Ignite UI Button functionality to every component that's intended to be used as a button.
@@ -108,43 +81,11 @@ type IgxButtonType = typeof IgxButtonType[keyof typeof IgxButtonType];
108
81
  * ```
109
82
  */
110
83
  declare class IgxButtonDirective extends IgxButtonBaseDirective {
111
- private _renderer;
112
- private static ngAcceptInputType_type;
113
- /**
114
- * Called when the button is selected.
115
- */
116
- buttonSelected: EventEmitter<IButtonEventArgs>;
117
- /**
118
- * @hidden
119
- * @internal
120
- */
121
- _cssClass: string;
122
- /**
123
- * @hidden
124
- * @internal
125
- */
126
- private _type;
127
- /**
128
- * @hidden
129
- * @internal
130
- */
131
- private _color;
132
- /**
133
- * @hidden
134
- * @internal
135
- */
136
- private _label;
137
- /**
138
- * @hidden
139
- * @internal
140
- */
141
- private _backgroundColor;
142
- /**
143
- * @hidden
144
- * @internal
145
- */
146
- private _selected;
147
- protected emitSelected(): void;
84
+ protected readonly _type: i0.WritableSignal<IgxButtonType>;
85
+ protected readonly _label: i0.WritableSignal<string | null>;
86
+ protected readonly _selected: i0.WritableSignal<boolean>;
87
+ /** Emitted when the button is selected. */
88
+ readonly buttonSelected: EventEmitter<IButtonEventArgs>;
148
89
  /**
149
90
  * Gets or sets whether the button is selected.
150
91
  * Mainly used in the button group component and it will have no effect if set separately.
@@ -156,7 +97,6 @@ declare class IgxButtonDirective extends IgxButtonBaseDirective {
156
97
  */
157
98
  set selected(value: boolean);
158
99
  get selected(): boolean;
159
- constructor();
160
100
  /**
161
101
  * Sets the type of the button.
162
102
  *
@@ -175,39 +115,10 @@ declare class IgxButtonDirective extends IgxButtonBaseDirective {
175
115
  * ```
176
116
  */
177
117
  set label(value: string);
178
- /**
179
- * @hidden
180
- * @internal
181
- */
182
- get flat(): boolean;
183
- /**
184
- * @hidden
185
- * @internal
186
- */
187
- get contained(): boolean;
188
- /**
189
- * @hidden
190
- * @internal
191
- */
192
- get outlined(): boolean;
193
- /**
194
- * @hidden
195
- * @internal
196
- */
197
- get fab(): boolean;
198
- /**
199
- * @hidden
200
- * @internal
201
- */
202
- select(): void;
203
- /**
204
- * @hidden
205
- * @internal
206
- */
207
- deselect(): void;
208
118
  static ɵfac: i0.ɵɵFactoryDeclaration<IgxButtonDirective, never>;
209
119
  static ɵdir: i0.ɵɵDirectiveDeclaration<IgxButtonDirective, "[igxButton]", never, { "selected": { "alias": "selected"; "required": false; }; "type": { "alias": "igxButton"; "required": false; }; "label": { "alias": "igxLabel"; "required": false; }; }, { "buttonSelected": "buttonSelected"; }, never, never, true, never>;
210
120
  static ngAcceptInputType_selected: unknown;
121
+ static ngAcceptInputType_type: IgxButtonType | "" | null | undefined;
211
122
  }
212
123
  interface IButtonEventArgs extends IBaseEventArgs {
213
124
  button: IgxButtonDirective;
@@ -222,9 +133,10 @@ interface IChangeCheckboxEventArgs extends IBaseEventArgs {
222
133
  checked: boolean;
223
134
  value?: any;
224
135
  }
225
- declare class CheckboxBaseDirective implements AfterViewInit {
136
+ declare abstract class CheckboxBaseDirective implements AfterViewInit {
226
137
  protected cdr: ChangeDetectorRef;
227
138
  ngControl: NgControl | null;
139
+ private control;
228
140
  /**
229
141
  * An event that is emitted after the checkbox state is changed.
230
142
  * Provides references to the checkbox and the `checked` property as event arguments.
@@ -254,7 +166,7 @@ declare class CheckboxBaseDirective implements AfterViewInit {
254
166
  */
255
167
  nativeLabel: ElementRef;
256
168
  cssClass: string;
257
- disabled: boolean;
169
+ abstract disabled: boolean;
258
170
  readonly: boolean;
259
171
  indeterminate: boolean;
260
172
  focused: boolean;
@@ -1639,14 +1551,14 @@ declare class IgxForOfSyncService {
1639
1551
  */
1640
1552
  chunkSize(dir: string): number;
1641
1553
  static ɵfac: i0.ɵɵFactoryDeclaration<IgxForOfSyncService, never>;
1642
- static ɵprov: i0.ɵɵInjectableDeclaration<IgxForOfSyncService>;
1554
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
1643
1555
  }
1644
1556
  declare class IgxForOfScrollSyncService {
1645
1557
  private _masterScroll;
1646
1558
  setScrollMaster(dir: string, scroll: VirtualHelperBaseDirective): void;
1647
1559
  getScrollMaster(dir: string): VirtualHelperBaseDirective | undefined;
1648
1560
  static ɵfac: i0.ɵɵFactoryDeclaration<IgxForOfScrollSyncService, never>;
1649
- static ɵprov: i0.ɵɵInjectableDeclaration<IgxForOfScrollSyncService>;
1561
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
1650
1562
  }
1651
1563
 
1652
1564
  /**
@@ -2308,19 +2220,7 @@ type IgxIconButtonType = typeof IgxBaseButtonType[keyof typeof IgxBaseButtonType
2308
2220
  * ```
2309
2221
  */
2310
2222
  declare class IgxIconButtonDirective extends IgxButtonBaseDirective {
2311
- private static ngAcceptInputType_type;
2312
- protected readyClass: string;
2313
- constructor();
2314
- /**
2315
- * @hidden
2316
- * @internal
2317
- */
2318
- protected _cssClass: string;
2319
- /**
2320
- * @hidden
2321
- * @internal
2322
- */
2323
- private _type;
2223
+ protected readonly _type: i0.WritableSignal<IgxIconButtonType>;
2324
2224
  /**
2325
2225
  * Sets the type of the icon button.
2326
2226
  *
@@ -2330,23 +2230,9 @@ declare class IgxIconButtonDirective extends IgxButtonBaseDirective {
2330
2230
  * ```
2331
2231
  */
2332
2232
  set type(type: IgxIconButtonType);
2333
- /**
2334
- * @hidden
2335
- * @internal
2336
- */
2337
- get flat(): boolean;
2338
- /**
2339
- * @hidden
2340
- * @internal
2341
- */
2342
- get contained(): boolean;
2343
- /**
2344
- * @hidden
2345
- * @internal
2346
- */
2347
- get outlined(): boolean;
2348
2233
  static ɵfac: i0.ɵɵFactoryDeclaration<IgxIconButtonDirective, never>;
2349
2234
  static ɵdir: i0.ɵɵDirectiveDeclaration<IgxIconButtonDirective, "[igxIconButton]", never, { "type": { "alias": "igxIconButton"; "required": false; }; }, {}, never, never, true, never>;
2235
+ static ngAcceptInputType_type: IgxIconButtonType | "" | null | undefined;
2350
2236
  }
2351
2237
 
2352
2238
  declare class IgxLayoutDirective {
@@ -2561,7 +2447,7 @@ declare class MaskParsingService {
2561
2447
  private getNonLiteralValues;
2562
2448
  private replaceIMENumbers;
2563
2449
  static ɵfac: i0.ɵɵFactoryDeclaration<MaskParsingService, never>;
2564
- static ɵprov: i0.ɵɵInjectableDeclaration<MaskParsingService>;
2450
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
2565
2451
  }
2566
2452
 
2567
2453
  declare class IgxMaskDirective implements OnInit, AfterViewChecked, ControlValueAccessor {
@@ -4185,7 +4071,7 @@ declare class IgcFormControlDirective implements ControlValueAccessor {
4185
4071
  /** @hidden @internal */
4186
4072
  onBlur(): void;
4187
4073
  /** @hidden @internal */
4188
- listenForValueChange(value: any): void;
4074
+ listenForValueChange(event: Event): void;
4189
4075
  /** @hidden @internal */
4190
4076
  writeValue(value: any): void;
4191
4077
  /** @hidden @internal */
@@ -4195,7 +4081,7 @@ declare class IgcFormControlDirective implements ControlValueAccessor {
4195
4081
  /** @hidden @internal */
4196
4082
  setDisabledState(isDisabled: boolean): void;
4197
4083
  static ɵfac: i0.ɵɵFactoryDeclaration<IgcFormControlDirective, never>;
4198
- static ɵdir: i0.ɵɵDirectiveDeclaration<IgcFormControlDirective, "igc-rating[ngModel],igc-rating[formControlName]", never, {}, {}, never, never, true, never>;
4084
+ static ɵdir: i0.ɵɵDirectiveDeclaration<IgcFormControlDirective, "igc-rating[ngModel],igc-rating[formControlName],igc-color-picker[ngModel],igc-color-picker[formControlName]", never, {}, {}, never, never, true, never>;
4199
4085
  }
4200
4086
 
4201
4087
  declare abstract class IgxNotificationsDirective extends IgxToggleDirective implements IToggleView, OnDestroy {
@@ -4281,7 +4167,7 @@ declare class IgxTextHighlightService {
4281
4167
  */
4282
4168
  destroyGroup(groupName: string): void;
4283
4169
  static ɵfac: i0.ɵɵFactoryDeclaration<IgxTextHighlightService, never>;
4284
- static ɵprov: i0.ɵɵInjectableDeclaration<IgxTextHighlightService>;
4170
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
4285
4171
  }
4286
4172
 
4287
4173
  /**
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { EventEmitter, InjectionToken, DoCheck, ElementRef, OnInit, ChangeDetectorRef, QueryList, OnChanges, AfterViewInit, OnDestroy, SimpleChanges } from '@angular/core';
3
3
  import { CancelableEventArgs, IBaseEventArgs, IToggleView, CancelableBrowserEventArgs, IgxSelectionAPIService, IBaseCancelableBrowserEventArgs, OverlaySettings, IPositionStrategy, IScrollStrategy, IgxOverlayOutletDirective } from 'igniteui-angular/core';
4
- import { IgxForOfToken, IgxToggleDirective, ToggleViewEventArgs } from 'igniteui-angular/directives';
4
+ import { IgxToggleDirective, ToggleViewEventArgs } from 'igniteui-angular/directives';
5
5
  import { Subject } from 'rxjs';
6
6
  import { NgModel, FormControlName } from '@angular/forms';
7
7
  import { IgxInputGroupComponent } from 'igniteui-angular/input-group';
@@ -619,6 +619,43 @@ declare class IgxDropDownItemNavigationDirective implements IDropDownNavigationD
619
619
  static ɵdir: i0.ɵɵDirectiveDeclaration<IgxDropDownItemNavigationDirective, "[igxDropDownItemNavigation]", never, { "target": { "alias": "igxDropDownItemNavigation"; "required": false; }; }, {}, never, never, true, never>;
620
620
  }
621
621
 
622
+ /**
623
+ * @hidden @internal
624
+ *
625
+ * What differs between a projected `*igxFor` and a projected `igx-virtual-scroll`, so the
626
+ * drop-down keeps one path for navigation, scrolling and active-descendant tracking.
627
+ * Items are addressed by their index in the whole collection, not in the loaded subset.
628
+ */
629
+ interface IgxDropDownVirtualization {
630
+ /** How many items the collection has, including any a remote service has not sent. */
631
+ readonly length: number;
632
+ /** The collection index the loaded items begin at; 0 unless the collection is paged. */
633
+ readonly startIndex: number;
634
+ /** The element that scrolls, for listeners and for restoring the offset on reopen. */
635
+ readonly scrollElement: HTMLElement;
636
+ /** Scroll offset of the virtualized viewport. */
637
+ scrollPosition: number;
638
+ /** The item at a collection index, or `undefined` when it is not loaded. */
639
+ itemAt(index: number): any;
640
+ /** The collection index of the first loaded item that matches, or -1. */
641
+ findIndex(predicate: (item: any) => boolean): number;
642
+ /** Whether an index currently has an element in the DOM. */
643
+ isIndexRendered(index: number): boolean;
644
+ /** Whether a record has been loaded for an index, rendered or not. */
645
+ isIndexLoaded(index: number): boolean;
646
+ /**
647
+ * Brings `index` into view, then runs `onRendered` once the scroll settled. The element
648
+ * can still be missing then, when the page holding it has not arrived.
649
+ */
650
+ scrollToIndex(index: number, direction: Navigate, onRendered: () => void): void;
651
+ /** Puts `index` in the middle of the viewport, for revealing the selection on open. */
652
+ alignToIndex(index: number): void;
653
+ /** Runs `callback` whenever the rendered window changes. */
654
+ onWindowChange(callback: () => void): void;
655
+ /** Drops the subscriptions, for when the projected content is replaced. */
656
+ disconnect(): void;
657
+ }
658
+
622
659
  /**
623
660
  * **Ignite UI for Angular DropDown** -
624
661
  * [Documentation](https://www.infragistics.com/products/ignite-ui-angular/angular/components/drop-down)
@@ -637,7 +674,15 @@ declare class IgxDropDownItemNavigationDirective implements IDropDownNavigationD
637
674
  */
638
675
  declare class IgxDropDownComponent extends IgxDropDownBaseDirective implements IDropDownBase, OnChanges, AfterViewInit, OnDestroy {
639
676
  protected selection: IgxSelectionAPIService;
677
+ private _reconcileInjector;
640
678
  protected _activeDescendantId: string | null;
679
+ /**
680
+ * The direction of a navigation whose header skip waits for its row to render.
681
+ * Focusing an item by any other means drops it.
682
+ */
683
+ private _pendingSkip;
684
+ /** Watches the data the projected virtual scroll renders from. */
685
+ private _renderedItems;
641
686
  /**
642
687
  * @hidden
643
688
  * @internal
@@ -709,7 +754,11 @@ declare class IgxDropDownComponent extends IgxDropDownBaseDirective implements I
709
754
  * ```
710
755
  */
711
756
  role: string;
712
- protected virtDir: IgxForOfToken<any>;
757
+ private _forOfQuery;
758
+ private _virtualScrollQuery;
759
+ private _virtualScrollRefQuery;
760
+ /** Set from the projected content in `ngAfterViewInit`, and again if that content changes. */
761
+ protected virtualization: IgxDropDownVirtualization | null;
713
762
  protected toggleDirective: IgxToggleDirective;
714
763
  protected scrollContainerRef: ElementRef;
715
764
  /**
@@ -743,6 +792,10 @@ declare class IgxDropDownComponent extends IgxDropDownBaseDirective implements I
743
792
  protected get collectionLength(): number | undefined;
744
793
  protected destroy$: Subject<boolean>;
745
794
  protected _scrollPosition: number;
795
+ /** The projected content the adapter was built for, to leave it alone while it stands. */
796
+ private _connectedForOf?;
797
+ private _connectedScroll?;
798
+ private _connectedElement?;
746
799
  /**
747
800
  * Opens the dropdown
748
801
  *
@@ -819,6 +872,26 @@ declare class IgxDropDownComponent extends IgxDropDownBaseDirective implements I
819
872
  */
820
873
  ngOnChanges(changes: SimpleChanges): void;
821
874
  ngAfterViewInit(): void;
875
+ /**
876
+ * Rebuilds the adapter for the projected content, dropping the previous one first.
877
+ * The component and element queries can refresh separately, so the pair is taken as one.
878
+ */
879
+ private connectVirtualization;
880
+ /**
881
+ * Keeps the item query in step with the rows a projected `igx-virtual-scroll` renders.
882
+ * The query collects them only while the view that declares them is checked, and a
883
+ * page arriving dirties the scroll rather than that view. Asking for the check is all
884
+ * it takes; `children.changes` reports the rest.
885
+ */
886
+ private watchRenderedItems;
887
+ /** Points `aria-activedescendant` at the item the focused index renders as, if any. */
888
+ protected refreshActiveDescendant(): void;
889
+ /**
890
+ * Names the row the focused index renders as and, once that row exists, moves off a
891
+ * header or a disabled item. The row can be missing when the scroll settles, because
892
+ * its page has not arrived; the item query reports it when it does.
893
+ */
894
+ private settleFocus;
822
895
  /** Keydown Handler */
823
896
  onItemActionKey(key: DropDownActionKey, event?: Event): void;
824
897
  /**
@@ -867,9 +940,8 @@ declare class IgxDropDownComponent extends IgxDropDownBaseDirective implements I
867
940
  protected focusItem(value: boolean): void;
868
941
  protected updateItemFocus(): void;
869
942
  protected skipHeader(direction: Navigate): void;
870
- private isIndexOutOfBounds;
871
943
  static ɵfac: i0.ɵɵFactoryDeclaration<IgxDropDownComponent, never>;
872
- static ɵcmp: i0.ɵɵComponentDeclaration<IgxDropDownComponent, "igx-drop-down", never, { "allowItemsFocus": { "alias": "allowItemsFocus"; "required": false; }; "labelledBy": { "alias": "labelledBy"; "required": false; }; "role": { "alias": "role"; "required": false; }; }, { "opening": "opening"; "opened": "opened"; "closing": "closing"; "closed": "closed"; }, ["virtDir", "children"], ["*"], true, never>;
944
+ static ɵcmp: i0.ɵɵComponentDeclaration<IgxDropDownComponent, "igx-drop-down", never, { "allowItemsFocus": { "alias": "allowItemsFocus"; "required": false; }; "labelledBy": { "alias": "labelledBy"; "required": false; }; "role": { "alias": "role"; "required": false; }; }, { "opening": "opening"; "opened": "opened"; "closing": "closing"; "closed": "closed"; }, ["children", "_forOfQuery", "_virtualScrollQuery", "_virtualScrollRefQuery"], ["*"], true, never>;
873
945
  static ngAcceptInputType_allowItemsFocus: unknown;
874
946
  }
875
947