@angular/material 17.0.0-next.0 → 17.0.0-next.2

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 (204) hide show
  1. package/_index.scss +3 -4
  2. package/autocomplete/_autocomplete-theme.scss +12 -18
  3. package/autocomplete/index.d.ts +15 -24
  4. package/badge/_badge-theme.scss +15 -27
  5. package/badge/index.d.ts +9 -17
  6. package/bottom-sheet/_bottom-sheet-theme.scss +13 -22
  7. package/button/_button-base.scss +3 -3
  8. package/button/_button-theme-private.scss +3 -2
  9. package/button/_button-theme.scss +18 -25
  10. package/button/_fab-theme.scss +31 -49
  11. package/button/_icon-button-theme.scss +19 -26
  12. package/button/index.d.ts +22 -31
  13. package/button-toggle/_button-toggle-theme.scss +17 -28
  14. package/button-toggle/index.d.ts +15 -18
  15. package/card/_card-theme.scss +27 -38
  16. package/checkbox/_checkbox-theme.scss +28 -45
  17. package/checkbox/index.d.ts +21 -27
  18. package/chips/_chips-theme.scss +18 -56
  19. package/core/_core-theme.scss +24 -39
  20. package/core/color/_all-color.scss +7 -15
  21. package/core/density/private/_all-density.scss +34 -39
  22. package/core/focus-indicators/_focus-indicators-theme.scss +6 -8
  23. package/core/focus-indicators/_private.scss +22 -26
  24. package/core/index.d.ts +7 -11
  25. package/core/mdc-helpers/_mdc-helpers.scss +19 -22
  26. package/core/option/_optgroup-theme.scss +13 -23
  27. package/core/option/_option-theme.scss +23 -37
  28. package/core/ripple/_ripple-theme.scss +6 -10
  29. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +17 -24
  30. package/core/style/_form-common.scss +7 -7
  31. package/core/style/_private.scss +5 -7
  32. package/core/style/_sass-utils.scss +7 -0
  33. package/core/testing/index.d.ts +2 -1
  34. package/core/theming/_all-theme.scss +41 -41
  35. package/core/theming/_inspection.scss +133 -59
  36. package/core/theming/_m2-inspection.scss +268 -0
  37. package/core/theming/_theming.scss +59 -20
  38. package/core/tokens/m2/mat/_autocomplete.scss +5 -8
  39. package/core/tokens/m2/mat/_badge.scss +12 -15
  40. package/core/tokens/m2/mat/_bottom-sheet.scss +11 -17
  41. package/core/tokens/m2/mat/_card.scss +15 -21
  42. package/core/tokens/m2/mat/_datepicker.scss +28 -38
  43. package/core/tokens/m2/mat/_divider.scss +5 -8
  44. package/core/tokens/m2/mat/_expansion.scss +24 -28
  45. package/core/tokens/m2/mat/_form-field.scss +21 -25
  46. package/core/tokens/m2/mat/_grid-list.scss +8 -8
  47. package/core/tokens/m2/mat/_icon.scss +3 -3
  48. package/core/tokens/m2/mat/_legacy-button-toggle.scss +15 -19
  49. package/core/tokens/m2/mat/_menu.scss +12 -17
  50. package/core/tokens/m2/mat/_optgroup.scss +12 -17
  51. package/core/tokens/m2/mat/_option.scss +16 -28
  52. package/core/tokens/m2/mat/_paginator.scss +16 -18
  53. package/core/tokens/m2/mat/_radio.scss +7 -10
  54. package/core/tokens/m2/mat/_select.scss +15 -29
  55. package/core/tokens/m2/mat/_sidenav.scss +12 -14
  56. package/core/tokens/m2/mat/_slide-toggle.scss +9 -17
  57. package/core/tokens/m2/mat/_slider.scss +5 -5
  58. package/core/tokens/m2/mat/_snack-bar.scss +7 -8
  59. package/core/tokens/m2/mat/_standard-button-toggle.scss +23 -22
  60. package/core/tokens/m2/mat/_stepper.scss +30 -33
  61. package/core/tokens/m2/mat/_tab-header-with-background.scss +6 -8
  62. package/core/tokens/m2/mat/_tab-header.scss +13 -18
  63. package/core/tokens/m2/mat/_table.scss +19 -23
  64. package/core/tokens/m2/mat/_toolbar.scss +12 -16
  65. package/core/tokens/m2/mdc/_checkbox.scss +21 -20
  66. package/core/tokens/m2/mdc/_chip.scss +38 -24
  67. package/core/tokens/m2/mdc/_circular-progress.scss +5 -6
  68. package/core/tokens/m2/mdc/_dialog.scss +16 -30
  69. package/core/tokens/m2/mdc/_elevated-card.scss +6 -9
  70. package/core/tokens/m2/mdc/_extended-fab.scss +8 -17
  71. package/core/tokens/m2/mdc/_fab.scss +6 -7
  72. package/core/tokens/m2/mdc/_filled-text-field.scss +16 -22
  73. package/core/tokens/m2/mdc/_icon-button.scss +3 -3
  74. package/core/tokens/m2/mdc/_linear-progress.scss +9 -10
  75. package/core/tokens/m2/mdc/_list.scss +44 -42
  76. package/core/tokens/m2/mdc/_outlined-card.scss +7 -10
  77. package/core/tokens/m2/mdc/_outlined-text-field.scss +14 -20
  78. package/core/tokens/m2/mdc/_plain-tooltip.scss +9 -22
  79. package/core/tokens/m2/mdc/_radio.scss +11 -11
  80. package/core/tokens/m2/mdc/_slider.scss +16 -23
  81. package/core/tokens/m2/mdc/_snack-bar.scss +10 -23
  82. package/core/tokens/m2/mdc/_switch.scss +16 -19
  83. package/core/tokens/m2/mdc/_tab-indicator.scss +5 -8
  84. package/core/tokens/m2/mdc/_tab.scss +5 -4
  85. package/core/typography/_all-typography.scss +44 -47
  86. package/core/typography/_definition.scss +258 -0
  87. package/core/typography/_property-getters.scss +63 -0
  88. package/core/typography/_typography-utils.scss +9 -69
  89. package/core/typography/_typography.scss +38 -494
  90. package/core/typography/_versioning.scss +91 -0
  91. package/datepicker/_datepicker-theme.scss +20 -34
  92. package/datepicker/index.d.ts +3 -3
  93. package/dialog/_dialog-theme.scss +22 -23
  94. package/dialog/_mdc-dialog-structure-overrides.scss +12 -10
  95. package/dialog/index.d.ts +2 -0
  96. package/divider/_divider-theme.scss +12 -18
  97. package/esm2022/autocomplete/autocomplete-trigger.mjs +5 -17
  98. package/esm2022/autocomplete/autocomplete.mjs +23 -50
  99. package/esm2022/badge/badge.mjs +11 -29
  100. package/esm2022/button/button-base.mjs +32 -27
  101. package/esm2022/button/button.mjs +6 -6
  102. package/esm2022/button/fab.mjs +23 -31
  103. package/esm2022/button/icon-button.mjs +6 -6
  104. package/esm2022/button/testing/button-harness.mjs +3 -3
  105. package/esm2022/button-toggle/button-toggle.mjs +25 -33
  106. package/esm2022/checkbox/checkbox.mjs +32 -39
  107. package/esm2022/core/option/optgroup.mjs +10 -11
  108. package/esm2022/core/option/option.mjs +6 -6
  109. package/esm2022/core/testing/option-harness.mjs +3 -3
  110. package/esm2022/core/version.mjs +1 -1
  111. package/esm2022/datepicker/calendar.mjs +1 -1
  112. package/esm2022/datepicker/datepicker-base.mjs +2 -2
  113. package/esm2022/datepicker/datepicker-toggle.mjs +1 -1
  114. package/esm2022/datepicker/month-view.mjs +2 -2
  115. package/esm2022/datepicker/multi-year-view.mjs +2 -2
  116. package/esm2022/datepicker/year-view.mjs +2 -2
  117. package/esm2022/dialog/dialog-container.mjs +16 -3
  118. package/esm2022/form-field/form-field.mjs +3 -3
  119. package/esm2022/menu/menu-item.mjs +15 -11
  120. package/esm2022/menu/menu.mjs +9 -22
  121. package/esm2022/paginator/paginator.mjs +1 -1
  122. package/esm2022/select/select.mjs +3 -3
  123. package/esm2022/slide-toggle/slide-toggle.mjs +33 -37
  124. package/esm2022/slider/slider-input.mjs +19 -9
  125. package/esm2022/slider/slider.mjs +2 -2
  126. package/esm2022/snack-bar/simple-snack-bar.mjs +1 -1
  127. package/esm2022/tabs/tab-group.mjs +3 -3
  128. package/expansion/_expansion-theme.scss +16 -24
  129. package/fesm2022/autocomplete.mjs +25 -63
  130. package/fesm2022/autocomplete.mjs.map +1 -1
  131. package/fesm2022/badge.mjs +11 -28
  132. package/fesm2022/badge.mjs.map +1 -1
  133. package/fesm2022/button/testing.mjs +2 -2
  134. package/fesm2022/button/testing.mjs.map +1 -1
  135. package/fesm2022/button-toggle.mjs +25 -32
  136. package/fesm2022/button-toggle.mjs.map +1 -1
  137. package/fesm2022/button.mjs +59 -61
  138. package/fesm2022/button.mjs.map +1 -1
  139. package/fesm2022/checkbox.mjs +31 -38
  140. package/fesm2022/checkbox.mjs.map +1 -1
  141. package/fesm2022/core/testing.mjs +2 -2
  142. package/fesm2022/core/testing.mjs.map +1 -1
  143. package/fesm2022/core.mjs +14 -13
  144. package/fesm2022/core.mjs.map +1 -1
  145. package/fesm2022/datepicker.mjs +6 -6
  146. package/fesm2022/datepicker.mjs.map +1 -1
  147. package/fesm2022/dialog.mjs +15 -2
  148. package/fesm2022/dialog.mjs.map +1 -1
  149. package/fesm2022/form-field.mjs +2 -2
  150. package/fesm2022/form-field.mjs.map +1 -1
  151. package/fesm2022/menu.mjs +23 -31
  152. package/fesm2022/menu.mjs.map +1 -1
  153. package/fesm2022/paginator.mjs +1 -1
  154. package/fesm2022/paginator.mjs.map +1 -1
  155. package/fesm2022/select.mjs +2 -2
  156. package/fesm2022/select.mjs.map +1 -1
  157. package/fesm2022/slide-toggle.mjs +33 -36
  158. package/fesm2022/slide-toggle.mjs.map +1 -1
  159. package/fesm2022/slider.mjs +20 -10
  160. package/fesm2022/slider.mjs.map +1 -1
  161. package/fesm2022/snack-bar.mjs +1 -1
  162. package/fesm2022/snack-bar.mjs.map +1 -1
  163. package/fesm2022/tabs.mjs +2 -2
  164. package/fesm2022/tabs.mjs.map +1 -1
  165. package/form-field/_form-field-density.scss +3 -4
  166. package/form-field/_form-field-focus-overlay.scss +1 -1
  167. package/form-field/_form-field-sizing.scss +1 -1
  168. package/form-field/_form-field-theme.scss +24 -34
  169. package/grid-list/_grid-list-theme.scss +12 -19
  170. package/icon/_icon-theme.scss +17 -25
  171. package/input/_input-theme.scss +11 -23
  172. package/list/_list-theme.scss +27 -42
  173. package/menu/_menu-theme.scss +13 -22
  174. package/menu/index.d.ts +12 -18
  175. package/package.json +2 -2
  176. package/paginator/_paginator-theme.scss +15 -24
  177. package/prebuilt-themes/deeppurple-amber.css +1 -1
  178. package/prebuilt-themes/indigo-pink.css +1 -1
  179. package/prebuilt-themes/pink-bluegrey.css +1 -1
  180. package/prebuilt-themes/purple-green.css +1 -1
  181. package/progress-bar/_progress-bar-theme.scss +17 -24
  182. package/progress-spinner/_progress-spinner-theme.scss +18 -24
  183. package/radio/_radio-theme.scss +23 -38
  184. package/schematics/ng-add/index.js +1 -1
  185. package/schematics/ng-add/index.mjs +1 -1
  186. package/schematics/ng-generate/mdc-migration/index_bundled.js +44 -44
  187. package/schematics/ng-generate/mdc-migration/index_bundled.js.map +1 -1
  188. package/schematics/ng-update/index_bundled.js +25 -25
  189. package/select/_select-theme.scss +17 -31
  190. package/sidenav/_sidenav-theme.scss +12 -18
  191. package/slide-toggle/_slide-toggle-theme.scss +23 -40
  192. package/slide-toggle/index.d.ts +20 -23
  193. package/slider/_slider-theme.scss +25 -42
  194. package/snack-bar/_snack-bar-theme.scss +17 -26
  195. package/sort/_sort-theme.scss +13 -22
  196. package/stepper/_stepper-theme.scss +16 -34
  197. package/table/_table-theme.scss +14 -25
  198. package/tabs/_tabs-theme.scss +31 -45
  199. package/toolbar/_toolbar-theme.scss +22 -31
  200. package/tooltip/_tooltip-theme.scss +15 -23
  201. package/tree/_tree-theme.scss +20 -29
  202. package/button-toggle/_button-toggle-variables.scss +0 -16
  203. package/core/typography/_typography-deprecated.scss +0 -39
  204. package/paginator/_paginator-variables.scss +0 -15
