@angular/material 17.0.0-next.5 → 17.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 (299) hide show
  1. package/_index.scss +41 -35
  2. package/autocomplete/_autocomplete-theme.scss +3 -0
  3. package/badge/_badge-theme.scss +3 -0
  4. package/bottom-sheet/_bottom-sheet-theme.scss +8 -0
  5. package/button/_button-theme.scss +24 -5
  6. package/button/_fab-theme.scss +15 -11
  7. package/button/_icon-button-theme.scss +5 -0
  8. package/button-toggle/_button-toggle-theme.scss +14 -0
  9. package/chips/_chips-theme.scss +7 -0
  10. package/core/_core-theme.scss +9 -0
  11. package/core/option/_optgroup-theme.scss +3 -0
  12. package/core/option/_option-theme.scss +3 -0
  13. package/core/ripple/_ripple-theme.scss +5 -0
  14. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +5 -0
  15. package/core/style/_sass-utils.scss +6 -1
  16. package/core/theming/_all-theme.scss +40 -0
  17. package/core/tokens/m2/mdc/_button-filled.scss +19 -3
  18. package/core/tokens/m2/mdc/_button-protected.scss +16 -3
  19. package/datepicker/_datepicker-theme.scss +3 -0
  20. package/dialog/_dialog-theme.scss +2 -2
  21. package/dialog/index.d.ts +22 -14
  22. package/divider/_divider-theme.scss +5 -0
  23. package/esm2022/autocomplete/autocomplete-origin.mjs +4 -4
  24. package/esm2022/autocomplete/autocomplete-trigger.mjs +16 -6
  25. package/esm2022/autocomplete/autocomplete.mjs +6 -6
  26. package/esm2022/autocomplete/module.mjs +4 -4
  27. package/esm2022/badge/badge-module.mjs +4 -4
  28. package/esm2022/badge/badge.mjs +6 -6
  29. package/esm2022/bottom-sheet/bottom-sheet-container.mjs +7 -7
  30. package/esm2022/bottom-sheet/bottom-sheet-module.mjs +4 -4
  31. package/esm2022/bottom-sheet/bottom-sheet.mjs +5 -5
  32. package/esm2022/button/button-base.mjs +9 -9
  33. package/esm2022/button/button.mjs +12 -12
  34. package/esm2022/button/fab.mjs +21 -21
  35. package/esm2022/button/icon-button.mjs +10 -10
  36. package/esm2022/button/module.mjs +4 -4
  37. package/esm2022/button-toggle/button-toggle-module.mjs +4 -4
  38. package/esm2022/button-toggle/button-toggle.mjs +12 -12
  39. package/esm2022/card/card.mjs +45 -45
  40. package/esm2022/card/module.mjs +4 -4
  41. package/esm2022/checkbox/checkbox-required-validator.mjs +3 -3
  42. package/esm2022/checkbox/checkbox.mjs +6 -6
  43. package/esm2022/checkbox/module.mjs +8 -8
  44. package/esm2022/chips/chip-action.mjs +6 -6
  45. package/esm2022/chips/chip-edit-input.mjs +5 -5
  46. package/esm2022/chips/chip-grid.mjs +6 -6
  47. package/esm2022/chips/chip-icons.mjs +9 -9
  48. package/esm2022/chips/chip-input.mjs +6 -6
  49. package/esm2022/chips/chip-listbox.mjs +3 -3
  50. package/esm2022/chips/chip-option.mjs +5 -5
  51. package/esm2022/chips/chip-row.mjs +8 -8
  52. package/esm2022/chips/chip-set.mjs +6 -6
  53. package/esm2022/chips/chip.mjs +7 -7
  54. package/esm2022/chips/module.mjs +4 -4
  55. package/esm2022/core/common-behaviors/common-module.mjs +6 -6
  56. package/esm2022/core/datetime/index.mjs +8 -8
  57. package/esm2022/core/datetime/native-date-adapter.mjs +5 -5
  58. package/esm2022/core/error/error-options.mjs +6 -6
  59. package/esm2022/core/line/line.mjs +7 -7
  60. package/esm2022/core/option/index.mjs +4 -4
  61. package/esm2022/core/option/optgroup.mjs +6 -6
  62. package/esm2022/core/option/option.mjs +6 -6
  63. package/esm2022/core/private/ripple-loader.mjs +4 -4
  64. package/esm2022/core/ripple/index.mjs +4 -4
  65. package/esm2022/core/ripple/ripple.mjs +6 -6
  66. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +4 -4
  67. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +6 -6
  68. package/esm2022/core/version.mjs +1 -1
  69. package/esm2022/datepicker/calendar-body.mjs +5 -5
  70. package/esm2022/datepicker/calendar.mjs +11 -11
  71. package/esm2022/datepicker/date-range-input-parts.mjs +15 -15
  72. package/esm2022/datepicker/date-range-input.mjs +6 -6
  73. package/esm2022/datepicker/date-range-picker.mjs +3 -3
  74. package/esm2022/datepicker/date-range-selection-strategy.mjs +4 -4
  75. package/esm2022/datepicker/date-selection-model.mjs +12 -12
  76. package/esm2022/datepicker/datepicker-actions.mjs +13 -13
  77. package/esm2022/datepicker/datepicker-base.mjs +11 -11
  78. package/esm2022/datepicker/datepicker-input-base.mjs +6 -6
  79. package/esm2022/datepicker/datepicker-input.mjs +6 -6
  80. package/esm2022/datepicker/datepicker-intl.mjs +3 -3
  81. package/esm2022/datepicker/datepicker-module.mjs +4 -4
  82. package/esm2022/datepicker/datepicker-toggle.mjs +9 -9
  83. package/esm2022/datepicker/datepicker.mjs +3 -3
  84. package/esm2022/datepicker/month-view.mjs +6 -6
  85. package/esm2022/datepicker/multi-year-view.mjs +6 -6
  86. package/esm2022/datepicker/year-view.mjs +6 -6
  87. package/esm2022/dialog/dialog-container.mjs +8 -7
  88. package/esm2022/dialog/dialog-content-directives.mjs +21 -17
  89. package/esm2022/dialog/dialog.mjs +26 -11
  90. package/esm2022/dialog/module.mjs +18 -26
  91. package/esm2022/divider/divider-module.mjs +4 -4
  92. package/esm2022/divider/divider.mjs +3 -3
  93. package/esm2022/expansion/accordion.mjs +3 -3
  94. package/esm2022/expansion/expansion-module.mjs +4 -4
  95. package/esm2022/expansion/expansion-panel-content.mjs +5 -5
  96. package/esm2022/expansion/expansion-panel-header.mjs +12 -12
  97. package/esm2022/expansion/expansion-panel.mjs +9 -9
  98. package/esm2022/form-field/directives/error.mjs +6 -6
  99. package/esm2022/form-field/directives/floating-label.mjs +5 -5
  100. package/esm2022/form-field/directives/hint.mjs +3 -3
  101. package/esm2022/form-field/directives/label.mjs +3 -3
  102. package/esm2022/form-field/directives/line-ripple.mjs +4 -4
  103. package/esm2022/form-field/directives/notched-outline.mjs +5 -5
  104. package/esm2022/form-field/directives/prefix.mjs +3 -3
  105. package/esm2022/form-field/directives/suffix.mjs +3 -3
  106. package/esm2022/form-field/form-field-control.mjs +3 -3
  107. package/esm2022/form-field/form-field.mjs +6 -6
  108. package/esm2022/form-field/module.mjs +4 -4
  109. package/esm2022/grid-list/grid-list-module.mjs +4 -4
  110. package/esm2022/grid-list/grid-list.mjs +6 -6
  111. package/esm2022/grid-list/grid-tile.mjs +19 -19
  112. package/esm2022/icon/icon-module.mjs +4 -4
  113. package/esm2022/icon/icon-registry.mjs +5 -5
  114. package/esm2022/icon/icon.mjs +6 -6
  115. package/esm2022/icon/testing/fake-icon-registry.mjs +7 -7
  116. package/esm2022/input/input.mjs +6 -6
  117. package/esm2022/input/module.mjs +4 -4
  118. package/esm2022/list/action-list.mjs +3 -3
  119. package/esm2022/list/list-base.mjs +9 -9
  120. package/esm2022/list/list-item-sections.mjs +22 -22
  121. package/esm2022/list/list-module.mjs +4 -4
  122. package/esm2022/list/list-option.mjs +6 -6
  123. package/esm2022/list/list.mjs +9 -9
  124. package/esm2022/list/nav-list.mjs +3 -3
  125. package/esm2022/list/selection-list.mjs +5 -5
  126. package/esm2022/list/subheader.mjs +3 -3
  127. package/esm2022/menu/menu-content.mjs +5 -5
  128. package/esm2022/menu/menu-item.mjs +6 -6
  129. package/esm2022/menu/menu-trigger.mjs +6 -6
  130. package/esm2022/menu/menu.mjs +7 -7
  131. package/esm2022/menu/module.mjs +4 -4
  132. package/esm2022/paginator/module.mjs +4 -4
  133. package/esm2022/paginator/paginator-intl.mjs +3 -3
  134. package/esm2022/paginator/paginator.mjs +6 -6
  135. package/esm2022/progress-bar/module.mjs +4 -4
  136. package/esm2022/progress-bar/progress-bar.mjs +6 -6
  137. package/esm2022/progress-spinner/module.mjs +4 -4
  138. package/esm2022/progress-spinner/progress-spinner.mjs +6 -6
  139. package/esm2022/radio/module.mjs +4 -4
  140. package/esm2022/radio/radio.mjs +10 -10
  141. package/esm2022/select/module.mjs +4 -4
  142. package/esm2022/select/select.mjs +9 -9
  143. package/esm2022/sidenav/drawer.mjs +18 -18
  144. package/esm2022/sidenav/sidenav-module.mjs +4 -4
  145. package/esm2022/sidenav/sidenav.mjs +14 -14
  146. package/esm2022/slide-toggle/module.mjs +8 -8
  147. package/esm2022/slide-toggle/slide-toggle-required-validator.mjs +3 -3
  148. package/esm2022/slide-toggle/slide-toggle.mjs +7 -7
  149. package/esm2022/slider/module.mjs +4 -4
  150. package/esm2022/slider/slider-input.mjs +11 -11
  151. package/esm2022/slider/slider-thumb.mjs +6 -6
  152. package/esm2022/slider/slider.mjs +6 -6
  153. package/esm2022/snack-bar/module.mjs +22 -26
  154. package/esm2022/snack-bar/simple-snack-bar.mjs +12 -10
  155. package/esm2022/snack-bar/snack-bar-container.mjs +7 -7
  156. package/esm2022/snack-bar/snack-bar-content.mjs +13 -10
  157. package/esm2022/snack-bar/snack-bar.mjs +7 -8
  158. package/esm2022/sort/sort-header-intl.mjs +3 -3
  159. package/esm2022/sort/sort-header.mjs +6 -6
  160. package/esm2022/sort/sort-module.mjs +4 -4
  161. package/esm2022/sort/sort.mjs +6 -6
  162. package/esm2022/stepper/step-content.mjs +4 -4
  163. package/esm2022/stepper/step-header.mjs +5 -5
  164. package/esm2022/stepper/step-label.mjs +3 -3
  165. package/esm2022/stepper/stepper-button.mjs +6 -6
  166. package/esm2022/stepper/stepper-icon.mjs +5 -5
  167. package/esm2022/stepper/stepper-intl.mjs +3 -3
  168. package/esm2022/stepper/stepper-module.mjs +4 -4
  169. package/esm2022/stepper/stepper.mjs +11 -11
  170. package/esm2022/table/cell.mjs +21 -21
  171. package/esm2022/table/module.mjs +4 -4
  172. package/esm2022/table/row.mjs +21 -21
  173. package/esm2022/table/table.mjs +8 -8
  174. package/esm2022/table/text-column.mjs +3 -3
  175. package/esm2022/tabs/module.mjs +4 -4
  176. package/esm2022/tabs/paginated-tab-header.mjs +6 -6
  177. package/esm2022/tabs/tab-body.mjs +11 -11
  178. package/esm2022/tabs/tab-content.mjs +4 -4
  179. package/esm2022/tabs/tab-group.mjs +6 -6
  180. package/esm2022/tabs/tab-header.mjs +7 -7
  181. package/esm2022/tabs/tab-label-wrapper.mjs +4 -4
  182. package/esm2022/tabs/tab-label.mjs +5 -5
  183. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +22 -20
  184. package/esm2022/tabs/tab.mjs +6 -6
  185. package/esm2022/toolbar/toolbar-module.mjs +4 -4
  186. package/esm2022/toolbar/toolbar.mjs +9 -9
  187. package/esm2022/tooltip/module.mjs +4 -4
  188. package/esm2022/tooltip/tooltip.mjs +11 -11
  189. package/esm2022/tree/node.mjs +14 -14
  190. package/esm2022/tree/outlet.mjs +5 -5
  191. package/esm2022/tree/padding.mjs +3 -3
  192. package/esm2022/tree/toggle.mjs +3 -3
  193. package/esm2022/tree/tree-module.mjs +4 -4
  194. package/esm2022/tree/tree.mjs +3 -3
  195. package/expansion/_expansion-theme.scss +5 -0
  196. package/fesm2022/autocomplete.mjs +29 -19
  197. package/fesm2022/autocomplete.mjs.map +1 -1
  198. package/fesm2022/badge.mjs +9 -9
  199. package/fesm2022/badge.mjs.map +1 -1
  200. package/fesm2022/bottom-sheet.mjs +15 -15
  201. package/fesm2022/bottom-sheet.mjs.map +1 -1
  202. package/fesm2022/button-toggle.mjs +15 -15
  203. package/fesm2022/button-toggle.mjs.map +1 -1
  204. package/fesm2022/button.mjs +54 -54
  205. package/fesm2022/button.mjs.map +1 -1
  206. package/fesm2022/card.mjs +48 -48
  207. package/fesm2022/card.mjs.map +1 -1
  208. package/fesm2022/checkbox.mjs +16 -16
  209. package/fesm2022/checkbox.mjs.map +1 -1
  210. package/fesm2022/chips.mjs +59 -59
  211. package/fesm2022/chips.mjs.map +1 -1
  212. package/fesm2022/core.mjs +69 -69
  213. package/fesm2022/core.mjs.map +1 -1
  214. package/fesm2022/datepicker.mjs +118 -118
  215. package/fesm2022/datepicker.mjs.map +1 -1
  216. package/fesm2022/dialog.mjs +67 -56
  217. package/fesm2022/dialog.mjs.map +1 -1
  218. package/fesm2022/divider.mjs +7 -7
  219. package/fesm2022/expansion.mjs +31 -31
  220. package/fesm2022/expansion.mjs.map +1 -1
  221. package/fesm2022/form-field.mjs +41 -41
  222. package/fesm2022/form-field.mjs.map +1 -1
  223. package/fesm2022/grid-list.mjs +27 -27
  224. package/fesm2022/grid-list.mjs.map +1 -1
  225. package/fesm2022/icon/testing.mjs +7 -7
  226. package/fesm2022/icon.mjs +14 -14
  227. package/fesm2022/icon.mjs.map +1 -1
  228. package/fesm2022/input.mjs +9 -9
  229. package/fesm2022/input.mjs.map +1 -1
  230. package/fesm2022/list.mjs +60 -60
  231. package/fesm2022/list.mjs.map +1 -1
  232. package/fesm2022/menu.mjs +25 -25
  233. package/fesm2022/menu.mjs.map +1 -1
  234. package/fesm2022/paginator.mjs +12 -12
  235. package/fesm2022/paginator.mjs.map +1 -1
  236. package/fesm2022/progress-bar.mjs +9 -9
  237. package/fesm2022/progress-bar.mjs.map +1 -1
  238. package/fesm2022/progress-spinner.mjs +9 -9
  239. package/fesm2022/progress-spinner.mjs.map +1 -1
  240. package/fesm2022/radio.mjs +13 -13
  241. package/fesm2022/radio.mjs.map +1 -1
  242. package/fesm2022/select.mjs +12 -12
  243. package/fesm2022/select.mjs.map +1 -1
  244. package/fesm2022/sidenav.mjs +34 -34
  245. package/fesm2022/sidenav.mjs.map +1 -1
  246. package/fesm2022/slide-toggle.mjs +17 -17
  247. package/fesm2022/slide-toggle.mjs.map +1 -1
  248. package/fesm2022/slider.mjs +24 -24
  249. package/fesm2022/slider.mjs.map +1 -1
  250. package/fesm2022/snack-bar.mjs +65 -66
  251. package/fesm2022/snack-bar.mjs.map +1 -1
  252. package/fesm2022/sort.mjs +17 -17
  253. package/fesm2022/sort.mjs.map +1 -1
  254. package/fesm2022/stepper.mjs +38 -38
  255. package/fesm2022/stepper.mjs.map +1 -1
  256. package/fesm2022/table.mjs +57 -57
  257. package/fesm2022/table.mjs.map +1 -1
  258. package/fesm2022/tabs.mjs +69 -67
  259. package/fesm2022/tabs.mjs.map +1 -1
  260. package/fesm2022/toolbar.mjs +12 -12
  261. package/fesm2022/toolbar.mjs.map +1 -1
  262. package/fesm2022/tooltip.mjs +14 -14
  263. package/fesm2022/tooltip.mjs.map +1 -1
  264. package/fesm2022/tree.mjs +31 -31
  265. package/fesm2022/tree.mjs.map +1 -1
  266. package/form-field/_form-field-theme.scss +5 -0
  267. package/grid-list/_grid-list-theme.scss +2 -0
  268. package/icon/_icon-theme.scss +3 -0
  269. package/input/_input-theme.scss +3 -0
  270. package/list/_list-theme.scss +5 -0
  271. package/menu/_menu-theme.scss +8 -0
  272. package/package.json +2 -2
  273. package/paginator/_paginator-theme.scss +3 -0
  274. package/prebuilt-themes/deeppurple-amber.css +1 -1
  275. package/prebuilt-themes/indigo-pink.css +1 -1
  276. package/prebuilt-themes/pink-bluegrey.css +1 -1
  277. package/prebuilt-themes/purple-green.css +1 -1
  278. package/progress-bar/_progress-bar-theme.scss +40 -19
  279. package/progress-spinner/_progress-spinner-theme.scss +37 -17
  280. package/radio/_radio-theme.scss +80 -43
  281. package/schematics/ng-add/index.js +1 -1
  282. package/schematics/ng-add/index.mjs +1 -1
  283. package/schematics/ng-add/theming/theming.js +3 -4
  284. package/schematics/ng-add/theming/theming.mjs +3 -4
  285. package/schematics/ng-generate/mdc-migration/index_bundled.js +1554 -593
  286. package/schematics/ng-generate/mdc-migration/index_bundled.js.map +4 -4
  287. package/schematics/ng-update/index_bundled.js +25 -25
  288. package/select/_select-theme.scss +3 -0
  289. package/sidenav/_sidenav-theme.scss +8 -0
  290. package/slide-toggle/_slide-toggle-theme.scss +7 -0
  291. package/slider/_slider-theme.scss +16 -16
  292. package/snack-bar/index.d.ts +13 -14
  293. package/sort/_sort-theme.scss +5 -0
  294. package/stepper/_stepper-theme.scss +3 -0
  295. package/table/_table-theme.scss +9 -11
  296. package/tabs/_tabs-common.scss +0 -10
  297. package/tabs/_tabs-theme.scss +15 -0
  298. package/toolbar/_toolbar-theme.scss +3 -0
  299. package/tree/_tree-theme.scss +5 -0
