@angular/material 20.0.0-next.5 → 20.0.0-next.6

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 (546) hide show
  1. package/_index.scss +1 -1
  2. package/autocomplete/_autocomplete-theme.scss +13 -13
  3. package/{core/tokens/m2/mat/_autocomplete.scss → autocomplete/_m2-autocomplete.scss} +7 -7
  4. package/{core/tokens/m3/mat/_autocomplete.scss → autocomplete/_m3-autocomplete.scss} +4 -4
  5. package/autocomplete/index.d.ts +10 -9
  6. package/autocomplete/testing/index.d.ts +4 -3
  7. package/badge/_badge-theme.scss +15 -15
  8. package/{core/tokens/m2/mat/_badge.scss → badge/_m2-badge.scss} +6 -6
  9. package/{core/tokens/m3/mat/_badge.scss → badge/_m3-badge.scss} +22 -22
  10. package/badge/index.d.ts +4 -4
  11. package/badge/testing/index.d.ts +4 -3
  12. package/{badge.d-99f2424c.d.ts → badge.d-619691fb.d.ts} +3 -2
  13. package/bottom-sheet/_bottom-sheet-theme.scss +11 -11
  14. package/{core/tokens/m2/mat/_bottom-sheet.scss → bottom-sheet/_m2-bottom-sheet.scss} +6 -6
  15. package/{core/tokens/m3/mat/_bottom-sheet.scss → bottom-sheet/_m3-bottom-sheet.scss} +5 -5
  16. package/bottom-sheet/index.d.ts +3 -2
  17. package/bottom-sheet/testing/index.d.ts +2 -1
  18. package/button/_button-theme.scss +24 -240
  19. package/button/_fab-theme.scss +15 -91
  20. package/button/_icon-button-theme.scss +14 -14
  21. package/button/_m2-button.scss +249 -0
  22. package/{core/tokens/m2/mat/_fab.scss → button/_m2-fab.scss} +46 -13
  23. package/{core/tokens/m2/mat/_icon-button.scss → button/_m2-icon-button.scss} +7 -7
  24. package/button/_m3-button.scss +243 -0
  25. package/button/_m3-fab.scss +174 -0
  26. package/{core/tokens/m3/mat/_icon-button.scss → button/_m3-icon-button.scss} +3 -3
  27. package/button/index.d.ts +6 -6
  28. package/button/testing/index.d.ts +2 -1
  29. package/button-toggle/_button-toggle-theme.scss +16 -39
  30. package/{core/tokens/m2/mat/_standard-button-toggle.scss → button-toggle/_m2-button-toggle.scss} +40 -20
  31. package/{core/tokens/m3/mat/_standard-button-toggle.scss → button-toggle/_m3-button-toggle.scss} +7 -7
  32. package/button-toggle/index.d.ts +5 -5
  33. package/button-toggle/testing/index.d.ts +3 -2
  34. package/{button-toggle.d-659ece43.d.ts → button-toggle.d-620c8912.d.ts} +2 -1
  35. package/card/_card-theme.scss +13 -65
  36. package/{core/tokens/m2/mat/_card.scss → card/_m2-card.scss} +17 -7
  37. package/card/_m3-card.scss +45 -0
  38. package/card/index.d.ts +3 -2
  39. package/card/testing/index.d.ts +2 -1
  40. package/checkbox/_checkbox-theme.scss +15 -19
  41. package/{core/tokens/m2/mat/_checkbox.scss → checkbox/_m2-checkbox.scss} +11 -11
  42. package/{core/tokens/m3/mat/_checkbox.scss → checkbox/_m3-checkbox.scss} +3 -3
  43. package/checkbox/index.d.ts +4 -3
  44. package/checkbox/testing/index.d.ts +2 -1
  45. package/chips/_chips-theme.scss +12 -24
  46. package/{core/tokens/m2/mat/_chip.scss → chips/_m2-chip.scss} +8 -8
  47. package/{core/tokens/m3/mat/_chip.scss → chips/_m3-chip.scss} +17 -17
  48. package/chips/index.d.ts +7 -6
  49. package/chips/testing/index.d.ts +2 -1
  50. package/{common-module.d-1b789e68.d.ts → common-module.d-421e3498.d.ts} +2 -1
  51. package/core/_core-theme.scss +31 -51
  52. package/core/_core.scss +6 -6
  53. package/core/{tokens/m2/mat/_app.scss → _m2-app.scss} +8 -7
  54. package/core/{tokens/m3/mat/_app.scss → _m3-app.scss} +3 -3
  55. package/core/index.d.ts +17 -16
  56. package/core/{tokens/m2/mat/_optgroup.scss → option/_m2-optgroup.scss} +6 -6
  57. package/core/{tokens/m2/mat/_option.scss → option/_m2-option.scss} +6 -6
  58. package/core/{tokens/m3/mat/_optgroup.scss → option/_m3-optgroup.scss} +4 -4
  59. package/core/{tokens/m3/mat/_option.scss → option/_m3-option.scss} +3 -3
  60. package/core/option/_optgroup-theme.scss +7 -11
  61. package/core/option/_option-theme.scss +9 -17
  62. package/core/{tokens/m2/mat/_ripple.scss → ripple/_m2-ripple.scss} +6 -6
  63. package/core/{tokens/m3/mat/_ripple.scss → ripple/_m3-ripple.scss} +3 -3
  64. package/core/ripple/_ripple-theme.scss +11 -11
  65. package/core/ripple/_ripple.scss +3 -4
  66. package/core/{tokens/m2/mat/_full-pseudo-checkbox.scss → selection/pseudo-checkbox/_m2-pseudo-checkbox.scss} +15 -13
  67. package/core/selection/pseudo-checkbox/_m3-pseudo-checkbox.scss +49 -0
  68. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +8 -36
  69. package/core/testing/index.d.ts +2 -2
  70. package/core/tokens/_density.scss +17 -36
  71. package/core/tokens/_m2-tokens.scss +131 -0
  72. package/core/tokens/_m2-utils.scss +109 -0
  73. package/core/tokens/_m3-system.scss +17 -17
  74. package/core/tokens/_m3-tokens.scss +111 -13
  75. package/core/tokens/_m3-utils.scss +85 -0
  76. package/core/tokens/_token-utils.scss +38 -61
  77. package/core/tokens/m3/_index.scss +8 -126
  78. package/{date-range-input-harness.d-d5ba60f5.d.ts → date-range-input-harness.d-440b288d.d.ts} +3 -2
  79. package/datepicker/_datepicker-theme.scss +22 -38
  80. package/{core/tokens/m2/mat/_datepicker.scss → datepicker/_m2-datepicker.scss} +7 -7
  81. package/{core/tokens/m3/mat/_datepicker.scss → datepicker/_m3-datepicker.scss} +8 -8
  82. package/datepicker/index.d.ts +15 -15
  83. package/datepicker/testing/index.d.ts +3 -3
  84. package/dialog/_dialog-theme.scss +8 -14
  85. package/{core/tokens/m2/mat/_dialog.scss → dialog/_m2-dialog.scss} +8 -8
  86. package/{core/tokens/m3/mat/_dialog.scss → dialog/_m3-dialog.scss} +11 -11
  87. package/dialog/index.d.ts +3 -3
  88. package/dialog/testing/index.d.ts +3 -2
  89. package/{dialog.d-06fd8250.d.ts → dialog.d-2ea3eab1.d.ts} +2 -1
  90. package/divider/_divider-theme.scss +7 -11
  91. package/{core/tokens/m2/mat/_divider.scss → divider/_m2-divider.scss} +6 -6
  92. package/{core/tokens/m3/mat/_divider.scss → divider/_m3-divider.scss} +3 -3
  93. package/divider/index.d.ts +4 -24
  94. package/divider/testing/index.d.ts +1 -1
  95. package/{divider-harness.d-beb7f187.d.ts → divider-harness.d-ee96b7aa.d.ts} +2 -1
  96. package/divider-module.d-4305a1f1.d.ts +24 -0
  97. package/expansion/_expansion-theme.scss +9 -17
  98. package/{core/tokens/m2/mat/_expansion.scss → expansion/_m2-expansion.scss} +7 -7
  99. package/{core/tokens/m3/mat/_expansion.scss → expansion/_m3-expansion.scss} +8 -8
  100. package/expansion/index.d.ts +3 -2
  101. package/expansion/testing/index.d.ts +2 -1
  102. package/fesm2022/{animation-89957083.mjs → animation-e58fc357.mjs} +7 -5
  103. package/fesm2022/animation-e58fc357.mjs.map +1 -0
  104. package/fesm2022/autocomplete/testing.mjs +2 -2
  105. package/fesm2022/autocomplete/testing.mjs.map +1 -1
  106. package/fesm2022/autocomplete.mjs +24 -24
  107. package/fesm2022/autocomplete.mjs.map +1 -1
  108. package/fesm2022/badge/testing.mjs.map +1 -1
  109. package/fesm2022/badge.mjs +13 -12
  110. package/fesm2022/badge.mjs.map +1 -1
  111. package/fesm2022/bottom-sheet/testing.mjs.map +1 -1
  112. package/fesm2022/bottom-sheet.mjs +12 -12
  113. package/fesm2022/bottom-sheet.mjs.map +1 -1
  114. package/fesm2022/button/testing.mjs.map +1 -1
  115. package/fesm2022/button-toggle/testing.mjs.map +1 -1
  116. package/fesm2022/button-toggle.mjs +18 -17
  117. package/fesm2022/button-toggle.mjs.map +1 -1
  118. package/fesm2022/button.mjs +9 -8
  119. package/fesm2022/button.mjs.map +1 -1
  120. package/fesm2022/card/testing.mjs.map +1 -1
  121. package/fesm2022/card.mjs +48 -48
  122. package/fesm2022/card.mjs.map +1 -1
  123. package/fesm2022/checkbox/testing.mjs.map +1 -1
  124. package/fesm2022/checkbox.mjs +13 -12
  125. package/fesm2022/checkbox.mjs.map +1 -1
  126. package/fesm2022/chips/testing.mjs.map +1 -1
  127. package/fesm2022/chips.mjs +50 -49
  128. package/fesm2022/chips.mjs.map +1 -1
  129. package/fesm2022/{common-module-727dea0d.mjs → common-module-6bff0328.mjs} +5 -5
  130. package/fesm2022/common-module-6bff0328.mjs.map +1 -0
  131. package/fesm2022/core/testing.mjs +2 -2
  132. package/fesm2022/core.mjs +29 -28
  133. package/fesm2022/core.mjs.map +1 -1
  134. package/fesm2022/{date-formats-7bf66210.mjs → date-formats-9cbc3057.mjs} +1 -1
  135. package/fesm2022/date-formats-9cbc3057.mjs.map +1 -0
  136. package/fesm2022/{date-range-input-harness-62876dda.mjs → date-range-input-harness-3d3cf01a.mjs} +2 -2
  137. package/fesm2022/date-range-input-harness-3d3cf01a.mjs.map +1 -0
  138. package/fesm2022/datepicker/testing.mjs +3 -3
  139. package/fesm2022/datepicker/testing.mjs.map +1 -1
  140. package/fesm2022/datepicker.mjs +110 -111
  141. package/fesm2022/datepicker.mjs.map +1 -1
  142. package/fesm2022/dialog/testing.mjs +4 -3
  143. package/fesm2022/dialog/testing.mjs.map +1 -1
  144. package/fesm2022/dialog.mjs +4 -3
  145. package/fesm2022/dialog.mjs.map +1 -1
  146. package/fesm2022/divider/testing.mjs +1 -1
  147. package/fesm2022/{divider-harness-b5028683.mjs → divider-harness-bea2a71d.mjs} +1 -1
  148. package/fesm2022/divider-harness-bea2a71d.mjs.map +1 -0
  149. package/fesm2022/divider-module-15f4b7a3.mjs +56 -0
  150. package/fesm2022/divider-module-15f4b7a3.mjs.map +1 -0
  151. package/fesm2022/divider.mjs +4 -55
  152. package/fesm2022/divider.mjs.map +1 -1
  153. package/fesm2022/{error-options-97896218.mjs → error-options-e22abc6f.mjs} +7 -7
  154. package/fesm2022/error-options-e22abc6f.mjs.map +1 -0
  155. package/fesm2022/{error-state-66849a3f.mjs → error-state-5fa5df66.mjs} +1 -1
  156. package/fesm2022/error-state-5fa5df66.mjs.map +1 -0
  157. package/fesm2022/expansion/testing.mjs.map +1 -1
  158. package/fesm2022/expansion.mjs +29 -28
  159. package/fesm2022/expansion.mjs.map +1 -1
  160. package/fesm2022/form-field/testing/control.mjs +1 -1
  161. package/fesm2022/form-field/testing.mjs +6 -6
  162. package/fesm2022/form-field/testing.mjs.map +1 -1
  163. package/fesm2022/{form-field-362737c2.mjs → form-field-ba7d9525.mjs} +34 -34
  164. package/fesm2022/form-field-ba7d9525.mjs.map +1 -0
  165. package/fesm2022/{form-field-control-harness-999f1b0d.mjs → form-field-control-harness-adcc773d.mjs} +1 -1
  166. package/fesm2022/form-field-control-harness-adcc773d.mjs.map +1 -0
  167. package/fesm2022/form-field.mjs +5 -4
  168. package/fesm2022/form-field.mjs.map +1 -1
  169. package/fesm2022/grid-list/testing.mjs +1 -1
  170. package/fesm2022/grid-list/testing.mjs.map +1 -1
  171. package/fesm2022/grid-list.mjs +27 -27
  172. package/fesm2022/grid-list.mjs.map +1 -1
  173. package/fesm2022/icon/testing.mjs +8 -8
  174. package/fesm2022/icon/testing.mjs.map +1 -1
  175. package/fesm2022/{icon-button-b18e0678.mjs → icon-button-c94ccf8a.mjs} +11 -11
  176. package/fesm2022/icon-button-c94ccf8a.mjs.map +1 -0
  177. package/fesm2022/{icon-module-611f1d10.mjs → icon-module-165b91b7.mjs} +10 -10
  178. package/fesm2022/icon-module-165b91b7.mjs.map +1 -0
  179. package/fesm2022/{icon-registry-c6f81050.mjs → icon-registry-4f5f0eba.mjs} +4 -4
  180. package/fesm2022/icon-registry-4f5f0eba.mjs.map +1 -0
  181. package/fesm2022/icon.mjs +3 -3
  182. package/fesm2022/{index-36009e89.mjs → index-33bb4181.mjs} +9 -9
  183. package/fesm2022/index-33bb4181.mjs.map +1 -0
  184. package/fesm2022/{index-59ddbae2.mjs → index-975cf4ab.mjs} +7 -7
  185. package/fesm2022/index-975cf4ab.mjs.map +1 -0
  186. package/fesm2022/input/testing.mjs +2 -2
  187. package/fesm2022/input/testing.mjs.map +1 -1
  188. package/fesm2022/{input-harness-d9056d71.mjs → input-harness-6ca0e4e7.mjs} +2 -2
  189. package/fesm2022/input-harness-6ca0e4e7.mjs.map +1 -0
  190. package/fesm2022/{input-value-accessor-4d18edb7.mjs → input-value-accessor-16c2d528.mjs} +1 -1
  191. package/fesm2022/input-value-accessor-16c2d528.mjs.map +1 -0
  192. package/fesm2022/input.mjs +17 -16
  193. package/fesm2022/input.mjs.map +1 -1
  194. package/fesm2022/{internal-form-field-8aa9ac25.mjs → internal-form-field-a658b1d3.mjs} +4 -4
  195. package/fesm2022/internal-form-field-a658b1d3.mjs.map +1 -0
  196. package/fesm2022/{line-8a8e5afd.mjs → line-fa9011f8.mjs} +9 -9
  197. package/fesm2022/line-fa9011f8.mjs.map +1 -0
  198. package/fesm2022/list/testing.mjs +1 -1
  199. package/fesm2022/list/testing.mjs.map +1 -1
  200. package/fesm2022/list.mjs +64 -63
  201. package/fesm2022/list.mjs.map +1 -1
  202. package/fesm2022/material.mjs.map +1 -1
  203. package/fesm2022/menu/testing.mjs.map +1 -1
  204. package/fesm2022/menu.mjs +22 -21
  205. package/fesm2022/menu.mjs.map +1 -1
  206. package/fesm2022/{module-d7b2b858.mjs → module-7aee2437.mjs} +28 -28
  207. package/fesm2022/module-7aee2437.mjs.map +1 -0
  208. package/fesm2022/{module-dd496aa0.mjs → module-9e568fe9.mjs} +19 -19
  209. package/fesm2022/module-9e568fe9.mjs.map +1 -0
  210. package/fesm2022/{module-32e29bfa.mjs → module-f09a8c90.mjs} +14 -14
  211. package/fesm2022/module-f09a8c90.mjs.map +1 -0
  212. package/fesm2022/{module-363d9b43.mjs → module-f0bd6006.mjs} +9 -8
  213. package/fesm2022/module-f0bd6006.mjs.map +1 -0
  214. package/fesm2022/{module-6b891d2d.mjs → module-f44de9b3.mjs} +20 -20
  215. package/fesm2022/module-f44de9b3.mjs.map +1 -0
  216. package/fesm2022/{optgroup-harness-fd0fcd6d.mjs → optgroup-harness-d961ca3f.mjs} +2 -2
  217. package/fesm2022/optgroup-harness-d961ca3f.mjs.map +1 -0
  218. package/fesm2022/{option-f73e199f.mjs → option-2e7efc25.mjs} +11 -11
  219. package/fesm2022/option-2e7efc25.mjs.map +1 -0
  220. package/fesm2022/{option-harness-5590f8f2.mjs → option-harness-4cd4ee4e.mjs} +1 -1
  221. package/fesm2022/option-harness-4cd4ee4e.mjs.map +1 -0
  222. package/fesm2022/paginator/testing.mjs +4 -4
  223. package/fesm2022/paginator/testing.mjs.map +1 -1
  224. package/fesm2022/paginator.mjs +30 -29
  225. package/fesm2022/paginator.mjs.map +1 -1
  226. package/fesm2022/progress-bar/testing.mjs.map +1 -1
  227. package/fesm2022/progress-bar.mjs +11 -10
  228. package/fesm2022/progress-bar.mjs.map +1 -1
  229. package/fesm2022/progress-spinner/testing.mjs.map +1 -1
  230. package/fesm2022/progress-spinner.mjs +13 -12
  231. package/fesm2022/progress-spinner.mjs.map +1 -1
  232. package/fesm2022/{pseudo-checkbox-eb9ea05b.mjs → pseudo-checkbox-7c1050cc.mjs} +6 -6
  233. package/fesm2022/pseudo-checkbox-7c1050cc.mjs.map +1 -0
  234. package/fesm2022/{pseudo-checkbox-module-a5e70e5c.mjs → pseudo-checkbox-module-22aca2eb.mjs} +7 -7
  235. package/fesm2022/pseudo-checkbox-module-22aca2eb.mjs.map +1 -0
  236. package/fesm2022/{public-api-c3ea43bd.mjs → public-api-af61bf48.mjs} +1 -1
  237. package/fesm2022/public-api-af61bf48.mjs.map +1 -0
  238. package/fesm2022/radio/testing.mjs.map +1 -1
  239. package/fesm2022/radio.mjs +17 -16
  240. package/fesm2022/radio.mjs.map +1 -1
  241. package/fesm2022/{ripple-7f0562cc.mjs → ripple-ca34ab3c.mjs} +8 -8
  242. package/fesm2022/ripple-ca34ab3c.mjs.map +1 -0
  243. package/fesm2022/{ripple-loader-901d2736.mjs → ripple-loader-9a207cda.mjs} +6 -6
  244. package/fesm2022/ripple-loader-9a207cda.mjs.map +1 -0
  245. package/fesm2022/select/testing.mjs +4 -4
  246. package/fesm2022/{select-harness-5d21e0b8.mjs → select-harness-9656d727.mjs} +4 -4
  247. package/fesm2022/select-harness-9656d727.mjs.map +1 -0
  248. package/fesm2022/select.mjs +15 -14
  249. package/fesm2022/select.mjs.map +1 -1
  250. package/fesm2022/sidenav/testing.mjs.map +1 -1
  251. package/fesm2022/sidenav.mjs +25 -24
  252. package/fesm2022/sidenav.mjs.map +1 -1
  253. package/fesm2022/slide-toggle/testing.mjs.map +1 -1
  254. package/fesm2022/slide-toggle.mjs +15 -14
  255. package/fesm2022/slide-toggle.mjs.map +1 -1
  256. package/fesm2022/slider/testing.mjs.map +1 -1
  257. package/fesm2022/slider.mjs +22 -21
  258. package/fesm2022/slider.mjs.map +1 -1
  259. package/fesm2022/snack-bar/testing.mjs.map +1 -1
  260. package/fesm2022/snack-bar.mjs +31 -31
  261. package/fesm2022/snack-bar.mjs.map +1 -1
  262. package/fesm2022/sort/testing.mjs.map +1 -1
  263. package/fesm2022/sort.mjs +17 -16
  264. package/fesm2022/sort.mjs.map +1 -1
  265. package/fesm2022/stepper/testing.mjs.map +1 -1
  266. package/fesm2022/stepper.mjs +40 -39
  267. package/fesm2022/stepper.mjs.map +1 -1
  268. package/fesm2022/{structural-styles-efc7816b.mjs → structural-styles-fe60c44d.mjs} +4 -4
  269. package/fesm2022/structural-styles-fe60c44d.mjs.map +1 -0
  270. package/fesm2022/table/testing.mjs.map +1 -1
  271. package/fesm2022/table.mjs +56 -56
  272. package/fesm2022/table.mjs.map +1 -1
  273. package/fesm2022/tabs/testing.mjs.map +1 -1
  274. package/fesm2022/tabs.mjs +53 -52
  275. package/fesm2022/tabs.mjs.map +1 -1
  276. package/fesm2022/timepicker/testing.mjs +1 -1
  277. package/fesm2022/timepicker/testing.mjs.map +1 -1
  278. package/fesm2022/timepicker.mjs +24 -23
  279. package/fesm2022/timepicker.mjs.map +1 -1
  280. package/fesm2022/toolbar/testing.mjs.map +1 -1
  281. package/fesm2022/toolbar.mjs +12 -12
  282. package/fesm2022/toolbar.mjs.map +1 -1
  283. package/fesm2022/tooltip/testing.mjs.map +1 -1
  284. package/fesm2022/tooltip.mjs +4 -3
  285. package/fesm2022/tooltip.mjs.map +1 -1
  286. package/fesm2022/tree/testing.mjs.map +1 -1
  287. package/fesm2022/tree.mjs +26 -26
  288. package/fesm2022/tree.mjs.map +1 -1
  289. package/form-field/_form-field-theme.scss +18 -90
  290. package/{core/tokens/m2/mat/_form-field.scss → form-field/_m2-form-field.scss} +94 -13
  291. package/form-field/_m3-form-field.scss +136 -0
  292. package/form-field/index.d.ts +5 -5
  293. package/form-field/testing/control/index.d.ts +1 -1
  294. package/form-field/testing/index.d.ts +9 -8
  295. package/{form-field.d-e2081e20.d.ts → form-field.d-486f4e86.d.ts} +4 -3
  296. package/grid-list/_grid-list-theme.scss +6 -8
  297. package/{core/tokens/m2/mat/_grid-list.scss → grid-list/_m2-grid-list.scss} +6 -6
  298. package/{core/tokens/m3/mat/_grid-list.scss → grid-list/_m3-grid-list.scss} +2 -2
  299. package/grid-list/index.d.ts +3 -3
  300. package/grid-list/testing/index.d.ts +2 -1
  301. package/icon/_icon-theme.scss +11 -11
  302. package/{core/tokens/m2/mat/_icon.scss → icon/_m2-icon.scss} +5 -5
  303. package/{core/tokens/m3/mat/_icon.scss → icon/_m3-icon.scss} +3 -3
  304. package/icon/index.d.ts +4 -4
  305. package/icon/testing/index.d.ts +3 -2
  306. package/{icon-module.d-d06a5620.d.ts → icon-module.d-a4b3b1e1.d.ts} +4 -3
  307. package/{icon-registry.d-b191b30b.d.ts → icon-registry.d-6dd1799a.d.ts} +2 -1
  308. package/{index.d-609609fc.d.ts → index.d-511f9e6c.d.ts} +2 -2
  309. package/{index.d-6e895711.d.ts → index.d-73f24bb1.d.ts} +4 -4
  310. package/input/index.d.ts +10 -9
  311. package/input/testing/index.d.ts +4 -3
  312. package/{input-harness.d-5a0b8058.d.ts → input-harness.d-be80831e.d.ts} +3 -2
  313. package/{line.d-ed625688.d.ts → line.d-712398cb.d.ts} +1 -1
  314. package/list/_list-theme.scss +24 -36
  315. package/{core/tokens/m2/mat/_list.scss → list/_m2-list.scss} +6 -6
  316. package/{core/tokens/m3/mat/_list.scss → list/_m3-list.scss} +2 -2
  317. package/list/index.d.ts +12 -11
  318. package/list/testing/index.d.ts +4 -3
  319. package/{core/tokens/m2/mat/_menu.scss → menu/_m2-menu.scss} +7 -7
  320. package/{core/tokens/m3/mat/_menu.scss → menu/_m3-menu.scss} +14 -14
  321. package/menu/_menu-theme.scss +8 -14
  322. package/menu/index.d.ts +5 -4
  323. package/menu/testing/index.d.ts +2 -1
  324. package/{module.d-a335a842.d.ts → module.d-683b2a19.d.ts} +2 -2
  325. package/{module.d-916841df.d.ts → module.d-8839a0c2.d.ts} +9 -8
  326. package/{module.d-1b393e15.d.ts → module.d-9a1d1c76.d.ts} +6 -5
  327. package/{module.d-984cabd6.d.ts → module.d-f55544a0.d.ts} +3 -2
  328. package/{optgroup-harness.d-fc22ca1c.d.ts → optgroup-harness.d-c52f5a8b.d.ts} +3 -2
  329. package/{option-harness.d-047df5c5.d.ts → option-harness.d-4f143bc0.d.ts} +2 -1
  330. package/{option-parent.d-f2c0c7de.d.ts → option-parent.d-d4243d2f.d.ts} +2 -1
  331. package/package.json +5 -2
  332. package/{core/tokens/m2/mat/_paginator.scss → paginator/_m2-paginator.scss} +7 -7
  333. package/{core/tokens/m3/mat/_paginator.scss → paginator/_m3-paginator.scss} +4 -4
  334. package/paginator/_paginator-theme.scss +8 -14
  335. package/paginator/index.d.ts +17 -17
  336. package/paginator/testing/index.d.ts +6 -5
  337. package/{paginator.d-82b71ef4.d.ts → paginator.d-181ff014.d.ts} +4 -3
  338. package/prebuilt-themes/deeppurple-amber.css +1 -1
  339. package/prebuilt-themes/indigo-pink.css +1 -1
  340. package/prebuilt-themes/pink-bluegrey.css +1 -1
  341. package/prebuilt-themes/purple-green.css +1 -1
  342. package/{core/tokens/m2/mat/_linear-progress.scss → progress-bar/_m2-progress-bar.scss} +7 -7
  343. package/{core/tokens/m3/mat/_linear-progress.scss → progress-bar/_m3-progress-bar.scss} +3 -3
  344. package/progress-bar/_progress-bar-theme.scss +9 -9
  345. package/progress-bar/index.d.ts +4 -3
  346. package/progress-bar/testing/index.d.ts +2 -1
  347. package/{core/tokens/m2/mat/_circular-progress.scss → progress-spinner/_m2-progress-spinner.scss} +7 -7
  348. package/{core/tokens/m3/mat/_circular-progress.scss → progress-spinner/_m3-progress-spinner.scss} +3 -3
  349. package/progress-spinner/_progress-spinner-theme.scss +13 -13
  350. package/progress-spinner/index.d.ts +4 -4
  351. package/progress-spinner/testing/index.d.ts +4 -3
  352. package/{progress-spinner.d-96c586e2.d.ts → progress-spinner.d-c723a559.d.ts} +3 -2
  353. package/{pseudo-checkbox-module.d-efa6959b.d.ts → pseudo-checkbox-module.d-42351ab6.d.ts} +3 -2
  354. package/{core/tokens/m2/mat/_radio.scss → radio/_m2-radio.scss} +9 -9
  355. package/{core/tokens/m3/mat/_radio.scss → radio/_m3-radio.scss} +3 -3
  356. package/radio/_radio-theme.scss +16 -18
  357. package/radio/index.d.ts +6 -5
  358. package/radio/testing/index.d.ts +2 -1
  359. package/{ripple.d-838c5cd6.d.ts → ripple.d-305c30f3.d.ts} +2 -1
  360. package/schematics/ng-add/index.js +1 -1
  361. package/schematics/ng-generate/theme-color/index_bundled.js +79 -79
  362. package/schematics/ng-update/index_bundled.js +3361 -3407
  363. package/schematics/ng-update/index_bundled.js.map +3 -4
  364. package/{core/tokens/m2/mat/_select.scss → select/_m2-select.scss} +11 -11
  365. package/{core/tokens/m3/mat/_select.scss → select/_m3-select.scss} +6 -6
  366. package/select/_select-theme.scss +19 -20
  367. package/select/index.d.ts +12 -12
  368. package/select/testing/index.d.ts +4 -4
  369. package/{select-harness.d-03127681.d.ts → select-harness.d-485a3cf8.d.ts} +5 -4
  370. package/{core/tokens/m2/mat/_sidenav.scss → sidenav/_m2-sidenav.scss} +7 -7
  371. package/{core/tokens/m3/mat/_sidenav.scss → sidenav/_m3-sidenav.scss} +6 -6
  372. package/sidenav/_sidenav-theme.scss +9 -13
  373. package/sidenav/index.d.ts +3 -2
  374. package/sidenav/testing/index.d.ts +2 -1
  375. package/{core/tokens/m2/mat/_switch.scss → slide-toggle/_m2-slide-toggle.scss} +9 -9
  376. package/{core/tokens/m3/mat/_switch.scss → slide-toggle/_m3-slide-toggle.scss} +25 -30
  377. package/slide-toggle/_slide-toggle-theme.scss +28 -28
  378. package/slide-toggle/index.d.ts +4 -3
  379. package/slide-toggle/testing/index.d.ts +2 -1
  380. package/{core/tokens/m2/mat/_slider.scss → slider/_m2-slider.scss} +7 -7
  381. package/{core/tokens/m3/mat/_slider.scss → slider/_m3-slider.scss} +12 -12
  382. package/slider/_slider-theme.scss +11 -23
  383. package/slider/index.d.ts +6 -5
  384. package/slider/testing/index.d.ts +2 -1
  385. package/{core/tokens/m2/mat/_snack-bar.scss → snack-bar/_m2-snack-bar.scss} +6 -6
  386. package/{core/tokens/m3/mat/_snack-bar.scss → snack-bar/_m3-snack-bar.scss} +2 -2
  387. package/snack-bar/_snack-bar-theme.scss +8 -14
  388. package/snack-bar/index.d.ts +8 -7
  389. package/snack-bar/testing/index.d.ts +2 -1
  390. package/{core/tokens/m2/mat/_sort.scss → sort/_m2-sort.scss} +6 -6
  391. package/{core/tokens/m3/mat/_sort.scss → sort/_m3-sort.scss} +2 -2
  392. package/sort/_sort-theme.scss +8 -14
  393. package/sort/index.d.ts +7 -6
  394. package/sort/testing/index.d.ts +3 -2
  395. package/{sort.d-75ca592a.d.ts → sort.d-7718b3de.d.ts} +3 -2
  396. package/{core/tokens/m2/mat/_stepper.scss → stepper/_m2-stepper.scss} +7 -7
  397. package/{core/tokens/m3/mat/_stepper.scss → stepper/_m3-stepper.scss} +4 -4
  398. package/stepper/_stepper-theme.scss +15 -15
  399. package/stepper/index.d.ts +8 -7
  400. package/stepper/testing/index.d.ts +2 -1
  401. package/{core/tokens/m2/mat/_table.scss → table/_m2-table.scss} +7 -7
  402. package/{core/tokens/m3/mat/_table.scss → table/_m3-table.scss} +7 -7
  403. package/table/_table-theme.scss +9 -17
  404. package/table/index.d.ts +7 -7
  405. package/table/testing/index.d.ts +2 -1
  406. package/{core/tokens/m2/mat/_tab-header.scss → tabs/_m2-tabs.scss} +42 -11
  407. package/tabs/_m3-tabs.scss +58 -0
  408. package/tabs/_tabs-theme.scss +39 -121
  409. package/tabs/index.d.ts +5 -4
  410. package/tabs/testing/index.d.ts +2 -1
  411. package/{core/tokens/m2/mat/_timepicker.scss → timepicker/_m2-timepicker.scss} +7 -7
  412. package/{core/tokens/m3/mat/_timepicker.scss → timepicker/_m3-timepicker.scss} +4 -4
  413. package/timepicker/_timepicker-theme.scss +13 -13
  414. package/timepicker/index.d.ts +4 -3
  415. package/timepicker/testing/index.d.ts +3 -2
  416. package/{core/tokens/m2/mat/_toolbar.scss → toolbar/_m2-toolbar.scss} +7 -7
  417. package/{core/tokens/m3/mat/_toolbar.scss → toolbar/_m3-toolbar.scss} +4 -4
  418. package/toolbar/_toolbar-theme.scss +16 -16
  419. package/toolbar/index.d.ts +1 -1
  420. package/toolbar/testing/index.d.ts +2 -1
  421. package/{core/tokens/m2/mat/_plain-tooltip.scss → tooltip/_m2-tooltip.scss} +7 -7
  422. package/{core/tokens/m3/mat/_plain-tooltip.scss → tooltip/_m3-tooltip.scss} +3 -3
  423. package/tooltip/_tooltip-theme.scss +13 -13
  424. package/tooltip/index.d.ts +2 -2
  425. package/tooltip/testing/index.d.ts +2 -1
  426. package/{core/tokens/m2/mat/_tree.scss → tree/_m2-tree.scss} +7 -7
  427. package/{core/tokens/m3/mat/_tree.scss → tree/_m3-tree.scss} +2 -2
  428. package/tree/_tree-theme.scss +11 -11
  429. package/tree/index.d.ts +1 -1
  430. package/tree/testing/index.d.ts +2 -1
  431. package/button/_button-base.scss +0 -181
  432. package/checkbox/_checkbox-common.scss +0 -585
  433. package/core/style/_button-common.scss +0 -17
  434. package/core/style/_form-common.scss +0 -21
  435. package/core/style/_list-common.scss +0 -49
  436. package/core/style/_menu-common.scss +0 -94
  437. package/core/theming/_palette-deprecated.scss +0 -76
  438. package/core/theming/_theming-deprecated.scss +0 -27
  439. package/core/tokens/_token-definition.scss +0 -224
  440. package/core/tokens/m2/_index.scss +0 -159
  441. package/core/tokens/m2/mat/_elevated-card.scss +0 -51
  442. package/core/tokens/m2/mat/_extended-fab.scss +0 -53
  443. package/core/tokens/m2/mat/_fab-small.scss +0 -99
  444. package/core/tokens/m2/mat/_filled-button.scss +0 -114
  445. package/core/tokens/m2/mat/_filled-text-field.scss +0 -114
  446. package/core/tokens/m2/mat/_legacy-button-toggle.scss +0 -59
  447. package/core/tokens/m2/mat/_minimal-pseudo-checkbox.scss +0 -43
  448. package/core/tokens/m2/mat/_outlined-button.scss +0 -108
  449. package/core/tokens/m2/mat/_outlined-card.scss +0 -52
  450. package/core/tokens/m2/mat/_outlined-text-field.scss +0 -100
  451. package/core/tokens/m2/mat/_protected-button.scss +0 -120
  452. package/core/tokens/m2/mat/_secondary-navigation-tab.scss +0 -58
  453. package/core/tokens/m2/mat/_tab-header-with-background.scss +0 -42
  454. package/core/tokens/m2/mat/_tab-indicator.scss +0 -48
  455. package/core/tokens/m2/mat/_text-button.scss +0 -90
  456. package/core/tokens/m2/mat/_tonal-button.scss +0 -90
  457. package/core/tokens/m3/definitions/_index.scss +0 -8
  458. package/core/tokens/m3/mat/_card.scss +0 -24
  459. package/core/tokens/m3/mat/_elevated-card.scss +0 -27
  460. package/core/tokens/m3/mat/_extended-fab.scss +0 -64
  461. package/core/tokens/m3/mat/_fab-small.scss +0 -91
  462. package/core/tokens/m3/mat/_fab.scss +0 -90
  463. package/core/tokens/m3/mat/_filled-button.scss +0 -73
  464. package/core/tokens/m3/mat/_filled-text-field.scss +0 -68
  465. package/core/tokens/m3/mat/_form-field.scss +0 -58
  466. package/core/tokens/m3/mat/_full-pseudo-checkbox.scss +0 -43
  467. package/core/tokens/m3/mat/_minimal-pseudo-checkbox.scss +0 -35
  468. package/core/tokens/m3/mat/_outlined-button.scss +0 -71
  469. package/core/tokens/m3/mat/_outlined-card.scss +0 -28
  470. package/core/tokens/m3/mat/_outlined-text-field.scss +0 -65
  471. package/core/tokens/m3/mat/_protected-button.scss +0 -93
  472. package/core/tokens/m3/mat/_secondary-navigation-tab.scss +0 -17
  473. package/core/tokens/m3/mat/_tab-header.scss +0 -52
  474. package/core/tokens/m3/mat/_tab-indicator.scss +0 -34
  475. package/core/tokens/m3/mat/_text-button.scss +0 -68
  476. package/core/tokens/m3/mat/_tonal-button.scss +0 -65
  477. package/core/typography/_typography-utils-deprecated.scss +0 -6
  478. package/datepicker/_datepicker-legacy-compat.scss +0 -85
  479. package/divider/_divider-offset.scss +0 -12
  480. package/expansion/_expansion-variables.scss +0 -30
  481. package/fesm2022/animation-89957083.mjs.map +0 -1
  482. package/fesm2022/common-module-727dea0d.mjs.map +0 -1
  483. package/fesm2022/date-formats-7bf66210.mjs.map +0 -1
  484. package/fesm2022/date-range-input-harness-62876dda.mjs.map +0 -1
  485. package/fesm2022/divider-harness-b5028683.mjs.map +0 -1
  486. package/fesm2022/error-options-97896218.mjs.map +0 -1
  487. package/fesm2022/error-state-66849a3f.mjs.map +0 -1
  488. package/fesm2022/form-field-362737c2.mjs.map +0 -1
  489. package/fesm2022/form-field-control-harness-999f1b0d.mjs.map +0 -1
  490. package/fesm2022/icon-button-b18e0678.mjs.map +0 -1
  491. package/fesm2022/icon-module-611f1d10.mjs.map +0 -1
  492. package/fesm2022/icon-registry-c6f81050.mjs.map +0 -1
  493. package/fesm2022/index-36009e89.mjs.map +0 -1
  494. package/fesm2022/index-59ddbae2.mjs.map +0 -1
  495. package/fesm2022/input-harness-d9056d71.mjs.map +0 -1
  496. package/fesm2022/input-value-accessor-4d18edb7.mjs.map +0 -1
  497. package/fesm2022/internal-form-field-8aa9ac25.mjs.map +0 -1
  498. package/fesm2022/line-8a8e5afd.mjs.map +0 -1
  499. package/fesm2022/module-32e29bfa.mjs.map +0 -1
  500. package/fesm2022/module-363d9b43.mjs.map +0 -1
  501. package/fesm2022/module-6b891d2d.mjs.map +0 -1
  502. package/fesm2022/module-d7b2b858.mjs.map +0 -1
  503. package/fesm2022/module-dd496aa0.mjs.map +0 -1
  504. package/fesm2022/optgroup-harness-fd0fcd6d.mjs.map +0 -1
  505. package/fesm2022/option-f73e199f.mjs.map +0 -1
  506. package/fesm2022/option-harness-5590f8f2.mjs.map +0 -1
  507. package/fesm2022/pseudo-checkbox-eb9ea05b.mjs.map +0 -1
  508. package/fesm2022/pseudo-checkbox-module-a5e70e5c.mjs.map +0 -1
  509. package/fesm2022/public-api-c3ea43bd.mjs.map +0 -1
  510. package/fesm2022/ripple-7f0562cc.mjs.map +0 -1
  511. package/fesm2022/ripple-loader-901d2736.mjs.map +0 -1
  512. package/fesm2022/select-harness-5d21e0b8.mjs.map +0 -1
  513. package/fesm2022/structural-styles-efc7816b.mjs.map +0 -1
  514. package/form-field/_form-field-focus-overlay.scss +0 -31
  515. package/form-field/_form-field-high-contrast.scss +0 -39
  516. package/form-field/_form-field-native-select.scss +0 -97
  517. package/form-field/_form-field-subscript.scss +0 -95
  518. package/form-field/_mdc-text-field-density-overrides.scss +0 -60
  519. package/form-field/_mdc-text-field-structure-overrides.scss +0 -186
  520. package/form-field/_mdc-text-field-structure.scss +0 -621
  521. package/form-field/_mdc-text-field-textarea-overrides.scss +0 -36
  522. package/form-field/_user-agent-overrides.scss +0 -24
  523. package/list/_list-inherited-structure.scss +0 -504
  524. package/list/_list-item-hcm-indicator.scss +0 -29
  525. package/radio/_radio-common.scss +0 -259
  526. package/stepper/_stepper-variables.scss +0 -29
  527. package/table/_table-flex-styles.scss +0 -61
  528. package/tabs/_tabs-common.scss +0 -497
  529. package/toolbar/_toolbar-variables.scss +0 -28
  530. /package/core/tokens/m3/{definitions/_md-ref-palette.scss → _md-ref-palette.scss} +0 -0
  531. /package/core/tokens/m3/{definitions/_md-ref-typeface.scss → _md-ref-typeface.scss} +0 -0
  532. /package/core/tokens/m3/{definitions/_md-sys-color.scss → _md-sys-color.scss} +0 -0
  533. /package/core/tokens/m3/{definitions/_md-sys-elevation.scss → _md-sys-elevation.scss} +0 -0
  534. /package/core/tokens/m3/{definitions/_md-sys-motion.scss → _md-sys-motion.scss} +0 -0
  535. /package/core/tokens/m3/{definitions/_md-sys-shape.scss → _md-sys-shape.scss} +0 -0
  536. /package/core/tokens/m3/{definitions/_md-sys-state.scss → _md-sys-state.scss} +0 -0
  537. /package/core/tokens/m3/{definitions/_md-sys-typescale.scss → _md-sys-typescale.scss} +0 -0
  538. /package/{date-adapter.d-de8dcff3.d.ts → date-adapter.d-e8299690.d.ts} +0 -0
  539. /package/{error-options.d-bd1801bf.d.ts → error-options.d-059d9639.d.ts} +0 -0
  540. /package/{form-field-control-harness.d-8ec51e17.d.ts → form-field-control-harness.d-e3cf007b.d.ts} +0 -0
  541. /package/{form-field-control.d-d7b3a431.d.ts → form-field-control.d-9ed49092.d.ts} +0 -0
  542. /package/{list-option-types.d-32a3be09.d.ts → list-option-types.d-076a5300.d.ts} +0 -0
  543. /package/{option.d-be9de0a8.d.ts → option.d-4fb11594.d.ts} +0 -0
  544. /package/{palette.d-f5ca9a2b.d.ts → palette.d-1d8ebc0d.d.ts} +0 -0
  545. /package/{ripple-loader.d-ef3a5132.d.ts → ripple-loader.d-f51e5eb6.d.ts} +0 -0
  546. /package/{sort-direction.d-2be5f588.d.ts → sort-direction.d-52bce05e.d.ts} +0 -0
