@angular/material 21.0.0-next.1 → 21.0.0-next.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 (161) hide show
  1. package/autocomplete/index.d.ts +4 -27
  2. package/badge/index.d.ts +2 -3
  3. package/bottom-sheet/index.d.ts +4 -13
  4. package/button/index.d.ts +3 -10
  5. package/button-toggle/index.d.ts +3 -4
  6. package/button-toggle.d.d.ts +1 -7
  7. package/card/index.d.ts +2 -3
  8. package/checkbox/index.d.ts +3 -10
  9. package/chips/_m3-chip.scss +2 -5
  10. package/chips/index.d.ts +2 -3
  11. package/core/index.d.ts +1 -2
  12. package/core/tokens/_classes.scss +20 -16
  13. package/date-adapter.d.d.ts +1 -7
  14. package/datepicker/index.d.ts +6 -59
  15. package/dialog/index.d.ts +7 -30
  16. package/divider/index.d.ts +2 -3
  17. package/expansion/index.d.ts +5 -41
  18. package/fesm2022/autocomplete.mjs +10 -42
  19. package/fesm2022/autocomplete.mjs.map +1 -1
  20. package/fesm2022/badge.mjs +5 -6
  21. package/fesm2022/badge.mjs.map +1 -1
  22. package/fesm2022/bottom-sheet.mjs +6 -89
  23. package/fesm2022/bottom-sheet.mjs.map +1 -1
  24. package/fesm2022/button-toggle.mjs +10 -19
  25. package/fesm2022/button-toggle.mjs.map +1 -1
  26. package/fesm2022/button.mjs +11 -33
  27. package/fesm2022/button.mjs.map +1 -1
  28. package/fesm2022/card.mjs +6 -8
  29. package/fesm2022/card.mjs.map +1 -1
  30. package/fesm2022/checkbox.mjs +15 -25
  31. package/fesm2022/checkbox.mjs.map +1 -1
  32. package/fesm2022/chips.mjs +12 -13
  33. package/fesm2022/chips.mjs.map +1 -1
  34. package/fesm2022/core.mjs +3 -5
  35. package/fesm2022/core.mjs.map +1 -1
  36. package/fesm2022/date-formats.mjs +2 -10
  37. package/fesm2022/date-formats.mjs.map +1 -1
  38. package/fesm2022/datepicker.mjs +32 -185
  39. package/fesm2022/datepicker.mjs.map +1 -1
  40. package/fesm2022/dialog/testing.mjs +5 -6
  41. package/fesm2022/dialog/testing.mjs.map +1 -1
  42. package/fesm2022/dialog.mjs +882 -115
  43. package/fesm2022/dialog.mjs.map +1 -1
  44. package/fesm2022/divider.mjs +5 -7
  45. package/fesm2022/divider.mjs.map +1 -1
  46. package/fesm2022/expansion.mjs +8 -112
  47. package/fesm2022/expansion.mjs.map +1 -1
  48. package/fesm2022/form-field.mjs +19 -50
  49. package/fesm2022/form-field.mjs.map +1 -1
  50. package/fesm2022/grid-list.mjs +6 -11
  51. package/fesm2022/grid-list.mjs.map +1 -1
  52. package/fesm2022/icon-registry.mjs +2 -29
  53. package/fesm2022/icon-registry.mjs.map +1 -1
  54. package/fesm2022/icon.mjs +16 -24
  55. package/fesm2022/icon.mjs.map +1 -1
  56. package/fesm2022/input.mjs +6 -7
  57. package/fesm2022/input.mjs.map +1 -1
  58. package/fesm2022/line.mjs +5 -5
  59. package/fesm2022/line.mjs.map +1 -1
  60. package/fesm2022/list.mjs +6 -7
  61. package/fesm2022/list.mjs.map +1 -1
  62. package/fesm2022/menu.mjs +11 -162
  63. package/fesm2022/menu.mjs.map +1 -1
  64. package/fesm2022/option-module.mjs +5 -5
  65. package/fesm2022/option-module.mjs.map +1 -1
  66. package/fesm2022/option.mjs +2 -2
  67. package/fesm2022/option.mjs.map +1 -1
  68. package/fesm2022/paginator.mjs +7 -28
  69. package/fesm2022/paginator.mjs.map +1 -1
  70. package/fesm2022/progress-bar.mjs +19 -24
  71. package/fesm2022/progress-bar.mjs.map +1 -1
  72. package/fesm2022/progress-spinner.mjs +6 -16
  73. package/fesm2022/progress-spinner.mjs.map +1 -1
  74. package/fesm2022/pseudo-checkbox-module.mjs +5 -5
  75. package/fesm2022/pseudo-checkbox-module.mjs.map +1 -1
  76. package/fesm2022/radio.mjs +9 -18
  77. package/fesm2022/radio.mjs.map +1 -1
  78. package/fesm2022/ripple-module.mjs +5 -5
  79. package/fesm2022/ripple-module.mjs.map +1 -1
  80. package/fesm2022/ripple.mjs +2 -2
  81. package/fesm2022/ripple.mjs.map +1 -1
  82. package/fesm2022/select.mjs +1292 -90
  83. package/fesm2022/select.mjs.map +1 -1
  84. package/fesm2022/sidenav.mjs +9 -99
  85. package/fesm2022/sidenav.mjs.map +1 -1
  86. package/fesm2022/slide-toggle.mjs +5 -6
  87. package/fesm2022/slide-toggle.mjs.map +1 -1
  88. package/fesm2022/slider.mjs +7 -21
  89. package/fesm2022/slider.mjs.map +1 -1
  90. package/fesm2022/snack-bar.mjs +7 -101
  91. package/fesm2022/snack-bar.mjs.map +1 -1
  92. package/fesm2022/sort.mjs +7 -334
  93. package/fesm2022/sort.mjs.map +1 -1
  94. package/fesm2022/stepper.mjs +9 -180
  95. package/fesm2022/stepper.mjs.map +1 -1
  96. package/fesm2022/table.mjs +6 -8
  97. package/fesm2022/table.mjs.map +1 -1
  98. package/fesm2022/tabs.mjs +13 -175
  99. package/fesm2022/tabs.mjs.map +1 -1
  100. package/fesm2022/toolbar.mjs +5 -7
  101. package/fesm2022/toolbar.mjs.map +1 -1
  102. package/fesm2022/tooltip.mjs +21 -54
  103. package/fesm2022/tooltip.mjs.map +1 -1
  104. package/fesm2022/tooltip2.mjs +6 -33
  105. package/fesm2022/tooltip2.mjs.map +1 -1
  106. package/fesm2022/tree.mjs +6 -8
  107. package/fesm2022/tree.mjs.map +1 -1
  108. package/form-field/index.d.ts +2 -13
  109. package/form-field-module.d.d.ts +3 -3
  110. package/grid-list/index.d.ts +2 -3
  111. package/icon/index.d.ts +3 -4
  112. package/icon-module.d.d.ts +3 -9
  113. package/icon-registry.d.d.ts +2 -18
  114. package/input/index.d.ts +3 -4
  115. package/line.d.d.ts +2 -2
  116. package/list/index.d.ts +3 -4
  117. package/menu/index.d.ts +4 -45
  118. package/option-module.d.d.ts +2 -2
  119. package/package.json +2 -2
  120. package/paginator/index.d.ts +4 -5
  121. package/paginator.d.d.ts +2 -18
  122. package/prebuilt-themes/deeppurple-amber.css +1 -1
  123. package/prebuilt-themes/indigo-pink.css +1 -1
  124. package/prebuilt-themes/pink-bluegrey.css +1 -1
  125. package/prebuilt-themes/purple-green.css +1 -1
  126. package/progress-bar/index.d.ts +3 -10
  127. package/progress-spinner/index.d.ts +3 -4
  128. package/progress-spinner.d.d.ts +3 -9
  129. package/pseudo-checkbox-module.d.d.ts +2 -2
  130. package/radio/index.d.ts +3 -10
  131. package/ripple-module.d.d.ts +2 -2
  132. package/ripple.d.d.ts +3 -3
  133. package/schematics/ng-add/index.js +1 -1
  134. package/select/index.d.ts +438 -27
  135. package/sidenav/index.d.ts +4 -21
  136. package/slide-toggle/index.d.ts +2 -3
  137. package/slider/_m2-slider.scss +1 -0
  138. package/slider/_m3-slider.scss +5 -2
  139. package/slider/index.d.ts +2 -2
  140. package/snack-bar/index.d.ts +4 -20
  141. package/sort/index.d.ts +4 -36
  142. package/stepper/index.d.ts +6 -34
  143. package/table/index.d.ts +3 -4
  144. package/tabs/index.d.ts +3 -20
  145. package/timepicker/index.d.ts +2 -2
  146. package/toolbar/index.d.ts +2 -3
  147. package/tooltip/index.d.ts +302 -16
  148. package/tree/index.d.ts +2 -3
  149. package/common-module.d.d.ts +0 -44
  150. package/fesm2022/common-module.mjs +0 -42
  151. package/fesm2022/common-module.mjs.map +0 -1
  152. package/fesm2022/dialog-module.mjs +0 -891
  153. package/fesm2022/dialog-module.mjs.map +0 -1
  154. package/fesm2022/form-field-module.mjs +0 -39
  155. package/fesm2022/form-field-module.mjs.map +0 -1
  156. package/fesm2022/select-module.mjs +0 -1318
  157. package/fesm2022/select-module.mjs.map +0 -1
  158. package/fesm2022/tooltip-module.mjs +0 -24
  159. package/fesm2022/tooltip-module.mjs.map +0 -1
  160. package/select-module.d.d.ts +0 -456
  161. package/tooltip-module.d.d.ts +0 -329
