@angular/material 18.1.1 → 18.1.3

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 (508) hide show
  1. package/button/_button-base.scss +5 -11
  2. package/checkbox/_checkbox-common.scss +9 -11
  3. package/chips/index.d.ts +3 -8
  4. package/core/_core.scss +15 -18
  5. package/core/m2/_typography.scss +129 -2
  6. package/core/ripple/_ripple.scss +1 -1
  7. package/core/style/_elevation.scss +116 -27
  8. package/core/theming/_definition.scss +2 -0
  9. package/core/tokens/_m3-tokens.scss +17 -15
  10. package/core/tokens/_token-definition.scss +266 -0
  11. package/core/tokens/_token-utils.scss +7 -202
  12. package/core/tokens/m2/mat/_app.scss +4 -4
  13. package/core/tokens/m2/mat/_autocomplete.scss +4 -4
  14. package/core/tokens/m2/mat/_badge.scss +4 -4
  15. package/core/tokens/m2/mat/_bottom-sheet.scss +4 -4
  16. package/core/tokens/m2/mat/_card.scss +4 -4
  17. package/core/tokens/m2/mat/_checkbox.scss +4 -4
  18. package/core/tokens/m2/mat/_chip.scss +4 -4
  19. package/core/tokens/m2/mat/_datepicker.scss +4 -4
  20. package/core/tokens/m2/mat/_dialog.scss +4 -4
  21. package/core/tokens/m2/mat/_divider.scss +4 -4
  22. package/core/tokens/m2/mat/_expansion.scss +4 -4
  23. package/core/tokens/m2/mat/_fab-small.scss +7 -7
  24. package/core/tokens/m2/mat/_fab.scss +7 -7
  25. package/core/tokens/m2/mat/_filled-button.scss +7 -7
  26. package/core/tokens/m2/mat/_form-field.scss +4 -6
  27. package/core/tokens/m2/mat/_full-pseudo-checkbox.scss +4 -4
  28. package/core/tokens/m2/mat/_grid-list.scss +4 -4
  29. package/core/tokens/m2/mat/_icon-button.scss +4 -4
  30. package/core/tokens/m2/mat/_icon.scss +4 -4
  31. package/core/tokens/m2/mat/_legacy-button-toggle.scss +4 -4
  32. package/core/tokens/m2/mat/_list.scss +4 -4
  33. package/core/tokens/m2/mat/_menu.scss +4 -4
  34. package/core/tokens/m2/mat/_minimal-pseudo-checkbox.scss +4 -4
  35. package/core/tokens/m2/mat/_optgroup.scss +4 -4
  36. package/core/tokens/m2/mat/_option.scss +4 -4
  37. package/core/tokens/m2/mat/_outlined-button.scss +4 -4
  38. package/core/tokens/m2/mat/_paginator.scss +4 -4
  39. package/core/tokens/m2/mat/_protected-button.scss +7 -7
  40. package/core/tokens/m2/mat/_radio.scss +4 -4
  41. package/core/tokens/m2/mat/_ripple.scss +4 -4
  42. package/core/tokens/m2/mat/_select.scss +7 -7
  43. package/core/tokens/m2/mat/_sidenav.scss +4 -4
  44. package/core/tokens/m2/mat/_slider.scss +4 -4
  45. package/core/tokens/m2/mat/_snack-bar.scss +4 -4
  46. package/core/tokens/m2/mat/_sort.scss +4 -4
  47. package/core/tokens/m2/mat/_standard-button-toggle.scss +4 -4
  48. package/core/tokens/m2/mat/_stepper.scss +4 -4
  49. package/core/tokens/m2/mat/_switch.scss +4 -4
  50. package/core/tokens/m2/mat/_tab-header-with-background.scss +4 -4
  51. package/core/tokens/m2/mat/_tab-header.scss +4 -4
  52. package/core/tokens/m2/mat/_table.scss +4 -4
  53. package/core/tokens/m2/mat/_text-button.scss +4 -4
  54. package/core/tokens/m2/mat/_toolbar.scss +4 -4
  55. package/core/tokens/m2/mat/_tree.scss +4 -4
  56. package/core/tokens/m2/mdc/_checkbox.scss +6 -7
  57. package/core/tokens/m2/mdc/_chip.scss +4 -4
  58. package/core/tokens/m2/mdc/_circular-progress.scss +4 -4
  59. package/core/tokens/m2/mdc/_dialog.scss +5 -5
  60. package/core/tokens/m2/mdc/_elevated-card.scss +4 -4
  61. package/core/tokens/m2/mdc/_extended-fab.scss +4 -4
  62. package/core/tokens/m2/mdc/_fab-small.scss +4 -4
  63. package/core/tokens/m2/mdc/_fab.scss +4 -4
  64. package/core/tokens/m2/mdc/_filled-button.scss +6 -7
  65. package/core/tokens/m2/mdc/_filled-text-field.scss +7 -7
  66. package/core/tokens/m2/mdc/_icon-button.scss +4 -4
  67. package/core/tokens/m2/mdc/_linear-progress.scss +4 -4
  68. package/core/tokens/m2/mdc/_list.scss +4 -4
  69. package/core/tokens/m2/mdc/_outlined-button.scss +5 -5
  70. package/core/tokens/m2/mdc/_outlined-card.scss +4 -4
  71. package/core/tokens/m2/mdc/_outlined-text-field.scss +7 -7
  72. package/core/tokens/m2/mdc/_plain-tooltip.scss +4 -4
  73. package/core/tokens/m2/mdc/_protected-button.scss +6 -7
  74. package/core/tokens/m2/mdc/_radio.scss +4 -4
  75. package/core/tokens/m2/mdc/_secondary-navigation-tab.scss +4 -4
  76. package/core/tokens/m2/mdc/_slider.scss +4 -4
  77. package/core/tokens/m2/mdc/_snack-bar.scss +4 -4
  78. package/core/tokens/m2/mdc/_switch.scss +4 -4
  79. package/core/tokens/m2/mdc/_tab-indicator.scss +4 -4
  80. package/core/tokens/m2/mdc/_text-button.scss +4 -4
  81. package/core/tokens/m3/definitions/_index.scss +94 -0
  82. package/core/tokens/m3/definitions/_md-comp-checkbox.scss +120 -0
  83. package/core/tokens/m3/definitions/_md-comp-circular-progress-indicator.scss +27 -0
  84. package/core/tokens/m3/definitions/_md-comp-data-table.scss +90 -0
  85. package/core/tokens/m3/definitions/_md-comp-dialog.scss +123 -0
  86. package/core/tokens/m3/definitions/_md-comp-elevated-button.scss +87 -0
  87. package/core/tokens/m3/definitions/_md-comp-elevated-card.scss +53 -0
  88. package/core/tokens/m3/definitions/_md-comp-extended-fab-primary.scss +90 -0
  89. package/core/tokens/m3/definitions/_md-comp-extended-fab-secondary.scss +91 -0
  90. package/core/tokens/m3/definitions/_md-comp-extended-fab-tertiary.scss +91 -0
  91. package/core/tokens/m3/definitions/_md-comp-fab-primary-small.scss +59 -0
  92. package/core/tokens/m3/definitions/_md-comp-fab-primary.scss +59 -0
  93. package/core/tokens/m3/definitions/_md-comp-fab-secondary-small.scss +60 -0
  94. package/core/tokens/m3/definitions/_md-comp-fab-secondary.scss +60 -0
  95. package/core/tokens/m3/definitions/_md-comp-fab-tertiary-small.scss +60 -0
  96. package/core/tokens/m3/definitions/_md-comp-fab-tertiary.scss +60 -0
  97. package/core/tokens/m3/definitions/_md-comp-filled-button.scss +85 -0
  98. package/core/tokens/m3/definitions/_md-comp-filled-card.scss +52 -0
  99. package/core/tokens/m3/definitions/_md-comp-filled-icon-button.scss +73 -0
  100. package/core/tokens/m3/definitions/_md-comp-filled-text-field.scss +189 -0
  101. package/core/tokens/m3/definitions/_md-comp-icon-button.scss +64 -0
  102. package/core/tokens/m3/definitions/_md-comp-linear-progress-indicator.scss +29 -0
  103. package/core/tokens/m3/definitions/_md-comp-list.scss +252 -0
  104. package/core/tokens/m3/definitions/_md-comp-outlined-button.scss +80 -0
  105. package/core/tokens/m3/definitions/_md-comp-outlined-card.scss +59 -0
  106. package/core/tokens/m3/definitions/_md-comp-outlined-icon-button.scss +73 -0
  107. package/core/tokens/m3/definitions/_md-comp-outlined-text-field.scss +171 -0
  108. package/core/tokens/m3/definitions/_md-comp-plain-tooltip.scss +51 -0
  109. package/core/tokens/m3/definitions/_md-comp-radio-button.scss +62 -0
  110. package/core/tokens/m3/definitions/_md-comp-secondary-navigation-tab.scss +80 -0
  111. package/core/tokens/m3/definitions/_md-comp-slider.scss +110 -0
  112. package/core/tokens/m3/definitions/_md-comp-snackbar.scss +125 -0
  113. package/core/tokens/m3/definitions/_md-comp-switch.scss +130 -0
  114. package/core/tokens/m3/definitions/_md-comp-text-button.scss +73 -0
  115. package/core/tokens/m3/definitions/_md-ref-palette.scss +100 -0
  116. package/core/tokens/m3/definitions/_md-ref-typeface.scss +14 -0
  117. package/core/tokens/m3/definitions/_md-sys-color.scss +126 -0
  118. package/core/tokens/m3/definitions/_md-sys-elevation.scss +15 -0
  119. package/core/tokens/m3/definitions/_md-sys-motion.scss +46 -0
  120. package/core/tokens/m3/definitions/_md-sys-shape.scss +24 -0
  121. package/core/tokens/m3/definitions/_md-sys-state.scss +13 -0
  122. package/core/tokens/m3/definitions/_md-sys-typescale.scss +308 -0
  123. package/core/tokens/m3/definitions/unused/_md-comp-assist-chip.scss +105 -0
  124. package/core/tokens/m3/definitions/unused/_md-comp-badge.scss +54 -0
  125. package/core/tokens/m3/definitions/unused/_md-comp-banner.scss +71 -0
  126. package/core/tokens/m3/definitions/unused/_md-comp-bottom-app-bar.scss +29 -0
  127. package/core/tokens/m3/definitions/unused/_md-comp-carousel-item.scss +59 -0
  128. package/core/tokens/m3/definitions/unused/_md-comp-date-input-modal.scss +87 -0
  129. package/core/tokens/m3/definitions/unused/_md-comp-date-picker-docked.scss +248 -0
  130. package/core/tokens/m3/definitions/unused/_md-comp-date-picker-modal.scss +313 -0
  131. package/core/tokens/m3/definitions/unused/_md-comp-divider.scss +19 -0
  132. package/core/tokens/m3/definitions/unused/_md-comp-extended-fab-branded.scss +82 -0
  133. package/core/tokens/m3/definitions/unused/_md-comp-extended-fab-surface.scss +86 -0
  134. package/core/tokens/m3/definitions/unused/_md-comp-fab-branded-large.scss +54 -0
  135. package/core/tokens/m3/definitions/unused/_md-comp-fab-branded.scss +54 -0
  136. package/core/tokens/m3/definitions/unused/_md-comp-fab-primary-large.scss +59 -0
  137. package/core/tokens/m3/definitions/unused/_md-comp-fab-secondary-large.scss +60 -0
  138. package/core/tokens/m3/definitions/unused/_md-comp-fab-surface-large.scss +58 -0
  139. package/core/tokens/m3/definitions/unused/_md-comp-fab-surface-small.scss +58 -0
  140. package/core/tokens/m3/definitions/unused/_md-comp-fab-surface.scss +58 -0
  141. package/core/tokens/m3/definitions/unused/_md-comp-fab-tertiary-large.scss +60 -0
  142. package/core/tokens/m3/definitions/unused/_md-comp-filled-autocomplete.scss +269 -0
  143. package/core/tokens/m3/definitions/unused/_md-comp-filled-menu-button.scss +94 -0
  144. package/core/tokens/m3/definitions/unused/_md-comp-filled-select.scss +274 -0
  145. package/core/tokens/m3/definitions/unused/_md-comp-filled-tonal-button.scss +95 -0
  146. package/core/tokens/m3/definitions/unused/_md-comp-filled-tonal-icon-button.scss +80 -0
  147. package/core/tokens/m3/definitions/unused/_md-comp-filter-chip.scss +205 -0
  148. package/core/tokens/m3/definitions/unused/_md-comp-full-screen-dialog.scss +109 -0
  149. package/core/tokens/m3/definitions/unused/_md-comp-input-chip.scss +180 -0
  150. package/core/tokens/m3/definitions/unused/_md-comp-menu.scss +31 -0
  151. package/core/tokens/m3/definitions/unused/_md-comp-navigation-bar.scss +110 -0
  152. package/core/tokens/m3/definitions/unused/_md-comp-navigation-drawer.scss +162 -0
  153. package/core/tokens/m3/definitions/unused/_md-comp-navigation-rail.scss +127 -0
  154. package/core/tokens/m3/definitions/unused/_md-comp-outlined-autocomplete.scss +259 -0
  155. package/core/tokens/m3/definitions/unused/_md-comp-outlined-menu-button.scss +90 -0
  156. package/core/tokens/m3/definitions/unused/_md-comp-outlined-segmented-button.scss +108 -0
  157. package/core/tokens/m3/definitions/unused/_md-comp-outlined-select.scss +264 -0
  158. package/core/tokens/m3/definitions/unused/_md-comp-primary-navigation-tab.scss +117 -0
  159. package/core/tokens/m3/definitions/unused/_md-comp-rich-tooltip.scss +121 -0
  160. package/core/tokens/m3/definitions/unused/_md-comp-scrim.scss +19 -0
  161. package/core/tokens/m3/definitions/unused/_md-comp-search-bar.scss +97 -0
  162. package/core/tokens/m3/definitions/unused/_md-comp-search-view.scss +91 -0
  163. package/core/tokens/m3/definitions/unused/_md-comp-sheet-bottom.scss +39 -0
  164. package/core/tokens/m3/definitions/unused/_md-comp-sheet-floating.scss +28 -0
  165. package/core/tokens/m3/definitions/unused/_md-comp-sheet-side.scss +87 -0
  166. package/core/tokens/m3/definitions/unused/_md-comp-standard-menu-button.scss +94 -0
  167. package/core/tokens/m3/definitions/unused/_md-comp-suggestion-chip.scss +121 -0
  168. package/core/tokens/m3/definitions/unused/_md-comp-time-input.scss +222 -0
  169. package/core/tokens/m3/definitions/unused/_md-comp-time-picker.scss +268 -0
  170. package/core/tokens/m3/definitions/unused/_md-comp-top-app-bar-large.scss +59 -0
  171. package/core/tokens/m3/definitions/unused/_md-comp-top-app-bar-medium.scss +59 -0
  172. package/core/tokens/m3/definitions/unused/_md-comp-top-app-bar-small-centered.scss +62 -0
  173. package/core/tokens/m3/definitions/unused/_md-comp-top-app-bar-small.scss +60 -0
  174. package/core/tokens/m3/mat/_app.scss +2 -2
  175. package/core/tokens/m3/mat/_autocomplete.scss +3 -4
  176. package/core/tokens/m3/mat/_badge.scss +18 -18
  177. package/core/tokens/m3/mat/_bottom-sheet.scss +4 -4
  178. package/core/tokens/m3/mat/_card.scss +4 -4
  179. package/core/tokens/m3/mat/_checkbox.scss +2 -2
  180. package/core/tokens/m3/mat/_chip.scss +5 -5
  181. package/core/tokens/m3/mat/_datepicker.scss +7 -7
  182. package/core/tokens/m3/mat/_dialog.scss +12 -11
  183. package/core/tokens/m3/mat/_divider.scss +3 -3
  184. package/core/tokens/m3/mat/_expansion.scss +7 -7
  185. package/core/tokens/m3/mat/_fab-small.scss +2 -2
  186. package/core/tokens/m3/mat/_fab.scss +2 -2
  187. package/core/tokens/m3/mat/_filled-button.scss +5 -5
  188. package/core/tokens/m3/mat/_form-field.scss +5 -5
  189. package/core/tokens/m3/mat/_full-pseudo-checkbox.scss +2 -2
  190. package/core/tokens/m3/mat/_grid-list.scss +2 -2
  191. package/core/tokens/m3/mat/_icon-button.scss +2 -2
  192. package/core/tokens/m3/mat/_icon.scss +3 -3
  193. package/core/tokens/m3/mat/_list.scss +2 -2
  194. package/core/tokens/m3/mat/_menu.scss +12 -12
  195. package/core/tokens/m3/mat/_minimal-pseudo-checkbox.scss +2 -2
  196. package/core/tokens/m3/mat/_optgroup.scss +3 -3
  197. package/core/tokens/m3/mat/_option.scss +2 -2
  198. package/core/tokens/m3/mat/_outlined-button.scss +5 -5
  199. package/core/tokens/m3/mat/_paginator.scss +3 -3
  200. package/core/tokens/m3/mat/_protected-button.scss +5 -5
  201. package/core/tokens/m3/mat/_radio.scss +2 -2
  202. package/core/tokens/m3/mat/_ripple.scss +2 -2
  203. package/core/tokens/m3/mat/_select.scss +4 -4
  204. package/core/tokens/m3/mat/_sidenav.scss +6 -5
  205. package/core/tokens/m3/mat/_slider.scss +12 -10
  206. package/core/tokens/m3/mat/_snack-bar.scss +2 -2
  207. package/core/tokens/m3/mat/_sort.scss +2 -2
  208. package/core/tokens/m3/mat/_standard-button-toggle.scss +6 -5
  209. package/core/tokens/m3/mat/_stepper.scss +3 -3
  210. package/core/tokens/m3/mat/_switch.scss +27 -22
  211. package/core/tokens/m3/mat/_tab-header.scss +4 -4
  212. package/core/tokens/m3/mat/_table.scss +7 -6
  213. package/core/tokens/m3/mat/_text-button.scss +6 -6
  214. package/core/tokens/m3/mat/_toolbar.scss +3 -3
  215. package/core/tokens/m3/mat/_tree.scss +2 -2
  216. package/core/tokens/m3/mdc/_checkbox.scss +10 -8
  217. package/core/tokens/m3/mdc/_chip.scss +12 -11
  218. package/core/tokens/m3/mdc/_circular-progress.scss +5 -4
  219. package/core/tokens/m3/mdc/_dialog.scss +4 -4
  220. package/core/tokens/m3/mdc/_elevated-card.scss +3 -3
  221. package/core/tokens/m3/mdc/_extended-fab.scss +9 -5
  222. package/core/tokens/m3/mdc/_fab-small.scss +8 -5
  223. package/core/tokens/m3/mdc/_fab.scss +6 -5
  224. package/core/tokens/m3/mdc/_filled-button.scss +6 -6
  225. package/core/tokens/m3/mdc/_filled-text-field.scss +7 -6
  226. package/core/tokens/m3/mdc/_icon-button.scss +10 -8
  227. package/core/tokens/m3/mdc/_linear-progress.scss +5 -4
  228. package/core/tokens/m3/mdc/_list.scss +3 -3
  229. package/core/tokens/m3/mdc/_outlined-button.scss +7 -6
  230. package/core/tokens/m3/mdc/_outlined-card.scss +3 -3
  231. package/core/tokens/m3/mdc/_outlined-text-field.scss +7 -6
  232. package/core/tokens/m3/mdc/_plain-tooltip.scss +3 -3
  233. package/core/tokens/m3/mdc/_protected-button.scss +6 -6
  234. package/core/tokens/m3/mdc/_radio.scss +4 -3
  235. package/core/tokens/m3/mdc/_secondary-navigation-tab.scss +4 -3
  236. package/core/tokens/m3/mdc/_slider.scss +4 -3
  237. package/core/tokens/m3/mdc/_snack-bar.scss +3 -3
  238. package/core/tokens/m3/mdc/_switch.scss +4 -3
  239. package/core/tokens/m3/mdc/_tab-indicator.scss +5 -4
  240. package/core/tokens/m3/mdc/_text-button.scss +6 -6
  241. package/esm2022/autocomplete/animations.mjs +1 -2
  242. package/esm2022/autocomplete/autocomplete-origin.mjs +4 -4
  243. package/esm2022/autocomplete/autocomplete-trigger.mjs +4 -4
  244. package/esm2022/autocomplete/autocomplete.mjs +4 -4
  245. package/esm2022/autocomplete/module.mjs +5 -5
  246. package/esm2022/badge/badge-module.mjs +5 -5
  247. package/esm2022/badge/badge.mjs +7 -7
  248. package/esm2022/bottom-sheet/bottom-sheet-container.mjs +4 -4
  249. package/esm2022/bottom-sheet/bottom-sheet-module.mjs +5 -5
  250. package/esm2022/bottom-sheet/bottom-sheet.mjs +4 -4
  251. package/esm2022/button/button-base.mjs +7 -7
  252. package/esm2022/button/button.mjs +7 -7
  253. package/esm2022/button/fab.mjs +13 -13
  254. package/esm2022/button/icon-button.mjs +7 -7
  255. package/esm2022/button/module.mjs +5 -5
  256. package/esm2022/button-toggle/button-toggle-module.mjs +5 -5
  257. package/esm2022/button-toggle/button-toggle.mjs +8 -8
  258. package/esm2022/card/card.mjs +43 -43
  259. package/esm2022/card/module.mjs +5 -5
  260. package/esm2022/checkbox/checkbox-required-validator.mjs +4 -4
  261. package/esm2022/checkbox/checkbox.mjs +4 -4
  262. package/esm2022/checkbox/module.mjs +9 -9
  263. package/esm2022/chips/chip-action.mjs +4 -4
  264. package/esm2022/chips/chip-edit-input.mjs +4 -4
  265. package/esm2022/chips/chip-grid.mjs +4 -4
  266. package/esm2022/chips/chip-icons.mjs +10 -10
  267. package/esm2022/chips/chip-input.mjs +4 -4
  268. package/esm2022/chips/chip-listbox.mjs +4 -4
  269. package/esm2022/chips/chip-option.mjs +6 -6
  270. package/esm2022/chips/chip-row.mjs +7 -7
  271. package/esm2022/chips/chip-set.mjs +4 -4
  272. package/esm2022/chips/chip.mjs +6 -27
  273. package/esm2022/chips/module.mjs +5 -5
  274. package/esm2022/core/common-behaviors/common-module.mjs +5 -5
  275. package/esm2022/core/datetime/index.mjs +9 -9
  276. package/esm2022/core/datetime/native-date-adapter.mjs +4 -4
  277. package/esm2022/core/error/error-options.mjs +7 -7
  278. package/esm2022/core/internal-form-field/internal-form-field.mjs +4 -4
  279. package/esm2022/core/line/line.mjs +8 -8
  280. package/esm2022/core/option/index.mjs +5 -5
  281. package/esm2022/core/option/optgroup.mjs +4 -4
  282. package/esm2022/core/option/option.mjs +4 -4
  283. package/esm2022/core/private/ripple-loader.mjs +4 -4
  284. package/esm2022/core/ripple/index.mjs +5 -5
  285. package/esm2022/core/ripple/ripple.mjs +4 -4
  286. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +5 -5
  287. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +4 -4
  288. package/esm2022/core/version.mjs +1 -1
  289. package/esm2022/datepicker/calendar-body.mjs +4 -4
  290. package/esm2022/datepicker/calendar.mjs +7 -7
  291. package/esm2022/datepicker/date-range-input-parts.mjs +10 -10
  292. package/esm2022/datepicker/date-range-input.mjs +4 -4
  293. package/esm2022/datepicker/date-range-picker.mjs +4 -4
  294. package/esm2022/datepicker/date-range-selection-strategy.mjs +4 -4
  295. package/esm2022/datepicker/date-selection-model.mjs +10 -10
  296. package/esm2022/datepicker/datepicker-actions.mjs +10 -10
  297. package/esm2022/datepicker/datepicker-base.mjs +7 -7
  298. package/esm2022/datepicker/datepicker-input-base.mjs +4 -4
  299. package/esm2022/datepicker/datepicker-input.mjs +4 -4
  300. package/esm2022/datepicker/datepicker-intl.mjs +4 -4
  301. package/esm2022/datepicker/datepicker-module.mjs +5 -5
  302. package/esm2022/datepicker/datepicker-toggle.mjs +7 -7
  303. package/esm2022/datepicker/datepicker.mjs +4 -4
  304. package/esm2022/datepicker/month-view.mjs +4 -4
  305. package/esm2022/datepicker/multi-year-view.mjs +4 -4
  306. package/esm2022/datepicker/year-view.mjs +4 -4
  307. package/esm2022/dialog/dialog-container.mjs +5 -8
  308. package/esm2022/dialog/dialog-content-directives.mjs +16 -16
  309. package/esm2022/dialog/dialog.mjs +4 -4
  310. package/esm2022/dialog/module.mjs +5 -5
  311. package/esm2022/divider/divider-module.mjs +5 -5
  312. package/esm2022/divider/divider.mjs +4 -4
  313. package/esm2022/expansion/accordion.mjs +4 -4
  314. package/esm2022/expansion/expansion-module.mjs +5 -5
  315. package/esm2022/expansion/expansion-panel-content.mjs +4 -4
  316. package/esm2022/expansion/expansion-panel-header.mjs +10 -10
  317. package/esm2022/expansion/expansion-panel.mjs +7 -7
  318. package/esm2022/form-field/directives/error.mjs +4 -4
  319. package/esm2022/form-field/directives/floating-label.mjs +4 -4
  320. package/esm2022/form-field/directives/hint.mjs +4 -4
  321. package/esm2022/form-field/directives/label.mjs +4 -4
  322. package/esm2022/form-field/directives/line-ripple.mjs +4 -4
  323. package/esm2022/form-field/directives/notched-outline.mjs +4 -4
  324. package/esm2022/form-field/directives/prefix.mjs +4 -4
  325. package/esm2022/form-field/directives/suffix.mjs +4 -4
  326. package/esm2022/form-field/form-field-control.mjs +4 -4
  327. package/esm2022/form-field/form-field.mjs +7 -4
  328. package/esm2022/form-field/module.mjs +5 -5
  329. package/esm2022/grid-list/grid-list-module.mjs +5 -5
  330. package/esm2022/grid-list/grid-list.mjs +4 -4
  331. package/esm2022/grid-list/grid-tile.mjs +16 -16
  332. package/esm2022/icon/icon-module.mjs +5 -5
  333. package/esm2022/icon/icon-registry.mjs +4 -4
  334. package/esm2022/icon/icon.mjs +4 -4
  335. package/esm2022/icon/testing/fake-icon-registry.mjs +8 -8
  336. package/esm2022/input/input.mjs +39 -6
  337. package/esm2022/input/module.mjs +5 -5
  338. package/esm2022/list/action-list.mjs +4 -4
  339. package/esm2022/list/list-base.mjs +7 -7
  340. package/esm2022/list/list-item-sections.mjs +19 -19
  341. package/esm2022/list/list-module.mjs +5 -5
  342. package/esm2022/list/list-option.mjs +4 -4
  343. package/esm2022/list/list.mjs +7 -7
  344. package/esm2022/list/nav-list.mjs +4 -4
  345. package/esm2022/list/selection-list.mjs +4 -4
  346. package/esm2022/list/subheader.mjs +4 -4
  347. package/esm2022/list/testing/selection-list-harness.mjs +2 -2
  348. package/esm2022/menu/menu-content.mjs +4 -4
  349. package/esm2022/menu/menu-item.mjs +4 -4
  350. package/esm2022/menu/menu-trigger.mjs +4 -4
  351. package/esm2022/menu/menu.mjs +4 -4
  352. package/esm2022/menu/module.mjs +5 -5
  353. package/esm2022/paginator/module.mjs +5 -5
  354. package/esm2022/paginator/paginator-intl.mjs +4 -4
  355. package/esm2022/paginator/paginator.mjs +4 -4
  356. package/esm2022/progress-bar/module.mjs +5 -5
  357. package/esm2022/progress-bar/progress-bar.mjs +4 -4
  358. package/esm2022/progress-spinner/module.mjs +5 -5
  359. package/esm2022/progress-spinner/progress-spinner.mjs +4 -4
  360. package/esm2022/radio/module.mjs +5 -5
  361. package/esm2022/radio/radio.mjs +7 -7
  362. package/esm2022/select/module.mjs +5 -5
  363. package/esm2022/select/select.mjs +7 -7
  364. package/esm2022/sidenav/drawer.mjs +10 -10
  365. package/esm2022/sidenav/sidenav-module.mjs +5 -5
  366. package/esm2022/sidenav/sidenav.mjs +10 -10
  367. package/esm2022/slide-toggle/module.mjs +9 -9
  368. package/esm2022/slide-toggle/slide-toggle-required-validator.mjs +4 -4
  369. package/esm2022/slide-toggle/slide-toggle.mjs +6 -6
  370. package/esm2022/slider/module.mjs +5 -5
  371. package/esm2022/slider/slider-input.mjs +7 -7
  372. package/esm2022/slider/slider-thumb.mjs +4 -4
  373. package/esm2022/slider/slider.mjs +4 -4
  374. package/esm2022/snack-bar/module.mjs +5 -5
  375. package/esm2022/snack-bar/simple-snack-bar.mjs +4 -4
  376. package/esm2022/snack-bar/snack-bar-container.mjs +4 -4
  377. package/esm2022/snack-bar/snack-bar-content.mjs +10 -10
  378. package/esm2022/snack-bar/snack-bar.mjs +4 -4
  379. package/esm2022/sort/sort-header-intl.mjs +4 -4
  380. package/esm2022/sort/sort-header.mjs +4 -4
  381. package/esm2022/sort/sort-module.mjs +5 -5
  382. package/esm2022/sort/sort.mjs +4 -4
  383. package/esm2022/stepper/step-content.mjs +4 -4
  384. package/esm2022/stepper/step-header.mjs +4 -4
  385. package/esm2022/stepper/step-label.mjs +4 -4
  386. package/esm2022/stepper/stepper-button.mjs +7 -7
  387. package/esm2022/stepper/stepper-icon.mjs +4 -4
  388. package/esm2022/stepper/stepper-intl.mjs +4 -4
  389. package/esm2022/stepper/stepper-module.mjs +5 -5
  390. package/esm2022/stepper/stepper.mjs +7 -7
  391. package/esm2022/table/cell.mjs +22 -22
  392. package/esm2022/table/module.mjs +5 -5
  393. package/esm2022/table/row.mjs +22 -22
  394. package/esm2022/table/table.mjs +7 -7
  395. package/esm2022/table/text-column.mjs +4 -4
  396. package/esm2022/tabs/ink-bar.mjs +4 -4
  397. package/esm2022/tabs/module.mjs +5 -5
  398. package/esm2022/tabs/paginated-tab-header.mjs +4 -4
  399. package/esm2022/tabs/tab-body.mjs +7 -7
  400. package/esm2022/tabs/tab-content.mjs +4 -4
  401. package/esm2022/tabs/tab-group.mjs +4 -4
  402. package/esm2022/tabs/tab-header.mjs +4 -4
  403. package/esm2022/tabs/tab-label-wrapper.mjs +4 -4
  404. package/esm2022/tabs/tab-label.mjs +4 -4
  405. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +10 -10
  406. package/esm2022/tabs/tab.mjs +4 -4
  407. package/esm2022/tabs/testing/tab-harness.mjs +2 -2
  408. package/esm2022/toolbar/toolbar-module.mjs +5 -5
  409. package/esm2022/toolbar/toolbar.mjs +7 -7
  410. package/esm2022/tooltip/module.mjs +5 -5
  411. package/esm2022/tooltip/tooltip.mjs +7 -7
  412. package/esm2022/tree/node.mjs +10 -10
  413. package/esm2022/tree/outlet.mjs +4 -4
  414. package/esm2022/tree/padding.mjs +4 -4
  415. package/esm2022/tree/toggle.mjs +4 -4
  416. package/esm2022/tree/tree-module.mjs +5 -5
  417. package/esm2022/tree/tree.mjs +4 -4
  418. package/fesm2022/autocomplete.mjs +13 -14
  419. package/fesm2022/autocomplete.mjs.map +1 -1
  420. package/fesm2022/badge.mjs +10 -10
  421. package/fesm2022/badge.mjs.map +1 -1
  422. package/fesm2022/bottom-sheet.mjs +10 -10
  423. package/fesm2022/bottom-sheet.mjs.map +1 -1
  424. package/fesm2022/button-toggle.mjs +11 -11
  425. package/fesm2022/button-toggle.mjs.map +1 -1
  426. package/fesm2022/button.mjs +34 -34
  427. package/fesm2022/button.mjs.map +1 -1
  428. package/fesm2022/card.mjs +46 -46
  429. package/fesm2022/card.mjs.map +1 -1
  430. package/fesm2022/checkbox.mjs +14 -14
  431. package/fesm2022/checkbox.mjs.map +1 -1
  432. package/fesm2022/chips.mjs +47 -68
  433. package/fesm2022/chips.mjs.map +1 -1
  434. package/fesm2022/core.mjs +59 -59
  435. package/fesm2022/core.mjs.map +1 -1
  436. package/fesm2022/datepicker.mjs +82 -82
  437. package/fesm2022/datepicker.mjs.map +1 -1
  438. package/fesm2022/dialog.mjs +26 -29
  439. package/fesm2022/dialog.mjs.map +1 -1
  440. package/fesm2022/divider.mjs +7 -7
  441. package/fesm2022/divider.mjs.map +1 -1
  442. package/fesm2022/expansion.mjs +25 -25
  443. package/fesm2022/expansion.mjs.map +1 -1
  444. package/fesm2022/form-field.mjs +37 -34
  445. package/fesm2022/form-field.mjs.map +1 -1
  446. package/fesm2022/grid-list.mjs +22 -22
  447. package/fesm2022/grid-list.mjs.map +1 -1
  448. package/fesm2022/icon/testing.mjs +7 -7
  449. package/fesm2022/icon/testing.mjs.map +1 -1
  450. package/fesm2022/icon.mjs +10 -10
  451. package/fesm2022/icon.mjs.map +1 -1
  452. package/fesm2022/input.mjs +42 -9
  453. package/fesm2022/input.mjs.map +1 -1
  454. package/fesm2022/list/testing.mjs +1 -1
  455. package/fesm2022/list/testing.mjs.map +1 -1
  456. package/fesm2022/list.mjs +49 -49
  457. package/fesm2022/list.mjs.map +1 -1
  458. package/fesm2022/menu.mjs +16 -16
  459. package/fesm2022/menu.mjs.map +1 -1
  460. package/fesm2022/paginator.mjs +10 -10
  461. package/fesm2022/paginator.mjs.map +1 -1
  462. package/fesm2022/progress-bar.mjs +7 -7
  463. package/fesm2022/progress-bar.mjs.map +1 -1
  464. package/fesm2022/progress-spinner.mjs +7 -7
  465. package/fesm2022/progress-spinner.mjs.map +1 -1
  466. package/fesm2022/radio.mjs +10 -10
  467. package/fesm2022/radio.mjs.map +1 -1
  468. package/fesm2022/select.mjs +10 -10
  469. package/fesm2022/select.mjs.map +1 -1
  470. package/fesm2022/sidenav.mjs +22 -22
  471. package/fesm2022/sidenav.mjs.map +1 -1
  472. package/fesm2022/slide-toggle.mjs +16 -16
  473. package/fesm2022/slide-toggle.mjs.map +1 -1
  474. package/fesm2022/slider.mjs +16 -16
  475. package/fesm2022/slider.mjs.map +1 -1
  476. package/fesm2022/snack-bar.mjs +22 -22
  477. package/fesm2022/snack-bar.mjs.map +1 -1
  478. package/fesm2022/sort.mjs +13 -13
  479. package/fesm2022/sort.mjs.map +1 -1
  480. package/fesm2022/stepper.mjs +31 -31
  481. package/fesm2022/stepper.mjs.map +1 -1
  482. package/fesm2022/table.mjs +55 -55
  483. package/fesm2022/table.mjs.map +1 -1
  484. package/fesm2022/tabs/testing.mjs +1 -1
  485. package/fesm2022/tabs/testing.mjs.map +1 -1
  486. package/fesm2022/tabs.mjs +43 -43
  487. package/fesm2022/tabs.mjs.map +1 -1
  488. package/fesm2022/toolbar.mjs +10 -10
  489. package/fesm2022/toolbar.mjs.map +1 -1
  490. package/fesm2022/tooltip.mjs +10 -10
  491. package/fesm2022/tooltip.mjs.map +1 -1
  492. package/fesm2022/tree.mjs +25 -25
  493. package/fesm2022/tree.mjs.map +1 -1
  494. package/form-field/_form-field-focus-overlay.scss +1 -1
  495. package/form-field/_mdc-text-field-density-overrides.scss +4 -4
  496. package/form-field/_mdc-text-field-structure.scss +6 -6
  497. package/input/index.d.ts +13 -1
  498. package/list/testing/index.d.ts +1 -1
  499. package/package.json +3 -51
  500. package/prebuilt-themes/azure-blue.css +1 -1
  501. package/prebuilt-themes/cyan-orange.css +1 -1
  502. package/prebuilt-themes/magenta-violet.css +1 -1
  503. package/prebuilt-themes/rose-red.css +1 -1
  504. package/radio/_radio-common.scss +5 -5
  505. package/schematics/ng-add/index.js +1 -1
  506. package/schematics/ng-add/index.mjs +1 -1
  507. package/tabs/testing/index.d.ts +1 -1
  508. package/core/mdc-helpers/_mdc-helpers.scss +0 -60