package/_index.scss CHANGED
@@ -2,7 +2,7 @@
2
2
  @forward './core/theming/theming' show define-light-theme, define-dark-theme,
3
3
  define-palette, get-contrast-color-from-palette, get-color-from-palette,
4
4
  get-color-config, get-typography-config, get-density-config,
5
- $theme-ignore-duplication-warnings;
5
+ $theme-ignore-duplication-warnings, $theme-legacy-inspection-api-compatibility;
6
6
  @forward './core/theming/theming' as private-* show private-clamp-density;
7
7
  @forward './core/theming/palette' show $red-palette, $pink-palette, $indigo-palette,
8
8
  $purple-palette, $deep-purple-palette, $blue-palette, $light-blue-palette, $cyan-palette,
@@ -11,8 +11,7 @@
11
11
  $gray-palette, $blue-grey-palette, $blue-gray-palette, $light-theme-background-palette,
12
12
  $dark-theme-background-palette, $light-theme-foreground-palette, $dark-theme-foreground-palette;
13
13
  @forward './core/typography/typography' show define-typography-level, define-rem-typography-config,
14
- define-typography-config, typography-hierarchy, define-legacy-typography-config,
15
- legacy-typography-hierarchy;
14
+ define-typography-config, typography-hierarchy, define-legacy-typography-config;
16
15
  @forward './core/typography/typography-utils' show typography-level,
