@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
@@ -1,98 +1,106 @@
1
1
  @use '../core/style/elevation';
2
- @use '../core/theming/inspection';
3
2
  @use '../core/theming/theming';
4
3
  @use 'sass:map';
5
4
  @use '../core/tokens/m2-utils';
6
5
  @use '../core/tokens/m3-utils';
7
6
 
8
- // Tokens that can't be configured through Angular Material's current theming API,
9
- // but may be in a future version of the theming API.
10
- @function get-unthemable-tokens($theme) {
7
+ @function get-tokens($theme) {
11
8
  $system: m2-utils.get-system($theme);
9
+ $density-scale: theming.clamp-density(map.get($system, density-scale), -3);
12
10
 
13
- // visible-track-opacity and hidden-track-opacity:
14
- // The hidden and visible track represent whichever track is visible or
15
- // hidden in the ui. This could be the .mdc-switch__track :before or
16
- // :after depending on whether the switch is selected or unselected.
17
- //
18
- // The m2 slide-toggle uses transforms to hide & show the tracks while
19
- // the m3 slide-toggle uses opacity.
20
11
  @return (
21
- slide-toggle-disabled-handle-opacity: 0.38,
22
- slide-toggle-disabled-selected-handle-opacity: 0.38,
23
- slide-toggle-disabled-selected-icon-opacity: 0.38,
24
- slide-toggle-disabled-track-opacity: 0.12,
25
- slide-toggle-disabled-unselected-handle-opacity: 0.38,
26
- slide-toggle-disabled-unselected-icon-opacity: 0.38,
27
- slide-toggle-disabled-unselected-track-outline-color: transparent,
28
- slide-toggle-disabled-unselected-track-outline-width: 1px,
29
- slide-toggle-handle-height: 20px,
30
- slide-toggle-handle-shape: 10px,
31
- slide-toggle-handle-width: 20px,
32
- slide-toggle-hidden-track-opacity: 1,
33
- slide-toggle-hidden-track-transition: transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1),
34
- slide-toggle-pressed-handle-size: 20px,
35
- slide-toggle-selected-focus-state-layer-opacity: map.get($system, focus-state-layer-opacity),
36
- slide-toggle-selected-handle-horizontal-margin: 0,
37
- slide-toggle-selected-handle-size: 20px,
38
- slide-toggle-selected-hover-state-layer-opacity: map.get($system, hover-state-layer-opacity),
39
- slide-toggle-selected-icon-size: 18px,
40
- slide-toggle-selected-pressed-handle-horizontal-margin: 0,
41
- slide-toggle-selected-pressed-state-layer-opacity:
42
- map.get($system, pressed-state-layer-opacity),
43
- slide-toggle-selected-track-outline-color: transparent,
44
- slide-toggle-selected-track-outline-width: 1px,
45
- slide-toggle-selected-with-icon-handle-horizontal-margin: 0,
46
- slide-toggle-track-height: 14px,
47
- slide-toggle-track-outline-color: transparent,
48
- slide-toggle-track-outline-width: 1px,
49
- slide-toggle-track-shape: 7px,
50
- slide-toggle-track-width: 36px,
51
- slide-toggle-unselected-focus-state-layer-opacity: map.get($system, focus-state-layer-opacity),
52
- slide-toggle-unselected-handle-horizontal-margin: 0,
53
- slide-toggle-unselected-handle-size: 20px,
54
- slide-toggle-unselected-hover-state-layer-opacity: map.get($system, focus-state-layer-opacity),
55
- slide-toggle-unselected-icon-size: 18px,
56
- slide-toggle-unselected-pressed-handle-horizontal-margin: 0,
57
- slide-toggle-unselected-pressed-state-layer-opacity: 0.1,
58
- slide-toggle-unselected-with-icon-handle-horizontal-margin: 0,
59
- slide-toggle-visible-track-opacity: 1,
60
- slide-toggle-visible-track-transition: transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1),
61
- slide-toggle-with-icon-handle-size: 20px,
62
- );
63
- }
64
-
65
- // Tokens that can be configured through Angular Material's color theming API.
66
- @function get-color-tokens($theme) {
67
- $system: m2-utils.get-system($theme);
68
-
69
- @return map.merge(
70
- private-get-color-palette-color-tokens($theme, primary),
71
- (
72
- slide-toggle-disabled-label-text-color:
73
- m3-utils.color-with-opacity(map.get($system, on-surface), 38%),
74
- slide-toggle-disabled-handle-elevation-shadow: elevation.get-box-shadow(0),
75
- slide-toggle-disabled-selected-handle-color: map.get($system, on-surface),
76
- slide-toggle-disabled-selected-track-color: map.get($system, on-surface),
77
- slide-toggle-disabled-unselected-handle-color: map.get($system, on-surface),
78
- slide-toggle-disabled-unselected-icon-color: map.get($system, surface-variant),
79
- slide-toggle-disabled-unselected-track-color: map.get($system, on-surface),
80
- slide-toggle-handle-elevation-shadow: elevation.get-box-shadow(1),
81
- slide-toggle-handle-surface-color: map.get($system, surface),
82
- slide-toggle-label-text-color: map.get($system, on-surface),
83
- slide-toggle-unselected-hover-handle-color: map.get($system, inverse-surface),
84
- slide-toggle-unselected-focus-handle-color: map.get($system, inverse-surface),
85
- slide-toggle-unselected-focus-state-layer-color: map.get($system, on-surface),
86
- slide-toggle-unselected-focus-track-color: map.get($system, outline),
87
- slide-toggle-unselected-icon-color: map.get($system, surface-variant),
88
- slide-toggle-unselected-handle-color: map.get($system, on-surface-variant),
89
- slide-toggle-unselected-hover-state-layer-color: map.get($system, on-surface),
90
- slide-toggle-unselected-hover-track-color: map.get($system, outline),
91
- slide-toggle-unselected-pressed-handle-color: map.get($system, inverse-surface),
92
- slide-toggle-unselected-pressed-track-color: map.get($system, outline),
93
- slide-toggle-unselected-pressed-state-layer-color: map.get($system, on-surface),
94
- slide-toggle-unselected-track-color: map.get($system, outline),
95
- )
12
+ base: (
13
+ // visible-track-opacity and hidden-track-opacity:
14
+ // The hidden and visible track represent whichever track is visible or
15
+ // hidden in the ui. This could be the .mdc-switch__track :before or
16
+ // :after depending on whether the switch is selected or unselected.
17
+ //
18
+ // The m2 slide-toggle uses transforms to hide & show the tracks while
19
+ // the m3 slide-toggle uses opacity.
20
+ slide-toggle-disabled-handle-opacity: 0.38,
21
+ slide-toggle-disabled-selected-handle-opacity: 0.38,
22
+ slide-toggle-disabled-selected-icon-opacity: 0.38,
23
+ slide-toggle-disabled-track-opacity: 0.12,
24
+ slide-toggle-disabled-unselected-handle-opacity: 0.38,
25
+ slide-toggle-disabled-unselected-icon-opacity: 0.38,
26
+ slide-toggle-disabled-unselected-track-outline-color: transparent,
27
+ slide-toggle-disabled-unselected-track-outline-width: 1px,
28
+ slide-toggle-handle-height: 20px,
29
+ slide-toggle-handle-shape: 10px,
30
+ slide-toggle-handle-width: 20px,
31
+ slide-toggle-hidden-track-opacity: 1,
32
+ slide-toggle-hidden-track-transition: transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1),
33
+ slide-toggle-pressed-handle-size: 20px,
34
+ slide-toggle-selected-focus-state-layer-opacity: map.get($system, focus-state-layer-opacity),
35
+ slide-toggle-selected-handle-horizontal-margin: 0,
36
+ slide-toggle-selected-handle-size: 20px,
37
+ slide-toggle-selected-hover-state-layer-opacity: map.get($system, hover-state-layer-opacity),
38
+ slide-toggle-selected-icon-size: 18px,
39
+ slide-toggle-selected-pressed-handle-horizontal-margin: 0,
40
+ slide-toggle-selected-pressed-state-layer-opacity:
41
+ map.get($system, pressed-state-layer-opacity),
42
+ slide-toggle-selected-track-outline-color: transparent,
43
+ slide-toggle-selected-track-outline-width: 1px,
44
+ slide-toggle-selected-with-icon-handle-horizontal-margin: 0,
45
+ slide-toggle-track-height: 14px,
46
+ slide-toggle-track-outline-color: transparent,
47
+ slide-toggle-track-outline-width: 1px,
48
+ slide-toggle-track-shape: 7px,
49
+ slide-toggle-track-width: 36px,
50
+ slide-toggle-unselected-focus-state-layer-opacity:
51
+ map.get($system, focus-state-layer-opacity),
52
+ slide-toggle-unselected-handle-horizontal-margin: 0,
53
+ slide-toggle-unselected-handle-size: 20px,
54
+ slide-toggle-unselected-hover-state-layer-opacity:
55
+ map.get($system, focus-state-layer-opacity),
56
+ slide-toggle-unselected-icon-size: 18px,
57
+ slide-toggle-unselected-pressed-handle-horizontal-margin: 0,
58
+ slide-toggle-unselected-pressed-state-layer-opacity: 0.1,
59
+ slide-toggle-unselected-with-icon-handle-horizontal-margin: 0,
60
+ slide-toggle-visible-track-opacity: 1,
61
+ slide-toggle-visible-track-transition: transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1),
62
+ slide-toggle-with-icon-handle-size: 20px,
63
+ ),
64
+ color: map.merge(private-get-color-palette-color-tokens($theme, primary), (
65
+ slide-toggle-disabled-label-text-color:
66
+ m3-utils.color-with-opacity(map.get($system, on-surface), 38%),
67
+ slide-toggle-disabled-handle-elevation-shadow: elevation.get-box-shadow(0),
68
+ slide-toggle-disabled-selected-handle-color: map.get($system, on-surface),
69
+ slide-toggle-disabled-selected-track-color: map.get($system, on-surface),
70
+ slide-toggle-disabled-unselected-handle-color: map.get($system, on-surface),
71
+ slide-toggle-disabled-unselected-icon-color: map.get($system, surface-variant),
72
+ slide-toggle-disabled-unselected-track-color: map.get($system, on-surface),
73
+ slide-toggle-handle-elevation-shadow: elevation.get-box-shadow(1),
74
+ slide-toggle-handle-surface-color: map.get($system, surface),
75
+ slide-toggle-label-text-color: map.get($system, on-surface),
76
+ slide-toggle-unselected-hover-handle-color: map.get($system, inverse-surface),
77
+ slide-toggle-unselected-focus-handle-color: map.get($system, inverse-surface),
78
+ slide-toggle-unselected-focus-state-layer-color: map.get($system, on-surface),
79
+ slide-toggle-unselected-focus-track-color: map.get($system, outline),
80
+ slide-toggle-unselected-icon-color: map.get($system, surface-variant),
81
+ slide-toggle-unselected-handle-color: map.get($system, on-surface-variant),
82
+ slide-toggle-unselected-hover-state-layer-color: map.get($system, on-surface),
83
+ slide-toggle-unselected-hover-track-color: map.get($system, outline),
84
+ slide-toggle-unselected-pressed-handle-color: map.get($system, inverse-surface),
85
+ slide-toggle-unselected-pressed-track-color: map.get($system, outline),
86
+ slide-toggle-unselected-pressed-state-layer-color: map.get($system, on-surface),
87
+ slide-toggle-unselected-track-color: map.get($system, outline))
88
+ ),
89
+ typography: (
90
+ slide-toggle-label-text-font: map.get($system, body-medium-font),
91
+ slide-toggle-label-text-line-height: map.get($system, body-medium-line-height),
92
+ slide-toggle-label-text-size: map.get($system, body-medium-size),
93
+ slide-toggle-label-text-tracking: map.get($system, body-medium-tracking),
94
+ slide-toggle-label-text-weight: map.get($system, body-medium-weight)
95
+ ),
96
+ density: (
97
+ slide-toggle-state-layer-size: map.get((
98
+ 0: 40px,
99
+ -1: 36px,
100
+ -2: 32px,
101
+ -3: 28px,
102
+ ), $density-scale)
103
+ ),
96
104
  );