package/_index.scss CHANGED
@@ -52,59 +52,62 @@
52
52
  @forward './core/typography/all-typography' show all-component-typographies;
53
53
 
54
54
  // Component themes
55
- @forward './core/core-theme' as core-* show core-color, core-theme, core-typography, core-density;
56
- @forward './core/ripple/ripple-theme' as ripple-* show ripple-color, ripple-theme;
55
+ @forward './core/core-theme' as core-* show core-color, core-theme, core-typography, core-density,
56
+ core-base;
57
+ @forward './core/ripple/ripple-theme' as ripple-* show ripple-color, ripple-theme, ripple-base;
57
58
  @forward './core/option/option-theme' as option-* show option-color, option-typography,
58
- option-theme, option-density;
59
+ option-theme, option-density, option-base;
59
60
  @forward './core/option/optgroup-theme' as optgroup-* show optgroup-color, optgroup-typography,
60
- optgroup-theme, optgroup-density;
61
+ optgroup-theme, optgroup-density, optgroup-base;
61
62
  @forward './core/selection/pseudo-checkbox/pseudo-checkbox-theme' as pseudo-checkbox-* show
62
- pseudo-checkbox-color, pseudo-checkbox-typography, pseudo-checkbox-theme;
63
+ pseudo-checkbox-color, pseudo-checkbox-typography, pseudo-checkbox-theme, pseudo-checkbox-base;
63
64
  @forward './core/selection/pseudo-checkbox/pseudo-checkbox-common' as pseudo-checkbox-* show
