@angular/material 19.2.1 → 19.2.3

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 (197) hide show
  1. package/autocomplete/index.d.ts +83 -124
  2. package/autocomplete/testing/index.d.ts +5 -11
  3. package/badge/index.d.ts +17 -30
  4. package/badge/testing/index.d.ts +5 -8
  5. package/bottom-sheet/index.d.ts +88 -104
  6. package/bottom-sheet/testing/index.d.ts +4 -6
  7. package/button/index.d.ts +109 -148
  8. package/button/testing/index.d.ts +6 -10
  9. package/button-toggle/index.d.ts +116 -142
  10. package/button-toggle/testing/index.d.ts +34 -36
  11. package/card/index.d.ts +79 -117
  12. package/card/testing/index.d.ts +11 -15
  13. package/checkbox/index.d.ts +55 -85
  14. package/checkbox/testing/index.d.ts +6 -10
  15. package/chips/index.d.ts +592 -690
  16. package/chips/testing/index.d.ts +78 -93
  17. package/core/index.d.ts +565 -669
  18. package/core/testing/index.d.ts +28 -32
  19. package/datepicker/index.d.ts +1323 -1479
  20. package/datepicker/testing/index.d.ts +109 -119
  21. package/dialog/index.d.ts +194 -246
  22. package/dialog/testing/index.d.ts +17 -26
  23. package/divider/index.d.ts +4 -10
  24. package/divider/testing/index.d.ts +4 -6
  25. package/expansion/index.d.ts +137 -189
  26. package/expansion/testing/index.d.ts +25 -31
  27. package/fesm2022/autocomplete/testing.mjs.map +1 -1
  28. package/fesm2022/autocomplete.mjs +39 -30
  29. package/fesm2022/autocomplete.mjs.map +1 -1
  30. package/fesm2022/badge/testing.mjs.map +1 -1
  31. package/fesm2022/badge.mjs +13 -17
  32. package/fesm2022/badge.mjs.map +1 -1
  33. package/fesm2022/bottom-sheet/testing.mjs.map +1 -1
  34. package/fesm2022/bottom-sheet.mjs +11 -22
  35. package/fesm2022/bottom-sheet.mjs.map +1 -1
  36. package/fesm2022/button/testing.mjs.map +1 -1
  37. package/fesm2022/button-toggle/testing.mjs.map +1 -1
  38. package/fesm2022/button-toggle.mjs +15 -14
  39. package/fesm2022/button-toggle.mjs.map +1 -1
  40. package/fesm2022/button.mjs +40 -40
  41. package/fesm2022/button.mjs.map +1 -1
  42. package/fesm2022/card/testing.mjs.map +1 -1
  43. package/fesm2022/card.mjs +46 -50
  44. package/fesm2022/card.mjs.map +1 -1
  45. package/fesm2022/checkbox/testing.mjs.map +1 -1
  46. package/fesm2022/checkbox.mjs +19 -19
  47. package/fesm2022/checkbox.mjs.map +1 -1
  48. package/fesm2022/chips/testing.mjs.map +1 -1
  49. package/fesm2022/chips.mjs +41 -47
  50. package/fesm2022/chips.mjs.map +1 -1
  51. package/fesm2022/core/testing.mjs.map +1 -1
  52. package/fesm2022/core.mjs +71 -71
  53. package/fesm2022/core.mjs.map +1 -1
  54. package/fesm2022/datepicker/testing.mjs.map +1 -1
  55. package/fesm2022/datepicker.mjs +124 -100
  56. package/fesm2022/datepicker.mjs.map +1 -1
  57. package/fesm2022/dialog/testing.mjs.map +1 -1
  58. package/fesm2022/dialog.mjs +29 -33
  59. package/fesm2022/dialog.mjs.map +1 -1
  60. package/fesm2022/divider/testing.mjs.map +1 -1
  61. package/fesm2022/divider.mjs +7 -11
  62. package/fesm2022/divider.mjs.map +1 -1
  63. package/fesm2022/expansion/testing.mjs.map +1 -1
  64. package/fesm2022/expansion.mjs +27 -31
  65. package/fesm2022/expansion.mjs.map +1 -1
  66. package/fesm2022/form-field/testing.mjs +0 -2
  67. package/fesm2022/form-field/testing.mjs.map +1 -1
  68. package/fesm2022/form-field.mjs +34 -38
  69. package/fesm2022/form-field.mjs.map +1 -1
  70. package/fesm2022/grid-list/testing.mjs.map +1 -1
  71. package/fesm2022/grid-list.mjs +22 -26
  72. package/fesm2022/grid-list.mjs.map +1 -1
  73. package/fesm2022/icon/testing.mjs +7 -11
  74. package/fesm2022/icon/testing.mjs.map +1 -1
  75. package/fesm2022/icon.mjs +25 -17
  76. package/fesm2022/icon.mjs.map +1 -1
  77. package/fesm2022/input/testing.mjs.map +1 -1
  78. package/fesm2022/input.mjs +7 -11
  79. package/fesm2022/input.mjs.map +1 -1
  80. package/fesm2022/list/testing.mjs +1 -1
  81. package/fesm2022/list/testing.mjs.map +1 -1
  82. package/fesm2022/list.mjs +51 -55
  83. package/fesm2022/list.mjs.map +1 -1
  84. package/fesm2022/menu/testing.mjs.map +1 -1
  85. package/fesm2022/menu.mjs +31 -23
  86. package/fesm2022/menu.mjs.map +1 -1
  87. package/fesm2022/paginator/testing.mjs.map +1 -1
  88. package/fesm2022/paginator.mjs +20 -16
  89. package/fesm2022/paginator.mjs.map +1 -1
  90. package/fesm2022/progress-bar/testing.mjs +0 -4
  91. package/fesm2022/progress-bar/testing.mjs.map +1 -1
  92. package/fesm2022/progress-bar.mjs +12 -12
  93. package/fesm2022/progress-bar.mjs.map +1 -1
  94. package/fesm2022/progress-spinner/testing.mjs +0 -4
  95. package/fesm2022/progress-spinner/testing.mjs.map +1 -1
  96. package/fesm2022/progress-spinner.mjs +12 -12
  97. package/fesm2022/progress-spinner.mjs.map +1 -1
  98. package/fesm2022/radio/testing.mjs.map +1 -1
  99. package/fesm2022/radio.mjs +15 -14
  100. package/fesm2022/radio.mjs.map +1 -1
  101. package/fesm2022/select/testing.mjs.map +1 -1
  102. package/fesm2022/select.mjs +24 -20
  103. package/fesm2022/select.mjs.map +1 -1
  104. package/fesm2022/sidenav/testing.mjs +1 -1
  105. package/fesm2022/sidenav/testing.mjs.map +1 -1
  106. package/fesm2022/sidenav.mjs +31 -31
  107. package/fesm2022/sidenav.mjs.map +1 -1
  108. package/fesm2022/slide-toggle/testing.mjs.map +1 -1
  109. package/fesm2022/slide-toggle.mjs +14 -18
  110. package/fesm2022/slide-toggle.mjs.map +1 -1
  111. package/fesm2022/slider/testing.mjs.map +1 -1
  112. package/fesm2022/slider.mjs +16 -20
  113. package/fesm2022/slider.mjs.map +1 -1
  114. package/fesm2022/snack-bar/testing.mjs.map +1 -1
  115. package/fesm2022/snack-bar.mjs +27 -27
  116. package/fesm2022/snack-bar.mjs.map +1 -1
  117. package/fesm2022/sort/testing.mjs.map +1 -1
  118. package/fesm2022/sort.mjs +24 -20
  119. package/fesm2022/sort.mjs.map +1 -1
  120. package/fesm2022/stepper/testing.mjs.map +1 -1
  121. package/fesm2022/stepper.mjs +41 -37
  122. package/fesm2022/stepper.mjs.map +1 -1
  123. package/fesm2022/table/testing.mjs.map +1 -1
  124. package/fesm2022/table.mjs +55 -59
  125. package/fesm2022/table.mjs.map +1 -1
  126. package/fesm2022/tabs/testing.mjs.map +1 -1
  127. package/fesm2022/tabs.mjs +51 -58
  128. package/fesm2022/tabs.mjs.map +1 -1
  129. package/fesm2022/timepicker/testing.mjs.map +1 -1
  130. package/fesm2022/timepicker.mjs +15 -20
  131. package/fesm2022/timepicker.mjs.map +1 -1
  132. package/fesm2022/toolbar/testing.mjs.map +1 -1
  133. package/fesm2022/toolbar.mjs +10 -14
  134. package/fesm2022/toolbar.mjs.map +1 -1
  135. package/fesm2022/tooltip/testing.mjs.map +1 -1
  136. package/fesm2022/tooltip.mjs +25 -17
  137. package/fesm2022/tooltip.mjs.map +1 -1
  138. package/fesm2022/tree/testing.mjs.map +1 -1
  139. package/fesm2022/tree.mjs +25 -29
  140. package/fesm2022/tree.mjs.map +1 -1
  141. package/form-field/index.d.ts +251 -318
  142. package/form-field/testing/control/index.d.ts +2 -2
  143. package/form-field/testing/index.d.ts +14 -21
  144. package/grid-list/index.d.ts +124 -150
  145. package/grid-list/testing/index.d.ts +39 -44
  146. package/icon/index.d.ts +87 -108
  147. package/icon/testing/index.d.ts +38 -43
  148. package/index.d.ts +2 -3
  149. package/input/index.d.ts +27 -61
  150. package/input/testing/index.d.ts +16 -19
  151. package/list/index.d.ts +159 -242
  152. package/list/testing/index.d.ts +157 -179
  153. package/menu/index.d.ts +180 -231
  154. package/menu/testing/index.d.ts +17 -23
  155. package/package.json +2 -2
  156. package/paginator/index.d.ts +84 -97
  157. package/paginator/testing/index.d.ts +10 -14
  158. package/progress-bar/index.d.ts +38 -58
  159. package/progress-bar/testing/index.d.ts +7 -10
  160. package/progress-spinner/index.d.ts +38 -51
  161. package/progress-spinner/testing/index.d.ts +7 -10
  162. package/radio/index.d.ts +145 -168
  163. package/radio/testing/index.d.ts +61 -67
  164. package/schematics/ng-add/index.js +1 -1
  165. package/schematics/ng-add/index.mjs +1 -1
  166. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +6 -9
  167. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +6 -9
  168. package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +6 -9
  169. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +6 -9
  170. package/schematics/ng-generate/theme-color/schema.json +10 -0
  171. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +1 -1
  172. package/select/index.d.ts +77 -130
  173. package/select/testing/index.d.ts +10 -15
  174. package/sidenav/index.d.ts +47 -91
  175. package/sidenav/testing/index.d.ts +58 -63
  176. package/slide-toggle/index.d.ts +51 -84
  177. package/slide-toggle/testing/index.d.ts +17 -21
  178. package/slider/index.d.ts +277 -327
  179. package/slider/testing/index.d.ts +42 -47
  180. package/snack-bar/index.d.ts +147 -185
  181. package/snack-bar/testing/index.d.ts +7 -9
  182. package/sort/index.d.ts +94 -124
  183. package/sort/testing/index.d.ts +21 -24
  184. package/stepper/index.d.ts +108 -165
  185. package/stepper/testing/index.d.ts +43 -52
  186. package/table/index.d.ts +87 -153
  187. package/table/testing/index.d.ts +64 -78
  188. package/tabs/index.d.ts +306 -382
  189. package/tabs/testing/index.d.ts +67 -76
  190. package/timepicker/index.d.ts +123 -159
  191. package/timepicker/testing/index.d.ts +20 -26
  192. package/toolbar/index.d.ts +13 -25
  193. package/toolbar/testing/index.d.ts +13 -16
  194. package/tooltip/index.d.ts +88 -117
  195. package/tooltip/testing/index.d.ts +7 -10
  196. package/tree/index.d.ts +116 -163
  197. package/tree/testing/index.d.ts +52 -58