@@ -1,10 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
- import { MatCommonModule } from './common-module.d.js';
3
2
  import { MatRipple } from './ripple.d.js';
3
+ import * as i2 from '@angular/cdk/bidi';
4
4
 
5
5
  declare class MatRippleModule {
6
6
  static ɵfac: i0.ɵɵFactoryDeclaration<MatRippleModule, never>;
7
- static ɵmod: i0.ɵɵNgModuleDeclaration<MatRippleModule, never, [typeof MatCommonModule, typeof MatRipple], [typeof MatRipple, typeof MatCommonModule]>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MatRippleModule, never, [typeof MatRipple], [typeof MatRipple, typeof i2.BidiModule]>;
8
8
  static ɵinj: i0.ɵɵInjectorDeclaration<MatRippleModule>;
9
9
  }
10
10
 
package/ripple.d.d.ts CHANGED
@@ -156,7 +156,7 @@ interface RippleGlobalOptions {
156
156
  /**
157
157
  * Default configuration for the animation duration of the ripples. There are two phases with
158
158
  * different durations for the ripples: `enter` and `leave`. The durations will be overwritten
159
- * by the value of `matRippleAnimation` or if the `NoopAnimationsModule` is included.
159
+ * by the value of `matRippleAnimation` or if animations are disabled.
160
160
  */
161
161
  animation?: RippleAnimationConfig;
162
162
  /**
@@ -191,8 +191,8 @@ declare class MatRipple implements OnInit, OnDestroy, RippleTarget {
191
191
  radius: number;
192
192
  /**
193
193
  * Configuration for the ripple animation. Allows modifying the enter and exit animation
194
- * duration of the ripples. The animation durations will be overwritten if the
195
- * `NoopAnimationsModule` is being used.
194
+ * duration of the ripples. The animation durations will be overwritten if animations are
195
+ * disabled.
196
196
  */
197
197
  animation: RippleAnimationConfig;
198
198
  /**
@@ -19,7 +19,7 @@ const package_config_1 = require("./package-config");
19
19
  * Note that the fallback version range does not use caret, but tilde because that is
20
20
  * the default for Angular framework dependencies in CLI projects.
21
21
  */
22
- const fallbackMaterialVersionRange = `~21.0.0-next.1`;
22
+ const fallbackMaterialVersionRange = `~21.0.0-next.3`;
23
23
  /**
24
24
  * Schematic factory entry-point for the `ng-add` schematic. The ng-add schematic will be
25
25
  * automatically executed if developers run `ng add @angular/material`.
package/select/index.d.ts CHANGED
@@ -1,38 +1,449 @@
1
- export { MAT_SELECT_CONFIG, MAT_SELECT_SCROLL_STRATEGY, MAT_SELECT_SCROLL_STRATEGY_PROVIDER, MAT_SELECT_SCROLL_STRATEGY_PROVIDER_FACTORY, MAT_SELECT_TRIGGER, MatSelect, MatSelectChange, MatSelectConfig, MatSelectModule, MatSelectTrigger } from '../select-module.d.js';
2
- export { MatOptgroup, MatOption } from '../option.d.js';
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, AfterContentInit, OnChanges, OnDestroy, OnInit, DoCheck, ChangeDetectorRef, ElementRef, QueryList, EventEmitter, SimpleChanges } from '@angular/core';
3
+ import * as i2 from '@angular/cdk/overlay';
4
+ import { ScrollStrategy, ConnectedPosition, CdkOverlayOrigin, CdkConnectedOverlay } from '@angular/cdk/overlay';
5
+ import { MatOptionModule } from '../option-module.d.js';
6
+ import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
7
+ import { SelectionModel } from '@angular/cdk/collections';
8
+ import * as i1 from '@angular/cdk/scrolling';
9
+ import { ViewportRuler } from '@angular/cdk/scrolling';
10
+ import { ControlValueAccessor, NgControl } from '@angular/forms';
11
+ import { Subject, Observable } from 'rxjs';
12
+ import { ErrorStateMatcher } from '../error-options.d.js';
13
+ import { MatOption, MatOptgroup, MatOptionSelectionChange } from '../option.d.js';
14
+ import { MatFormField } from '../form-field.d.js';
15
+ export { MatError, MatHint, MatPrefix, MatSuffix } from '../form-field.d.js';
16
+ import { MatFormFieldControl } from '../form-field-control.d.js';
17
+ import * as i2$1 from '@angular/cdk/bidi';
18
+ import { MatFormFieldModule } from '../form-field-module.d.js';
3
19
  export { MatLabel } from '../form-field-module.d.js';
4
- export { MatError, MatFormField, MatHint, MatPrefix, MatSuffix } from '../form-field.d.js';
5
- import '@angular/core';
6
- import '@angular/cdk/overlay';
7
- import '../option-module.d.js';
8
20
  import '../ripple-module.d.js';
9
- import '../common-module.d.js';
10
- import '@angular/cdk/bidi';
11
21
  import '../ripple.d.js';
12
22
  import '@angular/cdk/platform';
13
23
  import '../pseudo-checkbox-module.d.js';
14
- import '@angular/cdk/a11y';
15
- import '@angular/cdk/collections';
16
- import '@angular/cdk/scrolling';
17
- import '@angular/forms';
18
- import 'rxjs';
19
- import '../error-options.d.js';
20
- import '../form-field-control.d.js';
21
- import '@angular/cdk/observers';
22
24
  import '@angular/cdk/coercion';
23
25
  import '../palette.d.js';
26
+ import '@angular/cdk/observers';
24
27
 
28
+ /** Injection token that determines the scroll handling while a select is open. */
29
+ declare const MAT_SELECT_SCROLL_STRATEGY: InjectionToken<() => ScrollStrategy>;
30
+ /** Object that can be used to configure the default options for the select module. */
31
+ interface MatSelectConfig {
32
+ /** Whether option centering should be disabled. */
33
+ disableOptionCentering?: boolean;
34
+ /** Time to wait in milliseconds after the last keystroke before moving focus to an item. */
35
+ typeaheadDebounceInterval?: number;
36
+ /** Class or list of classes to be applied to the menu's overlay panel. */
37
+ overlayPanelClass?: string | string[];
38
+ /** Whether icon indicators should be hidden for single-selection. */
39
+ hideSingleSelectionIndicator?: boolean;
40
+ /**
41
+ * Width of the panel. If set to `auto`, the panel will match the trigger width.
42
+ * If set to null or an empty string, the panel will grow to match the longest option's text.
43
+ */
44
+ panelWidth?: string | number | null;
45
+ /**
46
+ * Whether nullable options can be selected by default.
47
+ * See `MatSelect.canSelectNullableOptions` for more information.
48
+ */
49
+ canSelectNullableOptions?: boolean;
50
+ }
51
+ /** Injection token that can be used to provide the default options the select module. */
52
+ declare const MAT_SELECT_CONFIG: InjectionToken<MatSelectConfig>;
25
53
  /**
26
- * The following are all the animations for the mat-select component, with each
27
- * const containing the metadata for one animation.
28
- *
29
- * The values below match the implementation of the AngularJS Material mat-select animation.
30
- * @docs-private
31
- * @deprecated No longer used, will be removed.
32
- * @breaking-change 21.0.0
54
+ * Injection token that can be used to reference instances of `MatSelectTrigger`. It serves as
55
+ * alternative token to the actual `MatSelectTrigger` class which could cause unnecessary
56
+ * retention of the class and its directive metadata.
33
57
  */
34
- declare const matSelectAnimations: {
35
- readonly transformPanel: any;
36
- };
58
+ declare const MAT_SELECT_TRIGGER: InjectionToken<MatSelectTrigger>;
59
+ /** Change event object that is emitted when the select value has changed. */
60
+ declare class MatSelectChange<T = any> {
61
+ /** Reference to the select that emitted the change event. */
62
+ source: MatSelect;
63
+ /** Current value of the select that emitted the event. */
64
+ value: T;
65
+ constructor(
66
+ /** Reference to the select that emitted the change event. */
67
+ source: MatSelect,
68
+ /** Current value of the select that emitted the event. */
69
+ value: T);
70
+ }
71
+ declare class MatSelect implements AfterContentInit, OnChanges, OnDestroy, OnInit, DoCheck, ControlValueAccessor, MatFormFieldControl<any> {
72
+ protected _viewportRuler: ViewportRuler;
73
+ protected _changeDetectorRef: ChangeDetectorRef;
74
+ readonly _elementRef: ElementRef<any>;
75
+ private _dir;
76
+ private _idGenerator;
77
+ private _renderer;
78
+ protected _parentFormField: MatFormField | null;
79
+ ngControl: NgControl;
80
+ private _liveAnnouncer;
81
+ protected _defaultOptions: MatSelectConfig | null;
82
+ protected _animationsDisabled: boolean;
83
+ private _initialized;
84
+ private _cleanupDetach;
85
+ /** All of the defined select options. */
86
+ options: QueryList<MatOption>;
87
+ /** All of the defined groups of options. */
88
+ optionGroups: QueryList<MatOptgroup>;
89
+ /** User-supplied override of the trigger element. */
90
+ customTrigger: MatSelectTrigger;
91
+ /**
92
+ * This position config ensures that the top "start" corner of the overlay
93
+ * is aligned with with the top "start" of the origin by default (overlapping
94
+ * the trigger completely). If the panel cannot fit below the trigger, it
95
+ * will fall back to a position above the trigger.
96
+ */
97
+ _positions: ConnectedPosition[];
98
+ /** Scrolls a particular option into the view. */
99
+ _scrollOptionIntoView(index: number): void;
100
+ /** Called when the panel has been opened and the overlay has settled on its final position. */
101
+ private _positioningSettled;
102
+ /** Creates a change event object that should be emitted by the select. */
103
+ private _getChangeEvent;
104
+ /** Factory function used to create a scroll strategy for this select. */
105
+ private _scrollStrategyFactory;
106
+ /** Whether or not the overlay panel is open. */
107
+ private _panelOpen;
108
+ /** Comparison function to specify which option is displayed. Defaults to object equality. */
109
+ private _compareWith;
110
+ /** Unique id for this input. */
111
+ private _uid;
112
+ /** Current `aria-labelledby` value for the select trigger. */
113
+ private _triggerAriaLabelledBy;
114
+ /**
115
+ * Keeps track of the previous form control assigned to the select.
116
+ * Used to detect if it has changed.
117
+ */
118
+ private _previousControl;
119
+ /** Emits whenever the component is destroyed. */
120
+ protected readonly _destroy: Subject<void>;
121
+ /** Tracks the error state of the select. */
122
+ private _errorStateTracker;
123
+ /**
124
+ * Emits whenever the component state changes and should cause the parent
125
+ * form-field to update. Implemented as part of `MatFormFieldControl`.
126
+ * @docs-private
127
+ */
128
+ readonly stateChanges: Subject<void>;
129
+ /**
130
+ * Disable the automatic labeling to avoid issues like #27241.
131
+ * @docs-private
132
+ */
133
+ readonly disableAutomaticLabeling = true;
134
+ /**
135
+ * Implemented as part of MatFormFieldControl.
136
+ * @docs-private
137
+ */
138
+ userAriaDescribedBy: string;
139
+ /** Deals with the selection logic. */
140
+ _selectionModel: SelectionModel<MatOption>;
141
+ /** Manages keyboard events for options in the panel. */
142
+ _keyManager: ActiveDescendantKeyManager<MatOption>;
143
+ /** Ideal origin for the overlay panel. */
144
+ _preferredOverlayOrigin: CdkOverlayOrigin | ElementRef | undefined;
145
+ /** Width of the overlay panel. */
146
+ _overlayWidth: string | number;
147
+ /** `View -> model callback called when value changes` */
148
+ _onChange: (value: any) => void;
149
+ /** `View -> model callback called when select has been touched` */
150
+ _onTouched: () => void;
151
+ /** ID for the DOM node containing the select's value. */
152
+ _valueId: string;
153
+ /** Strategy that will be used to handle scrolling while the select panel is open. */
154
+ _scrollStrategy: ScrollStrategy;
155
+ _overlayPanelClass: string | string[];
156
+ /** Whether the select is focused. */
157
+ get focused(): boolean;
158
+ private _focused;
159
+ /** A name for this control that can be used by `mat-form-field`. */
160
+ controlType: string;
161
+ /** Trigger that opens the select. */
162
+ trigger: ElementRef;
163
+ /** Panel containing the select options. */
164
+ panel: ElementRef;
165
+ /** Overlay pane containing the options. */
166
+ protected _overlayDir: CdkConnectedOverlay;
167
+ /** Classes to be passed to the select panel. Supports the same syntax as `ngClass`. */
168
+ panelClass: string | string[] | Set<string> | {
169
+ [key: string]: any;
170
+ };
171
+ /** Whether the select is disabled. */
172
+ disabled: boolean;
173
+ /** Whether ripples in the select are disabled. */
174
+ get disableRipple(): boolean;
175
+ set disableRipple(value: boolean);
176
+ private _disableRipple;
177
+ /** Tab index of the select. */
178
+ tabIndex: number;
179
+ /** Whether checkmark indicator for single-selection options is hidden. */
180
+ get hideSingleSelectionIndicator(): boolean;
181
+ set hideSingleSelectionIndicator(value: boolean);
182
+ private _hideSingleSelectionIndicator;
183
+ /** Placeholder to be shown if no value has been selected. */
184
+ get placeholder(): string;
185
+ set placeholder(value: string);
186
+ private _placeholder;
187
+ /** Whether the component is required. */
188
+ get required(): boolean;
189
+ set required(value: boolean);
190
+ private _required;
191
+ /** Whether the user should be allowed to select multiple options. */
192
+ get multiple(): boolean;
193
+ set multiple(value: boolean);
194
+ private _multiple;
195
+ /** Whether to center the active option over the trigger. */
196
+ disableOptionCentering: boolean;
197
+ /**
198
+ * Function to compare the option values with the selected values. The first argument
199
+ * is a value from an option. The second is a value from the selection. A boolean
200
+ * should be returned.
201
+ */
202
+ get compareWith(): (o1: any, o2: any) => boolean;
203
+ set compareWith(fn: (o1: any, o2: any) => boolean);
204
+ /** Value of the select control. */
205
+ get value(): any;
206
+ set value(newValue: any);
207
+ private _value;
208
+ /** Aria label of the select. */
209
+ ariaLabel: string;
210
+ /** Input that can be used to specify the `aria-labelledby` attribute. */
211
+ ariaLabelledby: string;
212
+ /** Object used to control when error messages are shown. */
213
+ get errorStateMatcher(): ErrorStateMatcher;
214
+ set errorStateMatcher(value: ErrorStateMatcher);
215
+ /** Time to wait in milliseconds after the last keystroke before moving focus to an item. */
216
+ typeaheadDebounceInterval: number;
217
+ /**
218
+ * Function used to sort the values in a select in multiple mode.
219
+ * Follows the same logic as `Array.prototype.sort`.
220
+ */
221
+ sortComparator: (a: MatOption, b: MatOption, options: MatOption[]) => number;
222
+ /** Unique id of the element. */
223
+ get id(): string;
224
+ set id(value: string);
225
+ private _id;
226
+ /** Whether the select is in an error state. */
227
+ get errorState(): boolean;
228
+ set errorState(value: boolean);
229
+ /**
230
+ * Width of the panel. If set to `auto`, the panel will match the trigger width.
231
+ * If set to null or an empty string, the panel will grow to match the longest option's text.
232
+ */
233
+ panelWidth: string | number | null;
234
+ /**
235
+ * By default selecting an option with a `null` or `undefined` value will reset the select's
236
+ * value. Enable this option if the reset behavior doesn't match your requirements and instead
237
+ * the nullable options should become selected. The value of this input can be controlled app-wide
238
+ * using the `MAT_SELECT_CONFIG` injection token.
239
+ */
240
+ canSelectNullableOptions: boolean;
241
+ /** Combined stream of all of the child options' change events. */
242
+ readonly optionSelectionChanges: Observable<MatOptionSelectionChange>;
243
+ /** Event emitted when the select panel has been toggled. */
244
+ readonly openedChange: EventEmitter<boolean>;
245
+ /** Event emitted when the select has been opened. */
246
+ readonly _openedStream: Observable<void>;
247
+ /** Event emitted when the select has been closed. */
248
+ readonly _closedStream: Observable<void>;
249
+ /** Event emitted when the selected value has been changed by the user. */
250
+ readonly selectionChange: EventEmitter<MatSelectChange<any>>;
251
+ /**
252
+ * Event that emits whenever the raw value of the select changes. This is here primarily
253
+ * to facilitate the two-way binding for the `value` input.
254
+ * @docs-private
255
+ */
256
+ readonly valueChange: EventEmitter<any>;
257
+ constructor(...args: unknown[]);
258
+ ngOnInit(): void;
259
+ ngAfterContentInit(): void;
260
+ ngDoCheck(): void;
261
+ ngOnChanges(changes: SimpleChanges): void;
262
+ ngOnDestroy(): void;
263
+ /** Toggles the overlay panel open or closed. */
264
+ toggle(): void;
265
+ /** Opens the overlay panel. */
266
+ open(): void;
267
+ /**
268
+ * Track which modal we have modified the `aria-owns` attribute of. When the combobox trigger is
269
+ * inside an aria-modal, we apply aria-owns to the parent modal with the `id` of the options
270
+ * panel. Track the modal we have changed so we can undo the changes on destroy.
271
+ */
272
+ private _trackedModal;
273
+ /**
274
+ * If the autocomplete trigger is inside of an `aria-modal` element, connect
275
+ * that modal to the options panel with `aria-owns`.
276
+ *
277
+ * For some browser + screen reader combinations, when navigation is inside
278
+ * of an `aria-modal` element, the screen reader treats everything outside
279
+ * of that modal as hidden or invisible.
280
+ *
281
+ * This causes a problem when the combobox trigger is _inside_ of a modal, because the
282
+ * options panel is rendered _outside_ of that modal, preventing screen reader navigation
283
+ * from reaching the panel.
284
+ *
285
+ * We can work around this issue by applying `aria-owns` to the modal with the `id` of
286
+ * the options panel. This effectively communicates to assistive technology that the
287
+ * options panel is part of the same interaction as the modal.
288
+ *
289
+ * At time of this writing, this issue is present in VoiceOver.
290
+ * See https://github.com/angular/components/issues/20694
291
+ */
292
+ private _applyModalPanelOwnership;
293
+ /** Clears the reference to the listbox overlay element from the modal it was added to. */
294
+ private _clearFromModal;
295
+ /** Closes the overlay panel and focuses the host element. */
296
+ close(): void;
297
+ /** Triggers the exit animation and detaches the overlay at the end. */
298
+ private _exitAndDetach;
299
+ /** Detaches the current overlay directive. */
300
+ private _detachOverlay;
301
+ /**
302
+ * Sets the select's value. Part of the ControlValueAccessor interface
303
+ * required to integrate with Angular's core forms API.
304
+ *
305
+ * @param value New value to be written to the model.
306
+ */
307
+ writeValue(value: any): void;
308
+ /**
309
+ * Saves a callback function to be invoked when the select's value
310
+ * changes from user input. Part of the ControlValueAccessor interface
311
+ * required to integrate with Angular's core forms API.
312
+ *
313
+ * @param fn Callback to be triggered when the value changes.
314
+ */
315
+ registerOnChange(fn: (value: any) => void): void;
316
+ /**
317
+ * Saves a callback function to be invoked when the select is blurred
318
+ * by the user. Part of the ControlValueAccessor interface required
319
+ * to integrate with Angular's core forms API.
320
+ *
321
+ * @param fn Callback to be triggered when the component has been touched.
322
+ */
323
+ registerOnTouched(fn: () => {}): void;
324
+ /**
325
+ * Disables the select. Part of the ControlValueAccessor interface required
326
+ * to integrate with Angular's core forms API.
327
+ *
328
+ * @param isDisabled Sets whether the component is disabled.
329
+ */
330
+ setDisabledState(isDisabled: boolean): void;
331
+ /** Whether or not the overlay panel is open. */
332
+ get panelOpen(): boolean;
333
+ /** The currently selected option. */
334
+ get selected(): MatOption | MatOption[];
335
+ /** The value displayed in the trigger. */
336
+ get triggerValue(): string;
337
+ /** Refreshes the error state of the select. */
338
+ updateErrorState(): void;
339
+ /** Whether the element is in RTL mode. */
340
+ _isRtl(): boolean;
341
+ /** Handles all keydown events on the select. */
342
+ _handleKeydown(event: KeyboardEvent): void;
343
+ /** Handles keyboard events while the select is closed. */
344
+ private _handleClosedKeydown;
345
+ /** Handles keyboard events when the selected is open. */
346
+ private _handleOpenKeydown;
347
+ /** Handles keyboard events coming from the overlay. */
348
+ protected _handleOverlayKeydown(event: KeyboardEvent): void;
349
+ _onFocus(): void;
350
+ /**
351
+ * Calls the touched callback only if the panel is closed. Otherwise, the trigger will
352
+ * "blur" to the panel when it opens, causing a false positive.
353
+ */
354
+ _onBlur(): void;
355
+ /** Returns the theme to be used on the panel. */
356
+ _getPanelTheme(): string;
357
+ /** Whether the select has a value. */
358
+ get empty(): boolean;
359
+ private _initializeSelection;
360
+ /**
361
+ * Sets the selected option based on a value. If no option can be
362
+ * found with the designated value, the select trigger is cleared.
363
+ */
364
+ private _setSelectionByValue;
365
+ /**
366
+ * Finds and selects and option based on its value.
367
+ * @returns Option that has the corresponding value.
368
+ */
369
+ private _selectOptionByValue;
370
+ /** Assigns a specific value to the select. Returns whether the value has changed. */
371
+ private _assignValue;
372
+ private _skipPredicate;
373
+ /** Gets how wide the overlay panel should be. */
374
+ private _getOverlayWidth;
375
+ /** Syncs the parent state with the individual options. */
376
+ _syncParentProperties(): void;
377
+ /** Sets up a key manager to listen to keyboard events on the overlay panel. */
378
+ private _initKeyManager;
379
+ /** Drops current option subscriptions and IDs and resets from scratch. */
380
+ private _resetOptions;
381
+ /** Invoked when an option is clicked. */
382
+ private _onSelect;
383
+ /** Sorts the selected values in the selected based on their order in the panel. */
384
+ private _sortValues;
385
+ /** Emits change event to set the model value. */
386
+ private _propagateChanges;
387
+ /**
388
+ * Highlights the selected item. If no option is selected, it will highlight
389
+ * the first *enabled* option.
390
+ */
391
+ private _highlightCorrectOption;
392
+ /** Whether the panel is allowed to open. */
393
+ protected _canOpen(): boolean;
394
+ /** Focuses the select element. */
395
+ focus(options?: FocusOptions): void;
396
+ /** Gets the aria-labelledby for the select panel. */
397
+ _getPanelAriaLabelledby(): string | null;
398
+ /** Determines the `aria-activedescendant` to be set on the host. */
399
+ _getAriaActiveDescendant(): string | null;
400
+ /** Gets the aria-labelledby of the select component trigger. */
401
+ private _getTriggerAriaLabelledby;
402
+ /**
403
+ * Implemented as part of MatFormFieldControl.
404
+ * @docs-private
405
+ */
406
+ get describedByIds(): string[];
407
+ /**
408
+ * Implemented as part of MatFormFieldControl.
409
+ * @docs-private
410
+ */
411
+ setDescribedByIds(ids: string[]): void;
412
+ /**
413
+ * Implemented as part of MatFormFieldControl.
414
+ * @docs-private
415
+ */
416
+ onContainerClick(): void;
417
+ /**
418
+ * Implemented as part of MatFormFieldControl.
419
+ * @docs-private
420
+ */
421
+ get shouldLabelFloat(): boolean;
422
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatSelect, never>;
423
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatSelect, "mat-select", ["matSelect"], { "userAriaDescribedBy": { "alias": "aria-describedby"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "hideSingleSelectionIndicator": { "alias": "hideSingleSelectionIndicator"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "disableOptionCentering": { "alias": "disableOptionCentering"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "value": { "alias": "value"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "typeaheadDebounceInterval": { "alias": "typeaheadDebounceInterval"; "required": false; }; "sortComparator": { "alias": "sortComparator"; "required": false; }; "id": { "alias": "id"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; "canSelectNullableOptions": { "alias": "canSelectNullableOptions"; "required": false; }; }, { "openedChange": "openedChange"; "_openedStream": "opened"; "_closedStream": "closed"; "selectionChange": "selectionChange"; "valueChange": "valueChange"; }, ["customTrigger", "options", "optionGroups"], ["mat-select-trigger", "*"], true, never>;
424
+ static ngAcceptInputType_disabled: unknown;
425
+ static ngAcceptInputType_disableRipple: unknown;
426
+ static ngAcceptInputType_tabIndex: unknown;
427
+ static ngAcceptInputType_hideSingleSelectionIndicator: unknown;
428
+ static ngAcceptInputType_required: unknown;
429
+ static ngAcceptInputType_multiple: unknown;
430
+ static ngAcceptInputType_disableOptionCentering: unknown;
431
+ static ngAcceptInputType_typeaheadDebounceInterval: unknown;
432
+ static ngAcceptInputType_canSelectNullableOptions: unknown;
433
+ }
434
+ /**
435
+ * Allows the user to customize the trigger that is displayed when the select has a value.
436
+ */
437
+ declare class MatSelectTrigger {
438
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatSelectTrigger, never>;
439
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatSelectTrigger, "mat-select-trigger", never, {}, {}, never, never, true, never>;
440
+ }
441
+
442
+ declare class MatSelectModule {
443
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatSelectModule, never>;
444
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MatSelectModule, never, [typeof i2.OverlayModule, typeof MatOptionModule, typeof MatSelect, typeof MatSelectTrigger], [typeof i2$1.BidiModule, typeof i1.CdkScrollableModule, typeof MatFormFieldModule, typeof MatSelect, typeof MatSelectTrigger, typeof MatOptionModule]>;
445
+ static ɵinj: i0.ɵɵInjectorDeclaration<MatSelectModule>;
446
+ }
37
447
 
38
- export { matSelectAnimations };
448
+ export { MAT_SELECT_CONFIG, MAT_SELECT_SCROLL_STRATEGY, MAT_SELECT_TRIGGER, MatFormField, MatOptgroup, MatOption, MatSelect, MatSelectChange, MatSelectModule, MatSelectTrigger };
449
+ export type { MatSelectConfig };
@@ -1,12 +1,11 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, AfterContentInit, AfterViewInit, OnDestroy, EventEmitter, ElementRef, DoCheck, QueryList } from '@angular/core';
3
- import { MatCommonModule } from '../common-module.d.js';
4
- import * as i5 from '@angular/cdk/scrolling';
3
+ import * as i1 from '@angular/cdk/scrolling';
5
4
  import { CdkScrollable } from '@angular/cdk/scrolling';
6
5
  import { FocusOrigin } from '@angular/cdk/a11y';
7
6
  import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
8
7
  import { Subject, Observable } from 'rxjs';
9
- import '@angular/cdk/bidi';
8
+ import * as i2 from '@angular/cdk/bidi';
10
9
 
11
10
  /**
12
11
  * Throws an exception when two MatDrawer are matching the same position.
@@ -21,12 +20,6 @@ type MatDrawerToggleResult = 'open' | 'close';
21
20
  type MatDrawerMode = 'over' | 'push' | 'side';
22
21
  /** Configures whether drawers should use auto sizing by default. */
23
22
  declare const MAT_DRAWER_DEFAULT_AUTOSIZE: InjectionToken<boolean>;
24
- /**
25
- * @docs-private
26
- * @deprecated No longer used, will be removed.
27
- * @breaking-change 21.0.0
28
- */
29
- declare function MAT_DRAWER_DEFAULT_AUTOSIZE_FACTORY(): boolean;
30
23
  declare class MatDrawerContent extends CdkScrollable implements AfterContentInit {
31
24
  private _platform;
32
25
  private _changeDetectorRef;
@@ -334,19 +327,9 @@ declare class MatSidenavContainer extends MatDrawerContainer {
334
327
 
335
328
  declare class MatSidenavModule {
336
329
  static ɵfac: i0.ɵɵFactoryDeclaration<MatSidenavModule, never>;
337
- static ɵmod: i0.ɵɵNgModuleDeclaration<MatSidenavModule, never, [typeof MatCommonModule, typeof i5.CdkScrollableModule, typeof MatDrawer, typeof MatDrawerContainer, typeof MatDrawerContent, typeof MatSidenav, typeof MatSidenavContainer, typeof MatSidenavContent], [typeof i5.CdkScrollableModule, typeof MatCommonModule, typeof MatDrawer, typeof MatDrawerContainer, typeof MatDrawerContent, typeof MatSidenav, typeof MatSidenavContainer, typeof MatSidenavContent]>;
330
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MatSidenavModule, never, [typeof i1.CdkScrollableModule, typeof MatDrawer, typeof MatDrawerContainer, typeof MatDrawerContent, typeof MatSidenav, typeof MatSidenavContainer, typeof MatSidenavContent], [typeof i2.BidiModule, typeof i1.CdkScrollableModule, typeof MatDrawer, typeof MatDrawerContainer, typeof MatDrawerContent, typeof MatSidenav, typeof MatSidenavContainer, typeof MatSidenavContent]>;
338
331
  static ɵinj: i0.ɵɵInjectorDeclaration<MatSidenavModule>;
339
332
  }
340
333
 
341
- /**
342
- * Animations used by the Material drawers.
343
- * @docs-private
344
- * @deprecated No longer used, will be removed.
345
- * @breaking-change 21.0.0
346
- */
347
- declare const matDrawerAnimations: {
348
- readonly transformDrawer: any;
349
- };
350
-
351
- export { MAT_DRAWER_DEFAULT_AUTOSIZE, MAT_DRAWER_DEFAULT_AUTOSIZE_FACTORY, MatDrawer, MatDrawerContainer, MatDrawerContent, MatSidenav, MatSidenavContainer, MatSidenavContent, MatSidenavModule, matDrawerAnimations, throwMatDuplicatedDrawerError };
334
+ export { MAT_DRAWER_DEFAULT_AUTOSIZE, MatDrawer, MatDrawerContainer, MatDrawerContent, MatSidenav, MatSidenavContainer, MatSidenavContent, MatSidenavModule, throwMatDuplicatedDrawerError };
352
335
  export type { MatDrawerMode, MatDrawerToggleResult };
@@ -3,8 +3,7 @@ import { InjectionToken, OnDestroy, AfterContentInit, OnChanges, ChangeDetectorR
3
3
  import { ControlValueAccessor, Validator, AbstractControl, ValidationErrors } from '@angular/forms';
4
4
  import { FocusMonitor } from '@angular/cdk/a11y';
5
5
  import { ThemePalette } from '../palette.d.js';
6
- import { MatCommonModule } from '../common-module.d.js';
7
- import '@angular/cdk/bidi';
6
+ import * as i2 from '@angular/cdk/bidi';
8
7
 
9
8
  /** Default `mat-slide-toggle` options that can be overridden. */
10
9
  interface MatSlideToggleDefaultOptions {
@@ -144,7 +143,7 @@ declare class MatSlideToggle implements OnDestroy, AfterContentInit, OnChanges,
144
143
 
145
144
  declare class MatSlideToggleModule {
146
145
  static ɵfac: i0.ɵɵFactoryDeclaration<MatSlideToggleModule, never>;
147
- static ɵmod: i0.ɵɵNgModuleDeclaration<MatSlideToggleModule, never, [typeof MatSlideToggle, typeof MatCommonModule], [typeof MatSlideToggle, typeof MatCommonModule]>;
146
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MatSlideToggleModule, never, [typeof MatSlideToggle], [typeof MatSlideToggle, typeof i2.BidiModule]>;
148
147
  static ɵinj: i0.ɵɵInjectorDeclaration<MatSlideToggleModule>;
149
148
  }
150
149
 
@@ -28,6 +28,7 @@
28
28
  slider-with-tick-marks-container-shape: 50%,
29
29
  slider-with-tick-marks-container-size: 2px,
30
30
  slider-with-tick-marks-inactive-container-opacity: 0.6,
31
+ slider-value-indicator-transform-origin: bottom,
31
32
  ),
32
33
  color: map.merge(private-get-color-palette-color-tokens($theme, primary), (
33
34
  slider-disabled-active-track-color: map.get($system, on-surface),
@@ -7,6 +7,8 @@
7
7
  /// @param {String} $color-variant The color variant to use for the component
8
8
  @function get-tokens($theme: m3.$sys-theme, $color-variant: null) {
9
9
  $system: m3-utils.get-system($theme);
10
+ $indicator-size: 28px;
11
+
10
12
  @if $color-variant {
11
13
  $system: m3-utils.replace-colors-with-variant($system, primary, $color-variant);
12
14
  }
@@ -15,8 +17,8 @@
15
17
  base: (
16
18
  slider-value-indicator-opacity: 1,
17
19
  slider-value-indicator-padding: 0,
18
- slider-value-indicator-width: 28px,
19
- slider-value-indicator-height: 28px,
20
+ slider-value-indicator-width: $indicator-size,
21
+ slider-value-indicator-height: $indicator-size,
20
22
  slider-value-indicator-caret-display: none,
21
23
  slider-value-indicator-border-radius: 50% 50% 50% 0,
22
24
  slider-value-indicator-text-transform: rotate(45deg),
@@ -29,6 +31,7 @@
29
31
  slider-with-tick-marks-active-container-opacity: 0.38,
30
32
  slider-with-tick-marks-container-size: 2px,
31
33
  slider-with-tick-marks-inactive-container-opacity: 0.38,
34
+ slider-value-indicator-transform-origin: 0 $indicator-size,
32
35
  ),
33
36
  color: (
34
37
  slider-active-track-color: map.get($system, primary),
package/slider/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import * as i2 from '@angular/cdk/bidi';
1
2
  import { Directionality } from '@angular/cdk/bidi';
2
3
  import * as i0 from '@angular/core';
3
4
  import { ChangeDetectorRef, WritableSignal, AfterViewInit, OnDestroy, NgZone, ElementRef, QueryList, EventEmitter } from '@angular/core';
@@ -5,7 +6,6 @@ import { ThemePalette } from '../palette.d.js';
5
6
  import { RippleGlobalOptions, MatRipple } from '../ripple.d.js';
6
7
  import { ControlValueAccessor } from '@angular/forms';
7
8
  import { Subject } from 'rxjs';
8
- import { MatCommonModule } from '../common-module.d.js';
9
9
  import { MatRippleModule } from '../ripple-module.d.js';
10
10
  import '@angular/cdk/platform';
11
11
 
@@ -654,7 +654,7 @@ declare class MatSliderRangeThumb extends MatSliderThumb implements _MatSliderRa
654
654
 
655
655
  declare class MatSliderModule {
656
656
  static ɵfac: i0.ɵɵFactoryDeclaration<MatSliderModule, never>;
657
- static ɵmod: i0.ɵɵNgModuleDeclaration<MatSliderModule, never, [typeof MatCommonModule, typeof MatRippleModule, typeof MatSlider, typeof MatSliderThumb, typeof MatSliderRangeThumb, typeof MatSliderVisualThumb], [typeof MatSlider, typeof MatSliderThumb, typeof MatSliderRangeThumb]>;
657
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MatSliderModule, never, [typeof MatRippleModule, typeof MatSlider, typeof MatSliderThumb, typeof MatSliderRangeThumb, typeof MatSliderVisualThumb], [typeof MatSlider, typeof MatSliderThumb, typeof MatSliderRangeThumb, typeof i2.BidiModule]>;
658
658
  static ɵinj: i0.ɵɵInjectorDeclaration<MatSliderModule>;
659
659
  }
660
660