64
65
  pseudo-checkbox-legacy-size;
65
66
  @forward './core/focus-indicators/focus-indicators-theme' as strong-focus-indicators-* show
66
67
  strong-focus-indicators-color, strong-focus-indicators-theme;
67
68
  @forward './autocomplete/autocomplete-theme' as autocomplete-* show autocomplete-theme,
68
- autocomplete-color, autocomplete-typography, autocomplete-density;
69
+ autocomplete-color, autocomplete-typography, autocomplete-density, autocomplete-base;
69
70
  @forward './badge/badge-theme' as badge-* show badge-theme, badge-color, badge-typography,
70
- badge-density;
71
+ badge-density, badge-base;
71
72
  @forward './bottom-sheet/bottom-sheet-theme' as bottom-sheet-* show bottom-sheet-theme,
72
- bottom-sheet-color, bottom-sheet-typography, bottom-sheet-density;
73
+ bottom-sheet-color, bottom-sheet-typography, bottom-sheet-density, bottom-sheet-base;
73
74
  @forward './button/button-theme' as button-* show button-theme, button-color, button-typography,
74
- button-density;
75
+ button-density, button-base;
75
76
  @forward './button/fab-theme' as fab-* show fab-color, fab-typography,
76
77
  fab-density, fab-theme, fab-base;
