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

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 (354) hide show
  1. package/autocomplete/_autocomplete-theme.scss +1 -1
  2. package/autocomplete/index.d.ts +9 -10
  3. package/autocomplete/testing/index.d.ts +2 -2
  4. package/badge/_badge-theme.scss +1 -1
  5. package/badge/index.d.ts +5 -5
  6. package/badge/testing/index.d.ts +2 -2
  7. package/{badge.d-619691fb.d.ts → badge.d-BUeRGv1E.d.ts} +3 -3
  8. package/bottom-sheet/_bottom-sheet-theme.scss +1 -1
  9. package/bottom-sheet/index.d.ts +3 -2
  10. package/button/_button-theme.scss +6 -1
  11. package/button/_fab-theme.scss +5 -1
  12. package/button/_icon-button-theme.scss +6 -1
  13. package/button/_m3-button.scss +22 -5
  14. package/button/_m3-fab.scss +13 -0
  15. package/button/_m3-icon-button.scss +15 -1
  16. package/button/index.d.ts +215 -8
  17. package/button-toggle/_button-toggle-theme.scss +6 -1
  18. package/button-toggle/_m3-button-toggle.scss +13 -0
  19. package/button-toggle/index.d.ts +6 -6
  20. package/button-toggle/testing/index.d.ts +1 -1
  21. package/{button-toggle.d-620c8912.d.ts → button-toggle.d-cP94fe1M.d.ts} +3 -3
  22. package/card/_card-theme.scss +1 -1
  23. package/card/index.d.ts +1 -1
  24. package/checkbox/_checkbox-theme.scss +6 -1
  25. package/checkbox/_m3-checkbox.scss +14 -1
  26. package/checkbox/index.d.ts +2 -2
  27. package/chips/_chips-theme.scss +5 -1
  28. package/chips/_m3-chip.scss +13 -0
  29. package/chips/index.d.ts +17 -5
  30. package/{common-module.d-421e3498.d.ts → common-module.d-CUT8AqiB.d.ts} +2 -2
  31. package/core/_core-theme.scss +1 -1
  32. package/core/density/private/_all-density.scss +38 -38
  33. package/core/index.d.ts +15 -15
  34. package/core/option/_optgroup-theme.scss +1 -1
  35. package/core/option/_option-theme.scss +1 -1
  36. package/core/ripple/_ripple-theme.scss +1 -1
  37. package/core/testing/index.d.ts +32 -3
  38. package/core/theming/_definition.scss +0 -1
  39. package/core/theming/_inspection.scss +1 -0
  40. package/core/tokens/_m3-system.scss +49 -9
  41. package/core/tokens/_m3-tokens.scss +0 -18
  42. package/core/tokens/_token-utils.scss +5 -0
  43. package/{date-adapter.d-e8299690.d.ts → date-adapter.d-DzP3EMeE.d.ts} +1 -1
  44. package/{date-range-input-harness.d-440b288d.d.ts → date-range-input-harness.d-CJDdddpn.d.ts} +3 -3
  45. package/datepicker/_datepicker-theme.scss +1 -1
  46. package/datepicker/index.d.ts +14 -9
  47. package/datepicker/testing/index.d.ts +4 -4
  48. package/dialog/_dialog-theme.scss +1 -1
  49. package/dialog/index.d.ts +5 -5
  50. package/dialog/testing/index.d.ts +1 -1
  51. package/{dialog.d-2ea3eab1.d.ts → dialog.d-DSidcNPx.d.ts} +2 -2
  52. package/divider/_divider-theme.scss +1 -1
  53. package/divider/index.d.ts +24 -4
  54. package/divider/testing/index.d.ts +15 -2
  55. package/{error-options.d-059d9639.d.ts → error-options.d-C1yXmo10.d.ts} +1 -1
  56. package/expansion/_expansion-theme.scss +6 -1
  57. package/expansion/_m3-expansion.scss +14 -0
  58. package/expansion/index.d.ts +1 -1
  59. package/fesm2022/{animation-e58fc357.mjs → animation-DYWs964N.mjs} +2 -2
  60. package/fesm2022/{animation-e58fc357.mjs.map → animation-DYWs964N.mjs.map} +1 -1
  61. package/fesm2022/autocomplete/testing.mjs +2 -2
  62. package/fesm2022/autocomplete/testing.mjs.map +1 -1
  63. package/fesm2022/autocomplete.mjs +15 -15
  64. package/fesm2022/autocomplete.mjs.map +1 -1
  65. package/fesm2022/badge/testing.mjs.map +1 -1
  66. package/fesm2022/badge.mjs +5 -5
  67. package/fesm2022/badge.mjs.map +1 -1
  68. package/fesm2022/bottom-sheet/testing.mjs.map +1 -1
  69. package/fesm2022/bottom-sheet.mjs +13 -5
  70. package/fesm2022/bottom-sheet.mjs.map +1 -1
  71. package/fesm2022/button/testing.mjs.map +1 -1
  72. package/fesm2022/button-toggle/testing.mjs.map +1 -1
  73. package/fesm2022/button-toggle.mjs +9 -9
  74. package/fesm2022/button-toggle.mjs.map +1 -1
  75. package/fesm2022/button.mjs +218 -9
  76. package/fesm2022/button.mjs.map +1 -1
  77. package/fesm2022/card/testing.mjs.map +1 -1
  78. package/fesm2022/card.mjs +4 -4
  79. package/fesm2022/card.mjs.map +1 -1
  80. package/fesm2022/checkbox/testing.mjs.map +1 -1
  81. package/fesm2022/checkbox.mjs +8 -8
  82. package/fesm2022/checkbox.mjs.map +1 -1
  83. package/fesm2022/chips/testing.mjs.map +1 -1
  84. package/fesm2022/chips.mjs +38 -22
  85. package/fesm2022/chips.mjs.map +1 -1
  86. package/fesm2022/{common-module-6bff0328.mjs → common-module-BTLyTce6.mjs} +2 -2
  87. package/fesm2022/{common-module-6bff0328.mjs.map → common-module-BTLyTce6.mjs.map} +1 -1
  88. package/fesm2022/core/testing.mjs +35 -3
  89. package/fesm2022/core/testing.mjs.map +1 -1
  90. package/fesm2022/core.mjs +18 -18
  91. package/fesm2022/core.mjs.map +1 -1
  92. package/fesm2022/{date-formats-9cbc3057.mjs → date-formats-BQbO9F6H.mjs} +2 -2
  93. package/fesm2022/{date-formats-9cbc3057.mjs.map → date-formats-BQbO9F6H.mjs.map} +1 -1
  94. package/fesm2022/{date-range-input-harness-3d3cf01a.mjs → date-range-input-harness-qhTX-DXo.mjs} +3 -3
  95. package/fesm2022/{date-range-input-harness-3d3cf01a.mjs.map → date-range-input-harness-qhTX-DXo.mjs.map} +1 -1
  96. package/fesm2022/datepicker/testing.mjs +3 -3
  97. package/fesm2022/datepicker/testing.mjs.map +1 -1
  98. package/fesm2022/datepicker.mjs +38 -29
  99. package/fesm2022/datepicker.mjs.map +1 -1
  100. package/fesm2022/dialog/testing.mjs +4 -4
  101. package/fesm2022/dialog/testing.mjs.map +1 -1
  102. package/fesm2022/dialog.mjs +3 -3
  103. package/fesm2022/dialog.mjs.map +1 -1
  104. package/fesm2022/divider/testing.mjs +17 -2
  105. package/fesm2022/divider/testing.mjs.map +1 -1
  106. package/fesm2022/divider.mjs +55 -4
  107. package/fesm2022/divider.mjs.map +1 -1
  108. package/fesm2022/{error-options-e22abc6f.mjs → error-options-f2L_D2TV.mjs} +2 -2
  109. package/fesm2022/{error-options-e22abc6f.mjs.map → error-options-f2L_D2TV.mjs.map} +1 -1
  110. package/fesm2022/{error-state-5fa5df66.mjs → error-state-DAicm3pw.mjs} +2 -2
  111. package/fesm2022/{error-state-5fa5df66.mjs.map → error-state-DAicm3pw.mjs.map} +1 -1
  112. package/fesm2022/expansion/testing.mjs.map +1 -1
  113. package/fesm2022/expansion.mjs +8 -8
  114. package/fesm2022/expansion.mjs.map +1 -1
  115. package/fesm2022/form-field/testing/control.mjs +10 -2
  116. package/fesm2022/form-field/testing/control.mjs.map +1 -1
  117. package/fesm2022/form-field/testing.mjs +6 -6
  118. package/fesm2022/form-field/testing.mjs.map +1 -1
  119. package/fesm2022/{form-field-ba7d9525.mjs → form-field-DXXhIBX2.mjs} +25 -7
  120. package/fesm2022/form-field-DXXhIBX2.mjs.map +1 -0
  121. package/fesm2022/form-field.mjs +4 -4
  122. package/fesm2022/grid-list/testing.mjs +2 -2
  123. package/fesm2022/grid-list/testing.mjs.map +1 -1
  124. package/fesm2022/grid-list.mjs +10 -11
  125. package/fesm2022/grid-list.mjs.map +1 -1
  126. package/fesm2022/icon/testing.mjs +1 -1
  127. package/fesm2022/icon/testing.mjs.map +1 -1
  128. package/fesm2022/{icon-button-c94ccf8a.mjs → icon-button-SnLX2J-J.mjs} +8 -8
  129. package/fesm2022/{icon-button-c94ccf8a.mjs.map → icon-button-SnLX2J-J.mjs.map} +1 -1
  130. package/fesm2022/{icon-registry-4f5f0eba.mjs → icon-registry-C2Nxi8Mq.mjs} +3 -3
  131. package/fesm2022/{icon-registry-4f5f0eba.mjs.map → icon-registry-C2Nxi8Mq.mjs.map} +1 -1
  132. package/fesm2022/icon.mjs +397 -9
  133. package/fesm2022/icon.mjs.map +1 -1
  134. package/fesm2022/{index-33bb4181.mjs → index-CYUgEsfZ.mjs} +6 -6
  135. package/fesm2022/{index-33bb4181.mjs.map → index-CYUgEsfZ.mjs.map} +1 -1
  136. package/fesm2022/{index-975cf4ab.mjs → index-D7tf-UtR.mjs} +4 -4
  137. package/fesm2022/{index-975cf4ab.mjs.map → index-D7tf-UtR.mjs.map} +1 -1
  138. package/fesm2022/input/testing.mjs +2 -2
  139. package/fesm2022/input/testing.mjs.map +1 -1
  140. package/fesm2022/{input-harness-6ca0e4e7.mjs → input-harness-CxVp_q3n.mjs} +3 -3
  141. package/fesm2022/{input-harness-6ca0e4e7.mjs.map → input-harness-CxVp_q3n.mjs.map} +1 -1
  142. package/fesm2022/{input-value-accessor-16c2d528.mjs → input-value-accessor-cp3A3zMa.mjs} +2 -2
  143. package/fesm2022/{input-value-accessor-16c2d528.mjs.map → input-value-accessor-cp3A3zMa.mjs.map} +1 -1
  144. package/fesm2022/input.mjs +21 -29
  145. package/fesm2022/input.mjs.map +1 -1
  146. package/fesm2022/{internal-form-field-a658b1d3.mjs → internal-form-field-Bq9jLDgy.mjs} +5 -5
  147. package/fesm2022/{internal-form-field-a658b1d3.mjs.map → internal-form-field-Bq9jLDgy.mjs.map} +1 -1
  148. package/fesm2022/{line-fa9011f8.mjs → line-DI2_SkWl.mjs} +3 -3
  149. package/fesm2022/{line-fa9011f8.mjs.map → line-DI2_SkWl.mjs.map} +1 -1
  150. package/fesm2022/list/testing.mjs +1 -1
  151. package/fesm2022/list/testing.mjs.map +1 -1
  152. package/fesm2022/list.mjs +21 -21
  153. package/fesm2022/list.mjs.map +1 -1
  154. package/fesm2022/menu/testing.mjs.map +1 -1
  155. package/fesm2022/menu.mjs +8 -8
  156. package/fesm2022/menu.mjs.map +1 -1
  157. package/fesm2022/{module-f0bd6006.mjs → module-BIHXUA0w.mjs} +4 -4
  158. package/fesm2022/{module-f0bd6006.mjs.map → module-BIHXUA0w.mjs.map} +1 -1
  159. package/fesm2022/{module-7aee2437.mjs → module-Bj-soMIE.mjs} +7 -7
  160. package/fesm2022/{module-7aee2437.mjs.map → module-Bj-soMIE.mjs.map} +1 -1
  161. package/fesm2022/{module-9e568fe9.mjs → module-Bj_BSG1B.mjs} +23 -14
  162. package/fesm2022/{module-9e568fe9.mjs.map → module-Bj_BSG1B.mjs.map} +1 -1
  163. package/fesm2022/{module-f09a8c90.mjs → module-nTxiyWBy.mjs} +11 -11
  164. package/fesm2022/{module-f09a8c90.mjs.map → module-nTxiyWBy.mjs.map} +1 -1
  165. package/fesm2022/{option-2e7efc25.mjs → option-Ce_vIVuD.mjs} +10 -10
  166. package/fesm2022/{option-2e7efc25.mjs.map → option-Ce_vIVuD.mjs.map} +1 -1
  167. package/fesm2022/{option-harness-4cd4ee4e.mjs → option-harness-D_dpAU04.mjs} +2 -2
  168. package/fesm2022/{option-harness-4cd4ee4e.mjs.map → option-harness-D_dpAU04.mjs.map} +1 -1
  169. package/fesm2022/paginator/testing.mjs +4 -4
  170. package/fesm2022/paginator/testing.mjs.map +1 -1
  171. package/fesm2022/paginator.mjs +22 -22
  172. package/fesm2022/paginator.mjs.map +1 -1
  173. package/fesm2022/progress-bar/testing.mjs.map +1 -1
  174. package/fesm2022/progress-bar.mjs +5 -5
  175. package/fesm2022/progress-bar.mjs.map +1 -1
  176. package/fesm2022/progress-spinner/testing.mjs.map +1 -1
  177. package/fesm2022/progress-spinner.mjs +5 -5
  178. package/fesm2022/progress-spinner.mjs.map +1 -1
  179. package/fesm2022/{pseudo-checkbox-module-22aca2eb.mjs → pseudo-checkbox-module-B1fNUV1l.mjs} +4 -4
  180. package/fesm2022/{pseudo-checkbox-module-22aca2eb.mjs.map → pseudo-checkbox-module-B1fNUV1l.mjs.map} +1 -1
  181. package/fesm2022/{pseudo-checkbox-7c1050cc.mjs → pseudo-checkbox-rb5Qj2XH.mjs} +6 -6
  182. package/fesm2022/{pseudo-checkbox-7c1050cc.mjs.map → pseudo-checkbox-rb5Qj2XH.mjs.map} +1 -1
  183. package/fesm2022/{public-api-af61bf48.mjs → public-api-B95TI2uI.mjs} +2 -2
  184. package/fesm2022/{public-api-af61bf48.mjs.map → public-api-B95TI2uI.mjs.map} +1 -1
  185. package/fesm2022/radio/testing.mjs.map +1 -1
  186. package/fesm2022/radio.mjs +9 -9
  187. package/fesm2022/radio.mjs.map +1 -1
  188. package/fesm2022/{ripple-loader-9a207cda.mjs → ripple-loader-R9v4tIlx.mjs} +4 -4
  189. package/fesm2022/{ripple-loader-9a207cda.mjs.map → ripple-loader-R9v4tIlx.mjs.map} +1 -1
  190. package/fesm2022/{ripple-ca34ab3c.mjs → ripple-t-kasrhF.mjs} +6 -6
  191. package/fesm2022/{ripple-ca34ab3c.mjs.map → ripple-t-kasrhF.mjs.map} +1 -1
  192. package/fesm2022/select/testing.mjs +122 -5
  193. package/fesm2022/select/testing.mjs.map +1 -1
  194. package/fesm2022/select.mjs +14 -14
  195. package/fesm2022/sidenav/testing.mjs.map +1 -1
  196. package/fesm2022/sidenav.mjs +7 -7
  197. package/fesm2022/sidenav.mjs.map +1 -1
  198. package/fesm2022/slide-toggle/testing.mjs.map +1 -1
  199. package/fesm2022/slide-toggle.mjs +8 -8
  200. package/fesm2022/slide-toggle.mjs.map +1 -1
  201. package/fesm2022/slider/testing.mjs.map +1 -1
  202. package/fesm2022/slider.mjs +10 -10
  203. package/fesm2022/slider.mjs.map +1 -1
  204. package/fesm2022/snack-bar/testing.mjs.map +1 -1
  205. package/fesm2022/snack-bar.mjs +14 -14
  206. package/fesm2022/snack-bar.mjs.map +1 -1
  207. package/fesm2022/sort/testing.mjs.map +1 -1
  208. package/fesm2022/sort.mjs +6 -6
  209. package/fesm2022/sort.mjs.map +1 -1
  210. package/fesm2022/stepper/testing.mjs.map +1 -1
  211. package/fesm2022/stepper.mjs +13 -13
  212. package/fesm2022/stepper.mjs.map +1 -1
  213. package/fesm2022/{structural-styles-fe60c44d.mjs → structural-styles-BcST1BXh.mjs} +5 -5
  214. package/fesm2022/{structural-styles-fe60c44d.mjs.map → structural-styles-BcST1BXh.mjs.map} +1 -1
  215. package/fesm2022/table/testing.mjs.map +1 -1
  216. package/fesm2022/table.mjs +6 -6
  217. package/fesm2022/table.mjs.map +1 -1
  218. package/fesm2022/tabs/testing.mjs.map +1 -1
  219. package/fesm2022/tabs.mjs +15 -15
  220. package/fesm2022/tabs.mjs.map +1 -1
  221. package/fesm2022/timepicker/testing.mjs +1 -1
  222. package/fesm2022/timepicker/testing.mjs.map +1 -1
  223. package/fesm2022/timepicker.mjs +13 -13
  224. package/fesm2022/timepicker.mjs.map +1 -1
  225. package/fesm2022/toolbar/testing.mjs.map +1 -1
  226. package/fesm2022/toolbar.mjs +4 -4
  227. package/fesm2022/toolbar.mjs.map +1 -1
  228. package/fesm2022/tooltip/testing.mjs.map +1 -1
  229. package/fesm2022/tooltip.mjs +3 -3
  230. package/fesm2022/tree/testing.mjs.map +1 -1
  231. package/fesm2022/tree.mjs +4 -4
  232. package/fesm2022/tree.mjs.map +1 -1
  233. package/form-field/_form-field-theme.scss +6 -1
  234. package/form-field/_m3-form-field.scss +17 -0
  235. package/form-field/index.d.ts +5 -5
  236. package/form-field/testing/control/index.d.ts +10 -2
  237. package/form-field/testing/index.d.ts +7 -8
  238. package/{form-field-control.d-9ed49092.d.ts → form-field-control.d-39fAGkWp.d.ts} +3 -1
  239. package/{form-field.d-486f4e86.d.ts → form-field.d-DeaA8Upo.d.ts} +5 -4
  240. package/grid-list/_grid-list-theme.scss +1 -1
  241. package/grid-list/index.d.ts +3 -4
  242. package/icon/_icon-theme.scss +1 -1
  243. package/icon/index.d.ts +4 -4
  244. package/icon/testing/index.d.ts +1 -1
  245. package/{icon-module.d-a4b3b1e1.d.ts → icon-module.d-BeibE7j0.d.ts} +5 -5
  246. package/{icon-registry.d-6dd1799a.d.ts → icon-registry.d-DyR40vgq.d.ts} +2 -2
  247. package/{index.d-511f9e6c.d.ts → index.d-_XdEyDn3.d.ts} +3 -3
  248. package/{index.d-73f24bb1.d.ts → index.d-osnm7rw7.d.ts} +5 -5
  249. package/input/_input-theme.scss +1 -1
  250. package/input/index.d.ts +15 -12
  251. package/input/testing/index.d.ts +2 -2
  252. package/{input-harness.d-be80831e.d.ts → input-harness.d-C1zsmszC.d.ts} +3 -3
  253. package/{line.d-712398cb.d.ts → line.d-OCn_JHOE.d.ts} +2 -2
  254. package/list/_list-theme.scss +5 -1
  255. package/list/_m3-list.scss +17 -3
  256. package/list/index.d.ts +9 -10
  257. package/list/testing/index.d.ts +2 -2
  258. package/{list-option-types.d-076a5300.d.ts → list-option-types.d-BcmY3SsC.d.ts} +1 -1
  259. package/menu/_menu-theme.scss +1 -1
  260. package/menu/index.d.ts +4 -4
  261. package/{module.d-f55544a0.d.ts → module.d-Cym1ScGE.d.ts} +5 -5
  262. package/{module.d-8839a0c2.d.ts → module.d-D0Yb5xFi.d.ts} +16 -11
  263. package/{module.d-683b2a19.d.ts → module.d-_FxAFBZR.d.ts} +3 -3
  264. package/{option-harness.d-4f143bc0.d.ts → option-harness.d-BpYClwei.d.ts} +2 -2
  265. package/{option-parent.d-d4243d2f.d.ts → option-parent.d-CvnRKBST.d.ts} +2 -2
  266. package/{option.d-4fb11594.d.ts → option.d-ef4idHSb.d.ts} +1 -1
  267. package/package.json +2 -2
  268. package/paginator/_m3-paginator.scss +16 -0
  269. package/paginator/_paginator-theme.scss +6 -1
  270. package/paginator/index.d.ts +19 -19
  271. package/paginator/testing/index.d.ts +4 -4
  272. package/{paginator.d-181ff014.d.ts → paginator.d-Ctdtnt7L.d.ts} +5 -5
  273. package/{palette.d-1d8ebc0d.d.ts → palette.d-fF1us9u8.d.ts} +1 -1
  274. package/prebuilt-themes/azure-blue.css +1 -1
  275. package/prebuilt-themes/cyan-orange.css +1 -1
  276. package/prebuilt-themes/deeppurple-amber.css +1 -1
  277. package/prebuilt-themes/indigo-pink.css +1 -1
  278. package/prebuilt-themes/magenta-violet.css +1 -1
  279. package/prebuilt-themes/pink-bluegrey.css +1 -1
  280. package/prebuilt-themes/purple-green.css +1 -1
  281. package/prebuilt-themes/rose-red.css +1 -1
  282. package/progress-bar/index.d.ts +2 -2
  283. package/progress-spinner/index.d.ts +5 -5
  284. package/progress-spinner/testing/index.d.ts +2 -2
  285. package/{progress-spinner.d-c723a559.d.ts → progress-spinner.d-DRWEU4qb.d.ts} +3 -3
  286. package/{pseudo-checkbox-module.d-42351ab6.d.ts → pseudo-checkbox-module.d-czRCRd5m.d.ts} +3 -3
  287. package/radio/_m3-radio.scss +14 -1
  288. package/radio/_radio-theme.scss +5 -1
  289. package/radio/index.d.ts +5 -5
  290. package/{ripple-loader.d-f51e5eb6.d.ts → ripple-loader.d-DL-hT7NH.d.ts} +1 -1
  291. package/{ripple.d-305c30f3.d.ts → ripple.d-DBFnJ3Aa.d.ts} +3 -3
  292. package/schematics/ng-add/index.js +1 -1
  293. package/schematics/ng-generate/theme-color/index_bundled.js +3829 -3941
  294. package/schematics/ng-generate/theme-color/index_bundled.js.map +3 -4
  295. package/select/_m3-select.scss +13 -0
  296. package/select/_select-theme.scss +6 -1
  297. package/select/index.d.ts +12 -12
  298. package/select/testing/index.d.ts +64 -5
  299. package/sidenav/_sidenav-theme.scss +1 -1
  300. package/sidenav/index.d.ts +2 -2
  301. package/sidenav/testing/index.d.ts +1 -1
  302. package/slide-toggle/_slide-toggle-theme.scss +1 -1
  303. package/slide-toggle/index.d.ts +2 -2
  304. package/slider/_slider-theme.scss +1 -1
  305. package/slider/index.d.ts +5 -5
  306. package/snack-bar/index.d.ts +7 -7
  307. package/sort/_sort-theme.scss +1 -1
  308. package/sort/index.d.ts +5 -6
  309. package/sort/testing/index.d.ts +1 -1
  310. package/{sort-direction.d-52bce05e.d.ts → sort-direction.d-Dlz8961P.d.ts} +1 -1
  311. package/{sort.d-7718b3de.d.ts → sort.d-CHu7FXsP.d.ts} +4 -4
  312. package/stepper/_m3-stepper.scss +13 -0
  313. package/stepper/_stepper-theme.scss +6 -1
  314. package/stepper/index.d.ts +6 -6
  315. package/table/_m3-table.scss +15 -0
  316. package/table/_table-theme.scss +5 -1
  317. package/table/index.d.ts +8 -8
  318. package/table/testing/index.d.ts +1 -1
  319. package/tabs/_m3-tabs.scss +13 -1
  320. package/tabs/_tabs-theme.scss +5 -1
  321. package/tabs/index.d.ts +4 -4
  322. package/timepicker/_timepicker-theme.scss +1 -1
  323. package/timepicker/index.d.ts +2 -2
  324. package/timepicker/testing/index.d.ts +1 -1
  325. package/toolbar/_m3-toolbar.scss +14 -0
  326. package/toolbar/_toolbar-theme.scss +6 -1
  327. package/toolbar/index.d.ts +1 -1
  328. package/tooltip/_tooltip-theme.scss +1 -1
  329. package/tooltip/index.d.ts +2 -2
  330. package/tree/_m3-tree.scss +13 -0
  331. package/tree/_tree-theme.scss +5 -1
  332. package/tree/index.d.ts +1 -1
  333. package/core/tokens/_density.scss +0 -151
  334. package/divider-harness.d-ee96b7aa.d.ts +0 -15
  335. package/divider-module.d-4305a1f1.d.ts +0 -24
  336. package/fesm2022/divider-harness-bea2a71d.mjs +0 -18
  337. package/fesm2022/divider-harness-bea2a71d.mjs.map +0 -1
  338. package/fesm2022/divider-module-15f4b7a3.mjs +0 -56
  339. package/fesm2022/divider-module-15f4b7a3.mjs.map +0 -1
  340. package/fesm2022/form-field-ba7d9525.mjs.map +0 -1
  341. package/fesm2022/form-field-control-harness-adcc773d.mjs +0 -11
  342. package/fesm2022/form-field-control-harness-adcc773d.mjs.map +0 -1
  343. package/fesm2022/icon-module-165b91b7.mjs +0 -395
  344. package/fesm2022/icon-module-165b91b7.mjs.map +0 -1
  345. package/fesm2022/module-f44de9b3.mjs +0 -214
  346. package/fesm2022/module-f44de9b3.mjs.map +0 -1
  347. package/fesm2022/optgroup-harness-d961ca3f.mjs +0 -36
  348. package/fesm2022/optgroup-harness-d961ca3f.mjs.map +0 -1
  349. package/fesm2022/select-harness-9656d727.mjs +0 -123
  350. package/fesm2022/select-harness-9656d727.mjs.map +0 -1
  351. package/form-field-control-harness.d-e3cf007b.d.ts +0 -10
  352. package/module.d-9a1d1c76.d.ts +0 -214
  353. package/optgroup-harness.d-c52f5a8b.d.ts +0 -32
  354. package/select-harness.d-485a3cf8.d.ts +0 -64