17
16
  font-size, line-height, font-weight, letter-spacing, font-family, font-shorthand;
18
17
  @forward './core/tokens/m2' show m2-tokens-from-theme;
@@ -88,7 +87,7 @@
88
87
  @forward './datepicker/datepicker-theme' as datepicker-* show datepicker-theme, datepicker-color,
89
88
  datepicker-typography, datepicker-date-range-colors, datepicker-density;
90
89
  @forward './dialog/dialog-theme' as dialog-* show dialog-theme, dialog-color, dialog-typography,
91
- dialog-density;
90
+ dialog-density, dialog-base;
92
91
  @forward './dialog/dialog-legacy-padding' as dialog-* show dialog-legacy-padding;
93
92
  @forward './divider/divider-theme' as divider-* show divider-theme, divider-color,
94
93
  divider-typography, divider-density;
@@ -1,37 +1,31 @@
1
1
  @use '../core/theming/theming';
2
+ @use '../core/theming/inspection';
2
3
  @use '../core/typography/typography';
3
4
  @use '../core/style/sass-utils';
4
5
  @use '../core/tokens/token-utils';
5
6
  @use '../core/tokens/m2/mat/autocomplete' as tokens-mat-autocomplete;
6
7
 
7
- @mixin color($config-or-theme) {
8
- $config: theming.get-color-config($config-or-theme);
9
-
8
+ @mixin color($theme) {
10
9
  @include sass-utils.current-selector-or-root() {
11
10
  @include token-utils.create-token-values(tokens-mat-autocomplete.$prefix,
12
- tokens-mat-autocomplete.get-color-tokens($config));
11
+ tokens-mat-autocomplete.get-color-tokens($theme));
13
12
  }
14
13
  }
