igniteui-angular 22.1.4 → 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 (142) 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 +10 -10
  6. package/fesm2022/igniteui-angular-avatar.mjs +7 -7
  7. package/fesm2022/igniteui-angular-badge.mjs +7 -7
  8. package/fesm2022/igniteui-angular-banner.mjs +10 -10
  9. package/fesm2022/igniteui-angular-bottom-nav.mjs +22 -22
  10. package/fesm2022/igniteui-angular-button-group.mjs +12 -13
  11. package/fesm2022/igniteui-angular-button-group.mjs.map +1 -1
  12. package/fesm2022/igniteui-angular-calendar.mjs +61 -61
  13. package/fesm2022/igniteui-angular-card.mjs +31 -31
  14. package/fesm2022/igniteui-angular-carousel.mjs +22 -22
  15. package/fesm2022/igniteui-angular-chat-extras.mjs +6 -6
  16. package/fesm2022/igniteui-angular-chat.mjs +12 -12
  17. package/fesm2022/igniteui-angular-checkbox.mjs +7 -7
  18. package/fesm2022/igniteui-angular-chips.mjs +10 -10
  19. package/fesm2022/igniteui-angular-combo.mjs +268 -120
  20. package/fesm2022/igniteui-angular-combo.mjs.map +1 -1
  21. package/fesm2022/igniteui-angular-core.mjs +188 -59
  22. package/fesm2022/igniteui-angular-core.mjs.map +1 -1
  23. package/fesm2022/igniteui-angular-date-picker.mjs +71 -80
  24. package/fesm2022/igniteui-angular-date-picker.mjs.map +1 -1
  25. package/fesm2022/igniteui-angular-dialog.mjs +13 -13
  26. package/fesm2022/igniteui-angular-directives.mjs +321 -457
  27. package/fesm2022/igniteui-angular-directives.mjs.map +1 -1
  28. package/fesm2022/igniteui-angular-drop-down.mjs +331 -104
  29. package/fesm2022/igniteui-angular-drop-down.mjs.map +1 -1
  30. package/fesm2022/igniteui-angular-expansion-panel.mjs +28 -28
  31. package/fesm2022/igniteui-angular-grids-core.mjs +552 -516
  32. package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
  33. package/fesm2022/igniteui-angular-grids-grid.mjs +79 -80
  34. package/fesm2022/igniteui-angular-grids-grid.mjs.map +1 -1
  35. package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs +59 -46
  36. package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs.map +1 -1
  37. package/fesm2022/igniteui-angular-grids-lite.mjs +12 -12
  38. package/fesm2022/igniteui-angular-grids-pivot-grid.mjs +113 -86
  39. package/fesm2022/igniteui-angular-grids-pivot-grid.mjs.map +1 -1
  40. package/fesm2022/igniteui-angular-grids-tree-grid.mjs +57 -57
  41. package/fesm2022/igniteui-angular-grids-tree-grid.mjs.map +1 -1
  42. package/fesm2022/igniteui-angular-icon.mjs +10 -10
  43. package/fesm2022/igniteui-angular-input-group.mjs +47 -61
  44. package/fesm2022/igniteui-angular-input-group.mjs.map +1 -1
  45. package/fesm2022/igniteui-angular-list.mjs +40 -40
  46. package/fesm2022/igniteui-angular-navbar.mjs +13 -13
  47. package/fesm2022/igniteui-angular-navigation-drawer.mjs +16 -16
  48. package/fesm2022/igniteui-angular-paginator.mjs +19 -19
  49. package/fesm2022/igniteui-angular-progressbar.mjs +19 -19
  50. package/fesm2022/igniteui-angular-query-builder.mjs +23 -23
  51. package/fesm2022/igniteui-angular-query-builder.mjs.map +1 -1
  52. package/fesm2022/igniteui-angular-radio.mjs +59 -35
  53. package/fesm2022/igniteui-angular-radio.mjs.map +1 -1
  54. package/fesm2022/igniteui-angular-select.mjs +35 -43
  55. package/fesm2022/igniteui-angular-select.mjs.map +1 -1
  56. package/fesm2022/igniteui-angular-simple-combo.mjs +44 -33
  57. package/fesm2022/igniteui-angular-simple-combo.mjs.map +1 -1
  58. package/fesm2022/igniteui-angular-slider.mjs +28 -28
  59. package/fesm2022/igniteui-angular-snackbar.mjs +7 -7
  60. package/fesm2022/igniteui-angular-splitter.mjs +13 -13
  61. package/fesm2022/igniteui-angular-stepper.mjs +34 -34
  62. package/fesm2022/igniteui-angular-switch.mjs +7 -7
  63. package/fesm2022/igniteui-angular-tabs.mjs +34 -34
  64. package/fesm2022/igniteui-angular-time-picker.mjs +29 -38
  65. package/fesm2022/igniteui-angular-time-picker.mjs.map +1 -1
  66. package/fesm2022/igniteui-angular-toast.mjs +7 -7
  67. package/fesm2022/igniteui-angular-tree.mjs +28 -28
  68. package/fesm2022/igniteui-angular-virtual-scroll.mjs +1257 -0
  69. package/fesm2022/igniteui-angular-virtual-scroll.mjs.map +1 -0
  70. package/fesm2022/igniteui-angular.mjs +1 -0
  71. package/fesm2022/igniteui-angular.mjs.map +1 -1
  72. package/input-group/README.md +2 -0
  73. package/lib/core/styles/components/scrollbar/scrollbar-component.scss +0 -2
  74. package/lib/core/styles/components/scrollbar/scrollbar-theme.scss +23 -51
  75. package/lib/grids/core/src/column-actions/themes/_derived.scss +3 -3
  76. package/lib/grids/core/src/filtering/excel-style/themes/_derived.scss +3 -3
  77. package/lib/grids/themes/_derived.scss +3 -3
  78. package/lib/query-builder/src/query-builder/themes/_derived.scss +3 -3
  79. package/migrations/migration-collection.json +10 -0
  80. package/migrations/update-22_2_0/changes/theme-changes.json +77 -0
  81. package/migrations/update-22_2_0/index.d.ts +3 -0
  82. package/migrations/update-22_2_0/index.js +18 -0
  83. package/migrations/update-22_2_0/index.spec.d.ts +1 -0
  84. package/migrations/update-22_2_0/index.spec.js +88 -0
  85. package/migrations/update-22_2_0_grid-summary-borders/changes/theme-changes.json +17 -0
  86. package/migrations/update-22_2_0_grid-summary-borders/index.d.ts +3 -0
  87. package/migrations/update-22_2_0_grid-summary-borders/index.js +64 -0
  88. package/migrations/update-22_2_0_grid-summary-borders/index.spec.d.ts +1 -0
  89. package/migrations/update-22_2_0_grid-summary-borders/index.spec.js +100 -0
  90. package/package.json +6 -2
  91. package/schematics/tsconfig.tsbuildinfo +1 -1
  92. package/simple-combo/README.md +3 -0
  93. package/skills/igniteui-angular-components/references/form-controls.md +58 -0
  94. package/styles/igniteui-angular-dark.css +1 -1
  95. package/styles/igniteui-angular.css +1 -1
  96. package/styles/igniteui-bootstrap-dark.css +1 -1
  97. package/styles/igniteui-bootstrap-light.css +1 -1
  98. package/styles/igniteui-dark-green.css +1 -1
  99. package/styles/igniteui-fluent-dark-excel.css +1 -1
  100. package/styles/igniteui-fluent-dark-word.css +1 -1
  101. package/styles/igniteui-fluent-dark.css +1 -1
  102. package/styles/igniteui-fluent-light-excel.css +1 -1
  103. package/styles/igniteui-fluent-light-word.css +1 -1
  104. package/styles/igniteui-fluent-light.css +1 -1
  105. package/styles/igniteui-indigo-dark.css +1 -1
  106. package/styles/igniteui-indigo-light.css +1 -1
  107. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  108. package/styles/maps/igniteui-angular.css.map +1 -1
  109. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  110. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  111. package/styles/maps/igniteui-dark-green.css.map +1 -1
  112. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  113. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  114. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  115. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  116. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  117. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  118. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  119. package/styles/maps/igniteui-indigo-light.css.map +1 -1
  120. package/types/igniteui-angular-calendar.d.ts +1 -1
  121. package/types/igniteui-angular-combo.d.ts +55 -12
  122. package/types/igniteui-angular-core.d.ts +64 -11
  123. package/types/igniteui-angular-date-picker.d.ts +3 -4
  124. package/types/igniteui-angular-directives.d.ts +50 -164
  125. package/types/igniteui-angular-drop-down.d.ts +76 -4
  126. package/types/igniteui-angular-grids-core.d.ts +63 -28
  127. package/types/igniteui-angular-grids-grid.d.ts +2 -7
  128. package/types/igniteui-angular-grids-hierarchical-grid.d.ts +5 -4
  129. package/types/igniteui-angular-grids-pivot-grid.d.ts +11 -5
  130. package/types/igniteui-angular-grids-tree-grid.d.ts +1 -1
  131. package/types/igniteui-angular-icon.d.ts +1 -1
  132. package/types/igniteui-angular-input-group.d.ts +1 -2
  133. package/types/igniteui-angular-query-builder.d.ts +1 -1
  134. package/types/igniteui-angular-radio.d.ts +16 -1
  135. package/types/igniteui-angular-select.d.ts +1 -2
  136. package/types/igniteui-angular-simple-combo.d.ts +7 -0
  137. package/types/igniteui-angular-stepper.d.ts +1 -1
  138. package/types/igniteui-angular-time-picker.d.ts +1 -2
  139. package/types/igniteui-angular-tree.d.ts +3 -3
  140. package/types/igniteui-angular-virtual-scroll.d.ts +408 -0
  141. package/types/igniteui-angular.d.ts +1 -0
  142. package/virtual-scroll/README.md +332 -0
