@angular/material 20.1.0-next.2 → 20.1.0

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 (214) hide show
  1. package/autocomplete/_autocomplete-theme.scss +4 -4
  2. package/autocomplete/_m2-autocomplete.scss +10 -22
  3. package/badge/_badge-theme.scss +4 -4
  4. package/badge/_m2-badge.scss +49 -63
  5. package/bottom-sheet/_bottom-sheet-theme.scss +4 -4
  6. package/bottom-sheet/_m2-bottom-sheet.scss +16 -30
  7. package/button/_button-theme.scss +4 -4
  8. package/button/_fab-theme.scss +4 -4
  9. package/button/_icon-button-theme.scss +10 -8
  10. package/button/_m2-button.scss +135 -154
  11. package/button/_m2-fab.scss +60 -69
  12. package/button/_m2-icon-button.scss +30 -50
  13. package/button/_m3-button.scss +1 -2
  14. package/button/_m3-fab.scss +1 -2
  15. package/button/_m3-icon-button.scss +1 -2
  16. package/button-toggle/_button-toggle-theme.scss +4 -4
  17. package/button-toggle/_m2-button-toggle.scss +58 -75
  18. package/button-toggle/_m3-button-toggle.scss +1 -2
  19. package/card/_card-theme.scss +4 -4
  20. package/card/_m2-card.scss +30 -43
  21. package/checkbox/_checkbox-theme.scss +10 -8
  22. package/checkbox/_m2-checkbox.scss +30 -41
  23. package/checkbox/_m3-checkbox.scss +1 -2
  24. package/chips/_chips-theme.scss +10 -7
  25. package/chips/_m2-chip.scss +40 -54
  26. package/chips/_m3-chip.scss +1 -2
  27. package/core/_core-theme.scss +4 -4
  28. package/core/_m2-app.scss +11 -23
  29. package/core/m2/_theming.scss +8 -4
  30. package/core/option/_m2-optgroup.scss +13 -25
  31. package/core/option/_m2-option.scss +16 -23
  32. package/core/option/_optgroup-theme.scss +4 -4
  33. package/core/option/_option-theme.scss +6 -6
  34. package/core/ripple/_m2-ripple.scss +8 -20
  35. package/core/ripple/_ripple-theme.scss +4 -4
  36. package/core/selection/pseudo-checkbox/_m2-pseudo-checkbox.scss +14 -21
  37. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +8 -8
  38. package/core/theming/_definition.scss +3 -1
  39. package/core/tokens/_m2-utils.scss +14 -6
  40. package/core/tokens/m3/_theme.scss +1 -1
  41. package/datepicker/_datepicker-theme.scss +6 -6
  42. package/datepicker/_m2-datepicker.scss +26 -33
  43. package/dialog/_dialog-theme.scss +4 -4
  44. package/dialog/_m2-dialog.scss +34 -46
  45. package/divider/_divider-theme.scss +4 -4
  46. package/divider/_m2-divider.scss +10 -21
  47. package/expansion/_expansion-theme.scss +4 -4
  48. package/expansion/_m2-expansion.scss +51 -67
  49. package/expansion/_m3-expansion.scss +1 -2
  50. package/fesm2022/animation-DfMFjxHu.mjs.map +1 -1
  51. package/fesm2022/autocomplete/testing.mjs.map +1 -1
  52. package/fesm2022/autocomplete.mjs.map +1 -1
  53. package/fesm2022/badge/testing.mjs.map +1 -1
  54. package/fesm2022/badge.mjs.map +1 -1
  55. package/fesm2022/bottom-sheet/testing.mjs.map +1 -1
  56. package/fesm2022/bottom-sheet.mjs.map +1 -1
  57. package/fesm2022/button/testing.mjs.map +1 -1
  58. package/fesm2022/button-toggle/testing.mjs.map +1 -1
  59. package/fesm2022/button-toggle.mjs.map +1 -1
  60. package/fesm2022/button.mjs.map +1 -1
  61. package/fesm2022/card/testing.mjs.map +1 -1
  62. package/fesm2022/card.mjs.map +1 -1
  63. package/fesm2022/checkbox/testing.mjs.map +1 -1
  64. package/fesm2022/checkbox.mjs.map +1 -1
  65. package/fesm2022/chips/testing.mjs.map +1 -1
  66. package/fesm2022/chips.mjs.map +1 -1
  67. package/fesm2022/common-module-cKSwHniA.mjs.map +1 -1
  68. package/fesm2022/core/testing.mjs.map +1 -1
  69. package/fesm2022/core.mjs +1 -1
  70. package/fesm2022/core.mjs.map +1 -1
  71. package/fesm2022/date-formats-K6TQue-Y.mjs.map +1 -1
  72. package/fesm2022/date-range-input-harness-DEyfkeOs.mjs.map +1 -1
  73. package/fesm2022/datepicker/testing.mjs.map +1 -1
  74. package/fesm2022/datepicker.mjs.map +1 -1
  75. package/fesm2022/dialog/testing.mjs.map +1 -1
  76. package/fesm2022/dialog.mjs.map +1 -1
  77. package/fesm2022/divider/testing.mjs.map +1 -1
  78. package/fesm2022/divider.mjs.map +1 -1
  79. package/fesm2022/error-options-DCNQlTOA.mjs.map +1 -1
  80. package/fesm2022/error-state-Dtb1IHM-.mjs.map +1 -1
  81. package/fesm2022/expansion/testing.mjs.map +1 -1
  82. package/fesm2022/expansion.mjs.map +1 -1
  83. package/fesm2022/form-field/testing/control.mjs.map +1 -1
  84. package/fesm2022/form-field/testing.mjs.map +1 -1
  85. package/fesm2022/form-field-CFbrnFED.mjs.map +1 -1
  86. package/fesm2022/form-field.mjs.map +1 -1
  87. package/fesm2022/grid-list/testing.mjs.map +1 -1
  88. package/fesm2022/grid-list.mjs.map +1 -1
  89. package/fesm2022/icon/testing.mjs.map +1 -1
  90. package/fesm2022/icon-button-DxiIc1ex.mjs.map +1 -1
  91. package/fesm2022/icon-registry-CwOTJ7YM.mjs.map +1 -1
  92. package/fesm2022/icon.mjs.map +1 -1
  93. package/fesm2022/index-BFRo2fUq.mjs.map +1 -1
  94. package/fesm2022/index-DwiL-HGk.mjs.map +1 -1
  95. package/fesm2022/input/testing.mjs.map +1 -1
  96. package/fesm2022/input-harness-C5Msdc4-.mjs.map +1 -1
  97. package/fesm2022/input-value-accessor-D1GvPuqO.mjs.map +1 -1
  98. package/fesm2022/input.mjs.map +1 -1
  99. package/fesm2022/internal-form-field-D5iFxU6d.mjs.map +1 -1
  100. package/fesm2022/line-Bz5f9Cyx.mjs.map +1 -1
  101. package/fesm2022/list/testing.mjs.map +1 -1
  102. package/fesm2022/list.mjs.map +1 -1
  103. package/fesm2022/material.mjs.map +1 -1
  104. package/fesm2022/menu/testing.mjs.map +1 -1
  105. package/fesm2022/menu.mjs.map +1 -1
  106. package/fesm2022/module-B0CLRw5e.mjs.map +1 -1
  107. package/fesm2022/module-B62K-792.mjs.map +1 -1
  108. package/fesm2022/module-CWxMD37a.mjs.map +1 -1
  109. package/fesm2022/module-Ce6F7TNm.mjs.map +1 -1
  110. package/fesm2022/option-BzhYL_xC.mjs.map +1 -1
  111. package/fesm2022/option-harness-BFcc-M_4.mjs.map +1 -1
  112. package/fesm2022/paginator/testing.mjs.map +1 -1
  113. package/fesm2022/paginator.mjs.map +1 -1
  114. package/fesm2022/progress-bar/testing.mjs.map +1 -1
  115. package/fesm2022/progress-bar.mjs.map +1 -1
  116. package/fesm2022/progress-spinner/testing.mjs.map +1 -1
  117. package/fesm2022/progress-spinner.mjs.map +1 -1
  118. package/fesm2022/pseudo-checkbox-DDmgx3P4.mjs.map +1 -1
  119. package/fesm2022/pseudo-checkbox-module-4F8Up4PL.mjs.map +1 -1
  120. package/fesm2022/public-api-BoO5eSq-.mjs.map +1 -1
  121. package/fesm2022/radio/testing.mjs.map +1 -1
  122. package/fesm2022/radio.mjs.map +1 -1
  123. package/fesm2022/ripple-BYgV4oZC.mjs.map +1 -1
  124. package/fesm2022/ripple-loader-BnMiRtmT.mjs.map +1 -1
  125. package/fesm2022/select/testing.mjs.map +1 -1
  126. package/fesm2022/select.mjs.map +1 -1
  127. package/fesm2022/sidenav/testing.mjs.map +1 -1
  128. package/fesm2022/sidenav.mjs +2 -4
  129. package/fesm2022/sidenav.mjs.map +1 -1
  130. package/fesm2022/slide-toggle/testing.mjs.map +1 -1
  131. package/fesm2022/slide-toggle.mjs.map +1 -1
  132. package/fesm2022/slider/testing.mjs.map +1 -1
  133. package/fesm2022/slider.mjs.map +1 -1
  134. package/fesm2022/snack-bar/testing.mjs.map +1 -1
  135. package/fesm2022/snack-bar.mjs.map +1 -1
  136. package/fesm2022/sort/testing.mjs.map +1 -1
  137. package/fesm2022/sort.mjs.map +1 -1
  138. package/fesm2022/stepper/testing.mjs.map +1 -1
  139. package/fesm2022/stepper.mjs.map +1 -1
  140. package/fesm2022/structural-styles-CObeNzjn.mjs.map +1 -1
  141. package/fesm2022/table/testing.mjs.map +1 -1
  142. package/fesm2022/table.mjs.map +1 -1
  143. package/fesm2022/tabs/testing.mjs.map +1 -1
  144. package/fesm2022/tabs.mjs +4 -4
  145. package/fesm2022/tabs.mjs.map +1 -1
  146. package/fesm2022/timepicker/testing.mjs.map +1 -1
  147. package/fesm2022/timepicker.mjs.map +1 -1
  148. package/fesm2022/toolbar/testing.mjs.map +1 -1
  149. package/fesm2022/toolbar.mjs.map +1 -1
  150. package/fesm2022/tooltip/testing.mjs.map +1 -1
  151. package/fesm2022/tooltip.mjs.map +1 -1
  152. package/fesm2022/tree/testing.mjs.map +1 -1
  153. package/fesm2022/tree.mjs.map +1 -1
  154. package/form-field/_form-field-theme.scss +4 -4
  155. package/form-field/_m2-form-field.scss +125 -138
  156. package/form-field/_m3-form-field.scss +1 -2
  157. package/grid-list/_grid-list-theme.scss +4 -4
  158. package/grid-list/_m2-grid-list.scss +14 -25
  159. package/icon/_icon-theme.scss +4 -4
  160. package/icon/_m2-icon.scss +7 -21
  161. package/list/_list-theme.scss +14 -12
  162. package/list/_m2-list.scss +84 -98
  163. package/list/_m3-list.scss +1 -2
  164. package/menu/_m2-menu.scss +33 -46
  165. package/menu/_menu-theme.scss +4 -4
  166. package/package.json +6 -6
  167. package/paginator/_m2-paginator.scss +38 -57
  168. package/paginator/_m3-paginator.scss +1 -2
  169. package/paginator/_paginator-theme.scss +4 -4
  170. package/prebuilt-themes/deeppurple-amber.css +1 -1
  171. package/prebuilt-themes/indigo-pink.css +1 -1
  172. package/prebuilt-themes/pink-bluegrey.css +1 -1
  173. package/prebuilt-themes/purple-green.css +1 -1
  174. package/progress-bar/_m2-progress-bar.scss +11 -24
  175. package/progress-bar/_progress-bar-theme.scss +6 -6
  176. package/progress-spinner/_m2-progress-spinner.scss +9 -20
  177. package/progress-spinner/_progress-spinner-theme.scss +6 -6
  178. package/radio/_m2-radio.scss +30 -41
  179. package/radio/_m3-radio.scss +1 -2
  180. package/radio/_radio-theme.scss +6 -6
  181. package/schematics/ng-add/index.js +2 -2
  182. package/schematics/ng-generate/theme-color/schema.json +1 -1
  183. package/select/_m2-select.scss +23 -31
  184. package/select/_m3-select.scss +1 -2
  185. package/select/_select-theme.scss +6 -6
  186. package/sidenav/_m2-sidenav.scss +26 -36
  187. package/sidenav/_sidenav-theme.scss +4 -4
  188. package/slide-toggle/_m2-slide-toggle.scss +94 -113
  189. package/slide-toggle/_slide-toggle-theme.scss +6 -6
  190. package/slider/_m2-slider.scss +34 -52
  191. package/slider/_slider-theme.scss +4 -4
  192. package/snack-bar/_m2-snack-bar.scss +16 -36
  193. package/snack-bar/_snack-bar-theme.scss +4 -4
  194. package/sort/_m2-sort.scss +7 -18
  195. package/sort/_sort-theme.scss +4 -4
  196. package/stepper/_m2-stepper.scss +39 -54
  197. package/stepper/_m3-stepper.scss +1 -2
  198. package/stepper/_stepper-theme.scss +4 -4
  199. package/table/_m2-table.scss +54 -65
  200. package/table/_m3-table.scss +1 -2
  201. package/table/_table-theme.scss +4 -4
  202. package/tabs/_m2-tabs.scss +31 -47
  203. package/tabs/_m3-tabs.scss +1 -2
  204. package/tabs/_tabs-theme.scss +9 -9
  205. package/timepicker/_m2-timepicker.scss +10 -22
  206. package/timepicker/_timepicker-theme.scss +4 -4
  207. package/toolbar/_m2-toolbar.scss +26 -45
  208. package/toolbar/_m3-toolbar.scss +1 -2
  209. package/toolbar/_toolbar-theme.scss +4 -4
  210. package/tooltip/_m2-tooltip.scss +16 -33
  211. package/tooltip/_tooltip-theme.scss +4 -4
  212. package/tree/_m2-tree.scss +21 -39
  213. package/tree/_m3-tree.scss +1 -2
  214. package/tree/_tree-theme.scss +4 -4
