@angular/material 20.0.0-rc.1 → 20.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) hide show
  1. package/autocomplete/_autocomplete-theme.scss +17 -37
  2. package/autocomplete/_m2-autocomplete.scss +3 -6
  3. package/autocomplete/_m3-autocomplete.scss +14 -9
  4. package/badge/_badge-theme.scss +9 -35
  5. package/badge/_m2-badge.scss +32 -35
  6. package/badge/_m3-badge.scss +31 -32
  7. package/bottom-sheet/_bottom-sheet-theme.scss +16 -27
  8. package/bottom-sheet/_m2-bottom-sheet.scss +11 -11
  9. package/bottom-sheet/_m3-bottom-sheet.scss +18 -17
  10. package/button/_button-theme.scss +29 -46
  11. package/button/_fab-theme.scss +22 -41
  12. package/button/_icon-button-theme.scss +29 -46
  13. package/button/_m2-button.scss +135 -133
  14. package/button/_m2-fab.scss +51 -53
  15. package/button/_m2-icon-button.scss +14 -17
  16. package/button/_m3-button.scss +145 -240
  17. package/button/_m3-fab.scss +69 -166
  18. package/button/_m3-icon-button.scss +28 -56
  19. package/button-toggle/_button-toggle-theme.scss +23 -49
  20. package/button-toggle/_m2-button-toggle.scss +45 -37
  21. package/button-toggle/_m3-button-toggle.scss +53 -53
  22. package/card/_card-theme.scss +16 -37
  23. package/card/_m2-card.scss +24 -25
  24. package/card/_m3-card.scss +32 -36
  25. package/checkbox/_checkbox-theme.scss +25 -52
  26. package/checkbox/_m2-checkbox.scss +32 -35
  27. package/checkbox/_m3-checkbox.scss +49 -84
  28. package/chips/_chips-theme.scss +24 -44
  29. package/chips/_m2-chip.scss +47 -51
  30. package/chips/_m3-chip.scss +63 -110
  31. package/core/_core-theme.scss +58 -56
  32. package/core/_core.scss +15 -18
  33. package/core/_m2-app.scss +3 -7
  34. package/core/_m3-app.scss +37 -24
  35. package/core/option/_m2-optgroup.scss +6 -9
  36. package/core/option/_m2-option.scss +10 -13
  37. package/core/option/_m3-optgroup.scss +16 -13
  38. package/core/option/_m3-option.scss +28 -48
  39. package/core/option/_optgroup-theme.scss +14 -25
  40. package/core/option/_option-theme.scss +22 -33
  41. package/core/ripple/_m2-ripple.scss +1 -4
  42. package/core/ripple/_m3-ripple.scss +11 -13
  43. package/core/ripple/_ripple-theme.scss +15 -33
  44. package/core/ripple/_ripple.scss +5 -5
  45. package/core/selection/pseudo-checkbox/_m2-pseudo-checkbox.scss +10 -11
  46. package/core/selection/pseudo-checkbox/_m3-pseudo-checkbox.scss +25 -40
  47. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +16 -27
  48. package/core/style/_sass-utils.scss +0 -29
  49. package/core/theming/_color-api-backwards-compatibility.scss +46 -29
  50. package/core/theming/_definition.scss +6 -0
  51. package/core/theming/_inspection.scss +0 -25
  52. package/core/tokens/_m3-system.scss +19 -68
  53. package/core/tokens/_m3-tokens.scss +0 -128
  54. package/core/tokens/_m3-utils.scss +11 -83
  55. package/core/tokens/_token-utils.scss +52 -246
  56. package/core/tokens/m3/_index.scss +1 -0
  57. package/core/tokens/m3/_theme.scss +47 -0
  58. package/datepicker/_datepicker-theme.scss +24 -39
  59. package/datepicker/_m2-datepicker.scss +55 -50
  60. package/datepicker/_m3-datepicker.scss +65 -113
  61. package/datepicker/index.d.ts +1 -0
  62. package/dialog/_dialog-theme.scss +15 -27
  63. package/dialog/_m2-dialog.scss +25 -26
  64. package/dialog/_m3-dialog.scss +35 -35
  65. package/divider/_divider-theme.scss +14 -25
  66. package/divider/_m2-divider.scss +2 -5
  67. package/divider/_m3-divider.scss +13 -13
  68. package/expansion/_expansion-theme.scss +15 -33
  69. package/expansion/_m2-expansion.scss +28 -27
  70. package/expansion/_m3-expansion.scss +41 -36
  71. package/fesm2022/animation-DfMFjxHu.mjs.map +1 -1
  72. package/fesm2022/autocomplete/testing.mjs.map +1 -1
  73. package/fesm2022/autocomplete.mjs +23 -23
  74. package/fesm2022/autocomplete.mjs.map +1 -1
  75. package/fesm2022/badge/testing.mjs.map +1 -1
  76. package/fesm2022/badge.mjs +11 -11
  77. package/fesm2022/badge.mjs.map +1 -1
  78. package/fesm2022/bottom-sheet/testing.mjs.map +1 -1
  79. package/fesm2022/bottom-sheet.mjs +11 -11
  80. package/fesm2022/bottom-sheet.mjs.map +1 -1
  81. package/fesm2022/button/testing.mjs.map +1 -1
  82. package/fesm2022/button-toggle/testing.mjs.map +1 -1
  83. package/fesm2022/button-toggle.mjs +19 -23
  84. package/fesm2022/button-toggle.mjs.map +1 -1
  85. package/fesm2022/button.mjs +20 -20
  86. package/fesm2022/button.mjs.map +1 -1
  87. package/fesm2022/card/testing.mjs.map +1 -1
  88. package/fesm2022/card.mjs +47 -47
  89. package/fesm2022/card.mjs.map +1 -1
  90. package/fesm2022/checkbox/testing.mjs.map +1 -1
  91. package/fesm2022/checkbox.mjs +11 -11
  92. package/fesm2022/checkbox.mjs.map +1 -1
  93. package/fesm2022/chips/testing.mjs.map +1 -1
  94. package/fesm2022/chips.mjs +52 -52
  95. package/fesm2022/chips.mjs.map +1 -1
  96. package/fesm2022/{common-module-CF0eSYO4.mjs → common-module-BeAwwoi6.mjs} +5 -5
  97. package/fesm2022/common-module-BeAwwoi6.mjs.map +1 -0
  98. package/fesm2022/core/testing.mjs.map +1 -1
  99. package/fesm2022/core.mjs +24 -24
  100. package/fesm2022/core.mjs.map +1 -1
  101. package/fesm2022/date-formats-K6TQue-Y.mjs.map +1 -1
  102. package/fesm2022/date-range-input-harness-Bp1T4oUe.mjs.map +1 -1
  103. package/fesm2022/datepicker/testing.mjs.map +1 -1
  104. package/fesm2022/datepicker.mjs +99 -95
  105. package/fesm2022/datepicker.mjs.map +1 -1
  106. package/fesm2022/dialog/testing.mjs +18 -5
  107. package/fesm2022/dialog/testing.mjs.map +1 -1
  108. package/fesm2022/dialog.mjs +2 -2
  109. package/fesm2022/dialog.mjs.map +1 -1
  110. package/fesm2022/divider/testing.mjs.map +1 -1
  111. package/fesm2022/divider.mjs +8 -8
  112. package/fesm2022/divider.mjs.map +1 -1
  113. package/fesm2022/{error-options-CbAHLQL5.mjs → error-options-C79tZCHG.mjs} +7 -7
  114. package/fesm2022/error-options-C79tZCHG.mjs.map +1 -0
  115. package/fesm2022/error-state-Dtb1IHM-.mjs.map +1 -1
  116. package/fesm2022/expansion/testing.mjs.map +1 -1
  117. package/fesm2022/expansion.mjs +28 -28
  118. package/fesm2022/expansion.mjs.map +1 -1
  119. package/fesm2022/form-field/testing/control.mjs.map +1 -1
  120. package/fesm2022/form-field/testing.mjs.map +1 -1
  121. package/fesm2022/{form-field-sL9_TuE-.mjs → form-field-Cdw3iYrm.mjs} +33 -33
  122. package/fesm2022/form-field-Cdw3iYrm.mjs.map +1 -0
  123. package/fesm2022/form-field.mjs +3 -3
  124. package/fesm2022/form-field.mjs.map +1 -1
  125. package/fesm2022/grid-list/testing.mjs.map +1 -1
  126. package/fesm2022/grid-list.mjs +24 -24
  127. package/fesm2022/grid-list.mjs.map +1 -1
  128. package/fesm2022/icon/testing.mjs +8 -8
  129. package/fesm2022/icon/testing.mjs.map +1 -1
  130. package/fesm2022/{icon-button-BASP1JI8.mjs → icon-button-D5zzuoJc.mjs} +9 -9
  131. package/fesm2022/icon-button-D5zzuoJc.mjs.map +1 -0
  132. package/fesm2022/{icon-registry-DVLYRZv3.mjs → icon-registry-DVrJNtTv.mjs} +4 -4
  133. package/fesm2022/icon-registry-DVrJNtTv.mjs.map +1 -0
  134. package/fesm2022/icon.mjs +10 -10
  135. package/fesm2022/icon.mjs.map +1 -1
  136. package/fesm2022/{index-BNtCg9r0.mjs → index-CrjYeoWX.mjs} +9 -9
  137. package/fesm2022/index-CrjYeoWX.mjs.map +1 -0
  138. package/fesm2022/{index-DxCSjCL3.mjs → index-DTIUI_kX.mjs} +7 -7
  139. package/fesm2022/index-DTIUI_kX.mjs.map +1 -0
  140. package/fesm2022/input/testing.mjs.map +1 -1
  141. package/fesm2022/input-harness-oQzj5EsQ.mjs.map +1 -1
  142. package/fesm2022/input-value-accessor-D1GvPuqO.mjs.map +1 -1
  143. package/fesm2022/input.mjs +12 -12
  144. package/fesm2022/input.mjs.map +1 -1
  145. package/fesm2022/{internal-form-field-_OHaksOO.mjs → internal-form-field-B9_shC5z.mjs} +4 -4
  146. package/fesm2022/internal-form-field-B9_shC5z.mjs.map +1 -0
  147. package/fesm2022/{line-CtAKiRo6.mjs → line-XysKlyvU.mjs} +9 -9
  148. package/fesm2022/line-XysKlyvU.mjs.map +1 -0
  149. package/fesm2022/list/testing.mjs.map +1 -1
  150. package/fesm2022/list.mjs +55 -55
  151. package/fesm2022/list.mjs.map +1 -1
  152. package/fesm2022/material.mjs.map +1 -1
  153. package/fesm2022/menu/testing.mjs.map +1 -1
  154. package/fesm2022/menu.mjs +20 -20
  155. package/fesm2022/menu.mjs.map +1 -1
  156. package/fesm2022/{module-DToxyW7l.mjs → module-CVpKZX1V.mjs} +7 -7
  157. package/fesm2022/module-CVpKZX1V.mjs.map +1 -0
  158. package/fesm2022/{module-ChwDH6BC.mjs → module-CdXqcjot.mjs} +28 -28
  159. package/fesm2022/module-CdXqcjot.mjs.map +1 -0
  160. package/fesm2022/{module-m5vWw9-5.mjs → module-CwYXiMoV.mjs} +12 -12
  161. package/fesm2022/module-CwYXiMoV.mjs.map +1 -0
  162. package/fesm2022/{module-DqTK2swA.mjs → module-r2U_2G3G.mjs} +17 -17
  163. package/fesm2022/module-r2U_2G3G.mjs.map +1 -0
  164. package/fesm2022/{option-hkPAbXDN.mjs → option-D4ZNnnWi.mjs} +11 -11
  165. package/fesm2022/option-D4ZNnnWi.mjs.map +1 -0
  166. package/fesm2022/option-harness-BFcc-M_4.mjs.map +1 -1
  167. package/fesm2022/paginator/testing.mjs.map +1 -1
  168. package/fesm2022/paginator.mjs +25 -25
  169. package/fesm2022/paginator.mjs.map +1 -1
  170. package/fesm2022/progress-bar/testing.mjs.map +1 -1
  171. package/fesm2022/progress-bar.mjs +8 -8
  172. package/fesm2022/progress-bar.mjs.map +1 -1
  173. package/fesm2022/progress-spinner/testing.mjs.map +1 -1
  174. package/fesm2022/progress-spinner.mjs +8 -8
  175. package/fesm2022/progress-spinner.mjs.map +1 -1
  176. package/fesm2022/{pseudo-checkbox-Ddidc23S.mjs → pseudo-checkbox-DQugCpur.mjs} +4 -4
  177. package/fesm2022/pseudo-checkbox-DQugCpur.mjs.map +1 -0
  178. package/fesm2022/{pseudo-checkbox-module--am9-RIA.mjs → pseudo-checkbox-module-BXWS_-PP.mjs} +7 -7
  179. package/fesm2022/pseudo-checkbox-module-BXWS_-PP.mjs.map +1 -0
  180. package/fesm2022/public-api-BoO5eSq-.mjs.map +1 -1
  181. package/fesm2022/radio/testing.mjs.map +1 -1
  182. package/fesm2022/radio.mjs +19 -16
  183. package/fesm2022/radio.mjs.map +1 -1
  184. package/fesm2022/{ripple-DUGA2BAa.mjs → ripple-BtLhcfGO.mjs} +7 -7
  185. package/fesm2022/ripple-BtLhcfGO.mjs.map +1 -0
  186. package/fesm2022/{ripple-loader-Xy4bv6Xh.mjs → ripple-loader-DBdhLqHy.mjs} +5 -5
  187. package/fesm2022/ripple-loader-DBdhLqHy.mjs.map +1 -0
  188. package/fesm2022/select/testing.mjs.map +1 -1
  189. package/fesm2022/select.mjs +12 -12
  190. package/fesm2022/select.mjs.map +1 -1
  191. package/fesm2022/sidenav/testing.mjs.map +1 -1
  192. package/fesm2022/sidenav.mjs +29 -25
  193. package/fesm2022/sidenav.mjs.map +1 -1
  194. package/fesm2022/slide-toggle/testing.mjs.map +1 -1
  195. package/fesm2022/slide-toggle.mjs +11 -11
  196. package/fesm2022/slide-toggle.mjs.map +1 -1
  197. package/fesm2022/slider/testing.mjs.map +1 -1
  198. package/fesm2022/slider.mjs +21 -21
  199. package/fesm2022/slider.mjs.map +1 -1
  200. package/fesm2022/snack-bar/testing.mjs.map +1 -1
  201. package/fesm2022/snack-bar.mjs +29 -29
  202. package/fesm2022/snack-bar.mjs.map +1 -1
  203. package/fesm2022/sort/testing.mjs.map +1 -1
  204. package/fesm2022/sort.mjs +15 -15
  205. package/fesm2022/sort.mjs.map +1 -1
  206. package/fesm2022/stepper/testing.mjs.map +1 -1
  207. package/fesm2022/stepper.mjs +38 -38
  208. package/fesm2022/stepper.mjs.map +1 -1
  209. package/fesm2022/{structural-styles-DA18Hchc.mjs → structural-styles-DWEe15sC.mjs} +4 -4
  210. package/fesm2022/structural-styles-DWEe15sC.mjs.map +1 -0
  211. package/fesm2022/table/testing.mjs.map +1 -1
  212. package/fesm2022/table.mjs +56 -56
  213. package/fesm2022/table.mjs.map +1 -1
  214. package/fesm2022/tabs/testing.mjs.map +1 -1
  215. package/fesm2022/tabs.mjs +67 -63
  216. package/fesm2022/tabs.mjs.map +1 -1
  217. package/fesm2022/timepicker/testing.mjs.map +1 -1
  218. package/fesm2022/timepicker.mjs +20 -20
  219. package/fesm2022/timepicker.mjs.map +1 -1
  220. package/fesm2022/toolbar/testing.mjs.map +1 -1
  221. package/fesm2022/toolbar.mjs +12 -12
  222. package/fesm2022/toolbar.mjs.map +1 -1
  223. package/fesm2022/tooltip/testing.mjs.map +1 -1
  224. package/fesm2022/tooltip.mjs +2 -2
  225. package/fesm2022/tooltip.mjs.map +1 -1
  226. package/fesm2022/tree/testing.mjs.map +1 -1
  227. package/fesm2022/tree.mjs +26 -26
  228. package/fesm2022/tree.mjs.map +1 -1
  229. package/form-field/_form-field-theme.scss +23 -55
  230. package/form-field/_m2-form-field.scss +112 -91
  231. package/form-field/_m3-form-field.scss +116 -131
  232. package/grid-list/_grid-list-theme.scss +13 -23
  233. package/grid-list/_m2-grid-list.scss +8 -7
  234. package/grid-list/_m3-grid-list.scss +14 -15
  235. package/icon/_icon-theme.scss +20 -30
  236. package/icon/_m2-icon.scss +1 -4
  237. package/icon/_m3-icon.scss +13 -27
  238. package/input/_input-theme.scss +7 -40
  239. package/list/_list-theme.scss +22 -52
  240. package/list/_m2-list.scss +56 -55
  241. package/list/_m3-list.scss +69 -67
  242. package/menu/_m2-menu.scss +22 -25
  243. package/menu/_m3-menu.scss +35 -38
  244. package/menu/_menu-theme.scss +15 -27
  245. package/package.json +2 -2
  246. package/paginator/_m2-paginator.scss +16 -17
  247. package/paginator/_m3-paginator.scss +28 -27
  248. package/paginator/_paginator-theme.scss +14 -40
  249. package/prebuilt-themes/deeppurple-amber.css +1 -1
  250. package/prebuilt-themes/indigo-pink.css +1 -1
  251. package/prebuilt-themes/pink-bluegrey.css +1 -1
  252. package/prebuilt-themes/purple-green.css +1 -1
  253. package/progress-bar/_m2-progress-bar.scss +5 -8
  254. package/progress-bar/_m3-progress-bar.scss +17 -26
  255. package/progress-bar/_progress-bar-theme.scss +17 -27
  256. package/progress-spinner/_m2-progress-spinner.scss +3 -6
  257. package/progress-spinner/_m3-progress-spinner.scss +15 -22
  258. package/progress-spinner/_progress-spinner-theme.scss +20 -43
  259. package/radio/_m2-radio.scss +24 -27
  260. package/radio/_m3-radio.scss +44 -58
  261. package/radio/_radio-theme.scss +23 -50
  262. package/schematics/ng-add/index.js +1 -1
  263. package/schematics/ng-update/index_bundled.js +2 -0
  264. package/schematics/ng-update/index_bundled.js.map +1 -1
  265. package/select/_m2-select.scss +15 -18
  266. package/select/_m3-select.scss +32 -38
  267. package/select/_select-theme.scss +23 -50
  268. package/sidenav/_m2-sidenav.scss +9 -12
  269. package/sidenav/_m3-sidenav.scss +20 -22
  270. package/sidenav/_sidenav-theme.scss +14 -25
  271. package/slide-toggle/_m2-slide-toggle.scss +82 -83
  272. package/slide-toggle/_m3-slide-toggle.scss +102 -143
  273. package/slide-toggle/_slide-toggle-theme.scss +26 -61
  274. package/slider/_m2-slider.scss +46 -46
  275. package/slider/_m3-slider.scss +54 -109
  276. package/slider/_slider-theme.scss +23 -34
  277. package/snack-bar/_m2-snack-bar.scss +10 -11
  278. package/snack-bar/_m3-snack-bar.scss +20 -19
  279. package/snack-bar/_snack-bar-theme.scss +14 -26
  280. package/sort/_m2-sort.scss +1 -4
  281. package/sort/_m3-sort.scss +11 -9
  282. package/sort/_sort-theme.scss +15 -27
  283. package/stepper/_m2-stepper.scss +32 -31
  284. package/stepper/_m3-stepper.scss +44 -79
  285. package/stepper/_stepper-theme.scss +22 -50
  286. package/table/_m2-table.scss +25 -26
  287. package/table/_m3-table.scss +36 -27
  288. package/table/_table-theme.scss +15 -32
  289. package/tabs/_m2-tabs.scss +26 -29
  290. package/tabs/_m3-tabs.scss +40 -51
  291. package/tabs/_tabs-theme.scss +37 -58
  292. package/tabs/index.d.ts +5 -3
  293. package/timepicker/_m2-timepicker.scss +3 -6
  294. package/timepicker/_m3-timepicker.scss +14 -15
  295. package/timepicker/_timepicker-theme.scss +20 -45
  296. package/toolbar/_m2-toolbar.scss +11 -12
  297. package/toolbar/_m3-toolbar.scss +22 -17
  298. package/toolbar/_toolbar-theme.scss +13 -37
  299. package/tooltip/_m2-tooltip.scss +9 -11
  300. package/tooltip/_m3-tooltip.scss +19 -19
  301. package/tooltip/_tooltip-theme.scss +17 -35
  302. package/tree/_m2-tree.scss +6 -9
  303. package/tree/_m3-tree.scss +19 -16
  304. package/tree/_tree-theme.scss +14 -36
  305. package/fesm2022/common-module-CF0eSYO4.mjs.map +0 -1
  306. package/fesm2022/error-options-CbAHLQL5.mjs.map +0 -1
  307. package/fesm2022/form-field-sL9_TuE-.mjs.map +0 -1
  308. package/fesm2022/icon-button-BASP1JI8.mjs.map +0 -1
  309. package/fesm2022/icon-registry-DVLYRZv3.mjs.map +0 -1
  310. package/fesm2022/index-BNtCg9r0.mjs.map +0 -1
  311. package/fesm2022/index-DxCSjCL3.mjs.map +0 -1
  312. package/fesm2022/internal-form-field-_OHaksOO.mjs.map +0 -1
  313. package/fesm2022/line-CtAKiRo6.mjs.map +0 -1
  314. package/fesm2022/module-ChwDH6BC.mjs.map +0 -1
  315. package/fesm2022/module-DToxyW7l.mjs.map +0 -1
  316. package/fesm2022/module-DqTK2swA.mjs.map +0 -1
  317. package/fesm2022/module-m5vWw9-5.mjs.map +0 -1
  318. package/fesm2022/option-hkPAbXDN.mjs.map +0 -1
  319. package/fesm2022/pseudo-checkbox-Ddidc23S.mjs.map +0 -1
  320. package/fesm2022/pseudo-checkbox-module--am9-RIA.mjs.map +0 -1
  321. package/fesm2022/ripple-DUGA2BAa.mjs.map +0 -1
  322. package/fesm2022/ripple-loader-Xy4bv6Xh.mjs.map +0 -1
  323. package/fesm2022/structural-styles-DA18Hchc.mjs.map +0 -1
  324. package/schematics/tsconfig.json +0 -26
