@angular/material 20.0.0-rc.0 → 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 (352) 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 +26 -39
  5. package/badge/_m2-badge.scss +32 -35
  6. package/badge/_m3-badge.scss +41 -70
  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/color/_all-color.scss +1 -1
  36. package/core/option/_m2-optgroup.scss +6 -9
  37. package/core/option/_m2-option.scss +10 -13
  38. package/core/option/_m3-optgroup.scss +16 -13
  39. package/core/option/_m3-option.scss +28 -48
  40. package/core/option/_optgroup-theme.scss +14 -25
  41. package/core/option/_option-theme.scss +22 -33
  42. package/core/ripple/_m2-ripple.scss +1 -4
  43. package/core/ripple/_m3-ripple.scss +11 -13
  44. package/core/ripple/_ripple-theme.scss +15 -33
  45. package/core/ripple/_ripple.scss +5 -5
  46. package/core/selection/pseudo-checkbox/_m2-pseudo-checkbox.scss +10 -11
  47. package/core/selection/pseudo-checkbox/_m3-pseudo-checkbox.scss +25 -40
  48. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +16 -27
  49. package/core/style/_sass-utils.scss +0 -29
  50. package/core/theming/_all-theme.scss +41 -0
  51. package/core/theming/_color-api-backwards-compatibility.scss +49 -35
  52. package/core/theming/_definition.scss +78 -72
  53. package/core/theming/_inspection.scss +23 -46
  54. package/core/tokens/_m3-system.scss +106 -112
  55. package/core/tokens/_m3-tokens.scss +30 -354
  56. package/core/tokens/_m3-utils.scss +36 -73
  57. package/core/tokens/_token-utils.scss +53 -226
  58. package/core/tokens/m3/_index.scss +7 -8
  59. package/core/tokens/m3/_md-sys-color.scss +125 -137
  60. package/core/tokens/m3/_md-sys-elevation.scss +7 -7
  61. package/core/tokens/m3/_md-sys-motion.scss +27 -38
  62. package/core/tokens/m3/_md-sys-shape.scss +13 -16
  63. package/core/tokens/m3/_md-sys-state.scss +5 -5
  64. package/core/tokens/m3/_md-sys-typescale.scss +107 -306
  65. package/core/tokens/m3/_theme.scss +47 -0
  66. package/datepicker/_datepicker-theme.scss +24 -39
  67. package/datepicker/_m2-datepicker.scss +55 -50
  68. package/datepicker/_m3-datepicker.scss +65 -113
  69. package/datepicker/index.d.ts +1 -0
  70. package/dialog/_dialog-theme.scss +15 -27
  71. package/dialog/_m2-dialog.scss +25 -26
  72. package/dialog/_m3-dialog.scss +35 -35
  73. package/divider/_divider-theme.scss +14 -25
  74. package/divider/_m2-divider.scss +2 -5
  75. package/divider/_m3-divider.scss +13 -13
  76. package/expansion/_expansion-theme.scss +15 -33
  77. package/expansion/_m2-expansion.scss +28 -27
  78. package/expansion/_m3-expansion.scss +41 -36
  79. package/fesm2022/animation-DfMFjxHu.mjs.map +1 -1
  80. package/fesm2022/autocomplete/testing.mjs.map +1 -1
  81. package/fesm2022/autocomplete.mjs +23 -23
  82. package/fesm2022/autocomplete.mjs.map +1 -1
  83. package/fesm2022/badge/testing.mjs.map +1 -1
  84. package/fesm2022/badge.mjs +11 -11
  85. package/fesm2022/badge.mjs.map +1 -1
  86. package/fesm2022/bottom-sheet/testing.mjs.map +1 -1
  87. package/fesm2022/bottom-sheet.mjs +11 -11
  88. package/fesm2022/bottom-sheet.mjs.map +1 -1
  89. package/fesm2022/button/testing.mjs.map +1 -1
  90. package/fesm2022/button-toggle/testing.mjs.map +1 -1
  91. package/fesm2022/button-toggle.mjs +20 -24
  92. package/fesm2022/button-toggle.mjs.map +1 -1
  93. package/fesm2022/button.mjs +21 -21
  94. package/fesm2022/button.mjs.map +1 -1
  95. package/fesm2022/card/testing.mjs.map +1 -1
  96. package/fesm2022/card.mjs +47 -47
  97. package/fesm2022/card.mjs.map +1 -1
  98. package/fesm2022/checkbox/testing.mjs.map +1 -1
  99. package/fesm2022/checkbox.mjs +11 -11
  100. package/fesm2022/checkbox.mjs.map +1 -1
  101. package/fesm2022/chips/testing.mjs.map +1 -1
  102. package/fesm2022/chips.mjs +52 -52
  103. package/fesm2022/chips.mjs.map +1 -1
  104. package/fesm2022/{common-module-DZl8g1kc.mjs → common-module-BeAwwoi6.mjs} +5 -5
  105. package/fesm2022/common-module-BeAwwoi6.mjs.map +1 -0
  106. package/fesm2022/core/testing.mjs.map +1 -1
  107. package/fesm2022/core.mjs +24 -24
  108. package/fesm2022/core.mjs.map +1 -1
  109. package/fesm2022/date-formats-K6TQue-Y.mjs.map +1 -1
  110. package/fesm2022/date-range-input-harness-Bp1T4oUe.mjs.map +1 -1
  111. package/fesm2022/datepicker/testing.mjs.map +1 -1
  112. package/fesm2022/datepicker.mjs +99 -95
  113. package/fesm2022/datepicker.mjs.map +1 -1
  114. package/fesm2022/dialog/testing.mjs +18 -5
  115. package/fesm2022/dialog/testing.mjs.map +1 -1
  116. package/fesm2022/dialog.mjs +2 -2
  117. package/fesm2022/dialog.mjs.map +1 -1
  118. package/fesm2022/divider/testing.mjs.map +1 -1
  119. package/fesm2022/divider.mjs +8 -8
  120. package/fesm2022/divider.mjs.map +1 -1
  121. package/fesm2022/{error-options-BWOa3B4G.mjs → error-options-C79tZCHG.mjs} +7 -7
  122. package/fesm2022/error-options-C79tZCHG.mjs.map +1 -0
  123. package/fesm2022/error-state-Dtb1IHM-.mjs.map +1 -1
  124. package/fesm2022/expansion/testing.mjs.map +1 -1
  125. package/fesm2022/expansion.mjs +28 -28
  126. package/fesm2022/expansion.mjs.map +1 -1
  127. package/fesm2022/form-field/testing/control.mjs.map +1 -1
  128. package/fesm2022/form-field/testing.mjs.map +1 -1
  129. package/fesm2022/{form-field-B3aq6ikj.mjs → form-field-Cdw3iYrm.mjs} +70 -62
  130. package/fesm2022/form-field-Cdw3iYrm.mjs.map +1 -0
  131. package/fesm2022/form-field.mjs +3 -3
  132. package/fesm2022/form-field.mjs.map +1 -1
  133. package/fesm2022/grid-list/testing.mjs.map +1 -1
  134. package/fesm2022/grid-list.mjs +24 -24
  135. package/fesm2022/grid-list.mjs.map +1 -1
  136. package/fesm2022/icon/testing.mjs +8 -8
  137. package/fesm2022/icon/testing.mjs.map +1 -1
  138. package/fesm2022/{icon-button-DH8TBWWr.mjs → icon-button-D5zzuoJc.mjs} +10 -10
  139. package/fesm2022/icon-button-D5zzuoJc.mjs.map +1 -0
  140. package/fesm2022/{icon-registry-Bk5cM8Z5.mjs → icon-registry-DVrJNtTv.mjs} +4 -4
  141. package/fesm2022/icon-registry-DVrJNtTv.mjs.map +1 -0
  142. package/fesm2022/icon.mjs +10 -10
  143. package/fesm2022/icon.mjs.map +1 -1
  144. package/fesm2022/index-CrjYeoWX.mjs +22 -0
  145. package/fesm2022/index-CrjYeoWX.mjs.map +1 -0
  146. package/fesm2022/index-DTIUI_kX.mjs +20 -0
  147. package/fesm2022/index-DTIUI_kX.mjs.map +1 -0
  148. package/fesm2022/input/testing.mjs.map +1 -1
  149. package/fesm2022/input-harness-oQzj5EsQ.mjs.map +1 -1
  150. package/fesm2022/input-value-accessor-D1GvPuqO.mjs.map +1 -1
  151. package/fesm2022/input.mjs +12 -12
  152. package/fesm2022/input.mjs.map +1 -1
  153. package/fesm2022/{internal-form-field-DVvKYBKJ.mjs → internal-form-field-B9_shC5z.mjs} +4 -4
  154. package/fesm2022/internal-form-field-B9_shC5z.mjs.map +1 -0
  155. package/fesm2022/{line-Dwrcg_t9.mjs → line-XysKlyvU.mjs} +9 -9
  156. package/fesm2022/line-XysKlyvU.mjs.map +1 -0
  157. package/fesm2022/list/testing.mjs.map +1 -1
  158. package/fesm2022/list.mjs +55 -55
  159. package/fesm2022/list.mjs.map +1 -1
  160. package/fesm2022/material.mjs.map +1 -1
  161. package/fesm2022/menu/testing.mjs.map +1 -1
  162. package/fesm2022/menu.mjs +20 -20
  163. package/fesm2022/menu.mjs.map +1 -1
  164. package/fesm2022/{module-hX_hFZhs.mjs → module-CVpKZX1V.mjs} +7 -7
  165. package/fesm2022/module-CVpKZX1V.mjs.map +1 -0
  166. package/fesm2022/{module-B-ci3hbc.mjs → module-CdXqcjot.mjs} +28 -28
  167. package/fesm2022/module-CdXqcjot.mjs.map +1 -0
  168. package/fesm2022/{module-X29xYsIk.mjs → module-CwYXiMoV.mjs} +12 -12
  169. package/fesm2022/module-CwYXiMoV.mjs.map +1 -0
  170. package/fesm2022/{module-D9IKGg_w.mjs → module-r2U_2G3G.mjs} +17 -17
  171. package/fesm2022/module-r2U_2G3G.mjs.map +1 -0
  172. package/fesm2022/{option-MOeehkAg.mjs → option-D4ZNnnWi.mjs} +11 -11
  173. package/fesm2022/option-D4ZNnnWi.mjs.map +1 -0
  174. package/fesm2022/option-harness-BFcc-M_4.mjs.map +1 -1
  175. package/fesm2022/paginator/testing.mjs.map +1 -1
  176. package/fesm2022/paginator.mjs +25 -25
  177. package/fesm2022/paginator.mjs.map +1 -1
  178. package/fesm2022/progress-bar/testing.mjs.map +1 -1
  179. package/fesm2022/progress-bar.mjs +8 -8
  180. package/fesm2022/progress-bar.mjs.map +1 -1
  181. package/fesm2022/progress-spinner/testing.mjs.map +1 -1
  182. package/fesm2022/progress-spinner.mjs +8 -8
  183. package/fesm2022/progress-spinner.mjs.map +1 -1
  184. package/fesm2022/{pseudo-checkbox-BFGIaGxz.mjs → pseudo-checkbox-DQugCpur.mjs} +4 -4
  185. package/fesm2022/pseudo-checkbox-DQugCpur.mjs.map +1 -0
  186. package/fesm2022/pseudo-checkbox-module-BXWS_-PP.mjs +20 -0
  187. package/fesm2022/pseudo-checkbox-module-BXWS_-PP.mjs.map +1 -0
  188. package/fesm2022/public-api-BoO5eSq-.mjs.map +1 -1
  189. package/fesm2022/radio/testing.mjs.map +1 -1
  190. package/fesm2022/radio.mjs +19 -16
  191. package/fesm2022/radio.mjs.map +1 -1
  192. package/fesm2022/{ripple-CuyVtN3V.mjs → ripple-BtLhcfGO.mjs} +7 -7
  193. package/fesm2022/ripple-BtLhcfGO.mjs.map +1 -0
  194. package/fesm2022/{ripple-loader-pOctSZby.mjs → ripple-loader-DBdhLqHy.mjs} +5 -5
  195. package/fesm2022/ripple-loader-DBdhLqHy.mjs.map +1 -0
  196. package/fesm2022/select/testing.mjs.map +1 -1
  197. package/fesm2022/select.mjs +12 -12
  198. package/fesm2022/select.mjs.map +1 -1
  199. package/fesm2022/sidenav/testing.mjs.map +1 -1
  200. package/fesm2022/sidenav.mjs +29 -25
  201. package/fesm2022/sidenav.mjs.map +1 -1
  202. package/fesm2022/slide-toggle/testing.mjs.map +1 -1
  203. package/fesm2022/slide-toggle.mjs +11 -11
  204. package/fesm2022/slide-toggle.mjs.map +1 -1
  205. package/fesm2022/slider/testing.mjs.map +1 -1
  206. package/fesm2022/slider.mjs +21 -21
  207. package/fesm2022/slider.mjs.map +1 -1
  208. package/fesm2022/snack-bar/testing.mjs.map +1 -1
  209. package/fesm2022/snack-bar.mjs +29 -29
  210. package/fesm2022/snack-bar.mjs.map +1 -1
  211. package/fesm2022/sort/testing.mjs.map +1 -1
  212. package/fesm2022/sort.mjs +15 -15
  213. package/fesm2022/sort.mjs.map +1 -1
  214. package/fesm2022/stepper/testing.mjs.map +1 -1
  215. package/fesm2022/stepper.mjs +38 -38
  216. package/fesm2022/stepper.mjs.map +1 -1
  217. package/fesm2022/{structural-styles-CasigI3l.mjs → structural-styles-DWEe15sC.mjs} +4 -4
  218. package/fesm2022/structural-styles-DWEe15sC.mjs.map +1 -0
  219. package/fesm2022/table/testing.mjs.map +1 -1
  220. package/fesm2022/table.mjs +56 -56
  221. package/fesm2022/table.mjs.map +1 -1
  222. package/fesm2022/tabs/testing.mjs.map +1 -1
  223. package/fesm2022/tabs.mjs +67 -63
  224. package/fesm2022/tabs.mjs.map +1 -1
  225. package/fesm2022/timepicker/testing.mjs.map +1 -1
  226. package/fesm2022/timepicker.mjs +20 -20
  227. package/fesm2022/timepicker.mjs.map +1 -1
  228. package/fesm2022/toolbar/testing.mjs.map +1 -1
  229. package/fesm2022/toolbar.mjs +12 -12
  230. package/fesm2022/toolbar.mjs.map +1 -1
  231. package/fesm2022/tooltip/testing.mjs.map +1 -1
  232. package/fesm2022/tooltip.mjs +2 -2
  233. package/fesm2022/tooltip.mjs.map +1 -1
  234. package/fesm2022/tree/testing.mjs.map +1 -1
  235. package/fesm2022/tree.mjs +26 -26
  236. package/fesm2022/tree.mjs.map +1 -1
  237. package/form-field/_form-field-theme.scss +23 -55
  238. package/form-field/_m2-form-field.scss +112 -91
  239. package/form-field/_m3-form-field.scss +116 -131
  240. package/form-field/index.d.ts +2 -2
  241. package/{form-field.d-CIxjiZIX.d.ts → form-field.d-C6p5uYjG.d.ts} +4 -2
  242. package/grid-list/_grid-list-theme.scss +13 -23
  243. package/grid-list/_m2-grid-list.scss +8 -7
  244. package/grid-list/_m3-grid-list.scss +14 -15
  245. package/icon/_icon-theme.scss +20 -30
  246. package/icon/_m2-icon.scss +1 -4
  247. package/icon/_m3-icon.scss +13 -27
  248. package/input/_input-theme.scss +7 -40
  249. package/input/index.d.ts +4 -4
  250. package/list/_list-theme.scss +22 -52
  251. package/list/_m2-list.scss +56 -55
  252. package/list/_m3-list.scss +69 -67
  253. package/menu/_m2-menu.scss +22 -25
  254. package/menu/_m3-menu.scss +35 -38
  255. package/menu/_menu-theme.scss +15 -27
  256. package/{module.d-CDrqNC7Q.d.ts → module.d-D1Ym5Wf2.d.ts} +1 -1
  257. package/{module.d-DZ8DPHcV.d.ts → module.d-DMabQ4_c.d.ts} +2 -2
  258. package/package.json +2 -2
  259. package/paginator/_m2-paginator.scss +16 -17
  260. package/paginator/_m3-paginator.scss +28 -27
  261. package/paginator/_paginator-theme.scss +14 -40
  262. package/paginator/index.d.ts +5 -5
  263. package/{paginator.d-Ci_wE-RV.d.ts → paginator.d-DuJ-oYgT.d.ts} +1 -1
  264. package/prebuilt-themes/azure-blue.css +1 -1
  265. package/prebuilt-themes/cyan-orange.css +1 -1
  266. package/prebuilt-themes/deeppurple-amber.css +1 -1
  267. package/prebuilt-themes/indigo-pink.css +1 -1
  268. package/prebuilt-themes/magenta-violet.css +1 -1
  269. package/prebuilt-themes/pink-bluegrey.css +1 -1
  270. package/prebuilt-themes/purple-green.css +1 -1
  271. package/prebuilt-themes/rose-red.css +1 -1
  272. package/progress-bar/_m2-progress-bar.scss +5 -8
  273. package/progress-bar/_m3-progress-bar.scss +17 -26
  274. package/progress-bar/_progress-bar-theme.scss +17 -27
  275. package/progress-spinner/_m2-progress-spinner.scss +3 -6
  276. package/progress-spinner/_m3-progress-spinner.scss +15 -22
  277. package/progress-spinner/_progress-spinner-theme.scss +20 -43
  278. package/radio/_m2-radio.scss +24 -27
  279. package/radio/_m3-radio.scss +44 -58
  280. package/radio/_radio-theme.scss +23 -50
  281. package/schematics/ng-add/index.js +1 -1
  282. package/schematics/ng-generate/theme-color/index_bundled.js +2 -2
  283. package/schematics/ng-generate/theme-color/index_bundled.js.map +1 -1
  284. package/schematics/ng-update/index_bundled.js +56 -2
  285. package/schematics/ng-update/index_bundled.js.map +1 -1
  286. package/select/_m2-select.scss +15 -18
  287. package/select/_m3-select.scss +32 -38
  288. package/select/_select-theme.scss +23 -50
  289. package/select/index.d.ts +3 -3
  290. package/sidenav/_m2-sidenav.scss +9 -12
  291. package/sidenav/_m3-sidenav.scss +20 -22
  292. package/sidenav/_sidenav-theme.scss +14 -25
  293. package/slide-toggle/_m2-slide-toggle.scss +82 -83
  294. package/slide-toggle/_m3-slide-toggle.scss +102 -143
  295. package/slide-toggle/_slide-toggle-theme.scss +26 -61
  296. package/slider/_m2-slider.scss +46 -46
  297. package/slider/_m3-slider.scss +54 -109
  298. package/slider/_slider-theme.scss +23 -34
  299. package/snack-bar/_m2-snack-bar.scss +10 -11
  300. package/snack-bar/_m3-snack-bar.scss +20 -19
  301. package/snack-bar/_snack-bar-theme.scss +14 -26
  302. package/sort/_m2-sort.scss +1 -4
  303. package/sort/_m3-sort.scss +11 -9
  304. package/sort/_sort-theme.scss +15 -27
  305. package/stepper/_m2-stepper.scss +32 -31
  306. package/stepper/_m3-stepper.scss +44 -79
  307. package/stepper/_stepper-theme.scss +22 -50
  308. package/table/_m2-table.scss +25 -26
  309. package/table/_m3-table.scss +36 -27
  310. package/table/_table-theme.scss +15 -32
  311. package/table/index.d.ts +2 -2
  312. package/tabs/_m2-tabs.scss +26 -29
  313. package/tabs/_m3-tabs.scss +40 -51
  314. package/tabs/_tabs-theme.scss +37 -58
  315. package/tabs/index.d.ts +5 -3
  316. package/timepicker/_m2-timepicker.scss +3 -6
  317. package/timepicker/_m3-timepicker.scss +14 -15
  318. package/timepicker/_timepicker-theme.scss +20 -45
  319. package/toolbar/_m2-toolbar.scss +11 -12
  320. package/toolbar/_m3-toolbar.scss +22 -17
  321. package/toolbar/_toolbar-theme.scss +13 -37
  322. package/tooltip/_m2-tooltip.scss +9 -11
  323. package/tooltip/_m3-tooltip.scss +19 -19
  324. package/tooltip/_tooltip-theme.scss +17 -35
  325. package/tree/_m2-tree.scss +6 -9
  326. package/tree/_m3-tree.scss +19 -16
  327. package/tree/_tree-theme.scss +14 -36
  328. package/core/tokens/m3/_md-ref-palette.scss +0 -100
  329. package/core/tokens/m3/_md-ref-typeface.scss +0 -14
  330. package/fesm2022/common-module-DZl8g1kc.mjs.map +0 -1
  331. package/fesm2022/error-options-BWOa3B4G.mjs.map +0 -1
  332. package/fesm2022/form-field-B3aq6ikj.mjs.map +0 -1
  333. package/fesm2022/icon-button-DH8TBWWr.mjs.map +0 -1
  334. package/fesm2022/icon-registry-Bk5cM8Z5.mjs.map +0 -1
  335. package/fesm2022/index-BHJ4tVIe.mjs +0 -22
  336. package/fesm2022/index-BHJ4tVIe.mjs.map +0 -1
  337. package/fesm2022/index-D2rZ0V78.mjs +0 -20
  338. package/fesm2022/index-D2rZ0V78.mjs.map +0 -1
  339. package/fesm2022/internal-form-field-DVvKYBKJ.mjs.map +0 -1
  340. package/fesm2022/line-Dwrcg_t9.mjs.map +0 -1
  341. package/fesm2022/module-B-ci3hbc.mjs.map +0 -1
  342. package/fesm2022/module-D9IKGg_w.mjs.map +0 -1
  343. package/fesm2022/module-X29xYsIk.mjs.map +0 -1
  344. package/fesm2022/module-hX_hFZhs.mjs.map +0 -1
  345. package/fesm2022/option-MOeehkAg.mjs.map +0 -1
  346. package/fesm2022/pseudo-checkbox-BFGIaGxz.mjs.map +0 -1
  347. package/fesm2022/pseudo-checkbox-module-Dxth-mPi.mjs +0 -20
  348. package/fesm2022/pseudo-checkbox-module-Dxth-mPi.mjs.map +0 -1
  349. package/fesm2022/ripple-CuyVtN3V.mjs.map +0 -1
  350. package/fesm2022/ripple-loader-pOctSZby.mjs.map +0 -1
  351. package/fesm2022/structural-styles-CasigI3l.mjs.map +0 -1
  352. package/schematics/tsconfig.json +0 -26