@@ -9,7 +9,7 @@
9
9
  /// for the mat-button-toggle.
10
10
  /// @param {Map} $theme The theme to generate base styles for.
11
11
  @mixin base($theme) {
12
- $tokens: m2-button-toggle.get-unthemable-tokens($theme);
12
+ $tokens: map.get(m2-button-toggle.get-tokens($theme), base);
13
13
  @if inspection.get-theme-version($theme) == 1 {
14
14
  $tokens: map.get(m3-button-toggle.get-tokens($theme), base);
15
15
  }
@@ -22,7 +22,7 @@
22
22
  /// @param {String} $color-variant: The color variant to use for the button toggle: primary,
23
23
  /// secondary, tertiary, or error (If not specified, default secondary color will be used).
24
24
  @mixin color($theme, $color-variant: null) {
25
- $tokens: m2-button-toggle.get-color-tokens($theme);
25
+ $tokens: map.get(m2-button-toggle.get-tokens($theme), color);
26
26
  @if inspection.get-theme-version($theme) == 1 {
27
27
  $tokens: map.get(m3-button-toggle.get-tokens($theme, $color-variant), color);
28
28
  }
@@ -33,7 +33,7 @@
33
33
  /// Outputs typography theme styles for the mat-button-toggle.
34
34
  /// @param {Map} $theme The theme to generate typography styles for.
35
35
  @mixin typography($theme) {
36
- $tokens: m2-button-toggle.get-typography-tokens($theme);
36
+ $tokens: map.get(m2-button-toggle.get-tokens($theme), typography);
37
37
  @if inspection.get-theme-version($theme) == 1 {
38
38
  $tokens: map.get(m3-button-toggle.get-tokens($theme), typography);
39
39
  }
@@ -44,7 +44,7 @@
44
44
  /// Outputs density theme styles for the mat-button-toggle.
45
45
  /// @param {Map} $theme The theme to generate density styles for.
46
46
  @mixin density($theme) {
47
- $tokens: m2-button-toggle.get-density-tokens($theme);
47
+ $tokens: map.get(m2-button-toggle.get-tokens($theme), density);
48
48
  @if inspection.get-theme-version($theme) == 1 {
49
49
  $tokens: map.get(m3-button-toggle.get-tokens($theme), density);
50
50
  }
@@ -1,85 +1,68 @@
1
1
  @use 'sass:map';
2
2
  @use '../core/theming/theming';
3
- @use '../core/theming/inspection';
4
3
  @use '../core/tokens/m2-utils';
5
4
  @use '../core/tokens/m3-utils';
6
5
 
7
- // Tokens that can't be configured through Angular Material's current theming API,
8
- // but may be in a future version of the theming API.
9
- @function get-unthemable-tokens($theme) {
6
+ @function get-tokens($theme) {
10
7
  $system: m2-utils.get-system($theme);
11
- @return (
12
- button-toggle-focus-state-layer-opacity: map.get($system, focus-state-layer-opacity),
13
- button-toggle-hover-state-layer-opacity: map.get($system, hover-state-layer-opacity),
14
- button-toggle-legacy-focus-state-layer-opacity: 1,
15
- button-toggle-legacy-height: 36px,
16
- button-toggle-legacy-shape: 2px,
17
- button-toggle-shape: 4px,
18
- );
19
- }
20
-
21
- // Tokens that can be configured through Angular Material's color theming API.
22
- @function get-color-tokens($theme) {
23
- $system: m2-utils.get-system($theme);
24
-
25
- @return (
26
- button-toggle-background-color: map.get($system, surface),
27
- button-toggle-disabled-selected-state-background-color:
28
- m3-utils.color-with-opacity(map.get($system, on-surface), 12%),
29
- button-toggle-disabled-selected-state-text-color:
30
- m3-utils.color-with-opacity(map.get($system, on-surface), 38%),
31
- button-toggle-disabled-state-background-color: map.get($system, surface),
32
- button-toggle-disabled-state-text-color:
33
- m3-utils.color-with-opacity(map.get($system, on-surface), 38%),
34
- button-toggle-divider-color: map.get($system, outline),
35
- button-toggle-legacy-disabled-selected-state-background-color:
36
- m3-utils.color-with-opacity(map.get($system, on-surface), 12%),
37
- button-toggle-legacy-disabled-state-background-color: map.get($system, surface),
38
- button-toggle-legacy-disabled-state-text-color:
39
- m3-utils.color-with-opacity(map.get($system, on-surface), 38%),
40
- button-toggle-legacy-selected-state-background-color:
41
- m3-utils.color-with-opacity(map.get($system, on-surface), 12%),
42
- button-toggle-legacy-selected-state-text-color: map.get($system, on-surface),
43
- button-toggle-legacy-state-layer-color:
44
- m3-utils.color-with-opacity(map.get($system, on-surface), 12%),
45
- button-toggle-legacy-text-color: map.get($system, on-surface),
46
- button-toggle-selected-state-background-color:
47
- m3-utils.color-with-opacity(map.get($system, on-surface), 12%),
48
- button-toggle-selected-state-text-color: map.get($system, on-surface),
49
- button-toggle-state-layer-color: map.get($system, on-surface),
50
- button-toggle-text-color: map.get($system, on-surface),
51
- );
52
- }
53
-
54
- // Tokens that can be configured through Angular Material's typography theming API.
55
- @function get-typography-tokens($theme) {
56
- $system: m2-utils.get-system($theme);
57
- @return (
58
- button-toggle-label-text-font: map.get($system, body-large-font),
59
- button-toggle-label-text-line-height: map.get($system, body-large-line-height),
60
- button-toggle-label-text-size: map.get($system, body-large-size),
61
- button-toggle-label-text-tracking: map.get($system, body-large-tracking),
62
- button-toggle-label-text-weight: map.get($system, body-large-weight),
63
- button-toggle-legacy-label-text-font: map.get($system, body-large-font),
64
- button-toggle-legacy-label-text-line-height: map.get($system, body-large-line-height),
65
- button-toggle-legacy-label-text-size: map.get($system, body-large-size),
66
- button-toggle-legacy-label-text-tracking: map.get($system, body-large-tracking),
67
- button-toggle-legacy-label-text-weight: map.get($system, body-large-weight),
68
- );
69
- }
70
-
71
- // Tokens that can be configured through Angular Material's density theming API.
72
- @function get-density-tokens($theme) {
73
- $density-scale: theming.clamp-density(inspection.get-theme-density($theme), -4);
74
- $size-scale: (
75
- 0: 48px,
76
- -1: 44px,
77
- -2: 40px,
78
- -3: 36px,
79
- -4: 24px,
80
- );
8
+ $density-scale: theming.clamp-density(map.get($system, density-scale), -4);
81
9
 
82
10
  @return (
83
- button-toggle-height: map.get($size-scale, $density-scale)
11
+ base: (
12
+ button-toggle-focus-state-layer-opacity: map.get($system, focus-state-layer-opacity),
13
+ button-toggle-hover-state-layer-opacity: map.get($system, hover-state-layer-opacity),
14
+ button-toggle-legacy-focus-state-layer-opacity: 1,
15
+ button-toggle-legacy-height: 36px,
16
+ button-toggle-legacy-shape: 2px,
17
+ button-toggle-shape: 4px,
18
+ ),
19
+ color: (
20
+ button-toggle-background-color: map.get($system, surface),
21
+ button-toggle-disabled-selected-state-background-color:
22
+ m3-utils.color-with-opacity(map.get($system, on-surface), 12%),
23
+ button-toggle-disabled-selected-state-text-color:
24
+ m3-utils.color-with-opacity(map.get($system, on-surface), 38%),
25
+ button-toggle-disabled-state-background-color: map.get($system, surface),
26
+ button-toggle-disabled-state-text-color:
27
+ m3-utils.color-with-opacity(map.get($system, on-surface), 38%),
28
+ button-toggle-divider-color: map.get($system, outline),
29
+ button-toggle-legacy-disabled-selected-state-background-color:
30
+ m3-utils.color-with-opacity(map.get($system, on-surface), 12%),
31
+ button-toggle-legacy-disabled-state-background-color: map.get($system, surface),
32
+ button-toggle-legacy-disabled-state-text-color:
33
+ m3-utils.color-with-opacity(map.get($system, on-surface), 38%),
34
+ button-toggle-legacy-selected-state-background-color:
35
+ m3-utils.color-with-opacity(map.get($system, on-surface), 12%),
36
+ button-toggle-legacy-selected-state-text-color: map.get($system, on-surface),
37
+ button-toggle-legacy-state-layer-color:
38
+ m3-utils.color-with-opacity(map.get($system, on-surface), 12%),
39
+ button-toggle-legacy-text-color: map.get($system, on-surface),
40
+ button-toggle-selected-state-background-color:
41
+ m3-utils.color-with-opacity(map.get($system, on-surface), 12%),
42
+ button-toggle-selected-state-text-color: map.get($system, on-surface),
43
+ button-toggle-state-layer-color: map.get($system, on-surface),
44
+ button-toggle-text-color: map.get($system, on-surface),
45
+ ),
46
+ typography: (
47
+ button-toggle-label-text-font: map.get($system, body-large-font),
48
+ button-toggle-label-text-line-height: map.get($system, body-large-line-height),
49
+ button-toggle-label-text-size: map.get($system, body-large-size),
50
+ button-toggle-label-text-tracking: map.get($system, body-large-tracking),
51
+ button-toggle-label-text-weight: map.get($system, body-large-weight),
52
+ button-toggle-legacy-label-text-font: map.get($system, body-large-font),
53
+ button-toggle-legacy-label-text-line-height: map.get($system, body-large-line-height),
54
+ button-toggle-legacy-label-text-size: map.get($system, body-large-size),
55
+ button-toggle-legacy-label-text-tracking: map.get($system, body-large-tracking),
56
+ button-toggle-legacy-label-text-weight: map.get($system, body-large-weight),
57
+ ),
58
+ density: (
59
+ button-toggle-height: map.get((
60
+ 0: 48px,
61
+ -1: 44px,
62
+ -2: 40px,
63
+ -3: 36px,
64
+ -4: 24px,
65
+ ), $density-scale)
66
+ ),
84
67
  );
85
68
  }
@@ -2,7 +2,6 @@
2
2
  @use 'sass:list';
3
3
  @use '../core/tokens/m3-utils';
4
4
  @use '../core/theming/theming';
5
- @use '../core/theming/inspection';
6
5
  @use '../core/tokens/m3';
7
6
 
8
7
  /// Generates custom tokens for the mat-button-toggle.
@@ -56,7 +55,7 @@
56
55
  button-toggle-legacy-state-layer-color: null,
57
56
  button-toggle-legacy-text-color: null,
58
57
  ),
59
- density: get-density-tokens(map.get($theme, inspection.$internals, density-scale)),
58
+ density: get-density-tokens(map.get($system, density-scale)),
60
59
  );
61
60
 
62
61
  @return $tokens;
@@ -6,7 +6,7 @@
6
6
  @use './m3-card';
7
7
 
8
8
  @mixin base($theme) {
9
- $tokens: m2-card.get-unthemable-tokens();
9
+ $tokens: map.get(m2-card.get-tokens($theme), base);
10
10
  @if inspection.get-theme-version($theme) == 1 {
11
11
  $tokens: map.get(m3-card.get-tokens($theme), base);
12
12
  }
@@ -15,7 +15,7 @@
15
15
  }
16
16
 
17
17
  @mixin color($theme) {
18
- $tokens: m2-card.get-color-tokens($theme);
18
+ $tokens: map.get(m2-card.get-tokens($theme), color);
19
19
  @if inspection.get-theme-version($theme) == 1 {
20
20
  $tokens: map.get(m3-card.get-tokens($theme), color);
21
21
  }
@@ -24,7 +24,7 @@
24
24
  }
25
25
 
26
26
  @mixin typography($theme) {
27
- $tokens: m2-card.get-typography-tokens($theme);
27
+ $tokens: map.get(m2-card.get-tokens($theme), typography);
28
28
  @if inspection.get-theme-version($theme) == 1 {
29
29
  $tokens: map.get(m3-card.get-tokens($theme), typography);
30
30
  }
@@ -33,7 +33,7 @@
33
33
  }
34
34
 
35
35
  @mixin density($theme) {
36
- $tokens: m2-card.get-density-tokens($theme);
36
+ $tokens: map.get(m2-card.get-tokens($theme), density);
37
37
  @if inspection.get-theme-version($theme) == 1 {
38
38
  $tokens: map.get(m3-card.get-tokens($theme), density);
39
39
  }
@@ -2,51 +2,38 @@
2
2
  @use '../core/tokens/m2-utils';
3
3
  @use 'sass:map';
4
4
 
5
- // Tokens that can't be configured through Angular Material's current theming API,
6
- // but may be in a future version of the theming API.
7
- @function get-unthemable-tokens() {
8
- @return (
9
- card-elevated-container-shape: 4px,
10
- card-outlined-container-shape: 4px,
11
- card-filled-container-shape: 4px,
12
- card-outlined-outline-width: 1px,
13
- );
14
- }
15
-
16
- // Tokens that can be configured through Angular Material's color theming API.
17
- @function get-color-tokens($theme) {
5
+ @function get-tokens($theme) {
18
6
  $system: m2-utils.get-system($theme);
19
7
 
20
8
  @return (
21
- card-elevated-container-color: map.get($system, surface),
22
- card-elevated-container-elevation: elevation.get-box-shadow(1),
23
- card-outlined-container-color: map.get($system, surface),
24
- card-outlined-container-elevation: elevation.get-box-shadow(0),
25
- card-outlined-outline-color: map.get($system, outline),
26
- card-subtitle-text-color: map.get($system, on-surface-variant),
27
- card-filled-container-color: map.get($system, surface),
28
- card-filled-container-elevation: elevation.get-box-shadow(0)
9
+ base: (
10
+ card-elevated-container-shape: 4px,
11
+ card-outlined-container-shape: 4px,
12
+ card-filled-container-shape: 4px,
13
+ card-outlined-outline-width: 1px,
14
+ ),
15
+ color: (
16
+ card-elevated-container-color: map.get($system, surface),
17
+ card-elevated-container-elevation: elevation.get-box-shadow(1),
18
+ card-outlined-container-color: map.get($system, surface),
19
+ card-outlined-container-elevation: elevation.get-box-shadow(0),
20
+ card-outlined-outline-color: map.get($system, outline),
21
+ card-subtitle-text-color: map.get($system, on-surface-variant),
22
+ card-filled-container-color: map.get($system, surface),
23
+ card-filled-container-elevation: elevation.get-box-shadow(0)
24
+ ),
25
+ typography: (
26
+ card-title-text-font: map.get($system, title-small-font),
27
+ card-title-text-line-height: map.get($system, title-small-line-height),
28
+ card-title-text-size: map.get($system, title-small-size),
29
+ card-title-text-tracking: map.get($system, title-small-tracking),
30
+ card-title-text-weight: map.get($system, title-small-weight),
31
+ card-subtitle-text-font: map.get($system, label-medium-font),
32
+ card-subtitle-text-line-height: map.get($system, label-medium-line-height),
33
+ card-subtitle-text-size: map.get($system, label-medium-size),
34
+ card-subtitle-text-tracking: map.get($system, label-medium-tracking),
35
+ card-subtitle-text-weight: map.get($system, label-medium-weight),
36
+ ),
37
+ density: (),
29
38
  );
30
39
  }
31
-
32
- // Tokens that can be configured through Angular Material's typography theming API.
33
- @function get-typography-tokens($theme) {
34
- $system: m2-utils.get-system($theme);
35
- @return (
36
- card-title-text-font: map.get($system, title-small-font),
37
- card-title-text-line-height: map.get($system, title-small-line-height),
38
- card-title-text-size: map.get($system, title-small-size),
39
- card-title-text-tracking: map.get($system, title-small-tracking),
40
- card-title-text-weight: map.get($system, title-small-weight),
41
- card-subtitle-text-font: map.get($system, label-medium-font),
42
- card-subtitle-text-line-height: map.get($system, label-medium-line-height),
43
- card-subtitle-text-size: map.get($system, label-medium-size),
44
- card-subtitle-text-tracking: map.get($system, label-medium-tracking),
45
- card-subtitle-text-weight: map.get($system, label-medium-weight),
46
- );
47
- }
48
-
49
- // Tokens that can be configured through Angular Material's density theming API.
50
- @function get-density-tokens($theme) {
51
- @return ();
52
- }
@@ -9,7 +9,7 @@
9
9
  /// for the mat-checkbox.
10
10
  /// @param {Map} $theme The theme to generate base styles for.
11
11
  @mixin base($theme) {
12
- $tokens: m2-checkbox.get-unthemable-tokens($theme);
12
+ $tokens: map.get(m2-checkbox.get-tokens($theme), base);
13
13
  @if inspection.get-theme-version($theme) == 1 {
14
14
  $tokens: map.get(m3-checkbox.get-tokens($theme), base);
15
15
  }
@@ -21,7 +21,7 @@
21
21
  /// @param {Map} $theme The theme to generate color styles for.
22
22
  /// @param {String} $color-variant The color variant to use for the component
23
23
  @mixin color($theme, $color-variant: null) {
24
- $tokens: m2-checkbox.get-color-tokens($theme, secondary);
24
+ $tokens: map.get(m2-checkbox.get-tokens($theme), color);
25
25
  @if inspection.get-theme-version($theme) == 1 {
26
26
  $tokens: map.get(m3-checkbox.get-tokens($theme, $color-variant), color);
27
27
  }
@@ -31,14 +31,16 @@
31
31
  @if inspection.get-theme-version($theme) != 1 {
32
32
  .mat-mdc-checkbox {
33
33
  &.mat-primary {
34
- @include token-utils.values(m2-checkbox.get-color-tokens($theme, primary,
35
- $exclude: (checkbox-disabled-label-color, checkbox-label-text-color))
34
+ @include token-utils.values(m2-checkbox.private-get-color-palette-color-tokens(
35
+ $theme, primary,
36
+ $exclude: (checkbox-disabled-label-color, checkbox-label-text-color))
36
37
  );
37
38
  }
38
39
 
39
40
  &.mat-warn {
40
- @include token-utils.values(m2-checkbox.get-color-tokens($theme, error,
41
- $exclude: (checkbox-disabled-label-color, checkbox-label-text-color))
41
+ @include token-utils.values(m2-checkbox.private-get-color-palette-color-tokens(
42
+ $theme, error,
43
+ $exclude: (checkbox-disabled-label-color, checkbox-label-text-color))
42
44
  );
43
45
  }
44
46
  }
@@ -46,7 +48,7 @@
46
48
  }
47
49
 
48
50
  @mixin typography($theme) {
49
- $tokens: m2-checkbox.get-typography-tokens($theme);
51
+ $tokens: map.get(m2-checkbox.get-tokens($theme), typography);
50
52
  @if inspection.get-theme-version($theme) == 1 {
51
53
  $tokens: map.get(m3-checkbox.get-tokens($theme), typography);
52
54
  }
@@ -55,7 +57,7 @@
55
57
  }
56
58
 
57
59
  @mixin density($theme) {
58
- $tokens: m2-checkbox.get-density-tokens($theme);
60
+ $tokens: map.get(m2-checkbox.get-tokens($theme), density);
59
61
  @if inspection.get-theme-version($theme) == 1 {
60
62
  $tokens: map.get(m3-checkbox.get-tokens($theme), density);
61
63
  }
@@ -2,29 +2,45 @@
2
2
  @use '../core/tokens/m2-utils';
3
3
  @use '../core/tokens/m3-utils';
4
4
  @use '../core/theming/theming';
5
- @use '../core/theming/inspection';
6
5
 
7
- // Tokens that can't be configured through Angular Material's current theming API,
8
- // but may be in a future version of the theming API.
9
- @function get-unthemable-tokens($theme) {
6
+ @function get-tokens($theme) {
10
7
  $system: m2-utils.get-system($theme);
8
+ $density-scale: theming.clamp-density(map.get($system, density-scale), -3);
11
9
 
12
10
  @return (
13
- checkbox-disabled-selected-checkmark-color: map.get($system, surface),
14
- checkbox-selected-focus-state-layer-opacity: map.get($system, focus-state-layer-opacity),
15
- checkbox-selected-hover-state-layer-opacity: map.get($system, hover-state-layer-opacity),
16
- checkbox-selected-pressed-state-layer-opacity: map.get($system, pressed-state-layer-opacity),
17
- checkbox-unselected-focus-state-layer-opacity: map.get($system, focus-state-layer-opacity),
18
- checkbox-unselected-hover-state-layer-opacity: map.get($system, hover-state-layer-opacity),
19
- checkbox-unselected-pressed-state-layer-opacity: map.get($system, pressed-state-layer-opacity),
11
+ base: (
12
+ checkbox-disabled-selected-checkmark-color: map.get($system, surface),
13
+ checkbox-selected-focus-state-layer-opacity: map.get($system, focus-state-layer-opacity),
14
+ checkbox-selected-hover-state-layer-opacity: map.get($system, hover-state-layer-opacity),
15
+ checkbox-selected-pressed-state-layer-opacity: map.get($system, pressed-state-layer-opacity),
16
+ checkbox-unselected-focus-state-layer-opacity: map.get($system, focus-state-layer-opacity),
17
+ checkbox-unselected-hover-state-layer-opacity: map.get($system, hover-state-layer-opacity),
18
+ checkbox-unselected-pressed-state-layer-opacity:
19
+ map.get($system, pressed-state-layer-opacity),
20
+ ),
21
+ color: private-get-color-palette-color-tokens($theme, secondary),
22
+ typography: (
23
+ checkbox-label-text-font: map.get($system, body-medium-font),
24
+ checkbox-label-text-line-height: map.get($system, body-medium-line-height),
25
+ checkbox-label-text-size: map.get($system, body-medium-size),
26
+ checkbox-label-text-tracking: map.get($system, body-medium-tracking),
27
+ checkbox-label-text-weight: map.get($system, body-medium-weight)
28
+ ),
29
+ density: (
30
+ checkbox-touch-target-display: if($density-scale < -1, none, block),
31
+ checkbox-state-layer-size: map.get((
32
+ 0: 40px,
33
+ -1: 36px,
34
+ -2: 32px,
35
+ -3: 28px,
36
+ ), $density-scale)
37
+ ),
20
38
  );
21
39
  }
22
40
 
23
- // Tokens that can be configured through Angular Material's color theming API.
24
- @function get-color-tokens($theme, $color-variant, $exclude: ()) {
41
+ @function private-get-color-palette-color-tokens($theme, $color-variant, $exclude: ()) {
25
42
  $system: m2-utils.get-system($theme);
26
43
  $system: m3-utils.replace-colors-with-variant($system, secondary, $color-variant);
27
- $is-dark: inspection.get-theme-type($theme) == dark;
28
44
  $disabled: m3-utils.color-with-opacity(map.get($system, on-surface), 38%);
29
45
 
30
46
  $tokens: (
@@ -54,30 +70,3 @@
54
70
 
55
71
  @return $tokens;
56
72
  }
57
-
58
- // Tokens that can be configured through Angular Material's typography theming API.
59
- @function get-typography-tokens($theme) {
60
- $system: m2-utils.get-system($theme);
61
- @return (
62
- checkbox-label-text-font: map.get($system, body-medium-font),
63
- checkbox-label-text-line-height: map.get($system, body-medium-line-height),
64
- checkbox-label-text-size: map.get($system, body-medium-size),
65
- checkbox-label-text-tracking: map.get($system, body-medium-tracking),
66
- checkbox-label-text-weight: map.get($system, body-medium-weight)
67
- );
68
- }
69
-
70
- // Tokens that can be configured through Angular Material's density theming API.
71
- @function get-density-tokens($theme) {
72
- $scale: theming.clamp-density(inspection.get-theme-density($theme), -3);
73
-
74
- @return (
75
- checkbox-touch-target-display: if($scale < -1, none, block),
76
- checkbox-state-layer-size: map.get((
77
- 0: 40px,
78
- -1: 36px,
79
- -2: 32px,
80
- -3: 28px,
81
- ), $scale)
82
- );
83
- }
@@ -2,7 +2,6 @@
2
2
  @use 'sass:list';
3
3
  @use '../core/tokens/m3-utils';
4
4
  @use '../core/theming/theming';
5
- @use '../core/theming/inspection';
6
5
  @use '../core/tokens/m3';
7
6
 
8
7
  /// Generates custom tokens for mat-checkbox.
@@ -52,7 +51,7 @@
52
51
  checkbox-label-text-tracking: map.get($system, body-medium-tracking),
53
52
  checkbox-label-text-weight: map.get($system, body-medium-weight),
54
53
  ),
55
- density: get-density-tokens(map.get($theme, inspection.$internals, density-scale)),
54
+ density: get-density-tokens(map.get($system, density-scale)),
56
55
  );
57
56
  }
58
57
 
@@ -14,7 +14,7 @@
14
14
  @include token-utils.values(map.get(m3-chip.get-tokens($theme), base));
15
15
  } @else {
16
16
  .mat-mdc-standard-chip {
17
- @include token-utils.values(m2-chip.get-unthemable-tokens($theme));
17
+ @include token-utils.values(map.get(m2-chip.get-tokens($theme), base));
18
18
  }
19
19
  }
20
20
  }
@@ -28,20 +28,23 @@
28
28
  map.get(m3-chip.get-tokens($theme, $color-variant), color));
29
29
  } @else {
30
30
  .mat-mdc-standard-chip {
31
- @include token-utils.values(m2-chip.get-color-tokens($theme));
31
+ @include token-utils.values(map.get(m2-chip.get-tokens($theme), color));
32
32
 
33
33
  &.mat-mdc-chip-selected,
34
34
  &.mat-mdc-chip-highlighted {
35
35
  &.mat-primary {
36
- @include token-utils.values(m2-chip.get-color-tokens($theme, primary));
36
+ @include token-utils.values(
37
+ m2-chip.private-get-color-palette-color-tokens($theme, primary));
37
38
  }
38
39
 
39
40
  &.mat-accent {
40
- @include token-utils.values(m2-chip.get-color-tokens($theme, secondary));
41
+ @include token-utils.values(
42
+ m2-chip.private-get-color-palette-color-tokens($theme, secondary));
41
43
  }
42
44
 
43
45
  &.mat-warn {
44
- @include token-utils.values(m2-chip.get-color-tokens($theme, error));
46
+ @include token-utils.values(
47
+ m2-chip.private-get-color-palette-color-tokens($theme, error));
45
48
  }
46
49
  }
47
50
  }
@@ -55,7 +58,7 @@
55
58
  @include token-utils.values(map.get(m3-chip.get-tokens($theme), typography));
56
59
  } @else {
57
60
  .mat-mdc-standard-chip {
58
- @include token-utils.values(m2-chip.get-typography-tokens($theme));
61
+ @include token-utils.values(map.get(m2-chip.get-tokens($theme), typography));
59
62
  }
60
63
  }
61
64
  }
@@ -67,7 +70,7 @@
67
70
  @include token-utils.values(map.get(m3-chip.get-tokens($theme), density));
68
71
  } @else {
69
72
  .mat-mdc-chip.mat-mdc-standard-chip {
70
- @include token-utils.values(m2-chip.get-density-tokens($theme));
73
+ @include token-utils.values(map.get(m2-chip.get-tokens($theme), density));
71
74
  }
72
75
  }
73
76
  }
@@ -1,41 +1,55 @@
1
1
  @use 'sass:map';
2
- @use '../core/theming/inspection';
3
2
  @use '../core/theming/theming';
4
3
  @use '../core/tokens/m2-utils';
5
4
  @use '../core/tokens/m3-utils';
6
5
 
7
- // Tokens that can't be configured through Angular Material's current theming API,
8
- // but may be in a future version of the theming API.
9
- @function get-unthemable-tokens($theme) {
6
+ @function get-tokens($theme) {
10
7
  $system: m2-utils.get-system($theme);
8
+ $density-scale: theming.clamp-density(map.get($system, density-scale), -2);
11
9
 
12
10
  @return (
13
- chip-container-shape-radius: 16px,
14
- chip-disabled-container-opacity: 0.4,
15
- chip-disabled-outline-color: transparent,
16
- chip-flat-selected-outline-width: 0,
17
- chip-focus-outline-color: transparent,
18
- chip-hover-state-layer-opacity: map.get($system, hover-state-layer-opacity),
19
- chip-outline-color: transparent,
20
- chip-outline-width: 0,
21
- chip-selected-hover-state-layer-opacity: map.get($system, hover-state-layer-opacity),
22
- chip-selected-trailing-action-state-layer-color: transparent,
23
- chip-trailing-action-focus-opacity: 1,
24
- chip-trailing-action-focus-state-layer-opacity: 0,
25
- chip-trailing-action-hover-state-layer-opacity: 0,
26
- chip-trailing-action-opacity: 0.54,
27
- chip-trailing-action-state-layer-color: transparent,
28
- chip-with-avatar-avatar-shape-radius: 14px,
29
- chip-with-avatar-avatar-size: 28px,
30
- chip-with-avatar-disabled-avatar-opacity: 1,
31
- chip-with-icon-disabled-icon-opacity: 1,
32
- chip-with-icon-icon-size: 18px,
33
- chip-with-trailing-icon-disabled-trailing-icon-opacity: 1,
11
+ base: (
12
+ chip-container-shape-radius: 16px,
13
+ chip-disabled-container-opacity: 0.4,
14
+ chip-disabled-outline-color: transparent,
15
+ chip-flat-selected-outline-width: 0,
16
+ chip-focus-outline-color: transparent,
17
+ chip-hover-state-layer-opacity: map.get($system, hover-state-layer-opacity),
18
+ chip-outline-color: transparent,
19
+ chip-outline-width: 0,
20
+ chip-selected-hover-state-layer-opacity: map.get($system, hover-state-layer-opacity),
21
+ chip-selected-trailing-action-state-layer-color: transparent,
22
+ chip-trailing-action-focus-opacity: 1,
23
+ chip-trailing-action-focus-state-layer-opacity: 0,
24
+ chip-trailing-action-hover-state-layer-opacity: 0,
25
+ chip-trailing-action-opacity: 0.54,
26
+ chip-trailing-action-state-layer-color: transparent,
27
+ chip-with-avatar-avatar-shape-radius: 14px,
28
+ chip-with-avatar-avatar-size: 28px,
29
+ chip-with-avatar-disabled-avatar-opacity: 1,
30
+ chip-with-icon-disabled-icon-opacity: 1,
31
+ chip-with-icon-icon-size: 18px,
32
+ chip-with-trailing-icon-disabled-trailing-icon-opacity: 1,
33
+ ),
34
+ color: private-get-color-palette-color-tokens($theme, null),
35
+ typography: (
36
+ chip-label-text-font: map.get($system, body-medium-font),
37
+ chip-label-text-line-height: map.get($system, body-medium-line-height),
38
+ chip-label-text-size: map.get($system, body-medium-size),
39
+ chip-label-text-tracking: map.get($system, body-medium-tracking),
40
+ chip-label-text-weight: map.get($system, body-medium-weight)
41
+ ),
42
+ density: (
43
+ chip-container-height: map.get((
44
+ 0: 32px,
45
+ -1: 28px,
46
+ -2: 24px), $density-scale)
47
+ ),
34
48
  );
35
49
  }
36
50
 
37
51
  // Tokens that can be configured through Angular Material's color theming API.
38
- @function get-color-tokens($theme, $color-variant: null) {
52
+ @function private-get-color-palette-color-tokens($theme, $color-variant: null) {
39
53
  $system: m2-utils.get-system($theme);
40
54
  $background: m3-utils.color-with-opacity(map.get($system, on-surface), 12%);
41
55
  $foreground: map.get($system, on-surface);
@@ -69,31 +83,3 @@
69
83
  chip-with-trailing-icon-trailing-icon-color: $foreground,
70
84
  );
71
85
  }
72
-
73
- // Tokens that can be configured through Angular Material's typography theming API.
74
- @function get-typography-tokens($theme) {
75
- $system: m2-utils.get-system($theme);
76
- @return (
77
- chip-label-text-font: map.get($system, body-medium-font),
78
- chip-label-text-line-height: map.get($system, body-medium-line-height),
79
- chip-label-text-size: map.get($system, body-medium-size),
80
- chip-label-text-tracking: map.get($system, body-medium-tracking),
81
- chip-label-text-weight: map.get($system, body-medium-weight)
82
- );
83
- }
84
-
85
- // Tokens that can be configured through Angular Material's density theming API.
86
- @function get-density-tokens($theme) {
87
- $scale: theming.clamp-density(inspection.get-theme-density($theme), -2);
88
- @return (
89
- // The height of the chip.
90
- chip-container-height: map.get(
91
- (
92
- 0: 32px,
93
- -1: 28px,
94
- -2: 24px,
95
- ),
96
- $scale
97
- )
98
- );
99
- }
@@ -2,7 +2,6 @@
2
2
  @use 'sass:list';
3
3
  @use '../core/tokens/m3-utils';
4
4
  @use '../core/theming/theming';
5
- @use '../core/theming/inspection';
6
5
  @use '../core/tokens/m3';
7
6
 
8
7
  /// Generates custom tokens for the mat-chip.
@@ -67,7 +66,7 @@
67
66
  chip-label-text-tracking: map.get($system, label-large-tracking),
68
67
  chip-label-text-weight: map.get($system, label-large-weight),
69
68
  ),
70
- density: get-density-tokens(map.get($theme, inspection.$internals, density-scale)),
69
+ density: get-density-tokens(map.get($system, density-scale)),
71
70
  );
72
71
  }
73
72