@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
@@ -1,77 +1,68 @@
1
- @use 'sass:map';
2
1
  @use '../core/theming/theming';
2
+ @use '../core/theming/inspection';
3
3
  @use '../core/typography/typography';
4
4
  @use '../core/tokens/m2/mat/toolbar' as tokens-mat-toolbar;
5
5
  @use '../core/tokens/token-utils';
6
6
  @use '../core/style/sass-utils';
7
7
 
8
- @mixin _palette-styles($palette) {
8
+ @mixin _palette-styles($theme, $palette-name) {
9
9
  @include token-utils.create-token-values(
10
10
  tokens-mat-toolbar.$prefix,
11
11
  tokens-mat-toolbar.private-get-color-palette-color-tokens(
12
- $background-color: theming.get-color-from-palette($palette),
13
- $text-color: theming.get-color-from-palette($palette, default-contrast)
12
+ $background-color: inspection.get-theme-color($theme, $palette-name),
13
+ $text-color: inspection.get-theme-color($theme, $palette-name, default-contrast)
14
14
  )
15
15
  );
16
16
  }
17
17
 
18
- @mixin color($config-or-theme) {
19
- $config: theming.get-color-config($config-or-theme);
20
-
18
+ @mixin color($theme) {
21
19
  @include sass-utils.current-selector-or-root() {
22
20
  @include token-utils.create-token-values(tokens-mat-toolbar.$prefix,
23
- tokens-mat-toolbar.get-color-tokens($config));
21
+ tokens-mat-toolbar.get-color-tokens($theme));
24
22
  }
25
23
 
26
24
  .mat-toolbar {
27
25
  &.mat-primary {
28
- @include _palette-styles(map.get($config, primary));
26
+ @include _palette-styles($theme, primary);
29
27
  }
30
28
 
31
29
  &.mat-accent {
32
- @include _palette-styles(map.get($config, accent));
30
+ @include _palette-styles($theme, accent);
33
31
  }
34
32
 
35
33
  &.mat-warn {
36
- @include _palette-styles(map.get($config, warn));
34
+ @include _palette-styles($theme, warn);
37
35
  }
38
36
  }
39
37
  }
40
38
 
41
- @mixin typography($config-or-theme) {
42
- $config: typography.private-typography-to-2014-config(
43
- theming.get-typography-config($config-or-theme));
39
+ @mixin typography($theme) {
40
+ // TODO(mmalerba): Stop calling this and resolve resulting screen diffs.
41
+ $theme: inspection.private-get-typography-back-compat-theme($theme);
44
42
 
45
43
  @include sass-utils.current-selector-or-root() {
46
44
  @include token-utils.create-token-values(tokens-mat-toolbar.$prefix,
47
- tokens-mat-toolbar.get-typography-tokens($config));
45
+ tokens-mat-toolbar.get-typography-tokens($theme));
48
46
  }
49
47
  }
50
48
 
51
- @mixin density($config-or-theme) {
52
- $density-scale: theming.get-density-config($config-or-theme);
53
-
49
+ @mixin density($theme) {
54
50
  @include sass-utils.current-selector-or-root() {
55
51
  @include token-utils.create-token-values(tokens-mat-toolbar.$prefix,
56
- tokens-mat-toolbar.get-density-tokens($density-scale));
52
+ tokens-mat-toolbar.get-density-tokens($theme));
57
53
  }
58
54
  }
59
55
 
60
- @mixin theme($theme-or-color-config) {
61
- $theme: theming.private-legacy-get-theme($theme-or-color-config);
56
+ @mixin theme($theme) {
62
57
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-toolbar') {
63
- $color: theming.get-color-config($theme);
64
- $density: theming.get-density-config($theme);
65
- $typography: theming.get-typography-config($theme);
66
-
67
- @if $color != null {
68
- @include color($color);
58
+ @if inspection.theme-has($theme, color) {
59
+ @include color($theme);
69
60
  }
70
- @if $density != null {
71
- @include density($density);
61
+ @if inspection.theme-has($theme, density) {
62
+ @include density($theme);
72
63
  }
73
- @if $typography != null {
74
- @include typography($typography);
64
+ @if inspection.theme-has($theme, typography) {
65
+ @include typography($theme);
75
66
  }
76
67
  }
77
68
  }
@@ -1,19 +1,19 @@
1
1
  @use '@material/tooltip/plain-tooltip-theme' as mdc-plain-tooltip-theme;
2
2
  @use '../core/style/sass-utils';
3
3
  @use '../core/theming/theming';
4
+ @use '../core/theming/inspection';
4
5
  @use '../core/typography/typography';
5
6
  @use '../core/tokens/m2/mdc/plain-tooltip' as m2-mdc-plain-tooltip;
6
7
 
7
- @mixin base($config-or-theme) {
8
+ @mixin base($theme) {
8
9
  // Add default values for tokens not related to color, typography, or density.
9
10
  @include sass-utils.current-selector-or-root() {
10
11
  @include mdc-plain-tooltip-theme.theme(m2-mdc-plain-tooltip.get-unthemable-tokens());
11
12
  }
12
13
  }
13
14
 
14
- @mixin color($config-or-theme) {
15
- $config: theming.get-color-config($config-or-theme);
16
- $mdc-tooltip-color-tokens: m2-mdc-plain-tooltip.get-color-tokens($config);
15
+ @mixin color($theme) {
16
+ $mdc-tooltip-color-tokens: m2-mdc-plain-tooltip.get-color-tokens($theme);
17
17
 
18
18
  // Add values for MDC tooltip tokens.
19
19
  @include sass-utils.current-selector-or-root() {
@@ -21,10 +21,8 @@
21
21
  }
22
22
  }
23
23
 
24
- @mixin typography($config-or-theme) {
25
- $config: typography.private-typography-to-2018-config(
26
- theming.get-typography-config($config-or-theme));
27
- $mdc-tooltip-typography-tokens: m2-mdc-plain-tooltip.get-typography-tokens($config);
24
+ @mixin typography($theme) {
25
+ $mdc-tooltip-typography-tokens: m2-mdc-plain-tooltip.get-typography-tokens($theme);
28
26
 
29
27
  // Add values for MDC tooltip tokens.
30
28
  @include sass-utils.current-selector-or-root() {
@@ -32,9 +30,8 @@
32
30
  }
33
31
  }
34
32
 
35
- @mixin density($config-or-theme) {
36
- $density-scale: theming.get-density-config($config-or-theme);
37
- $mdc-tooltip-density-tokens: m2-mdc-plain-tooltip.get-density-tokens($density-scale);
33
+ @mixin density($theme) {
34
+ $mdc-tooltip-density-tokens: m2-mdc-plain-tooltip.get-density-tokens($theme);
38
35
 
39
36
  // Add values for MDC tooltip tokens.
40
37
  @include sass-utils.current-selector-or-root() {
@@ -42,22 +39,17 @@
42
39
  }
43
40
  }
44
41
 
45
- @mixin theme($theme-or-color-config) {
46
- $theme: theming.private-legacy-get-theme($theme-or-color-config);
42
+ @mixin theme($theme) {
47
43
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-tooltip') {
48
- $color: theming.get-color-config($theme);
49
- $density: theming.get-density-config($theme);
50
- $typography: theming.get-typography-config($theme);
51
-
52
44
  @include base($theme);
53
- @if $color != null {
54
- @include color($color);
45
+ @if inspection.theme-has($theme, color) {
46
+ @include color($theme);
55
47
  }
56
- @if $density != null {
57
- @include density($density);
48
+ @if inspection.theme-has($theme, density) {
49
+ @include density($theme);
58
50
  }
59
- @if $typography != null {
60
- @include typography($typography);
51
+ @if inspection.theme-has($theme, typography) {
52
+ @include typography($theme);
61
53
  }
62
54
  }
63
55
  }
@@ -1,41 +1,37 @@
1
- @use 'sass:map';
2
1
  @use '../core/density/private/compatibility';
3
2
  @use '../core/theming/theming';
3
+ @use '../core/theming/inspection';
4
4
  @use '../core/typography/typography';
5
- @use '../core/typography/typography-utils';
6
5
  @use './tree-variables';
7
6
 
8
- @mixin color($config-or-theme) {
9
- $config: theming.get-color-config($config-or-theme);
10
- $background: map.get($config, background);
11
- $foreground: map.get($config, foreground);
12
-
7
+ @mixin color($theme) {
13
8
  .mat-tree {
14
- background: theming.get-color-from-palette($background, 'card');
9
+ background: inspection.get-theme-color($theme, background, card);
15
10
  }
16
11
 
17
12
  .mat-tree-node,
18
13
  .mat-nested-tree-node {
19
- color: theming.get-color-from-palette($foreground, text);
14
+ color: inspection.get-theme-color($theme, foreground, text);
20
15
  }
21
16
  }
22
17
 
23
- @mixin typography($config-or-theme) {
24
- $config: typography.private-typography-to-2014-config(
25
- theming.get-typography-config($config-or-theme));
18
+ @mixin typography($theme) {
19
+ // TODO(mmalerba): Stop calling this and resolve resulting screen diffs.
20
+ $theme: inspection.private-get-typography-back-compat-theme($theme);
21
+
26
22
  .mat-tree {
27
- font-family: typography-utils.font-family($config);
23
+ font-family: inspection.get-theme-typography($theme, body-2, font-family);
28
24
  }
29
25
 
30
26
  .mat-tree-node,
31
27
  .mat-nested-tree-node {
32
- font-weight: typography-utils.font-weight($config, body-1);
33
- font-size: typography-utils.font-size($config, body-1);
28
+ font-weight: inspection.get-theme-typography($theme, body-2, font-weight);
29
+ font-size: inspection.get-theme-typography($theme, body-2, font-size);
34
30
  }
35
31
  }
36
32
 
37
- @mixin density($config-or-theme) {
38
- $density-scale: theming.get-density-config($config-or-theme);
33
+ @mixin density($theme) {
34
+ $density-scale: inspection.get-theme-density($theme);
39
35
  $height: compatibility.private-density-prop-value(tree-variables.$density-config,
40
36
  $density-scale, height);
41
37
 
@@ -46,21 +42,16 @@
46
42
  }
47
43
  }
48
44
 
49
- @mixin theme($theme-or-color-config) {
50
- $theme: theming.private-legacy-get-theme($theme-or-color-config);
45
+ @mixin theme($theme) {
51
46
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-tree') {
52
- $color: theming.get-color-config($theme);
53
- $density: theming.get-density-config($theme);
54
- $typography: theming.get-typography-config($theme);
55
-
56
- @if $color != null {
57
- @include color($color);
47
+ @if inspection.theme-has($theme, color) {
48
+ @include color($theme);
58
49
  }
59
- @if $density != null {
60
- @include density($density);
50
+ @if inspection.theme-has($theme, density) {
51
+ @include density($theme);
61
52
  }
62
- @if $typography != null {
63
- @include typography($typography);
53
+ @if inspection.theme-has($theme, typography) {
54
+ @include typography($theme);
64
55
  }
65
56
  }
66
57
  }
@@ -1,39 +0,0 @@
1
- @use 'typography';
2
-
3
- // @deprecated Use `define-typography-level`.
4
- @function level(
5
- $font-size,
6
- $line-height: $font-size,
7
- $font-weight: 400,
8
- $font-family: null,
9
- $letter-spacing: normal) {
10
- @return typography.define-typography-level($font-size, $line-height, $font-weight, $font-family,
11
- $letter-spacing);
12
- }
13
-
14
- // @deprecated Use `typography-hierarchy`.
15
- @mixin base-typography($config-or-theme, $selector: '.mat-typography') {
16
- @include typography.legacy-typography-hierarchy($config-or-theme, $selector);
17
- }
18
-
19
- // @deprecated Use `define-typography-config`.
20
- @function config(
21
- $font-family: 'Roboto, "Helvetica Neue", sans-serif',
22
- $display-4: typography.define-typography-level(112px, 112px, 300, $letter-spacing: -0.05em),
23
- $display-3: typography.define-typography-level(56px, 56px, 400, $letter-spacing: -0.02em),
24
- $display-2: typography.define-typography-level(45px, 48px, 400, $letter-spacing: -0.005em),
25
- $display-1: typography.define-typography-level(34px, 40px, 400),
26
- $headline: typography.define-typography-level(24px, 32px, 400),
27
- $title: typography.define-typography-level(20px, 32px, 500),
28
- $subheading-2: typography.define-typography-level(16px, 28px, 400),
29
- $subheading-1: typography.define-typography-level(15px, 24px, 400),
30
- $body-2: typography.define-typography-level(14px, 24px, 500),
31
- $body-1: typography.define-typography-level(14px, 20px, 400),
32
- $caption: typography.define-typography-level(12px, 20px, 400),
33
- $button: typography.define-typography-level(14px, 14px, 500),
34
- $input: typography.define-typography-level(inherit, 1.125, 400)
35
- ) {
36
- @return typography.define-legacy-typography-config($font-family, $display-4, $display-3,
37
- $display-2, $display-1, $headline, $title, $subheading-2, $subheading-1, $body-2,
38
- $body-1, $caption, $button, $input);
39
- }