@@ -4,33 +4,30 @@
4
4
  @use '../core/theming/inspection';
5
5
  @use '../core/style/elevation';
6
6
 
7
- // The prefix used to generate the fully qualified name for tokens in this file.
8
- $prefix: (mat, slider);
9
-
10
7
  // Tokens that can't be configured through Angular Material's current theming API,
11
8
  // but may be in a future version of the theming API.
12
9
  @function get-unthemable-tokens() {
13
10
  @return (
14
- active-track-height: 6px,
15
- active-track-shape: 9999px,
16
- handle-elevation: elevation.get-box-shadow(1),
17
- handle-height: 20px,
18
- handle-shape: 50%,
19
- handle-width: 20px,
20
- inactive-track-height: 4px,
21
- inactive-track-shape: 9999px,
22
- value-indicator-border-radius: 4px,
23
- value-indicator-caret-display: block,
24
- value-indicator-container-transform: translateX(-50%),
25
- value-indicator-height: 32px,
26
- value-indicator-padding: 0 12px,
27
- value-indicator-text-transform: none,
28
- value-indicator-width: auto,
29
- with-overlap-handle-outline-width: 1px,
30
- with-tick-marks-active-container-opacity: 0.6,
31
- with-tick-marks-container-shape: 50%,
32
- with-tick-marks-container-size: 2px,
33
- with-tick-marks-inactive-container-opacity: 0.6,
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,
34
31
  );
35
32
  }