15
14
 
16
- @mixin typography($config-or-theme) {}
15
+ @mixin typography($theme) {}
17
16
 
18
- @mixin density($config-or-theme) {}
17
+ @mixin density($theme) {}
19
18
 
20
- @mixin theme($theme-or-color-config) {
21
- $theme: theming.private-legacy-get-theme($theme-or-color-config);
19
+ @mixin theme($theme) {
22
20
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-autocomplete') {
23
- $color: theming.get-color-config($theme);
24
- $density: theming.get-density-config($theme);
25
- $typography: theming.get-typography-config($theme);
26
-
27
- @if $color != null {
28
- @include color($color);
21
+ @if inspection.theme-has($theme, color) {
22
+ @include color($theme);
29
23
  }
30
- @if $density != null {
31
- @include density($density);
24
+ @if inspection.theme-has($theme, density) {
25
+ @include density($theme);
32
26
  }
33
- @if $typography != null {
34
- @include typography($typography);
27
+ @if inspection.theme-has($theme, typography) {
28
+ @include typography($theme);
35
29
  }
36
30
  }
37
31
  }
@@ -1,12 +1,8 @@
1
- import { _AbstractConstructor } from '@angular/material/core';
2
1
  import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
3
2
  import { AfterContentInit } from '@angular/core';
4
3
  import { AfterViewInit } from '@angular/core';
5
4
  import { AnimationEvent as AnimationEvent_2 } from '@angular/animations';
6
- import { BooleanInput } from '@angular/cdk/coercion';
7
- import { CanDisableRipple } from '@angular/material/core';
8
5
  import { ChangeDetectorRef } from '@angular/core';
9
- import { _Constructor } from '@angular/material/core';
10
6
  import { ControlValueAccessor } from '@angular/forms';
11
7
  import { Directionality } from '@angular/cdk/bidi';
12
8
  import { ElementRef } from '@angular/core';
@@ -95,7 +91,7 @@ export declare const MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER: {
95
91
  export declare const MAT_AUTOCOMPLETE_VALUE_ACCESSOR: any;
96
92
 
97
93
  /** Autocomplete component. */
98
- export declare class MatAutocomplete extends _MatAutocompleteMixinBase implements AfterContentInit, CanDisableRipple, OnDestroy {
94
+ export declare class MatAutocomplete implements AfterContentInit, OnDestroy {
99
95
  private _changeDetectorRef;
100
96
  private _elementRef;
101
97
  protected _defaults: MatAutocompleteDefaultOptions;
@@ -135,27 +131,23 @@ export declare class MatAutocomplete extends _MatAutocompleteMixinBase implement
135
131
  * Whether the first option should be highlighted when the autocomplete panel is opened.
136
132
  * Can be configured globally through the `MAT_AUTOCOMPLETE_DEFAULT_OPTIONS` token.
137
133
  */
138
- get autoActiveFirstOption(): boolean;
139
- set autoActiveFirstOption(value: BooleanInput);
140
- private _autoActiveFirstOption;
134
+ autoActiveFirstOption: boolean;
141
135
  /** Whether the active option should be selected as the user is navigating. */
142
- get autoSelectActiveOption(): boolean;
143
- set autoSelectActiveOption(value: BooleanInput);
144
- private _autoSelectActiveOption;
136
+ autoSelectActiveOption: boolean;
145
137
  /**
146
138
  * Whether the user is required to make a selection when they're interacting with the
147
139
  * autocomplete. If the user moves away from the autocomplete without selecting an option from
148
140
  * the list, the value will be reset. If the user opens the panel and closes it without
149
141
  * interacting or selecting a value, the initial value will be kept.
150
142
  */
151
- get requireSelection(): boolean;
152
- set requireSelection(value: BooleanInput);
153
- private _requireSelection;
143
+ requireSelection: boolean;
154
144
  /**
155
145
  * Specify the width of the autocomplete panel. Can be any CSS sizing value, otherwise it will
156
146
  * match the width of its host.
157
147
  */
158
148
  panelWidth: string | number;
149
+ /** Whether ripples are disabled within the autocomplete panel. */
150
+ disableRipple: boolean;
159
151
  /** Event that is emitted whenever an option from the list is selected. */
160
152
  readonly optionSelected: EventEmitter<MatAutocompleteSelectedEvent>;
161
153
  /** Event that is emitted when the autocomplete panel is opened. */
@@ -174,7 +166,7 @@ export declare class MatAutocomplete extends _MatAutocompleteMixinBase implement
174
166
  };
175
167
  /** Whether checkmark indicator for single-selection options is hidden. */
176
168
  get hideSingleSelectionIndicator(): boolean;
177
- set hideSingleSelectionIndicator(value: BooleanInput);
169
+ set hideSingleSelectionIndicator(value: boolean);
178
170
  private _hideSingleSelectionIndicator;
179
171
  /** Syncs the parent state with the individual options. */
180
172
  _syncParentProperties(): void;
@@ -207,7 +199,12 @@ export declare class MatAutocomplete extends _MatAutocompleteMixinBase implement
207
199
  private _setThemeClasses;
208
200
  protected _skipPredicate(): boolean;
209
201
  static ɵfac: i0.ɵɵFactoryDeclaration<MatAutocomplete, never>;
210
- static ɵcmp: i0.ɵɵComponentDeclaration<MatAutocomplete, "mat-autocomplete", ["matAutocomplete"], { "disableRipple": { "alias": "disableRipple"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; }; "displayWith": { "alias": "displayWith"; "required": false; }; "autoActiveFirstOption": { "alias": "autoActiveFirstOption"; "required": false; }; "autoSelectActiveOption": { "alias": "autoSelectActiveOption"; "required": false; }; "requireSelection": { "alias": "requireSelection"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; "classList": { "alias": "class"; "required": false; }; "hideSingleSelectionIndicator": { "alias": "hideSingleSelectionIndicator"; "required": false; }; }, { "optionSelected": "optionSelected"; "opened": "opened"; "closed": "closed"; "optionActivated": "optionActivated"; }, ["options", "optionGroups"], ["*"], false, never>;
202
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatAutocomplete, "mat-autocomplete", ["matAutocomplete"], { "ariaLabel": { "alias": "aria-label"; "required": false; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; }; "displayWith": { "alias": "displayWith"; "required": false; }; "autoActiveFirstOption": { "alias": "autoActiveFirstOption"; "required": false; }; "autoSelectActiveOption": { "alias": "autoSelectActiveOption"; "required": false; }; "requireSelection": { "alias": "requireSelection"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "classList": { "alias": "class"; "required": false; }; "hideSingleSelectionIndicator": { "alias": "hideSingleSelectionIndicator"; "required": false; }; }, { "optionSelected": "optionSelected"; "opened": "opened"; "closed": "closed"; "optionActivated": "optionActivated"; }, ["options", "optionGroups"], ["*"], false, never>;
203
+ static ngAcceptInputType_autoActiveFirstOption: unknown;
204
+ static ngAcceptInputType_autoSelectActiveOption: unknown;
205
+ static ngAcceptInputType_requireSelection: unknown;
206
+ static ngAcceptInputType_disableRipple: unknown;
207
+ static ngAcceptInputType_hideSingleSelectionIndicator: unknown;
211
208
  }
212
209
 
213
210
  /** Event object that is emitted when an autocomplete option is activated. */
@@ -235,11 +232,6 @@ export declare interface MatAutocompleteDefaultOptions {
235
232
  hideSingleSelectionIndicator?: boolean;
236
233
  }
237
234
 
238
- /** @docs-private */
239
- declare const _MatAutocompleteMixinBase: _Constructor<CanDisableRipple> & _AbstractConstructor<CanDisableRipple> & {
240
- new (): {};
241
- };
242
-
243
235
  export declare class MatAutocompleteModule {
244
236
  static ɵfac: i0.ɵɵFactoryDeclaration<MatAutocompleteModule, never>;
245
237
  static ɵmod: i0.ɵɵNgModuleDeclaration<MatAutocompleteModule, [typeof i1.MatAutocomplete, typeof i2.MatAutocompleteTrigger, typeof i3.MatAutocompleteOrigin], [typeof i4.OverlayModule, typeof i5.MatOptionModule, typeof i5.MatCommonModule, typeof i6.CommonModule], [typeof i7.CdkScrollableModule, typeof i1.MatAutocomplete, typeof i5.MatOptionModule, typeof i5.MatCommonModule, typeof i2.MatAutocompleteTrigger, typeof i3.MatAutocompleteOrigin]>;
@@ -288,7 +280,6 @@ export declare class MatAutocompleteTrigger implements ControlValueAccessor, Aft
288
280
  private _overlayRef;
289
281
  private _portal;
290
282
  private _componentDestroyed;
291
- private _autocompleteDisabled;
292
283
  private _scrollStrategy;
293
284
  private _keydownSubscription;
294
285
  private _outsideClickSubscription;
@@ -352,8 +343,7 @@ export declare class MatAutocompleteTrigger implements ControlValueAccessor, Aft
352
343
  * Whether the autocomplete is disabled. When disabled, the element will
353
344
  * act as a regular input and the user won't be able to open the panel.
354
345
  */
355
- get autocompleteDisabled(): boolean;
356
- set autocompleteDisabled(value: BooleanInput);
346
+ autocompleteDisabled: boolean;
357
347
  constructor(_element: ElementRef<HTMLInputElement>, _overlay: Overlay, _viewContainerRef: ViewContainerRef, _zone: NgZone, _changeDetectorRef: ChangeDetectorRef, scrollStrategy: any, _dir: Directionality | null, _formField: MatFormField | null, _document: any, _viewportRuler: ViewportRuler, _defaults?: MatAutocompleteDefaultOptions | null | undefined);
358
348
  /** Class to apply to the panel when it's above the input. */
359
349
  private _aboveClass;
@@ -481,6 +471,7 @@ export declare class MatAutocompleteTrigger implements ControlValueAccessor, Aft
481
471
  private _clearFromModal;
482
472
  static ɵfac: i0.ɵɵFactoryDeclaration<MatAutocompleteTrigger, [null, null, null, null, null, null, { optional: true; }, { optional: true; host: true; }, { optional: true; }, null, { optional: true; }]>;
483
473
  static ɵdir: i0.ɵɵDirectiveDeclaration<MatAutocompleteTrigger, "input[matAutocomplete], textarea[matAutocomplete]", ["matAutocompleteTrigger"], { "autocomplete": { "alias": "matAutocomplete"; "required": false; }; "position": { "alias": "matAutocompletePosition"; "required": false; }; "connectedTo": { "alias": "matAutocompleteConnectedTo"; "required": false; }; "autocompleteAttribute": { "alias": "autocomplete"; "required": false; }; "autocompleteDisabled": { "alias": "matAutocompleteDisabled"; "required": false; }; }, {}, never, never, false, never>;
474
+ static ngAcceptInputType_autocompleteDisabled: unknown;
484
475
  }
485
476
 
486
477
  export { }
@@ -1,9 +1,9 @@
1
1
  @use 'sass:color';
2
- @use 'sass:map';
3
2
  @use 'sass:math';
4
3
  @use '@angular/cdk';
5
4
 
6
5
  @use '../core/theming/theming';
6
+ @use '../core/theming/inspection';
7
7
  @use '../core/typography/typography';
8
8
  @use '../core/tokens/m2/mat/badge' as tokens-mat-badge;
9
9
  @use '../core/tokens/token-utils';
@@ -164,46 +164,34 @@ $_emit-fallback-vars: true;
164
164
  }
165
165
  }
166
166
 
167
- @mixin color($config-or-theme) {
168
- $config: theming.get-color-config($config-or-theme);
169
- $accent: map.get($config, accent);
170
- $warn: map.get($config, warn);
171
-
167
+ @mixin color($theme) {
172
168
  @include sass-utils.current-selector-or-root() {
173
169
  @include token-utils.create-token-values(tokens-mat-badge.$prefix,
174
- tokens-mat-badge.get-color-tokens($config));
170
+ tokens-mat-badge.get-color-tokens($theme));
175
171
  }
176
172
 
177
173
  .mat-badge-accent {
178
174
  @include token-utils.create-token-values(tokens-mat-badge.$prefix,
179
- tokens-mat-badge.private-get-color-palette-color-tokens($accent));
175
+ tokens-mat-badge.private-get-color-palette-color-tokens($theme, accent));
180
176
  }
181
177
 
182
178
  .mat-badge-warn {
183
179
  @include token-utils.create-token-values(tokens-mat-badge.$prefix,
184
- tokens-mat-badge.private-get-color-palette-color-tokens($warn));
180
+ tokens-mat-badge.private-get-color-palette-color-tokens($theme, warn));
185
181
  }
186
182
  }
187
183
 
188
- @mixin typography($config-or-theme) {
189
- $config: typography.private-typography-to-2014-config(
190
- theming.get-typography-config($config-or-theme));
191
-
184
+ @mixin typography($theme) {
192
185
  @include sass-utils.current-selector-or-root() {
193
186
  @include token-utils.create-token-values(tokens-mat-badge.$prefix,
194
- tokens-mat-badge.get-typography-tokens($config));
187
+ tokens-mat-badge.get-typography-tokens($theme));
195
188
  }
196
189
  }
197
190
 
198
- @mixin density($config-or-theme) {}
191
+ @mixin density($theme) {}
199
192
 
200
- @mixin theme($theme-or-color-config) {
201
- $theme: theming.private-legacy-get-theme($theme-or-color-config);
193
+ @mixin theme($theme) {
202
194
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-badge') {
203
- $color: theming.get-color-config($theme);
204
- $density: theming.get-density-config($theme);
205
- $typography: theming.get-typography-config($theme);
206
-
207
195
  // Try to reduce the number of times that the structural styles are emitted.
208
196
  @if not $_badge-structure-emitted {
209
197
  @include _badge-structure;
@@ -216,14 +204,14 @@ $_emit-fallback-vars: true;
216
204
  }
217
205
  }
218
206
 
219
- @if $color != null {
220
- @include color($color);
207
+ @if inspection.theme-has($theme, color) {
208
+ @include color($theme);
221
209
  }
222
- @if $density != null {
223
- @include density($density);
210
+ @if inspection.theme-has($theme, density) {
211
+ @include density($theme);
224
212
  }
225
- @if $typography != null {
226
- @include typography($typography);
213
+ @if inspection.theme-has($theme, typography) {
214
+ @include typography($theme);
227
215
  }
228
216
  }
229
217
  }
package/badge/index.d.ts CHANGED
@@ -1,8 +1,4 @@
1
- import { _AbstractConstructor } from '@angular/material/core';
2
1
  import { AriaDescriber } from '@angular/cdk/a11y';
3
- import { BooleanInput } from '@angular/cdk/coercion';
4
- import { CanDisable } from '@angular/material/core';
5
- import { _Constructor } from '@angular/material/core';
6
2
  import { ElementRef } from '@angular/core';
7
3
  import * as i0 from '@angular/core';
8
4
  import * as i2 from '@angular/cdk/a11y';
@@ -22,7 +18,7 @@ declare namespace i1 {
22
18
  }
23
19
 
24
20
  /** Directive to display a text badge. */
25
- export declare class MatBadge extends _MatBadgeBase implements OnInit, OnDestroy, CanDisable {
21
+ export declare class MatBadge implements OnInit, OnDestroy {
26
22
  private _ngZone;
27
23
  private _elementRef;
28
24
  private _ariaDescriber;
@@ -33,9 +29,9 @@ export declare class MatBadge extends _MatBadgeBase implements OnInit, OnDestroy
33
29
  set color(value: ThemePalette);
34
30
  private _color;
35
31
  /** Whether the badge should overlap its contents or not */
36
- get overlap(): boolean;
37
- set overlap(val: BooleanInput);
38
- private _overlap;
32
+ overlap: boolean;
33
+ /** Whether the badge is disabled. */
34
+ disabled: boolean;
39
35
  /**
40
36
  * Position the badge should reside.
41
37
  * Accepts any combination of 'above'|'below' and 'before'|'after'
@@ -52,9 +48,7 @@ export declare class MatBadge extends _MatBadgeBase implements OnInit, OnDestroy
52
48
  /** Size of the badge. Can be 'small', 'medium', or 'large'. */
53
49
  size: MatBadgeSize;
54
50
  /** Whether the badge is hidden. */
55
- get hidden(): boolean;
56
- set hidden(val: BooleanInput);
57
- private _hidden;
51
+ hidden: boolean;
58
52
  /** Unique id for the badge */
59
53
  _id: number;
60
54
  /** Visible badge element. */
@@ -93,14 +87,12 @@ export declare class MatBadge extends _MatBadgeBase implements OnInit, OnDestroy
93
87
  /** Clears any existing badges that might be left over from server-side rendering. */
94
88
  private _clearExistingBadges;
95
89
  static ɵfac: i0.ɵɵFactoryDeclaration<MatBadge, [null, null, null, null, { optional: true; }]>;
96
- static ɵdir: i0.ɵɵDirectiveDeclaration<MatBadge, "[matBadge]", never, { "disabled": { "alias": "matBadgeDisabled"; "required": false; }; "color": { "alias": "matBadgeColor"; "required": false; }; "overlap": { "alias": "matBadgeOverlap"; "required": false; }; "position": { "alias": "matBadgePosition"; "required": false; }; "content": { "alias": "matBadge"; "required": false; }; "description": { "alias": "matBadgeDescription"; "required": false; }; "size": { "alias": "matBadgeSize"; "required": false; }; "hidden": { "alias": "matBadgeHidden"; "required": false; }; }, {}, never, never, false, never>;
90
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatBadge, "[matBadge]", never, { "color": { "alias": "matBadgeColor"; "required": false; }; "overlap": { "alias": "matBadgeOverlap"; "required": false; }; "disabled": { "alias": "matBadgeDisabled"; "required": false; }; "position": { "alias": "matBadgePosition"; "required": false; }; "content": { "alias": "matBadge"; "required": false; }; "description": { "alias": "matBadgeDescription"; "required": false; }; "size": { "alias": "matBadgeSize"; "required": false; }; "hidden": { "alias": "matBadgeHidden"; "required": false; }; }, {}, never, never, false, never>;
91
+ static ngAcceptInputType_overlap: unknown;
92
+ static ngAcceptInputType_disabled: unknown;
93
+ static ngAcceptInputType_hidden: unknown;
97
94
  }
98
95
 
99
- /** @docs-private */
100
- declare const _MatBadgeBase: _Constructor<CanDisable> & _AbstractConstructor<CanDisable> & {
101
- new (): {};
102
- };
103
-
104
96
  export declare class MatBadgeModule {
105
97
  static ɵfac: i0.ɵɵFactoryDeclaration<MatBadgeModule, never>;
106
98
  static ɵmod: i0.ɵɵNgModuleDeclaration<MatBadgeModule, [typeof i1.MatBadge], [typeof i2.A11yModule, typeof i3.MatCommonModule], [typeof i1.MatBadge, typeof i3.MatCommonModule]>;
@@ -1,45 +1,36 @@
1
1
  @use '../core/typography/typography';
2
2
  @use '../core/theming/theming';
3
+ @use '../core/theming/inspection';
3
4
  @use '../core/style/sass-utils';
4
5
  @use '../core/tokens/token-utils';
5
6
  @use '../core/tokens/m2/mat/bottom-sheet' as tokens-mat-bottom-sheet;
6
7
 
7
- @mixin color($config-or-theme) {
8
- $config: theming.get-color-config($config-or-theme);
9
-
8
+ @mixin color($theme) {
10
9
  @include sass-utils.current-selector-or-root() {
11
10
  @include token-utils.create-token-values(tokens-mat-bottom-sheet.$prefix,
12
- tokens-mat-bottom-sheet.get-color-tokens($config));
11
+ tokens-mat-bottom-sheet.get-color-tokens($theme));
13
12
  }
14
13
  }
15
14
 
16
- @mixin typography($config-or-theme) {
17
- $config: typography.private-typography-to-2014-config(
18
- theming.get-typography-config($config-or-theme));
19
-
15
+ @mixin typography($theme) {
20
16
  @include sass-utils.current-selector-or-root() {
21
17
  @include token-utils.create-token-values(tokens-mat-bottom-sheet.$prefix,
22
- tokens-mat-bottom-sheet.get-typography-tokens($config));
18
+ tokens-mat-bottom-sheet.get-typography-tokens($theme));
23
19
  }
24
20
  }
25
21
 
26
- @mixin density($config-or-theme) {}
22
+ @mixin density($theme) {}
27
23
 
28
- @mixin theme($theme-or-color-config) {
29
- $theme: theming.private-legacy-get-theme($theme-or-color-config);
24
+ @mixin theme($theme) {
30
25
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-bottom-sheet') {
31
- $color: theming.get-color-config($theme);
32
- $density: theming.get-density-config($theme);
33
- $typography: theming.get-typography-config($theme);
34
-
35
- @if $color != null {
36
- @include color($color);
26
+ @if inspection.theme-has($theme, color) {
27
+ @include color($theme);
37
28
  }
38
- @if $density != null {
39
- @include density($density);
29
+ @if inspection.theme-has($theme, density) {
30
+ @include density($theme);
40
31
  }
41
- @if $typography != null {
42
- @include typography($typography);
32
+ @if inspection.theme-has($theme, typography) {
33
+ @include typography($theme);
43
34
  }
44
35
  }
45
36
  }
@@ -90,9 +90,9 @@
90
90
  }
91
91
  }
92
92
 
93
- // Changes a button theme to exclude the ripple styles.
94
- @function mat-private-button-remove-ripple($theme) {
95
- @return map.merge($theme, (
93
+ // Changes a button token set to exclude the ripple styles.
94
+ @function mat-private-button-remove-ripple($tokens) {
95
+ @return map.merge($tokens, (
96
96
  focus-state-layer-color: null,
97
97
  focus-state-layer-opacity: null,
98
98
  hover-state-layer-color: null,
@@ -3,14 +3,15 @@
3
3
  @use '@material/theme/theme-color' as mdc-theme-color;
4
4
 
5
5
  @use '../core/mdc-helpers/mdc-helpers';
6
+ @use '../core/theming/inspection';
6
7
 
7
8
  @mixin _ripple-color($color) {
8
9
  --mat-mdc-button-persistent-ripple-color: #{$color};
9
10
  --mat-mdc-button-ripple-color: #{rgba($color, 0.1)};
10
11
  }
11
12
 
12
- @mixin ripple-theme-styles($config, $is-filled) {
13
- $opacities: if(map.get($config, is-dark),
13
+ @mixin ripple-theme-styles($theme, $is-filled) {
14
+ $opacities: if(inspection.get-theme-type($theme) == dark,
14
15
  mdc-ripple-theme.$light-ink-opacities, mdc-ripple-theme.$dark-ink-opacities);
15
16
 
16
17
  // Ideally these styles would be structural, but MDC bases some of the opacities on the theme.
@@ -1,4 +1,3 @@
1
- @use 'sass:map';
2
1
  @use '@material/button/button' as mdc-button;
3
2
  @use '@material/button/button-theme' as mdc-button-theme;
4
3
  @use '@material/button/button-text-theme' as mdc-button-text-theme;
@@ -10,6 +9,7 @@
10
9
  @use './button-theme-private';
11
10
  @use '../core/mdc-helpers/mdc-helpers';
12
11
  @use '../core/theming/theming';
12
+ @use '../core/theming/inspection';
13
13
  @use '../core/typography/typography';
14
14
 
15
15
  @mixin _button-variant($color) {
@@ -38,10 +38,9 @@
38
38
  ));
39
39
  }
40
40
 
41
- @mixin color($config-or-theme) {
42
- $config: theming.get-color-config($config-or-theme);
43
- @include mdc-helpers.using-mdc-theme($config) {
44
- $is-dark: map.get($config, is-dark);
41
+ @mixin color($theme) {
42
+ @include mdc-helpers.using-mdc-theme($theme) {
43
+ $is-dark: inspection.get-theme-type($theme) == dark;
45
44
  $on-surface: mdc-theme-color.prop-value(on-surface);
46
45
  $surface: mdc-theme-color.prop-value(surface);
47
46
  $disabled-ink-color: rgba($on-surface, if($is-dark, 0.5, 0.38));
@@ -174,25 +173,24 @@
174
173
 
175
174
  // Ripple colors
176
175
  .mat-mdc-button, .mat-mdc-outlined-button {
177
- @include button-theme-private.ripple-theme-styles($config, false);
176
+ @include button-theme-private.ripple-theme-styles($theme, false);
178
177
  }
179
178
 
180
179
  .mat-mdc-raised-button, .mat-mdc-unelevated-button {
181
- @include button-theme-private.ripple-theme-styles($config, true);
180
+ @include button-theme-private.ripple-theme-styles($theme, true);
182
181
  }
183
182
  }
184
183
  }
185
184
 
186
- @mixin typography($config-or-theme) {
187
- $config: typography.private-typography-to-2018-config(
188
- theming.get-typography-config($config-or-theme));
189
- @include mdc-helpers.using-mdc-typography($config) {
185
+ @mixin typography($theme) {
186
+ @include mdc-helpers.using-mdc-typography($theme) {
190
187
  @include mdc-button.without-ripple($query: mdc-helpers.$mdc-typography-styles-query);
191
188
  }
192
189
  }
193
190
 
194
- @mixin density($config-or-theme) {
195
- $density-scale: theming.get-density-config($config-or-theme);
191
+ @mixin density($theme) {
192
+ $density-scale: theming.clamp-density(inspection.get-theme-density($theme), -3);
193
+
196
194
  .mat-mdc-button,
197
195
  .mat-mdc-raised-button,
198
196
  .mat-mdc-unelevated-button,
@@ -205,21 +203,16 @@
205
203
  }
206
204
  }
207
205
 
208
- @mixin theme($theme-or-color-config) {
209
- $theme: theming.private-legacy-get-theme($theme-or-color-config);
206
+ @mixin theme($theme) {
210
207
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-button') {
211
- $color: theming.get-color-config($theme);
212
- $density: theming.get-density-config($theme);
213
- $typography: theming.get-typography-config($theme);
214
-
215
- @if $color != null {
216
- @include color($color);
208
+ @if inspection.theme-has($theme, color) {
209
+ @include color($theme);
217
210
  }
218
- @if $density != null {
219
- @include density($density);
211
+ @if inspection.theme-has($theme, density) {
212
+ @include density($theme);
220
213
  }
221
- @if $typography != null {
222
- @include typography($typography);
214
+ @if inspection.theme-has($theme, typography) {
215
+ @include typography($theme);
223
216
  }
224
217
  }
225
218
  }