@angular/material 17.0.0-next.1 → 17.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 (119) hide show
  1. package/_index.scss +1 -2
  2. package/autocomplete/_autocomplete-theme.scss +12 -18
  3. package/autocomplete/index.d.ts +19 -26
  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-toggle/_button-toggle-theme.scss +17 -28
  8. package/button-toggle/index.d.ts +15 -18
  9. package/checkbox/index.d.ts +21 -27
  10. package/chips/_chips-theme.scss +18 -56
  11. package/core/color/_all-color.scss +7 -15
  12. package/core/density/private/_all-density.scss +34 -39
  13. package/core/focus-indicators/_focus-indicators-theme.scss +6 -8
  14. package/core/focus-indicators/_private.scss +22 -26
  15. package/core/index.d.ts +7 -11
  16. package/core/style/_form-common.scss +7 -7
  17. package/core/style/_private.scss +2 -4
  18. package/core/testing/index.d.ts +2 -1
  19. package/core/theming/_all-theme.scss +41 -41
  20. package/core/theming/_inspection.scss +47 -0
  21. package/core/theming/_m2-inspection.scss +57 -0
  22. package/core/theming/_theming.scss +0 -14
  23. package/core/tokens/m2/mat/_autocomplete.scss +5 -8
  24. package/core/tokens/m2/mat/_badge.scss +12 -15
  25. package/core/tokens/m2/mat/_bottom-sheet.scss +11 -17
  26. package/core/tokens/m2/mat/_datepicker.scss +28 -38
  27. package/core/tokens/m2/mat/_divider.scss +5 -8
  28. package/core/tokens/m2/mat/_expansion.scss +24 -28
  29. package/core/tokens/m2/mat/_grid-list.scss +8 -8
  30. package/core/tokens/m2/mat/_icon.scss +3 -3
  31. package/core/tokens/m2/mat/_legacy-button-toggle.scss +15 -19
  32. package/core/tokens/m2/mat/_menu.scss +12 -17
  33. package/core/tokens/m2/mat/_select.scss +15 -29
  34. package/core/tokens/m2/mat/_sidenav.scss +12 -14
  35. package/core/tokens/m2/mat/_snack-bar.scss +7 -8
  36. package/core/tokens/m2/mat/_standard-button-toggle.scss +23 -22
  37. package/core/tokens/m2/mat/_stepper.scss +30 -33
  38. package/core/tokens/m2/mat/_tab-header-with-background.scss +6 -8
  39. package/core/tokens/m2/mat/_tab-header.scss +13 -18
  40. package/core/tokens/m2/mat/_table.scss +19 -23
  41. package/core/tokens/m2/mat/_toolbar.scss +12 -16
  42. package/core/tokens/m2/mdc/_chip.scss +38 -24
  43. package/core/tokens/m2/mdc/_circular-progress.scss +5 -6
  44. package/core/tokens/m2/mdc/_dialog.scss +16 -30
  45. package/core/tokens/m2/mdc/_icon-button.scss +2 -2
  46. package/core/tokens/m2/mdc/_plain-tooltip.scss +9 -22
  47. package/core/tokens/m2/mdc/_snack-bar.scss +10 -23
  48. package/core/tokens/m2/mdc/_tab-indicator.scss +5 -8
  49. package/core/tokens/m2/mdc/_tab.scss +5 -4
  50. package/core/typography/_all-typography.scss +44 -47
  51. package/core/typography/_typography.scss +32 -155
  52. package/core/typography/_versioning.scss +7 -2
  53. package/datepicker/_datepicker-theme.scss +20 -34
  54. package/dialog/_dialog-theme.scss +14 -25
  55. package/dialog/_mdc-dialog-structure-overrides.scss +12 -10
  56. package/dialog/index.d.ts +2 -0
  57. package/divider/_divider-theme.scss +12 -18
  58. package/esm2022/autocomplete/autocomplete-trigger.mjs +13 -19
  59. package/esm2022/autocomplete/autocomplete.mjs +23 -50
  60. package/esm2022/badge/badge.mjs +11 -29
  61. package/esm2022/button-toggle/button-toggle.mjs +25 -33
  62. package/esm2022/checkbox/checkbox.mjs +32 -39
  63. package/esm2022/core/option/optgroup.mjs +10 -11
  64. package/esm2022/core/option/option.mjs +6 -6
  65. package/esm2022/core/testing/option-harness.mjs +3 -3
  66. package/esm2022/core/version.mjs +1 -1
  67. package/esm2022/dialog/dialog-container.mjs +16 -3
  68. package/esm2022/menu/menu-item.mjs +15 -11
  69. package/esm2022/menu/menu.mjs +9 -22
  70. package/esm2022/slide-toggle/slide-toggle.mjs +33 -37
  71. package/esm2022/tabs/tab-group.mjs +3 -3
  72. package/expansion/_expansion-theme.scss +16 -24
  73. package/fesm2022/autocomplete.mjs +33 -65
  74. package/fesm2022/autocomplete.mjs.map +1 -1
  75. package/fesm2022/badge.mjs +11 -28
  76. package/fesm2022/badge.mjs.map +1 -1
  77. package/fesm2022/button-toggle.mjs +25 -32
  78. package/fesm2022/button-toggle.mjs.map +1 -1
  79. package/fesm2022/checkbox.mjs +31 -38
  80. package/fesm2022/checkbox.mjs.map +1 -1
  81. package/fesm2022/core/testing.mjs +2 -2
  82. package/fesm2022/core/testing.mjs.map +1 -1
  83. package/fesm2022/core.mjs +14 -13
  84. package/fesm2022/core.mjs.map +1 -1
  85. package/fesm2022/dialog.mjs +15 -2
  86. package/fesm2022/dialog.mjs.map +1 -1
  87. package/fesm2022/menu.mjs +23 -31
  88. package/fesm2022/menu.mjs.map +1 -1
  89. package/fesm2022/slide-toggle.mjs +33 -36
  90. package/fesm2022/slide-toggle.mjs.map +1 -1
  91. package/fesm2022/tabs.mjs +2 -2
  92. package/fesm2022/tabs.mjs.map +1 -1
  93. package/form-field/_form-field-sizing.scss +1 -1
  94. package/grid-list/_grid-list-theme.scss +12 -19
  95. package/icon/_icon-theme.scss +17 -25
  96. package/list/_list-theme.scss +1 -1
  97. package/menu/_menu-theme.scss +13 -22
  98. package/menu/index.d.ts +12 -18
  99. package/package.json +2 -2
  100. package/prebuilt-themes/deeppurple-amber.css +1 -1
  101. package/prebuilt-themes/indigo-pink.css +1 -1
  102. package/prebuilt-themes/pink-bluegrey.css +1 -1
  103. package/prebuilt-themes/purple-green.css +1 -1
  104. package/progress-spinner/_progress-spinner-theme.scss +16 -22
  105. package/schematics/ng-add/index.js +1 -1
  106. package/schematics/ng-add/index.mjs +1 -1
  107. package/schematics/ng-generate/mdc-migration/index_bundled.js.map +1 -1
  108. package/select/_select-theme.scss +17 -31
  109. package/sidenav/_sidenav-theme.scss +12 -18
  110. package/slide-toggle/index.d.ts +20 -23
  111. package/snack-bar/_snack-bar-theme.scss +15 -24
  112. package/sort/_sort-theme.scss +13 -22
  113. package/stepper/_stepper-theme.scss +16 -34
  114. package/table/_table-theme.scss +14 -25
  115. package/tabs/_tabs-theme.scss +31 -45
  116. package/toolbar/_toolbar-theme.scss +22 -31
  117. package/tooltip/_tooltip-theme.scss +15 -23
  118. package/tree/_tree-theme.scss +20 -29
  119. package/core/typography/_typography-deprecated.scss +0 -39