77
78
  @forward './button/icon-button-theme' as icon-button-* show icon-button-color,
78
- icon-button-typography, icon-button-density, icon-button-theme;
79
+ icon-button-typography, icon-button-density, icon-button-theme, icon-button-base;
79
80
  @forward './button-toggle/button-toggle-theme' as button-toggle-* show button-toggle-theme,
80
- button-toggle-color, button-toggle-typography, button-toggle-density;
81
+ button-toggle-color, button-toggle-typography, button-toggle-density, button-toggle-base;
81
82
  @forward './card/card-theme' as card-* show card-theme, card-color, card-typography, card-density,
82
83
  card-base;
83
84
  @forward './checkbox/checkbox-theme' as checkbox-* show checkbox-theme, checkbox-color,
84
85
  checkbox-typography, checkbox-density, checkbox-base;
85
86
  @forward './chips/chips-theme' as chips-* show chips-theme, chips-color, chips-typography,
86
- chips-density;
87
+ chips-density, chips-base;
87
88
  @forward './datepicker/datepicker-theme' as datepicker-* show datepicker-theme, datepicker-color,
88
- datepicker-typography, datepicker-date-range-colors, datepicker-density;
89
+ datepicker-typography, datepicker-date-range-colors, datepicker-density, datepicker-base;
89
90
  @forward './dialog/dialog-theme' as dialog-* show dialog-theme, dialog-color, dialog-typography,
90
91
  dialog-density, dialog-base;
91
92
  @forward './dialog/dialog-legacy-padding' as dialog-* show dialog-legacy-padding;
92
93
  @forward './divider/divider-theme' as divider-* show divider-theme, divider-color,
93
- divider-typography, divider-density;
94
+ divider-typography, divider-density, divider-base;
94
95
  @forward './expansion/expansion-theme' as expansion-* show expansion-theme, expansion-color,
95
- expansion-typography, expansion-density;
96
+ expansion-typography, expansion-density, expansion-base;
96
97
  @forward './form-field/form-field-theme' as form-field-* show form-field-theme,
97
- form-field-color, form-field-typography, form-field-density;
98
+ form-field-color, form-field-typography, form-field-density, form-field-base;
98
99
  @forward './grid-list/grid-list-theme' as grid-list-* show grid-list-theme, grid-list-color,
99
- grid-list-typography, grid-list-density;
100
- @forward './icon/icon-theme' as icon-* show icon-theme, icon-color, icon-typography, icon-density;
100
+ grid-list-typography, grid-list-density, grid-list-base;
101
+ @forward './icon/icon-theme' as icon-* show icon-theme, icon-color, icon-typography, icon-density,
102
+ icon-base;
101
103
  @forward './input/input-theme' as input-* show input-theme, input-color, input-typography,
102
- input-density;
104
+ input-density, input-base;
103
105
  @forward './list/list-theme' as list-* show list-theme, list-color, list-typography,
