@angular/material 20.0.0-next.0 → 20.0.0-next.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 (368) hide show
  1. package/autocomplete/_autocomplete-theme.scss +4 -4
  2. package/autocomplete/index.d.ts +96 -126
  3. package/autocomplete/testing/index.d.ts +6 -11
  4. package/badge/_badge-theme.scss +5 -5
  5. package/badge/index.d.ts +8 -112
  6. package/badge/testing/index.d.ts +7 -8
  7. package/badge.d-49a8a74b.d.ts +98 -0
  8. package/bottom-sheet/_bottom-sheet-theme.scss +3 -3
  9. package/bottom-sheet/index.d.ts +88 -103
  10. package/bottom-sheet/testing/index.d.ts +4 -6
  11. package/button/_button-theme.scss +84 -32
  12. package/button/_fab-theme.scss +13 -13
  13. package/button/_icon-button-theme.scss +5 -5
  14. package/button/index.d.ts +10 -245
  15. package/button/testing/index.d.ts +13 -10
  16. package/button-toggle/_button-toggle-theme.scss +8 -8
  17. package/button-toggle/index.d.ts +12 -285
  18. package/button-toggle/testing/index.d.ts +38 -37
  19. package/button-toggle.d-edc8acff.d.ts +257 -0
  20. package/card/_card-theme.scss +12 -12
  21. package/card/index.d.ts +80 -117
  22. package/card/testing/index.d.ts +11 -15
  23. package/checkbox/_checkbox-theme.scss +10 -10
  24. package/checkbox/index.d.ts +43 -104
  25. package/checkbox/testing/index.d.ts +6 -10
  26. package/chips/_chips-theme.scss +14 -14
  27. package/chips/index.d.ts +599 -693
  28. package/chips/testing/index.d.ts +78 -93
  29. package/common-module.d-0e6515ae.d.ts +43 -0
  30. package/core/_core-theme.scss +2 -2
  31. package/core/index.d.ts +50 -979
  32. package/core/option/_optgroup-theme.scss +2 -2
  33. package/core/option/_option-theme.scss +4 -4
  34. package/core/ripple/_ripple-theme.scss +3 -3
  35. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +4 -4
  36. package/core/testing/index.d.ts +3 -65
  37. package/core/theming/_color-api-backwards-compatibility.scss +19 -8
  38. package/core/tokens/_density.scss +3 -0
  39. package/core/tokens/_token-definition.scss +1 -2
  40. package/core/tokens/_token-utils.scss +20 -5
  41. package/core/tokens/m2/_index.scss +2 -0
  42. package/core/tokens/m2/mat/_tonal-button.scss +110 -0
  43. package/core/tokens/m3/_index.scss +2 -0
  44. package/core/tokens/m3/definitions/_index.scss +1 -1
  45. package/core/tokens/m3/definitions/_md-comp-elevated-card.scss +3 -1
  46. package/core/tokens/m3/definitions/_md-sys-color.scss +44 -2
  47. package/core/tokens/m3/definitions/_md-sys-typescale.scss +20 -1
  48. package/core/tokens/m3/mat/_tonal-button.scss +101 -0
  49. package/date-adapter.d-c6835d41.d.ts +267 -0
  50. package/date-range-input-harness.d-549a9f7e.d.ts +278 -0
  51. package/datepicker/_datepicker-theme.scss +8 -7
  52. package/datepicker/index.d.ts +1332 -1482
  53. package/datepicker/testing/index.d.ts +5 -287
  54. package/dialog/_dialog-theme.scss +6 -6
  55. package/dialog/index.d.ts +59 -453
  56. package/dialog/testing/index.d.ts +22 -26
  57. package/dialog.d-57867441.d.ts +335 -0
  58. package/divider/_divider-theme.scss +2 -2
  59. package/divider/index.d.ts +6 -11
  60. package/divider/testing/index.d.ts +2 -16
  61. package/divider-harness.d-d34fede4.d.ts +14 -0
  62. package/error-options.d-448d9046.d.ts +17 -0
  63. package/expansion/_expansion-theme.scss +4 -4
  64. package/expansion/index.d.ts +139 -190
  65. package/expansion/testing/index.d.ts +25 -31
  66. package/fesm2022/autocomplete/testing.mjs +2 -1
  67. package/fesm2022/autocomplete/testing.mjs.map +1 -1
  68. package/fesm2022/autocomplete.mjs +56 -32
  69. package/fesm2022/autocomplete.mjs.map +1 -1
  70. package/fesm2022/badge/testing.mjs.map +1 -1
  71. package/fesm2022/badge.mjs +14 -17
  72. package/fesm2022/badge.mjs.map +1 -1
  73. package/fesm2022/bottom-sheet/testing.mjs.map +1 -1
  74. package/fesm2022/bottom-sheet.mjs +13 -15
  75. package/fesm2022/bottom-sheet.mjs.map +1 -1
  76. package/fesm2022/button/testing.mjs +34 -15
  77. package/fesm2022/button/testing.mjs.map +1 -1
  78. package/fesm2022/button-toggle/testing.mjs.map +1 -1
  79. package/fesm2022/button-toggle.mjs +22 -15
  80. package/fesm2022/button-toggle.mjs.map +1 -1
  81. package/fesm2022/button.mjs +14 -395
  82. package/fesm2022/button.mjs.map +1 -1
  83. package/fesm2022/card/testing.mjs.map +1 -1
  84. package/fesm2022/card.mjs +49 -51
  85. package/fesm2022/card.mjs.map +1 -1
  86. package/fesm2022/checkbox/testing.mjs.map +1 -1
  87. package/fesm2022/checkbox.mjs +32 -73
  88. package/fesm2022/checkbox.mjs.map +1 -1
  89. package/fesm2022/chips/testing.mjs.map +1 -1
  90. package/fesm2022/chips.mjs +51 -46
  91. package/fesm2022/chips.mjs.map +1 -1
  92. package/fesm2022/common-module-2d64df09.mjs +42 -0
  93. package/fesm2022/common-module-2d64df09.mjs.map +1 -0
  94. package/fesm2022/core/testing.mjs +3 -76
  95. package/fesm2022/core/testing.mjs.map +1 -1
  96. package/fesm2022/core.mjs +38 -1598
  97. package/fesm2022/core.mjs.map +1 -1
  98. package/fesm2022/date-formats-b618acb8.mjs +190 -0
  99. package/fesm2022/date-formats-b618acb8.mjs.map +1 -0
  100. package/fesm2022/date-range-input-harness-de70be6a.mjs +467 -0
  101. package/fesm2022/date-range-input-harness-de70be6a.mjs.map +1 -0
  102. package/fesm2022/datepicker/testing.mjs +5 -465
  103. package/fesm2022/datepicker/testing.mjs.map +1 -1
  104. package/fesm2022/datepicker.mjs +162 -131
  105. package/fesm2022/datepicker.mjs.map +1 -1
  106. package/fesm2022/dialog/testing.mjs +12 -1
  107. package/fesm2022/dialog/testing.mjs.map +1 -1
  108. package/fesm2022/dialog.mjs +14 -895
  109. package/fesm2022/dialog.mjs.map +1 -1
  110. package/fesm2022/divider/testing.mjs +2 -17
  111. package/fesm2022/divider/testing.mjs.map +1 -1
  112. package/fesm2022/divider-harness-8099453f.mjs +18 -0
  113. package/fesm2022/divider-harness-8099453f.mjs.map +1 -0
  114. package/fesm2022/divider.mjs +10 -12
  115. package/fesm2022/divider.mjs.map +1 -1
  116. package/fesm2022/error-options-4a00765e.mjs +29 -0
  117. package/fesm2022/error-options-4a00765e.mjs.map +1 -0
  118. package/fesm2022/error-state-8f4ce1af.mjs +37 -0
  119. package/fesm2022/error-state-8f4ce1af.mjs.map +1 -0
  120. package/fesm2022/expansion/testing.mjs.map +1 -1
  121. package/fesm2022/expansion.mjs +30 -32
  122. package/fesm2022/expansion.mjs.map +1 -1
  123. package/fesm2022/form-field/testing/control.mjs +2 -10
  124. package/fesm2022/form-field/testing/control.mjs.map +1 -1
  125. package/fesm2022/form-field/testing.mjs +7 -6
  126. package/fesm2022/form-field/testing.mjs.map +1 -1
  127. package/fesm2022/form-field-6d755764.mjs +1076 -0
  128. package/fesm2022/form-field-6d755764.mjs.map +1 -0
  129. package/fesm2022/form-field-control-harness-efefd4cf.mjs +11 -0
  130. package/fesm2022/form-field-control-harness-efefd4cf.mjs.map +1 -0
  131. package/fesm2022/form-field.mjs +14 -1110
  132. package/fesm2022/form-field.mjs.map +1 -1
  133. package/fesm2022/grid-list/testing.mjs +1 -1
  134. package/fesm2022/grid-list/testing.mjs.map +1 -1
  135. package/fesm2022/grid-list.mjs +30 -173
  136. package/fesm2022/grid-list.mjs.map +1 -1
  137. package/fesm2022/icon/testing.mjs +12 -12
  138. package/fesm2022/icon/testing.mjs.map +1 -1
  139. package/fesm2022/icon-button-0850d958.mjs +211 -0
  140. package/fesm2022/icon-button-0850d958.mjs.map +1 -0
  141. package/fesm2022/icon-module-3f77a24d.mjs +395 -0
  142. package/fesm2022/icon-module-3f77a24d.mjs.map +1 -0
  143. package/fesm2022/icon-registry-13a3b98e.mjs +639 -0
  144. package/fesm2022/icon-registry-13a3b98e.mjs.map +1 -0
  145. package/fesm2022/icon.mjs +11 -1016
  146. package/fesm2022/icon.mjs.map +1 -1
  147. package/fesm2022/index-1763d3a6.mjs +22 -0
  148. package/fesm2022/index-1763d3a6.mjs.map +1 -0
  149. package/fesm2022/index-4bc1d6d3.mjs +20 -0
  150. package/fesm2022/index-4bc1d6d3.mjs.map +1 -0
  151. package/fesm2022/input/testing.mjs +5 -113
  152. package/fesm2022/input/testing.mjs.map +1 -1
  153. package/fesm2022/input-harness-e68bb132.mjs +115 -0
  154. package/fesm2022/input-harness-e68bb132.mjs.map +1 -0
  155. package/fesm2022/input-value-accessor-8a79a24e.mjs +12 -0
  156. package/fesm2022/input-value-accessor-8a79a24e.mjs.map +1 -0
  157. package/fesm2022/input.mjs +21 -23
  158. package/fesm2022/input.mjs.map +1 -1
  159. package/fesm2022/internal-form-field-434c4039.mjs +27 -0
  160. package/fesm2022/internal-form-field-434c4039.mjs.map +1 -0
  161. package/fesm2022/line-d6afe347.mjs +59 -0
  162. package/fesm2022/line-d6afe347.mjs.map +1 -0
  163. package/fesm2022/list/testing.mjs +2 -2
  164. package/fesm2022/list/testing.mjs.map +1 -1
  165. package/fesm2022/list.mjs +59 -56
  166. package/fesm2022/list.mjs.map +1 -1
  167. package/fesm2022/menu/testing.mjs.map +1 -1
  168. package/fesm2022/menu.mjs +37 -25
  169. package/fesm2022/menu.mjs.map +1 -1
  170. package/fesm2022/module-1c16a0a9.mjs +1293 -0
  171. package/fesm2022/module-1c16a0a9.mjs.map +1 -0
  172. package/fesm2022/module-47e3be58.mjs +970 -0
  173. package/fesm2022/module-47e3be58.mjs.map +1 -0
  174. package/fesm2022/module-a5f9ab72.mjs +875 -0
  175. package/fesm2022/module-a5f9ab72.mjs.map +1 -0
  176. package/fesm2022/module-cf951a02.mjs +214 -0
  177. package/fesm2022/module-cf951a02.mjs.map +1 -0
  178. package/fesm2022/module-d757bba0.mjs +38 -0
  179. package/fesm2022/module-d757bba0.mjs.map +1 -0
  180. package/fesm2022/optgroup-harness-5e66b138.mjs +36 -0
  181. package/fesm2022/optgroup-harness-5e66b138.mjs.map +1 -0
  182. package/fesm2022/option-07c3c660.mjs +348 -0
  183. package/fesm2022/option-07c3c660.mjs.map +1 -0
  184. package/fesm2022/option-harness-3b7c1106.mjs +46 -0
  185. package/fesm2022/option-harness-3b7c1106.mjs.map +1 -0
  186. package/fesm2022/paginator/testing.mjs +4 -1
  187. package/fesm2022/paginator/testing.mjs.map +1 -1
  188. package/fesm2022/paginator.mjs +52 -22
  189. package/fesm2022/paginator.mjs.map +1 -1
  190. package/fesm2022/progress-bar/testing.mjs +0 -4
  191. package/fesm2022/progress-bar/testing.mjs.map +1 -1
  192. package/fesm2022/progress-bar.mjs +15 -13
  193. package/fesm2022/progress-bar.mjs.map +1 -1
  194. package/fesm2022/progress-spinner/testing.mjs +0 -4
  195. package/fesm2022/progress-spinner/testing.mjs.map +1 -1
  196. package/fesm2022/progress-spinner.mjs +15 -13
  197. package/fesm2022/progress-spinner.mjs.map +1 -1
  198. package/fesm2022/pseudo-checkbox-af5a4ea4.mjs +52 -0
  199. package/fesm2022/pseudo-checkbox-af5a4ea4.mjs.map +1 -0
  200. package/fesm2022/pseudo-checkbox-module-216fae38.mjs +20 -0
  201. package/fesm2022/pseudo-checkbox-module-216fae38.mjs.map +1 -0
  202. package/fesm2022/public-api-c5ab57f5.mjs +147 -0
  203. package/fesm2022/public-api-c5ab57f5.mjs.map +1 -0
  204. package/fesm2022/radio/testing.mjs.map +1 -1
  205. package/fesm2022/radio.mjs +23 -15
  206. package/fesm2022/radio.mjs.map +1 -1
  207. package/fesm2022/ripple-9939d1f5.mjs +639 -0
  208. package/fesm2022/ripple-9939d1f5.mjs.map +1 -0
  209. package/fesm2022/ripple-loader-f2078c66.mjs +165 -0
  210. package/fesm2022/ripple-loader-f2078c66.mjs.map +1 -0
  211. package/fesm2022/select/testing.mjs +5 -121
  212. package/fesm2022/select/testing.mjs.map +1 -1
  213. package/fesm2022/select-harness-69d47123.mjs +123 -0
  214. package/fesm2022/select-harness-69d47123.mjs.map +1 -0
  215. package/fesm2022/select.mjs +30 -1311
  216. package/fesm2022/select.mjs.map +1 -1
  217. package/fesm2022/sidenav/testing.mjs +1 -1
  218. package/fesm2022/sidenav/testing.mjs.map +1 -1
  219. package/fesm2022/sidenav.mjs +31 -31
  220. package/fesm2022/sidenav.mjs.map +1 -1
  221. package/fesm2022/slide-toggle/testing.mjs.map +1 -1
  222. package/fesm2022/slide-toggle.mjs +27 -75
  223. package/fesm2022/slide-toggle.mjs.map +1 -1
  224. package/fesm2022/slider/testing.mjs.map +1 -1
  225. package/fesm2022/slider.mjs +27 -23
  226. package/fesm2022/slider.mjs.map +1 -1
  227. package/fesm2022/snack-bar/testing.mjs.map +1 -1
  228. package/fesm2022/snack-bar.mjs +38 -30
  229. package/fesm2022/snack-bar.mjs.map +1 -1
  230. package/fesm2022/sort/testing.mjs.map +1 -1
  231. package/fesm2022/sort.mjs +26 -20
  232. package/fesm2022/sort.mjs.map +1 -1
  233. package/fesm2022/stepper/testing.mjs.map +1 -1
  234. package/fesm2022/stepper.mjs +52 -39
  235. package/fesm2022/stepper.mjs.map +1 -1
  236. package/fesm2022/structural-styles-d5ada3b3.mjs +18 -0
  237. package/fesm2022/structural-styles-d5ada3b3.mjs.map +1 -0
  238. package/fesm2022/table/testing.mjs.map +1 -1
  239. package/fesm2022/table.mjs +58 -60
  240. package/fesm2022/table.mjs.map +1 -1
  241. package/fesm2022/tabs/testing.mjs.map +1 -1
  242. package/fesm2022/tabs.mjs +54 -58
  243. package/fesm2022/tabs.mjs.map +1 -1
  244. package/fesm2022/timepicker/testing.mjs +1 -1
  245. package/fesm2022/timepicker/testing.mjs.map +1 -1
  246. package/fesm2022/timepicker.mjs +37 -26
  247. package/fesm2022/timepicker.mjs.map +1 -1
  248. package/fesm2022/toolbar/testing.mjs.map +1 -1
  249. package/fesm2022/toolbar.mjs +13 -15
  250. package/fesm2022/toolbar.mjs.map +1 -1
  251. package/fesm2022/tooltip/testing.mjs.map +1 -1
  252. package/fesm2022/tooltip.mjs +15 -960
  253. package/fesm2022/tooltip.mjs.map +1 -1
  254. package/fesm2022/tree/testing.mjs.map +1 -1
  255. package/fesm2022/tree.mjs +28 -30
  256. package/fesm2022/tree.mjs.map +1 -1
  257. package/form-field/_form-field-theme.scss +16 -16
  258. package/form-field/index.d.ts +16 -508
  259. package/form-field/testing/control/index.d.ts +2 -10
  260. package/form-field/testing/index.d.ts +19 -24
  261. package/form-field-control-harness.d-2d91f25a.d.ts +10 -0
  262. package/form-field-control.d-eb86711c.d.ts +62 -0
  263. package/form-field.d-2edbc094.d.ts +367 -0
  264. package/grid-list/_grid-list-theme.scss +1 -1
  265. package/grid-list/index.d.ts +128 -152
  266. package/grid-list/testing/index.d.ts +39 -44
  267. package/icon/_icon-theme.scss +2 -2
  268. package/icon/index.d.ts +9 -470
  269. package/icon/testing/index.d.ts +41 -44
  270. package/icon-module.d-aa3bbba0.d.ts +167 -0
  271. package/icon-registry.d-1dffe9de.d.ts +286 -0
  272. package/index.d-0536b706.d.ts +11 -0
  273. package/index.d-37e31cd3.d.ts +13 -0
  274. package/index.d.ts +2 -3
  275. package/input/index.d.ts +33 -62
  276. package/input/testing/index.d.ts +13 -71
  277. package/input-harness.d-4eecd1d3.d.ts +60 -0
  278. package/line.d-570a2537.d.ts +25 -0
  279. package/list/_list-theme.scss +15 -15
  280. package/list/index.d.ts +155 -244
  281. package/list/testing/index.d.ts +158 -180
  282. package/list-option-types.d-8739f903.d.ts +15 -0
  283. package/menu/_menu-theme.scss +3 -3
  284. package/menu/index.d.ts +183 -231
  285. package/menu/testing/index.d.ts +17 -23
  286. package/module.d-74a721b9.d.ts +326 -0
  287. package/module.d-792a497c.d.ts +213 -0
  288. package/module.d-ba05faa6.d.ts +448 -0
  289. package/module.d-c17c834e.d.ts +18 -0
  290. package/optgroup-harness.d-7f741f69.d.ts +31 -0
  291. package/option-harness.d-3d33fc9a.d.ts +34 -0
  292. package/option-parent.d-559ad5c5.d.ts +19 -0
  293. package/option.d-6f493d78.d.ts +146 -0
  294. package/package.json +2 -2
  295. package/paginator/_paginator-theme.scss +3 -3
  296. package/paginator/index.d.ts +31 -216
  297. package/paginator/testing/index.d.ts +14 -15
  298. package/paginator.d-40b1766e.d.ts +199 -0
  299. package/palette.d-ec4a617c.d.ts +4 -0
  300. package/prebuilt-themes/deeppurple-amber.css +1 -1
  301. package/prebuilt-themes/indigo-pink.css +1 -1
  302. package/prebuilt-themes/pink-bluegrey.css +1 -1
  303. package/prebuilt-themes/purple-green.css +1 -1
  304. package/progress-bar/_progress-bar-theme.scss +2 -2
  305. package/progress-bar/index.d.ts +40 -59
  306. package/progress-bar/testing/index.d.ts +7 -10
  307. package/progress-spinner/_progress-spinner-theme.scss +4 -4
  308. package/progress-spinner/index.d.ts +8 -110
  309. package/progress-spinner/testing/index.d.ts +10 -11
  310. package/progress-spinner.d-1fc040c5.d.ts +96 -0
  311. package/pseudo-checkbox-module.d-3abc0461.d.ts +44 -0
  312. package/radio/_radio-theme.scss +12 -12
  313. package/radio/index.d.ts +151 -170
  314. package/radio/testing/index.d.ts +61 -67
  315. package/ripple-loader.d-8aac2988.d.ts +48 -0
  316. package/ripple.d-2fb57d04.d.ts +255 -0
  317. package/schematics/ng-add/index.js +1 -1
  318. package/schematics/ng-add/index.mjs +1 -1
  319. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +2 -2
  320. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +1 -1
  321. package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +1 -1
  322. package/schematics/ng-generate/theme-color/index_bundled.js +2 -2
  323. package/schematics/ng-generate/theme-color/schema.json +10 -0
  324. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +2 -2
  325. package/schematics/ng-update/index_bundled.js +31 -31
  326. package/select/_select-theme.scss +6 -6
  327. package/select/index.d.ts +25 -505
  328. package/select/testing/index.d.ts +5 -67
  329. package/select-harness.d-7441a7ac.d.ts +63 -0
  330. package/sidenav/_sidenav-theme.scss +2 -2
  331. package/sidenav/index.d.ts +49 -92
  332. package/sidenav/testing/index.d.ts +58 -63
  333. package/slide-toggle/_slide-toggle-theme.scss +10 -10
  334. package/slide-toggle/index.d.ts +39 -110
  335. package/slide-toggle/testing/index.d.ts +17 -21
  336. package/slider/_slider-theme.scss +10 -10
  337. package/slider/index.d.ts +281 -328
  338. package/slider/testing/index.d.ts +42 -47
  339. package/snack-bar/_snack-bar-theme.scss +4 -4
  340. package/snack-bar/index.d.ts +152 -185
  341. package/snack-bar/testing/index.d.ts +7 -9
  342. package/sort/_sort-theme.scss +3 -3
  343. package/sort/index.d.ts +61 -169
  344. package/sort/testing/index.d.ts +22 -25
  345. package/sort-direction.d-f4ce4649.d.ts +3 -0
  346. package/sort.d-c2b79a45.d.ts +87 -0
  347. package/stepper/_stepper-theme.scss +5 -5
  348. package/stepper/index.d.ts +115 -167
  349. package/stepper/testing/index.d.ts +43 -52
  350. package/table/_table-theme.scss +4 -4
  351. package/table/index.d.ts +97 -156
  352. package/table/testing/index.d.ts +64 -78
  353. package/tabs/_tabs-theme.scss +16 -16
  354. package/tabs/index.d.ts +309 -383
  355. package/tabs/testing/index.d.ts +67 -76
  356. package/timepicker/_timepicker-theme.scss +4 -4
  357. package/timepicker/index.d.ts +127 -160
  358. package/timepicker/testing/index.d.ts +20 -26
  359. package/toolbar/_toolbar-theme.scss +4 -4
  360. package/toolbar/index.d.ts +15 -26
  361. package/toolbar/testing/index.d.ts +13 -16
  362. package/tooltip/_tooltip-theme.scss +4 -4
  363. package/tooltip/index.d.ts +11 -355
  364. package/tooltip/testing/index.d.ts +7 -10
  365. package/tree/_tree-theme.scss +3 -3
  366. package/tree/index.d.ts +117 -163
  367. package/tree/testing/index.d.ts +52 -58
  368. /package/core/tokens/m3/definitions/{unused/_md-comp-filled-tonal-button.scss → _md-comp-filled-tonal-button.scss} +0 -0