@@ -3,7 +3,7 @@
3
3
  $mat-form-field-outline-top-spacing: 12px;
4
4
 
5
5
  // Infix stretches to fit the container, but naturally wants to be this wide. We set
6
- // this in order to have a a consistent natural size for the various types of controls
6
+ // this in order to have a consistent natural size for the various types of controls
7
7
  // that can go in a form field.
8
8
  $mat-form-field-default-infix-width: 180px !default;
9
9
 
@@ -1,4 +1,5 @@
1
1
  @use '../core/theming/theming';
2
+ @use '../core/theming/inspection';
2
3
  @use '../core/typography/typography';
3
4
  @use '../core/tokens/m2/mat/grid-list' as tokens-mat-grid-list;
4
5
  @use '../core/style/sass-utils';
@@ -6,35 +7,27 @@
6
7
 
7
8
 
8
9
  // Include this empty mixin for consistency with the other components.
9
- @mixin color($config-or-theme) {}
10
-
11
- @mixin typography($config-or-theme) {
12
- $config: typography.private-typography-to-2014-config(
13
- theming.get-typography-config($config-or-theme));
10
+ @mixin color($theme) {}
14
11
 
12
+ @mixin typography($theme) {
15
13
  @include sass-utils.current-selector-or-root() {
16
14
  @include token-utils.create-token-values(tokens-mat-grid-list.$prefix,
17
- tokens-mat-grid-list.get-typography-tokens($config));
15
+ tokens-mat-grid-list.get-typography-tokens($theme));
18
16
  }
19
17
  }