97
105
  }
98
106
 
@@ -117,30 +125,3 @@
117
125
  slide-toggle-selected-track-color: map.get($system, inverse-primary),
118
126
  );
119
127
  }
120
-
121
- // Tokens that can be configured through Angular Material's typography theming API.
122
- @function get-typography-tokens($theme) {
123
- $system: m2-utils.get-system($theme);
124
- @return (
125
- slide-toggle-label-text-font: map.get($system, body-medium-font),
126
- slide-toggle-label-text-line-height: map.get($system, body-medium-line-height),
127
- slide-toggle-label-text-size: map.get($system, body-medium-size),
128
- slide-toggle-label-text-tracking: map.get($system, body-medium-tracking),
129
- slide-toggle-label-text-weight: map.get($system, body-medium-weight)
130
- );
131
- }
132
-
133
- // Tokens that can be configured through Angular Material's density theming API.
134
- @function get-density-tokens($theme) {
135
- $scale: theming.clamp-density(inspection.get-theme-density($theme), -3);
136
-
137
- @return (
138
- // The diameter of the handle ripple.
139
- slide-toggle-state-layer-size: map.get((
140
- 0: 40px,
141
- -1: 36px,
142
- -2: 32px,
143
- -3: 28px,
144
- ), $scale)
145
- );
146
- }
@@ -11,7 +11,7 @@
11
11
  /// for the mat-slide-toggle.