package/core/index.d.ts CHANGED
@@ -1,63 +1,138 @@
1
- import { AbstractControl } from '@angular/forms';
2
- import { AfterViewChecked } from '@angular/core';
3
- import { ChangeDetectorRef } from '@angular/core';
4
- import { ElementRef } from '@angular/core';
5
- import { EventEmitter } from '@angular/core';
6
- import { FocusableOption } from '@angular/cdk/a11y';
7
- import { FocusOrigin } from '@angular/cdk/a11y';
8
- import { FormGroupDirective } from '@angular/forms';
9
1
  import * as i0 from '@angular/core';
2
+ import { Version, InjectionToken, Provider, QueryList, ElementRef, NgZone, Injector, OnInit, OnDestroy, AfterViewChecked, ChangeDetectorRef, EventEmitter, Signal } from '@angular/core';
10
3
  import * as i1 from '@angular/cdk/bidi';
11
- import { InjectionToken } from '@angular/core';
12
- import { Injector } from '@angular/core';
13
- import { NgControl } from '@angular/forms';
14
- import { NgForm } from '@angular/forms';
15
- import { NgZone } from '@angular/core';
16
- import { Observable } from 'rxjs';
17
- import { OnDestroy } from '@angular/core';
18
- import { OnInit } from '@angular/core';
4
+ import { AbstractControl, FormGroupDirective, NgForm, NgControl } from '@angular/forms';
5
+ import { Subject, Observable } from 'rxjs';
19
6
  import { Platform } from '@angular/cdk/platform';
20
- import { Provider } from '@angular/core';
21
- import { QueryList } from '@angular/core';
22
- import { Signal } from '@angular/core';
23
- import { Subject } from 'rxjs';
24
- import { Version } from '@angular/core';
7
+ import { FocusableOption, FocusOrigin } from '@angular/cdk/a11y';
25
8
 
9
+ /** Current version of Angular Material. */
10
+ declare const VERSION: Version;
26
11
 
27
12
  /**
28
13
  * @deprecated No longer used, will be removed.
29
14
  * @breaking-change 21.0.0
30
15
  * @docs-private
31
16
  */