20
18
 
21
- @mixin density($config-or-theme) {}
19
+ @mixin density($theme) {}
22
20
 
23
- @mixin theme($theme-or-color-config) {
24
- $theme: theming.private-legacy-get-theme($theme-or-color-config);
21
+ @mixin theme($theme) {
25
22
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-grid-list') {
26
- $color: theming.get-color-config($theme);
27
- $density: theming.get-density-config($theme);
28
- $typography: theming.get-typography-config($theme);
29
-
30
- @if $color != null {
31
- @include color($color);
23
+ @if inspection.theme-has($theme, color) {
24
+ @include color($theme);
32
25
  }
33
- @if $density != null {
34
- @include density($density);
26
+ @if inspection.theme-has($theme, density) {
27
+ @include density($theme);
35
28
  }
36
- @if $typography != null {
37
- @include typography($typography);
29
+ @if inspection.theme-has($theme, typography) {
30
+ @include typography($theme);
38
31
  }
39
32
  }
40
33
  }
@@ -1,58 +1,50 @@
1
- @use 'sass:map';
2
1
  @use '../core/theming/theming';
2
+ @use '../core/theming/inspection';
3
3
  @use '../core/tokens/m2/mat/icon' as tokens-mat-icon;
4
4
  @use '../core/tokens/token-utils';
5
5
  @use '../core/style/sass-utils';
6
6
 
7
- @mixin _palette-colors($config, $palette-name) {
8
- $palette: map.get($config, $palette-name);
9
- $color: theming.get-color-from-palette($palette, text);
7
+ @mixin _palette-colors($theme, $palette-name) {
8
+ $color: inspection.get-theme-color($theme, $palette-name, text);
10
9
  $tokens: tokens-mat-icon.private-get-icon-color-tokens($color);
11
10
  @include token-utils.create-token-values(tokens-mat-icon.$prefix, $tokens);
12
11
  }
13
12
 
14
- @mixin color($config-or-theme) {
15
- $config: theming.get-color-config($config-or-theme);
16
-
13
+ @mixin color($theme) {
17
14
  @include sass-utils.current-selector-or-root() {
18
15
  @include token-utils.create-token-values(tokens-mat-icon.$prefix,
19
- tokens-mat-icon.get-color-tokens($config));
16
+ tokens-mat-icon.get-color-tokens($theme));
20
17
  }
21
18
 
22
19
  .mat-icon {
23
20
  &.mat-primary {
24
- @include _palette-colors($config, primary);
21
+ @include _palette-colors($theme, primary);
25
22
  }
26
23
 
27
24
  &.mat-accent {
28
- @include _palette-colors($config, accent);
25
+ @include _palette-colors($theme, accent);
29
26
  }
30
27
 
31
28
  &.mat-warn {
32
- @include _palette-colors($config, warn);
29
+ @include _palette-colors($theme, warn);
33
30
  }
34
31
  }
35
32
  }
36
33
 
37
- @mixin typography($config-or-theme) {}
34
+ @mixin typography($theme) {}
38
35
 
39
- @mixin density($config-or-theme) {}
36
+ @mixin density($theme) {}
40
37
 
41
- @mixin theme($theme-or-color-config) {
42
- $theme: theming.private-legacy-get-theme($theme-or-color-config);
38
+ @mixin theme($theme) {
43
39
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-icon') {
44
- $color: theming.get-color-config($theme);
45
- $density: theming.get-density-config($theme);
46
- $typography: theming.get-typography-config($theme);
47
-
48
- @if $color != null {
49
- @include color($color);
40
+ @if inspection.theme-has($theme, color) {
41
+ @include color($theme);
50
42
  }
51
- @if $density != null {
52
- @include density($density);
43
+ @if inspection.theme-has($theme, density) {
44
+ @include density($theme);
53
45
  }
54
- @if $typography != null {
55
- @include typography($typography);
46
+ @if inspection.theme-has($theme, typography) {
47
+ @include typography($theme);
56
48
  }
57
49
  }
58
50
  }
@@ -12,7 +12,7 @@
12
12
  @use '../core/tokens/m2/mdc/list' as tokens-mdc-list;
13
13
  @use '../core/typography/typography';
14
14
 
15
- @mixin base($config-or-theme) {
15
+ @mixin base($theme) {
16
16
  // Add default values for tokens not related to color, typography, or density.
17
17
  @include sass-utils.current-selector-or-root() {
18
18
  @include mdc-list-theme.theme(tokens-mdc-list.get-unthemable-tokens());
@@ -2,44 +2,35 @@
2
2
  @use '../core/style/sass-utils';
3
3
  @use '../core/tokens/token-utils';
4
4
  @use '../core/theming/theming';
5
+ @use '../core/theming/inspection';
5
6
  @use '../core/typography/typography';
6
7
 
7
-
8
- @mixin color($config-or-theme) {
9
- $config: theming.get-color-config($config-or-theme);
10
-
8
+ @mixin color($theme) {
11
9
  @include sass-utils.current-selector-or-root() {
12
10
  @include token-utils.create-token-values(tokens-mat-menu.$prefix,
13
- tokens-mat-menu.get-color-tokens($config));
11
+ tokens-mat-menu.get-color-tokens($theme));
14
12
  }
15
13
  }
16
14
 
17
- @mixin typography($config-or-theme) {
18
- $config: typography.private-typography-to-2018-config(
19
- theming.get-typography-config($config-or-theme));
15
+ @mixin typography($theme) {
20
16
  @include sass-utils.current-selector-or-root() {
21
17
  @include token-utils.create-token-values(tokens-mat-menu.$prefix,
22
- tokens-mat-menu.get-typography-tokens($config));
18
+ tokens-mat-menu.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-menu') {
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
  }
package/menu/index.d.ts CHANGED
@@ -1,15 +1,10 @@
1
- import { _AbstractConstructor } from '@angular/material/core';
2
1
  import { AfterContentInit } from '@angular/core';
3
2
  import { AfterViewInit } from '@angular/core';
4
3
  import { AnimationEvent as AnimationEvent_2 } from '@angular/animations';
5
4
  import { AnimationTriggerMetadata } from '@angular/animations';
6
5
  import { ApplicationRef } from '@angular/core';
7
- import { BooleanInput } from '@angular/cdk/coercion';
8
- import { CanDisable } from '@angular/material/core';
9
- import { CanDisableRipple } from '@angular/material/core';
10
6
  import { ChangeDetectorRef } from '@angular/core';
11
7
  import { ComponentFactoryResolver } from '@angular/core';
12
- import { _Constructor } from '@angular/material/core';
13
8
  import { Direction } from '@angular/cdk/bidi';
14
9
  import { Directionality } from '@angular/cdk/bidi';
15
10
  import { ElementRef } from '@angular/core';
@@ -166,13 +161,9 @@ export declare class MatMenu implements AfterContentInit, MatMenuPanel<MatMenuIt
166
161
  */
167
162
  lazyContent: MatMenuContent;
168
163
  /** Whether the menu should overlap its trigger. */
169
- get overlapTrigger(): boolean;
170
- set overlapTrigger(value: BooleanInput);
171
- private _overlapTrigger;
164
+ overlapTrigger: boolean;
172
165
  /** Whether the menu has a backdrop. */
173
- get hasBackdrop(): boolean | undefined;
174
- set hasBackdrop(value: BooleanInput);
175
- private _hasBackdrop;
166
+ hasBackdrop?: boolean;
176
167
  /**
177
168
  * This method takes classes set on the host mat-menu element and applies them on the
178
169
  * menu template that displays in the overlay container. Otherwise, it's difficult
@@ -259,6 +250,8 @@ export declare class MatMenu implements AfterContentInit, MatMenuPanel<MatMenuIt
259
250
  private _updateDirectDescendants;
260
251
  static ɵfac: i0.ɵɵFactoryDeclaration<MatMenu, never>;
261
252
  static ɵcmp: i0.ɵɵComponentDeclaration<MatMenu, "mat-menu", ["matMenu"], { "backdropClass": { "alias": "backdropClass"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; }; "ariaDescribedby": { "alias": "aria-describedby"; "required": false; }; "xPosition": { "alias": "xPosition"; "required": false; }; "yPosition": { "alias": "yPosition"; "required": false; }; "overlapTrigger": { "alias": "overlapTrigger"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "panelClass": { "alias": "class"; "required": false; }; "classList": { "alias": "classList"; "required": false; }; }, { "closed": "closed"; "close": "close"; }, ["lazyContent", "_allItems", "items"], ["*"], false, never>;
253
+ static ngAcceptInputType_overlapTrigger: unknown;
254
+ static ngAcceptInputType_hasBackdrop: any;
262
255
  }
263
256
 
264
257
  /**
@@ -325,7 +318,7 @@ export declare interface MatMenuDefaultOptions {
325
318
  /**
326
319
  * Single item inside a `mat-menu`. Provides the menu item styling and accessibility treatment.
327
320
  */
328
- export declare class MatMenuItem extends _MatMenuItemBase implements FocusableOption, CanDisable, CanDisableRipple, AfterViewInit, OnDestroy {
321
+ export declare class MatMenuItem implements FocusableOption, AfterViewInit, OnDestroy {
329
322
  private _elementRef;
330
323
  private _document?;
331
324
  private _focusMonitor?;
@@ -333,6 +326,10 @@ export declare class MatMenuItem extends _MatMenuItemBase implements FocusableOp
333
326
  private _changeDetectorRef?;
334
327
  /** ARIA role for the menu item. */
335
328
  role: 'menuitem' | 'menuitemradio' | 'menuitemcheckbox';
329
+ /** Whether the menu item is disabled. */
330
+ disabled: boolean;
331
+ /** Whether ripples are disabled on the menu item. */
332
+ disableRipple: boolean;
336
333
  /** Stream that emits when the menu item is hovered. */
337
334
  readonly _hovered: Subject<MatMenuItem>;
338
335
  /** Stream that emits when the menu item is focused. */
@@ -365,14 +362,11 @@ export declare class MatMenuItem extends _MatMenuItemBase implements FocusableOp
365
362
  _setTriggersSubmenu(triggersSubmenu: boolean): void;
366
363
  _hasFocus(): boolean;
367
364
  static ɵfac: i0.ɵɵFactoryDeclaration<MatMenuItem, [null, null, null, { optional: true; }, null]>;
368
- static ɵcmp: i0.ɵɵComponentDeclaration<MatMenuItem, "[mat-menu-item]", ["matMenuItem"], { "disabled": { "alias": "disabled"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "role": { "alias": "role"; "required": false; }; }, {}, never, ["mat-icon, [matMenuItemIcon]", "*"], false, never>;
365
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatMenuItem, "[mat-menu-item]", ["matMenuItem"], { "role": { "alias": "role"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; }, {}, never, ["mat-icon, [matMenuItemIcon]", "*"], false, never>;
366
+ static ngAcceptInputType_disabled: unknown;
367
+ static ngAcceptInputType_disableRipple: unknown;
369
368
  }
370
369
 
371
- /** @docs-private */
372
- declare const _MatMenuItemBase: _Constructor<CanDisableRipple> & _AbstractConstructor<CanDisableRipple> & _Constructor<CanDisable> & _AbstractConstructor<CanDisable> & {
373
- new (): {};
374
- };
375
-
376
370
  export declare class MatMenuModule {
377
371
  static ɵfac: i0.ɵɵFactoryDeclaration<MatMenuModule, never>;
378
372
  static ɵmod: i0.ɵɵNgModuleDeclaration<MatMenuModule, [typeof i1.MatMenu, typeof i2.MatMenuItem, typeof i3.MatMenuContent, typeof i4.MatMenuTrigger], [typeof i5.CommonModule, typeof i6.MatRippleModule, typeof i6.MatCommonModule, typeof i7.OverlayModule], [typeof i8.CdkScrollableModule, typeof i1.MatMenu, typeof i6.MatCommonModule, typeof i2.MatMenuItem, typeof i3.MatMenuContent, typeof i4.MatMenuTrigger]>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/material",
3
- "version": "17.0.0-next.1",
3
+ "version": "17.0.0-next.3",
4
4
  "description": "Angular Material",
5
5
  "repository": {
6
6
  "type": "git",
@@ -478,7 +478,7 @@
478
478
  },
479
479
  "peerDependencies": {
480
480
  "@angular/animations": "^17.0.0-0 || ^17.1.0-0 || ^17.2.0-0 || ^17.3.0-0 || ^18.0.0-0",
481
- "@angular/cdk": "17.0.0-next.1",
481
+ "@angular/cdk": "17.0.0-next.3",
482
482
  "@angular/core": "^17.0.0-0 || ^17.1.0-0 || ^17.2.0-0 || ^17.3.0-0 || ^18.0.0-0",
483
483
  "@angular/common": "^17.0.0-0 || ^17.1.0-0 || ^17.2.0-0 || ^17.3.0-0 || ^18.0.0-0",
484
484
  "@angular/forms": "^17.0.0-0 || ^17.1.0-0 || ^17.2.0-0 || ^17.3.0-0 || ^18.0.0-0",