@@ -0,0 +1,249 @@
1
+ @use 'sass:meta';
2
+ @use 'sass:map';
3
+ @use '../core/tokens/m2-utils';
4
+ @use '../core/theming/theming';
5
+ @use '../core/theming/inspection';
6
+ @use '../core/style/sass-utils';
7
+ @use '../core/style/elevation';
8
+
9
+ // The prefix used to generate the fully qualified name for tokens in this file.
10
+ $prefix: (mat, button);
11
+
12
+ // Tokens that can't be configured through Angular Material's current theming API,
13
+ // but may be in a future version of the theming API.
14
+ @function get-unthemable-tokens() {
15
+ @return (
16
+ filled-container-shape: 4px,
17
+ filled-horizontal-padding: 16px,
18
+ filled-icon-offset: -4px,
19
+ filled-icon-spacing: 8px,
20
+ outlined-container-shape: 4px,
21
+ outlined-horizontal-padding: 15px, // Normally it's 16px, but -1px for the outline.
22
+ outlined-icon-offset: -4px,
23
+ outlined-icon-spacing: 8px,
24
+ outlined-keep-touch-target: false,
25
+ outlined-outline-width: 1px,
26
+ protected-container-elevation-shadow: elevation.get-box-shadow(2),
27
+ protected-container-shape: 4px,
28
+ protected-disabled-container-elevation-shadow: elevation.get-box-shadow(0),
29
+ protected-focus-container-elevation-shadow: elevation.get-box-shadow(4),
30
+ protected-horizontal-padding: 16px,
31
+ protected-hover-container-elevation-shadow: elevation.get-box-shadow(4),
32
+ protected-icon-offset: -4px,
33
+ protected-icon-spacing: 8px,
34
+ protected-pressed-container-elevation-shadow: elevation.get-box-shadow(8),
35
+ text-container-shape: 4px,
36
+ text-horizontal-padding: 8px,
37
+ text-icon-offset: 0,
38
+ text-icon-spacing: 8px,
39
+ text-with-icon-horizontal-padding: 8px,
40
+ tonal-container-shape: 4px,
41
+ tonal-horizontal-padding: 16px,
42
+ tonal-icon-offset: -4px,
43
+ tonal-icon-spacing: 8px,
44
+ );
45
+ }
46
+
47
+ // Tokens that can be configured through Angular Material's color theming API.
48
+ @function get-color-tokens($theme) {
49
+ $is-dark: inspection.get-theme-type($theme) == dark;
50
+
51
+ // Ideally we would derive all values directly from the theme, but it causes a lot of regressions
52
+ // internally. For now we fall back to the old hardcoded behavior only for internal apps.
53
+ $outline: if(m2-utils.$private-is-internal-build,
54
+ rgba(if($is-dark, #fff, #000), 0.12),
55
+ inspection.get-theme-color($theme, foreground, divider)
56
+ );
57
+
58
+ @return (
59
+ filled-container-color: inspection.get-theme-color($theme, background, card),
60
+ filled-disabled-container-color:
61
+ inspection.get-theme-color($theme, foreground, disabled-button, 0.12),
62
+ filled-disabled-label-text-color:
63
+ inspection.get-theme-color($theme, foreground, disabled-button, if($is-dark, 0.5, 0.38)),
64
+ filled-disabled-state-layer-color: inspection.get-theme-color($theme, foreground, base),
65
+ filled-focus-state-layer-opacity: if($is-dark, 0.24, 0.12),
66
+ filled-hover-state-layer-opacity: if($is-dark, 0.08, 0.04),
67
+ filled-label-text-color: inspection.get-theme-color($theme, foreground, text, 1),
68
+ filled-pressed-state-layer-opacity: if($is-dark, 0.24, 0.12),
69
+ filled-ripple-color: inspection.get-theme-color($theme, foreground, base, 0.1),
70
+ filled-state-layer-color: inspection.get-theme-color($theme, foreground, base),
71
+ outlined-disabled-label-text-color:
72
+ inspection.get-theme-color($theme, foreground, disabled-button, if($is-dark, 0.5, 0.38)),
73
+ outlined-disabled-outline-color: $outline,
74
+ outlined-disabled-state-layer-color: inspection.get-theme-color($theme, foreground, base),
75
+ outlined-focus-state-layer-opacity: if($is-dark, 0.24, 0.12),
76
+ outlined-hover-state-layer-opacity: if($is-dark, 0.08, 0.04),
77
+ outlined-label-text-color: inspection.get-theme-color($theme, foreground, text, 1),
78
+ outlined-outline-color: $outline,
79
+ outlined-pressed-state-layer-opacity: if($is-dark, 0.24, 0.12),
80
+ outlined-ripple-color: inspection.get-theme-color($theme, foreground, base, 0.1),
81
+ outlined-state-layer-color: inspection.get-theme-color($theme, foreground, base),
82
+ protected-container-color: inspection.get-theme-color($theme, background, card),
83
+ protected-disabled-container-color:
84
+ inspection.get-theme-color($theme, foreground, disabled-button, 0.12),
85
+ protected-disabled-label-text-color:
86
+ inspection.get-theme-color($theme, foreground, disabled-button, if($is-dark, 0.5, 0.38)),
87
+ protected-disabled-state-layer-color: inspection.get-theme-color($theme, foreground, base),
88
+ protected-focus-state-layer-opacity: if($is-dark, 0.24, 0.12),
89
+ protected-hover-state-layer-opacity: if($is-dark, 0.08, 0.04),
90
+ protected-label-text-color: inspection.get-theme-color($theme, foreground, text, 1),
91
+ protected-pressed-state-layer-opacity: if($is-dark, 0.24, 0.12),
92
+ protected-ripple-color: inspection.get-theme-color($theme, foreground, base, 0.1),
93
+ protected-state-layer-color: inspection.get-theme-color($theme, foreground, base),
94
+ text-disabled-label-text-color:
95
+ inspection.get-theme-color($theme, foreground, disabled-button, if($is-dark, 0.5, 0.38)),
96
+ text-disabled-state-layer-color: inspection.get-theme-color($theme, foreground, base),
97
+ text-focus-state-layer-opacity: if($is-dark, 0.24, 0.12),
98
+ text-hover-state-layer-opacity: if($is-dark, 0.08, 0.04),
99
+ text-label-text-color: inspection.get-theme-color($theme, foreground, text, 1),
100
+ text-pressed-state-layer-opacity: if($is-dark, 0.24, 0.12),
101
+ text-ripple-color: inspection.get-theme-color($theme, foreground, base, 0.1),
102
+ text-state-layer-color: inspection.get-theme-color($theme, foreground, base),
103
+ tonal-container-color: inspection.get-theme-color($theme, background, card),
104
+ tonal-disabled-container-color:
105
+ inspection.get-theme-color($theme, foreground, disabled-button, 0.12),
106
+ tonal-disabled-label-text-color:
107
+ inspection.get-theme-color($theme, foreground, disabled-button, if($is-dark, 0.5, 0.38)),
108
+ tonal-disabled-state-layer-color: inspection.get-theme-color($theme, foreground, base),
109
+ tonal-focus-state-layer-opacity: if($is-dark, 0.24, 0.12),
110
+ tonal-hover-state-layer-opacity: if($is-dark, 0.08, 0.04),
111
+ tonal-label-text-color: inspection.get-theme-color($theme, foreground, text, 1),
112
+ tonal-pressed-state-layer-opacity: if($is-dark, 0.24, 0.12),
113
+ tonal-ripple-color: inspection.get-theme-color($theme, foreground, base, 0.1),
114
+ tonal-state-layer-color: inspection.get-theme-color($theme, foreground, base),
115
+ );
116
+ }
117
+
118
+ // Generates the mapping for the properties that change based on the button palette color.
119
+ @function private-get-color-palette-color-tokens($theme, $palette-name) {
120
+ $color: inspection.get-theme-color($theme, $palette-name);
121
+ $state-layer-color: inspection.get-theme-color($theme, $palette-name, default-contrast, 1);
122
+ $ripple-color: inspection.get-theme-color($theme, $palette-name, default-contrast, 0.1);
123
+ $contrast-color: inspection.get-theme-color($theme, $palette-name, default-contrast);
124
+ $container-color: inspection.get-theme-color($theme, $palette-name, default);
125
+ $label-text-color: inspection.get-theme-color($theme, $palette-name, default-contrast, 1);
126
+ $ripple-opacity: 0.1;
127
+
128
+ // Ideally we would derive all values directly from the theme, but it causes a lot of regressions
129
+ // internally. For now we fall back to the old hardcoded behavior only for internal apps.
130
+ @if (m2-utils.$private-is-internal-build or
131
+ meta.type-of($contrast-color) != 'color') {
132
+ $is-dark: inspection.get-theme-type($theme) == dark;
133
+ $container-color: inspection.get-theme-color($theme, $palette-name);
134
+ $contrast-tone: m2-utils.contrast-tone($container-color, $is-dark);
135
+ $color: if($contrast-tone == 'dark', #000, #fff);
136
+ $state-layer-color: $color;
137
+ $ripple-color: rgba($color, 0.1);
138
+ $label-text-color: if($contrast-tone == 'dark', #000, #fff);
139
+ }
140
+
141
+ // outlined-outline-color:
142
+ // TODO: we shouldn't have to set this since it's the same as the non-palette version, however
143
+ // there are a bunch of tests internally that depend on it. We should remove this and clean
144
+ // up the screenshots separately.
145
+ @return (
146
+ filled-container-color: $container-color,
147
+ filled-label-text-color: $label-text-color,
148
+ filled-ripple-color: $ripple-color,
149
+ filled-state-layer-color: $state-layer-color,
150
+ outlined-label-text-color: inspection.get-theme-color($theme, $palette-name, default),
151
+ outlined-outline-color: map.get(get-color-tokens($theme), outlined-outline-color),
152
+ outlined-ripple-color:
153
+ if(
154
+ meta.type-of(inspection.get-theme-color($theme, $palette-name)) == color,
155
+ rgba(inspection.get-theme-color($theme, $palette-name), $ripple-opacity),
156
+ inspection.get-theme-color($theme, foreground, base, $ripple-opacity)),
157
+ outlined-state-layer-color: inspection.get-theme-color($theme, $palette-name),
158
+ protected-container-color: $container-color,
159
+ protected-label-text-color: $label-text-color,
160
+ protected-ripple-color: $ripple-color,
161
+ protected-state-layer-color: $state-layer-color,
162
+ text-label-text-color: inspection.get-theme-color($theme, $palette-name),
163
+ text-ripple-color:
164
+ if(meta.type-of(inspection.get-theme-color($theme, $palette-name)) == color,
165
+ rgba(inspection.get-theme-color($theme, $palette-name), $ripple-opacity),
166
+ inspection.get-theme-color($theme, foreground, base, $ripple-opacity)),
167
+ text-state-layer-color: inspection.get-theme-color($theme, $palette-name),
168
+ tonal-container-color: inspection.get-theme-color($theme, $palette-name, default),
169
+ tonal-label-text-color: inspection.get-theme-color($theme, $palette-name, default-contrast, 1),
170
+ tonal-ripple-color: inspection.get-theme-color($theme, $palette-name, default-contrast, 0.1),
171
+ tonal-state-layer-color: inspection.get-theme-color($theme, $palette-name, default-contrast, 1),
172
+ );
173
+ }
174
+
175
+ // Tokens that can be configured through Angular Material's typography theming API.
176
+ @function get-typography-tokens($theme) {
177
+ $font-family: inspection.get-theme-typography($theme, button, font-family);
178
+ $font-size: inspection.get-theme-typography($theme, button, font-size);
179
+ $font-weight: inspection.get-theme-typography($theme, button, font-weight);
180
+ $letter-spacing: inspection.get-theme-typography($theme, button, letter-spacing);
181
+ $text-transform: none;
182
+
183
+ @return (
184
+ filled-label-text-font: $font-family,
185
+ filled-label-text-size: $font-size,
186
+ filled-label-text-tracking: $letter-spacing,
187
+ filled-label-text-transform: none,
188
+ filled-label-text-weight: $font-weight,
189
+ outlined-label-text-font: $font-family,
190
+ outlined-label-text-size: $font-size,
191
+ outlined-label-text-tracking: $letter-spacing,
192
+ outlined-label-text-transform: none,
193
+ outlined-label-text-weight: $font-weight,
194
+ protected-label-text-font: $font-family,
195
+ protected-label-text-size: $font-size,
196
+ protected-label-text-tracking: $letter-spacing,
197
+ protected-label-text-transform: none,
198
+ protected-label-text-weight: $font-weight,
199
+ text-label-text-font: $font-family,
200
+ text-label-text-size: $font-size,
201
+ text-label-text-tracking: $letter-spacing,
202
+ text-label-text-transform: none,
203
+ text-label-text-weight: $font-weight,
204
+ tonal-label-text-font: $font-family,
205
+ tonal-label-text-size: $font-size,
206
+ tonal-label-text-tracking: $letter-spacing,
207
+ tonal-label-text-transform: none,
208
+ tonal-label-text-weight: $font-weight,
209
+ );
210
+ }
211
+
212
+ // Tokens that can be configured through Angular Material's density theming API.
213
+ @function get-density-tokens($theme) {
214
+ $density-scale: theming.clamp-density(inspection.get-theme-density($theme), -3);
215
+ $scale: theming.clamp-density(inspection.get-theme-density($theme), -3);
216
+ $sizes: (
217
+ 0: 36px,
218
+ -1: 32px,
219
+ -2: 28px,
220
+ -3: 24px,
221
+ );
222
+
223
+ $height: map.get($sizes, $scale);
224
+ $touch-target-display: if($scale < -1, none, block);
225
+
226
+ @return (
227
+ filled-container-height: $height,
228
+ filled-touch-target-display: $touch-target-display,
229
+ outlined-container-height: $height,
230
+ outlined-touch-target-display: $touch-target-display,
231
+ protected-container-height: $height,
232
+ protected-touch-target-display: $touch-target-display,
233
+ text-container-height: $height,
234
+ text-touch-target-display: $touch-target-display,
235
+ tonal-container-height: $height,
236
+ tonal-touch-target-display: $touch-target-display,
237
+ );
238
+ }
239
+
240
+ // Combines the tokens generated by the above functions into a single map with placeholder values.
241
+ // This is used to create token slots.
242
+ @function get-token-slots() {
243
+ @return sass-utils.deep-merge-all(
244
+ get-unthemable-tokens(),
245
+ get-color-tokens(m2-utils.$placeholder-color-config),
246
+ get-typography-tokens(m2-utils.$placeholder-typography-config),
247
+ get-density-tokens(m2-utils.$placeholder-density-config)
248
+ );
249
+ }
@@ -1,9 +1,9 @@
1
1
  @use 'sass:meta';
2
- @use '../../token-definition';
3
- @use '../../../theming/theming';
4
- @use '../../../theming/inspection';
5
- @use '../../../style/sass-utils';
6
- @use '../../../style/elevation';
2
+ @use '../core/tokens/m2-utils';
3
+ @use '../core/theming/theming';
4
+ @use '../core/theming/inspection';
5
+ @use '../core/style/sass-utils';
6
+ @use '../core/style/elevation';
7
7
 
8
8
  // The prefix used to generate the fully qualified name for tokens in this file.
9
9
  $prefix: (mat, fab);
@@ -12,11 +12,22 @@ $prefix: (mat, fab);
12
12
  // but may be in a future version of the theming API.
13
13
  @function get-unthemable-tokens() {
14
14
  @return (
15
- container-shape: 50%,
16
15
  container-elevation-shadow: elevation.get-box-shadow(6),
16
+ container-shape: 50%,
17
+ extended-container-elevation-shadow: elevation.get-box-shadow(6),
18
+ extended-container-height: 48px,
19
+ extended-container-shape: 24px,
20
+ extended-focus-container-elevation-shadow: elevation.get-box-shadow(8),
21
+ extended-hover-container-elevation-shadow: elevation.get-box-shadow(8),
22
+ extended-pressed-container-elevation-shadow: elevation.get-box-shadow(12),
17
23
  focus-container-elevation-shadow: elevation.get-box-shadow(8),
18
24
  hover-container-elevation-shadow: elevation.get-box-shadow(8),
19
25
  pressed-container-elevation-shadow: elevation.get-box-shadow(12),
26
+ small-container-elevation-shadow: elevation.get-box-shadow(6),
27
+ small-container-shape: 50%,
28
+ small-focus-container-elevation-shadow: elevation.get-box-shadow(8),
29
+ small-hover-container-elevation-shadow: elevation.get-box-shadow(8),
30
+ small-pressed-container-elevation-shadow: elevation.get-box-shadow(12),
20
31
  );
21
32
  }
22
33
 
@@ -36,6 +47,18 @@ $prefix: (mat, fab);
36
47
  hover-state-layer-opacity: if($is-dark, 0.08, 0.04),
37
48
  pressed-state-layer-opacity: if($is-dark, 0.24, 0.12),
38
49
  ripple-color: inspection.get-theme-color($theme, foreground, base, 0.1),
50
+ small-container-color: inspection.get-theme-color($theme, background, card),
51
+ small-disabled-state-container-color:
52
+ inspection.get-theme-color($theme, background, disabled-button, 0.12),
53
+ small-disabled-state-foreground-color:
54
+ inspection.get-theme-color($theme, foreground, disabled-button, if($is-dark, 0.5, 0.38)),
55
+ small-disabled-state-layer-color: inspection.get-theme-color($theme, foreground, base),
56
+ small-focus-state-layer-opacity: if($is-dark, 0.24, 0.12),
57
+ small-foreground-color: inspection.get-theme-color($theme, foreground, base),
58
+ small-hover-state-layer-opacity: if($is-dark, 0.08, 0.04),
59
+ small-pressed-state-layer-opacity: if($is-dark, 0.24, 0.12),
60
+ small-ripple-color: inspection.get-theme-color($theme, foreground, base, 0.1),
61
+ small-state-layer-color: inspection.get-theme-color($theme, foreground, base),
39
62
  state-layer-color: inspection.get-theme-color($theme, foreground, base),
40
63
  );
41
64
  }
@@ -49,11 +72,11 @@ $prefix: (mat, fab);
49
72
  $ripple-color: null;
50
73
  $contrast-color: inspection.get-theme-color($theme, $palette-name, default-contrast);
51
74
 
52
- @if (token-definition.$private-is-internal-build or
75
+ @if (m2-utils.$private-is-internal-build or
53
76
  meta.type-of($contrast-color) != 'color') {
54
77
  $is-dark: inspection.get-theme-type($theme) == dark;
55
78
  $container-color: inspection.get-theme-color($theme, $palette-name);
56
- $contrast-tone: token-definition.contrast-tone($container-color, $is-dark);
79
+ $contrast-tone: m2-utils.contrast-tone($container-color, $is-dark);
57
80
  $color: if($contrast-tone == 'dark', #000, #fff);
58
81
  $foreground-color: $color;
59
82
  $state-layer-color: $color;
@@ -68,14 +91,23 @@ $prefix: (mat, fab);
68
91
  @return (
69
92
  container-color: inspection.get-theme-color($theme, $palette-name, default),
70
93
  foreground-color: $foreground-color,
71
- state-layer-color: $state-layer-color,
72
94
  ripple-color: $ripple-color,
95
+ small-container-color: inspection.get-theme-color($theme, $palette-name, default),
96
+ small-foreground-color: $foreground-color,
97
+ small-ripple-color: $ripple-color,
98
+ small-state-layer-color: $state-layer-color,
99
+ state-layer-color: $state-layer-color,
73
100
  );
74
101
  }
75
102
 
76
103
  // Tokens that can be configured through Angular Material's typography theming API.
77
104
  @function get-typography-tokens($theme) {
78
- @return ();
105
+ @return (
106
+ extended-label-text-font: inspection.get-theme-typography($theme, button, font-family),
107
+ extended-label-text-size: inspection.get-theme-typography($theme, button, font-size),
108
+ extended-label-text-tracking: inspection.get-theme-typography($theme, button, letter-spacing),
109
+ extended-label-text-weight: inspection.get-theme-typography($theme, button, font-weight)
110
+ );
79
111
  }
80
112
 
81
113
  // Tokens that can be configured through Angular Material's density theming API.
@@ -83,6 +115,7 @@ $prefix: (mat, fab);
83
115
  $density-scale: theming.clamp-density(inspection.get-theme-density($theme), -3);
84
116
 
85
117
  @return (
118
+ small-touch-target-display: if($density-scale < -1, none, block),
86
119
  touch-target-display: if($density-scale < -1, none, block),
87
120
  );
88
121
  }
@@ -92,8 +125,8 @@ $prefix: (mat, fab);
92
125
  @function get-token-slots() {
93
126
  @return sass-utils.deep-merge-all(
94
127
  get-unthemable-tokens(),
95
- get-color-tokens(token-definition.$placeholder-color-config),
96
- get-typography-tokens(token-definition.$placeholder-typography-config),
97
- get-density-tokens(token-definition.$placeholder-density-config)
128
+ get-color-tokens(m2-utils.$placeholder-color-config),
129
+ get-typography-tokens(m2-utils.$placeholder-typography-config),
130
+ get-density-tokens(m2-utils.$placeholder-density-config)
98
131
  );
99
132
  }
@@ -1,9 +1,9 @@
1
1
  @use 'sass:meta';
2
2
  @use 'sass:map';
3
- @use '../../token-definition';
4
- @use '../../../theming/theming';
5
- @use '../../../theming/inspection';
6
- @use '../../../style/sass-utils';
3
+ @use '../core/tokens/m2-utils';
4
+ @use '../core/theming/theming';
5
+ @use '../core/theming/inspection';
6
+ @use '../core/style/sass-utils';
7
7
 
8
8
  // The prefix used to generate the fully qualified name for tokens in this file.
9
9
  $prefix: (mat, icon-button);
@@ -80,8 +80,8 @@ $prefix: (mat, icon-button);
80
80
  @function get-token-slots() {
81
81
  @return sass-utils.deep-merge-all(
82
82
  get-unthemable-tokens(),
83
- get-color-tokens(token-definition.$placeholder-color-config),
84
- get-typography-tokens(token-definition.$placeholder-typography-config),
85
- get-density-tokens(token-definition.$placeholder-density-config)
83
+ get-color-tokens(m2-utils.$placeholder-color-config),
84
+ get-typography-tokens(m2-utils.$placeholder-typography-config),
85
+ get-density-tokens(m2-utils.$placeholder-density-config)
86
86
  );
87
87
  }
@@ -0,0 +1,243 @@
1
+ @use 'sass:map';
2
+ @use '../core/tokens/m3-utils';
3
+ @use '../core/style/sass-utils';
4
+ @use '../core/style/elevation';
5
+
6
+ // The prefix used to generate the fully qualified name for tokens in this file.
7
+ $prefix: (mat, button);
8
+
9
+ /// Generates custom tokens for the mat-flat-button.
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-flat-button
14
+ @function get-tokens($systems, $exclude-hardcoded, $token-slots) {
15
+ $tokens: (
16
+ filled-container-color: map.get($systems, md-sys-color, primary),
17
+ filled-container-height: if($exclude-hardcoded, null, 40px),
18
+ filled-container-shape: map.get($systems, md-sys-shape, corner-full),
19
+ filled-disabled-container-color: sass-utils.safe-color-change(
20
+ map.get($systems, md-sys-color, on-surface), $alpha: 0.12),
21
+ filled-disabled-label-text-color: sass-utils.safe-color-change(
22
+ map.get($systems, md-sys-color, on-surface), $alpha: 0.38),
23
+ filled-disabled-state-layer-color: map.get($systems, md-sys-color, on-surface-variant),
24
+ filled-focus-state-layer-opacity: map.get($systems, md-sys-state, focus-state-layer-opacity),
25
+ filled-horizontal-padding: m3-utils.hardcode(24px, $exclude-hardcoded),
26
+ filled-hover-state-layer-opacity: map.get($systems, md-sys-state, hover-state-layer-opacity),
27
+ filled-icon-offset: m3-utils.hardcode(-8px, $exclude-hardcoded),
28
+ filled-icon-spacing: m3-utils.hardcode(8px, $exclude-hardcoded),
29
+ filled-label-text-color: map.get($systems, md-sys-color, on-primary),
30
+ filled-label-text-font: map.get($systems, md-sys-typescale, label-large-font),
31
+ filled-label-text-size: map.get($systems, md-sys-typescale, label-large-size),
32
+ filled-label-text-tracking: map.get($systems, md-sys-typescale, label-large-tracking),
33
+ filled-label-text-weight: map.get($systems, md-sys-typescale, label-large-weight),
34
+ filled-pressed-state-layer-opacity:
35
+ map.get($systems, md-sys-state, pressed-state-layer-opacity),
36
+ filled-ripple-color: sass-utils.safe-color-change(
37
+ map.get($systems, md-sys-color, on-primary),
38
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity) ),
39
+ filled-state-layer-color: map.get($systems, md-sys-color, on-primary),
40
+ outlined-container-height: if($exclude-hardcoded, null, 40px),
41
+ outlined-container-shape: map.get($systems, md-sys-shape, corner-full),
42
+ outlined-disabled-label-text-color: sass-utils.safe-color-change(
43
+ map.get($systems, md-sys-color, on-surface), $alpha: 0.38),
44
+ outlined-disabled-outline-color: sass-utils.safe-color-change(
45
+ map.get($systems, md-sys-color, on-surface), $alpha: 0.12),
46
+ outlined-disabled-state-layer-color: map.get($systems, md-sys-color, on-surface-variant),
47
+ outlined-focus-state-layer-opacity: map.get($systems, md-sys-state, focus-state-layer-opacity),
48
+ outlined-horizontal-padding: m3-utils.hardcode(24px, $exclude-hardcoded),
49
+ outlined-hover-state-layer-opacity: map.get($systems, md-sys-state, hover-state-layer-opacity),
50
+ outlined-icon-offset: m3-utils.hardcode(-8px, $exclude-hardcoded),
51
+ outlined-icon-spacing: m3-utils.hardcode(8px, $exclude-hardcoded),
52
+ outlined-label-text-color: map.get($systems, md-sys-color, primary),
53
+ outlined-label-text-font: map.get($systems, md-sys-typescale, label-large-font),
54
+ outlined-label-text-size: map.get($systems, md-sys-typescale, label-large-size),
55
+ outlined-label-text-tracking: map.get($systems, md-sys-typescale, label-large-tracking),
56
+ outlined-label-text-weight: map.get($systems, md-sys-typescale, label-large-weight),
57
+ outlined-outline-color: map.get($systems, md-sys-color, outline),
58
+ outlined-outline-width: if($exclude-hardcoded, null, 1px),
59
+ outlined-pressed-state-layer-opacity:
60
+ map.get($systems, md-sys-state, pressed-state-layer-opacity),
61
+ outlined-ripple-color: sass-utils.safe-color-change(
62
+ map.get($systems, md-sys-color, primary),
63
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)),
64
+ outlined-state-layer-color: map.get($systems, md-sys-color, primary),
65
+ protected-container-color: map.get($systems, md-sys-color, surface),
66
+ protected-container-elevation-shadow: map.get($systems, md-sys-elevation, level1),
67
+ protected-container-height: if($exclude-hardcoded, null, 40px),
68
+ protected-container-shape: map.get($systems, md-sys-shape, corner-full),
69
+ protected-disabled-container-color: sass-utils.safe-color-change(
70
+ map.get($systems, md-sys-color, on-surface), $alpha: 0.12),
71
+ protected-disabled-container-elevation-shadow: map.get($systems, md-sys-elevation, level0),
72
+ protected-disabled-label-text-color: sass-utils.safe-color-change(
73
+ map.get($systems, md-sys-color, on-surface), $alpha: 0.38),
74
+ protected-disabled-state-layer-color: map.get($systems, md-sys-color, on-surface-variant),
75
+ protected-focus-container-elevation-shadow: map.get($systems, md-sys-elevation, level1),
76
+ protected-focus-state-layer-opacity: map.get($systems, md-sys-state, focus-state-layer-opacity),
77
+ protected-horizontal-padding: m3-utils.hardcode(24px, $exclude-hardcoded),
78
+ protected-hover-container-elevation-shadow: map.get($systems, md-sys-elevation, level2),
79
+ protected-hover-state-layer-opacity: map.get($systems, md-sys-state, hover-state-layer-opacity),
80
+ protected-icon-offset: m3-utils.hardcode(-8px, $exclude-hardcoded),
81
+ protected-icon-spacing: m3-utils.hardcode(8px, $exclude-hardcoded),
82
+ protected-label-text-color: map.get($systems, md-sys-color, primary),
83
+ protected-label-text-font: map.get($systems, md-sys-typescale, label-large-font),
84
+ protected-label-text-size: map.get($systems, md-sys-typescale, label-large-size),
85
+ protected-label-text-tracking: map.get($systems, md-sys-typescale, label-large-tracking),
86
+ protected-label-text-weight: map.get($systems, md-sys-typescale, label-large-weight),
87
+ protected-pressed-container-elevation-shadow: map.get($systems, md-sys-elevation, level1),
88
+ protected-pressed-state-layer-opacity:
89
+ map.get($systems, md-sys-state, pressed-state-layer-opacity),
90
+ protected-ripple-color: sass-utils.safe-color-change(
91
+ map.get($systems, md-sys-color, primary),
92
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)),
93
+ protected-state-layer-color: map.get($systems, md-sys-color, primary),
94
+ text-container-height: if($exclude-hardcoded, null, 40px),
95
+ text-container-shape: map.get($systems, md-sys-shape, corner-full),
96
+ text-disabled-label-text-color: sass-utils.safe-color-change(
97
+ map.get($systems, md-sys-color, on-surface), $alpha: 0.38),
98
+ text-disabled-state-layer-color: map.get($systems, md-sys-color, on-surface-variant),
99
+ text-focus-state-layer-opacity: map.get($systems, md-sys-state, focus-state-layer-opacity),
100
+ text-horizontal-padding: m3-utils.hardcode(12px, $exclude-hardcoded),
101
+ text-hover-state-layer-opacity: map.get($systems, md-sys-state, hover-state-layer-opacity),
102
+ text-icon-offset: m3-utils.hardcode(-4px, $exclude-hardcoded),
103
+ text-icon-spacing: m3-utils.hardcode(8px, $exclude-hardcoded),
104
+ text-label-text-color: map.get($systems, md-sys-color, primary),
105
+ text-label-text-font: map.get($systems, md-sys-typescale, label-large-font),
106
+ text-label-text-size: map.get($systems, md-sys-typescale, label-large-size),
107
+ text-label-text-tracking: map.get($systems, md-sys-typescale, label-large-tracking),
108
+ text-label-text-weight: map.get($systems, md-sys-typescale, label-large-weight),
109
+ text-pressed-state-layer-opacity: map.get($systems, md-sys-state, pressed-state-layer-opacity),
110
+ text-ripple-color: sass-utils.safe-color-change(
111
+ map.get($systems, md-sys-color, primary),
112
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)),
113
+ text-state-layer-color: map.get($systems, md-sys-color, primary),
114
+ text-with-icon-horizontal-padding: m3-utils.hardcode(16px, $exclude-hardcoded),
115
+ tonal-container-color: map.get($systems, md-sys-color, secondary-container),
116
+ tonal-container-height: if($exclude-hardcoded, null, 40px),
117
+ tonal-container-shape: map.get($systems, md-sys-shape, corner-full),
118
+ tonal-disabled-container-color: sass-utils.safe-color-change(
119
+ map.get($systems, md-sys-color, on-surface), $alpha: 0.12),
120
+ tonal-disabled-label-text-color: sass-utils.safe-color-change(
121
+ map.get($systems, md-sys-color, on-surface), $alpha: 0.38),
122
+ tonal-disabled-state-layer-color: map.get($systems, md-sys-color, on-surface-variant),
123
+ tonal-focus-state-layer-opacity: map.get($systems, md-sys-state, focus-state-layer-opacity),
124
+ tonal-horizontal-padding: m3-utils.hardcode(24px, $exclude-hardcoded),
125
+ tonal-hover-state-layer-opacity: map.get($systems, md-sys-state, hover-state-layer-opacity),
126
+ tonal-icon-offset: m3-utils.hardcode(-8px, $exclude-hardcoded),
127
+ tonal-icon-spacing: m3-utils.hardcode(8px, $exclude-hardcoded),
128
+ tonal-label-text-color: map.get($systems, md-sys-color, on-secondary-container),
129
+ tonal-label-text-font: map.get($systems, md-sys-typescale, label-large-font),
130
+ tonal-label-text-size: map.get($systems, md-sys-typescale, label-large-size),
131
+ tonal-label-text-tracking: map.get($systems, md-sys-typescale, label-large-tracking),
132
+ tonal-label-text-weight: map.get($systems, md-sys-typescale, label-large-weight),
133
+ tonal-pressed-state-layer-opacity: map.get($systems, md-sys-state, pressed-state-layer-opacity),
134
+ tonal-ripple-color: sass-utils.safe-color-change(
135
+ map.get($systems, md-sys-color, on-secondary-container),
136
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)),
137
+ tonal-state-layer-color: map.get($systems, md-sys-color, on-secondary-container),
138
+ );
139
+
140
+ $variant-tokens: (
141
+ primary: (), // Default, no overrides needed.
142
+ secondary: (
143
+ filled-container-color: map.get($systems, md-sys-color, secondary),
144
+ filled-label-text-color: map.get($systems, md-sys-color, on-secondary),
145
+ filled-ripple-color: sass-utils.safe-color-change(
146
+ map.get($systems, md-sys-color, on-secondary),
147
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)),
148
+ filled-state-layer-color: map.get($systems, md-sys-color, on-secondary),
149
+ outlined-label-text-color: map.get($systems, md-sys-color, secondary),
150
+ outlined-ripple-color: sass-utils.safe-color-change(
151
+ map.get($systems, md-sys-color, secondary),
152
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)),
153
+ outlined-state-layer-color: map.get($systems, md-sys-color, secondary),
154
+ protected-label-text-color: map.get($systems, md-sys-color, secondary),
155
+ protected-ripple-color: sass-utils.safe-color-change(
156
+ map.get($systems, md-sys-color, secondary),
157
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)),
158
+ protected-state-layer-color: map.get($systems, md-sys-color, secondary),
159
+ text-label-text-color: map.get($systems, md-sys-color, secondary),
160
+ text-ripple-color: sass-utils.safe-color-change(
161
+ map.get($systems, md-sys-color, secondary),
162
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)),
163
+ text-state-layer-color: map.get($systems, md-sys-color, secondary),
164
+ ),
165
+ tertiary: (
166
+ filled-container-color: map.get($systems, md-sys-color, tertiary),
167
+ filled-label-text-color: map.get($systems, md-sys-color, on-tertiary),
168
+ filled-ripple-color: sass-utils.safe-color-change(
169
+ map.get($systems, md-sys-color, on-tertiary),
170
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)),
171
+ filled-state-layer-color: map.get($systems, md-sys-color, on-tertiary),
172
+ outlined-label-text-color: map.get($systems, md-sys-color, tertiary),
173
+ outlined-ripple-color: sass-utils.safe-color-change(
174
+ map.get($systems, md-sys-color, tertiary),
175
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)),
176
+ outlined-state-layer-color: map.get($systems, md-sys-color, tertiary),
177
+ protected-label-text-color: map.get($systems, md-sys-color, tertiary),
178
+ protected-ripple-color: sass-utils.safe-color-change(
179
+ map.get($systems, md-sys-color, tertiary),
180
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)),
181
+ protected-state-layer-color: map.get($systems, md-sys-color, tertiary),
182
+ text-label-text-color: map.get($systems, md-sys-color, tertiary),
183
+ text-ripple-color: sass-utils.safe-color-change(
184
+ map.get($systems, md-sys-color, tertiary),
185
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)),
186
+ text-state-layer-color: map.get($systems, md-sys-color, tertiary),
187
+ tonal-container-color: map.get($systems, md-sys-color, tertiary-container),
188
+ tonal-label-text-color: map.get($systems, md-sys-color, on-tertiary-container),
189
+ tonal-ripple-color: sass-utils.safe-color-change(
190
+ map.get($systems, md-sys-color, on-tertiary-container),
191
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)),
192
+ tonal-state-layer-color: map.get($systems, md-sys-color, on-tertiary-container),
193
+ ),
194
+ error: (
195
+ filled-container-color: map.get($systems, md-sys-color, error),
196
+ filled-label-text-color: map.get($systems, md-sys-color, on-error),
197
+ filled-ripple-color: sass-utils.safe-color-change(
198
+ map.get($systems, md-sys-color, on-error),
199
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)),
200
+ filled-state-layer-color: map.get($systems, md-sys-color, on-error),
201
+ outlined-label-text-color: map.get($systems, md-sys-color, error),
202
+ outlined-ripple-color: sass-utils.safe-color-change(
203
+ map.get($systems, md-sys-color, error),
204
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)),
205
+ outlined-state-layer-color: map.get($systems, md-sys-color, error),
206
+ protected-label-text-color: map.get($systems, md-sys-color, error),
207
+ protected-ripple-color: sass-utils.safe-color-change(
208
+ map.get($systems, md-sys-color, error),
209
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)),
210
+ protected-state-layer-color: map.get($systems, md-sys-color, error),
211
+ text-label-text-color: map.get($systems, md-sys-color, error),
212
+ text-ripple-color: sass-utils.safe-color-change(
213
+ map.get($systems, md-sys-color, error),
214
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)),
215
+ text-state-layer-color: map.get($systems, md-sys-color, error),
216
+ tonal-container-color: map.get($systems, md-sys-color, error-container),
217
+ tonal-label-text-color: map.get($systems, md-sys-color, on-error-container),
218
+ tonal-ripple-color: sass-utils.safe-color-change(
219
+ map.get($systems, md-sys-color, on-error-container),
220
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)),
221
+ tonal-state-layer-color: map.get($systems, md-sys-color, on-error-container),
222
+ )
223
+ );
224
+
225
+ $elevation-tokens: (
226
+ protected-container-elevation-shadow,
227
+ protected-disabled-container-elevation-shadow,
228
+ protected-focus-container-elevation-shadow,
229
+ protected-hover-container-elevation-shadow,
230
+ protected-pressed-container-elevation-shadow,
231
+ );
232
+
233
+ @each $token in $elevation-tokens {
234
+ $elevation: map.get($tokens, $token);
235
+
236
+ @if ($elevation != null) {
237
+ $tokens: map.set($tokens, $token, elevation.get-box-shadow($elevation));
238
+ }
239
+ }
240
+
241
+
242
+ @return m3-utils.namespace($prefix, ($tokens, $variant-tokens), $token-slots);
243
+ }