32
- export declare class AnimationCurves {
17
+ declare class AnimationCurves {
33
18
  static STANDARD_CURVE: string;
34
19
  static DECELERATION_CURVE: string;
35
20
  static ACCELERATION_CURVE: string;
36
21
  static SHARP_CURVE: string;
37
22
  }
38
-
39
23
  /**
40
24
  * @deprecated No longer used, will be removed.
41
25
  * @breaking-change 21.0.0
42
26
  * @docs-private
43
27
  */
44
- export declare class AnimationDurations {
28
+ declare class AnimationDurations {
45
29
  static COMPLEX: string;
46
30
  static ENTERING: string;
47
31
  static EXITING: string;
48
32
  }
49
33
 
50
34
  /**
51
- * Counts the amount of option group labels that precede the specified option.
52
- * @param optionIndex Index of the option at which to start counting.
53
- * @param options Flat list of all of the options.
54
- * @param optionGroups Flat list of all of the option groups.
35
+ * Injection token that configures whether the Material sanity checks are enabled.
36
+ * @deprecated No longer used and will be removed.
37
+ * @breaking-change 21.0.0
38
+ */
39
+ declare const MATERIAL_SANITY_CHECKS: InjectionToken<SanityChecks>;
40
+ /**
41
+ * Possible sanity checks that can be enabled. If set to
42
+ * true/false, all checks will be enabled/disabled.
43
+ * @deprecated No longer used and will be removed.
44
+ * @breaking-change 21.0.0
45
+ */
46
+ type SanityChecks = boolean | GranularSanityChecks;
47
+ /**
48
+ * Object that can be used to configure the sanity checks granularly.
49
+ * @deprecated No longer used and will be removed.
50
+ * @breaking-change 21.0.0
51
+ */
52
+ interface GranularSanityChecks {
53
+ doctype: boolean;
54
+ theme: boolean;
55
+ version: boolean;
56
+ }
57
+ /**
58
+ * Module that captures anything that should be loaded and/or run for *all* Angular Material
59
+ * components. This includes Bidi, etc.
60
+ *
61
+ * This module should be imported to each top-level component module (e.g., MatTabsModule).
62
+ * @deprecated No longer used and will be removed.
63
+ * @breaking-change 21.0.0
64
+ */
65
+ declare class MatCommonModule {
66
+ constructor(...args: any[]);
67
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatCommonModule, never>;
68
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MatCommonModule, never, [typeof i1.BidiModule], [typeof i1.BidiModule]>;
69
+ static ɵinj: i0.ɵɵInjectorDeclaration<MatCommonModule>;
70
+ }
71
+
72
+ /** Possible color palette values. */
73
+ type ThemePalette = 'primary' | 'accent' | 'warn' | undefined;
74
+
75
+ /** Error state matcher that matches when a control is invalid and dirty. */
76
+ declare class ShowOnDirtyErrorStateMatcher implements ErrorStateMatcher$1 {
77
+ isErrorState(control: AbstractControl | null, form: FormGroupDirective | NgForm | null): boolean;
78
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShowOnDirtyErrorStateMatcher, never>;
79
+ static ɵprov: i0.ɵɵInjectableDeclaration<ShowOnDirtyErrorStateMatcher>;
80
+ }
81
+ /** Provider that defines how form controls behave with regards to displaying error messages. */
82
+ declare class ErrorStateMatcher$1 {
83
+ isErrorState(control: AbstractControl | null, form: FormGroupDirective | NgForm | null): boolean;
84
+ static ɵfac: i0.ɵɵFactoryDeclaration<ErrorStateMatcher$1, never>;
85
+ static ɵprov: i0.ɵɵInjectableDeclaration<ErrorStateMatcher$1>;
86
+ }
87
+
88
+ interface ErrorStateMatcher extends ErrorStateMatcher$1 {
89
+ }
90
+ /**
91
+ * Class that tracks the error state of a component.
55
92
  * @docs-private
56
93
  */
57
- export declare function _countGroupLabelsBeforeOption(optionIndex: number, options: QueryList<MatOption>, optionGroups: QueryList<MatOptgroup>): number;
94
+ declare class _ErrorStateTracker {
95
+ private _defaultMatcher;
96
+ ngControl: NgControl | null;
97
+ private _parentFormGroup;
98
+ private _parentForm;
99
+ private _stateChanges;
100
+ /** Whether the tracker is currently in an error state. */
101
+ errorState: boolean;
102
+ /** User-defined matcher for the error state. */
103
+ matcher: ErrorStateMatcher;
104
+ constructor(_defaultMatcher: ErrorStateMatcher | null, ngControl: NgControl | null, _parentFormGroup: FormGroupDirective | null, _parentForm: NgForm | null, _stateChanges: Subject<void>);
105
+ /** Updates the error state based on the provided error state matcher. */
106
+ updateErrorState(): void;
107
+ }
58
108
 
109
+ type MatDateFormats = {
110
+ parse: {
111
+ dateInput: any;
112
+ timeInput?: any;
113
+ };
114
+ display: {
115
+ dateInput: any;
116
+ monthLabel?: any;
117
+ monthYearLabel: any;
118
+ dateA11yLabel: any;
119
+ monthYearA11yLabel: any;
120
+ timeInput?: any;
121
+ timeOptionLabel?: any;
122
+ };
123
+ };
124
+ declare const MAT_DATE_FORMATS: InjectionToken<MatDateFormats>;
125
+
126
+ /** InjectionToken for datepicker that can be used to override default locale code. */
127
+ declare const MAT_DATE_LOCALE: InjectionToken<{}>;
128
+ /**
129
+ * @docs-private
130
+ * @deprecated No longer used, will be removed.
131
+ * @breaking-change 21.0.0
132
+ */
133
+ declare function MAT_DATE_LOCALE_FACTORY(): {};
59
134
  /** Adapts type `D` to be usable as a date by cdk-based components that work with dates. */
60
- export declare abstract class DateAdapter<D, L = any> {
135
+ declare abstract class DateAdapter<D, L = any> {
61
136
  /** The locale to use for all dates. */
62
137
  protected locale: L;
63
138
  protected readonly _localeChanges: Subject<void>;
@@ -311,402 +386,292 @@ export declare abstract class DateAdapter<D, L = any> {
311
386
  clampDate(date: D, min?: D | null, max?: D | null): D;
312
387
  }
313
388
 
314
- /**
315
- * Default ripple animation configuration for ripples without an explicit
316
- * animation config specified.
317
- */
318
- export declare const defaultRippleAnimationConfig: {
319
- enterDuration: number;
320
- exitDuration: number;
321
- };
322
-
323
- /** Provider that defines how form controls behave with regards to displaying error messages. */
324
- export declare class ErrorStateMatcher {
325
- isErrorState(control: AbstractControl | null, form: FormGroupDirective | NgForm | null): boolean;
326
- static ɵfac: i0.ɵɵFactoryDeclaration<ErrorStateMatcher, never>;
327
- static ɵprov: i0.ɵɵInjectableDeclaration<ErrorStateMatcher>;
389
+ /** Adapts the native JS Date for use with cdk-based components that work with dates. */
390
+ declare class NativeDateAdapter extends DateAdapter<Date> {
391
+ /**
392
+ * @deprecated No longer being used. To be removed.
393
+ * @breaking-change 14.0.0
394
+ */
395
+ useUtcForDisplay: boolean;
396
+ /** The injected locale. */
397
+ private readonly _matDateLocale;
398
+ constructor(...args: unknown[]);
399
+ getYear(date: Date): number;
400
+ getMonth(date: Date): number;
401
+ getDate(date: Date): number;
402
+ getDayOfWeek(date: Date): number;
403
+ getMonthNames(style: 'long' | 'short' | 'narrow'): string[];
404
+ getDateNames(): string[];
405
+ getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[];
406
+ getYearName(date: Date): string;
407
+ getFirstDayOfWeek(): number;
408
+ getNumDaysInMonth(date: Date): number;
409
+ clone(date: Date): Date;
410
+ createDate(year: number, month: number, date: number): Date;
411
+ today(): Date;
412
+ parse(value: any, parseFormat?: any): Date | null;
413
+ format(date: Date, displayFormat: Object): string;
414
+ addCalendarYears(date: Date, years: number): Date;
415
+ addCalendarMonths(date: Date, months: number): Date;
416
+ addCalendarDays(date: Date, days: number): Date;
417
+ toIso8601(date: Date): string;
418
+ /**
419
+ * Returns the given value if given a valid Date or null. Deserializes valid ISO 8601 strings
420
+ * (https://www.ietf.org/rfc/rfc3339.txt) into valid Dates and empty string into null. Returns an
421
+ * invalid date for all other values.
422
+ */
423
+ deserialize(value: any): Date | null;
424
+ isDateInstance(obj: any): obj is Date;
425
+ isValid(date: Date): boolean;
426
+ invalid(): Date;
427
+ setTime(target: Date, hours: number, minutes: number, seconds: number): Date;
428
+ getHours(date: Date): number;
429
+ getMinutes(date: Date): number;
430
+ getSeconds(date: Date): number;
431
+ parseTime(userValue: any, parseFormat?: any): Date | null;
432
+ addSeconds(date: Date, amount: number): Date;
433
+ /** Creates a date but allows the month and date to overflow. */
434
+ private _createDateWithOverflow;
435
+ /**
436
+ * Pads a number to make it two digits.
437
+ * @param n The number to pad.
438
+ * @returns The padded number.
439
+ */
440
+ private _2digit;
441
+ /**
442
+ * When converting Date object to string, javascript built-in functions may return wrong
443
+ * results because it applies its internal DST rules. The DST rules around the world change
444
+ * very frequently, and the current valid rule is not always valid in previous years though.
445
+ * We work around this problem building a new Date object which has its internal UTC
446
+ * representation with the local date and time.
447
+ * @param dtf Intl.DateTimeFormat object, containing the desired string format. It must have
448
+ * timeZone set to 'utc' to work fine.
449
+ * @param date Date from which we want to get the string representation according to dtf
450
+ * @returns A Date object with its UTC representation based on the passed in date info
451
+ */
452
+ private _format;
453
+ /**
454
+ * Attempts to parse a time string into a date object. Returns null if it cannot be parsed.
455
+ * @param value Time string to parse.
456
+ */
457
+ private _parseTimeString;
458
+ static ɵfac: i0.ɵɵFactoryDeclaration<NativeDateAdapter, never>;
459
+ static ɵprov: i0.ɵɵInjectableDeclaration<NativeDateAdapter>;
328
460
  }
329
461
 
330
- declare interface ErrorStateMatcher_2 extends ErrorStateMatcher {
462
+ declare const MAT_NATIVE_DATE_FORMATS: MatDateFormats;
463
+
464
+ declare class NativeDateModule {
465
+ static ɵfac: i0.ɵɵFactoryDeclaration<NativeDateModule, never>;
466
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NativeDateModule, never, never, never>;
467
+ static ɵinj: i0.ɵɵInjectorDeclaration<NativeDateModule>;
468
+ }
469
+ declare class MatNativeDateModule {
470
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatNativeDateModule, never>;
471
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MatNativeDateModule, never, never, never>;
472
+ static ɵinj: i0.ɵɵInjectorDeclaration<MatNativeDateModule>;
331
473
  }
474
+ declare function provideNativeDateAdapter(formats?: MatDateFormats): Provider[];
332
475
 
333
476
  /**
334
- * Class that tracks the error state of a component.
477
+ * Component used to load structural styles for focus indicators.
335
478
  * @docs-private
336
479
  */
337
- export declare class _ErrorStateTracker {
338
- private _defaultMatcher;
339
- ngControl: NgControl | null;
340
- private _parentFormGroup;
341
- private _parentForm;
342
- private _stateChanges;
343
- /** Whether the tracker is currently in an error state. */
344
- errorState: boolean;
345
- /** User-defined matcher for the error state. */
346
- matcher: ErrorStateMatcher_2;
347
- constructor(_defaultMatcher: ErrorStateMatcher_2 | null, ngControl: NgControl | null, _parentFormGroup: FormGroupDirective | null, _parentForm: NgForm | null, _stateChanges: Subject<void>);
348
- /** Updates the error state based on the provided error state matcher. */
349
- updateErrorState(): void;
480
+ declare class _StructuralStylesLoader {
481
+ static ɵfac: i0.ɵɵFactoryDeclaration<_StructuralStylesLoader, never>;
482
+ static ɵcmp: i0.ɵɵComponentDeclaration<_StructuralStylesLoader, "structural-styles", never, {}, {}, never, never, true, never>;
350
483
  }
351
484
 
352
485
  /**
353
- * Determines the position to which to scroll a panel in order for an option to be into view.
354
- * @param optionOffset Offset of the option from the top of the panel.
355
- * @param optionHeight Height of the options.
356
- * @param currentScrollPosition Current scroll position of the panel.
357
- * @param panelHeight Height of the panel.
358
- * @docs-private
486
+ * Shared directive to count lines inside a text area, such as a list item.
487
+ * Line elements can be extracted with a @ContentChildren(MatLine) query, then
488
+ * counted by checking the query list's length.
359
489
  */
360
- export declare function _getOptionScrollPosition(optionOffset: number, optionHeight: number, currentScrollPosition: number, panelHeight: number): number;
361
-
490
+ declare class MatLine {
491
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatLine, never>;
492
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatLine, "[mat-line], [matLine]", never, {}, {}, never, never, true, never>;
493
+ }
362
494
  /**
363
- * Object that can be used to configure the sanity checks granularly.
364
- * @deprecated No longer used and will be removed.
365
- * @breaking-change 21.0.0
495
+ * Helper that takes a query list of lines and sets the correct class on the host.
496
+ * @docs-private
366
497
  */
367
- export declare interface GranularSanityChecks {
368
- doctype: boolean;
369
- theme: boolean;
370
- version: boolean;
371
- }
372
-
373
- declare namespace i1_2 {
374
- export {
375
- MATERIAL_SANITY_CHECKS,
376
- SanityChecks,
377
- GranularSanityChecks,
378
- MatCommonModule
379
- }
380
- }
381
-
382
- declare namespace i1_3 {
383
- export {
384
- RippleRenderer,
385
- RippleTarget,
386
- defaultRippleAnimationConfig,
387
- MatRippleModule,
388
- RippleGlobalOptions,
389
- MAT_RIPPLE_GLOBAL_OPTIONS,
390
- MatRipple,
391
- RippleState,
392
- RippleConfig,
393
- RippleAnimationConfig,
394
- RippleRef
395
- }
396
- }
397
-
398
- declare namespace i2 {
399
- export {
400
- RippleGlobalOptions,
401
- MAT_RIPPLE_GLOBAL_OPTIONS,
402
- MatRipple
403
- }
404
- }
405
-
406
- declare namespace i2_2 {
407
- export {
408
- MatPseudoCheckboxState,
409
- MatPseudoCheckbox
410
- }
411
- }
412
-
413
- declare namespace i3 {
414
- export {
415
- MatPseudoCheckboxModule
416
- }
417
- }
418
-
419
- declare namespace i4 {
420
- export {
421
- _countGroupLabelsBeforeOption,
422
- _getOptionScrollPosition,
423
- MatOptionSelectionChange,
424
- MatOption
425
- }
498
+ declare function setLines(lines: QueryList<unknown>, element: ElementRef<HTMLElement>, prefix?: string): void;
499
+ declare class MatLineModule {
500
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatLineModule, never>;
501
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MatLineModule, never, [typeof MatCommonModule, typeof MatLine], [typeof MatLine, typeof MatCommonModule]>;
502
+ static ɵinj: i0.ɵɵInjectorDeclaration<MatLineModule>;
426
503
  }
427
504
 
428
- declare namespace i5 {
429
- export {
430
- MAT_OPTGROUP,
431
- MatOptgroup
432
- }
505
+ /** Possible states for a ripple element. */
506
+ declare enum RippleState {
507
+ FADING_IN = 0,
508
+ VISIBLE = 1,
509
+ FADING_OUT = 2,
510
+ HIDDEN = 3
433
511
  }
434
-
435
- export declare const MAT_DATE_FORMATS: InjectionToken<MatDateFormats>;
436
-
437
- /** InjectionToken for datepicker that can be used to override default locale code. */
438
- export declare const MAT_DATE_LOCALE: InjectionToken<{}>;
439
-
440
- /** @docs-private */
441
- export declare function MAT_DATE_LOCALE_FACTORY(): {};
442
-
443
- export declare const MAT_NATIVE_DATE_FORMATS: MatDateFormats;
444
-
512
+ type RippleConfig = {
513
+ color?: string;
514
+ centered?: boolean;
515
+ radius?: number;
516
+ persistent?: boolean;
517
+ animation?: RippleAnimationConfig;
518
+ terminateOnPointerUp?: boolean;
519
+ };
445
520
  /**
446
- * Injection token that can be used to reference instances of `MatOptgroup`. It serves as
447
- * alternative token to the actual `MatOptgroup` class which could cause unnecessary
448
- * retention of the class and its component metadata.
521
+ * Interface that describes the configuration for the animation of a ripple.
522
+ * There are two animation phases with different durations for the ripples.
449
523
  */
450
- export declare const MAT_OPTGROUP: InjectionToken<MatOptgroup>;
451
-
524
+ interface RippleAnimationConfig {
525
+ /** Duration in milliseconds for the enter animation (expansion from point of contact). */
526
+ enterDuration?: number;
527
+ /** Duration in milliseconds for the exit animation (fade-out). */
528
+ exitDuration?: number;
529
+ }
452
530
  /**
453
- * Injection token used to provide the parent component to options.
531
+ * Reference to a previously launched ripple element.
454
532
  */
455
- export declare const MAT_OPTION_PARENT_COMPONENT: InjectionToken<MatOptionParentComponent>;
456
-
457
- /** Injection token that can be used to specify the global ripple options. */
458
- export declare const MAT_RIPPLE_GLOBAL_OPTIONS: InjectionToken<RippleGlobalOptions>;
459
-
460
- /**
461
- * Module that captures anything that should be loaded and/or run for *all* Angular Material
462
- * components. This includes Bidi, etc.
463
- *
464
- * This module should be imported to each top-level component module (e.g., MatTabsModule).
465
- * @deprecated No longer used and will be removed.
466
- * @breaking-change 21.0.0
467
- */
468
- export declare class MatCommonModule {
469
- constructor(...args: any[]);
470
- static ɵfac: i0.ɵɵFactoryDeclaration<MatCommonModule, never>;
471
- static ɵmod: i0.ɵɵNgModuleDeclaration<MatCommonModule, never, [typeof i1.BidiModule], [typeof i1.BidiModule]>;
472
- static ɵinj: i0.ɵɵInjectorDeclaration<MatCommonModule>;
533
+ declare class RippleRef {
534
+ private _renderer;
535
+ /** Reference to the ripple HTML element. */
536
+ element: HTMLElement;
537
+ /** Ripple configuration used for the ripple. */
538
+ config: RippleConfig;
539
+ _animationForciblyDisabledThroughCss: boolean;
540
+ /** Current state of the ripple. */
541
+ state: RippleState;
542
+ constructor(_renderer: {
543
+ fadeOutRipple(ref: RippleRef): void;
544
+ },
545
+ /** Reference to the ripple HTML element. */
546
+ element: HTMLElement,
547
+ /** Ripple configuration used for the ripple. */
548
+ config: RippleConfig, _animationForciblyDisabledThroughCss?: boolean);
549
+ /** Fades out the ripple element. */
550
+ fadeOut(): void;
473
551
  }
474
552
 
475
- export declare type MatDateFormats = {
476
- parse: {
477
- dateInput: any;
478
- timeInput?: any;
479
- };
480
- display: {
481
- dateInput: any;
482
- monthLabel?: any;
483
- monthYearLabel: any;
484
- dateA11yLabel: any;
485
- monthYearA11yLabel: any;
486
- timeInput?: any;
487
- timeOptionLabel?: any;
488
- };
489
- };
490
-
491
- /**
492
- * Injection token that configures whether the Material sanity checks are enabled.
493
- * @deprecated No longer used and will be removed.
494
- * @breaking-change 21.0.0
495
- */
496
- export declare const MATERIAL_SANITY_CHECKS: InjectionToken<SanityChecks>;
497
-
498
553
  /**
499
- * Internal shared component used as a container in form field controls.
500
- * Not to be confused with `mat-form-field` which MDC calls a "text field".
554
+ * Interface that describes the target for launching ripples.
555
+ * It defines the ripple configuration and disabled state for interaction ripples.
501
556
  * @docs-private
502
557
  */
503
- export declare class _MatInternalFormField {
504
- /** Position of the label relative to the content. */
505
- labelPosition: 'before' | 'after';
506
- static ɵfac: i0.ɵɵFactoryDeclaration<_MatInternalFormField, never>;
507
- static ɵcmp: i0.ɵɵComponentDeclaration<_MatInternalFormField, "div[mat-internal-form-field]", never, { "labelPosition": { "alias": "labelPosition"; "required": true; }; }, {}, never, ["*"], true, never>;
508
- }
509
-
510
- /**
511
- * Shared directive to count lines inside a text area, such as a list item.
512
- * Line elements can be extracted with a @ContentChildren(MatLine) query, then
513
- * counted by checking the query list's length.
514
- */
515
- export declare class MatLine {
516
- static ɵfac: i0.ɵɵFactoryDeclaration<MatLine, never>;
517
- static ɵdir: i0.ɵɵDirectiveDeclaration<MatLine, "[mat-line], [matLine]", never, {}, {}, never, never, true, never>;
518
- }
519
-
520
- export declare class MatLineModule {
521
- static ɵfac: i0.ɵɵFactoryDeclaration<MatLineModule, never>;
522
- static ɵmod: i0.ɵɵNgModuleDeclaration<MatLineModule, never, [typeof i1_2.MatCommonModule, typeof MatLine], [typeof MatLine, typeof i1_2.MatCommonModule]>;
523
- static ɵinj: i0.ɵɵInjectorDeclaration<MatLineModule>;
524
- }
525
-
526
- export declare class MatNativeDateModule {
527
- static ɵfac: i0.ɵɵFactoryDeclaration<MatNativeDateModule, never>;
528
- static ɵmod: i0.ɵɵNgModuleDeclaration<MatNativeDateModule, never, never, never>;
529
- static ɵinj: i0.ɵɵInjectorDeclaration<MatNativeDateModule>;
558
+ interface RippleTarget {
559
+ /** Configuration for ripples that are launched on pointer down. */
560
+ rippleConfig: RippleConfig;
561
+ /** Whether ripples on pointer down should be disabled. */
562
+ rippleDisabled: boolean;
530
563
  }
531
-
532
564
  /**
533
- * Component that is used to group instances of `mat-option`.
565
+ * Default ripple animation configuration for ripples without an explicit
566
+ * animation config specified.
534
567
  */
535
- export declare class MatOptgroup {
536
- /** Label for the option group. */
537
- label: string;
538
- /** whether the option group is disabled. */
539
- disabled: boolean;
540
- /** Unique id for the underlying label. */
541
- _labelId: string;
542
- /** Whether the group is in inert a11y mode. */
543
- _inert: boolean;
544
- constructor(...args: unknown[]);
545
- static ɵfac: i0.ɵɵFactoryDeclaration<MatOptgroup, never>;
546
- static ɵcmp: i0.ɵɵComponentDeclaration<MatOptgroup, "mat-optgroup", ["matOptgroup"], { "label": { "alias": "label"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, ["*", "mat-option, ng-container"], true, never>;
547
- static ngAcceptInputType_disabled: unknown;
548
- }
549
-
568
+ declare const defaultRippleAnimationConfig: {
569
+ enterDuration: number;
570
+ exitDuration: number;
571
+ };
550
572
  /**
551
- * Single option inside of a `<mat-select>` element.
573
+ * Helper service that performs DOM manipulations. Not intended to be used outside this module.
574
+ * The constructor takes a reference to the ripple directive's host element and a map of DOM
575
+ * event handlers to be installed on the element that triggers ripple animations.
576
+ * This will eventually become a custom renderer once Angular support exists.
577
+ * @docs-private
552
578
  */
553
- export declare class MatOption<T = any> implements FocusableOption, AfterViewChecked, OnDestroy {
554
- private _element;
555
- _changeDetectorRef: ChangeDetectorRef;
556
- private _parent;
557
- group: MatOptgroup | null;
558
- private _signalDisableRipple;
559
- private _selected;
560
- private _active;
561
- private _disabled;
562
- private _mostRecentViewValue;
563
- /** Whether the wrapping component is in multiple selection mode. */
564
- get multiple(): boolean | null | undefined;
565
- /** Whether or not the option is currently selected. */
566
- get selected(): boolean;
567
- /** The form value of the option. */
568
- value: T;
569
- /** The unique ID of the option. */
570
- id: string;
571
- /** Whether the option is disabled. */
572
- get disabled(): boolean;
573
- set disabled(value: boolean);
574
- /** Whether ripples for the option are disabled. */
575
- get disableRipple(): boolean;
576
- /** Whether to display checkmark for single-selection. */
577
- get hideSingleSelectionIndicator(): boolean;
578
- /** Event emitted when the option is selected or deselected. */
579
- readonly onSelectionChange: EventEmitter<MatOptionSelectionChange<T>>;
580
- /** Element containing the option's text. */
581
- _text: ElementRef<HTMLElement> | undefined;
582
- /** Emits when the state of the option changes and any parents have to be notified. */
583
- readonly _stateChanges: Subject<void>;
584
- constructor(...args: unknown[]);
585
- /**
586
- * Whether or not the option is currently active and ready to be selected.
587
- * An active option displays styles as if it is focused, but the
588
- * focus is actually retained somewhere else. This comes in handy
589
- * for components like autocomplete where focus must remain on the input.
590
- */
591
- get active(): boolean;
579
+ declare class RippleRenderer implements EventListenerObject {
580
+ private _target;
581
+ private _ngZone;
582
+ private _platform;
583
+ /** Element where the ripples are being added to. */
584
+ private _containerElement;
585
+ /** Element which triggers the ripple elements on mouse events. */
586
+ private _triggerElement;
587
+ /** Whether the pointer is currently down or not. */
588
+ private _isPointerDown;
592
589
  /**
593
- * The displayed value of the option. It is necessary to show the selected option in the
594
- * select's trigger.
590
+ * Map of currently active ripple references.
591
+ * The ripple reference is mapped to its element event listeners.
592
+ * The reason why `| null` is used is that event listeners are added only
593
+ * when the condition is truthy (see the `_startFadeOutTransition` method).
595
594
  */
596
- get viewValue(): string;
597
- /** Selects the option. */
598
- select(emitEvent?: boolean): void;
599
- /** Deselects the option. */
600
- deselect(emitEvent?: boolean): void;
601
- /** Sets focus onto this option. */
602
- focus(_origin?: FocusOrigin, options?: FocusOptions): void;
595
+ private _activeRipples;
596
+ /** Latest non-persistent ripple that was triggered. */
597
+ private _mostRecentTransientRipple;
598
+ /** Time in milliseconds when the last touchstart event happened. */
599
+ private _lastTouchStartEvent;
600
+ /** Whether pointer-up event listeners have been registered. */
601
+ private _pointerUpEventsRegistered;
603
602
  /**
604
- * This method sets display styles on the option to make it appear
605
- * active. This is used by the ActiveDescendantKeyManager so key
606
- * events will display the proper options as active on arrow key events.
603
+ * Cached dimensions of the ripple container. Set when the first
604
+ * ripple is shown and cleared once no more ripples are visible.
607
605
  */
608
- setActiveStyles(): void;
606
+ private _containerRect;
607
+ private static _eventManager;
608
+ constructor(_target: RippleTarget, _ngZone: NgZone, elementOrElementRef: HTMLElement | ElementRef<HTMLElement>, _platform: Platform, injector?: Injector);
609
609
  /**
610
- * This method removes display styles on the option that made it appear
611
- * active. This is used by the ActiveDescendantKeyManager so key
612
- * events will display the proper options as active on arrow key events.
610
+ * Fades in a ripple at the given coordinates.
611
+ * @param x Coordinate within the element, along the X axis at which to start the ripple.
612
+ * @param y Coordinate within the element, along the Y axis at which to start the ripple.
613
+ * @param config Extra ripple options.
613
614
  */
614
- setInactiveStyles(): void;
615
- /** Gets the label to be used when determining whether the option should be focused. */
616
- getLabel(): string;
617
- /** Ensures the option is selected when activated from the keyboard. */
618
- _handleKeydown(event: KeyboardEvent): void;
615
+ fadeInRipple(x: number, y: number, config?: RippleConfig): RippleRef;
616
+ /** Fades out a ripple reference. */
617
+ fadeOutRipple(rippleRef: RippleRef): void;
618
+ /** Fades out all currently active ripples. */
619
+ fadeOutAll(): void;
620
+ /** Fades out all currently active non-persistent ripples. */
621
+ fadeOutAllNonPersistent(): void;
622
+ /** Sets up the trigger event listeners */
623
+ setupTriggerEvents(elementOrElementRef: HTMLElement | ElementRef<HTMLElement>): void;
619
624
  /**
620
- * `Selects the option while indicating the selection came from the user. Used to
621
- * determine if the select's view -> model callback should be invoked.`
625
+ * Handles all registered events.
626
+ * @docs-private
622
627
  */
623
- _selectViaInteraction(): void;
624
- /** Returns the correct tabindex for the option depending on disabled state. */
625
- _getTabIndex(): string;
626
- /** Gets the host DOM element. */
627
- _getHostElement(): HTMLElement;
628
- ngAfterViewChecked(): void;
629
- ngOnDestroy(): void;
630
- /** Emits the selection change event. */
631
- private _emitSelectionChangeEvent;
632
- static ɵfac: i0.ɵɵFactoryDeclaration<MatOption<any>, never>;
633
- static ɵcmp: i0.ɵɵComponentDeclaration<MatOption<any>, "mat-option", ["matOption"], { "value": { "alias": "value"; "required": false; }; "id": { "alias": "id"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "onSelectionChange": "onSelectionChange"; }, never, ["mat-icon", "*"], true, never>;
634
- static ngAcceptInputType_disabled: unknown;
635
- }
636
-
637
- export declare class MatOptionModule {
638
- static ɵfac: i0.ɵɵFactoryDeclaration<MatOptionModule, never>;
639
- static ɵmod: i0.ɵɵNgModuleDeclaration<MatOptionModule, never, [typeof i1_3.MatRippleModule, typeof i1_2.MatCommonModule, typeof i3.MatPseudoCheckboxModule, typeof i4.MatOption, typeof i5.MatOptgroup], [typeof i4.MatOption, typeof i5.MatOptgroup]>;
640
- static ɵinj: i0.ɵɵInjectorDeclaration<MatOptionModule>;
641
- }
642
-
643
- /**
644
- * Describes a parent component that manages a list of options.
645
- * Contains properties that the options can inherit.
646
- * @docs-private
647
- */
648
- export declare interface MatOptionParentComponent {
649
- disableRipple?: boolean | Signal<boolean>;
650
- multiple?: boolean;
651
- inertGroups?: boolean;
652
- hideSingleSelectionIndicator?: boolean;
653
- }
654
-
655
- /** Event object emitted by MatOption when selected or deselected. */
656
- export declare class MatOptionSelectionChange<T = any> {
657
- /** Reference to the option that emitted the event. */
658
- source: MatOption<T>;
659
- /** Whether the change in the option's value was a result of a user action. */
660
- isUserInput: boolean;
661
- constructor(
662
- /** Reference to the option that emitted the event. */
663
- source: MatOption<T>,
664
- /** Whether the change in the option's value was a result of a user action. */
665
- isUserInput?: boolean);
666
- }
667
-
668
- /**
669
- * Component that shows a simplified checkbox without including any kind of "real" checkbox.
670
- * Meant to be used when the checkbox is purely decorative and a large number of them will be
671
- * included, such as for the options in a multi-select. Uses no SVGs or complex animations.
672
- * Note that theming is meant to be handled by the parent element, e.g.
673
- * `mat-primary .mat-pseudo-checkbox`.
674
- *
675
- * Note that this component will be completely invisible to screen-reader users. This is *not*
676
- * interchangeable with `<mat-checkbox>` and should *not* be used if the user would directly
677
- * interact with the checkbox. The pseudo-checkbox should only be used as an implementation detail
678
- * of more complex components that appropriately handle selected / checked state.
679
- * @docs-private
680
- */
681
- export declare class MatPseudoCheckbox {
682
- _animationMode?: "NoopAnimations" | "BrowserAnimations" | null | undefined;
683
- /** Display state of the checkbox. */
684
- state: MatPseudoCheckboxState;
685
- /** Whether the checkbox is disabled. */
686
- disabled: boolean;
628
+ handleEvent(event: Event): void;
629
+ /** Method that will be called if the fade-in or fade-in transition completed. */
630
+ private _finishRippleTransition;
687
631
  /**
688
- * Appearance of the pseudo checkbox. Default appearance of 'full' renders a checkmark/mixedmark
689
- * indicator inside a square box. 'minimal' appearance only renders the checkmark/mixedmark.
632
+ * Starts the fade-out transition of the given ripple if it's not persistent and the pointer
633
+ * is not held down anymore.
690
634
  */
691
- appearance: 'minimal' | 'full';
692
- constructor(...args: unknown[]);
693
- static ɵfac: i0.ɵɵFactoryDeclaration<MatPseudoCheckbox, never>;
694
- static ɵcmp: i0.ɵɵComponentDeclaration<MatPseudoCheckbox, "mat-pseudo-checkbox", never, { "state": { "alias": "state"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; }, {}, never, never, true, never>;
635
+ private _startFadeOutTransition;
636
+ /** Destroys the given ripple by removing it from the DOM and updating its state. */
637
+ private _destroyRipple;
638
+ /** Function being called whenever the trigger is being pressed using mouse. */
639
+ private _onMousedown;
640
+ /** Function being called whenever the trigger is being pressed using touch. */
641
+ private _onTouchStart;
642
+ /** Function being called whenever the trigger is being released. */
643
+ private _onPointerUp;
644
+ private _getActiveRipples;
645
+ /** Removes previously registered event listeners from the trigger element. */
646
+ _removeTriggerEvents(): void;
695
647
  }
696
648
 
697
- export declare class MatPseudoCheckboxModule {
698
- static ɵfac: i0.ɵɵFactoryDeclaration<MatPseudoCheckboxModule, never>;
699
- static ɵmod: i0.ɵɵNgModuleDeclaration<MatPseudoCheckboxModule, never, [typeof i1_2.MatCommonModule, typeof i2_2.MatPseudoCheckbox], [typeof i2_2.MatPseudoCheckbox]>;
700
- static ɵinj: i0.ɵɵInjectorDeclaration<MatPseudoCheckboxModule>;
649
+ /** Configurable options for `matRipple`. */
650
+ interface RippleGlobalOptions {
651
+ /**
652
+ * Whether ripples should be disabled. Ripples can be still launched manually by using
653
+ * the `launch()` method. Therefore focus indicators will still show up.
654
+ */
655
+ disabled?: boolean;
656
+ /**
657
+ * Default configuration for the animation duration of the ripples. There are two phases with
658
+ * different durations for the ripples: `enter` and `leave`. The durations will be overwritten
659
+ * by the value of `matRippleAnimation` or if the `NoopAnimationsModule` is included.
660
+ */
661
+ animation?: RippleAnimationConfig;
662
+ /**
663
+ * Whether ripples should start fading out immediately after the mouse or touch is released. By
664
+ * default, ripples will wait for the enter animation to complete and for mouse or touch release.
665
+ */
666
+ terminateOnPointerUp?: boolean;
667
+ /**
668
+ * A namespace to use for ripple loader to allow multiple instances to exist on the same page.
669
+ */
670
+ namespace?: string;
701
671
  }
702
-
703
- /**
704
- * Possible states for a pseudo checkbox.
705
- * @docs-private
706
- */
707
- export declare type MatPseudoCheckboxState = 'unchecked' | 'checked' | 'indeterminate';
708
-
709
- export declare class MatRipple implements OnInit, OnDestroy, RippleTarget {
672
+ /** Injection token that can be used to specify the global ripple options. */
673
+ declare const MAT_RIPPLE_GLOBAL_OPTIONS: InjectionToken<RippleGlobalOptions>;
674
+ declare class MatRipple implements OnInit, OnDestroy, RippleTarget {
710
675
  private _elementRef;
711
676
  private _animationMode;
712
677
  /** Custom color for all ripples. */
@@ -787,337 +752,268 @@ export declare class MatRipple implements OnInit, OnDestroy, RippleTarget {
787
752
  static ɵdir: i0.ɵɵDirectiveDeclaration<MatRipple, "[mat-ripple], [matRipple]", ["matRipple"], { "color": { "alias": "matRippleColor"; "required": false; }; "unbounded": { "alias": "matRippleUnbounded"; "required": false; }; "centered": { "alias": "matRippleCentered"; "required": false; }; "radius": { "alias": "matRippleRadius"; "required": false; }; "animation": { "alias": "matRippleAnimation"; "required": false; }; "disabled": { "alias": "matRippleDisabled"; "required": false; }; "trigger": { "alias": "matRippleTrigger"; "required": false; }; }, {}, never, never, true, never>;
788
753
  }
789
754
 
790
- /**
791
- * Handles attaching ripples on demand.
792
- *
793
- * This service allows us to avoid eagerly creating & attaching MatRipples.
794
- * It works by creating & attaching a ripple only when a component is first interacted with.
795
- *
796
- * @docs-private
797
- */
798
- export declare class MatRippleLoader implements OnDestroy {
799
- private _document;
800
- private _animationMode;
801
- private _globalRippleOptions;
802
- private _platform;
803
- private _ngZone;
804
- private _injector;
805
- private _eventCleanups;
806
- private _hosts;
807
- constructor();
808
- ngOnDestroy(): void;
809
- /**
810
- * Configures the ripple that will be rendered by the ripple loader.
811
- *
812
- * Stores the given information about how the ripple should be configured on the host
813
- * element so that it can later be retrived & used when the ripple is actually created.
814
- */
815
- configureRipple(host: HTMLElement, config: {
816
- className?: string;
817
- centered?: boolean;
818
- disabled?: boolean;
819
- }): void;
820
- /** Sets the disabled state on the ripple instance corresponding to the given host element. */
821
- setDisabled(host: HTMLElement, disabled: boolean): void;
822
- /**
823
- * Handles creating and attaching component internals
824
- * when a component is initially interacted with.
825
- */
826
- private _onInteraction;
827
- /** Creates a MatRipple and appends it to the given element. */
828
- private _createRipple;
829
- destroyRipple(host: HTMLElement): void;
830
- static ɵfac: i0.ɵɵFactoryDeclaration<MatRippleLoader, never>;
831
- static ɵprov: i0.ɵɵInjectableDeclaration<MatRippleLoader>;
832
- }
833
-
834
- export declare class MatRippleModule {
755
+ declare class MatRippleModule {
835
756
  static ɵfac: i0.ɵɵFactoryDeclaration<MatRippleModule, never>;
836
- static ɵmod: i0.ɵɵNgModuleDeclaration<MatRippleModule, never, [typeof i1_2.MatCommonModule, typeof i2.MatRipple], [typeof i2.MatRipple, typeof i1_2.MatCommonModule]>;
757
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MatRippleModule, never, [typeof MatCommonModule, typeof MatRipple], [typeof MatRipple, typeof MatCommonModule]>;
837
758
  static ɵinj: i0.ɵɵInjectorDeclaration<MatRippleModule>;
838
759
  }
839
760
 
840
- /** Adapts the native JS Date for use with cdk-based components that work with dates. */
841
- export declare class NativeDateAdapter extends DateAdapter<Date> {
761
+ /**
762
+ * Possible states for a pseudo checkbox.
763
+ * @docs-private
764
+ */
765
+ type MatPseudoCheckboxState = 'unchecked' | 'checked' | 'indeterminate';
766
+ /**
767
+ * Component that shows a simplified checkbox without including any kind of "real" checkbox.
768
+ * Meant to be used when the checkbox is purely decorative and a large number of them will be
769
+ * included, such as for the options in a multi-select. Uses no SVGs or complex animations.
770
+ * Note that theming is meant to be handled by the parent element, e.g.
771
+ * `mat-primary .mat-pseudo-checkbox`.
772
+ *
773
+ * Note that this component will be completely invisible to screen-reader users. This is *not*
774
+ * interchangeable with `<mat-checkbox>` and should *not* be used if the user would directly
775
+ * interact with the checkbox. The pseudo-checkbox should only be used as an implementation detail
776
+ * of more complex components that appropriately handle selected / checked state.
777
+ * @docs-private
778
+ */
779
+ declare class MatPseudoCheckbox {
780
+ _animationMode?: "NoopAnimations" | "BrowserAnimations" | null | undefined;
781
+ /** Display state of the checkbox. */
782
+ state: MatPseudoCheckboxState;
783
+ /** Whether the checkbox is disabled. */
784
+ disabled: boolean;
842
785
  /**
843
- * @deprecated No longer being used. To be removed.
844
- * @breaking-change 14.0.0
786
+ * Appearance of the pseudo checkbox. Default appearance of 'full' renders a checkmark/mixedmark
787
+ * indicator inside a square box. 'minimal' appearance only renders the checkmark/mixedmark.
845
788
  */
846
- useUtcForDisplay: boolean;
847
- /** The injected locale. */
848
- private readonly _matDateLocale;
789
+ appearance: 'minimal' | 'full';
849
790
  constructor(...args: unknown[]);
850
- getYear(date: Date): number;
851
- getMonth(date: Date): number;
852
- getDate(date: Date): number;
853
- getDayOfWeek(date: Date): number;
854
- getMonthNames(style: 'long' | 'short' | 'narrow'): string[];
855
- getDateNames(): string[];
856
- getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[];
857
- getYearName(date: Date): string;
858
- getFirstDayOfWeek(): number;
859
- getNumDaysInMonth(date: Date): number;
860
- clone(date: Date): Date;
861
- createDate(year: number, month: number, date: number): Date;
862
- today(): Date;
863
- parse(value: any, parseFormat?: any): Date | null;
864
- format(date: Date, displayFormat: Object): string;
865
- addCalendarYears(date: Date, years: number): Date;
866
- addCalendarMonths(date: Date, months: number): Date;
867
- addCalendarDays(date: Date, days: number): Date;
868
- toIso8601(date: Date): string;
869
- /**
870
- * Returns the given value if given a valid Date or null. Deserializes valid ISO 8601 strings
871
- * (https://www.ietf.org/rfc/rfc3339.txt) into valid Dates and empty string into null. Returns an
872
- * invalid date for all other values.
873
- */
874
- deserialize(value: any): Date | null;
875
- isDateInstance(obj: any): obj is Date;
876
- isValid(date: Date): boolean;
877
- invalid(): Date;
878
- setTime(target: Date, hours: number, minutes: number, seconds: number): Date;
879
- getHours(date: Date): number;
880
- getMinutes(date: Date): number;
881
- getSeconds(date: Date): number;
882
- parseTime(userValue: any, parseFormat?: any): Date | null;
883
- addSeconds(date: Date, amount: number): Date;
884
- /** Creates a date but allows the month and date to overflow. */
885
- private _createDateWithOverflow;
886
- /**
887
- * Pads a number to make it two digits.
888
- * @param n The number to pad.
889
- * @returns The padded number.
890
- */
891
- private _2digit;
892
- /**
893
- * When converting Date object to string, javascript built-in functions may return wrong
894
- * results because it applies its internal DST rules. The DST rules around the world change
895
- * very frequently, and the current valid rule is not always valid in previous years though.
896
- * We work around this problem building a new Date object which has its internal UTC
897
- * representation with the local date and time.
898
- * @param dtf Intl.DateTimeFormat object, containing the desired string format. It must have
899
- * timeZone set to 'utc' to work fine.
900
- * @param date Date from which we want to get the string representation according to dtf
901
- * @returns A Date object with its UTC representation based on the passed in date info
902
- */
903
- private _format;
904
- /**
905
- * Attempts to parse a time string into a date object. Returns null if it cannot be parsed.
906
- * @param value Time string to parse.
907
- */
908
- private _parseTimeString;
909
- static ɵfac: i0.ɵɵFactoryDeclaration<NativeDateAdapter, never>;
910
- static ɵprov: i0.ɵɵInjectableDeclaration<NativeDateAdapter>;
791
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatPseudoCheckbox, never>;
792
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatPseudoCheckbox, "mat-pseudo-checkbox", never, { "state": { "alias": "state"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; }, {}, never, never, true, never>;
911
793
  }
912
794
 
913
- export declare class NativeDateModule {
914
- static ɵfac: i0.ɵɵFactoryDeclaration<NativeDateModule, never>;
915
- static ɵmod: i0.ɵɵNgModuleDeclaration<NativeDateModule, never, never, never>;
916
- static ɵinj: i0.ɵɵInjectorDeclaration<NativeDateModule>;
795
+ declare class MatPseudoCheckboxModule {
796
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatPseudoCheckboxModule, never>;
797
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MatPseudoCheckboxModule, never, [typeof MatCommonModule, typeof MatPseudoCheckbox], [typeof MatPseudoCheckbox]>;
798
+ static ɵinj: i0.ɵɵInjectorDeclaration<MatPseudoCheckboxModule>;
917
799
  }
918
800
 
919
- export declare function provideNativeDateAdapter(formats?: MatDateFormats): Provider[];
920
-
921
801
  /**
922
- * Interface that describes the configuration for the animation of a ripple.
923
- * There are two animation phases with different durations for the ripples.
802
+ * Injection token that can be used to reference instances of `MatOptgroup`. It serves as
803
+ * alternative token to the actual `MatOptgroup` class which could cause unnecessary
804
+ * retention of the class and its component metadata.
924
805
  */
925
- export declare interface RippleAnimationConfig {
926
- /** Duration in milliseconds for the enter animation (expansion from point of contact). */
927
- enterDuration?: number;
928
- /** Duration in milliseconds for the exit animation (fade-out). */
929
- exitDuration?: number;
930
- }
931
-
932
- export declare type RippleConfig = {
933
- color?: string;
934
- centered?: boolean;
935
- radius?: number;
936
- persistent?: boolean;
937
- animation?: RippleAnimationConfig;
938
- terminateOnPointerUp?: boolean;
939
- };
940
-
941
- /** Configurable options for `matRipple`. */
942
- export declare interface RippleGlobalOptions {
943
- /**
944
- * Whether ripples should be disabled. Ripples can be still launched manually by using
945
- * the `launch()` method. Therefore focus indicators will still show up.
946
- */
947
- disabled?: boolean;
948
- /**
949
- * Default configuration for the animation duration of the ripples. There are two phases with
950
- * different durations for the ripples: `enter` and `leave`. The durations will be overwritten
951
- * by the value of `matRippleAnimation` or if the `NoopAnimationsModule` is included.
952
- */
953
- animation?: RippleAnimationConfig;
954
- /**
955
- * Whether ripples should start fading out immediately after the mouse or touch is released. By
956
- * default, ripples will wait for the enter animation to complete and for mouse or touch release.
957
- */
958
- terminateOnPointerUp?: boolean;
959
- /**
960
- * A namespace to use for ripple loader to allow multiple instances to exist on the same page.
961
- */
962
- namespace?: string;
963
- }
964
-
806
+ declare const MAT_OPTGROUP: InjectionToken<MatOptgroup>;
965
807
  /**
966
- * Reference to a previously launched ripple element.
808
+ * Component that is used to group instances of `mat-option`.
967
809
  */
968
- export declare class RippleRef {
969
- private _renderer;
970
- /** Reference to the ripple HTML element. */
971
- element: HTMLElement;
972
- /** Ripple configuration used for the ripple. */
973
- config: RippleConfig;
974
- _animationForciblyDisabledThroughCss: boolean;
975
- /** Current state of the ripple. */
976
- state: RippleState;
977
- constructor(_renderer: {
978
- fadeOutRipple(ref: RippleRef): void;
979
- },
980
- /** Reference to the ripple HTML element. */
981
- element: HTMLElement,
982
- /** Ripple configuration used for the ripple. */
983
- config: RippleConfig, _animationForciblyDisabledThroughCss?: boolean);
984
- /** Fades out the ripple element. */
985
- fadeOut(): void;
810
+ declare class MatOptgroup {
811
+ /** Label for the option group. */
812
+ label: string;
813
+ /** whether the option group is disabled. */
814
+ disabled: boolean;
815
+ /** Unique id for the underlying label. */
816
+ _labelId: string;
817
+ /** Whether the group is in inert a11y mode. */
818
+ _inert: boolean;
819
+ constructor(...args: unknown[]);
820
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatOptgroup, never>;
821
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatOptgroup, "mat-optgroup", ["matOptgroup"], { "label": { "alias": "label"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, ["*", "mat-option, ng-container"], true, never>;
822
+ static ngAcceptInputType_disabled: unknown;
986
823
  }
987
824
 
825
+ /** Event object emitted by MatOption when selected or deselected. */
826
+ declare class MatOptionSelectionChange<T = any> {
827
+ /** Reference to the option that emitted the event. */
828
+ source: MatOption<T>;
829
+ /** Whether the change in the option's value was a result of a user action. */
830
+ isUserInput: boolean;
831
+ constructor(
832
+ /** Reference to the option that emitted the event. */
833
+ source: MatOption<T>,
834
+ /** Whether the change in the option's value was a result of a user action. */
835
+ isUserInput?: boolean);
836
+ }
988
837
  /**
989
- * Helper service that performs DOM manipulations. Not intended to be used outside this module.
990
- * The constructor takes a reference to the ripple directive's host element and a map of DOM
991
- * event handlers to be installed on the element that triggers ripple animations.
992
- * This will eventually become a custom renderer once Angular support exists.
993
- * @docs-private
838
+ * Single option inside of a `<mat-select>` element.
994
839
  */
995
- export declare class RippleRenderer implements EventListenerObject {
996
- private _target;
997
- private _ngZone;
998
- private _platform;
999
- /** Element where the ripples are being added to. */
1000
- private _containerElement;
1001
- /** Element which triggers the ripple elements on mouse events. */
1002
- private _triggerElement;
1003
- /** Whether the pointer is currently down or not. */
1004
- private _isPointerDown;
840
+ declare class MatOption<T = any> implements FocusableOption, AfterViewChecked, OnDestroy {
841
+ private _element;
842
+ _changeDetectorRef: ChangeDetectorRef;
843
+ private _parent;
844
+ group: MatOptgroup | null;
845
+ private _signalDisableRipple;
846
+ private _selected;
847
+ private _active;
848
+ private _disabled;
849
+ private _mostRecentViewValue;
850
+ /** Whether the wrapping component is in multiple selection mode. */
851
+ get multiple(): boolean | null | undefined;
852
+ /** Whether or not the option is currently selected. */
853
+ get selected(): boolean;
854
+ /** The form value of the option. */
855
+ value: T;
856
+ /** The unique ID of the option. */
857
+ id: string;
858
+ /** Whether the option is disabled. */
859
+ get disabled(): boolean;
860
+ set disabled(value: boolean);
861
+ /** Whether ripples for the option are disabled. */
862
+ get disableRipple(): boolean;
863
+ /** Whether to display checkmark for single-selection. */
864
+ get hideSingleSelectionIndicator(): boolean;
865
+ /** Event emitted when the option is selected or deselected. */
866
+ readonly onSelectionChange: EventEmitter<MatOptionSelectionChange<T>>;
867
+ /** Element containing the option's text. */
868
+ _text: ElementRef<HTMLElement> | undefined;
869
+ /** Emits when the state of the option changes and any parents have to be notified. */
870
+ readonly _stateChanges: Subject<void>;
871
+ constructor(...args: unknown[]);
1005
872
  /**
1006
- * Map of currently active ripple references.
1007
- * The ripple reference is mapped to its element event listeners.
1008
- * The reason why `| null` is used is that event listeners are added only
1009
- * when the condition is truthy (see the `_startFadeOutTransition` method).
873
+ * Whether or not the option is currently active and ready to be selected.
874
+ * An active option displays styles as if it is focused, but the
875
+ * focus is actually retained somewhere else. This comes in handy
876
+ * for components like autocomplete where focus must remain on the input.
1010
877
  */
1011
- private _activeRipples;
1012
- /** Latest non-persistent ripple that was triggered. */
1013
- private _mostRecentTransientRipple;
1014
- /** Time in milliseconds when the last touchstart event happened. */
1015
- private _lastTouchStartEvent;
1016
- /** Whether pointer-up event listeners have been registered. */
1017
- private _pointerUpEventsRegistered;
878
+ get active(): boolean;
1018
879
  /**
1019
- * Cached dimensions of the ripple container. Set when the first
1020
- * ripple is shown and cleared once no more ripples are visible.
880
+ * The displayed value of the option. It is necessary to show the selected option in the
881
+ * select's trigger.
1021
882
  */
1022
- private _containerRect;
1023
- private static _eventManager;
1024
- constructor(_target: RippleTarget, _ngZone: NgZone, elementOrElementRef: HTMLElement | ElementRef<HTMLElement>, _platform: Platform, injector?: Injector);
883
+ get viewValue(): string;
884
+ /** Selects the option. */
885
+ select(emitEvent?: boolean): void;
886
+ /** Deselects the option. */
887
+ deselect(emitEvent?: boolean): void;
888
+ /** Sets focus onto this option. */
889
+ focus(_origin?: FocusOrigin, options?: FocusOptions): void;
1025
890
  /**
1026
- * Fades in a ripple at the given coordinates.
1027
- * @param x Coordinate within the element, along the X axis at which to start the ripple.
1028
- * @param y Coordinate within the element, along the Y axis at which to start the ripple.
1029
- * @param config Extra ripple options.
891
+ * This method sets display styles on the option to make it appear
892
+ * active. This is used by the ActiveDescendantKeyManager so key
893
+ * events will display the proper options as active on arrow key events.
1030
894
  */
1031
- fadeInRipple(x: number, y: number, config?: RippleConfig): RippleRef;
1032
- /** Fades out a ripple reference. */
1033
- fadeOutRipple(rippleRef: RippleRef): void;
1034
- /** Fades out all currently active ripples. */
1035
- fadeOutAll(): void;
1036
- /** Fades out all currently active non-persistent ripples. */
1037
- fadeOutAllNonPersistent(): void;
1038
- /** Sets up the trigger event listeners */
1039
- setupTriggerEvents(elementOrElementRef: HTMLElement | ElementRef<HTMLElement>): void;
895
+ setActiveStyles(): void;
1040
896
  /**
1041
- * Handles all registered events.
1042
- * @docs-private
897
+ * This method removes display styles on the option that made it appear
898
+ * active. This is used by the ActiveDescendantKeyManager so key
899
+ * events will display the proper options as active on arrow key events.
1043
900
  */
1044
- handleEvent(event: Event): void;
1045
- /** Method that will be called if the fade-in or fade-in transition completed. */
1046
- private _finishRippleTransition;
901
+ setInactiveStyles(): void;
902
+ /** Gets the label to be used when determining whether the option should be focused. */
903
+ getLabel(): string;
904
+ /** Ensures the option is selected when activated from the keyboard. */
905
+ _handleKeydown(event: KeyboardEvent): void;
1047
906
  /**
1048
- * Starts the fade-out transition of the given ripple if it's not persistent and the pointer
1049
- * is not held down anymore.
907
+ * `Selects the option while indicating the selection came from the user. Used to
908
+ * determine if the select's view -> model callback should be invoked.`
1050
909
  */
1051
- private _startFadeOutTransition;
1052
- /** Destroys the given ripple by removing it from the DOM and updating its state. */
1053
- private _destroyRipple;
1054
- /** Function being called whenever the trigger is being pressed using mouse. */
1055
- private _onMousedown;
1056
- /** Function being called whenever the trigger is being pressed using touch. */
1057
- private _onTouchStart;
1058
- /** Function being called whenever the trigger is being released. */
1059
- private _onPointerUp;
1060
- private _getActiveRipples;
1061
- /** Removes previously registered event listeners from the trigger element. */
1062
- _removeTriggerEvents(): void;
1063
- }
1064
-
1065
-
1066
- /** Possible states for a ripple element. */
1067
- export declare enum RippleState {
1068
- FADING_IN = 0,
1069
- VISIBLE = 1,
1070
- FADING_OUT = 2,
1071
- HIDDEN = 3
910
+ _selectViaInteraction(): void;
911
+ /** Returns the correct tabindex for the option depending on disabled state. */
912
+ _getTabIndex(): string;
913
+ /** Gets the host DOM element. */
914
+ _getHostElement(): HTMLElement;
915
+ ngAfterViewChecked(): void;
916
+ ngOnDestroy(): void;
917
+ /** Emits the selection change event. */
918
+ private _emitSelectionChangeEvent;
919
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatOption<any>, never>;
920
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatOption<any>, "mat-option", ["matOption"], { "value": { "alias": "value"; "required": false; }; "id": { "alias": "id"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "onSelectionChange": "onSelectionChange"; }, never, ["mat-icon", "*"], true, never>;
921
+ static ngAcceptInputType_disabled: unknown;
1072
922
  }
1073
-
1074
923
  /**
1075
- * Interface that describes the target for launching ripples.
1076
- * It defines the ripple configuration and disabled state for interaction ripples.
924
+ * Counts the amount of option group labels that precede the specified option.
925
+ * @param optionIndex Index of the option at which to start counting.
926
+ * @param options Flat list of all of the options.
927
+ * @param optionGroups Flat list of all of the option groups.
1077
928
  * @docs-private
1078
929
  */
1079
- export declare interface RippleTarget {
1080
- /** Configuration for ripples that are launched on pointer down. */
1081
- rippleConfig: RippleConfig;
1082
- /** Whether ripples on pointer down should be disabled. */
1083
- rippleDisabled: boolean;
1084
- }
1085
-
930
+ declare function _countGroupLabelsBeforeOption(optionIndex: number, options: QueryList<MatOption>, optionGroups: QueryList<MatOptgroup>): number;
1086
931
  /**
1087
- * Possible sanity checks that can be enabled. If set to
1088
- * true/false, all checks will be enabled/disabled.
1089
- * @deprecated No longer used and will be removed.
1090
- * @breaking-change 21.0.0
932
+ * Determines the position to which to scroll a panel in order for an option to be into view.
933
+ * @param optionOffset Offset of the option from the top of the panel.
934
+ * @param optionHeight Height of the options.
935
+ * @param currentScrollPosition Current scroll position of the panel.
936
+ * @param panelHeight Height of the panel.
937
+ * @docs-private
1091
938
  */
1092
- export declare type SanityChecks = boolean | GranularSanityChecks;
939
+ declare function _getOptionScrollPosition(optionOffset: number, optionHeight: number, currentScrollPosition: number, panelHeight: number): number;
1093
940
 
1094
941
  /**
1095
- * Helper that takes a query list of lines and sets the correct class on the host.
942
+ * Describes a parent component that manages a list of options.
943
+ * Contains properties that the options can inherit.
1096
944
  * @docs-private
1097
945
  */
1098
- export declare function setLines(lines: QueryList<unknown>, element: ElementRef<HTMLElement>, prefix?: string): void;
946
+ interface MatOptionParentComponent {
947
+ disableRipple?: boolean | Signal<boolean>;
948
+ multiple?: boolean;
949
+ inertGroups?: boolean;
950
+ hideSingleSelectionIndicator?: boolean;
951
+ }
952
+ /**
953
+ * Injection token used to provide the parent component to options.
954
+ */
955
+ declare const MAT_OPTION_PARENT_COMPONENT: InjectionToken<MatOptionParentComponent>;
1099
956
 
1100
- /** Error state matcher that matches when a control is invalid and dirty. */
1101
- export declare class ShowOnDirtyErrorStateMatcher implements ErrorStateMatcher {
1102
- isErrorState(control: AbstractControl | null, form: FormGroupDirective | NgForm | null): boolean;
1103
- static ɵfac: i0.ɵɵFactoryDeclaration<ShowOnDirtyErrorStateMatcher, never>;
1104
- static ɵprov: i0.ɵɵInjectableDeclaration<ShowOnDirtyErrorStateMatcher>;
957
+ declare class MatOptionModule {
958
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatOptionModule, never>;
959
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MatOptionModule, never, [typeof MatRippleModule, typeof MatCommonModule, typeof MatPseudoCheckboxModule, typeof MatOption, typeof MatOptgroup], [typeof MatOption, typeof MatOptgroup]>;
960
+ static ɵinj: i0.ɵɵInjectorDeclaration<MatOptionModule>;
1105
961
  }
1106
962
 
1107
963
  /**
1108
- * Component used to load structural styles for focus indicators.
964
+ * Handles attaching ripples on demand.
965
+ *
966
+ * This service allows us to avoid eagerly creating & attaching MatRipples.
967
+ * It works by creating & attaching a ripple only when a component is first interacted with.
968
+ *
1109
969
  * @docs-private
1110
970
  */
1111
- export declare class _StructuralStylesLoader {
1112
- static ɵfac: i0.ɵɵFactoryDeclaration<_StructuralStylesLoader, never>;
1113
- static ɵcmp: i0.ɵɵComponentDeclaration<_StructuralStylesLoader, "structural-styles", never, {}, {}, never, never, true, never>;
971
+ declare class MatRippleLoader implements OnDestroy {
972
+ private _document;
973
+ private _animationMode;
974
+ private _globalRippleOptions;
975
+ private _platform;
976
+ private _ngZone;
977
+ private _injector;
978
+ private _eventCleanups;
979
+ private _hosts;
980
+ constructor();
981
+ ngOnDestroy(): void;
982
+ /**
983
+ * Configures the ripple that will be rendered by the ripple loader.
984
+ *
985
+ * Stores the given information about how the ripple should be configured on the host
986
+ * element so that it can later be retrived & used when the ripple is actually created.
987
+ */
988
+ configureRipple(host: HTMLElement, config: {
989
+ className?: string;
990
+ centered?: boolean;
991
+ disabled?: boolean;
992
+ }): void;
993
+ /** Sets the disabled state on the ripple instance corresponding to the given host element. */
994
+ setDisabled(host: HTMLElement, disabled: boolean): void;
995
+ /**
996
+ * Handles creating and attaching component internals
997
+ * when a component is initially interacted with.
998
+ */
999
+ private _onInteraction;
1000
+ /** Creates a MatRipple and appends it to the given element. */
1001
+ private _createRipple;
1002
+ destroyRipple(host: HTMLElement): void;
1003
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatRippleLoader, never>;
1004
+ static ɵprov: i0.ɵɵInjectableDeclaration<MatRippleLoader>;
1114
1005
  }
1115
1006
 
1007
+ /**
1008
+ * Internal shared component used as a container in form field controls.
1009
+ * Not to be confused with `mat-form-field` which MDC calls a "text field".
1010
+ * @docs-private
1011
+ */
1012
+ declare class _MatInternalFormField {
1013
+ /** Position of the label relative to the content. */
1014
+ labelPosition: 'before' | 'after';
1015
+ static ɵfac: i0.ɵɵFactoryDeclaration<_MatInternalFormField, never>;
1016
+ static ɵcmp: i0.ɵɵComponentDeclaration<_MatInternalFormField, "div[mat-internal-form-field]", never, { "labelPosition": { "alias": "labelPosition"; "required": true; }; }, {}, never, ["*"], true, never>;
1017
+ }
1116
1018
 
1117
- /** Possible color palette values. */
1118
- export declare type ThemePalette = 'primary' | 'accent' | 'warn' | undefined;
1119
-
1120
- /** Current version of Angular Material. */
1121
- export declare const VERSION: Version;
1122
-
1123
- export { }
1019
+ export { AnimationCurves, AnimationDurations, DateAdapter, ErrorStateMatcher$1 as ErrorStateMatcher, type GranularSanityChecks, MATERIAL_SANITY_CHECKS, MAT_DATE_FORMATS, MAT_DATE_LOCALE, MAT_DATE_LOCALE_FACTORY, MAT_NATIVE_DATE_FORMATS, MAT_OPTGROUP, MAT_OPTION_PARENT_COMPONENT, MAT_RIPPLE_GLOBAL_OPTIONS, MatCommonModule, type MatDateFormats, MatLine, MatLineModule, MatNativeDateModule, MatOptgroup, MatOption, MatOptionModule, type MatOptionParentComponent, MatOptionSelectionChange, MatPseudoCheckbox, MatPseudoCheckboxModule, type MatPseudoCheckboxState, MatRipple, MatRippleLoader, MatRippleModule, NativeDateAdapter, NativeDateModule, type RippleAnimationConfig, type RippleConfig, type RippleGlobalOptions, RippleRef, RippleRenderer, RippleState, type RippleTarget, type SanityChecks, ShowOnDirtyErrorStateMatcher, type ThemePalette, VERSION, _ErrorStateTracker, _MatInternalFormField, _StructuralStylesLoader, _countGroupLabelsBeforeOption, _getOptionScrollPosition, defaultRippleAnimationConfig, provideNativeDateAdapter, setLines };