@@ -112,16 +112,10 @@
112
112
  // Adds an elevation shadow to a button.
113
113
  @mixin mat-private-button-elevation($token-name) {
114
114
  // MDC outputs a variable that is the same as the token name, but suffixed with `-shadow`.
115
- box-shadow: var(#{token-utils.get-token-variable($token-name) + '-shadow'});
115
+ box-shadow: token-utils.get-token-variable($token-name + '-shadow');
116
116
  }
117
117
 
118
118
  @mixin mat-private-button-touch-target($is-square, $prefix, $slots) {
119
- // Element used to ensure that the button has a touch target that meets the required minimum.
120
- // Note that we use this, instead of MDC's built-in `mdc-button--touch` class, because the MDC
121
- // class is implemented as `margin-top: 6px; margin-bottom: 6px` on the host element which
122
- // goes against our rule of not having margins on the host node. Furthermore, having the margin on
123
- // the button itself would require us to wrap it in another div. See:
124
- // https://github.com/material-components/material-components-web/tree/master/packages/mdc-button#making-buttons-accessible
125
119
  .mat-mdc-button-touch-target {
126
120
  position: absolute;
127
121
  top: 50%;
@@ -145,14 +139,14 @@
145
139
 
146
140
  @mixin mat-private-button-horizontal-layout($prefix, $slots, $has-with-icon-padding) {
147
141
  @include token-utils.use-tokens($prefix, $slots) {
148
- $icon-spacing: token-utils.get-token-variable-reference(icon-spacing, true);
149
- $icon-offset: token-utils.get-token-variable-reference(icon-offset, true);
150
- $horizontal-padding: token-utils.get-token-variable-reference(horizontal-padding, true);
142
+ $icon-spacing: token-utils.get-token-variable(icon-spacing, true);
143
+ $icon-offset: token-utils.get-token-variable(icon-offset, true);
144
+ $horizontal-padding: token-utils.get-token-variable(horizontal-padding, true);
151
145
  padding: 0 $horizontal-padding;
152
146
 
153
147
  @if ($has-with-icon-padding) {
154
148
  $with-icon-horizontal-padding:
155
- token-utils.get-token-variable-reference(with-icon-horizontal-padding, true);
149
+ token-utils.get-token-variable(with-icon-horizontal-padding, true);
156
150
 
157
151
  // stylelint-disable-next-line selector-class-pattern
158
152
  &:has(.material-icons, mat-icon, [matButtonIcon]) {
@@ -31,10 +31,9 @@ $_fallback-size: 40px;
31
31
  vertical-align: bottom;
32
32
 
33
33
  @include token-utils.use-tokens($prefix, $slots) {
34
- $layer-size: token-utils.get-token-variable(state-layer-size);
35
- padding: calc((var(#{$layer-size}, #{$_fallback-size}) - #{$_icon-size}) / 2);
36
- margin: calc((var(#{$layer-size}, #{$_fallback-size}) -
37
- var(#{$layer-size}, #{$_fallback-size})) / 2);
34
+ $layer-size: token-utils.get-token-variable(state-layer-size, $fallback: $_fallback-size);
35
+ padding: calc((#{$layer-size} - #{$_icon-size}) / 2);
36
+ margin: calc((#{$layer-size} - #{$layer-size}) / 2);
38
37
 
39
38
  @if ($include-state-layer-styles) {
40
39
  @include _state-layer-styles;
@@ -51,11 +50,10 @@ $_fallback-size: 40px;
51
50
  cursor: inherit;
52
51
 
53
52
  @include token-utils.use-tokens($prefix, $slots) {
54
- $layer-size: token-utils.get-token-variable(state-layer-size);
55
- $offset: calc((var(#{$layer-size}, #{$_fallback-size}) -
56
- var(#{$layer-size}, #{$_fallback-size})) / 2);
57
- width: var(#{$layer-size}, #{$_fallback-size});
58
- height: var(#{$layer-size}, #{$_fallback-size});
53
+ $layer-size: token-utils.get-token-variable(state-layer-size, $fallback: $_fallback-size);
54
+ $offset: calc((#{$layer-size} - #{$layer-size}) / 2);
55
+ width: $layer-size;
56
+ height: $layer-size;
59
57
  top: $offset;
60
58
  right: $offset;
61
59
  left: $offset;
@@ -85,8 +83,8 @@ $_fallback-size: 40px;
85
83
  border-color $_transition-duration $_exit-curve;
86
84
 
87
85
  @include token-utils.use-tokens($prefix, $slots) {
88
- $layer-size: token-utils.get-token-variable(state-layer-size);
89
- $offset: calc((var(#{$layer-size}, $_fallback-size) - #{$_icon-size}) / 2);
86
+ $layer-size: token-utils.get-token-variable(state-layer-size, $fallback: $_fallback-size);
87
+ $offset: calc((#{$layer-size} - #{$_icon-size}) / 2);
90
88
 
91
89
  @include token-utils.create-token-slot(border-color, unselected-icon-color);
92
90
  top: $offset;
package/chips/index.d.ts CHANGED
@@ -205,8 +205,6 @@ export declare class MatChip implements OnInit, AfterViewInit, AfterContentInit,
205
205
  disableRipple: boolean;
206
206
  /** Whether the chip is disabled. */
207
207
  disabled: boolean;
208
- /** Tab index of the chip. */
209
- tabIndex: number;
210
208
  /** Emitted when a chip is to be removed. */
211
209
  readonly removed: EventEmitter<MatChipEvent>;
212
210
  /** Emitted when the chip is destroyed. */
@@ -234,7 +232,7 @@ export declare class MatChip implements OnInit, AfterViewInit, AfterContentInit,
234
232
  */
235
233
  _rippleLoader: MatRippleLoader;
236
234
  protected _injector: Injector;
237
- constructor(_changeDetectorRef: ChangeDetectorRef, _elementRef: ElementRef<HTMLElement>, _ngZone: NgZone, _focusMonitor: FocusMonitor, _document: any, animationMode?: string, _globalRippleOptions?: RippleGlobalOptions | undefined, tabIndex?: string);
235
+ constructor(_changeDetectorRef: ChangeDetectorRef, _elementRef: ElementRef<HTMLElement>, _ngZone: NgZone, _focusMonitor: FocusMonitor, _document: any, animationMode?: string, _globalRippleOptions?: RippleGlobalOptions | undefined);
238
236
  ngOnInit(): void;
239
237
  ngAfterViewInit(): void;
240
238
  ngAfterContentInit(): void;
@@ -260,17 +258,14 @@ export declare class MatChip implements OnInit, AfterViewInit, AfterContentInit,
260
258
  _getActions(): MatChipAction[];
261
259
  /** Handles interactions with the primary action of the chip. */
262
260
  _handlePrimaryActionInteraction(): void;
263
- /** Gets the tabindex of the chip. */
264
- _getTabIndex(): number | null;
265
261
  /** Starts the focus monitoring process on the chip. */
266
262
  private _monitorFocus;
267
- static ɵfac: i0.ɵɵFactoryDeclaration<MatChip, [null, null, null, null, null, { optional: true; }, { optional: true; }, { attribute: "tabindex"; }]>;
268
- static ɵcmp: i0.ɵɵComponentDeclaration<MatChip, "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", ["matChip"], { "role": { "alias": "role"; "required": false; }; "id": { "alias": "id"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "ariaDescription": { "alias": "aria-description"; "required": false; }; "value": { "alias": "value"; "required": false; }; "color": { "alias": "color"; "required": false; }; "removable": { "alias": "removable"; "required": false; }; "highlighted": { "alias": "highlighted"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; }, { "removed": "removed"; "destroyed": "destroyed"; }, ["leadingIcon", "trailingIcon", "removeIcon", "_allLeadingIcons", "_allTrailingIcons", "_allRemoveIcons"], ["mat-chip-avatar, [matChipAvatar]", "*", "mat-chip-trailing-icon,[matChipRemove],[matChipTrailingIcon]"], true, never>;
263
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatChip, [null, null, null, null, null, { optional: true; }, { optional: true; }]>;
264
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatChip, "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", ["matChip"], { "role": { "alias": "role"; "required": false; }; "id": { "alias": "id"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "ariaDescription": { "alias": "aria-description"; "required": false; }; "value": { "alias": "value"; "required": false; }; "color": { "alias": "color"; "required": false; }; "removable": { "alias": "removable"; "required": false; }; "highlighted": { "alias": "highlighted"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "removed": "removed"; "destroyed": "destroyed"; }, ["leadingIcon", "trailingIcon", "removeIcon", "_allLeadingIcons", "_allTrailingIcons", "_allRemoveIcons"], ["mat-chip-avatar, [matChipAvatar]", "*", "mat-chip-trailing-icon,[matChipRemove],[matChipTrailingIcon]"], true, never>;
269
265
  static ngAcceptInputType_removable: unknown;
270
266
  static ngAcceptInputType_highlighted: unknown;
271
267
  static ngAcceptInputType_disableRipple: unknown;
272
268
  static ngAcceptInputType_disabled: unknown;
273
- static ngAcceptInputType_tabIndex: unknown;
274
269
  }
275
270
 
276
271
  /**
package/core/_core.scss CHANGED
@@ -4,7 +4,6 @@
4
4
  @use './ripple/ripple';
5
5
  @use './style/elevation';
6
6
  @use './focus-indicators/private';
7
- @use './mdc-helpers/mdc-helpers';
8
7
 
9
8
  // Mixin that renders all of the core styles that are not theme-dependent.
10
9
  @mixin core() {
@@ -20,24 +19,22 @@
20
19
  // user's content isn't inside of a `mat-sidenav-container`.
21
20
  @at-root {
22
21
  // Note: we need to emit fallback values here to avoid errors in internal builds.
23
- @include mdc-helpers.disable-mdc-fallback-declarations {
24
- @include token-utils.use-tokens(tokens-mat-app.$prefix, tokens-mat-app.get-token-slots()) {
25
- .mat-app-background {
26
- @include token-utils.create-token-slot(background-color, background-color, transparent);
27
- @include token-utils.create-token-slot(color, text-color, inherit);
28
- }
22
+ @include token-utils.use-tokens(tokens-mat-app.$prefix, tokens-mat-app.get-token-slots()) {
23
+ .mat-app-background {
24
+ @include token-utils.create-token-slot(background-color, background-color, transparent);
25
+ @include token-utils.create-token-slot(color, text-color, inherit);
26
+ }
29
27
 
30
- // Provides external CSS classes for each elevation value. Each CSS class is formatted as
31
- // `mat-elevation-z$zValue` where `$zValue` corresponds to the z-space to which the element
32
- // is elevated.
33
- @for $zValue from 0 through 24 {
34
- $selector: elevation.$prefix + $zValue;
35
- // We need the `mat-mdc-elevation-specific`, because some MDC mixins
36
- // come with elevation baked in and we don't have a way of removing it.
37
- .#{$selector}, .mat-mdc-elevation-specific.#{$selector} {
38
- @include token-utils.create-token-slot(box-shadow, 'elevation-shadow-level-#{$zValue}',
39
- none);
40
- }
28
+ // Provides external CSS classes for each elevation value. Each CSS class is formatted as
29
+ // `mat-elevation-z$z-value` where `$z-value` corresponds to the z-space to which the element
30
+ // is elevated.
31
+ @for $z-value from 0 through 24 {
32
+ $selector: elevation.$prefix + $z-value;
33
+ // We need the `mat-mdc-elevation-specific`, because some MDC mixins
34
+ // come with elevation baked in and we don't have a way of removing it.
35
+ .#{$selector}, .mat-mdc-elevation-specific.#{$selector} {
36
+ @include token-utils.create-token-slot(box-shadow, 'elevation-shadow-level-#{$z-value}',
37
+ none);
41
38
  }
42
39
  }
43
40
  }
@@ -2,10 +2,137 @@
2
2
  @use 'sass:math';
3
3
  @use 'sass:meta';
4
4
  @use 'sass:string';
5
- @use '@material/typography' as mdc-typography;
6
5
 
7
6
  $_default-font-family: string.unquote('Roboto, sans-serif');
8
7
 
8
+ @function _px-to-rem($px) {
9
+ @return math.div($px, 16px) * 1rem;
10
+ }
11
+
12
+ @function _get-letter-spacing($tracking, $font-size) {
13
+ @return math.div($tracking, $font-size * 16) * 1em;
14
+ }
15
+
16
+ $_mdc-levels: (
17
+ headline1: (
18
+ font-family: $_default-font-family,
19
+ font-size: _px-to-rem(96px),
20
+ line-height: _px-to-rem(96px),
21
+ font-weight: 300,
22
+ letter-spacing: _get-letter-spacing(-1.5, 6),
23
+ text-decoration: inherit,
24
+ text-transform: inherit,
25
+ ),
26
+ headline2: (
27
+ font-family: $_default-font-family,
28
+ font-size: _px-to-rem(60px),
29
+ line-height: _px-to-rem(60px),
30
+ font-weight: 300,
31
+ letter-spacing: _get-letter-spacing(-0.5, 3.75),
32
+ text-decoration: inherit,
33
+ text-transform: inherit,
34
+ ),
35
+ headline3: (
36
+ font-family: $_default-font-family,
37
+ font-size: _px-to-rem(48px),
38
+ line-height: _px-to-rem(50px),
39
+ font-weight: 400,
40
+ letter-spacing: normal,
41
+ text-decoration: inherit,
42
+ text-transform: inherit,
43
+ ),
44
+ headline4: (
45
+ font-family: $_default-font-family,
46
+ font-size: _px-to-rem(34px),
47
+ line-height: _px-to-rem(40px),
48
+ font-weight: 400,
49
+ letter-spacing: _get-letter-spacing(0.25, 2.125),
50
+ text-decoration: inherit,
51
+ text-transform: inherit,
52
+ ),
53
+ headline5: (
54
+ font-family: $_default-font-family,
55
+ font-size: _px-to-rem(24px),
56
+ line-height: _px-to-rem(32px),
57
+ font-weight: 400,
58
+ letter-spacing: normal,
59
+ text-decoration: inherit,
60
+ text-transform: inherit,
61
+ ),
62
+ headline6: (
63
+ font-family: $_default-font-family,
64
+ font-size: _px-to-rem(20px),
65
+ line-height: _px-to-rem(32px),
66
+ font-weight: 500,
67
+ letter-spacing: _get-letter-spacing(0.25, 1.25),
68
+ text-decoration: inherit,
69
+ text-transform: inherit,
70
+ ),
71
+ subtitle1: (
72
+ font-family: $_default-font-family,
73
+ font-size: _px-to-rem(16px),
74
+ line-height: _px-to-rem(28px),
75
+ font-weight: 400,
76
+ letter-spacing: _get-letter-spacing(0.15, 1),
77
+ text-decoration: inherit,
78
+ text-transform: inherit,
79
+ ),
80
+ subtitle2: (
81
+ font-family: $_default-font-family,
82
+ font-size: _px-to-rem(14px),
83
+ line-height: _px-to-rem(22px),
84
+ font-weight: 500,
85
+ letter-spacing: _get-letter-spacing(0.1, 0.875),
86
+ text-decoration: inherit,
87
+ text-transform: inherit,
88
+ ),
89
+ body1: (
90
+ font-family: $_default-font-family,
91
+ font-size: _px-to-rem(16px),
92
+ line-height: _px-to-rem(24px),
93
+ font-weight: 400,
94
+ letter-spacing: _get-letter-spacing(0.5, 1),
95
+ text-decoration: inherit,
96
+ text-transform: inherit,
97
+ ),
98
+ body2: (
99
+ font-family: $_default-font-family,
100
+ font-size: _px-to-rem(14px),
101
+ line-height: _px-to-rem(20px),
102
+ font-weight: 400,
103
+ letter-spacing: _get-letter-spacing(0.25, 0.875),
104
+ text-decoration: inherit,
105
+ text-transform: inherit,
106
+ ),
107
+ caption: (
108
+ font-family: $_default-font-family,
109
+ font-size: _px-to-rem(12px),
110
+ line-height: _px-to-rem(20px),
111
+ font-weight: 400,
112
+ letter-spacing: _get-letter-spacing(0.4, 0.75),
113
+ text-decoration: inherit,
114
+ text-transform: inherit,
115
+ ),
116
+ button: (
117
+ font-family: $_default-font-family,
118
+ font-size: _px-to-rem(14px),
119
+ line-height: _px-to-rem(36px),
120
+ font-weight: 500,
121
+ letter-spacing: _get-letter-spacing(1.25, 0.875),
122
+ text-decoration: none,
123
+ text-transform: uppercase,
124
+ ),
125
+ overline: (
126
+ font-family: $_default-font-family,
127
+ font-size: _px-to-rem(12px),
128
+ line-height: _px-to-rem(32px),
129
+ font-weight: 500,
130
+ letter-spacing: _get-letter-spacing(2, 0.75),
131
+ text-decoration: none,
132
+ text-transform: uppercase,
133
+ ),
134
+ );
135
+
9
136
  /// Defines a typography level from the Material Design spec.
10
137
  /// @param {String} $font-size The font-size for this level.
11
138
  /// @param {String | Number} $line-height The line-height for this level.
@@ -217,7 +344,7 @@ $_default-font-family: string.unquote('Roboto, sans-serif');
217
344
 
218
345
  // Converts an MDC typography level config to an Angular Material one.
219
346
  @function typography-config-level-from-mdc($mdc-level, $font-family: null) {
220
- $mdc-level-config: map.get(mdc-typography.$styles, $mdc-level);
347
+ $mdc-level-config: map.get($_mdc-levels, $mdc-level);
221
348
 
222
349
  // Explicitly default the font family to null since we'll apply it globally
223
350
  // through the `define-typgraphy-config`/`define-legacy-typography-config`.
@@ -40,7 +40,7 @@
40
40
  @include token-utils.use-tokens(
41
41
  tokens-mat-ripple.$prefix, tokens-mat-ripple.get-token-slots()) {
42
42
  // We have to emit a fallback value here, because some internal builds depend on it.
43
- background-color: var(#{token-utils.get-token-variable(color)}, rgba(#000, 0.1));
43
+ background-color: token-utils.get-token-variable(color, $fallback: rgba(#000, 0.1));
44
44
  }
45
45
 
46
46
  // In high contrast mode the ripple is opaque, causing it to obstruct the content.
@@ -1,7 +1,96 @@
1
1
  @use 'sass:map';
2
+ @use 'sass:math';
2
3
  @use 'sass:meta';
3
- @use 'variables';
4
- @use '@material/elevation/elevation-theme' as mdc-elevation;
4
+ @use 'sass:string';
5
+ @use './variables';
6
+
7
+ $_umbra-opacity: 0.2;
8
+ $_penumbra-opacity: 0.14;
9
+ $_ambient-opacity: 0.12;
10
+
11
+ $_umbra-map: (
12
+ 0: '0px 0px 0px 0px',
13
+ 1: '0px 2px 1px -1px',
14
+ 2: '0px 3px 1px -2px',
15
+ 3: '0px 3px 3px -2px',
16
+ 4: '0px 2px 4px -1px',
17
+ 5: '0px 3px 5px -1px',
18
+ 6: '0px 3px 5px -1px',
19
+ 7: '0px 4px 5px -2px',
20
+ 8: '0px 5px 5px -3px',
21
+ 9: '0px 5px 6px -3px',
22
+ 10: '0px 6px 6px -3px',
23
+ 11: '0px 6px 7px -4px',
24
+ 12: '0px 7px 8px -4px',
25
+ 13: '0px 7px 8px -4px',
26
+ 14: '0px 7px 9px -4px',
27
+ 15: '0px 8px 9px -5px',
28
+ 16: '0px 8px 10px -5px',
29
+ 17: '0px 8px 11px -5px',
30
+ 18: '0px 9px 11px -5px',
31
+ 19: '0px 9px 12px -6px',
32
+ 20: '0px 10px 13px -6px',
33
+ 21: '0px 10px 13px -6px',
34
+ 22: '0px 10px 14px -6px',
35
+ 23: '0px 11px 14px -7px',
36
+ 24: '0px 11px 15px -7px',
37
+ );
38
+
39
+ $_penumbra-map: (
40
+ 0: '0px 0px 0px 0px',
41
+ 1: '0px 1px 1px 0px',
42
+ 2: '0px 2px 2px 0px',
43
+ 3: '0px 3px 4px 0px',
44
+ 4: '0px 4px 5px 0px',
45
+ 5: '0px 5px 8px 0px',
46
+ 6: '0px 6px 10px 0px',
47
+ 7: '0px 7px 10px 1px',
48
+ 8: '0px 8px 10px 1px',
49
+ 9: '0px 9px 12px 1px',
50
+ 10: '0px 10px 14px 1px',
51
+ 11: '0px 11px 15px 1px',
52
+ 12: '0px 12px 17px 2px',
53
+ 13: '0px 13px 19px 2px',
54
+ 14: '0px 14px 21px 2px',
55
+ 15: '0px 15px 22px 2px',
56
+ 16: '0px 16px 24px 2px',
57
+ 17: '0px 17px 26px 2px',
58
+ 18: '0px 18px 28px 2px',
59
+ 19: '0px 19px 29px 2px',
60
+ 20: '0px 20px 31px 3px',
61
+ 21: '0px 21px 33px 3px',
62
+ 22: '0px 22px 35px 3px',
63
+ 23: '0px 23px 36px 3px',
64
+ 24: '0px 24px 38px 3px',
65
+ );
66
+
67
+ $_ambient-map: (
68
+ 0: '0px 0px 0px 0px',
69
+ 1: '0px 1px 3px 0px',
70
+ 2: '0px 1px 5px 0px',
71
+ 3: '0px 1px 8px 0px',
72
+ 4: '0px 1px 10px 0px',
73
+ 5: '0px 1px 14px 0px',
74
+ 6: '0px 1px 18px 0px',
75
+ 7: '0px 2px 16px 1px',
76
+ 8: '0px 3px 14px 2px',
77
+ 9: '0px 3px 16px 2px',
78
+ 10: '0px 4px 18px 3px',
79
+ 11: '0px 4px 20px 3px',
80
+ 12: '0px 5px 22px 4px',
81
+ 13: '0px 5px 24px 4px',
82
+ 14: '0px 5px 26px 4px',
83
+ 15: '0px 6px 28px 5px',
84
+ 16: '0px 6px 30px 5px',
85
+ 17: '0px 6px 32px 5px',
86
+ 18: '0px 7px 34px 6px',
87
+ 19: '0px 7px 36px 6px',
88
+ 20: '0px 8px 38px 7px',
89
+ 21: '0px 8px 40px 7px',
90
+ 22: '0px 8px 42px 7px',
91
+ 23: '0px 9px 44px 8px',
92
+ 24: '0px 9px 46px 8px',
93
+ );
5
94
 
6
95
  // A collection of mixins and CSS classes that can be used to apply elevation to a material
7
96
  // element.
@@ -37,29 +126,7 @@ $prefix: 'mat-elevation-z';
37
126
  // Applies the correct css rules to an element to give it the elevation specified by $zValue.
38
127
  // The $zValue must be between 0 and 24.
39
128
  @mixin elevation($zValue, $color: $color, $opacity: null) {
40
- @if meta.type-of($color) == color and $opacity == null {
41
- @include mdc-elevation.elevation($zValue, $color);
42
- }
43
- @else {
44
- // Copied from @material/elevation/_elevation-theme.scss#_box-shadow
45
- // TODO(mmalerba): Add support for graceful handling of CSS var color to MDC.
46
- $umbra-z-value: map.get(mdc-elevation.$umbra-map, $zValue);
47
- $penumbra-z-value: map.get(mdc-elevation.$penumbra-map, $zValue);
48
- $ambient-z-value: map.get(mdc-elevation.$ambient-map, $zValue);
49
-
50
- $color-opacity: if($opacity != null, $opacity, 1);
51
- $umbra-color: _compute-color-opacity($color, mdc-elevation.$umbra-opacity * $color-opacity);
52
- $penumbra-color:
53
- _compute-color-opacity($color, mdc-elevation.$penumbra-opacity * $color-opacity);
54
- $ambient-color: _compute-color-opacity($color, mdc-elevation.$ambient-opacity * $color-opacity);
55
-
56
- $box-shadow: (
57
- #{'#{$umbra-z-value} #{$umbra-color}'},
58
- #{'#{$penumbra-z-value} #{$penumbra-color}'},
59
- #{$ambient-z-value} $ambient-color
60
- );
61
- @include mdc-elevation.shadow($box-shadow);
62
- }
129
+ box-shadow: get-box-shadow($zValue, $color, $opacity);
63
130
  }
64
131
 
65
132
  // Applies the elevation to an element in a manner that allows
@@ -71,8 +138,30 @@ $prefix: 'mat-elevation-z';
71
138
  }
72
139
 
73
140
  // Gets the box shadow value for a specific elevation.
74
- @function get-box-shadow($z-value, $shadow-color: black) {
75
- @return mdc-elevation.elevation-box-shadow($z-value, $shadow-color);
141
+ @function get-box-shadow($zValue, $shadow-color: black, $opacity: null) {
142
+ @if $zValue == null {
143
+ @return null;
144
+ }
145
+
146
+ @if meta.type-of($zValue) != number or not math.is-unitless($zValue) {
147
+ @error '$zValue must be a unitless number, but received `#{$zValue}`';
148
+ }
149
+
150
+ @if $zValue < 0 or $zValue > 24 {
151
+ @error '$zValue must be between 0 and 24, but received `#{$zValue}`';
152
+ }
153
+
154
+ $umbra-z-value: map.get($_umbra-map, $zValue);
155
+ $penumbra-z-value: map.get($_penumbra-map, $zValue);
156
+ $ambient-z-value: map.get($_ambient-map, $zValue);
157
+
158
+ $color-opacity: if($opacity != null, $opacity, 1);
159
+ $umbra-color: _compute-color-opacity($shadow-color, $_umbra-opacity * $color-opacity);
160
+ $penumbra-color: _compute-color-opacity($shadow-color, $_penumbra-opacity * $color-opacity);
161
+ $ambient-color: _compute-color-opacity($shadow-color, $_ambient-opacity * $color-opacity);
162
+
163
+ @return string.unquote('#{$umbra-z-value} #{$umbra-color}, #{$penumbra-z-value} ' +
164
+ '#{$penumbra-color}, #{$ambient-z-value} #{$ambient-color}');
76
165
  }
77
166
 
78
167
  // Returns a string that can be used as the value for a transition property for elevation.
@@ -55,6 +55,7 @@ $theme-version: 1;
55
55
  neutral-variant: map.get($primary, neutral-variant),
56
56
  error: map.get($primary, error),
57
57
  ),
58
+ color-system-variables-prefix: $system-variables-prefix,
58
59
  color-tokens: m3-tokens.generate-color-tokens(
59
60
  $type, $primary, $tertiary, map.get($primary, error), $system-variables-prefix)
60
61
  )
@@ -88,6 +89,7 @@ $theme-version: 1;
88
89
  medium: $medium,
89
90
  regular: $regular,
90
91
  ),
92
+ typography-system-variables-prefix: $system-variables-prefix,
91
93
  typography-tokens: m3-tokens.generate-typography-tokens(
92
94
  $brand, $plain, $bold, $medium, $regular, $system-variables-prefix)
93
95
  )
@@ -1,8 +1,8 @@
1
1
  @use 'sass:map';
2
- @use '@material/tokens/v0_161' as mdc-tokens;
3
2
  @use '../style/sass-utils';
4
3
  @use '../m2' as m2-theming;
5
4
  @use './m3';
5
+ @use './m3/definitions' as m3-token-definitions;
6
6
  @use '../tokens/m2' as m2-tokens;
7
7
  @use './density';
8
8
  @use './format-tokens';
@@ -21,7 +21,7 @@
21
21
  }
22
22
 
23
23
  /// Creates a set of `md-ref-palette` tokens from the given palettes. (See
24
- /// https://github.com/material-components/material-components-web/blob/master/packages/mdc-tokens/v0_161/_md-ref-palette.scss)
24
+ /// ./m3/definitions/_md-ref-palette.scss)
25
25
  /// @param {Map} $primary The primary palette
26
26
  /// @param {Map} $secondary The secondary palette
27
27
  /// @param {Map} $tertiary The tertiary palette
@@ -40,7 +40,7 @@
40
40
  }
41
41
 
42
42
  /// Creates a set of `md-ref-typeface` tokens from the given palettes. (See
43
- /// https://github.com/material-components/material-components-web/blob/master/packages/mdc-tokens/v0_161/_md-ref-typeface.scss)
43
+ /// ./m3/definitions/_md-ref-typeface.scss)
44
44
  /// @param {List|String} $brand The font-family to use for brand text
45
45
  /// @param {List|String} $plain The font-family to use for plain text
46
46
  /// @param {String} $bold The font-weight to use for bold text
@@ -135,7 +135,8 @@ $_cached-token-slots: null;
135
135
  );
136
136
 
137
137
  $type: map.get($theme, _mat-theming-internals-do-not-access, theme-type);
138
- $system-variables-prefix: map.get($theme, system-variables-prefix) or sys;
138
+ $system-variables-prefix: map.get($theme, _mat-theming-internals-do-not-access,
139
+ color-system-variables-prefix) or sys;
139
140
  $primary: map.merge(map.get($palettes, primary), $base-palettes);
140
141
  $tertiary: map.merge(map.get($palettes, tertiary), $base-palettes);
141
142
  $error: map.get($palettes, error);
@@ -145,8 +146,8 @@ $_cached-token-slots: null;
145
146
  );
146
147
 
147
148
  $sys-colors: if($type == dark,
148
- mdc-tokens.md-sys-color-values-dark($ref),
149
- mdc-tokens.md-sys-color-values-light($ref));
149
+ m3-token-definitions.md-sys-color-values-dark($ref),
150
+ m3-token-definitions.md-sys-color-values-light($ref));
150
151
 
151
152
  @each $name, $value in $sys-colors {
152
153
  --#{$system-variables-prefix}-#{$name}: #{map.get($overrides, $name) or $value};
@@ -160,12 +161,13 @@ $_cached-token-slots: null;
160
161
  $bold: map.get($font-definition, bold);
161
162
  $medium: map.get($font-definition, medium);
162
163
  $regular: map.get($font-definition, regular);
163
- $system-variables-prefix: map.get($theme, system-variables-prefix) or sys;
164
+ $system-variables-prefix: map.get($theme, _mat-theming-internals-do-not-access,
165
+ typography-system-variables-prefix) or sys;
164
166
  $ref: (
165
167
  md-ref-typeface: _generate-ref-typeface-tokens($brand, $plain, $bold, $medium, $regular)
166
168
  );
167
169
 
168
- $sys-typescale: mdc-tokens.md-sys-typescale-values($ref);
170
+ $sys-typescale: m3-token-definitions.md-sys-typescale-values($ref);
169
171
 
170
172
  @each $name, $value in $sys-typescale {
171
173
  --#{$system-variables-prefix}-#{$name}: #{map.get($overrides, $name) or $value};
@@ -182,8 +184,8 @@ $_cached-token-slots: null;
182
184
 
183
185
  @function _get-sys-color($type, $ref, $prefix) {
184
186
  $mdc-sys-color: if($type == dark,
185
- mdc-tokens.md-sys-color-values-dark($ref),
186
- mdc-tokens.md-sys-color-values-light($ref));
187
+ m3-token-definitions.md-sys-color-values-dark($ref),
188
+ m3-token-definitions.md-sys-color-values-light($ref));
187
189
 
188
190
  @if (sass-utils.$use-system-color-variables) {
189
191
  $keys: (
@@ -343,7 +345,7 @@ $_cached-token-slots: null;
343
345
 
344
346
  @return create-map($keys, $prefix);
345
347
  }
346
- @return mdc-tokens.md-sys-typescale-values($ref);
348
+ @return m3-token-definitions.md-sys-typescale-values($ref);
347
349
  }
348
350
 
349
351
  /// Generates a set of namespaced color tokens for all components.
@@ -364,12 +366,12 @@ $_cached-token-slots: null;
364
366
  md-sys-color: $sys-color,
365
367
  // Because the elevation values are always combined with color values to create the box shadow,
366
368
  // elevation needs to be part of the color dimension.
367
- md-sys-elevation: mdc-tokens.md-sys-elevation-values(),
369
+ md-sys-elevation: m3-token-definitions.md-sys-elevation-values(),
368
370
  // Because the state values are sometimes combined with color values to create rgba colors,
369
371
  // state needs to be part of color dimension.
370
372
  // TODO(mmalerba): If at some point we remove the need for these combined values, we can move
371
373
  // state to the base dimension.
372
- md-sys-state: mdc-tokens.md-sys-state-values(),
374
+ md-sys-state: m3-token-definitions.md-sys-state-values(),
373
375
  )));
374
376
  }
375
377
 
@@ -405,7 +407,7 @@ $system-variables-prefix) {
405
407
  @function generate-base-tokens() {
406
408
  // TODO(mmalerba): Exclude density tokens once implemented.
407
409
  @return _generate-tokens((
408
- md-sys-motion: mdc-tokens.md-sys-motion-values(),
409
- md-sys-shape: mdc-tokens.md-sys-shape-values(),
410
+ md-sys-motion: m3-token-definitions.md-sys-motion-values(),
411
+ md-sys-shape: m3-token-definitions.md-sys-shape-values(),
410
412
  ), $include-non-systemized: true);
411
413
  }