@@ -5,9 +5,6 @@
5
5
  @use '../core/tokens/m2-utils';
6
6
  @use 'sass:map';
7
7
 
8
- // The prefix used to generate the fully qualified name for tokens in this file.
9
- $prefix: (mat, slide-toggle);
10
-
11
8
  // Tokens that can't be configured through Angular Material's current theming API,
12
9
  // but may be in a future version of the theming API.
13
10
  @function get-unthemable-tokens() {
@@ -19,46 +16,46 @@ $prefix: (mat, slide-toggle);
19
16
  // The m2 slide-toggle uses transforms to hide & show the tracks while
20
17
  // the m3 slide-toggle uses opacity.
21
18
  @return (
22
- disabled-handle-opacity: null,
23
- disabled-selected-handle-opacity: 0.38,
24
- disabled-selected-icon-opacity: 0.38,
25
- disabled-track-opacity: 0.12,
26
- disabled-unselected-handle-opacity: 0.38,
27
- disabled-unselected-icon-opacity: 0.38,
28
- disabled-unselected-track-outline-color: transparent,
29
- disabled-unselected-track-outline-width: 1px,
30
- handle-height: 20px,
31
- handle-shape: 10px,
32
- handle-width: 20px,
33
- hidden-track-opacity: 1,
34
- hidden-track-transition: transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1),
35
- pressed-handle-size: 20px,
36
- selected-focus-state-layer-opacity: 0.12,
37
- selected-handle-horizontal-margin: 0,
38
- selected-handle-size: 20px,
39
- selected-hover-state-layer-opacity: 0.04,
40
- selected-icon-size: 18px,
41
- selected-pressed-handle-horizontal-margin: 0,
42
- selected-pressed-state-layer-opacity: 0.1,
43
- selected-track-outline-color: transparent,
44
- selected-track-outline-width: 1px,
45
- selected-with-icon-handle-horizontal-margin: 0,
46
- track-height: 14px,
47
- track-outline-color: transparent,
48
- track-outline-width: 1px,
49
- track-shape: 7px,
50
- track-width: 36px,
51
- unselected-focus-state-layer-opacity: 0.12,
52
- unselected-handle-horizontal-margin: 0,
53
- unselected-handle-size: 20px,
54
- unselected-hover-state-layer-opacity: 0.04,
55
- unselected-icon-size: 18px,
56
- unselected-pressed-handle-horizontal-margin: 0,
57
- unselected-pressed-state-layer-opacity: 0.1,
58
- unselected-with-icon-handle-horizontal-margin: 0,
59
- visible-track-opacity: 1,
60
- visible-track-transition: transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1),
61
- with-icon-handle-size: 20px,
19
+ slide-toggle-disabled-handle-opacity: null,
20
+ slide-toggle-disabled-selected-handle-opacity: 0.38,
21
+ slide-toggle-disabled-selected-icon-opacity: 0.38,
22
+ slide-toggle-disabled-track-opacity: 0.12,
23
+ slide-toggle-disabled-unselected-handle-opacity: 0.38,
24
+ slide-toggle-disabled-unselected-icon-opacity: 0.38,
25
+ slide-toggle-disabled-unselected-track-outline-color: transparent,
26
+ slide-toggle-disabled-unselected-track-outline-width: 1px,
27
+ slide-toggle-handle-height: 20px,
28
+ slide-toggle-handle-shape: 10px,
29
+ slide-toggle-handle-width: 20px,
30
+ slide-toggle-hidden-track-opacity: 1,
31
+ slide-toggle-hidden-track-transition: transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1),
32
+ slide-toggle-pressed-handle-size: 20px,
33
+ slide-toggle-selected-focus-state-layer-opacity: 0.12,
34
+ slide-toggle-selected-handle-horizontal-margin: 0,
35
+ slide-toggle-selected-handle-size: 20px,
36
+ slide-toggle-selected-hover-state-layer-opacity: 0.04,
37
+ slide-toggle-selected-icon-size: 18px,
38
+ slide-toggle-selected-pressed-handle-horizontal-margin: 0,
39
+ slide-toggle-selected-pressed-state-layer-opacity: 0.1,
40
+ slide-toggle-selected-track-outline-color: transparent,
41
+ slide-toggle-selected-track-outline-width: 1px,
42
+ slide-toggle-selected-with-icon-handle-horizontal-margin: 0,
43
+ slide-toggle-track-height: 14px,
44
+ slide-toggle-track-outline-color: transparent,
45
+ slide-toggle-track-outline-width: 1px,
46
+ slide-toggle-track-shape: 7px,
47
+ slide-toggle-track-width: 36px,
48
+ slide-toggle-unselected-focus-state-layer-opacity: 0.12,
49
+ slide-toggle-unselected-handle-horizontal-margin: 0,
50
+ slide-toggle-unselected-handle-size: 20px,
51
+ slide-toggle-unselected-hover-state-layer-opacity: 0.04,
52
+ slide-toggle-unselected-icon-size: 18px,
53
+ slide-toggle-unselected-pressed-handle-horizontal-margin: 0,
54
+ slide-toggle-unselected-pressed-state-layer-opacity: 0.1,
55
+ slide-toggle-unselected-with-icon-handle-horizontal-margin: 0,
56
+ slide-toggle-visible-track-opacity: 1,
57
+ slide-toggle-visible-track-transition: transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1),
58
+ slide-toggle-with-icon-handle-size: 20px,
62
59
  );