@@ -6,7 +6,8 @@ import { ControlValueAccessor, NgControl } from '@angular/forms';
6
6
  import { IBaseEventArgs, CancelableBrowserEventArgs, IgxSelectionAPIService, OverlaySettings, SortingDirection, IComboResourceStrings, IBaseCancelableBrowserEventArgs, CancelableEventArgs, IBaseCancelableEventArgs, EditorProvider } from 'igniteui-angular/core';
7
7
  import * as igniteui_i18n_core from 'igniteui-i18n-core';
8
8
  import { Subject } from 'rxjs';
9
- import { IForOfState, IgxForOfDirective } from 'igniteui-angular/directives';
9
+ import { IForOfState } from 'igniteui-angular/directives';
10
+ import { IgxVirtualScrollComponent, VirtualScrollState, VirtualDataWindow } from 'igniteui-angular/virtual-scroll';
10
11
  import { IgxIconService } from 'igniteui-angular/icon';
11
12
  import { IgxDropDownItemComponent, Navigate, IgxDropDownComponent, IDropDownBase, IgxDropDownItemBaseDirective, DropDownActionKey } from 'igniteui-angular/drop-down';
12
13
 
@@ -26,7 +27,7 @@ declare class IgxComboAPIService {
26
27
  set_selected_item(itemID: any, event?: Event): void;
27
28
  is_item_selected(itemID: any): boolean;
28
29
  static ɵfac: i0.ɵɵFactoryDeclaration<IgxComboAPIService, never>;
29
- static ɵprov: i0.ɵɵInjectableDeclaration<IgxComboAPIService>;
30
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
30
31
  }
31
32
 