36
33
 
@@ -44,14 +41,14 @@ $prefix: (mat, slider);
44
41
  @return map.merge(
45
42
  $theme-color-tokens,
46
43
  (
47
- disabled-active-track-color: $on-surface,
48
- disabled-handle-color: $on-surface,
49
- disabled-inactive-track-color: $on-surface,
50
- label-container-color: $on-surface,
51
- label-label-text-color: if($is-dark, #000, #fff),
52
- value-indicator-opacity: if($is-dark, 0.9, 0.6),
53
- with-overlap-handle-outline-color: #fff,
54
- with-tick-marks-disabled-container-color: $on-surface,
44
+ slider-disabled-active-track-color: $on-surface,
45
+ slider-disabled-handle-color: $on-surface,
46
+ slider-disabled-inactive-track-color: $on-surface,
47
+ slider-label-container-color: $on-surface,
48
+ slider-label-label-text-color: if($is-dark, #000, #fff),
49
+ slider-value-indicator-opacity: if($is-dark, 0.9, 0.6),
50
+ slider-with-overlap-handle-outline-color: #fff,
51
+ slider-with-tick-marks-disabled-container-color: $on-surface,
55
52
  ),
56
53
  );
57
54
  }
@@ -64,27 +61,30 @@ $prefix: (mat, slider);
64
61
  $on-color: inspection.get-theme-color($theme, $palette-name, default-contrast);
65
62
 
66
63
  @return (
67
- active-track-color: $color,
68
- focus-handle-color: $color,
69
- focus-state-layer-color: $focus-ripple-color,
70
- handle-color: $color,
71
- hover-handle-color: $color,
72
- hover-state-layer-color: $hover-ripple-color,
73
- inactive-track-color: $color,
74
- ripple-color: $color,
75
- with-tick-marks-active-container-color: $on-color,
76
- with-tick-marks-inactive-container-color: $color,
64
+ slider-active-track-color: $color,
65
+ slider-focus-handle-color: $color,
66
+ slider-focus-state-layer-color: $focus-ripple-color,
67
+ slider-handle-color: $color,
68
+ slider-hover-handle-color: $color,
69
+ slider-hover-state-layer-color: $hover-ripple-color,
70
+ slider-inactive-track-color: $color,
71
+ slider-ripple-color: $color,
72
+ slider-with-tick-marks-active-container-color: $on-color,
73
+ slider-with-tick-marks-inactive-container-color: $color,
77
74
  );
78
75
  }