63
60
  }
64
61
 
@@ -80,29 +77,29 @@ $prefix: (mat, slide-toggle);
80
77
  @return map.merge(
81
78
  $theme-color-tokens,
82
79
  (
83
- disabled-handle-elevation-shadow: elevation.get-box-shadow(0),
84
- disabled-selected-handle-color: $disabled-handle-color,
85
- disabled-selected-icon-color: $icon-color,
86
- disabled-selected-track-color: $on-surface,
87
- disabled-unselected-handle-color: $disabled-handle-color,
88
- disabled-unselected-icon-color: $icon-color,
89
- disabled-unselected-track-color: $on-surface,
90
- handle-elevation-shadow: elevation.get-box-shadow(1),
91
- handle-surface-color: #fff,
92
- label-text-color: inspection.get-theme-color($theme, foreground, text),
93
- selected-icon-color: $icon-color,
94
- unselected-hover-handle-color: $on-surface-state-content,
95
- unselected-focus-handle-color: $on-surface-state-content,
96
- unselected-focus-state-layer-color: $on-surface,
97
- unselected-focus-track-color: $hairline,
98
- unselected-icon-color: $icon-color,
99
- unselected-handle-color: $on-surface-variant,
100
- unselected-hover-state-layer-color: $on-surface,
101
- unselected-hover-track-color: $hairline,
102
- unselected-pressed-handle-color: $on-surface-state-content,
103
- unselected-pressed-track-color: $hairline,
104
- unselected-pressed-state-layer-color: $on-surface,
105
- unselected-track-color: $hairline,
80
+ slide-toggle-disabled-handle-elevation-shadow: elevation.get-box-shadow(0),
81
+ slide-toggle-disabled-selected-handle-color: $disabled-handle-color,
82
+ slide-toggle-disabled-selected-icon-color: $icon-color,
83
+ slide-toggle-disabled-selected-track-color: $on-surface,
84
+ slide-toggle-disabled-unselected-handle-color: $disabled-handle-color,
85
+ slide-toggle-disabled-unselected-icon-color: $icon-color,
86
+ slide-toggle-disabled-unselected-track-color: $on-surface,
87
+ slide-toggle-handle-elevation-shadow: elevation.get-box-shadow(1),
88
+ slide-toggle-handle-surface-color: #fff,
89
+ slide-toggle-label-text-color: inspection.get-theme-color($theme, foreground, text),
90
+ slide-toggle-selected-icon-color: $icon-color,
91
+ slide-toggle-unselected-hover-handle-color: $on-surface-state-content,
92
+ slide-toggle-unselected-focus-handle-color: $on-surface-state-content,
93
+ slide-toggle-unselected-focus-state-layer-color: $on-surface,
94
+ slide-toggle-unselected-focus-track-color: $hairline,
95
+ slide-toggle-unselected-icon-color: $icon-color,
96
+ slide-toggle-unselected-handle-color: $on-surface-variant,
97
+ slide-toggle-unselected-hover-state-layer-color: $on-surface,
98
+ slide-toggle-unselected-hover-track-color: $hairline,
99
+ slide-toggle-unselected-pressed-handle-color: $on-surface-state-content,
100
+ slide-toggle-unselected-pressed-track-color: $hairline,
101
+ slide-toggle-unselected-pressed-state-layer-color: $on-surface,
102
+ slide-toggle-unselected-track-color: $hairline,
106
103
  )
107
104
  );