32
33
  declare const IGX_COMBO_COMPONENT: InjectionToken<IgxComboBase>;
@@ -579,8 +580,7 @@ declare abstract class IgxComboBaseDirective implements IgxComboBase, AfterViewC
579
580
  /** @hidden @internal */
580
581
  searchInput: ElementRef<HTMLInputElement>;
581
582
  /** @hidden @internal */
582
- virtualScrollContainer: IgxForOfDirective<any>;
583
- protected virtDir: IgxForOfDirective<any>;
583
+ virtualScrollContainer: IgxVirtualScrollComponent<any>;
584
584
  protected dropdownContainer: ElementRef;
585
585
  protected primitiveTemplate: TemplateRef<any>;
586
586
  protected complexTemplate: TemplateRef<any>;
@@ -671,7 +671,7 @@ declare abstract class IgxComboBaseDirective implements IgxComboBase, AfterViewC
671
671
  *
672
672
  * ```typescript
673
673
  * // set
674
- * this.combo.totalItemCount(remoteService.count);
674
+ * this.combo.totalItemCount = remoteService.count;
675
675
  * ```
676
676
  */
677
677
  set totalItemCount(count: number);
@@ -700,8 +700,18 @@ declare abstract class IgxComboBaseDirective implements IgxComboBase, AfterViewC
700
700
  */
701
701
  get filteringOptions(): IComboFilteringOptions;
702
702
  set filteringOptions(value: IComboFilteringOptions);
703
- protected containerSize: number | undefined;
704
- protected itemSize: undefined;
703
+ protected itemSize: number | undefined;
704
+ /** The wanted window, in the shape `virtualizationState` and `dataPreLoad` use. */
705
+ private _virtualizationState;
706
+ /** Where the records currently bound sit, which a pending request has not moved yet. */
707
+ private _loadedStartIndex;
708
+ /** The index the last asked-for range began at, which arriving records belong to. */
709
+ private _requestedStartIndex;
710
+ private _recordsByKey;
711
+ private _recordsByKeySource;
712
+ private _recordsByKeyLength;
713
+ private _recordsByKeyValueKey;
714
+ private _totalItemCount;
705
715
  protected _data: any[];
706
716
  protected _value: any[];
707
717
  protected _displayValue: string;
@@ -715,6 +725,7 @@ declare abstract class IgxComboBaseDirective implements IgxComboBase, AfterViewC
715
725
  protected _defaultResourceStrings: igniteui_i18n_core.PrefixedResourceStrings<igniteui_i18n_core.IComboResourceStrings, "igx_">;
716
726
  protected _valid: IgxInputState;
717
727
  protected ngControl: NgControl;
728
+ private control;
718
729
  protected destroy$: Subject<void>;
719
730
  protected _onTouchedCallback: () => void;
720
731
  protected _onChangeCallback: (_: any) => void;
@@ -742,6 +753,17 @@ declare abstract class IgxComboBaseDirective implements IgxComboBase, AfterViewC
742
753
  ngOnInit(): void;
743
754
  /** @hidden @internal */
744
755
  ngAfterViewInit(): void;
756
+ /** @hidden @internal The height the list gets, for the pass that opens the drop-down. */
757
+ protected get viewportSize(): number;
758
+ /** @hidden @internal The size rows are assumed to be until they are measured. */
759
+ protected get estimatedItemSize(): number;
760
+ /** @hidden @internal Where the loaded items sit in the collection they came from. */
761
+ protected get virtualStartIndex(): number;
762
+ /**
763
+ * @hidden @internal
764
+ * Reports the wanted window as `virtualizationState` and asks for the data behind it.
765
+ */
766
+ handleVirtualStateChange(state: VirtualScrollState): void;
745
767
  /** @hidden @internal */
746
768
  ngOnDestroy(): void;
747
769
  /**
@@ -799,6 +821,11 @@ declare abstract class IgxComboBaseDirective implements IgxComboBase, AfterViewC
799
821
  isAddButtonVisible(): boolean;
800
822
  /** @hidden @internal */
801
823
  handleInputChange(event?: any): void;
824
+ /**
825
+ * @hidden @internal
826
+ * Reports the start of the list without moving it. Returns a callback that puts it back.
827
+ */
828
+ private resetVirtualizationState;
802
829
  /**
803
830
  * Event handlers
804
831
  *
@@ -830,8 +857,6 @@ declare abstract class IgxComboBaseDirective implements IgxComboBase, AfterViewC
830
857
  toggleCaseSensitive(): void;
831
858
  protected onStatusChanged: () => void;
832
859
  private updateValidity;
833
- private get isTouchedOrDirty();
834
- private get hasValidators();
835
860
  /** if there is a valueKey - map the keys to data items, else - just return the keys */
836
861
  protected convertKeysToItems(keys: any[]): any[];
837
862
  protected checkMatch(): void;
@@ -938,7 +963,6 @@ declare class IgxComboDropDownComponent extends IgxDropDownComponent implements
938
963
  children: QueryList<IgxDropDownItemBaseDirective>;
939
964
  /** @hidden @internal */
940
965
  get scrollContainer(): HTMLElement;
941
- protected get isScrolledToLast(): boolean;
942
966
  protected get lastVisibleIndex(): number;
943
967
  protected get sortedChildren(): IgxDropDownItemBaseDirective[];