79
76
 
80
77
  // Tokens that can be configured through Angular Material's typography theming API.
81
78
  @function get-typography-tokens($theme) {
82
79
  @return (
83
- label-label-text-font: inspection.get-theme-typography($theme, subtitle-2, font-family),
84
- label-label-text-size: inspection.get-theme-typography($theme, subtitle-2, font-size),
85
- label-label-text-line-height: inspection.get-theme-typography($theme, subtitle-2, line-height),
86
- label-label-text-tracking: inspection.get-theme-typography($theme, subtitle-2, letter-spacing),
87
- label-label-text-weight: inspection.get-theme-typography($theme, subtitle-2, font-weight),
80
+ slider-label-label-text-font: inspection.get-theme-typography($theme, subtitle-2, font-family),
81
+ slider-label-label-text-size: inspection.get-theme-typography($theme, subtitle-2, font-size),
82
+ slider-label-label-text-line-height:
83
+ inspection.get-theme-typography($theme, subtitle-2, line-height),
84
+ slider-label-label-text-tracking:
85
+ inspection.get-theme-typography($theme, subtitle-2, letter-spacing),
86
+ slider-label-label-text-weight:
87
+ inspection.get-theme-typography($theme, subtitle-2, font-weight),
88
88
  );
89
89
  }