104
- list-density, list-base;
105
- @forward './menu/menu-theme' as menu-* show menu-theme, menu-color, menu-typography, menu-density;
106
+ list-density, list-base;
107
+ @forward './menu/menu-theme' as menu-* show menu-theme, menu-color, menu-typography, menu-density,
108
+ menu-base;
106
109
  @forward './paginator/paginator-theme' as paginator-* show paginator-theme, paginator-color,
107
- paginator-typography, paginator-density;
110
+ paginator-typography, paginator-density, paginator-base;
108
111
  @forward './progress-bar/progress-bar-theme' as progress-bar-* show
109
112
  progress-bar-theme, progress-bar-color, progress-bar-typography,
110
113
  progress-bar-density, progress-bar-base;
@@ -114,26 +117,30 @@ list-density, list-base;
114
117
  @forward './radio/radio-theme' as radio-* show radio-theme, radio-color, radio-typography,
115
118
  radio-density, radio-base;
116
119
  @forward './select/select-theme' as select-* show select-theme, select-color, select-typography,
117
- select-density;
120
+ select-density, select-base;
118
121
  @forward './sidenav/sidenav-theme' as sidenav-* show sidenav-theme, sidenav-color,
119
- sidenav-typography, sidenav-density;
122
+ sidenav-typography, sidenav-density, sidenav-base;
120
123
  @forward './slide-toggle/slide-toggle-theme' as slide-toggle-* show
121
- slide-toggle-theme, slide-toggle-color, slide-toggle-typography, slide-toggle-density;
124
+ slide-toggle-theme, slide-toggle-color, slide-toggle-typography, slide-toggle-density,
125
+ slide-toggle-base;
122
126
  @forward './slider/slider-theme' as slider-* show slider-theme, slider-color, slider-typography,
123
127
  slider-density, slider-base;
124
128
  @forward './snack-bar/snack-bar-theme' as snack-bar-* show snack-bar-theme, snack-bar-color,
125
129
  snack-bar-typography, snack-bar-density, snack-bar-base;
126
- @forward './sort/sort-theme' as sort-* show sort-theme, sort-color, sort-typography, sort-density;
130
+ @forward './sort/sort-theme' as sort-* show sort-theme, sort-color, sort-typography, sort-density,
131
+ sort-base;
127
132
  @forward './stepper/stepper-theme' as stepper-* show stepper-theme, stepper-color,
128
- stepper-typography, stepper-density;
133
+ stepper-typography, stepper-density, stepper-base;
129
134
  @forward './table/table-theme' as table-* show table-theme, table-color, table-typography,
130
- table-density;
131
- @forward './tabs/tabs-theme' as tabs-* show tabs-theme, tabs-color, tabs-typography, tabs-density;
135
+ table-density, table-base;
136
+ @forward './tabs/tabs-theme' as tabs-* show tabs-theme, tabs-color, tabs-typography, tabs-density,
137
+ tabs-base;
132
138
  @forward './toolbar/toolbar-theme' as toolbar-* show toolbar-theme, toolbar-color,
133
- toolbar-typography, toolbar-density;
139
+ toolbar-typography, toolbar-density, toolbar-base;
134
140
  @forward './tooltip/tooltip-theme' as tooltip-* show tooltip-theme, tooltip-color,
135
141
  tooltip-typography, tooltip-density, tooltip-base;
136
- @forward './tree/tree-theme' as tree-* show tree-theme, tree-color, tree-typography, tree-density;
142
+ @forward './tree/tree-theme' as tree-* show tree-theme, tree-color, tree-typography, tree-density,
143
+ tree-base;
137
144
 
138
145
  // MDC Helpers
139
146
  @forward './core/mdc-helpers/mdc-helpers' as private-* show private-using-mdc-theme,
@@ -142,7 +149,6 @@ list-density, list-base;
142
149
  $private-mdc-base-styles-query, $private-mdc-base-styles-without-animation-query,
143
150
  $private-mdc-theme-styles-query, $private-mdc-typography-styles-query;
144
151
 
145
- // New theming APIs, currently in development:
146
- @forward './core/theming/inspection' as private-* show private-get-theme-version,
147
- private-get-theme-type, private-get-theme-color, private-get-theme-typography,
148
- private-get-theme-density, private-theme-has;
152
+ // New theming APIs:
153
+ @forward './core/theming/inspection' show get-theme-version, get-theme-type, get-theme-color,
154
+ get-theme-typography, get-theme-density, theme-has;
@@ -5,6 +5,8 @@
5
5
  @use '../core/tokens/token-utils';
6
6
  @use '../core/tokens/m2/mat/autocomplete' as tokens-mat-autocomplete;
7
7
 