944
968
  /**
@@ -1374,7 +1398,26 @@ declare class IgxComboClearIconDirective {
1374
1398
  static ɵdir: i0.ɵɵDirectiveDeclaration<IgxComboClearIconDirective, "[igxComboClearIcon]", never, {}, {}, never, never, true, never>;
1375
1399
  }
1376
1400
 
1377
- /** @hidden */
1401
+ /**
1402
+ * @hidden @internal
1403
+ * Keeps the loaded records inside the remote total without changing their indices.
1404
+ * Runs before grouping, so headers do not count against the number of remote records.
1405
+ */
1406
+ declare class IgxComboRecordWindowPipe implements PipeTransform {
1407
+ transform(collection: any[], totalItemCount: number, startIndex: number): any[];
1408
+ static ɵfac: i0.ɵɵFactoryDeclaration<IgxComboRecordWindowPipe, never>;
1409
+ static ɵpipe: i0.ɵɵPipeDeclaration<IgxComboRecordWindowPipe, "comboRecordWindow", true>;
1410
+ }
1411
+ /**
1412
+ * @hidden @internal
1413
+ * The items the drop-down has and where they sit in the collection they came from. Pure, so
1414
+ * the window keeps its identity while its inputs do.
1415
+ */
1416
+ declare class IgxComboDataWindowPipe implements PipeTransform {
1417
+ transform(collection: any[], totalItemCount: number, startIndex: number): VirtualDataWindow<any>;
1418
+ static ɵfac: i0.ɵɵFactoryDeclaration<IgxComboDataWindowPipe, never>;
1419
+ static ɵpipe: i0.ɵɵPipeDeclaration<IgxComboDataWindowPipe, "comboDataWindow", true>;
1420
+ }
1378
1421
  declare class IgxComboFilteringPipe implements PipeTransform {
1379
1422
  transform(collection: any[], searchValue: any, displayKey: any, filteringOptions: IComboFilteringOptions, filterFunction?: (collection: any[], searchValue: any, filteringOptions: IComboFilteringOptions) => any[], disableFiltering?: boolean): any[];
1380
1423
  static ɵfac: i0.ɵɵFactoryDeclaration<IgxComboFilteringPipe, never>;
@@ -1422,5 +1465,5 @@ declare class IgxComboModule {
1422
1465
  static ɵinj: i0.ɵɵInjectorDeclaration<IgxComboModule>;
1423
1466
  }
1424
1467
 
1425
- export { DataTypes, IGX_COMBO_COMPONENT, IGX_COMBO_DIRECTIVES, IgxComboAPIService, IgxComboAddItemComponent, IgxComboAddItemDirective, IgxComboBaseDirective, IgxComboClearIconDirective, IgxComboComponent, IgxComboDropDownComponent, IgxComboEmptyDirective, IgxComboFilteringPipe, IgxComboFooterDirective, IgxComboGroupingPipe, IgxComboHeaderDirective, IgxComboHeaderItemDirective, IgxComboItemComponent, IgxComboItemDirective, IgxComboModule, IgxComboToggleIconDirective, comboIgnoreDiacriticsFilter };
1468
+ export { DataTypes, IGX_COMBO_COMPONENT, IGX_COMBO_DIRECTIVES, IgxComboAPIService, IgxComboAddItemComponent, IgxComboAddItemDirective, IgxComboBaseDirective, IgxComboClearIconDirective, IgxComboComponent, IgxComboDataWindowPipe, IgxComboDropDownComponent, IgxComboEmptyDirective, IgxComboFilteringPipe, IgxComboFooterDirective, IgxComboGroupingPipe, IgxComboHeaderDirective, IgxComboHeaderItemDirective, IgxComboItemComponent, IgxComboItemDirective, IgxComboModule, IgxComboRecordWindowPipe, IgxComboToggleIconDirective, comboIgnoreDiacriticsFilter };
1426
1469
  export type { IComboFilteringOptions, IComboItemAdditionEvent, IComboSearchInputEventArgs, IComboSelectionChangedEventArgs, IComboSelectionChangingEventArgs, IgxComboBase };
@@ -2,8 +2,8 @@ import * as i0 from '@angular/core';
2
2
  import { InjectionToken, Injector, AfterRenderRef, NgZone, EventEmitter, OnDestroy, ElementRef, Type, ViewContainerRef, ComponentRef, QueryList, ChangeDetectorRef, TemplateRef, PipeTransform, DestroyRef, Provider } from '@angular/core';
3
3
  import * as rxjs from 'rxjs';
4
4
  import { BehaviorSubject, Observable } from 'rxjs';
5
+ import { NgControl, ValidationErrors } from '@angular/forms';
5
6
  import { AnimationReferenceMetadata, AnimationPlayer as AnimationPlayer$1 } from '@angular/animations';
6
- import { ValidationErrors } from '@angular/forms';
7
7
  import { PrefixedResourceStrings, IDatePickerResourceStrings as IDatePickerResourceStrings$1, IGX_PREFIX, IDateRangePickerResourceStrings as IDateRangePickerResourceStrings$1, IGridResourceStrings as IGridResourceStrings$1, ITimePickerResourceStrings as ITimePickerResourceStrings$1, IPaginatorResourceStrings as IPaginatorResourceStrings$1, ICarouselResourceStrings as ICarouselResourceStrings$1, IChipResourceStrings as IChipResourceStrings$1, IListResourceStrings as IListResourceStrings$1, ICalendarResourceStrings as ICalendarResourceStrings$1, ITreeResourceStrings as ITreeResourceStrings$1, IActionStripResourceStrings as IActionStripResourceStrings$1, IQueryBuilderResourceStrings as IQueryBuilderResourceStrings$1, IComboResourceStrings as IComboResourceStrings$1, IBannerResourceStrings as IBannerResourceStrings$1, IResourceChangeEventArgs } from 'igniteui-i18n-core';
8
8
  export { setCurrentI18n } from 'igniteui-i18n-core';
9
9
  import { Subject } from 'rxjs/internal/Subject';
@@ -33,7 +33,7 @@ declare class IgxNavigationService {
33
33
  open(id: string, ...args: any[]): any;
34
34
  close(id: string, ...args: any[]): any;
35
35
  static ɵfac: i0.ɵɵFactoryDeclaration<IgxNavigationService, never>;
36
- static ɵprov: i0.ɵɵInjectableDeclaration<IgxNavigationService>;
36
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
37
37
  }
38
38
 
39
39
  /**
@@ -353,7 +353,7 @@ declare class PlatformUtil {
353
353
  */
354
354
  isNavigationKey(key: string): boolean;
355
355
  static ɵfac: i0.ɵɵFactoryDeclaration<PlatformUtil, never>;
356
- static ɵprov: i0.ɵɵInjectableDeclaration<PlatformUtil>;
356
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
357
357
  }