12
12
  /// @param {Map} $theme The theme to generate base styles for.
13
13
  @mixin base($theme) {
14
- $tokens: m2-slide-toggle.get-unthemable-tokens($theme);
14
+ $tokens: map.get(m2-slide-toggle.get-tokens($theme), base);
15
15
  @if inspection.get-theme-version($theme) == 1 {
16
16
  $tokens: map.get(m3-slide-toggle.get-tokens($theme), base);
17
17
  }
@@ -23,7 +23,7 @@
23
23
  /// @param {Map} $theme The theme to generate color styles for.
24
24
  /// @param {String} $color-variant The color variant to use for the component (M3 only)
25
25
  @mixin color($theme, $color-variant: null) {
26
- $tokens: m2-slide-toggle.get-color-tokens($theme);
26
+ $tokens: map.get(m2-slide-toggle.get-tokens($theme), color);
27
27
  @if inspection.get-theme-version($theme) == 1 {
28
28
  $tokens: map.get(m3-slide-toggle.get-tokens($theme, $color-variant), color);
29
29
  }
@@ -31,7 +31,7 @@
31
31
  @include token-utils.values($tokens);
32
32
 
33
33
  @if inspection.get-theme-version($theme) != 1 {
34
- $mat-tokens: m2-slide-toggle.get-color-tokens($theme);
34
+ $mat-tokens: map.get(m2-slide-toggle.get-tokens($theme), color);
35
35
  $system: m2-utils.get-system($theme);
36
36
 
37
37
  .mat-mdc-slide-toggle {
@@ -58,11 +58,11 @@
58
58
  } @else {
59
59
  @include sass-utils.current-selector-or-root() {
60
60
  // TODO: See if this can be removed
61
- @include token-utils.values(m2-slide-toggle.get-typography-tokens($theme));
61
+ @include token-utils.values(map.get(m2-slide-toggle.get-tokens($theme), typography));
62
62
 
63
63
  .mat-mdc-slide-toggle {
64
64
  @include token-utils.values(
65
- m2-slide-toggle.get-typography-tokens($theme));
65
+ map.get(m2-slide-toggle.get-tokens($theme), typography));
66
66
  }
67
67
  }
68
68
  }
@@ -71,7 +71,7 @@
71
71
  /// Outputs density theme styles for the mat-slide-toggle.
72
72
  /// @param {Map} $theme The theme to generate density styles for.
73
73
  @mixin density($theme) {
74
- $tokens: m2-slide-toggle.get-density-tokens($theme);
74
+ $tokens: map.get(m2-slide-toggle.get-tokens($theme), density);
75
75
  @if inspection.get-theme-version($theme) == 1 {
76
76
  $tokens: map.get(m3-slide-toggle.get-tokens($theme), density);
77
77
  }
@@ -3,41 +3,33 @@
3
3
  @use '../core/tokens/m2-utils';
4
4
  @use '../core/tokens/m3-utils';
5
5
 
6
- // Tokens that can't be configured through Angular Material's current theming API,
7
- // but may be in a future version of the theming API.
8
- @function get-unthemable-tokens() {
9
- @return (
10
- slider-active-track-height: 6px,
11
- slider-active-track-shape: 9999px,
12
- slider-handle-elevation: elevation.get-box-shadow(1),
13
- slider-handle-height: 20px,
14
- slider-handle-shape: 50%,
15
- slider-handle-width: 20px,
16
- slider-inactive-track-height: 4px,
17
- slider-inactive-track-shape: 9999px,
18
- slider-value-indicator-border-radius: 4px,
19
- slider-value-indicator-caret-display: block,
20
- slider-value-indicator-container-transform: translateX(-50%),
21
- slider-value-indicator-height: 32px,
22
- slider-value-indicator-padding: 0 12px,
23
- slider-value-indicator-text-transform: none,
24
- slider-value-indicator-width: auto,
25
- slider-with-overlap-handle-outline-width: 1px,
26
- slider-with-tick-marks-active-container-opacity: 0.6,
27
- slider-with-tick-marks-container-shape: 50%,
28
- slider-with-tick-marks-container-size: 2px,
29
- slider-with-tick-marks-inactive-container-opacity: 0.6,
30
- );
31
- }
32
-
33
- // Tokens that can be configured through Angular Material's color theming API.
34
- @function get-color-tokens($theme) {
6
+ @function get-tokens($theme) {
35
7
  $system: m2-utils.get-system($theme);
36
- $theme-color-tokens: private-get-color-palette-color-tokens($theme, primary);
37
8
 
38
- @return map.merge(
39
- $theme-color-tokens,
40
- (
9
+ @return (
10
+ base: (
11
+ slider-active-track-height: 6px,
12
+ slider-active-track-shape: 9999px,
13
+ slider-handle-elevation: elevation.get-box-shadow(1),
14
+ slider-handle-height: 20px,
15
+ slider-handle-shape: 50%,
16
+ slider-handle-width: 20px,
17
+ slider-inactive-track-height: 4px,
18
+ slider-inactive-track-shape: 9999px,
19
+ slider-value-indicator-border-radius: 4px,
20
+ slider-value-indicator-caret-display: block,
21
+ slider-value-indicator-container-transform: translateX(-50%),
22
+ slider-value-indicator-height: 32px,
23
+ slider-value-indicator-padding: 0 12px,
24
+ slider-value-indicator-text-transform: none,
25
+ slider-value-indicator-width: auto,
26
+ slider-with-overlap-handle-outline-width: 1px,
27
+ slider-with-tick-marks-active-container-opacity: 0.6,
28
+ slider-with-tick-marks-container-shape: 50%,
29
+ slider-with-tick-marks-container-size: 2px,
30
+ slider-with-tick-marks-inactive-container-opacity: 0.6,
31
+ ),
32
+ color: map.merge(private-get-color-palette-color-tokens($theme, primary), (
41
33
  slider-disabled-active-track-color: map.get($system, on-surface),
42
34
  slider-disabled-handle-color: map.get($system, on-surface),
43
35
  slider-disabled-inactive-track-color: map.get($system, on-surface),
@@ -45,8 +37,16 @@
45
37
  slider-label-label-text-color: map.get($system, inverse-on-surface),
46
38
  slider-value-indicator-opacity: 1,
47
39
  slider-with-overlap-handle-outline-color: map.get($system, on-surface),
48
- slider-with-tick-marks-disabled-container-color: map.get($system, on-surface),
40
+ slider-with-tick-marks-disabled-container-color: map.get($system, on-surface)),
41
+ ),
42
+ typography: (
43
+ slider-label-label-text-font: map.get($system, label-medium-font),
44
+ slider-label-label-text-size: map.get($system, label-medium-size),
45
+ slider-label-label-text-line-height: map.get($system, label-medium-line-height),
46
+ slider-label-label-text-tracking: map.get($system, label-medium-tracking),
47
+ slider-label-label-text-weight: map.get($system, label-medium-weight),
49
48
  ),
49
+ density: (),
50
50
  );
51
51
  }
52
52
 
@@ -54,7 +54,6 @@
54
54
  @function private-get-color-palette-color-tokens($theme, $color-variant) {
55
55
  $system: m2-utils.get-system($theme);
56
56
  $system: m3-utils.replace-colors-with-variant($system, primary, $color-variant);
57
- $color: map.get($system, primary);
58
57
 
59
58
  @return (
60
59
  slider-active-track-color: map.get($system, primary),
@@ -71,20 +70,3 @@
71
70
  slider-with-tick-marks-inactive-container-color: map.get($system, primary),
72
71
  );
73
72
  }
74
-
75
- // Tokens that can be configured through Angular Material's typography theming API.
76
- @function get-typography-tokens($theme) {
77
- $system: m2-utils.get-system($theme);
78
- @return (
79
- slider-label-label-text-font: map.get($system, label-medium-font),
80
- slider-label-label-text-size: map.get($system, label-medium-size),
81
- slider-label-label-text-line-height: map.get($system, label-medium-line-height),
82
- slider-label-label-text-tracking: map.get($system, label-medium-tracking),
83
- slider-label-label-text-weight: map.get($system, label-medium-weight),
84
- );
85
- }
86
-
87
- // Tokens that can be configured through Angular Material's density theming API.
88
- @function get-density-tokens($theme) {
89
- @return ();
90
- }
@@ -9,7 +9,7 @@
9
9
  /// for the mat-slider.
10
10
  /// @param {Map} $theme The theme to generate base styles for.
11
11
  @mixin base($theme) {
12
- $tokens: m2-slider.get-unthemable-tokens();
12
+ $tokens: map.get(m2-slider.get-tokens($theme), base);
13
13
  @if inspection.get-theme-version($theme) == 1 {
14
14
  $tokens: map.get(m3-slider.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 (M3 only)
23
23
  @mixin color($theme, $color-variant: null) {
24
- $tokens: m2-slider.get-color-tokens($theme);
24
+ $tokens: map.get(m2-slider.get-tokens($theme), color);
25
25
  @if inspection.get-theme-version($theme) == 1 {
26
26
  $tokens: map.get(m3-slider.get-tokens($theme, $color-variant), color);
27
27
  }
@@ -44,7 +44,7 @@
44
44
  /// Outputs typography theme styles for the mat-slider.
45
45
  /// @param {Map} $theme The theme to generate typography styles for.
46
46
  @mixin typography($theme) {
47
- $tokens: m2-slider.get-typography-tokens($theme);
47
+ $tokens: map.get(m2-slider.get-tokens($theme), typography);
48
48
  @if inspection.get-theme-version($theme) == 1 {
49
49
  $tokens: map.get(m3-slider.get-tokens($theme), typography);
50
50
  }
@@ -55,7 +55,7 @@
55
55
  /// Outputs density theme styles for the mat-slider.
56
56
  /// @param {Map} $theme The theme to generate density styles for.
57
57
  @mixin density($theme) {
58
- $tokens: m2-slider.get-density-tokens($theme);
58
+ $tokens: map.get(m2-slider.get-tokens($theme), density);
59
59
  @if inspection.get-theme-version($theme) == 1 {
60
60
  $tokens: map.get(m3-slider.get-tokens($theme), density);
61
61
  }
@@ -1,44 +1,24 @@
1
- @use '../core/theming/inspection';
2
1
  @use '../core/tokens/m2-utils';
3
2
  @use 'sass:map';
4
3
 
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
- snack-bar-container-shape: 4px,
10
- );
11
- }
12
-
13
- // Tokens that can be configured through Angular Material's color theming API.
14
- @function get-color-tokens($theme) {
15
- $is-dark: inspection.get-theme-type($theme) == dark;
4
+ @function get-tokens($theme) {
16
5
  $system: m2-utils.get-system($theme);
17
6
 
18
7
  @return (
19
- snack-bar-container-color: map.get($system, inverse-surface),
20
- snack-bar-supporting-text-color: map.get($system, inverse-on-surface),
21
- snack-bar-button-color:
22
- if(
23
- $is-dark,
24
- inspection.get-theme-color($theme, primary, 500),
25
- inspection.get-theme-color($theme, primary, 100)
26
- )
8
+ base: (
9
+ snack-bar-container-shape: 4px,
10
+ ),
11
+ color: (
12
+ snack-bar-container-color: map.get($system, inverse-surface),
13
+ snack-bar-supporting-text-color: map.get($system, inverse-on-surface),
14
+ snack-bar-button-color: map.get($system, inverse-primary)
15
+ ),
16
+ typography: (
17
+ snack-bar-supporting-text-font: map.get($system, body-medium-font),
18
+ snack-bar-supporting-text-line-height: map.get($system, body-medium-line-height),
19
+ snack-bar-supporting-text-size: map.get($system, body-medium-size),
20
+ snack-bar-supporting-text-weight: map.get($system, body-medium-weight),
21
+ ),
22
+ density: (),
27
23
  );
28
24
  }
29
-
30
- // Tokens that can be configured through Angular Material's typography theming API.
31
- @function get-typography-tokens($theme) {
32
- $system: m2-utils.get-system($theme);
33
- @return (
34
- snack-bar-supporting-text-font: map.get($system, body-medium-font),
35
- snack-bar-supporting-text-line-height: map.get($system, body-medium-line-height),
36
- snack-bar-supporting-text-size: map.get($system, body-medium-size),
37
- snack-bar-supporting-text-weight: map.get($system, body-medium-weight),
38
- );
39
- }
40
-
41
- // Tokens that can be configured through Angular Material's density theming API.
42
- @function get-density-tokens($theme) {
43
- @return ();
44
- }
@@ -6,7 +6,7 @@
6
6
  @use './m3-snack-bar';
7
7
 
8
8
  @mixin base($theme) {
9
- $tokens: m2-snack-bar.get-unthemable-tokens();
9
+ $tokens: map.get(m2-snack-bar.get-tokens($theme), base);
10
10
  @if inspection.get-theme-version($theme) == 1 {
11
11
  $tokens: map.get(m3-snack-bar.get-tokens($theme), base);
12
12
  }
@@ -18,12 +18,12 @@
18
18
  @if inspection.get-theme-version($theme) == 1 {
19
19
  @include token-utils.values(map.get(m3-snack-bar.get-tokens($theme), color));
20
20
  } @else {
21
- @include token-utils.values(m2-snack-bar.get-color-tokens($theme));
21
+ @include token-utils.values(map.get(m2-snack-bar.get-tokens($theme), color));
22
22
  }
23
23
  }
24
24
 
25
25
  @mixin typography($theme) {
26
- $tokens: m2-snack-bar.get-typography-tokens($theme);
26
+ $tokens: map.get(m2-snack-bar.get-tokens($theme), typography);
27
27
  @if inspection.get-theme-version($theme) == 1 {
28
28
  $tokens: map.get(m3-snack-bar.get-tokens($theme), typography);
29
29
  }
@@ -32,7 +32,7 @@
32
32
  }
33
33
 
34
34
  @mixin density($theme) {
35
- $tokens: m2-snack-bar.get-density-tokens($theme);
35
+ $tokens: map.get(m2-snack-bar.get-tokens($theme), density);
36
36
  @if inspection.get-theme-version($theme) == 1 {
37
37
  $tokens: map.get(m3-snack-bar.get-tokens($theme), density);
38
38
  }
@@ -1,27 +1,16 @@
1
1
  @use '../core/tokens/m2-utils';
2
2
  @use 'sass:map';
3
3
 
4
- // Tokens that can't be configured through Angular Material's current theming API,
5
- // but may be in a future version of the theming API.
6
- @function get-unthemable-tokens() {
7
- @return ();
8
- }
9
-
10
- // Tokens that can be configured through Angular Material's color theming API.
11
- @function get-color-tokens($theme) {
4
+ @function get-tokens($theme) {
12
5
  $system: m2-utils.get-system($theme);
13
6
 
14
7
  @return (
15
- sort-arrow-color: map.get($system, on-surface),
8
+ base: (),
9
+ color: (
10
+ sort-arrow-color: map.get($system, on-surface),
11
+ ),
12
+ typography: (),
13
+ density: (),
16
14
  );
17
15
  }
18
16
 
19
- // Tokens that can be configured through Angular Material's typography theming API.
20
- @function get-typography-tokens($theme) {
21
- @return ();
22
- }
23
-
24
- // Tokens that can be configured through Angular Material's density theming API.
25
- @function get-density-tokens($theme) {
26
- @return ();
27
- }
@@ -6,7 +6,7 @@
6
6
  @use '../core/tokens/token-utils';
7
7
 
8
8
  @mixin base($theme) {
9
- $tokens: m2-sort.get-unthemable-tokens();
9
+ $tokens: map.get(m2-sort.get-tokens($theme), base);
10
10
  @if inspection.get-theme-version($theme) == 1 {
11
11
  $tokens: map.get(m3-sort.get-tokens($theme), base);
12
12
  }
@@ -15,7 +15,7 @@
15
15
  }
16
16
 
17
17
  @mixin color($theme) {
18
- $tokens: m2-sort.get-color-tokens($theme);
18
+ $tokens: map.get(m2-sort.get-tokens($theme), color);
19
19
  @if inspection.get-theme-version($theme) == 1 {
20
20
  $tokens: map.get(m3-sort.get-tokens($theme), color);
21
21
  }
@@ -24,7 +24,7 @@
24
24
  }
25
25
 
26
26
  @mixin typography($theme) {
27
- $tokens: m2-sort.get-typography-tokens($theme);
27
+ $tokens: map.get(m2-sort.get-tokens($theme), typography);
28
28
  @if inspection.get-theme-version($theme) == 1 {
29
29
  $tokens: map.get(m3-sort.get-tokens($theme), typography);
30
30
  }
@@ -33,7 +33,7 @@
33
33
  }
34
34
 
35
35
  @mixin density($theme) {
36
- $tokens: m2-sort.get-density-tokens($theme);
36
+ $tokens: map.get(m2-sort.get-tokens($theme), density);
37
37
  @if inspection.get-theme-version($theme) == 1 {
38
38
  $tokens: map.get(m3-sort.get-tokens($theme), density);
39
39
  }