90
90
 
@@ -1,121 +1,66 @@
1
1
  @use 'sass:map';
2
- @use '../core/style/sass-utils';
3
2
  @use '../core/tokens/m3-utils';
4
3
  @use '../core/style/elevation';
5
-
6
- // The prefix used to generate the fully qualified name for tokens in this file.
7
- $prefix: (mat, slider);
4
+ @use '../core/tokens/m3';
8
5
 
9
6
  /// Generates custom tokens for the mat-slider.
10
- /// @param {Map} $systems The MDC system tokens
11
- /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
12
- /// @param {Map} $token-slots Possible token slots
13
- /// @return {Map} A set of custom tokens for the mat-slider
14
- @function get-tokens($systems, $exclude-hardcoded, $token-slots) {
15
- $tokens: (
16
- ripple-color: map.get($systems, md-sys-color, primary),
17
- hover-state-layer-color: sass-utils.safe-color-change(
18
- map.get($systems, md-sys-color, primary), $alpha: 0.05),
19
- focus-state-layer-color: sass-utils.safe-color-change(
20
- map.get($systems, md-sys-color, primary), $alpha: 0.2),
21
- value-indicator-opacity: m3-utils.hardcode(1, $exclude-hardcoded),
22
- value-indicator-padding: m3-utils.hardcode(0, $exclude-hardcoded),
23
- value-indicator-width: m3-utils.hardcode(28px, $exclude-hardcoded),
24
- value-indicator-height: m3-utils.hardcode(28px, $exclude-hardcoded),
25
- value-indicator-caret-display: m3-utils.hardcode(none, $exclude-hardcoded),
26
- value-indicator-border-radius:
27
- m3-utils.hardcode(50% 50% 50% 0, $exclude-hardcoded),
28
- value-indicator-text-transform:
29
- m3-utils.hardcode(rotate(45deg), $exclude-hardcoded),
30
- value-indicator-container-transform:
31
- m3-utils.hardcode(translateX(-50%) rotate(-45deg), $exclude-hardcoded),
32
- active-track-color: map.get($systems, md-sys-color, primary),
33
- active-track-height: if($exclude-hardcoded, null, 4px),
34
- active-track-shape: map.get($systems, md-sys-shape, corner-full),
35
- disabled-active-track-color: map.get($systems, md-sys-color, on-surface),
36
- disabled-handle-color: map.get($systems, md-sys-color, on-surface),
37
- disabled-inactive-track-color: map.get($systems, md-sys-color, on-surface),
38
- focus-handle-color: map.get($systems, md-sys-color, primary),
39
- handle-color: map.get($systems, md-sys-color, primary),
40
- handle-elevation: map.get($systems, md-sys-elevation, level1),
41
- handle-height: if($exclude-hardcoded, null, 20px),
42
- handle-shape: map.get($systems, md-sys-shape, corner-full),
43
- handle-width: if($exclude-hardcoded, null, 20px),
44
- hover-handle-color: map.get($systems, md-sys-color, primary),
45
- inactive-track-color: map.get($systems, md-sys-color, surface-variant),
46
- inactive-track-height: if($exclude-hardcoded, null, 4px),
47
- inactive-track-shape: map.get($systems, md-sys-shape, corner-full),
48
- label-container-color: map.get($systems, md-sys-color, primary),
49
- label-label-text-color: map.get($systems, md-sys-color, on-primary),
50
- label-label-text-font: map.get($systems, md-sys-typescale, label-medium-font),
51
- label-label-text-line-height: map.get($systems, md-sys-typescale, label-medium-line-height),
52
- label-label-text-size: map.get($systems, md-sys-typescale, label-medium-size),
53
- label-label-text-tracking: map.get($systems, md-sys-typescale, label-medium-tracking),
54
- label-label-text-weight: map.get($systems, md-sys-typescale, label-medium-weight),
55
- with-overlap-handle-outline-color: map.get($systems, md-sys-color, on-primary),
56
- with-overlap-handle-outline-width: if($exclude-hardcoded, null, 1px),
57
- with-tick-marks-active-container-color: map.get($systems, md-sys-color, on-primary),
58
- with-tick-marks-active-container-opacity: if($exclude-hardcoded, null, 0.38),
59
- with-tick-marks-container-shape: map.get($systems, md-sys-shape, corner-full),
60
- with-tick-marks-container-size: if($exclude-hardcoded, null, 2px),
61
- with-tick-marks-disabled-container-color: map.get($systems, md-sys-color, on-surface),
62
- with-tick-marks-inactive-container-color: map.get($systems, md-sys-color, on-surface-variant),
63
- with-tick-marks-inactive-container-opacity: if($exclude-hardcoded, null, 0.38)
64
- );
65
- $handle-elevation: map.get($tokens, handle-elevation);
66
-
67
- @if ($handle-elevation != null) {
68
- $tokens: map.set($tokens, handle-elevation, elevation.get-box-shadow($handle-elevation));
7
+ /// @param {String} $color-variant The color variant to use for the component
8
+ @function get-tokens($theme: m3.$sys-theme, $color-variant: null) {
9
+ $system: m3-utils.get-system($theme);
10
+ @if $color-variant {
11
+ $system: m3-utils.replace-colors-with-variant($system, primary, $color-variant);
69
12
  }
70
13
 
71
- $variant-tokens: (
72
- primary: (), // Default, no overrides needed
73
- secondary: (
74
- ripple-color: map.get($systems, md-sys-color, secondary),
75
- hover-state-layer-color: sass-utils.safe-color-change(
76
- map.get($systems, md-sys-color, secondary), $alpha: 0.05),
77
- focus-state-layer-color: sass-utils.safe-color-change(
78
- map.get($systems, md-sys-color, secondary), $alpha: 0.2),
79
- active-track-color: map.get($systems, md-sys-color, secondary),
80
- focus-handle-color: map.get($systems, md-sys-color, secondary),
81
- handle-color: map.get($systems, md-sys-color, secondary),
82
- hover-handle-color: map.get($systems, md-sys-color, secondary),
83
- label-container-color: map.get($systems, md-sys-color, secondary),
84
- label-label-text-color: map.get($systems, md-sys-color, on-secondary),
85
- with-overlap-handle-outline-color: map.get($systems, md-sys-color, on-secondary),
86
- with-tick-marks-active-container-color: map.get($systems, md-sys-color, on-secondary),
14
+ @return (
15
+ base: (
16
+ slider-value-indicator-opacity: 1,
17
+ slider-value-indicator-padding: 0,
18
+ slider-value-indicator-width: 28px,
19
+ slider-value-indicator-height: 28px,
20
+ slider-value-indicator-caret-display: none,
21
+ slider-value-indicator-border-radius: 50% 50% 50% 0,
22
+ slider-value-indicator-text-transform: rotate(45deg),
23
+ slider-value-indicator-container-transform: translateX(-50%) rotate(-45deg),
24
+ slider-active-track-height: 4px,
25
+ slider-handle-height: 20px,
26
+ slider-handle-width: 20px,
27
+ slider-inactive-track-height: 4px,
28
+ slider-with-overlap-handle-outline-width: 1px,
29
+ slider-with-tick-marks-active-container-opacity: 0.38,
30
+ slider-with-tick-marks-container-size: 2px,
31
+ slider-with-tick-marks-inactive-container-opacity: 0.38,
87
32
  ),
88
- tertiary: (
89
- ripple-color: map.get($systems, md-sys-color, tertiary),
90
- hover-state-layer-color: sass-utils.safe-color-change(
91
- map.get($systems, md-sys-color, tertiary), $alpha: 0.05),
92
- focus-state-layer-color: sass-utils.safe-color-change(
93
- map.get($systems, md-sys-color, tertiary), $alpha: 0.2),
94
- active-track-color: map.get($systems, md-sys-color, tertiary),
95
- focus-handle-color: map.get($systems, md-sys-color, tertiary),
96
- handle-color: map.get($systems, md-sys-color, tertiary),
97
- hover-handle-color: map.get($systems, md-sys-color, tertiary),
98
- label-container-color: map.get($systems, md-sys-color, tertiary),
99
- label-label-text-color: map.get($systems, md-sys-color, on-tertiary),
100
- with-overlap-handle-outline-color: map.get($systems, md-sys-color, on-tertiary),
101
- with-tick-marks-active-container-color: map.get($systems, md-sys-color, on-tertiary),
33
+ color: (
34
+ slider-active-track-color: map.get($system, primary),
35
+ slider-active-track-shape: map.get($system, corner-full),
36
+ slider-disabled-active-track-color: map.get($system, on-surface),
37
+ slider-disabled-handle-color: map.get($system, on-surface),
38
+ slider-disabled-inactive-track-color: map.get($system, on-surface),
39
+ slider-focus-handle-color: map.get($system, primary),
40
+ slider-focus-state-layer-color: m3-utils.color-with-opacity(map.get($system, primary), 20%),
41
+ slider-handle-color: map.get($system, primary),
42
+ slider-handle-elevation: elevation.get-box-shadow(map.get($system, level1)),
43
+ slider-handle-shape: map.get($system, corner-full),
44
+ slider-hover-handle-color: map.get($system, primary),
45
+ slider-hover-state-layer-color: m3-utils.color-with-opacity(map.get($system, primary), 5%),
46
+ slider-inactive-track-color: map.get($system, surface-variant),
47
+ slider-inactive-track-shape: map.get($system, corner-full),
48
+ slider-label-container-color: map.get($system, primary),
49
+ slider-label-label-text-color: map.get($system, on-primary),
50
+ slider-ripple-color: map.get($system, primary),
51
+ slider-with-overlap-handle-outline-color: map.get($system, on-primary),
52
+ slider-with-tick-marks-active-container-color: map.get($system, on-primary),
53
+ slider-with-tick-marks-container-shape: map.get($system, corner-full),
54
+ slider-with-tick-marks-disabled-container-color: map.get($system, on-surface),
55
+ slider-with-tick-marks-inactive-container-color: map.get($system, on-surface-variant),
102
56
  ),
103
- error: (
104
- ripple-color: map.get($systems, md-sys-color, error),
105
- hover-state-layer-color: sass-utils.safe-color-change(
106
- map.get($systems, md-sys-color, error), $alpha: 0.05),
107
- focus-state-layer-color: sass-utils.safe-color-change(
108
- map.get($systems, md-sys-color, error), $alpha: 0.2),
109
- active-track-color: map.get($systems, md-sys-color, error),
110
- focus-handle-color: map.get($systems, md-sys-color, error),
111
- handle-color: map.get($systems, md-sys-color, error),
112
- hover-handle-color: map.get($systems, md-sys-color, error),
113
- label-container-color: map.get($systems, md-sys-color, error),
114
- label-label-text-color: map.get($systems, md-sys-color, on-error),
115
- with-overlap-handle-outline-color: map.get($systems, md-sys-color, on-error),
116
- with-tick-marks-active-container-color: map.get($systems, md-sys-color, on-error),
57
+ typography: (
58
+ slider-label-label-text-font: map.get($system, label-medium-font),
59
+ slider-label-label-text-line-height: map.get($system, label-medium-line-height),
60
+ slider-label-label-text-size: map.get($system, label-medium-size),
61
+ slider-label-label-text-tracking: map.get($system, label-medium-tracking),
62
+ slider-label-label-text-weight: map.get($system, label-medium-weight),
117
63
  ),
64
+ density: (),
118
65
  );
119
-
120
- @return m3-utils.namespace($prefix, ($tokens, $variant-tokens), $token-slots);
121
66
  }
@@ -1,46 +1,44 @@
1
1
  @use '../core/theming/theming';
2
2
  @use '../core/theming/inspection';
3
- @use '../core/theming/validation';
4
3
  @use '../core/typography/typography';
5
4
  @use '../core/style/sass-utils';
6
5
  @use '../core/tokens/token-utils';
7
6
  @use './m2-slider';
7
+ @use './m3-slider';
8
+ @use 'sass:map';
8
9
 
9
10
  /// Outputs base theme styles (styles not dependent on the color, typography, or density settings)
10
11
  /// for the mat-slider.
11
12
  /// @param {Map} $theme The theme to generate base styles for.
12
13
  @mixin base($theme) {
13
14
  @if inspection.get-theme-version($theme) == 1 {
14
- @include _theme-from-tokens(inspection.get-theme-tokens($theme, base));
15
+ @include token-utils.create-token-values(map.get(m3-slider.get-tokens($theme), base));
15
16
  } @else {
16
17
  @include sass-utils.current-selector-or-root() {
17
- @include token-utils.create-token-values-mixed(
18
- m2-slider.$prefix, m2-slider.get-unthemable-tokens());
18
+ @include token-utils.create-token-values-mixed(m2-slider.get-unthemable-tokens());
19
19
  }
20
20
  }
21
21
  }
22
22
 
23
23
  /// Outputs color theme styles for the mat-slider.
24
24
  /// @param {Map} $theme The theme to generate color styles for.
25
- /// @param {ArgList} Additional optional arguments (only supported for M3 themes):
26
- /// $color-variant: The color variant to use for the slider: primary, secondary, tertiary,
27
- /// or error (If not specified, default primary color will be used).
28
- @mixin color($theme, $options...) {
25
+ /// @param {String} $color-variant The color variant to use for the component (M3 only)
26
+ @mixin color($theme, $color-variant: null) {
29
27
  @if inspection.get-theme-version($theme) == 1 {
30
- @include _theme-from-tokens(inspection.get-theme-tokens($theme, color), $options...);
28
+ @include token-utils.create-token-values(
29
+ map.get(m3-slider.get-tokens($theme, $color-variant), color));
31
30
  } @else {
32
31
  @include sass-utils.current-selector-or-root() {
33
- @include token-utils.create-token-values-mixed(
34
- m2-slider.$prefix, m2-slider.get-color-tokens($theme));
32
+ @include token-utils.create-token-values-mixed(m2-slider.get-color-tokens($theme));
35
33
 
36
34
  .mat-accent {
37
35
  @include token-utils.create-token-values-mixed(
38
- m2-slider.$prefix, m2-slider.private-get-color-palette-color-tokens($theme, accent));
36
+ m2-slider.private-get-color-palette-color-tokens($theme, accent));
39
37
  }
40
38
 
41
39
  .mat-warn {
42
40
  @include token-utils.create-token-values-mixed(
43
- m2-slider.$prefix, m2-slider.private-get-color-palette-color-tokens($theme, warn));
41
+ m2-slider.private-get-color-palette-color-tokens($theme, warn));
44
42
  }
45
43
  }
46
44
  }
@@ -50,11 +48,10 @@
50
48
  /// @param {Map} $theme The theme to generate typography styles for.
51
49
  @mixin typography($theme) {
52
50
  @if inspection.get-theme-version($theme) == 1 {
53
- @include _theme-from-tokens(inspection.get-theme-tokens($theme, typography));
51
+ @include token-utils.create-token-values(map.get(m3-slider.get-tokens($theme), typography));
54
52
  } @else {
55
53
  @include sass-utils.current-selector-or-root() {
56
- @include token-utils.create-token-values-mixed(
57
- m2-slider.$prefix, m2-slider.get-typography-tokens($theme));
54
+ @include token-utils.create-token-values-mixed(m2-slider.get-typography-tokens($theme));
58
55
  }
59
56
  }
60
57
  }
@@ -66,8 +63,7 @@
66
63
  // There are no M3 density tokens for this component
67
64
  } @else {
68
65
  @include sass-utils.current-selector-or-root() {
69
- @include token-utils.create-token-values-mixed(
70
- m2-slider.$prefix, m2-slider.get-density-tokens($theme));
66
+ @include token-utils.create-token-values-mixed(m2-slider.get-density-tokens($theme));
71
67
  }
72
68
  }
73
69
  }
@@ -76,8 +72,8 @@
76
72
  @function _define-overrides() {
77
73
  @return (
78
74
  (
79
- namespace: m2-slider.$prefix,
80
- tokens: m2-slider.get-token-slots(),
75
+ namespace: slider,
76
+ tokens: token-utils.get-overrides(m3-slider.get-tokens(), slider)
81
77
  ),
82
78
  );
83
79
  }
@@ -85,18 +81,19 @@
85
81
  /// Outputs the CSS variable values for the given tokens.
86
82
  /// @param {Map} $tokens The token values to emit.
87
83
  @mixin overrides($tokens: ()) {
88
- @include token-utils.batch-create-token-values($tokens, _define-overrides()...);
84
+ @include token-utils.batch-create-token-values($tokens, _define-overrides());
89
85
  }
90
86
 
91
87
  /// Outputs all (base, color, typography, and density) theme styles for the mat-option.
92
88
  /// @param {Map} $theme The theme to generate styles for.
93
- /// @param {ArgList} Additional optional arguments (only supported for M3 themes):
94
- /// $color-variant: The color variant to use for the slider: primary, secondary, tertiary,
95
- /// or error (If not specified, default primary color will be used).
96
- @mixin theme($theme, $options...) {
89
+ /// @param {String} $color-variant The color variant to use for the component (M3 only)
90
+ @mixin theme($theme, $color-variant: null) {
97
91
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-slider') {
98
92
  @if inspection.get-theme-version($theme) == 1 {
99
- @include _theme-from-tokens(inspection.get-theme-tokens($theme), $options...);
93
+ @include base($theme);
94
+ @include color($theme, $color-variant);
95
+ @include density($theme);
96
+ @include typography($theme);
100
97
  } @else {
101
98
  @include base($theme);
102
99
  @if inspection.theme-has($theme, color) {
@@ -111,11 +108,3 @@
111
108
  }
112
109
  }
113
110
  }
114
-
115
- @mixin _theme-from-tokens($tokens, $options...) {
116
- @include validation.selector-defined(
117
- 'Calls to Angular Material theme mixins with an M3 theme must be wrapped in a selector'
118
- );
119
- $mat-slider-tokens: token-utils.get-tokens-for($tokens, m2-slider.$prefix, $options...);
120
- @include token-utils.create-token-values(m2-slider.$prefix, $mat-slider-tokens);
121
- }
@@ -4,14 +4,11 @@
4
4
  @use 'sass:meta';
5
5
  @use 'sass:color';
6
6
 
7
- // The prefix used to generate the fully qualified name for tokens in this file.
8
- $prefix: (mat, snack-bar);
9
-
10
7
  // Tokens that can't be configured through Angular Material's current theming API,
11
8
  // but may be in a future version of the theming API.
12
9
  @function get-unthemable-tokens() {
13
10
  @return (
14
- container-shape: 4px,
11
+ snack-bar-container-shape: 4px,
15
12
  );
16
13
  }
17
14
 
@@ -21,12 +18,13 @@ $prefix: (mat, snack-bar);
21
18
  $surface: inspection.get-theme-color($theme, background, card);
22
19
 
23
20
  @return (
24
- container-color: if(
21
+ snack-bar-container-color: if(
25
22
  meta.type-of($surface) == color,
26
23
  color.mix(if($is-dark, #fff, #000), $surface, 80%),
27
24
  $surface),
28
- supporting-text-color: if(meta.type-of($surface) == color, rgba($surface, 0.87), $surface),
29
- button-color:
25
+ snack-bar-supporting-text-color:
26
+ if(meta.type-of($surface) == color, rgba($surface, 0.87), $surface),
27
+ snack-bar-button-color:
30
28
  if(
31
29
  $is-dark,
32
30
  inspection.get-theme-color($theme, primary, 500),
@@ -38,10 +36,11 @@ $prefix: (mat, snack-bar);
38
36
  // Tokens that can be configured through Angular Material's typography theming API.
39
37
  @function get-typography-tokens($theme) {
40
38
  @return (
41
- supporting-text-font: inspection.get-theme-typography($theme, body-2, font-family),
42
- supporting-text-line-height: inspection.get-theme-typography($theme, body-2, line-height),
43
- supporting-text-size: inspection.get-theme-typography($theme, body-2, font-size),
44
- supporting-text-weight: inspection.get-theme-typography($theme, body-2, font-weight),
39
+ snack-bar-supporting-text-font: inspection.get-theme-typography($theme, body-2, font-family),
40
+ snack-bar-supporting-text-line-height:
41
+ inspection.get-theme-typography($theme, body-2, line-height),
42
+ snack-bar-supporting-text-size: inspection.get-theme-typography($theme, body-2, font-size),
43
+ snack-bar-supporting-text-weight: inspection.get-theme-typography($theme, body-2, font-weight),
45
44
  );
46
45
  }
47
46
 
@@ -1,25 +1,26 @@
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, snack-bar);
3
+ @use '../core/tokens/m3';
6
4
 
7
5
  /// Generates custom tokens for the mat-snack-bar.
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-snack-bar
12
- @function get-tokens($systems, $exclude-hardcoded, $token-slots) {
13
- $tokens: (
14
- button-color: map.get($systems, md-sys-color, inverse-primary),
15
- container-color: map.get($systems, md-sys-color, inverse-surface),
16
- container-shape: map.get($systems, md-sys-shape, corner-extra-small),
17
- supporting-text-color: map.get($systems, md-sys-color, inverse-on-surface),
18
- supporting-text-font: map.get($systems, md-sys-typescale, body-medium-font),
19
- supporting-text-line-height: map.get($systems, md-sys-typescale, body-medium-line-height),
20
- supporting-text-size: map.get($systems, md-sys-typescale, body-medium-size),
21
- supporting-text-weight: map.get($systems, md-sys-typescale, body-medium-weight),
22
- );
6
+ @function get-tokens($theme: m3.$sys-theme) {
7
+ $system: m3-utils.get-system($theme);
23
8
 
24
- @return m3-utils.namespace($prefix, $tokens, $token-slots);
9
+ @return (
10
+ base: (
11
+ snack-bar-container-shape: map.get($system, corner-extra-small),
12
+ ),
13
+ color: (
14
+ snack-bar-button-color: map.get($system, inverse-primary),
15
+ snack-bar-container-color: map.get($system, inverse-surface),
16
+ snack-bar-supporting-text-color: map.get($system, inverse-on-surface),
17
+ ),
18
+ typography: (
19
+ snack-bar-supporting-text-font: map.get($system, body-medium-font),
20
+ snack-bar-supporting-text-line-height: map.get($system, body-medium-line-height),
21
+ snack-bar-supporting-text-size: map.get($system, body-medium-size),
22
+ snack-bar-supporting-text-weight: map.get($system, body-medium-weight),
23
+ ),
24
+ density: (),
25
+ );
25
26
  }
@@ -1,42 +1,39 @@
1
1
  @use 'sass:map';
2
2
  @use '../core/theming/theming';
3
3
  @use '../core/theming/inspection';
4
- @use '../core/theming/validation';
5
4
  @use '../core/style/sass-utils';
6
5
  @use '../core/typography/typography';
7
6
  @use '../core/tokens/token-utils';
8
7
  @use './m2-snack-bar';
8
+ @use './m3-snack-bar';
9
9
 
10
10
  @mixin base($theme) {
11
11
  @if inspection.get-theme-version($theme) == 1 {
12
- @include _theme-from-tokens(inspection.get-theme-tokens($theme, base));
12
+ @include token-utils.create-token-values(map.get(m3-snack-bar.get-tokens($theme), base));
13
13
  } @else {
14
14
  // Add default values for tokens not related to color, typography, or density.
15
15
  @include sass-utils.current-selector-or-root() {
16
- @include token-utils.create-token-values-mixed(
17
- m2-snack-bar.$prefix, m2-snack-bar.get-unthemable-tokens());
16
+ @include token-utils.create-token-values-mixed(m2-snack-bar.get-unthemable-tokens());
18
17
  }
19
18
  }
20
19
  }
21
20
 
22
21
  @mixin color($theme) {
23
22
  @if inspection.get-theme-version($theme) == 1 {
24
- @include _theme-from-tokens(inspection.get-theme-tokens($theme, color));
23
+ @include token-utils.create-token-values(map.get(m3-snack-bar.get-tokens($theme), color));
25
24
  } @else {
26
25
  @include sass-utils.current-selector-or-root() {
27
- @include token-utils.create-token-values-mixed(
28
- m2-snack-bar.$prefix, m2-snack-bar.get-color-tokens($theme));
26
+ @include token-utils.create-token-values-mixed(m2-snack-bar.get-color-tokens($theme));
29
27
  }
30
28
  }
31
29
  }
32
30
 
33
31
  @mixin typography($theme) {
34
32
  @if inspection.get-theme-version($theme) == 1 {
35
- @include _theme-from-tokens(inspection.get-theme-tokens($theme, typography));
33
+ @include token-utils.create-token-values(map.get(m3-snack-bar.get-tokens($theme), typography));
36
34
  } @else {
37
35
  @include sass-utils.current-selector-or-root() {
38
- @include token-utils.create-token-values-mixed(
39
- m2-snack-bar.$prefix, m2-snack-bar.get-typography-tokens($theme));
36
+ @include token-utils.create-token-values-mixed(m2-snack-bar.get-typography-tokens($theme));
40
37
  }
41
38
  }
42
39
  }
@@ -48,8 +45,8 @@
48
45
  @function _define-overrides() {
49
46
  @return (
50
47
  (
51
- namespace: m2-snack-bar.$prefix,
52
- tokens: m2-snack-bar.get-token-slots(),
48
+ namespace: snack-bar,
49
+ tokens: token-utils.get-overrides(m3-snack-bar.get-tokens(), snack-bar)
53
50
  ),
54
51
  );
55
52
  }
@@ -57,13 +54,16 @@
57
54
  /// Outputs the CSS variable values for the given tokens.
58
55
  /// @param {Map} $tokens The token values to emit.
59
56
  @mixin overrides($tokens: ()) {
60
- @include token-utils.batch-create-token-values($tokens, _define-overrides()...);
57
+ @include token-utils.batch-create-token-values($tokens, _define-overrides());
61
58
  }
62
59
 
63
60
  @mixin theme($theme) {
64
61
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-snack-bar') {
65
62
  @if inspection.get-theme-version($theme) == 1 {
66
- @include _theme-from-tokens(inspection.get-theme-tokens($theme));
63
+ @include base($theme);
64
+ @include color($theme);
65
+ @include density($theme);
66
+ @include typography($theme);
67
67
  } @else {
68
68
  @include base($theme);
69
69
  @if inspection.theme-has($theme, color) {
@@ -78,15 +78,3 @@
78
78
  }
79
79
  }
80
80
  }
81
-
82
- @mixin _theme-from-tokens($tokens) {
83
- @include validation.selector-defined(
84
- 'Calls to Angular Material theme mixins with an M3 theme must be wrapped in a selector'
85
- );
86
- @if ($tokens != ()) {
87
- @include token-utils.create-token-values(
88
- m2-snack-bar.$prefix,
89
- map.get($tokens, m2-snack-bar.$prefix)
90
- );
91
- }
92
- }
@@ -4,9 +4,6 @@
4
4
  @use '../core/theming/inspection';
5
5
  @use '../core/style/sass-utils';
6
6
 
7
- // The prefix used to generate the fully qualified name for tokens in this file.
8
- $prefix: (mat, sort);
9
-
10
7
  // Tokens that can't be configured through Angular Material's current theming API,
11
8
  // but may be in a future version of the theming API.
12
9
  @function get-unthemable-tokens() {
@@ -34,7 +31,7 @@ $prefix: (mat, sort);
34
31
  }
35
32
 
36
33
  @return (
37
- arrow-color: $arrow-color,
34
+ sort-arrow-color: $arrow-color,
38
35
  );
39
36
  }
40
37