358
358
  /**
359
359
  * @hidden
@@ -652,7 +652,7 @@ declare class IgxSelectionAPIService {
652
652
  */
653
653
  get_empty(): Set<unknown>;
654
654
  static ɵfac: i0.ɵɵFactoryDeclaration<IgxSelectionAPIService, never>;
655
- static ɵprov: i0.ɵɵInjectableDeclaration<IgxSelectionAPIService>;
655
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
656
656
  }
657
657
 
658
658
  /**
@@ -827,6 +827,59 @@ declare class IgxTouchManager {
827
827
  private _stopTracking;
828
828
  }
829
829
 
830
+ /** Source of the state behind an `NgControl`. */
831
+ type NgControlBackend = 'observable' | 'signal';
832
+ /** Whether a control took a value written through `setValue`. */
833
+ type ValueWriteResult = 'accepted' | 'ignored';
834
+ /**
835
+ * Uniform access to the `NgControl` bound to a form control.
836
+ *
837
+ * Reactive and template-driven forms provide an `NgControl` backed by an
838
+ * `AbstractControl` with observables. Signal Forms (`[formField]`) provide
839
+ * an interop `NgControl` backed by signals, without `statusChanges`,
840
+ * `valueChanges`, `validator` or `markAsTouched`.
841
+ *
842
+ * @hidden @internal
843
+ */
844
+ declare class NgControlAdapter {
845
+ private readonly ngControl;
846
+ readonly backend: NgControlBackend;
847
+ private readonly envInjector;
848
+ private sawErrors;
849
+ /** Wraps `ngControl`, or returns `null` when there is none. */
850
+ static from(ngControl: NgControl | null, injector: Injector): NgControlAdapter | null;
851
+ constructor(ngControl: NgControl, injector: Injector);
852
+ get disabled(): boolean;
853
+ get valid(): boolean;
854
+ get invalid(): boolean;
855
+ get touchedOrDirty(): boolean;
856
+ /**
857
+ * Signal Forms expose no rule list. A field that is required, or was ever
858
+ * invalid or pending, is known to have rules; a rule satisfied from the
859
+ * start stays undetected.
860
+ */
861
+ get hasValidators(): boolean;
862
+ get required(): boolean;
863
+ /**
864
+ * Emits when validity, required, disabled, dirty or pending state changes.
865
+ * Signal Forms `submit()` only marks fields touched, so touched changes count too
866
+ * or the errors would never surface.
867
+ */
868
+ get statusChanges(): Observable<unknown>;
869
+ get touchedChanges(): Observable<unknown>;
870
+ get valueChanges(): Observable<unknown>;
871
+ /** No-op for Signal Forms: `[formField]` tracks touch through blur and `registerOnTouched`. */
872
+ markAsTouched(): void;
873
+ /**
874
+ * Signal Forms ignore the write: they read the value from the view
875
+ * (DOM or `ControlValueAccessor`), so the caller must update that instead.
876
+ */
877
+ setValue(value: unknown): ValueWriteResult;
878
+ /** Remembers that the field had rules. Returns the current invalid or pending state. */
879
+ private noteErrors;
880
+ private watch;
881
+ }
882
+
830
883
  interface AnimationService {
831
884
  /**
832
885
  * Creates an `AnimationPlayer` instance
@@ -1185,7 +1238,7 @@ declare class IgxOverlayService implements OnDestroy {
1185
1238
  private finishAnimations;
1186
1239
  private getComponentSize;
1187
1240
  static ɵfac: i0.ɵɵFactoryDeclaration<IgxOverlayService, never>;
1188
- static ɵprov: i0.ɵɵInjectableDeclaration<IgxOverlayService>;
1241
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
1189
1242
  }
1190
1243
 
1191
1244
  /**
@@ -3661,7 +3714,7 @@ declare class IgxAngularAnimationService implements AnimationService {
3661
3714
  private builder;
3662
3715
  buildAnimation(animationMetaData: AnimationReferenceMetadata, element: HTMLElement): AnimationPlayer;
3663
3716
  static ɵfac: i0.ɵɵFactoryDeclaration<IgxAngularAnimationService, never>;
3664
- static ɵprov: i0.ɵɵInjectableDeclaration<IgxAngularAnimationService>;
3717
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
3665
3718
  }
3666
3719
 
3667
3720
  /**
@@ -4196,7 +4249,7 @@ declare class IgxFlatTransactionFactory {
4196
4249
  */
4197
4250
  create(type: TRANSACTION_TYPE): TransactionService<Transaction, State>;
4198
4251
  static ɵfac: i0.ɵɵFactoryDeclaration<IgxFlatTransactionFactory, never>;
4199
- static ɵprov: i0.ɵɵInjectableDeclaration<IgxFlatTransactionFactory>;
4252
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
4200
4253
  }
4201
4254
  /**
4202
4255
  * Factory service for instantiating HierarchicalTransactionServices
@@ -4210,7 +4263,7 @@ declare class IgxHierarchicalTransactionFactory extends IgxFlatTransactionFactor
4210
4263
  */
4211
4264
  create(type: TRANSACTION_TYPE): HierarchicalTransactionService<HierarchicalTransaction, HierarchicalState>;
4212
4265
  static ɵfac: i0.ɵɵFactoryDeclaration<IgxHierarchicalTransactionFactory, never>;
4213
- static ɵprov: i0.ɵɵInjectableDeclaration<IgxHierarchicalTransactionFactory>;
4266
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
4214
4267
  }