@@ -19,7 +19,7 @@
19
19
  @include _theme-from-tokens(inspection.get-theme-tokens($theme, color));
20
20
  } @else {
21
21
  @include sass-utils.current-selector-or-root() {
22
- @include token-utils.create-token-values(
22
+ @include token-utils.create-token-values-mixed(
23
23
  tokens-mat-optgroup.$prefix,
24
24
  tokens-mat-optgroup.get-color-tokens($theme)
25
25
  );
@@ -32,7 +32,7 @@
32
32
  @include _theme-from-tokens(inspection.get-theme-tokens($theme, typography));
33
33
  } @else {
34
34
  @include sass-utils.current-selector-or-root() {
35
- @include token-utils.create-token-values(
35
+ @include token-utils.create-token-values-mixed(
36
36
  tokens-mat-optgroup.$prefix,
37
37
  tokens-mat-optgroup.get-typography-tokens($theme)
38
38
  );
@@ -26,21 +26,21 @@
26
26
  @include _theme-from-tokens(inspection.get-theme-tokens($theme, color), $options...);
27
27
  } @else {
28
28
  @include sass-utils.current-selector-or-root() {
29
- @include token-utils.create-token-values(
29
+ @include token-utils.create-token-values-mixed(
30
30
  tokens-mat-option.$prefix,
31
31
  tokens-mat-option.get-color-tokens($theme)
32
32
  );
33
33
  }
34
34
 
35
35
  .mat-accent {
36
- @include token-utils.create-token-values(
36
+ @include token-utils.create-token-values-mixed(
37
37
  tokens-mat-option.$prefix,
38
38
  tokens-mat-option.get-color-tokens($theme, accent)
39
39
  );
40
40
  }
41
41
 
42
42
  .mat-warn {
43
- @include token-utils.create-token-values(
43
+ @include token-utils.create-token-values-mixed(
44
44
  tokens-mat-option.$prefix,
45
45
  tokens-mat-option.get-color-tokens($theme, warn)
46
46
  );
@@ -55,7 +55,7 @@
55
55
  @include _theme-from-tokens(inspection.get-theme-tokens($theme, typography));
56
56
  } @else {
57
57
  @include sass-utils.current-selector-or-root() {
58
- @include token-utils.create-token-values(
58
+ @include token-utils.create-token-values-mixed(
59
59
  tokens-mat-option.$prefix,
60
60
  tokens-mat-option.get-typography-tokens($theme)
61
61
  );
@@ -18,7 +18,7 @@
18
18
  @include _theme-from-tokens(inspection.get-theme-tokens($theme, color));
19
19
  } @else {
20
20
  @include sass-utils.current-selector-or-root() {
21
- @include token-utils.create-token-values(
21
+ @include token-utils.create-token-values-mixed(
22
22
  tokens-mat-ripple.$prefix,
23
23
  tokens-mat-ripple.get-color-tokens($theme)
24
24
  );
@@ -31,7 +31,7 @@
31
31
  @include _theme-from-tokens(inspection.get-theme-tokens($theme, typography));
32
32
  } @else {
33
33
  @include sass-utils.current-selector-or-root() {
34
- @include token-utils.create-token-values(
34
+ @include token-utils.create-token-values-mixed(
35
35
  tokens-mat-ripple.$prefix,
36
36
  tokens-mat-ripple.get-typography-tokens($theme)
37
37
  );
@@ -44,7 +44,7 @@
44
44
  @include _theme-from-tokens(inspection.get-theme-tokens($theme, density));
45
45
  } @else {
46
46
  @include sass-utils.current-selector-or-root() {
47
- @include token-utils.create-token-values(
47
+ @include token-utils.create-token-values-mixed(
48
48
  tokens-mat-ripple.$prefix,
49
49
  tokens-mat-ripple.get-density-tokens($theme)
50
50
  );
@@ -8,11 +8,11 @@
8
8
 
9
9
  @mixin _palette-styles($theme, $palette-name) {
10
10
  @include sass-utils.current-selector-or-root() {
11
- @include token-utils.create-token-values(
11
+ @include token-utils.create-token-values-mixed(
12
12
  tokens-mat-full-pseudo-checkbox.$prefix,
13
13
  tokens-mat-full-pseudo-checkbox.get-color-tokens($theme, $palette-name)
14
14
  );
15
- @include token-utils.create-token-values(
15
+ @include token-utils.create-token-values-mixed(
16
16
  tokens-mat-minimal-pseudo-checkbox.$prefix,
17
17
  tokens-mat-minimal-pseudo-checkbox.get-color-tokens($theme, $palette-name)
18
18
  );
@@ -33,11 +33,11 @@
33
33
  tokens-mat-minimal-pseudo-checkbox.$prefix,
34
34
  $options...
35
35
  );
36
- @include token-utils.create-token-values(
36
+ @include token-utils.create-token-values-mixed(
37
37
  tokens-mat-full-pseudo-checkbox.$prefix,
38
38
  $mat-full-pseudo-checkbox-tokens
39
39
  );
40
- @include token-utils.create-token-values(
40
+ @include token-utils.create-token-values-mixed(
41
41
  tokens-mat-minimal-pseudo-checkbox.$prefix,
42
42
  $mat-minimal-pseudo-checkbox-tokens
43
43
  );
@@ -1,65 +1,3 @@
1
- import { BaseHarnessFilters } from '@angular/cdk/testing';
2
- import { ComponentHarness } from '@angular/cdk/testing';
3
- import { ComponentHarnessConstructor } from '@angular/cdk/testing';
4
- import { ContentContainerComponentHarness } from '@angular/cdk/testing';
5
- import { HarnessPredicate } from '@angular/cdk/testing';
6
-
7
- /** Harness for interacting with a `mat-optgroup` in tests. */
8
- export declare class MatOptgroupHarness extends ComponentHarness {
9
- /** Selector used to locate option group instances. */
10
- static hostSelector: string;
11
- private _label;
12
- /**
13
- * Gets a `HarnessPredicate` that can be used to search for a option group with specific
14
- * attributes.
15
- * @param options Options for filtering which option instances are considered a match.
16
- * @return a `HarnessPredicate` configured with the given options.
17
- */
18
- static with<T extends MatOptgroupHarness>(this: ComponentHarnessConstructor<T>, options?: OptgroupHarnessFilters): HarnessPredicate<T>;
19
- /** Gets the option group's label text. */
20
- getLabelText(): Promise<string>;
21
- /** Gets whether the option group is disabled. */
22
- isDisabled(): Promise<boolean>;
23
- /**
24
- * Gets the options that are inside the group.
25
- * @param filter Optionally filters which options are included.
26
- */
27
- getOptions(filter?: OptionHarnessFilters): Promise<MatOptionHarness[]>;
28
- }
29
-
30
- /** Harness for interacting with a `mat-option` in tests. */
31
- export declare class MatOptionHarness extends ContentContainerComponentHarness {
32
- /** Selector used to locate option instances. */
33
- static hostSelector: string;
34
- /** Element containing the option's text. */
35
- private _text;
36
- /**
37
- * Gets a `HarnessPredicate` that can be used to search for an option with specific attributes.
38
- * @param options Options for filtering which option instances are considered a match.
39
- * @return a `HarnessPredicate` configured with the given options.
40
- */
41
- static with<T extends MatOptionHarness>(this: ComponentHarnessConstructor<T>, options?: OptionHarnessFilters): HarnessPredicate<T>;
42
- /** Clicks the option. */
43
- click(): Promise<void>;
44
- /** Gets the option's label text. */
45
- getText(): Promise<string>;
46
- /** Gets whether the option is disabled. */
47
- isDisabled(): Promise<boolean>;
48
- /** Gets whether the option is selected. */
49
- isSelected(): Promise<boolean>;
50
- /** Gets whether the option is active. */
51
- isActive(): Promise<boolean>;
52
- /** Gets whether the option is in multiple selection mode. */
53
- isMultiple(): Promise<boolean>;
54
- }
55
-
56
- export declare interface OptgroupHarnessFilters extends BaseHarnessFilters {
57
- labelText?: string | RegExp;
58
- }
59
-
60
- export declare interface OptionHarnessFilters extends BaseHarnessFilters {
61
- text?: string | RegExp;
62
- isSelected?: boolean;
63
- }
64
-
65
- export { }
1
+ export { M as MatOptionHarness, O as OptionHarnessFilters } from '../../option-harness.d-3d33fc9a.js';
2
+ export { M as MatOptgroupHarness, O as OptgroupHarnessFilters } from '../../optgroup-harness.d-7f741f69.js';
3
+ import '@angular/cdk/testing';
@@ -23,7 +23,7 @@
23
23
  // from the bundle.
24
24
  $_overrides-only: true;
25
25
 
26
- @mixin color-variant-styles($theme, $color-variant) {
26
+ @mixin _color-variant-styles($theme, $color-variant) {
27
27
  $primary-options: (color-variant: $color-variant, emit-overrides-only: $_overrides-only);
28
28
 
29
29
  // Some components use the secondary color rather than primary color for `.mat-primary`.
@@ -33,10 +33,21 @@ $_overrides-only: true;
33
33
  emit-overrides-only: $_overrides-only
34
34
  );
35
35
 
36
- @include option-theme.color($theme, $secondary-options...);
37
- @include progress-spinner-theme.color($theme, $primary-options...);
38
- @include pseudo-checkbox-theme.color($theme, $primary-options...);
39
- @include stepper-theme.color($theme, $primary-options...);
36
+ & {
37
+ @include option-theme.color($theme, $secondary-options...);
38
+ }
39
+
40
+ & {
41
+ @include progress-spinner-theme.color($theme, $primary-options...);
42
+ }
43
+
44
+ & {
45
+ @include pseudo-checkbox-theme.color($theme, $primary-options...);
46
+ }
47
+
48
+ & {
49
+ @include stepper-theme.color($theme, $primary-options...);
50
+ }
40
51
 
41
52
  &.mat-icon {
42
53
  @include icon-theme.color($theme, $primary-options...);
@@ -105,7 +116,7 @@ $_overrides-only: true;
105
116
 
106
117
  @mixin color-variants-backwards-compatibility($theme) {
107
118
  .mat-primary {
108
- @include color-variant-styles($theme, primary);
119
+ @include _color-variant-styles($theme, primary);
109
120
  }
110
121
  .mat-badge {
111
122
  @include badge-theme.color($theme, $color-variant: primary,
@@ -113,7 +124,7 @@ $_overrides-only: true;
113
124
  }
114
125
 
115
126
  .mat-accent {
116
- @include color-variant-styles($theme, tertiary);
127
+ @include _color-variant-styles($theme, tertiary);
117
128
  }
118
129
  .mat-badge-accent {
119
130
  @include badge-theme.color($theme, $color-variant: tertiary,
@@ -121,7 +132,7 @@ $_overrides-only: true;
121
132
  }
122
133
 
123
134
  .mat-warn {
124
- @include color-variant-styles($theme, error);
135
+ @include _color-variant-styles($theme, error);
125
136
  }
126
137
  .mat-badge-warn {
127
138
  @include badge-theme.color($theme, $color-variant: error,
@@ -38,6 +38,9 @@ $_density-tokens: (
38
38
  (mdc, filled-button): (
39
39
  container-height: (40px, 36px, 32px, 28px),
40
40
  ),
41
+ (mat, tonal-button): (
42
+ container-height: (40px, 36px, 32px, 28px),
43
+ ),
41
44
  (mdc, outlined-button): (
42
45
  container-height: (40px, 36px, 32px, 28px),
43
46
  ),
@@ -173,8 +173,7 @@ $_system-fallbacks: null;
173
173
  @if(meta.type-of($color) == 'color') {
174
174
  $result: map.remove($result, $opacity-key);
175
175
  $result: map.set($result, $color-key, rgba($color, $opacity));
176
- }
177
- @else if($color != null) {
176
+ } @else if($color != null) {
178
177
  $result: map.remove($result, $opacity-key);
179
178
  $combined-color: #{color-mix(in srgb, #{$color} #{($opacity * 100) + '%'}, transparent)};
180
179
  $result: map.set($result, $color-key, $combined-color);
@@ -118,11 +118,26 @@ $_system-fallbacks: m3-system.create-system-fallbacks();
118
118
 
119
119
  // Outputs a map of tokens under a specific prefix.
120
120
  @mixin create-token-values($prefix, $tokens) {
121
- @if $tokens != null {
122
- // TODO: The `&` adds to the file size of theme, but it's necessary for compatibility
123
- // with https://sass-lang.com/documentation/breaking-changes/mixed-decls/. We should
124
- // figure out a better way to do this or move all the concrete styles out of the theme.
125
- & {
121
+ @include _create-token-values-internal($prefix, $tokens, false);
122
+ }
123
+
124
+ // Outputs a map of tokens under a specific prefix in scenarios where tokens may be mixed with
125
+ // other declarations (e.g. M2 themes). Used to avoid https://sass-lang.com/documentation/breaking-changes/mixed-decls/
126
+ @mixin create-token-values-mixed($prefix, $tokens) {
127
+ @include _create-token-values-internal($prefix, $tokens, true);
128
+ }
129
+
130
+ @mixin _create-token-values-internal($prefix, $tokens, $in-place) {
131
+ @if ($tokens != null) {
132
+ @if ($in-place) {
133
+ & {
134
+ @each $key, $value in $tokens {
135
+ @if $value != null {
136
+ #{_create-var-name($prefix, $key)}: #{$value};
137
+ }
138
+ }
139
+ }
140
+ } @else {
126
141
  @each $key, $value in $tokens {
127
142
  @if $value != null {
128
143
  #{_create-var-name($prefix, $key)}: #{$value};
@@ -45,6 +45,7 @@
45
45
  @use './mat/toolbar' as tokens-mat-toolbar;
46
46
  @use './mat/tree' as tokens-mat-tree;
47
47
  @use './mat/timepicker' as tokens-mat-timepicker;
48
+ @use './mat/tonal-button' as tokens-mat-tonal-button;
48
49
  @use './mdc/checkbox' as tokens-mdc-checkbox;
49
50
  @use './mdc/text-button' as tokens-mdc-text-button;
50
51
  @use './mdc/protected-button' as tokens-mdc-protected-button;
@@ -158,6 +159,7 @@
158
159
  _get-tokens-for-module($theme, tokens-mat-toolbar),
159
160
  _get-tokens-for-module($theme, tokens-mat-tree),
160
161
  _get-tokens-for-module($theme, tokens-mat-timepicker),
162
+ _get-tokens-for-module($theme, tokens-mat-tonal-button),
161
163
  _get-tokens-for-module($theme, tokens-mdc-checkbox),
162
164
  _get-tokens-for-module($theme, tokens-mdc-chip),
163
165
  _get-tokens-for-module($theme, tokens-mdc-circular-progress),
@@ -0,0 +1,110 @@
1
+ @use 'sass:map';
2
+ @use '../../token-definition';
3
+ @use '../../../theming/theming';
4
+ @use '../../../theming/inspection';
5
+ @use '../../../style/sass-utils';
6
+
7
+ // The prefix used to generate the fully qualified name for tokens in this file.
8
+ $prefix: (mat, tonal-button);
9
+
10
+ // Tokens that can't be configured through Angular Material's current theming API,
11
+ // but may be in a future version of the theming API.
12
+ @function get-unthemable-tokens() {
13
+ @return (
14
+ // Shape of the container element.
15
+ container-shape: 4px,
16
+
17
+ // Start/end padding of the button.
18
+ horizontal-padding: 16px,
19
+
20
+ // Space between the icon and the button's main content.
21
+ icon-spacing: 8px,
22
+
23
+ // Amount by which to offset the icon so that its presence
24
+ // doesn't increase throw off the horizontal padding.
25
+ icon-offset: -4px,
26
+ );
27
+ }
28
+
29
+ // Tokens that can be configured through Angular Material's color theming API.
30
+ @function get-color-tokens($theme) {
31
+ $is-dark: inspection.get-theme-type($theme) == dark;
32
+
33
+ @return (
34
+ container-color: inspection.get-theme-color($theme, background, card),
35
+ label-text-color: inspection.get-theme-color($theme, foreground, text, 1),
36
+ disabled-container-color: inspection.get-theme-color($theme, foreground, disabled-button,
37
+ 0.12),
38
+ disabled-label-text-color: inspection.get-theme-color($theme, foreground, disabled-button,
39
+ if($is-dark, 0.5, 0.38)),
40
+
41
+ // Color of the element that shows the hover, focus and pressed states.
42
+ state-layer-color: inspection.get-theme-color($theme, foreground, base),
43
+
44
+ // Color of the element that shows the hover, focus and pressed states while disabled.
45
+ disabled-state-layer-color: inspection.get-theme-color($theme, foreground, base),
46
+
47
+ // Color of the ripple element.
48
+ ripple-color: inspection.get-theme-color($theme, foreground, base, 0.1),
49
+
50
+ // Opacity of the ripple when the button is hovered.
51
+ hover-state-layer-opacity: if($is-dark, 0.08, 0.04),
52
+
53
+ // Opacity of the ripple when the button is focused.
54
+ focus-state-layer-opacity: if($is-dark, 0.24, 0.12),
55
+
56
+ // Opacity of the ripple when the button is pressed.
57
+ pressed-state-layer-opacity: if($is-dark, 0.24, 0.12),
58
+ );
59
+ }
60
+
61
+ // Generates the mapping for the properties that change based on the button palette color.
62
+ @function private-get-color-palette-color-tokens($theme, $palette-name) {
63
+ @return (
64
+ container-color: inspection.get-theme-color($theme, $palette-name, default),
65
+ label-text-color: inspection.get-theme-color($theme, $palette-name, default-contrast, 1),
66
+ state-layer-color: inspection.get-theme-color($theme, $palette-name, default-contrast, 1),
67
+ ripple-color: inspection.get-theme-color($theme, $palette-name, default-contrast, 0.1),
68
+ );
69
+ }
70
+
71
+ // Tokens that can be configured through Angular Material's typography theming API.
72
+ @function get-typography-tokens($theme) {
73
+ @return (
74
+ label-text-font: inspection.get-theme-typography($theme, button, font-family),
75
+ label-text-size: inspection.get-theme-typography($theme, button, font-size),
76
+ label-text-tracking: inspection.get-theme-typography($theme, button, letter-spacing),
77
+ label-text-weight: inspection.get-theme-typography($theme, button, font-weight),
78
+ label-text-transform: none,
79
+ );
80
+ }
81
+
82
+ // Tokens that can be configured through Angular Material's density theming API.
83
+ @function get-density-tokens($theme) {
84
+ $scale: theming.clamp-density(inspection.get-theme-density($theme), -3);
85
+
86
+ @return (
87
+ touch-target-display: if($scale < -1, none, block),
88
+ container-height:
89
+ map.get(
90
+ (
91
+ 0: 36px,
92
+ -1: 32px,
93
+ -2: 28px,
94
+ -3: 24px,
95
+ ),
96
+ $scale
97
+ )
98
+ );
99
+ }
100
+
101
+ // Combines the tokens generated by the above functions into a single map with placeholder values.
102
+ // This is used to create token slots.
103
+ @function get-token-slots() {
104
+ @return sass-utils.deep-merge-all(
105
+ get-unthemable-tokens(),
106
+ get-color-tokens(token-definition.$placeholder-color-config),
107
+ get-typography-tokens(token-definition.$placeholder-typography-config),
108
+ get-density-tokens(token-definition.$placeholder-density-config)
109
+ );
110
+ }
@@ -43,6 +43,7 @@
43
43
  @use './mat/toolbar' as tokens-mat-toolbar;
44
44
  @use './mat/tree' as tokens-mat-tree;
45
45
  @use './mat/timepicker' as tokens-mat-timepicker;
46
+ @use './mat/tonal-button' as tokens-mat-tonal-button;
46
47
  @use './mdc/checkbox' as tokens-mdc-checkbox;
47
48
  @use './mdc/text-button' as tokens-mdc-text-button;
48
49
  @use './mdc/protected-button' as tokens-mdc-protected-button;
@@ -85,6 +86,7 @@ $_module-names: (
85
86
  tokens-mat-fab,
86
87
  tokens-mat-fab-small,
87
88
  tokens-mat-filled-button,
89
+ tokens-mat-tonal-button,
88
90
  tokens-mat-form-field,
89
91
  tokens-mat-grid-list,
90
92
  tokens-mat-icon-button,
@@ -14,6 +14,7 @@
14
14
  @forward './md-comp-fab-tertiary-small' as md-comp-fab-tertiary-small-*;
15
15
  @forward './md-comp-fab-tertiary' as md-comp-fab-tertiary-*;
16
16
  @forward './md-comp-filled-button' as md-comp-filled-button-*;
17
+ @forward './md-comp-filled-tonal-button' as md-comp-filled-tonal-button-*;
17
18
  @forward './md-comp-filled-card' as md-comp-filled-card-*;
18
19
  @forward './md-comp-filled-icon-button' as md-comp-filled-icon-button-*;
19
20
  @forward './md-comp-filled-text-field' as md-comp-filled-text-field-*;
@@ -63,7 +64,6 @@
63
64
  // @forward './unused/md-comp-filled-autocomplete' as md-comp-filled-autocomplete-*;
64
65
  // @forward './unused/md-comp-filled-menu-button' as md-comp-filled-menu-button-*;
65
66
  // @forward './unused/md-comp-filled-select' as md-comp-filled-select-*;
66
- // @forward './unused/md-comp-filled-tonal-button' as md-comp-filled-tonal-button-*;
67
67
  // @forward './unused/md-comp-filled-tonal-icon-button' as md-comp-filled-tonal-icon-button-*;
68
68
  // @forward './unused/md-comp-filter-chip' as md-comp-filter-chip-*;
69
69
  // @forward './unused/md-comp-full-screen-dialog' as md-comp-full-screen-dialog-*;
@@ -21,7 +21,7 @@ $_default: (
21
21
  );
22
22
 
23
23
  @function values($deps: $_default, $exclude-hardcoded-values: false) {
24
- @return (
24
+ $values: (
25
25
  'container-color': map.get($deps, 'md-sys-color', 'surface-container-low'),
26
26
  'container-elevation': map.get($deps, 'md-sys-elevation', 'level1'),
27
27
  'container-shadow-color': map.get($deps, 'md-sys-color', 'shadow'),
@@ -50,4 +50,6 @@ $_default: (
50
50
  'pressed-state-layer-opacity':
51
51
  map.get($deps, 'md-sys-state', 'pressed-state-layer-opacity')
52
52
  );
53
+
54
+ @return $values;
53
55
  }
@@ -7,12 +7,15 @@
7
7
 
8
8
  @use './md-ref-palette';
9
9
 
10
+ // Indicates whether alternative tokens should be used
11
+ $_alternate-tokens: false;
12
+
10
13
  $_default-dark: (
11
14
  'md-ref-palette': md-ref-palette.values(),
12
15
  );
13
16
 
14
17
  @function values-dark($deps: $_default-dark) {
15
- @return (
18
+ $values: (
16
19
  'background': map.get($deps, 'md-ref-palette', 'neutral6'),
17
20
  'error': map.get($deps, 'md-ref-palette', 'error80'),
18
21
  'error-container': map.get($deps, 'md-ref-palette', 'error30'),
@@ -64,6 +67,24 @@ $_default-dark: (
64
67
  'tertiary-fixed': map.get($deps, 'md-ref-palette', 'tertiary90'),
65
68
  'tertiary-fixed-dim': map.get($deps, 'md-ref-palette', 'tertiary80')
66
69
  );
70
+
71
+ @if ($_alternate-tokens) {
72
+ $values: map.merge($values, (
73
+ 'background': map.get($deps, 'md-ref-palette', 'neutral10'),
74
+ 'on-surface-variant': map.get($deps, 'md-ref-palette', 'neutral-variant80'),
75
+ 'surface': map.get($deps, 'md-ref-palette', 'neutral10'),
76
+ 'surface-bright': #37393b,
77
+ 'surface-container': #1e1f20,
78
+ 'surface-container-high': #282a2c,
79
+ 'surface-container-highest': #333537,
80
+ 'surface-container-low': #1b1b1b,
81
+ 'surface-container-lowest': #0e0e0e,
82
+ 'surface-dim': #131313,
83
+ 'surface-tint': #d1e1ff,
84
+ ));
85
+ }
86
+
87
+ @return $values;
67
88
  }
68
89
 
69
90
  $_default-light: (
@@ -71,7 +92,7 @@ $_default-light: (
71
92
  );
72
93
 
73
94
  @function values-light($deps: $_default-light) {
74
- @return (
95
+ $values: (
75
96
  'background': map.get($deps, 'md-ref-palette', 'neutral98'),
76
97
  'error': map.get($deps, 'md-ref-palette', 'error40'),
77
98
  'error-container': map.get($deps, 'md-ref-palette', 'error90'),
@@ -123,4 +144,25 @@ $_default-light: (
123
144
  'tertiary-fixed': map.get($deps, 'md-ref-palette', 'tertiary90'),
124
145
  'tertiary-fixed-dim': map.get($deps, 'md-ref-palette', 'tertiary80')
125
146
  );
147
+
148
+ @if ($_alternate-tokens) {
149
+ $values: map.merge($values, (
150
+ 'background': map.get($deps, 'md-ref-palette', 'neutral100'),
151
+ 'on-error-container': map.get($deps, 'md-ref-palette', 'error10'),
152
+ 'on-primary-container': map.get($deps, 'md-ref-palette', 'primary10'),
153
+ 'on-secondary-container': map.get($deps, 'md-ref-palette', 'secondary10'),
154
+ 'on-tertiary-container': map.get($deps, 'md-ref-palette', 'tertiary10'),
155
+ 'surface': map.get($deps, 'md-ref-palette', 'neutral100'),
156
+ 'surface-bright': map.get($deps, 'md-ref-palette', 'neutral100'),
157
+ 'surface-container': #f0f4f9,
158
+ 'surface-container-high': #e9eef6,
159
+ 'surface-container-highest': #dde3ea,
160
+ 'surface-container-low': #f8fafd,
161
+ 'surface-container-lowest': map.get($deps, 'md-ref-palette', 'primary100'),
162
+ 'surface-dim': #d3dbe5,
163
+ 'surface-tint': #6991d6,
164
+ ));
165
+ }
166
+
167
+ @return $values;
126
168
  }
@@ -7,12 +7,15 @@
7
7
 
8
8
  @use './md-ref-typeface';
9
9
 
10
+ // Indicates whether alternative tokens should be used
11
+ $_alternate-tokens: false;
12
+
10
13
  $_default: (
11
14
  'md-ref-typeface': md-ref-typeface.values(),
12
15
  );
13
16
 
14
17
  @function values($deps: $_default, $exclude-hardcoded-values: false) {
15
- @return (
18
+ $values: (
16
19
  // Warning: risk of reduced fidelity from using this composite typography token.
17
20
  // Tokens md.sys.typescale.body-large.tracking cannot be represented in the "font"
18
21
  // property shorthand. Consider using the discrete properties instead.
@@ -305,4 +308,20 @@ $_default: (
305
308
  'title-small-tracking': if($exclude-hardcoded-values, null, 0.006rem),
306
309
  'title-small-weight': map.get($deps, 'md-ref-typeface', 'weight-medium')
307
310
  );
311
+
312
+ @if ($_alternate-tokens) {
313
+ $values: map.merge($values, (
314
+ 'body-large-tracking': if($exclude-hardcoded-values, null, 0),
315
+ 'body-medium-tracking': if($exclude-hardcoded-values, null, 0),
316
+ 'body-small-tracking': if($exclude-hardcoded-values, null, 0.006rem),
317
+ 'display-large-tracking': if($exclude-hardcoded-values, null, 0),
318
+ 'label-large-tracking': if($exclude-hardcoded-values, null, 0),
319
+ 'label-medium-tracking': if($exclude-hardcoded-values, null, 0.006rem),
320
+ 'label-small-tracking': if($exclude-hardcoded-values, null, 0.006rem),
321
+ 'title-medium-tracking': if($exclude-hardcoded-values, null, 0),
322
+ 'title-small-tracking': if($exclude-hardcoded-values, null, 0),
323
+ ));
324
+ }
325
+
326
+ @return $values;
308
327
  }