@@ -1,7 +1,10 @@
1
1
  @use 'sass:map';
2
+ @use 'sass:list';
2
3
  @use '../core/style/sass-utils';
3
4
  @use '../core/style/elevation';
4
5
  @use '../core/tokens/m3-utils';
6
+ @use '../core/theming/theming';
7
+ @use '../core/theming/inspection';
5
8
 
6
9
  // The prefix used to generate the fully qualified name for tokens in this file.
7
10
  $prefix: (mat, select);
@@ -46,3 +49,13 @@ $prefix: (mat, select);
46
49
 
47
50
  @return m3-utils.namespace($prefix, ($tokens, $variant-tokens), $token-slots);
48
51
  }
52
+
53
+ // Tokens that can be configured through Angular Material's density theming API.
54
+ @function get-density-tokens($theme) {
55
+ $scale: theming.clamp-density(inspection.get-theme-density($theme), -2);
56
+ $index: ($scale * -1) + 1;
57
+
58
+ @return (
59
+ arrow-transform: list.nth((translateY(-8px), translateY(-8px), none), $index),
60
+ );
61
+ }
@@ -5,6 +5,7 @@
5
5
  @use '../core/tokens/token-utils';
6
6
  @use '../core/typography/typography';
7
7
  @use './m2-select';