4215
4268
 
4216
4269
  declare class IgxStylesRegistrar {
@@ -4226,7 +4279,7 @@ declare class IgxStylesRegistrar {
4226
4279
  */
4227
4280
  register(id: symbol, css: string): void;
4228
4281
  static ɵfac: i0.ɵɵFactoryDeclaration<IgxStylesRegistrar, never>;
4229
- static ɵprov: i0.ɵɵInjectableDeclaration<IgxStylesRegistrar>;
4282
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
4230
4283
  }
4231
4284
 
4232
4285
  type IDatePickerResourceStrings = PrefixedResourceStrings<IDatePickerResourceStrings$1, typeof IGX_PREFIX>;
@@ -4338,5 +4391,5 @@ declare global {
4338
4391
  }
4339
4392
  }
4340
4393
 
4341
- export { AbsolutePosition, AbsoluteScrollStrategy, ActionStripResourceStringsEN, AutoPositionStrategy, BannerResourceStringsEN, BaseFilteringStrategy, BaseFitPositionStrategy, BaseFormatter, BlockScrollStrategy, ByLevelTreeGridMergeStrategy, CachedDataCloneStrategy, CalendarDay, CalendarResourceStringsEN, CarouselResourceStringsEN, ChipResourceStringsEN, CloseScrollStrategy, ColumnPinningPosition, ComboResourceStringsEN, ConnectedPositioningStrategy, ContainerPositionStrategy, DEFAULT_LOCALE, DataUtil, DatePart, DatePickerResourceStringsEN, DateRangePickerResourceStringsEN, DateRangeType, DateTimeUtil, DefaultDataCloneStrategy, DefaultMergeStrategy, DefaultSortingStrategy, DefaultTreeGridMergeStrategy, EDITOR_PROVIDER, ELEMENTS_TOKEN, ElasticPositionStrategy, ExpressionsTreeUtil, FilterUtil, FilteringExpressionsTree, FilteringExpressionsTreeType, FilteringLogic, FilteringStrategy, FormattedValuesFilteringStrategy, FormattedValuesSortingStrategy, GlobalPositionStrategy, GridColumnDataType, GridResourceStringsEN, GridSummaryCalculationMode, GroupMemberCountSortingStrategy, GroupedRecords, HorizontalAlignment, I18N_FORMATTER, IgxActionStripActionsToken, IgxActionStripToken, IgxAngularAnimationPlayer, IgxAngularAnimationService, IgxBaseTransactionService, IgxBooleanFilteringOperand, IgxCurrencyFormatterPipe, IgxDataRecordSorting, IgxDateFilteringOperand, IgxDateFormatterPipe, IgxDateSummaryOperand, IgxDateTimeFilteringOperand, IgxFilteringOperand, IgxFlatTransactionFactory, IgxGridTransaction, IgxGrouping, IgxHierarchicalTransactionFactory, IgxHierarchicalTransactionService, IgxNavigationCloseDirective, IgxNavigationService, IgxNavigationToggleDirective, IgxNumberFilteringOperand, IgxNumberFormatterPipe, IgxNumberSummaryOperand, IgxOverlayOutletDirective, IgxOverlayService, IgxPercentFormatterPipe, IgxPickerActionsDirective, IgxPickerClearComponent, IgxPickerToggleComponent, IgxSelectionAPIService, IgxSorting, IgxStringFilteringOperand, IgxStylesRegistrar, IgxSummaryOperand, IgxTimeFilteringOperand, IgxTimeSummaryOperand, IgxTouchManager, IgxTransactionService, InputResourceStringsEN, IntlFormatter, ListResourceStringsEN, NAVIGATION_KEYS, NoOpScrollStrategy, NoopFilteringStrategy, NoopSortingStrategy, OffsetMode, PaginatorResourceStringsEN, PagingError, PickerCalendarOrientation, PickerHeaderOrientation, PickerInteractionMode, PlatformUtil, Point, QueryBuilderResourceStringsEN, RelativePosition, RelativePositionStrategy, ScrollStrategy, SortingDirection, THEME_TOKEN, TRANSACTION_TYPE, ThemeToken, TimePickerResourceStringsEN, TransactionEventOrigin, TransactionType, TreeGridFilteringStrategy, TreeGridFormattedValuesFilteringStrategy, TreeGridMatchingRecordsOnlyFilteringStrategy, TreeResourceStringsEN, Util, VerticalAlignment, WEEKDAYS, areEqualArrays, areSameMonth, calendarRange, changei18n, clamp, cloneArray, cloneHierarchicalArray, cloneValue, cloneValueCached, columnFieldPath, compareMaps, copyDescriptors, daysInWeek, first, flatten, formatToParts, generateMonth, getClosestActiveDate, getComponentCssSizeVar, getComponentSize, getComponentTheme, getCurrentResourceStrings, getHierarchy, getNextActiveDate, getPreviousActiveDate, getResizeObserver, getYearRange, intoChunks, isConstructor, isDate, isDateInRanges, isEqual, isHierarchyMatch, isLeftToRight, isNextMonth, isObject, isPreviousMonth, isTree, last, mergeObjects, modulo, normalizeURI, onResourceChangeHandle, parseDate, provideIgniteIntl, recreateExpression, recreateTree, recreateTreeFromFields, registerI18n, rem, resizeObservable, resolveNestedPath, reverseMapper, runAfterRenderOnce, showMessage, toCalendarDay, trackByIdentity, uniqueDates, Size$1 as ɵSize };
4342
- export type { Action, AnimationPlayer, AnimationService, CalendarRangeParams, CancelableBrowserEventArgs, CancelableEventArgs, ColumnType, ConnectedFit, CustomDateRange, DatePartDeltas, DatePartInfo, DateRange, DateRangeDescriptor, DayInterval, DayParameter, EditorProvider, EntityType, FieldType, GridSelectionRange, GridStyleCSSProperty, GridTypeBase, HierarchicalState, HierarchicalTransaction, HierarchicalTransactionService, IActionStripResourceStrings, IBannerResourceStrings, IBaseCancelableBrowserEventArgs, IBaseCancelableEventArgs, IBaseEventArgs, ICalendarResourceStrings, ICarouselResourceStrings, IChipResourceStrings, IColumnEditorOptions, IColumnPipeArgs, IColumnSelectionState, IComboResourceStrings, IDataCloneStrategy, IDateParts, IDatePickerResourceStrings, IDateRangePickerResourceStrings, IExpressionTree, IFieldEditorOptions, IFieldPipeArgs, IFilteringExpression, IFilteringExpressionsTree, IFilteringOperation, IFilteringState, IFilteringStrategy, IGridGroupingStrategy, IGridMergeStrategy, IGridResourceStrings, IGridSortingStrategy, IGroupByExpandState, IGroupByKey, IGroupByRecord, IGroupByResult, IGroupingExpression, IGroupingState, IInputResourceStrings, IListResourceStrings, IMergeByResult, IMultiRowLayoutNode, IPaginatorResourceStrings, IPagingState, IPathSegment, IPositionStrategy, IQueryBuilderResourceStrings, IResourceStrings, IScrollStrategy, ISelectionKeyboardState, ISelectionNode, ISelectionPointerState, ISortingExpression, ISortingOptions, ISortingStrategy, ISummaryExpression, ISummaryRecord, ITimePickerResourceStrings, IToggleView, ITreeGridRecord, ITreeResourceStrings, IgcCalendarBaseEventMap, IgxFilterItem, IgxGestureEvent, IgxSummaryResult, IgxTheme, IgxTouchManagerCallbacks, IgxTouchManagerOptions, IgxTreeGridAPIService, KeyOfOrString, MRLColumnSizeInfo, MRLResizeColumnInfo, OverlayAnimationEventArgs, OverlayCancelableEventArgs, OverlayClosingEventArgs, OverlayCreateSettings, OverlayEventArgs, OverlaySettings, PositionSettings, RenderPhase, SelectionState, Size, State, StateUpdateEvent, Transaction, TransactionService, WeekDays };
4394
+ export { AbsolutePosition, AbsoluteScrollStrategy, ActionStripResourceStringsEN, AutoPositionStrategy, BannerResourceStringsEN, BaseFilteringStrategy, BaseFitPositionStrategy, BaseFormatter, BlockScrollStrategy, ByLevelTreeGridMergeStrategy, CachedDataCloneStrategy, CalendarDay, CalendarResourceStringsEN, CarouselResourceStringsEN, ChipResourceStringsEN, CloseScrollStrategy, ColumnPinningPosition, ComboResourceStringsEN, ConnectedPositioningStrategy, ContainerPositionStrategy, DEFAULT_LOCALE, DataUtil, DatePart, DatePickerResourceStringsEN, DateRangePickerResourceStringsEN, DateRangeType, DateTimeUtil, DefaultDataCloneStrategy, DefaultMergeStrategy, DefaultSortingStrategy, DefaultTreeGridMergeStrategy, EDITOR_PROVIDER, ELEMENTS_TOKEN, ElasticPositionStrategy, ExpressionsTreeUtil, FilterUtil, FilteringExpressionsTree, FilteringExpressionsTreeType, FilteringLogic, FilteringStrategy, FormattedValuesFilteringStrategy, FormattedValuesSortingStrategy, GlobalPositionStrategy, GridColumnDataType, GridResourceStringsEN, GridSummaryCalculationMode, GroupMemberCountSortingStrategy, GroupedRecords, HorizontalAlignment, I18N_FORMATTER, IgxActionStripActionsToken, IgxActionStripToken, IgxAngularAnimationPlayer, IgxAngularAnimationService, IgxBaseTransactionService, IgxBooleanFilteringOperand, IgxCurrencyFormatterPipe, IgxDataRecordSorting, IgxDateFilteringOperand, IgxDateFormatterPipe, IgxDateSummaryOperand, IgxDateTimeFilteringOperand, IgxFilteringOperand, IgxFlatTransactionFactory, IgxGridTransaction, IgxGrouping, IgxHierarchicalTransactionFactory, IgxHierarchicalTransactionService, IgxNavigationCloseDirective, IgxNavigationService, IgxNavigationToggleDirective, IgxNumberFilteringOperand, IgxNumberFormatterPipe, IgxNumberSummaryOperand, IgxOverlayOutletDirective, IgxOverlayService, IgxPercentFormatterPipe, IgxPickerActionsDirective, IgxPickerClearComponent, IgxPickerToggleComponent, IgxSelectionAPIService, IgxSorting, IgxStringFilteringOperand, IgxStylesRegistrar, IgxSummaryOperand, IgxTimeFilteringOperand, IgxTimeSummaryOperand, IgxTouchManager, IgxTransactionService, InputResourceStringsEN, IntlFormatter, ListResourceStringsEN, NAVIGATION_KEYS, NgControlAdapter, NoOpScrollStrategy, NoopFilteringStrategy, NoopSortingStrategy, OffsetMode, PaginatorResourceStringsEN, PagingError, PickerCalendarOrientation, PickerHeaderOrientation, PickerInteractionMode, PlatformUtil, Point, QueryBuilderResourceStringsEN, RelativePosition, RelativePositionStrategy, ScrollStrategy, SortingDirection, THEME_TOKEN, TRANSACTION_TYPE, ThemeToken, TimePickerResourceStringsEN, TransactionEventOrigin, TransactionType, TreeGridFilteringStrategy, TreeGridFormattedValuesFilteringStrategy, TreeGridMatchingRecordsOnlyFilteringStrategy, TreeResourceStringsEN, Util, VerticalAlignment, WEEKDAYS, areEqualArrays, areSameMonth, calendarRange, changei18n, clamp, cloneArray, cloneHierarchicalArray, cloneValue, cloneValueCached, columnFieldPath, compareMaps, copyDescriptors, daysInWeek, first, flatten, formatToParts, generateMonth, getClosestActiveDate, getComponentCssSizeVar, getComponentSize, getComponentTheme, getCurrentResourceStrings, getHierarchy, getNextActiveDate, getPreviousActiveDate, getResizeObserver, getYearRange, intoChunks, isConstructor, isDate, isDateInRanges, isEqual, isHierarchyMatch, isLeftToRight, isNextMonth, isObject, isPreviousMonth, isTree, last, mergeObjects, modulo, normalizeURI, onResourceChangeHandle, parseDate, provideIgniteIntl, recreateExpression, recreateTree, recreateTreeFromFields, registerI18n, rem, resizeObservable, resolveNestedPath, reverseMapper, runAfterRenderOnce, showMessage, toCalendarDay, trackByIdentity, uniqueDates, Size$1 as ɵSize };
4395
+ export type { Action, AnimationPlayer, AnimationService, CalendarRangeParams, CancelableBrowserEventArgs, CancelableEventArgs, ColumnType, ConnectedFit, CustomDateRange, DatePartDeltas, DatePartInfo, DateRange, DateRangeDescriptor, DayInterval, DayParameter, EditorProvider, EntityType, FieldType, GridSelectionRange, GridStyleCSSProperty, GridTypeBase, HierarchicalState, HierarchicalTransaction, HierarchicalTransactionService, IActionStripResourceStrings, IBannerResourceStrings, IBaseCancelableBrowserEventArgs, IBaseCancelableEventArgs, IBaseEventArgs, ICalendarResourceStrings, ICarouselResourceStrings, IChipResourceStrings, IColumnEditorOptions, IColumnPipeArgs, IColumnSelectionState, IComboResourceStrings, IDataCloneStrategy, IDateParts, IDatePickerResourceStrings, IDateRangePickerResourceStrings, IExpressionTree, IFieldEditorOptions, IFieldPipeArgs, IFilteringExpression, IFilteringExpressionsTree, IFilteringOperation, IFilteringState, IFilteringStrategy, IGridGroupingStrategy, IGridMergeStrategy, IGridResourceStrings, IGridSortingStrategy, IGroupByExpandState, IGroupByKey, IGroupByRecord, IGroupByResult, IGroupingExpression, IGroupingState, IInputResourceStrings, IListResourceStrings, IMergeByResult, IMultiRowLayoutNode, IPaginatorResourceStrings, IPagingState, IPathSegment, IPositionStrategy, IQueryBuilderResourceStrings, IResourceStrings, IScrollStrategy, ISelectionKeyboardState, ISelectionNode, ISelectionPointerState, ISortingExpression, ISortingOptions, ISortingStrategy, ISummaryExpression, ISummaryRecord, ITimePickerResourceStrings, IToggleView, ITreeGridRecord, ITreeResourceStrings, IgcCalendarBaseEventMap, IgxFilterItem, IgxGestureEvent, IgxSummaryResult, IgxTheme, IgxTouchManagerCallbacks, IgxTouchManagerOptions, IgxTreeGridAPIService, KeyOfOrString, MRLColumnSizeInfo, MRLResizeColumnInfo, NgControlBackend, OverlayAnimationEventArgs, OverlayCancelableEventArgs, OverlayClosingEventArgs, OverlayCreateSettings, OverlayEventArgs, OverlaySettings, PositionSettings, RenderPhase, SelectionState, Size, State, StateUpdateEvent, Transaction, TransactionService, ValueWriteResult, WeekDays };
@@ -517,6 +517,7 @@ declare class IgxDatePickerComponent extends PickerBaseDirective implements Cont
517
517
  private _overlayId;