108
105
  }
@@ -115,28 +112,30 @@ $prefix: (mat, slide-toggle);
115
112
  $inverse: inspection.get-theme-color($theme, $palette-name, if($is-dark, 600, 300));
116
113
 
117
114
  @return (
118
- selected-focus-state-layer-color: $palette-color,
119
- selected-handle-color: $palette-color,
120
- selected-hover-state-layer-color: $palette-color,
121
- selected-pressed-state-layer-color: $palette-color,
122
- selected-focus-handle-color: $state-content,
123
- selected-hover-handle-color: $state-content,
124
- selected-pressed-handle-color: $state-content,
125
- selected-focus-track-color: $inverse,
126
- selected-hover-track-color: $inverse,
127
- selected-pressed-track-color: $inverse,
128
- selected-track-color: $inverse,
115
+ slide-toggle-selected-focus-state-layer-color: $palette-color,
116
+ slide-toggle-selected-handle-color: $palette-color,
117
+ slide-toggle-selected-hover-state-layer-color: $palette-color,
118
+ slide-toggle-selected-pressed-state-layer-color: $palette-color,
119
+ slide-toggle-selected-focus-handle-color: $state-content,
120
+ slide-toggle-selected-hover-handle-color: $state-content,
121
+ slide-toggle-selected-pressed-handle-color: $state-content,
122
+ slide-toggle-selected-focus-track-color: $inverse,
123
+ slide-toggle-selected-hover-track-color: $inverse,
124
+ slide-toggle-selected-pressed-track-color: $inverse,
125
+ slide-toggle-selected-track-color: $inverse,
129
126
  );