8
+ @mixin base($theme) {}
9
+
8
10
  @mixin color($theme) {
9
11
  @include sass-utils.current-selector-or-root() {
10
12
  @include token-utils.create-token-values(tokens-mat-autocomplete.$prefix,
@@ -18,6 +20,7 @@
18
20
 
19
21
  @mixin theme($theme) {
20
22
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-autocomplete') {
23
+ @include base($theme);
21
24
  @if inspection.theme-has($theme, color) {
22
25
  @include color($theme);
23
26
  }
@@ -164,6 +164,8 @@ $_emit-fallback-vars: true;
164
164
  }
165
165
  }
166
166
 
167
+ @mixin base($theme) {}
168
+
167
169
  @mixin color($theme) {
168
170
  @include sass-utils.current-selector-or-root() {
169
171
  @include token-utils.create-token-values(tokens-mat-badge.$prefix,
@@ -204,6 +206,7 @@ $_emit-fallback-vars: true;
204
206
  }
205
207
  }
206
208
 
209
+ @include base($theme);
207
210
  @if inspection.theme-has($theme, color) {
208
211
  @include color($theme);
209
212
  }
@@ -5,6 +5,13 @@
5
5
  @use '../core/tokens/token-utils';
6
6
  @use '../core/tokens/m2/mat/bottom-sheet' as tokens-mat-bottom-sheet;
7
7
 
8
+ @mixin base($theme) {
9
+ @include sass-utils.current-selector-or-root() {
10
+ @include token-utils.create-token-values(
11
+ tokens-mat-bottom-sheet.$prefix, tokens-mat-bottom-sheet.get-unthemable-tokens());
12
+ }
13
+ }
14
+
8
15
  @mixin color($theme) {
9
16
  @include sass-utils.current-selector-or-root() {
10
17
  @include token-utils.create-token-values(tokens-mat-bottom-sheet.$prefix,
@@ -23,6 +30,7 @@
23
30
 
24
31
  @mixin theme($theme) {
25
32
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-bottom-sheet') {
33
+ @include base($theme);
26
34
  @if inspection.theme-has($theme, color) {
27
35
  @include color($theme);
28
36
  }
@@ -32,6 +32,10 @@
32
32
  ));
33
33
  }
34
34
 
35
+ @mixin base($theme) {
36
+ // TODO(mmalerba): Move button base tokens here
37
+ }
38
+
35
39
  @mixin color($theme) {
36
40
  @include mdc-helpers.using-mdc-theme($theme) {
37
41
  $is-dark: inspection.get-theme-type($theme) == dark;
@@ -155,9 +159,13 @@
155
159
  $surface,
156
160
  $on-surface
157
161
  );
158
- $primary-color-tokens: tokens-mdc-button-filled.get-color-tokens($theme, $primary, $on-primary);
159
- $accent-color-tokens: tokens-mdc-button-filled.get-color-tokens($theme, $accent, $on-accent);
160
- $warn-color-tokens: tokens-mdc-button-filled.get-color-tokens($theme, $error, $on-error);
162
+ $primary-color-tokens: tokens-mdc-button-protected.get-color-tokens(
163
+ $theme,
164
+ $primary,
165
+ $on-primary
166
+ );
167
+ $accent-color-tokens: tokens-mdc-button-protected.get-color-tokens($theme, $accent, $on-accent);
168
+ $warn-color-tokens: tokens-mdc-button-protected.get-color-tokens($theme, $error, $on-error);
161
169
 
162
170
  &.mat-unthemed {
163
171
  @include mdc-button-protected-theme.theme($default-color-tokens);
@@ -226,9 +234,19 @@
226
234
  @mixin density($theme) {
227
235
  $density-scale: theming.clamp-density(inspection.get-theme-density($theme), -3);
228
236
 
237
+ .mat-mdc-raised-button {
238
+ $density-tokens: tokens-mdc-button-protected.get-density-tokens($theme);
239
+ @include mdc-button-protected-theme.theme($density-tokens);
240
+ @include button-theme-private.touch-target-density($density-scale);
241
+ }
242
+
243
+ .mat-mdc-unelevated-button {
244
+ $density-tokens: tokens-mdc-button-filled.get-density-tokens($theme);
245
+ @include mdc-button-filled-theme.theme($density-tokens);
246
+ @include button-theme-private.touch-target-density($density-scale);
247
+ }
248
+
229
249
  .mat-mdc-button,
230
- .mat-mdc-raised-button,
231
- .mat-mdc-unelevated-button,
232
250
  .mat-mdc-outlined-button {
233
251
  // Use `mat-mdc-button-base` to increase the specificity over the button's structural styles.
234
252
  &.mat-mdc-button-base {
@@ -240,6 +258,7 @@
240
258
 
241
259
  @mixin theme($theme) {
242
260
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-button') {
261
+ @include base($theme);
243
262
  @if inspection.theme-has($theme, color) {
244
263
  @include color($theme);
245
264
  }
@@ -51,32 +51,36 @@
51
51
  $disabled: rgba($on-surface, 0.12);
52
52
  $on-disabled: rgba($on-surface, if($is-dark, 0.5, 0.38));
53
53
 
54
- .mat-mdc-fab,
55
- .mat-mdc-mini-fab {
54
+ @include sass-utils.current-selector-or-root() {
56
55
  // TODO(wagnermaciel): The ripple-theme-styles mixin depends heavily on
57
56
  // being wrapped by using-mdc-theme. This workaround needs to be
58
57
  // revisited w/ a more holistic solution.
59
- @include mdc-helpers.using-mdc-theme($theme) {
60
- @include button-theme-private.ripple-theme-styles($theme, true);
58
+ .mat-mdc-fab,
59
+ .mat-mdc-mini-fab {
60
+ @include mdc-helpers.using-mdc-theme($theme) {
61
+ @include button-theme-private.ripple-theme-styles($theme, true);
62
+ }
61
63
  }
62
64
 
63
- @include button-theme-private.apply-disabled-style() {
64
- @include _fab-variant($on-disabled, $disabled);
65
+ :disabled, a[disabled='true'] {
66
+ @include button-theme-private.apply-disabled-style() {
67
+ @include _fab-variant($on-disabled, $disabled);
68
+ }
65
69
  }
66
70
 
67
- &.mat-unthemed {
71
+ .mat-unthemed {
68
72
  @include _fab-variant($on-surface, $surface);
69
73
  }
70
74
 
71
- &.mat-primary {
75
+ .mat-primary {
72
76
  @include _fab-variant($on-primary, $primary);
73
77
  }
74
78
 
75
- &.mat-accent {
79
+ .mat-accent {
76
80
  @include _fab-variant($on-accent, $accent);
77
81
  }
78
82
 
79
- &.mat-warn {
83
+ .mat-warn {
80
84
  @include _fab-variant($on-warn, $warn);
81
85
  }
82
86
  }
@@ -88,7 +92,7 @@
88
92
  }
89
93
 
90
94
  $typography-tokens: tokens-mdc-extended-fab.get-typography-tokens($theme);
91
- .mat-mdc-extended-fab {
95
+ @include sass-utils.current-selector-or-root() {
92
96
  @include mdc-extended-fab-theme.theme($typography-tokens);
93
97
  }
94
98
  }
@@ -23,6 +23,10 @@ $_icon-size: 24px;
23
23
  @return if($is-dark, 'light', 'dark');
24
24
  }
25
25
 
26
+ @mixin base($theme) {
27
+ // TODO(mmalerba): Move icon button base tokens here
28
+ }
29
+
26
30
  @mixin color($theme) {
27
31
  $color-tokens: tokens-mdc-icon-button.get-color-tokens($theme);
28
32
  $surface: inspection.get-theme-color($theme, background, card);
@@ -104,6 +108,7 @@ $_icon-size: 24px;
104
108
 
105
109
  @mixin theme($theme) {
106
110
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-icon-button') {
111
+ @include base($theme);
107
112
  @if inspection.theme-has($theme, color) {
108
113
  @include color($theme);
109
114
  }
@@ -6,6 +6,19 @@
6
6
  @use '../core/tokens/token-utils';
7
7
  @use '../core/style/sass-utils';
8
8
 
9
+ @mixin base($theme) {
10
+ @include sass-utils.current-selector-or-root() {
11
+ @include token-utils.create-token-values(
12
+ tokens-mat-legacy-button-toggle.$prefix,
13
+ tokens-mat-legacy-button-toggle.get-unthemable-tokens()
14
+ );
15
+ @include token-utils.create-token-values(
16
+ tokens-mat-standard-button-toggle.$prefix,
17
+ tokens-mat-standard-button-toggle.get-unthemable-tokens()
18
+ );
19
+ }
20
+ }
21
+
9
22
  @mixin color($theme) {
10
23
  @include sass-utils.current-selector-or-root() {
11
24
  @include token-utils.create-token-values(tokens-mat-legacy-button-toggle.$prefix,
@@ -35,6 +48,7 @@
35
48
 
36
49
  @mixin theme($theme) {
37
50
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-button-toggle') {
51
+ @include base($theme);
38
52
  @if inspection.theme-has($theme, color) {
39
53
  @include color($theme);
40
54
  }
@@ -5,6 +5,12 @@
5
5
  @use '../core/theming/inspection';
6
6
  @use '../core/typography/typography';
7
7
 
8
+ @mixin base($theme) {
9
+ .mat-mdc-standard-chip {
10
+ @include mdc-chip-theme.theme(tokens-mdc-chip.get-unthemable-tokens());
11
+ }
12
+ }
13
+
8
14
  @mixin color($theme) {
9
15
  .mat-mdc-standard-chip {
10
16
  $default-color-tokens: tokens-mdc-chip.get-color-tokens($theme);
@@ -48,6 +54,7 @@
48
54
 
49
55
  @mixin theme($theme) {
50
56
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-chips') {
57
+ @include base($theme);
51
58
  @if inspection.theme-has($theme, color) {
52
59
  @include color($theme);
53
60
  }
@@ -8,6 +8,14 @@
8
8
  @use './style/elevation';
9
9
  @use './typography/typography';
10
10
 
11
+ @mixin base($theme) {
12
+ @include ripple-theme.base($theme);
13
+ @include option-theme.base($theme);
14
+ @include optgroup-theme.base($theme);
15
+ @include pseudo-checkbox-theme.base($theme);
16
+ // TODO(mmalerba): Move additional core base tokens here
17
+ }
18
+
11
19
  @mixin color($theme) {
12
20
  @include ripple-theme.color($theme);
13
21
  @include option-theme.color($theme);
@@ -64,6 +72,7 @@
64
72
  // there won't be multiple warnings. e.g. if `mat-core-theme` reports a warning, then
65
73
  // the imported themes (such as `mat-ripple-theme`) should not report again.
66
74
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-core') {
75
+ @include base($theme);
67
76
  @if inspection.theme-has($theme, color) {
68
77
  @include color($theme);
69
78
  }
@@ -6,6 +6,8 @@
6
6
  @use '../theming/inspection';
7
7
  @use '../typography/typography';
8
8
 
9
+ @mixin base($theme) {}
10
+
9
11
  @mixin color($theme) {
10
12
  @include sass-utils.current-selector-or-root() {
11
13
  @include token-utils.create-token-values(tokens-mat-optgroup.$prefix,
@@ -25,6 +27,7 @@
25
27
 
26
28
  @mixin theme($theme) {
27
29
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-optgroup') {
30
+ @include base($theme);
28
31
  @if inspection.theme-has($theme, color) {
29
32
  @include color($theme);
30
33
  }
@@ -6,6 +6,8 @@
6
6
  @use '../theming/inspection';
7
7
  @use '../typography/typography';
8
8
 
9
+ @mixin base($theme) {}
10
+
9
11
  @mixin color($theme) {
10
12
  @include sass-utils.current-selector-or-root() {
11
13
  @include token-utils.create-token-values(tokens-mat-option.$prefix,
@@ -35,6 +37,7 @@
35
37
 
36
38
  @mixin theme($theme) {
37
39
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-option') {
40
+ @include base($theme);
38
41
  @if inspection.theme-has($theme, color) {
39
42
  @include color($theme);
40
43
  }
@@ -2,6 +2,10 @@
2
2
  @use '../theming/theming';
3
3
  @use '../theming/inspection';
4
4
 
5
+ @mixin base($theme) {
6
+ // TODO(mmalerba): Move ripple base tokens here
7
+ }
8
+
5
9
  // Colors for the ripple elements.
6
10
  @mixin color($theme) {
7
11
  $foreground-base: inspection.get-theme-color($theme, foreground, base);
@@ -22,6 +26,7 @@
22
26
 
23
27
  @mixin theme($theme) {
24
28
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-ripple') {
29
+ @include base($theme);
25
30
  @if inspection.theme-has($theme, color) {
26
31
  @include color($theme);
27
32
  }
@@ -19,6 +19,10 @@
19
19
  }
20
20
  }
21
21
 
22
+ @mixin base($theme) {
23
+ // TODO(mmalerba): Move pseudo checkbox base tokens here
24
+ }
25
+
22
26
  @mixin color($theme) {
23
27
  $is-dark-theme: inspection.get-theme-type($theme) == dark;
24
28
  $primary: inspection.get-theme-color($theme, primary);
@@ -78,6 +82,7 @@
78
82
 
79
83
  @mixin theme($theme) {
80
84
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-pseudo-checkbox') {
85
+ @include base($theme);
81
86
  @if inspection.theme-has($theme, color) {
82
87
  @include color($theme);
83
88
  }
@@ -10,9 +10,14 @@
10
10
  /// @content Content to output under the current selector, or root selector if there is no current
11
11
  /// selector.
12
12
  @mixin current-selector-or-root($root: html) {
13
- @at-root #{& or $root} {
13
+ @if & {
14
14
  @content;
15
15
  }
16
+ @else {
17
+ #{$root} {
18
+ @content;
19
+ }
20
+ }
16
21
  }
17
22
 
18
23
  /// A version of the standard `map.merge` function that takes a variable number of arguments.
@@ -82,6 +82,46 @@
82
82
  }
83
83
  }
84
84
 
85
+ @mixin all-component-bases($theme) {
86
+ @include core-theme.base($theme);
87
+ @include card-theme.base($theme);
88
+ @include progress-bar-theme.base($theme);
89
+ @include tooltip-theme.base($theme);
90
+ @include form-field-theme.base($theme);
91
+ @include input-theme.base($theme);
92
+ @include select-theme.base($theme);
93
+ @include autocomplete-theme.base($theme);
94
+ @include dialog-theme.base($theme);
95
+ @include chips-theme.base($theme);
96
+ @include slide-toggle-theme.base($theme);
97
+ @include radio-theme.base($theme);
98
+ @include slider-theme.base($theme);
99
+ @include menu-theme.base($theme);
100
+ @include list-theme.base($theme);
101
+ @include paginator-theme.base($theme);
102
+ @include tabs-theme.base($theme);
103
+ @include checkbox-theme.base($theme);
104
+ @include button-theme.base($theme);
105
+ @include icon-button-theme.base($theme);
106
+ @include fab-theme.base($theme);
107
+ @include snack-bar-theme.base($theme);
108
+ @include table-theme.base($theme);
109
+ @include progress-spinner-theme.base($theme);
110
+ @include badge-theme.base($theme);
111
+ @include bottom-sheet-theme.base($theme);
112
+ @include button-toggle-theme.base($theme);
113
+ @include datepicker-theme.base($theme);
114
+ @include divider-theme.base($theme);
115
+ @include expansion-theme.base($theme);
116
+ @include grid-list-theme.base($theme);
117
+ @include icon-theme.base($theme);
118
+ @include sidenav-theme.base($theme);
119
+ @include stepper-theme.base($theme);
120
+ @include sort-theme.base($theme);
121
+ @include toolbar-theme.base($theme);
122
+ @include tree-theme.base($theme);
123
+ }
124
+
85
125
  // @deprecated Use `all-component-themes`.
86
126
  @mixin angular-material-theme($theme) {
87
127
  @include all-component-themes($theme);
@@ -1,7 +1,9 @@
1
+ @use 'sass:map';
1
2
  @use '../../token-utils';
2
3
  @use '../../../mdc-helpers/mdc-helpers';
3
4
  @use '../../../style/sass-utils';
4
5
  @use '../../../theming/inspection';
6
+ @use '../../../theming/theming';
5
7
 
6
8
  // The prefix used to generate the fully qualified name for tokens in this file.
7
9
  $prefix: (mdc, button-filled);
@@ -14,15 +16,16 @@ $prefix: (mdc, button-filled);
14
16
  // our CSS.
15
17
  @function get-unthemable-tokens() {
16
18
  @return (
17
- container-elevation: 0,
18
- container-height: 36px,
19
19
  container-shape: 4px,
20
+ container-elevation: 0,
20
21
  disabled-container-elevation: 0,
21
22
  focus-container-elevation: 0,
22
23
  hover-container-elevation: 0,
23
24
  keep-touch-target: false,
24
25
  pressed-container-elevation: 0,
25
26
 
27
+ focus-ring-color: null,
28
+ focus-ring-offset: null,
26
29
  focus-state-layer-opacity: null,
27
30
  hover-state-layer-opacity: null,
28
31
  pressed-state-layer-opacity: null,
@@ -77,7 +80,20 @@ $prefix: (mdc, button-filled);
77
80
 
78
81
  // Tokens that can be configured through Angular Material's density theming API.
79
82
  @function get-density-tokens($theme) {
80
- @return ();
83
+ $scale: theming.clamp-density(inspection.get-theme-density($theme), -3);
84
+
85
+ @return (
86
+ container-height:
87
+ map.get(
88
+ (
89
+ 0: 36px,
90
+ -1: 32px,
91
+ -2: 28px,
92
+ -3: 24px,
93
+ ),
94
+ $scale
95
+ )
96
+ );
81
97
  }
82
98
 
83
99
  // Combines the tokens generated by the above functions into a single map with placeholder values.
@@ -1,7 +1,9 @@
1
+ @use 'sass:map';
1
2
  @use '../../token-utils';
2
3
  @use '../../../mdc-helpers/mdc-helpers';
3
4
  @use '../../../style/sass-utils';
4
5
  @use '../../../theming/inspection';
6
+ @use '../../../theming/theming';
5
7
 
6
8
  // The prefix used to generate the fully qualified name for tokens in this file.
7
9
  $prefix: (mdc, button-protected);
@@ -15,7 +17,6 @@ $prefix: (mdc, button-protected);
15
17
  @function get-unthemable-tokens() {
16
18
  @return (
17
19
  container-shape: 4px,
18
- container-height: 36px,
19
20
  keep-touch-target: false,
20
21
 
21
22
  focus-ring-color: null,
@@ -68,7 +69,7 @@ $prefix: (mdc, button-protected);
68
69
  pressed-state-layer-color: $on-primary,
69
70
  label-text-color: if($on-color, $on-color, inherit),
70
71
  disabled-container-color: rgba($on-surface, 0.12),
71
- disabled-label-text-color: rgba($on-surface, 0.38)
72
+ disabled-label-text-color: rgba($on-surface, if($is-dark, 0.5, 0.38))
72
73
  );
73
74
  }
74
75
 
@@ -79,7 +80,19 @@ $prefix: (mdc, button-protected);
79
80
 
80
81
  // Tokens that can be configured through Angular Material's density theming API.
81
82
  @function get-density-tokens($theme) {
82
- @return ();
83
+ $scale: theming.clamp-density(inspection.get-theme-density($theme), -3);
84
+ @return (
85
+ container-height:
86
+ map.get(
87
+ (
88
+ 0: 36px,
89
+ -1: 32px,
90
+ -2: 28px,
91
+ -3: 24px,
92
+ ),
93
+ $scale
94
+ )
95
+ );
83
96
  }
84
97
 
85
98
  // Combines the tokens generated by the above functions into a single map with placeholder values.
@@ -27,6 +27,8 @@ $calendar-weekday-table-font-size: 11px !default;
27
27
  map.merge($calendar-tokens, $range-tokens));
28
28
  }
29
29
 
30
+ @mixin base($theme) {}
31
+
30
32
  @mixin color($theme) {
31
33
  @include sass-utils.current-selector-or-root() {
32
34
  @include token-utils.create-token-values(tokens-mat-datepicker.$prefix,
@@ -96,6 +98,7 @@ $calendar-weekday-table-font-size: 11px !default;
96
98
 
97
99
  @mixin theme($theme) {
98
100
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-datepicker') {
101
+ @include base($theme);
99
102
  @if inspection.theme-has($theme, color) {
100
103
  @include color($theme);
101
104
  }