518
518
  private _value;
519
519
  private _ngControl;
520
+ private _control;
520
521
  private _statusChanges$;
521
522
  private _calendar;
522
523
  private _calendarContainer?;
@@ -651,8 +652,6 @@ declare class IgxDatePickerComponent extends PickerBaseDirective implements Cont
651
652
  private subscribeToClick;
652
653
  private setDateValue;
653
654
  private updateValidity;
654
- private get isTouchedOrDirty();
655
- private get hasValidators();
656
655
  private onStatusChanged;
657
656
  private handleSelection;
658
657
  private subscribeToDateEditorEvents;
@@ -710,6 +709,7 @@ declare class IgxDateRangeInputsBaseComponent extends IgxInputGroupComponent {
710
709
  dateTimeEditor: IgxDateTimeEditorDirective;
711
710
  inputDirective: IgxInputDirective;
712
711
  protected ngControl: NgControl;
712
+ private injector;
713
713
  /** @hidden @internal */
714
714
  get nativeElement(): HTMLElement;
715
715
  /** @hidden @internal */
@@ -1129,6 +1129,7 @@ declare class IgxDateRangePickerComponent extends PickerBaseDirective implements
1129
1129
  private _originalValue;
1130
1130
  private _overlayId;
1131
1131
  private _ngControl;
1132
+ private _control;
1132
1133
  private _statusChanges$;
1133
1134
  private _calendar;
1134
1135
  private _calendarContainer?;
@@ -1226,8 +1227,6 @@ declare class IgxDateRangePickerComponent extends PickerBaseDirective implements
1226
1227
  getEditElement(): HTMLInputElement;
1227
1228
  protected onStatusChanged: () => void;
1228
1229
  private setValidityState;
1229
- private get isTouchedOrDirty();
1230
- private get hasValidators();
1231
1230
  private handleSelection;
1232
1231
  private handleClosing;
1233
1232
  private subscribeToOverlayEvents;