130
127
  }
131
128
 
132
129
  // Tokens that can be configured through Angular Material's typography theming API.
133
130
  @function get-typography-tokens($theme) {
134
131
  @return (
135
- label-text-font: inspection.get-theme-typography($theme, body-2, font-family),
136
- label-text-line-height: inspection.get-theme-typography($theme, body-2, line-height),
137
- label-text-size: inspection.get-theme-typography($theme, body-2, font-size),
138
- label-text-tracking: inspection.get-theme-typography($theme, body-2, letter-spacing),
139
- label-text-weight: inspection.get-theme-typography($theme, body-2, font-weight)
132
+ slide-toggle-label-text-font: inspection.get-theme-typography($theme, body-2, font-family),
133
+ slide-toggle-label-text-line-height:
134
+ inspection.get-theme-typography($theme, body-2, line-height),
135
+ slide-toggle-label-text-size: inspection.get-theme-typography($theme, body-2, font-size),
136
+ slide-toggle-label-text-tracking:
137
+ inspection.get-theme-typography($theme, body-2, letter-spacing),
138
+ slide-toggle-label-text-weight: inspection.get-theme-typography($theme, body-2, font-weight)
140
139
  );
141
140
  }
142
141
 
@@ -146,7 +145,7 @@ $prefix: (mat, slide-toggle);
146
145
 