8
+ @use './m3-select';
8
9
 
9
10
  /// Outputs base theme styles (styles not dependent on the color, typography, or density settings)
10
11
  /// for the mat-select.
@@ -71,7 +72,8 @@
71
72
  /// @param {Map} $theme The theme to generate density styles for.
72
73
  @mixin density($theme) {
73
74
  @if inspection.get-theme-version($theme) == 1 {
74
- @include _theme-from-tokens(inspection.get-theme-tokens($theme, density));
75
+ @include token-utils.create-token-values(
76
+ m3-select.$prefix, m3-select.get-density-tokens($theme));
75
77
  } @else {
76
78
  @include sass-utils.current-selector-or-root() {
77
79
  @include token-utils.create-token-values-mixed(
@@ -107,6 +109,9 @@
107
109
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-select') {
108
110
  @if inspection.get-theme-version($theme) == 1 {
109
111
  @include _theme-from-tokens(inspection.get-theme-tokens($theme), $options...);
112
+ @if inspection.theme-has($theme, density) {
113
+ @include density($theme);
114
+ }
110
115
  } @else {
111
116
  @include base($theme);
112
117
  @if inspection.theme-has($theme, color) {
package/select/index.d.ts CHANGED
@@ -1,26 +1,26 @@
1
- export { d as MAT_SELECT_CONFIG, a as MAT_SELECT_SCROLL_STRATEGY, e as MAT_SELECT_SCROLL_STRATEGY_PROVIDER, b as MAT_SELECT_SCROLL_STRATEGY_PROVIDER_FACTORY, f as MAT_SELECT_TRIGGER, h as MatSelect, g as MatSelectChange, c as MatSelectConfig, M as MatSelectModule, i as MatSelectTrigger } from '../module.d-8839a0c2.js';
2
- export { a as MatOptgroup, M as MatOption } from '../option.d-4fb11594.js';
3
- export { M as MatLabel } from '../module.d-683b2a19.js';
4
- export { a as MatError, k as MatFormField, b as MatHint, d as MatPrefix, f as MatSuffix } from '../form-field.d-486f4e86.js';
1
+ export { MAT_SELECT_CONFIG, MAT_SELECT_SCROLL_STRATEGY, MAT_SELECT_SCROLL_STRATEGY_PROVIDER, MAT_SELECT_SCROLL_STRATEGY_PROVIDER_FACTORY, MAT_SELECT_TRIGGER, MatSelect, MatSelectChange, MatSelectConfig, MatSelectModule, MatSelectTrigger } from '../module.d-D0Yb5xFi.js';
2
+ export { MatOptgroup, MatOption } from '../option.d-ef4idHSb.js';
3
+ export { MatLabel } from '../module.d-_FxAFBZR.js';
4
+ export { MatError, MatFormField, MatHint, MatPrefix, MatSuffix } from '../form-field.d-DeaA8Upo.js';
5
5
  import '@angular/core';
6
6
  import '@angular/cdk/overlay';
7
- import '../index.d-73f24bb1.js';
8
- import '../index.d-511f9e6c.js';
9
- import '../common-module.d-421e3498.js';
7
+ import '../index.d-osnm7rw7.js';
8
+ import '../index.d-_XdEyDn3.js';
9
+ import '../common-module.d-CUT8AqiB.js';
10
10
  import '@angular/cdk/bidi';
11
- import '../ripple.d-305c30f3.js';
11
+ import '../ripple.d-DBFnJ3Aa.js';
12
12
  import '@angular/cdk/platform';
13
- import '../pseudo-checkbox-module.d-42351ab6.js';
13
+ import '../pseudo-checkbox-module.d-czRCRd5m.js';
14
14
  import '@angular/cdk/a11y';
15
15
  import '@angular/cdk/collections';
16
16
  import '@angular/cdk/scrolling';
17
17
  import '@angular/forms';
18
18
  import 'rxjs';
19
- import '../error-options.d-059d9639.js';
20
- import '../form-field-control.d-9ed49092.js';
19
+ import '../error-options.d-C1yXmo10.js';
20
+ import '../form-field-control.d-39fAGkWp.js';
21
21
  import '@angular/cdk/observers';
22
22
  import '@angular/cdk/coercion';
23
- import '../palette.d-1d8ebc0d.js';
23
+ import '../palette.d-fF1us9u8.js';
24
24
 
25
25
  /**
26
26
  * The following are all the animations for the mat-select component, with each
@@ -1,5 +1,64 @@
1
- export { M as MatSelectHarness, S as SelectHarnessFilters } from '../../select-harness.d-485a3cf8.js';
2
- import '@angular/cdk/testing';
3
- import '../../option-harness.d-4f143bc0.js';
4
- import '../../optgroup-harness.d-c52f5a8b.js';
5
- import '../../form-field-control-harness.d-e3cf007b.js';
1
+ import { BaseHarnessFilters, ComponentHarnessConstructor, HarnessPredicate } from '@angular/cdk/testing';
2
+ import { OptionHarnessFilters, MatOptionHarness } from '../../option-harness.d-BpYClwei.js';
3
+ import { OptgroupHarnessFilters, MatOptgroupHarness } from '../../core/testing/index.js';
4
+ import { MatFormFieldControlHarness } from '../../form-field/testing/control/index.js';
5
+
6
+ /** A set of criteria that can be used to filter a list of `MatSelectHarness` instances. */
7
+ interface SelectHarnessFilters extends BaseHarnessFilters {
8
+ /** Only find instances which match the given disabled state. */
9
+ disabled?: boolean;
10
+ }
11
+
12
+ /** Harness for interacting with a mat-select in tests. */
13
+ declare class MatSelectHarness extends MatFormFieldControlHarness {
14
+ static hostSelector: string;
15
+ private _prefix;
16
+ private _optionClass;
17
+ private _optionGroupClass;
18
+ private _documentRootLocator;
19
+ private _backdrop;
20
+ /**
21
+ * Gets a `HarnessPredicate` that can be used to search for a select with specific attributes.
22
+ * @param options Options for filtering which select instances are considered a match.
23
+ * @return a `HarnessPredicate` configured with the given options.
24
+ */
25
+ static with<T extends MatSelectHarness>(this: ComponentHarnessConstructor<T>, options?: SelectHarnessFilters): HarnessPredicate<T>;
26
+ /** Gets a boolean promise indicating if the select is disabled. */
27
+ isDisabled(): Promise<boolean>;
28
+ /** Gets a boolean promise indicating if the select is valid. */
29
+ isValid(): Promise<boolean>;
30
+ /** Gets a boolean promise indicating if the select is required. */
31
+ isRequired(): Promise<boolean>;
32
+ /** Gets a boolean promise indicating if the select is empty (no value is selected). */
33
+ isEmpty(): Promise<boolean>;
34
+ /** Gets a boolean promise indicating if the select is in multi-selection mode. */
35
+ isMultiple(): Promise<boolean>;
36
+ /** Gets a promise for the select's value text. */
37
+ getValueText(): Promise<string>;
38
+ /** Focuses the select and returns a void promise that indicates when the action is complete. */
39
+ focus(): Promise<void>;
40
+ /** Blurs the select and returns a void promise that indicates when the action is complete. */
41
+ blur(): Promise<void>;
42
+ /** Whether the select is focused. */
43
+ isFocused(): Promise<boolean>;
44
+ /** Gets the options inside the select panel. */
45
+ getOptions(filter?: Omit<OptionHarnessFilters, 'ancestor'>): Promise<MatOptionHarness[]>;
46
+ /** Gets the groups of options inside the panel. */
47
+ getOptionGroups(filter?: Omit<OptgroupHarnessFilters, 'ancestor'>): Promise<MatOptgroupHarness[]>;
48
+ /** Gets whether the select is open. */
49
+ isOpen(): Promise<boolean>;
50
+ /** Opens the select's panel. */
51
+ open(): Promise<void>;
52
+ /**
53
+ * Clicks the options that match the passed-in filter. If the select is in multi-selection
54
+ * mode all options will be clicked, otherwise the harness will pick the first matching option.
55
+ */
56
+ clickOptions(filter?: OptionHarnessFilters): Promise<void>;
57
+ /** Closes the select's panel. */
58
+ close(): Promise<void>;
59
+ /** Gets the selector that should be used to find this select's panel. */
60
+ private _getPanelSelector;
61
+ }
62
+
63
+ export { MatSelectHarness };
64
+ export type { SelectHarnessFilters };
@@ -37,7 +37,7 @@
37
37
 
38
38
  @mixin density($theme) {
39
39
  @if inspection.get-theme-version($theme) == 1 {
40
- @include _theme-from-tokens(inspection.get-theme-tokens($theme, density));
40
+ // There are no M3 density tokens for this component
41
41
  } @else {
42
42
  }
43
43
  }
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, AfterContentInit, AfterViewInit, OnDestroy, EventEmitter, ElementRef, DoCheck, QueryList } from '@angular/core';
3
- import { M as MatCommonModule } from '../common-module.d-421e3498.js';
2
+ import { InjectionToken, AfterContentInit, DoCheck, OnDestroy, QueryList, AfterViewInit, EventEmitter, ElementRef } from '@angular/core';
3
+ import { MatCommonModule } from '../common-module.d-CUT8AqiB.js';
4
4
  import * as i5 from '@angular/cdk/scrolling';
5
5
  import { CdkScrollable } from '@angular/cdk/scrolling';
6
6
  import { FocusOrigin } from '@angular/cdk/a11y';
@@ -1,4 +1,4 @@
1
- import { BaseHarnessFilters, HarnessPredicate, ContentContainerComponentHarness } from '@angular/cdk/testing';
1
+ import { BaseHarnessFilters, ContentContainerComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
2
2
 
3
3
  /** A set of criteria that can be used to filter a list of `MatDrawerHarness` instances. */
4
4
  interface DrawerHarnessFilters extends BaseHarnessFilters {
@@ -119,7 +119,7 @@
119
119
  /// @param {Map} $theme The theme to generate density styles for.
120
120
  @mixin density($theme) {
121
121
  @if inspection.get-theme-version($theme) == 1 {
122
- @include _theme-from-tokens(inspection.get-theme-tokens($theme, density));
122
+ // There are no M3 density tokens for this component
123
123
  } @else {
124
124
  @include sass-utils.current-selector-or-root() {
125
125
  // TODO: See if this can be removed
@@ -2,8 +2,8 @@ import * as i0 from '@angular/core';
2
2
  import { InjectionToken, OnDestroy, AfterContentInit, OnChanges, ChangeDetectorRef, ElementRef, EventEmitter, SimpleChanges } from '@angular/core';
3
3
  import { ControlValueAccessor, Validator, AbstractControl, ValidationErrors } from '@angular/forms';
4
4
  import { FocusMonitor } from '@angular/cdk/a11y';
5
- import { T as ThemePalette } from '../palette.d-1d8ebc0d.js';
6
- import { M as MatCommonModule } from '../common-module.d-421e3498.js';
5
+ import { ThemePalette } from '../palette.d-fF1us9u8.js';
6
+ import { MatCommonModule } from '../common-module.d-CUT8AqiB.js';
7
7
  import '@angular/cdk/bidi';
8
8
 
9
9
  /** Default `mat-slide-toggle` options that can be overridden. */
@@ -63,7 +63,7 @@
63
63
  /// @param {Map} $theme The theme to generate density styles for.
64
64
  @mixin density($theme) {
65
65
  @if inspection.get-theme-version($theme) == 1 {
66
- @include _theme-from-tokens(inspection.get-theme-tokens($theme, density));
66
+ // There are no M3 density tokens for this component
67
67
  } @else {
68
68
  @include sass-utils.current-selector-or-root() {
69
69
  @include token-utils.create-token-values-mixed(
package/slider/index.d.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  import { Directionality } from '@angular/cdk/bidi';
2
2
  import * as i0 from '@angular/core';
3
- import { ChangeDetectorRef, WritableSignal, AfterViewInit, OnDestroy, NgZone, ElementRef, QueryList, EventEmitter } from '@angular/core';
4
- import { T as ThemePalette } from '../palette.d-1d8ebc0d.js';
5
- import { b as RippleGlobalOptions, M as MatRipple } from '../ripple.d-305c30f3.js';
3
+ import { WritableSignal, ChangeDetectorRef, AfterViewInit, OnDestroy, NgZone, ElementRef, QueryList, EventEmitter } from '@angular/core';
4
+ import { ThemePalette } from '../palette.d-fF1us9u8.js';
5
+ import { MatRipple, RippleGlobalOptions } from '../ripple.d-DBFnJ3Aa.js';
6
6
  import { ControlValueAccessor } from '@angular/forms';
7
7
  import { Subject } from 'rxjs';
8
- import { M as MatCommonModule } from '../common-module.d-421e3498.js';
9
- import { M as MatRippleModule } from '../index.d-511f9e6c.js';
8
+ import { MatCommonModule } from '../common-module.d-CUT8AqiB.js';
9
+ import { MatRippleModule } from '../index.d-_XdEyDn3.js';
10
10
  import '@angular/cdk/platform';
11
11
 
12
12
  /**
@@ -5,15 +5,15 @@ import { AriaLivePoliteness } from '@angular/cdk/a11y';
5
5
  import * as i3 from '@angular/cdk/portal';
6
6
  import { BasePortalOutlet, CdkPortalOutlet, ComponentPortal, TemplatePortal, DomPortal } from '@angular/cdk/portal';
7
7
  import * as i0 from '@angular/core';
8
- import { InjectionToken, ViewContainerRef, OnDestroy, ElementRef, ComponentRef, EmbeddedViewRef, TemplateRef } from '@angular/core';
8
+ import { ViewContainerRef, InjectionToken, OnDestroy, ElementRef, ComponentRef, EmbeddedViewRef, TemplateRef } from '@angular/core';
9
9
  import { Direction } from '@angular/cdk/bidi';
10
- import { n as MatButtonModule } from '../module.d-9a1d1c76.js';
11
- import { M as MatCommonModule } from '../common-module.d-421e3498.js';
12
- import '../index.d-511f9e6c.js';
13
- import '../ripple.d-305c30f3.js';
10
+ import { MatButtonModule } from '../button/index.js';
11
+ import { MatCommonModule } from '../common-module.d-CUT8AqiB.js';
12
+ import '../palette.d-fF1us9u8.js';
13
+ import '../ripple-loader.d-DL-hT7NH.js';
14
+ import '../index.d-_XdEyDn3.js';
15
+ import '../ripple.d-DBFnJ3Aa.js';
14
16
  import '@angular/cdk/platform';
15
- import '../palette.d-1d8ebc0d.js';
16
- import '../ripple-loader.d-f51e5eb6.js';
17
17
 
18
18
  /** Injection token that can be used to access the data that was passed in to a snack bar. */
19
19
  declare const MAT_SNACK_BAR_DATA: InjectionToken<any>;
@@ -38,7 +38,7 @@
38
38
 
39
39
  @mixin density($theme) {
40
40
  @if inspection.get-theme-version($theme) == 1 {
41
- @include _theme-from-tokens(inspection.get-theme-tokens($theme, density));
41
+ // There are no M3 density tokens for this component
42
42
  } @else {
43
43
  @include sass-utils.current-selector-or-root() {
44
44
  @include token-utils.create-token-values-mixed(
package/sort/index.d.ts CHANGED
@@ -1,10 +1,9 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Optional, OnDestroy, OnInit, AfterViewInit } from '@angular/core';
3
- import { M as MatCommonModule } from '../common-module.d-421e3498.js';
4
- import { M as MatSortable, a as MatSort, S as SortHeaderArrowPosition } from '../sort.d-7718b3de.js';
5
- export { d as MAT_SORT_DEFAULT_OPTIONS, a as MatSort, c as MatSortDefaultOptions, M as MatSortable, b as Sort, S as SortHeaderArrowPosition } from '../sort.d-7718b3de.js';
6
- import { S as SortDirection } from '../sort-direction.d-52bce05e.js';
7
- export { S as SortDirection } from '../sort-direction.d-52bce05e.js';
3
+ import { MatCommonModule } from '../common-module.d-CUT8AqiB.js';
4
+ import { MatSortable, MatSort, SortHeaderArrowPosition } from '../sort.d-CHu7FXsP.js';
5
+ export { MAT_SORT_DEFAULT_OPTIONS, MatSortDefaultOptions, Sort } from '../sort.d-CHu7FXsP.js';
6
+ import { SortDirection } from '../sort-direction.d-Dlz8961P.js';
8
7
  import { Subject } from 'rxjs';
9
8
  import '@angular/cdk/bidi';
10
9
 
@@ -160,5 +159,5 @@ declare const matSortAnimations: {
160
159
  readonly allowChildren: any;
161
160
  };
162
161
 
163
- export { MAT_SORT_HEADER_INTL_PROVIDER, MAT_SORT_HEADER_INTL_PROVIDER_FACTORY, MatSortHeader, MatSortHeaderIntl, MatSortModule, matSortAnimations };
162
+ export { MAT_SORT_HEADER_INTL_PROVIDER, MAT_SORT_HEADER_INTL_PROVIDER_FACTORY, MatSort, MatSortHeader, MatSortHeaderIntl, MatSortModule, MatSortable, SortDirection, SortHeaderArrowPosition, matSortAnimations };
164
163
  export type { ArrowViewState, ArrowViewStateTransition };
@@ -1,5 +1,5 @@
1
1
  import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
2
- import { S as SortDirection } from '../../sort-direction.d-52bce05e.js';
2
+ import { SortDirection } from '../../sort-direction.d-Dlz8961P.js';
3
3
 
4
4
  interface SortHarnessFilters extends BaseHarnessFilters {
5
5
  }
@@ -1,3 +1,3 @@
1
1
  type SortDirection = 'asc' | 'desc' | '';
2
2
 
3
- export type { SortDirection as S };
3
+ export type { SortDirection };
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, OnChanges, OnDestroy, OnInit, EventEmitter } from '@angular/core';
2
+ import { OnChanges, OnDestroy, OnInit, EventEmitter, InjectionToken } from '@angular/core';
3
3
  import { Subject, Observable } from 'rxjs';
4
- import { S as SortDirection } from './sort-direction.d-52bce05e.js';
4
+ import { SortDirection } from './sort-direction.d-Dlz8961P.js';
5
5
 
6
6
  /** Position of the arrow that displays when sorted. */
7
7
  type SortHeaderArrowPosition = 'before' | 'after';
@@ -84,5 +84,5 @@ declare class MatSort implements OnChanges, OnDestroy, OnInit {
84
84
  static ngAcceptInputType_disabled: unknown;
85
85
  }
86
86
 
87
- export { MatSort as a, MAT_SORT_DEFAULT_OPTIONS as d };
88
- export type { MatSortable as M, SortHeaderArrowPosition as S, Sort as b, MatSortDefaultOptions as c };
87
+ export { MAT_SORT_DEFAULT_OPTIONS, MatSort };
88
+ export type { MatSortDefaultOptions, MatSortable, Sort, SortHeaderArrowPosition };
@@ -1,6 +1,9 @@
1
1
  @use 'sass:map';
2
+ @use 'sass:list';
2
3
  @use '../core/style/sass-utils';
3
4
  @use '../core/tokens/m3-utils';
5
+ @use '../core/theming/theming';
6
+ @use '../core/theming/inspection';
4
7
 
5
8
  // The prefix used to generate the fully qualified name for tokens in this file.
6
9
  $prefix: (mat, stepper);
@@ -77,3 +80,13 @@ $prefix: (mat, stepper);
77
80
 
78
81
  @return m3-utils.namespace($prefix, ($tokens, $variant-tokens), $token-slots);
79
82
  }
83
+
84
+ // Tokens that can be configured through Angular Material's density theming API.
85
+ @function get-density-tokens($theme) {
86
+ $scale: theming.clamp-density(inspection.get-theme-density($theme), -4);
87
+ $index: ($scale * -1) + 1;
88
+
89
+ @return (
90
+ header-height: list.nth((72px, 68px, 64px, 60px, 42px), $index),
91
+ );
92
+ }
@@ -5,6 +5,7 @@
5
5
  @use '../core/style/sass-utils';
6
6
  @use '../core/tokens/token-utils';
7
7
  @use './m2-stepper';
8
+ @use './m3-stepper';
8
9
 
9
10
  /// Outputs base theme styles (styles not dependent on the color, typography, or density settings)
10
11
  /// for mat-stepper.
@@ -67,7 +68,8 @@
67
68
  /// @param {Map} $theme The theme to generate density styles for.
68
69
  @mixin density($theme) {
69
70
  @if inspection.get-theme-version($theme) == 1 {
70
- @include _theme-from-tokens(inspection.get-theme-tokens($theme, density));
71
+ @include token-utils.create-token-values(
72
+ m3-stepper.$prefix, m3-stepper.get-density-tokens($theme));
71
73
  } @else {
72
74
  @include sass-utils.current-selector-or-root() {
73
75
  @include token-utils.create-token-values-mixed(
@@ -103,6 +105,9 @@
103
105
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-stepper') {
104
106
  @if inspection.get-theme-version($theme) == 1 {
105
107
  @include _theme-from-tokens(inspection.get-theme-tokens($theme), $options...);
108
+ @if inspection.theme-has($theme, density) {
109
+ @include density($theme);
110
+ }
106
111
  } @else {
107
112
  @include base($theme);
108
113
  @if inspection.theme-has($theme, color) {
@@ -3,18 +3,18 @@ import { CdkStepLabel, StepState, CdkStepHeader, CdkStep, CdkStepper, CdkStepper
3
3
  export { StepState, StepperOrientation } from '@angular/cdk/stepper';
4
4
  import * as i0 from '@angular/core';
5
5
  import { Optional, TemplateRef, AfterViewInit, OnDestroy, AfterContentInit, QueryList, ElementRef, EventEmitter } from '@angular/core';
6
- import { M as MatCommonModule } from '../common-module.d-421e3498.js';
6
+ import { MatCommonModule } from '../common-module.d-CUT8AqiB.js';
7
7
  import * as i3 from '@angular/cdk/portal';
8
8
  import { TemplatePortal } from '@angular/cdk/portal';
9
- import { M as MatIconModule } from '../icon-module.d-a4b3b1e1.js';
10
- import { M as MatRippleModule } from '../index.d-511f9e6c.js';
9
+ import { MatIconModule } from '../icon-module.d-BeibE7j0.js';
10
+ import { MatRippleModule } from '../index.d-_XdEyDn3.js';
11
11
  import { AbstractControl, FormGroupDirective, NgForm } from '@angular/forms';
12
- import { T as ThemePalette } from '../palette.d-1d8ebc0d.js';
13
- import { E as ErrorStateMatcher } from '../error-options.d-059d9639.js';
12
+ import { ThemePalette } from '../palette.d-fF1us9u8.js';
13
+ import { ErrorStateMatcher } from '../error-options.d-C1yXmo10.js';
14
14
  import { FocusOrigin } from '@angular/cdk/a11y';
15
15
  import { Subject } from 'rxjs';
16
16
  import '@angular/cdk/bidi';
17
- import '../ripple.d-305c30f3.js';
17
+ import '../ripple.d-DBFnJ3Aa.js';
18
18
  import '@angular/cdk/platform';
19
19
 
20
20
  declare class MatStepLabel extends CdkStepLabel {
@@ -1,6 +1,9 @@
1
1
  @use 'sass:map';
2
+ @use 'sass:list';
2
3
  @use '../core/style/sass-utils';
3
4
  @use '../core/tokens/m3-utils';
5
+ @use '../core/theming/theming';
6
+ @use '../core/theming/inspection';
4
7
 
5
8
  // The prefix used to generate the fully qualified name for tokens in this file.
6
9
  $prefix: (mat, table);
@@ -27,3 +30,15 @@ $prefix: (mat, table);
27
30
 
28
31
  @return m3-utils.namespace($prefix, $tokens, $token-slots);
29
32
  }
33
+
34
+ // Tokens that can be configured through Angular Material's density theming API.
35
+ @function get-density-tokens($theme) {
36
+ $scale: theming.clamp-density(inspection.get-theme-density($theme), -4);
37
+ $index: ($scale * -1) + 1;
38
+
39
+ @return (
40
+ header-container-height: list.nth((56px, 52px, 48px, 44px, 40px), $index),
41
+ footer-container-height: list.nth((52px, 48px, 44px, 40px, 36px), $index),
42
+ row-item-container-height: list.nth((52px, 48px, 44px, 40px, 36px), $index),
43
+ );
44
+ }
@@ -1,5 +1,6 @@
1
1
  @use 'sass:map';
2
2
  @use './m2-table';
3
+ @use './m3-table';
3
4
  @use '../core/theming/theming';
4
5
  @use '../core/theming/inspection';
5
6
  @use '../core/theming/validation';
@@ -42,7 +43,7 @@
42
43
 
43
44
  @mixin density($theme) {
44
45
  @if inspection.get-theme-version($theme) == 1 {
45
- @include _theme-from-tokens(inspection.get-theme-tokens($theme, density));
46
+ @include token-utils.create-token-values(m3-table.$prefix, m3-table.get-density-tokens($theme));
46
47
  } @else {
47
48
  @include sass-utils.current-selector-or-root() {
48
49
  @include token-utils.create-token-values-mixed(
@@ -69,6 +70,9 @@
69
70
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-table') {
70
71
  @if inspection.get-theme-version($theme) == 1 {
71
72
  @include _theme-from-tokens(inspection.get-theme-tokens($theme));
73
+ @if inspection.theme-has($theme, density) {
74
+ @include density($theme);
75
+ }
72
76
  } @else {
73
77
  @include base($theme);
74
78
  @if inspection.theme-has($theme, color) {
package/table/index.d.ts CHANGED
@@ -1,18 +1,18 @@
1
1
  import * as i2 from '@angular/cdk/table';
2
- import { CdkTable, CdkCellDef, CdkHeaderCellDef, CdkFooterCellDef, CdkColumnDef, CdkHeaderCell, CdkFooterCell, CdkCell, CdkHeaderRowDef, CdkFooterRowDef, CdkRowDef, CdkHeaderRow, CdkFooterRow, CdkRow, CdkNoDataRow, CdkTextColumn } from '@angular/cdk/table';
2
+ import { CdkTable, CdkHeaderCellDef, CdkColumnDef, CdkCellDef, CdkFooterCellDef, CdkHeaderCell, CdkCell, CdkFooterCell, CdkHeaderRowDef, CdkRowDef, CdkFooterRowDef, CdkHeaderRow, CdkRow, CdkFooterRow, CdkNoDataRow, CdkTextColumn } from '@angular/cdk/table';
3
3
  import * as i0 from '@angular/core';
4
- import { M as MatCommonModule } from '../common-module.d-421e3498.js';
4
+ import { MatCommonModule } from '../common-module.d-CUT8AqiB.js';
5
5
  import { Subscription, BehaviorSubject } from 'rxjs';
6
6
  import { DataSource } from '@angular/cdk/collections';
7
- import { M as MatPaginator } from '../paginator.d-181ff014.js';
8
- import { a as MatSort } from '../sort.d-7718b3de.js';
7
+ import { MatPaginator } from '../paginator.d-Ctdtnt7L.js';
8
+ import { MatSort } from '../sort.d-CHu7FXsP.js';
9
9
  import '@angular/cdk/bidi';
10
- import '../palette.d-1d8ebc0d.js';
11
- import '../form-field.d-486f4e86.js';
10
+ import '../palette.d-fF1us9u8.js';
11
+ import '../form-field.d-DeaA8Upo.js';
12
12
  import '@angular/cdk/coercion';
13
13
  import '@angular/forms';
14
- import '../form-field-control.d-9ed49092.js';
15
- import '../sort-direction.d-52bce05e.js';
14
+ import '../form-field-control.d-39fAGkWp.js';
15
+ import '../sort-direction.d-Dlz8961P.js';
16
16
 
17
17
  /**
18
18
  * Enables the recycle view repeater strategy, which reduces rendering latency. Not compatible with
@@ -1,4 +1,4 @@
1
- import { BaseHarnessFilters, ContentContainerComponentHarness, ComponentHarnessConstructor, HarnessPredicate, ComponentHarness } from '@angular/cdk/testing';
1
+ import { BaseHarnessFilters, ContentContainerComponentHarness, HarnessPredicate, ComponentHarnessConstructor, ComponentHarness } from '@angular/cdk/testing';
2
2
 
3
3
  /** A set of criteria that can be used to filter a list of cell harness instances. */
4
4
  interface CellHarnessFilters extends BaseHarnessFilters {
@@ -1,6 +1,9 @@
1
1
  @use '../core/tokens/m3-utils';
2
2
  @use '../core/style/sass-utils';
3
3
  @use 'sass:map';
4
+ @use 'sass:list';
5
+ @use '../core/theming/theming';
6
+ @use '../core/theming/inspection';
4
7
 
5
8
  // The prefix used to generate the fully qualified name for tokens in this file.
6
9
  $prefix: (mat, tab);
@@ -23,7 +26,6 @@ $prefix: (mat, tab);
23
26
  active-indicator-shape: m3-utils.hardcode(0, $exclude-hardcoded),
24
27
  active-label-text-color: map.get($systems, md-sys-color, on-surface),
25
28
  active-ripple-color: map.get($systems, md-sys-color, on-surface),
26
- container-height: if($exclude-hardcoded, null, 48px),
27
29
  divider-color: map.get($systems, md-sys-color, surface-variant),
28
30
  divider-height: m3-utils.hardcode(1px, $exclude-hardcoded),
29
31
  inactive-focus-label-text-color: map.get($systems, md-sys-color, on-surface),
@@ -56,3 +58,13 @@ $prefix: (mat, tab);
56
58
 
57
59
  @return m3-utils.namespace($prefix, ($tokens, $variant-tokens), $token-slots);
58
60
  }
61
+
62
+ // Tokens that can be configured through Angular Material's density theming API.
63
+ @function get-density-tokens($theme) {
64
+ $scale: theming.clamp-density(inspection.get-theme-density($theme), -4);
65
+ $index: ($scale * -1) + 1;
66
+
67
+ @return (
68
+ container-height: list.nth((48px, 44px, 40px, 36px, 32px), $index),
69
+ );
70
+ }
@@ -1,5 +1,6 @@
1
1
  @use '../core/style/sass-utils';
2
2
  @use './m2-tabs';
3
+ @use './m3-tabs';
3
4
  @use '../core/theming/theming';
4
5
  @use '../core/theming/inspection';
5
6
  @use '../core/theming/validation';
@@ -95,7 +96,7 @@
95
96
  /// @param {Map} $theme The theme to generate density styles for.
96
97
  @mixin density($theme) {
97
98
  @if inspection.get-theme-version($theme) == 1 {
98
- @include _theme-from-tokens(inspection.get-theme-tokens($theme, density));
99
+ @include token-utils.create-token-values(m3-tabs.$prefix, m3-tabs.get-density-tokens($theme));
99
100
  } @else {
100
101
  .mat-mdc-tab-header {
101
102
  @include token-utils.create-token-values-mixed(
@@ -129,6 +130,9 @@
129
130
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-tabs') {
130
131
  @if inspection.get-theme-version($theme) == 1 {
131
132
  @include _theme-from-tokens(inspection.get-theme-tokens($theme), $options...);
133
+ @if inspection.theme-has($theme, density) {
134
+ @include density($theme);
135
+ }
132
136
  } @else {
133
137
  @include base($theme);
134
138
  @if inspection.theme-has($theme, color) {
package/tabs/index.d.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, TemplateRef, OnInit, OnChanges, OnDestroy, SimpleChanges, QueryList, ElementRef, AfterContentChecked, AfterContentInit, AfterViewInit, ChangeDetectorRef, EventEmitter } from '@angular/core';
3
- import { M as MatCommonModule } from '../common-module.d-421e3498.js';
2
+ import { TemplateRef, InjectionToken, OnInit, OnChanges, OnDestroy, SimpleChanges, QueryList, ElementRef, AfterContentChecked, AfterContentInit, AfterViewInit, ChangeDetectorRef, EventEmitter } from '@angular/core';
3
+ import { MatCommonModule } from '../common-module.d-CUT8AqiB.js';
4
4
  import { CdkPortal, TemplatePortal, CdkPortalOutlet } from '@angular/cdk/portal';
5
5
  import { Subject, BehaviorSubject } from 'rxjs';
6
6
  import { FocusableOption, FocusOrigin } from '@angular/cdk/a11y';
7
7
  import { Direction } from '@angular/cdk/bidi';
8
- import { T as ThemePalette } from '../palette.d-1d8ebc0d.js';
9
- import { a as RippleTarget, f as RippleConfig, b as RippleGlobalOptions } from '../ripple.d-305c30f3.js';
8
+ import { ThemePalette } from '../palette.d-fF1us9u8.js';
9
+ import { RippleTarget, RippleConfig, RippleGlobalOptions } from '../ripple.d-DBFnJ3Aa.js';
10
10
  import '@angular/cdk/platform';
11
11
 
12
12
  /**
@@ -60,7 +60,7 @@
60
60
  /// @param {Map} $theme The theme to generate density styles for.
61
61
  @mixin density($theme) {
62
62
  @if inspection.get-theme-version($theme) == 1 {
63
- @include _theme-from-tokens(inspection.get-theme-tokens($theme, density));
63
+ // There are no M3 density tokens for this component
64
64
  } @else {
65
65
  @include sass-utils.current-selector-or-root() {
66
66
  @include token-utils.create-token-values-mixed(
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { OnDestroy, Signal, ModelSignal, InputSignal, InputSignalWithTransform, ElementRef, InjectionToken, TemplateRef, OutputEmitterRef } from '@angular/core';
3
- import { M as MatOption } from '../option.d-4fb11594.js';
4
- import { M as MatOptionParentComponent } from '../option-parent.d-d4243d2f.js';
3
+ import { MatOption } from '../option.d-ef4idHSb.js';
4
+ import { MatOptionParentComponent } from '../option-parent.d-CvnRKBST.js';
5
5
  import { ScrollStrategy } from '@angular/cdk/overlay';
6
6
  import { ControlValueAccessor, Validator, AbstractControl, ValidationErrors } from '@angular/forms';
7
7
  import * as i5 from '@angular/cdk/scrolling';
@@ -1,5 +1,5 @@
1
1
  import { BaseHarnessFilters, ComponentHarness, ComponentHarnessConstructor, HarnessPredicate } from '@angular/cdk/testing';
2
- import { O as OptionHarnessFilters, M as MatOptionHarness } from '../../option-harness.d-4f143bc0.js';
2
+ import { OptionHarnessFilters, MatOptionHarness } from '../../option-harness.d-BpYClwei.js';
3
3
 
4
4
  /** A set of criteria that can be used to filter a list of `MatTimepickerHarness` instances. */
5
5
  interface TimepickerHarnessFilters extends BaseHarnessFilters {