147
146
  @return (
148
147
  // The diameter of the handle ripple.
149
- state-layer-size: map.get((
148
+ slide-toggle-state-layer-size: map.get((
150
149
  0: 40px,
151
150
  -1: 36px,
152
151
  -2: 32px,
@@ -1,15 +1,15 @@
1
1
  @use 'sass:map';
2
2
  @use '../core/tokens/m3-utils';
3
-
4
- // The prefix used to generate the fully qualified name for tokens in this file.
5
- $prefix: (mat, slide-toggle);
3
+ @use '../core/tokens/m3';
6
4
 
7
5
  /// Generates custom tokens for the mat-slide-toggle.
8
- /// @param {Map} $systems The MDC system tokens
9
- /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
10
- /// @param {Map} $token-slots Possible token slots
11
- /// @return {Map} A set of custom tokens for the mat-slide-toggle
12
- @function get-tokens($systems, $exclude-hardcoded, $token-slots) {
6
+ /// @param {String} $color-variant The color variant to use for the component
7
+ @function get-tokens($theme: m3.$sys-theme, $color-variant: null) {
8
+ $system: m3-utils.get-system($theme);
9
+ @if $color-variant {
10
+ $system: m3-utils.replace-colors-with-variant($system, primary, $color-variant);
11
+ }
12
+
13
13
  // visible/hidden-track-opacity:
14
14
  // The hidden and visible track represent whichever track is visible or
15
15
  // hidden in the ui. This could be the .mdc-switch__track :before or
@@ -17,144 +17,103 @@ $prefix: (mat, slide-toggle);
17
17
  //
18
18
  // The m2 slide-toggle uses transforms to hide & show the tracks while
19
19
  // the m3 slide-toggle uses opacity.
20
- $tokens: (
21
- disabled-selected-handle-color: map.get($systems, md-sys-color, surface),
22
- disabled-selected-handle-opacity: if($exclude-hardcoded, null, 1),
23
- disabled-selected-icon-color: map.get($systems, md-sys-color, on-surface),
24
- disabled-selected-icon-opacity: if($exclude-hardcoded, null, 0.38),
25
- disabled-selected-track-color: map.get($systems, md-sys-color, on-surface),
26
- disabled-track-opacity: if($exclude-hardcoded, null, 0.12),
27
- disabled-unselected-handle-color: map.get($systems, md-sys-color, on-surface),
28
- disabled-unselected-handle-opacity: if($exclude-hardcoded, null, 0.38),
29
- disabled-unselected-icon-color: map.get($systems, md-sys-color, surface-variant),
30
- disabled-unselected-icon-opacity: if($exclude-hardcoded, null, 0.38),
31
- disabled-unselected-track-color: map.get($systems, md-sys-color, surface-variant),
32
- disabled-unselected-track-outline-color: map.get($systems, md-sys-color, on-surface),
33
- disabled-unselected-track-outline-width:
34
- m3-utils.hardcode(2px, $exclude-hardcoded),
35
- handle-shape: map.get($systems, md-sys-shape, corner-full),
36
- hidden-track-opacity: m3-utils.hardcode(0, $exclude-hardcoded),
37
- hidden-track-transition: m3-utils.hardcode(opacity 75ms, $exclude-hardcoded),
38
- label-text-color: map.get($systems, md-sys-color, on-surface),
39
- label-text-font: map.get($systems, md-sys-typescale, body-medium-font),
40
- label-text-line-height: map.get($systems, md-sys-typescale, body-medium-line-height),
41
- label-text-size: map.get($systems, md-sys-typescale, body-medium-size),
42
- label-text-tracking: map.get($systems, md-sys-typescale, body-medium-tracking),
43
- label-text-weight: map.get($systems, md-sys-typescale, body-medium-weight),
44
- pressed-handle-size: m3-utils.hardcode(28px, $exclude-hardcoded),
45
- selected-focus-handle-color: map.get($systems, md-sys-color, primary-container),
46
- selected-focus-state-layer-color: map.get($systems, md-sys-color, primary),
47
- selected-focus-state-layer-opacity:
48
- map.get($systems, md-sys-state, focus-state-layer-opacity),
49
- selected-focus-track-color: map.get($systems, md-sys-color, primary),
50
- selected-handle-color: map.get($systems, md-sys-color, on-primary),
51
- selected-handle-horizontal-margin: m3-utils.hardcode(0 24px, $exclude-hardcoded),
52
- selected-handle-size: m3-utils.hardcode(24px, $exclude-hardcoded),
53
- selected-hover-handle-color: map.get($systems, md-sys-color, primary-container),
54
- selected-hover-state-layer-color: map.get($systems, md-sys-color, primary),
55
- selected-hover-state-layer-opacity: map.get($systems, md-sys-state, hover-state-layer-opacity),
56
- selected-hover-track-color: map.get($systems, md-sys-color, primary),
57
- selected-icon-color: map.get($systems, md-sys-color, on-primary-container),
58
- selected-icon-size: if($exclude-hardcoded, null, 16px),
59
- selected-pressed-handle-color: map.get($systems, md-sys-color, primary-container),
60
- selected-pressed-handle-horizontal-margin:
61
- m3-utils.hardcode(0 22px, $exclude-hardcoded),
62
- selected-pressed-state-layer-color: map.get($systems, md-sys-color, primary),
63
- selected-pressed-state-layer-opacity:
64
- map.get($systems, md-sys-state, pressed-state-layer-opacity),
65
- selected-pressed-track-color: map.get($systems, md-sys-color, primary),
66
- selected-track-color: map.get($systems, md-sys-color, primary),
67
- selected-track-outline-color: m3-utils.hardcode(transparent, $exclude-hardcoded),
68
- selected-track-outline-width: m3-utils.hardcode(2px, $exclude-hardcoded),
69
- selected-with-icon-handle-horizontal-margin:
70
- m3-utils.hardcode(0 24px, $exclude-hardcoded),
71
- state-layer-size: if($exclude-hardcoded, null, 40px),
72
- track-height: if($exclude-hardcoded, null, 32px),
73
- track-outline-color: map.get($systems, md-sys-color, outline),
74
- track-outline-width: if($exclude-hardcoded, null, 2px),
75
- track-shape: map.get($systems, md-sys-shape, corner-full),
76
- track-width: if($exclude-hardcoded, null, 52px),
77
- unselected-focus-handle-color: map.get($systems, md-sys-color, on-surface-variant),
78
- unselected-focus-state-layer-color: map.get($systems, md-sys-color, on-surface),
79
- unselected-focus-state-layer-opacity:
80
- map.get($systems, md-sys-state, focus-state-layer-opacity),
81
- unselected-focus-track-color: map.get($systems, md-sys-color, surface-variant),
82
- unselected-handle-color: map.get($systems, md-sys-color, outline),
83
- unselected-handle-horizontal-margin:
84
- m3-utils.hardcode(0 8px, $exclude-hardcoded),
85
- unselected-handle-size: m3-utils.hardcode(16px, $exclude-hardcoded),
86
- unselected-hover-handle-color: map.get($systems, md-sys-color, on-surface-variant),
87
- unselected-hover-state-layer-color: map.get($systems, md-sys-color, on-surface),
88
- unselected-hover-state-layer-opacity:
89
- map.get($systems, md-sys-state, hover-state-layer-opacity),
90
- unselected-hover-track-color: map.get($systems, md-sys-color, surface-variant),
91
- unselected-icon-color: map.get($systems, md-sys-color, surface-variant),
92
- unselected-icon-size: if($exclude-hardcoded, null, 16px),
93
- unselected-pressed-handle-color: map.get($systems, md-sys-color, on-surface-variant),
94
- unselected-pressed-handle-horizontal-margin:
95
- m3-utils.hardcode(0 2px, $exclude-hardcoded),
96
- unselected-pressed-state-layer-color: map.get($systems, md-sys-color, on-surface),
97
- unselected-pressed-state-layer-opacity:
98
- map.get($systems, md-sys-state, pressed-state-layer-opacity),
99
- unselected-pressed-track-color: map.get($systems, md-sys-color, surface-variant),
100
- unselected-track-color: map.get($systems, md-sys-color, surface-variant),
101
- unselected-with-icon-handle-horizontal-margin:
102
- m3-utils.hardcode(0 4px, $exclude-hardcoded),
103
- visible-track-opacity: m3-utils.hardcode(1, $exclude-hardcoded),
104
- visible-track-transition: m3-utils.hardcode(opacity 75ms, $exclude-hardcoded),
105
- with-icon-handle-size: m3-utils.hardcode(24px, $exclude-hardcoded),
106
- // These tokens have always been empty for M3, but these token values should be used
107
- // (with the same technique of calling `elevation.get-box-shadow`)
108
- // Currently, internal users have M2 tokens being applied by accident
109
- // handle-elevation-shadow: map.get($systems, md-sys-elevation, level0),
110
- // disabled-handle-elevation-shadow: map.get($systems, md-sys-elevation, level0),
111
- );
112
20
 
113
- $variant-tokens: (
114
- primary: (), // Default, no overrides needed
115
- secondary: (
116
- selected-focus-handle-color: map.get($systems, md-sys-color, secondary-container),
117
- selected-focus-state-layer-color: map.get($systems, md-sys-color, secondary),
118
- selected-focus-track-color: map.get($systems, md-sys-color, secondary),
119
- selected-handle-color: map.get($systems, md-sys-color, on-secondary),
120
- selected-hover-handle-color: map.get($systems, md-sys-color, secondary-container),
121
- selected-hover-state-layer-color: map.get($systems, md-sys-color, secondary),
122
- selected-hover-track-color: map.get($systems, md-sys-color, secondary),
123
- selected-icon-color: map.get($systems, md-sys-color, on-secondary-container),
124
- selected-pressed-handle-color: map.get($systems, md-sys-color, secondary-container),
125
- selected-pressed-state-layer-color: map.get($systems, md-sys-color, secondary),
126
- selected-pressed-track-color: map.get($systems, md-sys-color, secondary),
127
- selected-track-color: map.get($systems, md-sys-color, secondary),
21
+ // These tokens have always been empty for M3, but these token values should be used
22
+ // (with the same technique of calling `elevation.get-box-shadow`)
23
+ // Currently, internal users have M2 tokens being applied by accident
24
+ // handle-elevation-shadow: map.get($system, level0),
25
+ // disabled-handle-elevation-shadow: map.get($system, level0),
26
+
27
+ @return (
28
+ base: (
29
+ slide-toggle-disabled-selected-handle-opacity: 1,
30
+ slide-toggle-disabled-selected-icon-opacity: 0.38,
31
+ slide-toggle-disabled-track-opacity: 0.12,
32
+ slide-toggle-disabled-unselected-handle-opacity: 0.38,
33
+ slide-toggle-disabled-unselected-icon-opacity: 0.38,
34
+ slide-toggle-disabled-unselected-track-outline-width: 2px,
35
+ slide-toggle-handle-shape: map.get($system, corner-full),
36
+ slide-toggle-hidden-track-opacity: 0,
37
+ slide-toggle-hidden-track-transition: opacity 75ms,
38
+ slide-toggle-pressed-handle-size: 28px,
39
+ slide-toggle-selected-handle-horizontal-margin: 0 24px,
40
+ slide-toggle-selected-handle-size: 24px,
41
+ slide-toggle-selected-icon-size: 16px,
42
+ slide-toggle-selected-pressed-handle-horizontal-margin: 0 22px,
43
+ slide-toggle-selected-track-outline-color: transparent,
44
+ slide-toggle-selected-track-outline-width: 2px,
45
+ slide-toggle-selected-with-icon-handle-horizontal-margin: 0 24px,
46
+ slide-toggle-state-layer-size: 40px,
47
+ slide-toggle-track-height: 32px,
48
+ slide-toggle-track-outline-width: 2px,
49
+ slide-toggle-track-shape: map.get($system, corner-full),
50
+ slide-toggle-track-width: 52px,
51
+ slide-toggle-unselected-handle-horizontal-margin: 0 8px,
52
+ slide-toggle-unselected-handle-size: 16px,
53
+ slide-toggle-unselected-icon-size: 16px,
54
+ slide-toggle-unselected-pressed-handle-horizontal-margin: 0 2px,
55
+ slide-toggle-unselected-with-icon-handle-horizontal-margin: 0 4px,
56
+ slide-toggle-visible-track-opacity: 1,
57
+ slide-toggle-visible-track-transition: opacity 75ms,
58
+ slide-toggle-with-icon-handle-size: 24px,
59
+ slide-toggle-handle-width: null,
60
+ slide-toggle-handle-height: null,
128
61
  ),
129
- tertiary: (
130
- selected-focus-handle-color: map.get($systems, md-sys-color, tertiary-container),
131
- selected-focus-state-layer-color: map.get($systems, md-sys-color, tertiary),
132
- selected-focus-track-color: map.get($systems, md-sys-color, tertiary),
133
- selected-handle-color: map.get($systems, md-sys-color, on-tertiary),
134
- selected-hover-handle-color: map.get($systems, md-sys-color, tertiary-container),
135
- selected-hover-state-layer-color: map.get($systems, md-sys-color, tertiary),
136
- selected-hover-track-color: map.get($systems, md-sys-color, tertiary),
137
- selected-icon-color: map.get($systems, md-sys-color, on-tertiary-container),
138
- selected-pressed-handle-color: map.get($systems, md-sys-color, tertiary-container),
139
- selected-pressed-state-layer-color: map.get($systems, md-sys-color, tertiary),
140
- selected-pressed-track-color: map.get($systems, md-sys-color, tertiary),
141
- selected-track-color: map.get($systems, md-sys-color, tertiary),
62
+ color: (
63
+ slide-toggle-disabled-selected-handle-color: map.get($system, surface),
64
+ slide-toggle-disabled-selected-icon-color: map.get($system, on-surface),
65
+ slide-toggle-disabled-selected-track-color: map.get($system, on-surface),
66
+ slide-toggle-disabled-unselected-handle-color: map.get($system, on-surface),
67
+ slide-toggle-disabled-unselected-icon-color: map.get($system, surface-variant),
68
+ slide-toggle-disabled-unselected-track-color: map.get($system, surface-variant),
69
+ slide-toggle-disabled-unselected-track-outline-color: map.get($system, on-surface),
70
+ slide-toggle-label-text-color: map.get($system, on-surface),
71
+ slide-toggle-selected-focus-handle-color: map.get($system, primary-container),
72
+ slide-toggle-selected-focus-state-layer-color: map.get($system, primary),
73
+ slide-toggle-selected-focus-state-layer-opacity: map.get($system, focus-state-layer-opacity),
74
+ slide-toggle-selected-focus-track-color: map.get($system, primary),
75
+ slide-toggle-selected-handle-color: map.get($system, on-primary),
76
+ slide-toggle-selected-hover-handle-color: map.get($system, primary-container),
77
+ slide-toggle-selected-hover-state-layer-color: map.get($system, primary),
78
+ slide-toggle-selected-hover-state-layer-opacity: map.get($system, hover-state-layer-opacity),
79
+ slide-toggle-selected-hover-track-color: map.get($system, primary),
80
+ slide-toggle-selected-icon-color: map.get($system, on-primary-container),
81
+ slide-toggle-selected-pressed-handle-color: map.get($system, primary-container),
82
+ slide-toggle-selected-pressed-state-layer-color: map.get($system, primary),
83
+ slide-toggle-selected-pressed-state-layer-opacity:
84
+ map.get($system, pressed-state-layer-opacity),
85
+ slide-toggle-selected-pressed-track-color: map.get($system, primary),
86
+ slide-toggle-selected-track-color: map.get($system, primary),
87
+ slide-toggle-track-outline-color: map.get($system, outline),
88
+ slide-toggle-unselected-focus-handle-color: map.get($system, on-surface-variant),
89
+ slide-toggle-unselected-focus-state-layer-color: map.get($system, on-surface),
90
+ slide-toggle-unselected-focus-state-layer-opacity:
91
+ map.get($system, focus-state-layer-opacity),
92
+ slide-toggle-unselected-focus-track-color: map.get($system, surface-variant),
93
+ slide-toggle-unselected-handle-color: map.get($system, outline),
94
+ slide-toggle-unselected-hover-handle-color: map.get($system, on-surface-variant),
95
+ slide-toggle-unselected-hover-state-layer-color: map.get($system, on-surface),
96
+ slide-toggle-unselected-hover-state-layer-opacity:
97
+ map.get($system, hover-state-layer-opacity),
98
+ slide-toggle-unselected-hover-track-color: map.get($system, surface-variant),
99
+ slide-toggle-unselected-icon-color: map.get($system, surface-variant),
100
+ slide-toggle-unselected-pressed-handle-color: map.get($system, on-surface-variant),
101
+ slide-toggle-unselected-pressed-state-layer-color: map.get($system, on-surface),
102
+ slide-toggle-unselected-pressed-state-layer-opacity:
103
+ map.get($system, pressed-state-layer-opacity),
104
+ slide-toggle-unselected-pressed-track-color: map.get($system, surface-variant),
105
+ slide-toggle-unselected-track-color: map.get($system, surface-variant),
106
+ slide-toggle-handle-surface-color: null,
107
+ slide-toggle-handle-elevation-shadow: null,
108
+ slide-toggle-disabled-handle-elevation-shadow: null,
142
109
  ),
143
- error: (
144
- selected-focus-handle-color: map.get($systems, md-sys-color, error-container),
145
- selected-focus-state-layer-color: map.get($systems, md-sys-color, error),
146
- selected-focus-track-color: map.get($systems, md-sys-color, error),
147
- selected-handle-color: map.get($systems, md-sys-color, on-error),
148
- selected-hover-handle-color: map.get($systems, md-sys-color, error-container),
149
- selected-hover-state-layer-color: map.get($systems, md-sys-color, error),
150
- selected-hover-track-color: map.get($systems, md-sys-color, error),
151
- selected-icon-color: map.get($systems, md-sys-color, on-error-container),
152
- selected-pressed-handle-color: map.get($systems, md-sys-color, error-container),
153
- selected-pressed-state-layer-color: map.get($systems, md-sys-color, error),
154
- selected-pressed-track-color: map.get($systems, md-sys-color, error),
155
- selected-track-color: map.get($systems, md-sys-color, error),
110
+ typography: (
111
+ slide-toggle-label-text-font: map.get($system, body-medium-font),
112
+ slide-toggle-label-text-line-height: map.get($system, body-medium-line-height),
113
+ slide-toggle-label-text-size: map.get($system, body-medium-size),
114
+ slide-toggle-label-text-tracking: map.get($system, body-medium-tracking),
115
+ slide-toggle-label-text-weight: map.get($system, body-medium-weight),
156
116
  ),
117
+ density: (),
157
118
  );
158
-
159
- @return m3-utils.namespace($prefix, ($tokens, $variant-tokens), $token-slots);
160
119
  }
@@ -2,30 +2,24 @@
2
2
  @use '../core/style/sass-utils';
3
3
  @use '../core/theming/theming';
4
4
  @use '../core/theming/inspection';
5
- @use '../core/theming/validation';
6
5
  @use '../core/tokens/token-utils';
7
6
  @use '../core/typography/typography';
8
7
  @use './m2-slide-toggle';
8
+ @use './m3-slide-toggle';
9
9
 
10
10
  /// Outputs base theme styles (styles not dependent on the color, typography, or density settings)
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
14
  @if inspection.get-theme-version($theme) == 1 {
15
- @include _theme-from-tokens(inspection.get-theme-tokens($theme, base));
15
+ @include token-utils.create-token-values(map.get(m3-slide-toggle.get-tokens($theme), base));
16
16
  } @else {
17
17
  @include sass-utils.current-selector-or-root() {
18
18
  // TODO: See if this can be removed
19
- @include token-utils.create-token-values-mixed(
20
- m2-slide-toggle.$prefix,
21
- m2-slide-toggle.get-unthemable-tokens()
22
- );
19
+ @include token-utils.create-token-values-mixed(m2-slide-toggle.get-unthemable-tokens());
23
20
 
24
21
  .mat-mdc-slide-toggle {
25
- @include token-utils.create-token-values-mixed(
26
- m2-slide-toggle.$prefix,
27
- m2-slide-toggle.get-unthemable-tokens()
28
- );
22
+ @include token-utils.create-token-values-mixed(m2-slide-toggle.get-unthemable-tokens());
29
23
  }
30
24
  }
31
25
  }
@@ -33,21 +27,17 @@
33
27
 
34
28
  /// Outputs color theme styles for the mat-slide-toggle.
35
29
  /// @param {Map} $theme The theme to generate color styles for.
36
- /// @param {ArgList} Additional optional arguments (only supported for M3 themes):
37
- /// $color-variant: The color variant to use for the slide-toggle: primary, secondary, tertiary,
38
- /// or error (If not specified, default primary color will be used).
39
- @mixin color($theme, $options...) {
30
+ /// @param {String} $color-variant The color variant to use for the component (M3 only)
31
+ @mixin color($theme, $color-variant: null) {
40
32
  @if inspection.get-theme-version($theme) == 1 {
41
- @include _theme-from-tokens(inspection.get-theme-tokens($theme, color), $options...);
33
+ @include token-utils.create-token-values(
34
+ map.get(m3-slide-toggle.get-tokens($theme, $color-variant), color));
42
35
  } @else {
43
36
  $mat-tokens: m2-slide-toggle.get-color-tokens($theme);
44
37
 
45
38
  // Add values for MDC slide toggles tokens
46
39
  @include sass-utils.current-selector-or-root() {
47
- @include token-utils.create-token-values-mixed(
48
- m2-slide-toggle.$prefix,
49
- m2-slide-toggle.get-color-tokens($theme)
50
- );
40
+ @include token-utils.create-token-values-mixed(m2-slide-toggle.get-color-tokens($theme));
51
41
 
52
42
  & {
53
43
  // TODO(andrewjs): Remove this once all tokens are migrated to
@@ -76,16 +66,12 @@
76
66
  // Change the color palette related tokens to accent or warn if applicable
77
67
  &.mat-accent {
78
68
  @include token-utils.create-token-values-mixed(
79
- m2-slide-toggle.$prefix,
80
- m2-slide-toggle.private-get-color-palette-color-tokens($theme, accent)
81
- );
69
+ m2-slide-toggle.private-get-color-palette-color-tokens($theme, accent));
82
70
  }
83
71
 
84
72
  &.mat-warn {
85
73
  @include token-utils.create-token-values-mixed(
86
- m2-slide-toggle.$prefix,
87
- m2-slide-toggle.private-get-color-palette-color-tokens($theme, warn)
88
- );
74
+ m2-slide-toggle.private-get-color-palette-color-tokens($theme, warn));
89
75
  }
90
76
  }
91
77
  }
@@ -96,20 +82,16 @@
96
82
  /// @param {Map} $theme The theme to generate typography styles for.
97
83
  @mixin typography($theme) {
98
84
  @if inspection.get-theme-version($theme) == 1 {
99
- @include _theme-from-tokens(inspection.get-theme-tokens($theme, typography));
85
+ @include token-utils.create-token-values(
86
+ map.get(m3-slide-toggle.get-tokens($theme), typography));
100
87
  } @else {
101
88
  @include sass-utils.current-selector-or-root() {
102
89
  // TODO: See if this can be removed
103
- @include token-utils.create-token-values-mixed(
104
- m2-slide-toggle.$prefix,
105
- m2-slide-toggle.get-typography-tokens($theme)
106
- );
90
+ @include token-utils.create-token-values-mixed(m2-slide-toggle.get-typography-tokens($theme));
107
91
 
108
92
  .mat-mdc-slide-toggle {
109
93
  @include token-utils.create-token-values-mixed(
110
- m2-slide-toggle.$prefix,
111
- m2-slide-toggle.get-typography-tokens($theme)
112
- );
94
+ m2-slide-toggle.get-typography-tokens($theme));
113
95
  }
114
96
  }
115
97
  }
@@ -123,16 +105,10 @@
123
105
  } @else {
124
106
  @include sass-utils.current-selector-or-root() {
125
107
  // TODO: See if this can be removed
126
- @include token-utils.create-token-values-mixed(
127
- m2-slide-toggle.$prefix,
128
- m2-slide-toggle.get-density-tokens($theme)
129
- );
108
+ @include token-utils.create-token-values-mixed(m2-slide-toggle.get-density-tokens($theme));
130
109
 
131
110
  .mat-mdc-slide-toggle {
132
- @include token-utils.create-token-values-mixed(
133
- m2-slide-toggle.$prefix,
134
- m2-slide-toggle.get-density-tokens($theme)
135
- );
111
+ @include token-utils.create-token-values-mixed(m2-slide-toggle.get-density-tokens($theme));
136
112
  }
137
113
  }
138
114
  }
@@ -142,8 +118,8 @@
142
118
  @function _define-overrides() {
143
119
  @return (
144
120
  (
145
- namespace: m2-slide-toggle.$prefix,
146
- tokens: m2-slide-toggle.get-token-slots(),
121
+ namespace: slide-toggle,
122
+ tokens: token-utils.get-overrides(m3-slide-toggle.get-tokens(), slide-toggle)
147
123
  ),
148
124
  );
149
125
  }
@@ -151,18 +127,19 @@
151
127
  /// Outputs the CSS variable values for the given tokens.
152
128
  /// @param {Map} $tokens The token values to emit.
153
129
  @mixin overrides($tokens: ()) {
154
- @include token-utils.batch-create-token-values($tokens, _define-overrides()...);
130
+ @include token-utils.batch-create-token-values($tokens, _define-overrides());
155
131
  }
156
132
 
157
133
  /// Outputs all (base, color, typography, and density) theme styles for the mat-icon.
158
134
  /// @param {Map} $theme The theme to generate styles for.
159
- /// @param {ArgList} Additional optional arguments (only supported for M3 themes):
160
- /// $color-variant: The color variant to use for the slide-toggle: primary, secondary, tertiary,
161
- /// or error (If not specified, default primary color will be used).
162
- @mixin theme($theme, $options...) {
135
+ /// @param {String} $color-variant The color variant to use for the component (M3 only)
136
+ @mixin theme($theme, $color-variant: null) {
163
137
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-slide-toggle') {
164
138
  @if inspection.get-theme-version($theme) == 1 {
165
- @include _theme-from-tokens(inspection.get-theme-tokens($theme), $options...);
139
+ @include base($theme);
140
+ @include color($theme, $color-variant);
141
+ @include density($theme);
142
+ @include typography($theme);
166
143
  } @else {
167
144
  @include base($theme);
168
145
  @if inspection.theme-has($theme, color) {
@@ -177,15 +154,3 @@
177
154
  }
178
155
  }
179
156
  }
180
-
181
- @mixin _theme-from-tokens($tokens, $options...) {
182
- @include validation.selector-defined(
183
- 'Calls to Angular Material theme mixins with an M3 theme must be wrapped in a selector'
184
- );
185
- $mat-switch-tokens: token-utils.get-tokens-for($tokens, m2-slide-toggle.$prefix);
186
- $mat-switch-tokens-options:
187
- token-utils.get-tokens-for($tokens, m2-slide-toggle.$prefix, $options...);
188
-
189
- $tokens: map.merge($mat-switch-tokens, $mat-switch-tokens-options);
190
- @include token-utils.create-token-values(m2-slide-toggle.$prefix, $tokens);
191
- }