@angular/material 17.1.0-next.0 → 17.1.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (427) hide show
  1. package/autocomplete/_autocomplete-theme.scss +47 -14
  2. package/autocomplete/index.d.ts +14 -10
  3. package/badge/_badge-theme.scss +67 -35
  4. package/badge/index.d.ts +5 -5
  5. package/bottom-sheet/_bottom-sheet-theme.scss +51 -18
  6. package/bottom-sheet/index.d.ts +6 -6
  7. package/button/_button-theme.scss +4 -1
  8. package/button/_fab-theme.scss +65 -32
  9. package/button/_icon-button-theme.scss +89 -56
  10. package/button/index.d.ts +13 -13
  11. package/button-toggle/_button-toggle-theme.scss +66 -32
  12. package/button-toggle/index.d.ts +5 -5
  13. package/card/index.d.ts +18 -18
  14. package/checkbox/_checkbox-theme.scss +5 -10
  15. package/checkbox/index.d.ts +29 -6
  16. package/chips/_chips-theme.scss +64 -32
  17. package/chips/index.d.ts +46 -73
  18. package/core/_core-theme.scss +1 -3
  19. package/core/index.d.ts +62 -31
  20. package/core/internal-form-field/_internal-form-field-theme.scss +37 -0
  21. package/core/option/_optgroup-theme.scss +47 -16
  22. package/core/option/_option-theme.scss +54 -23
  23. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +18 -58
  24. package/core/tokens/m2/_index.scss +38 -0
  25. package/core/tokens/m2/mat/_full-pseudo-checkbox.scss +49 -0
  26. package/core/tokens/m2/mat/_minimal-pseudo-checkbox.scss +43 -0
  27. package/core/tokens/m2/mdc/_form-field.scss +46 -0
  28. package/datepicker/_datepicker-theme.scss +70 -38
  29. package/datepicker/index.d.ts +88 -86
  30. package/dialog/_dialog-theme.scss +48 -17
  31. package/divider/_divider-theme.scss +49 -16
  32. package/divider/index.d.ts +4 -4
  33. package/esm2022/autocomplete/autocomplete-origin.mjs +5 -4
  34. package/esm2022/autocomplete/autocomplete-trigger.mjs +27 -11
  35. package/esm2022/autocomplete/autocomplete.mjs +6 -6
  36. package/esm2022/autocomplete/module.mjs +23 -7
  37. package/esm2022/autocomplete/public-api.mjs +3 -1
  38. package/esm2022/autocomplete/testing/autocomplete-harness.mjs +1 -1
  39. package/esm2022/badge/badge-module.mjs +6 -7
  40. package/esm2022/badge/badge.mjs +5 -4
  41. package/esm2022/badge/testing/badge-harness.mjs +1 -1
  42. package/esm2022/bottom-sheet/bottom-sheet-container.mjs +6 -6
  43. package/esm2022/bottom-sheet/bottom-sheet-module.mjs +8 -7
  44. package/esm2022/bottom-sheet/bottom-sheet-ref.mjs +1 -1
  45. package/esm2022/bottom-sheet/bottom-sheet.mjs +5 -6
  46. package/esm2022/button/button-base.mjs +7 -7
  47. package/esm2022/button/button.mjs +9 -9
  48. package/esm2022/button/fab.mjs +17 -17
  49. package/esm2022/button/icon-button.mjs +9 -9
  50. package/esm2022/button/module.mjs +16 -12
  51. package/esm2022/button/testing/button-harness.mjs +1 -1
  52. package/esm2022/button-toggle/button-toggle-module.mjs +6 -7
  53. package/esm2022/button-toggle/button-toggle.mjs +10 -9
  54. package/esm2022/button-toggle/testing/button-toggle-harness.mjs +1 -1
  55. package/esm2022/card/card.mjs +57 -46
  56. package/esm2022/card/module.mjs +7 -8
  57. package/esm2022/checkbox/checkbox-required-validator.mjs +12 -4
  58. package/esm2022/checkbox/checkbox.mjs +39 -8
  59. package/esm2022/checkbox/module.mjs +17 -15
  60. package/esm2022/checkbox/testing/checkbox-harness.mjs +1 -1
  61. package/esm2022/chips/chip-action.mjs +5 -4
  62. package/esm2022/chips/chip-edit-input.mjs +5 -4
  63. package/esm2022/chips/chip-grid.mjs +39 -51
  64. package/esm2022/chips/chip-icons.mjs +13 -10
  65. package/esm2022/chips/chip-input.mjs +5 -4
  66. package/esm2022/chips/chip-listbox.mjs +5 -5
  67. package/esm2022/chips/chip-option.mjs +7 -7
  68. package/esm2022/chips/chip-row.mjs +7 -8
  69. package/esm2022/chips/chip-set.mjs +5 -5
  70. package/esm2022/chips/chip.mjs +5 -6
  71. package/esm2022/chips/module.mjs +7 -8
  72. package/esm2022/chips/testing/chip-edit-input-harness.mjs +1 -1
  73. package/esm2022/chips/testing/chip-input-harness.mjs +1 -1
  74. package/esm2022/chips/testing/chip-listbox-harness.mjs +1 -1
  75. package/esm2022/chips/testing/chip-option-harness.mjs +1 -1
  76. package/esm2022/chips/testing/chip-row-harness.mjs +1 -1
  77. package/esm2022/chips/tokens.mjs +8 -2
  78. package/esm2022/core/common-behaviors/color.mjs +1 -1
  79. package/esm2022/core/common-behaviors/common-module.mjs +5 -5
  80. package/esm2022/core/common-behaviors/error-state.mjs +50 -11
  81. package/esm2022/core/common-behaviors/index.mjs +2 -2
  82. package/esm2022/core/common-behaviors/initialized.mjs +1 -1
  83. package/esm2022/core/datetime/date-adapter.mjs +1 -1
  84. package/esm2022/core/datetime/index.mjs +9 -9
  85. package/esm2022/core/datetime/native-date-adapter.mjs +4 -4
  86. package/esm2022/core/error/error-options.mjs +7 -7
  87. package/esm2022/core/internal-form-field/internal-form-field.mjs +29 -0
  88. package/esm2022/core/line/line.mjs +10 -10
  89. package/esm2022/core/option/index.mjs +6 -7
  90. package/esm2022/core/option/optgroup.mjs +5 -5
  91. package/esm2022/core/option/option.mjs +9 -9
  92. package/esm2022/core/private/ripple-loader.mjs +4 -4
  93. package/esm2022/core/public-api.mjs +2 -1
  94. package/esm2022/core/ripple/index.mjs +6 -7
  95. package/esm2022/core/ripple/ripple-event-manager.mjs +1 -1
  96. package/esm2022/core/ripple/ripple-renderer.mjs +1 -1
  97. package/esm2022/core/ripple/ripple.mjs +5 -4
  98. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +6 -7
  99. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +5 -5
  100. package/esm2022/core/version.mjs +1 -1
  101. package/esm2022/datepicker/aria-accessible-name.mjs +1 -1
  102. package/esm2022/datepicker/calendar-body.mjs +6 -6
  103. package/esm2022/datepicker/calendar.mjs +12 -16
  104. package/esm2022/datepicker/date-range-input-parts.mjs +41 -20
  105. package/esm2022/datepicker/date-range-input.mjs +7 -7
  106. package/esm2022/datepicker/date-range-picker.mjs +5 -4
  107. package/esm2022/datepicker/date-range-selection-strategy.mjs +4 -4
  108. package/esm2022/datepicker/date-selection-model.mjs +10 -10
  109. package/esm2022/datepicker/datepicker-actions.mjs +13 -11
  110. package/esm2022/datepicker/datepicker-base.mjs +23 -20
  111. package/esm2022/datepicker/datepicker-input-base.mjs +6 -5
  112. package/esm2022/datepicker/datepicker-input.mjs +5 -4
  113. package/esm2022/datepicker/datepicker-intl.mjs +4 -4
  114. package/esm2022/datepicker/datepicker-module.mjs +18 -16
  115. package/esm2022/datepicker/datepicker-toggle.mjs +10 -10
  116. package/esm2022/datepicker/datepicker.mjs +5 -4
  117. package/esm2022/datepicker/month-view.mjs +5 -6
  118. package/esm2022/datepicker/multi-year-view.mjs +5 -6
  119. package/esm2022/datepicker/testing/calendar-harness.mjs +1 -1
  120. package/esm2022/datepicker/testing/datepicker-input-harness-base.mjs +1 -1
  121. package/esm2022/datepicker/testing/datepicker-input-harness.mjs +1 -1
  122. package/esm2022/datepicker/testing/datepicker-trigger-harness-base.mjs +1 -1
  123. package/esm2022/datepicker/year-view.mjs +5 -6
  124. package/esm2022/dialog/dialog-container.mjs +7 -8
  125. package/esm2022/dialog/dialog-content-directives.mjs +13 -13
  126. package/esm2022/dialog/dialog-ref.mjs +1 -1
  127. package/esm2022/dialog/dialog.mjs +4 -4
  128. package/esm2022/dialog/module.mjs +5 -5
  129. package/esm2022/dialog/testing/dialog-opener.mjs +3 -3
  130. package/esm2022/divider/divider-module.mjs +6 -7
  131. package/esm2022/divider/divider.mjs +5 -5
  132. package/esm2022/expansion/accordion.mjs +5 -4
  133. package/esm2022/expansion/expansion-module.mjs +16 -9
  134. package/esm2022/expansion/expansion-panel-content.mjs +5 -4
  135. package/esm2022/expansion/expansion-panel-header.mjs +13 -11
  136. package/esm2022/expansion/expansion-panel.mjs +11 -11
  137. package/esm2022/expansion/testing/expansion-harness.mjs +1 -1
  138. package/esm2022/form-field/directives/error.mjs +5 -4
  139. package/esm2022/form-field/directives/floating-label.mjs +5 -4
  140. package/esm2022/form-field/directives/hint.mjs +5 -4
  141. package/esm2022/form-field/directives/label.mjs +5 -4
  142. package/esm2022/form-field/directives/line-ripple.mjs +5 -4
  143. package/esm2022/form-field/directives/notched-outline.mjs +5 -5
  144. package/esm2022/form-field/directives/prefix.mjs +5 -4
  145. package/esm2022/form-field/directives/suffix.mjs +5 -4
  146. package/esm2022/form-field/form-field-control.mjs +4 -4
  147. package/esm2022/form-field/form-field.mjs +14 -13
  148. package/esm2022/form-field/module.mjs +16 -18
  149. package/esm2022/form-field/testing/form-field-harness.mjs +1 -1
  150. package/esm2022/grid-list/grid-list-module.mjs +15 -11
  151. package/esm2022/grid-list/grid-list.mjs +5 -5
  152. package/esm2022/grid-list/grid-tile.mjs +21 -18
  153. package/esm2022/grid-list/testing/grid-list-harness.mjs +1 -1
  154. package/esm2022/grid-list/tile-coordinator.mjs +1 -1
  155. package/esm2022/grid-list/tile-styler.mjs +1 -1
  156. package/esm2022/icon/icon-module.mjs +6 -7
  157. package/esm2022/icon/icon-registry.mjs +4 -4
  158. package/esm2022/icon/icon.mjs +5 -5
  159. package/esm2022/icon/testing/fake-icon-registry.mjs +8 -8
  160. package/esm2022/icon/testing/icon-harness.mjs +1 -1
  161. package/esm2022/icon/trusted-types.mjs +1 -1
  162. package/esm2022/input/input.mjs +28 -30
  163. package/esm2022/input/module.mjs +6 -7
  164. package/esm2022/input/public-api.mjs +3 -1
  165. package/esm2022/input/testing/input-harness.mjs +1 -1
  166. package/esm2022/input/testing/native-select-harness.mjs +1 -1
  167. package/esm2022/list/action-list.mjs +5 -5
  168. package/esm2022/list/list-base.mjs +9 -7
  169. package/esm2022/list/list-item-sections.mjs +25 -19
  170. package/esm2022/list/list-module.mjs +15 -16
  171. package/esm2022/list/list-option.mjs +8 -8
  172. package/esm2022/list/list.mjs +10 -10
  173. package/esm2022/list/nav-list.mjs +5 -5
  174. package/esm2022/list/selection-list.mjs +5 -5
  175. package/esm2022/list/subheader.mjs +5 -4
  176. package/esm2022/list/testing/list-harness-base.mjs +1 -1
  177. package/esm2022/list/testing/list-item-harness-base.mjs +1 -1
  178. package/esm2022/list/testing/selection-list-harness.mjs +1 -1
  179. package/esm2022/menu/menu-content.mjs +5 -4
  180. package/esm2022/menu/menu-item.mjs +6 -6
  181. package/esm2022/menu/menu-trigger.mjs +12 -5
  182. package/esm2022/menu/menu.mjs +6 -6
  183. package/esm2022/menu/module.mjs +25 -7
  184. package/esm2022/menu/testing/menu-harness.mjs +1 -1
  185. package/esm2022/paginator/module.mjs +6 -7
  186. package/esm2022/paginator/paginator-intl.mjs +4 -4
  187. package/esm2022/paginator/paginator.mjs +10 -11
  188. package/esm2022/paginator/testing/paginator-harness.mjs +1 -1
  189. package/esm2022/progress-bar/module.mjs +6 -6
  190. package/esm2022/progress-bar/progress-bar.mjs +5 -5
  191. package/esm2022/progress-spinner/module.mjs +6 -7
  192. package/esm2022/progress-spinner/progress-spinner.mjs +6 -6
  193. package/esm2022/radio/module.mjs +6 -7
  194. package/esm2022/radio/radio.mjs +13 -9
  195. package/esm2022/radio/testing/radio-harness.mjs +1 -1
  196. package/esm2022/select/module.mjs +21 -7
  197. package/esm2022/select/public-api.mjs +5 -1
  198. package/esm2022/select/select.mjs +51 -42
  199. package/esm2022/select/testing/select-harness.mjs +1 -1
  200. package/esm2022/sidenav/drawer.mjs +13 -12
  201. package/esm2022/sidenav/sidenav-module.mjs +14 -10
  202. package/esm2022/sidenav/sidenav.mjs +13 -12
  203. package/esm2022/sidenav/testing/drawer-harness.mjs +1 -1
  204. package/esm2022/slide-toggle/module.mjs +17 -15
  205. package/esm2022/slide-toggle/slide-toggle-required-validator.mjs +12 -4
  206. package/esm2022/slide-toggle/slide-toggle.mjs +39 -8
  207. package/esm2022/slide-toggle/testing/slide-toggle-harness.mjs +1 -1
  208. package/esm2022/slider/module.mjs +19 -7
  209. package/esm2022/slider/slider-input.mjs +11 -8
  210. package/esm2022/slider/slider-thumb.mjs +5 -6
  211. package/esm2022/slider/slider.mjs +8 -8
  212. package/esm2022/slider/testing/slider-harness.mjs +1 -1
  213. package/esm2022/snack-bar/module.mjs +6 -6
  214. package/esm2022/snack-bar/simple-snack-bar.mjs +6 -8
  215. package/esm2022/snack-bar/snack-bar-container.mjs +7 -8
  216. package/esm2022/snack-bar/snack-bar-content.mjs +10 -10
  217. package/esm2022/snack-bar/snack-bar-ref.mjs +1 -1
  218. package/esm2022/snack-bar/snack-bar.mjs +4 -4
  219. package/esm2022/snack-bar/testing/snack-bar-harness.mjs +1 -1
  220. package/esm2022/sort/sort-header-intl.mjs +4 -4
  221. package/esm2022/sort/sort-header.mjs +5 -5
  222. package/esm2022/sort/sort-module.mjs +6 -7
  223. package/esm2022/sort/sort.mjs +5 -4
  224. package/esm2022/sort/testing/sort-harness.mjs +1 -1
  225. package/esm2022/sort/testing/sort-header-harness.mjs +1 -1
  226. package/esm2022/stepper/step-content.mjs +5 -4
  227. package/esm2022/stepper/step-header.mjs +8 -8
  228. package/esm2022/stepper/step-label.mjs +5 -4
  229. package/esm2022/stepper/stepper-button.mjs +9 -7
  230. package/esm2022/stepper/stepper-icon.mjs +5 -4
  231. package/esm2022/stepper/stepper-intl.mjs +4 -4
  232. package/esm2022/stepper/stepper-module.mjs +17 -16
  233. package/esm2022/stepper/stepper.mjs +14 -16
  234. package/esm2022/stepper/testing/step-harness.mjs +1 -1
  235. package/esm2022/stepper/testing/stepper-harness.mjs +1 -1
  236. package/esm2022/table/cell.mjs +29 -22
  237. package/esm2022/table/module.mjs +7 -8
  238. package/esm2022/table/row.mjs +33 -24
  239. package/esm2022/table/table-data-source.mjs +1 -1
  240. package/esm2022/table/table.mjs +11 -11
  241. package/esm2022/table/testing/cell-harness.mjs +1 -1
  242. package/esm2022/table/testing/table-harness.mjs +1 -1
  243. package/esm2022/table/text-column.mjs +8 -6
  244. package/esm2022/tabs/ink-bar.mjs +1 -1
  245. package/esm2022/tabs/module.mjs +10 -43
  246. package/esm2022/tabs/paginated-tab-header.mjs +4 -4
  247. package/esm2022/tabs/tab-body.mjs +10 -8
  248. package/esm2022/tabs/tab-content.mjs +5 -4
  249. package/esm2022/tabs/tab-group.mjs +20 -13
  250. package/esm2022/tabs/tab-header.mjs +7 -7
  251. package/esm2022/tabs/tab-label-wrapper.mjs +5 -4
  252. package/esm2022/tabs/tab-label.mjs +5 -4
  253. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +17 -17
  254. package/esm2022/tabs/tab.mjs +5 -5
  255. package/esm2022/tabs/testing/tab-group-harness.mjs +1 -1
  256. package/esm2022/tabs/testing/tab-nav-bar-harness.mjs +1 -1
  257. package/esm2022/toolbar/toolbar-module.mjs +6 -7
  258. package/esm2022/toolbar/toolbar.mjs +9 -8
  259. package/esm2022/tooltip/module.mjs +6 -7
  260. package/esm2022/tooltip/tooltip.mjs +18 -12
  261. package/esm2022/tree/data-source/flat-data-source.mjs +1 -1
  262. package/esm2022/tree/node.mjs +13 -10
  263. package/esm2022/tree/outlet.mjs +5 -4
  264. package/esm2022/tree/padding.mjs +5 -4
  265. package/esm2022/tree/testing/node-harness.mjs +1 -1
  266. package/esm2022/tree/testing/tree-harness.mjs +1 -1
  267. package/esm2022/tree/toggle.mjs +5 -4
  268. package/esm2022/tree/tree-module.mjs +7 -8
  269. package/esm2022/tree/tree.mjs +5 -6
  270. package/expansion/_expansion-theme.scss +56 -22
  271. package/expansion/index.d.ts +15 -15
  272. package/fesm2022/autocomplete/testing.mjs.map +1 -1
  273. package/fesm2022/autocomplete.mjs +60 -27
  274. package/fesm2022/autocomplete.mjs.map +1 -1
  275. package/fesm2022/badge/testing.mjs.map +1 -1
  276. package/fesm2022/badge.mjs +9 -9
  277. package/fesm2022/badge.mjs.map +1 -1
  278. package/fesm2022/bottom-sheet.mjs +25 -26
  279. package/fesm2022/bottom-sheet.mjs.map +1 -1
  280. package/fesm2022/button/testing.mjs.map +1 -1
  281. package/fesm2022/button-toggle/testing.mjs.map +1 -1
  282. package/fesm2022/button-toggle.mjs +14 -15
  283. package/fesm2022/button-toggle.mjs.map +1 -1
  284. package/fesm2022/button.mjs +53 -49
  285. package/fesm2022/button.mjs.map +1 -1
  286. package/fesm2022/card.mjs +62 -52
  287. package/fesm2022/card.mjs.map +1 -1
  288. package/fesm2022/checkbox/testing.mjs.map +1 -1
  289. package/fesm2022/checkbox.mjs +63 -22
  290. package/fesm2022/checkbox.mjs.map +1 -1
  291. package/fesm2022/chips/testing.mjs.map +1 -1
  292. package/fesm2022/chips.mjs +94 -96
  293. package/fesm2022/chips.mjs.map +1 -1
  294. package/fesm2022/core.mjs +135 -78
  295. package/fesm2022/core.mjs.map +1 -1
  296. package/fesm2022/datepicker/testing.mjs.map +1 -1
  297. package/fesm2022/datepicker.mjs +178 -146
  298. package/fesm2022/datepicker.mjs.map +1 -1
  299. package/fesm2022/dialog/testing.mjs +2 -2
  300. package/fesm2022/dialog/testing.mjs.map +1 -1
  301. package/fesm2022/dialog.mjs +25 -26
  302. package/fesm2022/dialog.mjs.map +1 -1
  303. package/fesm2022/divider.mjs +9 -10
  304. package/fesm2022/divider.mjs.map +1 -1
  305. package/fesm2022/expansion/testing.mjs.map +1 -1
  306. package/fesm2022/expansion.mjs +47 -36
  307. package/fesm2022/expansion.mjs.map +1 -1
  308. package/fesm2022/form-field/testing.mjs.map +1 -1
  309. package/fesm2022/form-field.mjs +61 -48
  310. package/fesm2022/form-field.mjs.map +1 -1
  311. package/fesm2022/grid-list/testing.mjs.map +1 -1
  312. package/fesm2022/grid-list.mjs +38 -31
  313. package/fesm2022/grid-list.mjs.map +1 -1
  314. package/fesm2022/icon/testing.mjs +7 -7
  315. package/fesm2022/icon/testing.mjs.map +1 -1
  316. package/fesm2022/icon.mjs +12 -13
  317. package/fesm2022/icon.mjs.map +1 -1
  318. package/fesm2022/input/testing.mjs.map +1 -1
  319. package/fesm2022/input.mjs +33 -35
  320. package/fesm2022/input.mjs.map +1 -1
  321. package/fesm2022/list/testing.mjs.map +1 -1
  322. package/fesm2022/list.mjs +77 -71
  323. package/fesm2022/list.mjs.map +1 -1
  324. package/fesm2022/menu/testing.mjs.map +1 -1
  325. package/fesm2022/menu.mjs +51 -27
  326. package/fesm2022/menu.mjs.map +1 -1
  327. package/fesm2022/paginator/testing.mjs.map +1 -1
  328. package/fesm2022/paginator.mjs +17 -22
  329. package/fesm2022/paginator.mjs.map +1 -1
  330. package/fesm2022/progress-bar.mjs +9 -9
  331. package/fesm2022/progress-bar.mjs.map +1 -1
  332. package/fesm2022/progress-spinner.mjs +10 -12
  333. package/fesm2022/progress-spinner.mjs.map +1 -1
  334. package/fesm2022/radio/testing.mjs.map +1 -1
  335. package/fesm2022/radio.mjs +18 -16
  336. package/fesm2022/radio.mjs.map +1 -1
  337. package/fesm2022/select/testing.mjs.map +1 -1
  338. package/fesm2022/select.mjs +72 -48
  339. package/fesm2022/select.mjs.map +1 -1
  340. package/fesm2022/sidenav/testing.mjs.map +1 -1
  341. package/fesm2022/sidenav.mjs +37 -31
  342. package/fesm2022/sidenav.mjs.map +1 -1
  343. package/fesm2022/slide-toggle/testing.mjs.map +1 -1
  344. package/fesm2022/slide-toggle.mjs +63 -23
  345. package/fesm2022/slide-toggle.mjs.map +1 -1
  346. package/fesm2022/slider/testing.mjs.map +1 -1
  347. package/fesm2022/slider.mjs +40 -26
  348. package/fesm2022/slider.mjs.map +1 -1
  349. package/fesm2022/snack-bar/testing.mjs.map +1 -1
  350. package/fesm2022/snack-bar.mjs +32 -34
  351. package/fesm2022/snack-bar.mjs.map +1 -1
  352. package/fesm2022/sort/testing.mjs.map +1 -1
  353. package/fesm2022/sort.mjs +16 -16
  354. package/fesm2022/sort.mjs.map +1 -1
  355. package/fesm2022/stepper/testing.mjs.map +1 -1
  356. package/fesm2022/stepper.mjs +58 -55
  357. package/fesm2022/stepper.mjs.map +1 -1
  358. package/fesm2022/table/testing.mjs.map +1 -1
  359. package/fesm2022/table.mjs +81 -63
  360. package/fesm2022/table.mjs.map +1 -1
  361. package/fesm2022/tabs/testing.mjs.map +1 -1
  362. package/fesm2022/tabs.mjs +408 -424
  363. package/fesm2022/tabs.mjs.map +1 -1
  364. package/fesm2022/toolbar.mjs +13 -13
  365. package/fesm2022/toolbar.mjs.map +1 -1
  366. package/fesm2022/tooltip.mjs +22 -17
  367. package/fesm2022/tooltip.mjs.map +1 -1
  368. package/fesm2022/tree/testing.mjs.map +1 -1
  369. package/fesm2022/tree.mjs +34 -29
  370. package/fesm2022/tree.mjs.map +1 -1
  371. package/form-field/index.d.ts +33 -45
  372. package/grid-list/index.d.ts +10 -10
  373. package/icon/_icon-theme.scss +55 -23
  374. package/icon/index.d.ts +4 -4
  375. package/input/index.d.ts +33 -32
  376. package/list/index.d.ts +36 -36
  377. package/menu/_menu-theme.scss +50 -18
  378. package/menu/index.d.ts +12 -12
  379. package/package.json +2 -2
  380. package/paginator/_paginator-theme.scss +62 -29
  381. package/paginator/index.d.ts +6 -6
  382. package/prebuilt-themes/deeppurple-amber.css +1 -1
  383. package/prebuilt-themes/indigo-pink.css +1 -1
  384. package/prebuilt-themes/pink-bluegrey.css +1 -1
  385. package/prebuilt-themes/purple-green.css +1 -1
  386. package/progress-bar/index.d.ts +2 -2
  387. package/progress-spinner/index.d.ts +4 -4
  388. package/radio/_radio-theme.scss +5 -10
  389. package/radio/index.d.ts +8 -6
  390. package/schematics/ng-add/fonts/material-fonts.js +1 -1
  391. package/schematics/ng-add/fonts/material-fonts.mjs +1 -1
  392. package/schematics/ng-add/index.js +2 -2
  393. package/schematics/ng-add/index.mjs +2 -2
  394. package/schematics/ng-add/package-config.js +1 -1
  395. package/schematics/ng-add/package-config.mjs +1 -1
  396. package/schematics/ng-add/setup-project.js +1 -1
  397. package/schematics/ng-add/setup-project.mjs +1 -1
  398. package/schematics/ng-add/theming/theming.js +1 -1
  399. package/schematics/ng-add/theming/theming.mjs +1 -1
  400. package/schematics/ng-generate/address-form/index.js +1 -1
  401. package/schematics/ng-generate/address-form/index.mjs +1 -1
  402. package/schematics/ng-generate/dashboard/index.js +1 -1
  403. package/schematics/ng-generate/dashboard/index.mjs +1 -1
  404. package/schematics/ng-generate/mdc-migration/index_bundled.js +596 -361
  405. package/schematics/ng-generate/mdc-migration/index_bundled.js.map +4 -4
  406. package/schematics/ng-generate/navigation/index.js +1 -1
  407. package/schematics/ng-generate/navigation/index.mjs +1 -1
  408. package/schematics/ng-generate/table/index.js +1 -1
  409. package/schematics/ng-generate/table/index.mjs +1 -1
  410. package/schematics/ng-generate/tree/index.js +1 -1
  411. package/schematics/ng-generate/tree/index.mjs +1 -1
  412. package/schematics/ng-update/index_bundled.js +41 -37
  413. package/schematics/ng-update/index_bundled.js.map +2 -2
  414. package/select/_select-theme.scss +71 -38
  415. package/select/index.d.ts +47 -35
  416. package/sidenav/_sidenav-theme.scss +49 -16
  417. package/sidenav/index.d.ts +11 -11
  418. package/slide-toggle/_slide-toggle-theme.scss +5 -4
  419. package/slide-toggle/index.d.ts +31 -7
  420. package/slider/index.d.ts +9 -9
  421. package/sort/index.d.ts +6 -6
  422. package/stepper/index.d.ts +29 -29
  423. package/table/index.d.ts +24 -24
  424. package/tabs/index.d.ts +18 -43
  425. package/toolbar/index.d.ts +5 -5
  426. package/tooltip/index.d.ts +8 -8
  427. package/tree/index.d.ts +15 -15
package/core/index.d.ts CHANGED
@@ -313,6 +313,25 @@ export declare class ErrorStateMatcher {
313
313
  static ɵprov: i0.ɵɵInjectableDeclaration<ErrorStateMatcher>;
314
314
  }
315
315
 
316
+ /**
317
+ * Class that tracks the error state of a component.
318
+ * @docs-private
319
+ */
320
+ export declare class _ErrorStateTracker {
321
+ private _defaultMatcher;
322
+ ngControl: NgControl | null;
323
+ private _parentFormGroup;
324
+ private _parentForm;
325
+ private _stateChanges;
326
+ /** Whether the tracker is currently in an error state. */
327
+ errorState: boolean;
328
+ /** User-defined matcher for the error state. */
329
+ matcher: ErrorStateMatcher;
330
+ constructor(_defaultMatcher: ErrorStateMatcher | null, ngControl: NgControl | null, _parentFormGroup: FormGroupDirective | null, _parentForm: NgForm | null, _stateChanges: Subject<void>);
331
+ /** Updates the error state based on the provided error state matcher. */
332
+ updateErrorState(): void;
333
+ }
334
+
316
335
  /**
317
336
  * Determines the position to which to scroll a panel in order for an option to be into view.
318
337
  * @param optionOffset Offset of the option from the top of the panel.
@@ -386,14 +405,21 @@ declare namespace i1_2 {
386
405
 
387
406
  declare namespace i1_3 {
388
407
  export {
389
- _countGroupLabelsBeforeOption,
390
- _getOptionScrollPosition,
391
- MatOptionSelectionChange,
392
- MatOption
408
+ MatRippleModule,
409
+ RippleGlobalOptions,
410
+ MAT_RIPPLE_GLOBAL_OPTIONS,
411
+ MatRipple,
412
+ RippleState,
413
+ RippleConfig,
414
+ RippleAnimationConfig,
415
+ RippleRef,
416
+ RippleTarget,
417
+ defaultRippleAnimationConfig,
418
+ RippleRenderer
393
419
  }
394
420
  }
395
421
 
396
- declare namespace i1_4 {
422
+ declare namespace i2 {
397
423
  export {
398
424
  RippleGlobalOptions,
399
425
  MAT_RIPPLE_GLOBAL_OPTIONS,
@@ -401,39 +427,32 @@ declare namespace i1_4 {
401
427
  }
402
428
  }
403
429
 
404
- declare namespace i1_5 {
430
+ declare namespace i2_2 {
405
431
  export {
406
432
  MatPseudoCheckboxState,
407
433
  MatPseudoCheckbox
408
434
  }
409
435
  }
410
436
 
411
- declare namespace i2 {
437
+ declare namespace i3 {
412
438
  export {
413
- MAT_OPTGROUP,
414
- MatOptgroup
439
+ MatPseudoCheckboxModule
415
440
  }
416
441
  }
417
442
 
418
- declare namespace i3 {
443
+ declare namespace i4 {
419
444
  export {
420
- MatRippleModule,
421
- RippleGlobalOptions,
422
- MAT_RIPPLE_GLOBAL_OPTIONS,
423
- MatRipple,
424
- RippleState,
425
- RippleConfig,
426
- RippleAnimationConfig,
427
- RippleRef,
428
- RippleTarget,
429
- defaultRippleAnimationConfig,
430
- RippleRenderer
445
+ _countGroupLabelsBeforeOption,
446
+ _getOptionScrollPosition,
447
+ MatOptionSelectionChange,
448
+ MatOption
431
449
  }
432
450
  }
433
451
 
434
452
  declare namespace i5 {
435
453
  export {
436
- MatPseudoCheckboxModule
454
+ MAT_OPTGROUP,
455
+ MatOptgroup
437
456
  }
438
457
  }
439
458
 
@@ -500,6 +519,18 @@ export declare const MATERIAL_SANITY_CHECKS: InjectionToken<SanityChecks>;
500
519
  /** @docs-private */
501
520
  declare function MATERIAL_SANITY_CHECKS_FACTORY(): SanityChecks;
502
521
 
522
+ /**
523
+ * Internal shared component used as a container in form field controls.
524
+ * Not to be confused with `mat-form-field` which MDC calls a "text field".
525
+ * @docs-private
526
+ */
527
+ export declare class _MatInternalFormField {
528
+ /** Position of the label relative to the content. */
529
+ labelPosition: 'before' | 'after';
530
+ static ɵfac: i0.ɵɵFactoryDeclaration<_MatInternalFormField, never>;
531
+ static ɵcmp: i0.ɵɵComponentDeclaration<_MatInternalFormField, "div[mat-internal-form-field]", never, { "labelPosition": { "alias": "labelPosition"; "required": true; }; }, {}, never, ["*"], true, never>;
532
+ }
533
+
503
534
  /**
504
535
  * Shared directive to count lines inside a text area, such as a list item.
505
536
  * Line elements can be extracted with a @ContentChildren(MatLine) query, then
@@ -507,12 +538,12 @@ declare function MATERIAL_SANITY_CHECKS_FACTORY(): SanityChecks;
507
538
  */
508
539
  export declare class MatLine {
509
540
  static ɵfac: i0.ɵɵFactoryDeclaration<MatLine, never>;
510
- static ɵdir: i0.ɵɵDirectiveDeclaration<MatLine, "[mat-line], [matLine]", never, {}, {}, never, never, false, never>;
541
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatLine, "[mat-line], [matLine]", never, {}, {}, never, never, true, never>;
511
542
  }
512
543
 
513
544
  export declare class MatLineModule {
514
545
  static ɵfac: i0.ɵɵFactoryDeclaration<MatLineModule, never>;
515
- static ɵmod: i0.ɵɵNgModuleDeclaration<MatLineModule, [typeof MatLine], [typeof i1_2.MatCommonModule], [typeof MatLine, typeof i1_2.MatCommonModule]>;
546
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MatLineModule, never, [typeof i1_2.MatCommonModule, typeof MatLine], [typeof MatLine, typeof i1_2.MatCommonModule]>;
516
547
  static ɵinj: i0.ɵɵInjectorDeclaration<MatLineModule>;
517
548
  }
518
549
 
@@ -536,7 +567,7 @@ export declare class MatOptgroup {
536
567
  _inert: boolean;
537
568
  constructor(parent?: MatOptionParentComponent);
538
569
  static ɵfac: i0.ɵɵFactoryDeclaration<MatOptgroup, [{ optional: true; }]>;
539
- static ɵcmp: i0.ɵɵComponentDeclaration<MatOptgroup, "mat-optgroup", ["matOptgroup"], { "label": { "alias": "label"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, ["*", "mat-option, ng-container"], false, never>;
570
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatOptgroup, "mat-optgroup", ["matOptgroup"], { "label": { "alias": "label"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, ["*", "mat-option, ng-container"], true, never>;
540
571
  static ngAcceptInputType_disabled: unknown;
541
572
  }
542
573
 
@@ -622,13 +653,13 @@ export declare class MatOption<T = any> implements FocusableOption, AfterViewChe
622
653
  /** Emits the selection change event. */
623
654
  private _emitSelectionChangeEvent;
624
655
  static ɵfac: i0.ɵɵFactoryDeclaration<MatOption<any>, [null, null, { optional: true; }, { optional: true; }]>;
625
- static ɵcmp: i0.ɵɵComponentDeclaration<MatOption<any>, "mat-option", ["matOption"], { "value": { "alias": "value"; "required": false; }; "id": { "alias": "id"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "onSelectionChange": "onSelectionChange"; }, never, ["mat-icon", "*"], false, never>;
656
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatOption<any>, "mat-option", ["matOption"], { "value": { "alias": "value"; "required": false; }; "id": { "alias": "id"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "onSelectionChange": "onSelectionChange"; }, never, ["mat-icon", "*"], true, never>;
626
657
  static ngAcceptInputType_disabled: unknown;
627
658
  }
628
659
 
629
660
  export declare class MatOptionModule {
630
661
  static ɵfac: i0.ɵɵFactoryDeclaration<MatOptionModule, never>;
631
- static ɵmod: i0.ɵɵNgModuleDeclaration<MatOptionModule, [typeof i1_3.MatOption, typeof i2.MatOptgroup], [typeof i3.MatRippleModule, typeof i1_2.MatCommonModule, typeof i5.MatPseudoCheckboxModule], [typeof i1_3.MatOption, typeof i2.MatOptgroup]>;
662
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MatOptionModule, never, [typeof i1_3.MatRippleModule, typeof i1_2.MatCommonModule, typeof i3.MatPseudoCheckboxModule, typeof i4.MatOption, typeof i5.MatOptgroup], [typeof i4.MatOption, typeof i5.MatOptgroup]>;
632
663
  static ɵinj: i0.ɵɵInjectorDeclaration<MatOptionModule>;
633
664
  }
634
665
 
@@ -683,12 +714,12 @@ export declare class MatPseudoCheckbox {
683
714
  appearance: 'minimal' | 'full';
684
715
  constructor(_animationMode?: string | undefined);
685
716
  static ɵfac: i0.ɵɵFactoryDeclaration<MatPseudoCheckbox, [{ optional: true; }]>;
686
- static ɵcmp: i0.ɵɵComponentDeclaration<MatPseudoCheckbox, "mat-pseudo-checkbox", never, { "state": { "alias": "state"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; }, {}, never, never, false, never>;
717
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatPseudoCheckbox, "mat-pseudo-checkbox", never, { "state": { "alias": "state"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; }, {}, never, never, true, never>;
687
718
  }
688
719
 
689
720
  export declare class MatPseudoCheckboxModule {
690
721
  static ɵfac: i0.ɵɵFactoryDeclaration<MatPseudoCheckboxModule, never>;
691
- static ɵmod: i0.ɵɵNgModuleDeclaration<MatPseudoCheckboxModule, [typeof i1_5.MatPseudoCheckbox], [typeof i1_2.MatCommonModule], [typeof i1_5.MatPseudoCheckbox]>;
722
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MatPseudoCheckboxModule, never, [typeof i1_2.MatCommonModule, typeof i2_2.MatPseudoCheckbox], [typeof i2_2.MatPseudoCheckbox]>;
692
723
  static ɵinj: i0.ɵɵInjectorDeclaration<MatPseudoCheckboxModule>;
693
724
  }
694
725
 
@@ -776,7 +807,7 @@ export declare class MatRipple implements OnInit, OnDestroy, RippleTarget {
776
807
  */
777
808
  launch(x: number, y: number, config?: RippleConfig): RippleRef;
778
809
  static ɵfac: i0.ɵɵFactoryDeclaration<MatRipple, [null, null, null, { optional: true; }, { optional: true; }]>;
779
- static ɵdir: i0.ɵɵDirectiveDeclaration<MatRipple, "[mat-ripple], [matRipple]", ["matRipple"], { "color": { "alias": "matRippleColor"; "required": false; }; "unbounded": { "alias": "matRippleUnbounded"; "required": false; }; "centered": { "alias": "matRippleCentered"; "required": false; }; "radius": { "alias": "matRippleRadius"; "required": false; }; "animation": { "alias": "matRippleAnimation"; "required": false; }; "disabled": { "alias": "matRippleDisabled"; "required": false; }; "trigger": { "alias": "matRippleTrigger"; "required": false; }; }, {}, never, never, false, never>;
810
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatRipple, "[mat-ripple], [matRipple]", ["matRipple"], { "color": { "alias": "matRippleColor"; "required": false; }; "unbounded": { "alias": "matRippleUnbounded"; "required": false; }; "centered": { "alias": "matRippleCentered"; "required": false; }; "radius": { "alias": "matRippleRadius"; "required": false; }; "animation": { "alias": "matRippleAnimation"; "required": false; }; "disabled": { "alias": "matRippleDisabled"; "required": false; }; "trigger": { "alias": "matRippleTrigger"; "required": false; }; }, {}, never, never, true, never>;
780
811
  }
781
812
 
782
813
  /**
@@ -819,7 +850,7 @@ export declare class MatRippleLoader implements OnDestroy {
819
850
 
820
851
  export declare class MatRippleModule {
821
852
  static ɵfac: i0.ɵɵFactoryDeclaration<MatRippleModule, never>;
822
- static ɵmod: i0.ɵɵNgModuleDeclaration<MatRippleModule, [typeof i1_4.MatRipple], [typeof i1_2.MatCommonModule], [typeof i1_4.MatRipple, typeof i1_2.MatCommonModule]>;
853
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MatRippleModule, never, [typeof i1_2.MatCommonModule, typeof i2.MatRipple], [typeof i2.MatRipple, typeof i1_2.MatCommonModule]>;
823
854
  static ɵinj: i0.ɵɵInjectorDeclaration<MatRippleModule>;
824
855
  }
825
856
 
@@ -0,0 +1,37 @@
1
+ @use '@material/form-field/form-field-theme' as mdc-form-field-theme;
2
+ @use '../tokens/m2/mdc/form-field' as tokens-mdc-form-field;
3
+ @use '../style/sass-utils';
4
+ @use '../theming/theming';
5
+ @use '../theming/inspection';
6
+ @use '../typography/typography';
7
+
8
+ @mixin base($theme) {}
9
+
10
+ @mixin color($theme) {
11
+ @include sass-utils.current-selector-or-root() {
12
+ @include mdc-form-field-theme.theme(tokens-mdc-form-field.get-color-tokens($theme));
13
+ }
14
+ }
15
+
16
+ @mixin typography($theme) {
17
+ @include sass-utils.current-selector-or-root() {
18
+ @include mdc-form-field-theme.theme(tokens-mdc-form-field.get-typography-tokens($theme));
19
+ }
20
+ }
21
+
22
+ @mixin density($theme) {}
23
+
24
+ @mixin theme($theme) {
25
+ @include theming.private-check-duplicate-theme-styles($theme, 'mat-internal-form-field') {
26
+ @include base($theme);
27
+ @if inspection.theme-has($theme, color) {
28
+ @include color($theme);
29
+ }
30
+ @if inspection.theme-has($theme, density) {
31
+ @include density($theme);
32
+ }
33
+ @if inspection.theme-has($theme, typography) {
34
+ @include typography($theme);
35
+ }
36
+ }
37
+ }
@@ -1,41 +1,72 @@
1
+ @use 'sass:map';
1
2
  @use '../tokens/m2/mat/optgroup' as tokens-mat-optgroup;
2
3
  @use '../tokens/token-utils';
3
4
  @use '../style/sass-utils';
4
-
5
5
  @use '../theming/theming';
6
6
  @use '../theming/inspection';
7
7
  @use '../typography/typography';
8
8
 
9
- @mixin base($theme) {}
9
+ @mixin base($theme) {
10
+ @if inspection.get-theme-version($theme) == 1 {
11
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, base));
12
+ }
13
+ @else {}
14
+ }
10
15
 
11
16
  @mixin color($theme) {
12
- @include sass-utils.current-selector-or-root() {
13
- @include token-utils.create-token-values(tokens-mat-optgroup.$prefix,
14
- tokens-mat-optgroup.get-color-tokens($theme));
17
+ @if inspection.get-theme-version($theme) == 1 {
18
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, color));
19
+ }
20
+ @else {
21
+ @include sass-utils.current-selector-or-root() {
22
+ @include token-utils.create-token-values(tokens-mat-optgroup.$prefix,
23
+ tokens-mat-optgroup.get-color-tokens($theme));
24
+ }
15
25
  }
16
26
  }
17
27
 
18
28
  @mixin typography($theme) {
19
- @include sass-utils.current-selector-or-root() {
20
- @include token-utils.create-token-values(tokens-mat-optgroup.$prefix,
21
- tokens-mat-optgroup.get-typography-tokens($theme));
29
+ @if inspection.get-theme-version($theme) == 1 {
30
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, typography));
31
+ }
32
+ @else {
33
+ @include sass-utils.current-selector-or-root() {
34
+ @include token-utils.create-token-values(tokens-mat-optgroup.$prefix,
35
+ tokens-mat-optgroup.get-typography-tokens($theme));
36
+ }
22
37
  }
23
38
  }
24
39
 
25
40
  @mixin density($theme) {
41
+ @if inspection.get-theme-version($theme) == 1 {
42
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, density));
43
+ }
44
+ @else {}
26
45
  }
27
46
 
28
47
  @mixin theme($theme) {
29
48
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-optgroup') {
30
- @include base($theme);
31
- @if inspection.theme-has($theme, color) {
32
- @include color($theme);
33
- }
34
- @if inspection.theme-has($theme, density) {
35
- @include density($theme);
49
+ @if inspection.get-theme-version($theme) == 1 {
50
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme));
36
51
  }
37
- @if inspection.theme-has($theme, typography) {
38
- @include typography($theme);
52
+ @else {
53
+ @include base($theme);
54
+ @if inspection.theme-has($theme, color) {
55
+ @include color($theme);
56
+ }
57
+ @if inspection.theme-has($theme, density) {
58
+ @include density($theme);
59
+ }
60
+ @if inspection.theme-has($theme, typography) {
61
+ @include typography($theme);
62
+ }
39
63
  }
40
64
  }
41
65
  }
66
+
67
+ @mixin _theme-from-tokens($tokens) {
68
+ @if ($tokens != ()) {
69
+ @include token-utils.create-token-values(
70
+ tokens-mat-optgroup.$prefix, map.get($tokens, tokens-mat-optgroup.$prefix));
71
+ }
72
+ }
@@ -1,51 +1,82 @@
1
+ @use 'sass:map';
1
2
  @use '../tokens/m2/mat/option' as tokens-mat-option;
2
3
  @use '../tokens/token-utils';
3
4
  @use '../style/sass-utils';
4
-
5
5
  @use '../theming/theming';
6
6
  @use '../theming/inspection';
7
7
  @use '../typography/typography';
8
8
 
9
- @mixin base($theme) {}
9
+ @mixin base($theme) {
10
+ @if inspection.get-theme-version($theme) == 1 {
11
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, base));
12
+ }
13
+ @else {}
14
+ }
10
15
 
11
16
  @mixin color($theme) {
12
- @include sass-utils.current-selector-or-root() {
13
- @include token-utils.create-token-values(tokens-mat-option.$prefix,
14
- tokens-mat-option.get-color-tokens($theme));
17
+ @if inspection.get-theme-version($theme) == 1 {
18
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, color));
15
19
  }
20
+ @else {
21
+ @include sass-utils.current-selector-or-root() {
22
+ @include token-utils.create-token-values(tokens-mat-option.$prefix,
23
+ tokens-mat-option.get-color-tokens($theme));
24
+ }
16
25
 
17
- .mat-accent {
18
- @include token-utils.create-token-values(tokens-mat-option.$prefix,
19
- tokens-mat-option.get-color-tokens($theme, accent));
20
- }
26
+ .mat-accent {
27
+ @include token-utils.create-token-values(tokens-mat-option.$prefix,
28
+ tokens-mat-option.get-color-tokens($theme, accent));
29
+ }
21
30
 
22
- .mat-warn {
23
- @include token-utils.create-token-values(tokens-mat-option.$prefix,
24
- tokens-mat-option.get-color-tokens($theme, warn));
31
+ .mat-warn {
32
+ @include token-utils.create-token-values(tokens-mat-option.$prefix,
33
+ tokens-mat-option.get-color-tokens($theme, warn));
34
+ }
25
35
  }
26
36
  }
27
37
 
28
38
  @mixin typography($theme) {
29
- @include sass-utils.current-selector-or-root() {
30
- @include token-utils.create-token-values(tokens-mat-option.$prefix,
31
- tokens-mat-option.get-typography-tokens($theme));
39
+ @if inspection.get-theme-version($theme) == 1 {
40
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, typography));
41
+ }
42
+ @else {
43
+ @include sass-utils.current-selector-or-root() {
44
+ @include token-utils.create-token-values(tokens-mat-option.$prefix,
45
+ tokens-mat-option.get-typography-tokens($theme));
46
+ }
32
47
  }
33
48
  }
34
49
 
35
50
  @mixin density($theme) {
51
+ @if inspection.get-theme-version($theme) == 1 {
52
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, density));
53
+ }
54
+ @else {}
36
55
  }
37
56
 
38
57
  @mixin theme($theme) {
39
58
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-option') {
40
- @include base($theme);
41
- @if inspection.theme-has($theme, color) {
42
- @include color($theme);
43
- }
44
- @if inspection.theme-has($theme, density) {
45
- @include density($theme);
59
+ @if inspection.get-theme-version($theme) == 1 {
60
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme));
46
61
  }
47
- @if inspection.theme-has($theme, typography) {
48
- @include typography($theme);
62
+ @else {
63
+ @include base($theme);
64
+ @if inspection.theme-has($theme, color) {
65
+ @include color($theme);
66
+ }
67
+ @if inspection.theme-has($theme, density) {
68
+ @include density($theme);
69
+ }
70
+ @if inspection.theme-has($theme, typography) {
71
+ @include typography($theme);
72
+ }
49
73
  }
50
74
  }
51
75
  }
76
+
77
+ @mixin _theme-from-tokens($tokens) {
78
+ @if ($tokens != ()) {
79
+ @include token-utils.create-token-values(
80
+ tokens-mat-option.$prefix, map.get($tokens, tokens-mat-option.$prefix));
81
+ }
82
+ }
@@ -1,53 +1,24 @@
1
1
  @use '../../theming/theming';
2
2
  @use '../../theming/inspection';
3
-
4
- @mixin _psuedo-checkbox-styles-with-color($text-color, $background) {
5
- .mat-pseudo-checkbox-checked,
6
- .mat-pseudo-checkbox-indeterminate {
7
- &.mat-pseudo-checkbox-minimal::after {
8
- color: $text-color;
9
- }
10
-
11
- // Full (checkbox) appearance inverts colors of text and background.
12
- &.mat-pseudo-checkbox-full {
13
- &::after {
14
- color: $background;
15
- }
16
-
17
- background: $text-color;
18
- }
3
+ @use '../../style/sass-utils';
4
+ @use '../../tokens/token-utils';
5
+ @use '../../tokens/m2/mat/full-pseudo-checkbox' as tokens-mat-full-pseudo-checkbox;
6
+ @use '../../tokens/m2/mat/minimal-pseudo-checkbox' as tokens-mat-minimal-pseudo-checkbox;
7
+
8
+ @mixin _palette-styles($theme, $palette-name) {
9
+ @include sass-utils.current-selector-or-root() {
10
+ @include token-utils.create-token-values(tokens-mat-full-pseudo-checkbox.$prefix,
11
+ tokens-mat-full-pseudo-checkbox.get-color-tokens($theme, $palette-name));
12
+ @include token-utils.create-token-values(tokens-mat-minimal-pseudo-checkbox.$prefix,
13
+ tokens-mat-minimal-pseudo-checkbox.get-color-tokens($theme, $palette-name));
19
14
  }
20
15
  }
21
16
 
22
- @mixin base($theme) {
23
- // TODO(mmalerba): Move pseudo checkbox base tokens here
24
- }
17
+ @mixin base($theme) {}
25
18
 
26
19
  @mixin color($theme) {
27
- $is-dark-theme: inspection.get-theme-type($theme) == dark;
28
- $primary: inspection.get-theme-color($theme, primary);
29
- $accent: inspection.get-theme-color($theme, accent);
30
- $warn: inspection.get-theme-color($theme, warn);
31
- $background: inspection.get-theme-color($theme, background, background);
32
- $secondary-text: inspection.get-theme-color($theme, foreground, secondary-text);
33
-
34
- // NOTE(traviskaufman): While the spec calls for translucent blacks/whites for disabled colors,
35
- // this does not work well with elements layered on top of one another. To get around this we
36
- // blend the colors together based on the base color and the theme background.
37
- $white-30pct-opacity-on-dark: #686868;
38
- $black-26pct-opacity-on-light: #b0b0b0;
39
- $disabled-color: if($is-dark-theme, $white-30pct-opacity-on-dark, $black-26pct-opacity-on-light);
40
- $colored-box-selector: '.mat-pseudo-checkbox-checked, .mat-pseudo-checkbox-indeterminate';
41
-
42
- .mat-pseudo-checkbox-full {
43
- color: $secondary-text;
44
- &.mat-pseudo-checkbox-disabled {
45
- color: $disabled-color;
46
- }
47
- }
48
-
49
20
  .mat-primary {
50
- @include _psuedo-checkbox-styles-with-color($primary, $background);
21
+ @include _palette-styles($theme, primary);
51
22
  }
52
23
 
53
24
  // Default to the accent color. Note that the pseudo checkboxes are meant to inherit the
@@ -55,30 +26,19 @@
55
26
  // don't attach to the `mat-*` classes. Also note that this needs to be below `.mat-primary`
56
27
  // in order to allow for the color to be overwritten if the checkbox is inside a parent that
57
28
  // has `mat-accent` and is placed inside another parent that has `mat-primary`.
58
- @include _psuedo-checkbox-styles-with-color($accent, $background);
29
+ @include _palette-styles($theme, accent);
59
30
  .mat-accent {
60
- @include _psuedo-checkbox-styles-with-color($accent, $background);
31
+ @include _palette-styles($theme, accent);
61
32
  }
62
33
 
63
34
  .mat-warn {
64
- @include _psuedo-checkbox-styles-with-color($warn, $background);
65
- }
66
-
67
- .mat-pseudo-checkbox-disabled.mat-pseudo-checkbox-checked,
68
- .mat-pseudo-checkbox-disabled.mat-pseudo-checkbox-indeterminate {
69
- &.mat-pseudo-checkbox-minimal::after {
70
- color: $disabled-color;
71
- }
72
-
73
- &.mat-pseudo-checkbox-full {
74
- background: $disabled-color;
75
- }
35
+ @include _palette-styles($theme, warn);
76
36
  }
77
37
  }
78
38
 
79
39
  @mixin typography($theme) {}
80
40
 
81
- @mixin _density($theme) {}
41
+ @mixin density($theme) {}
82
42
 
83
43
  @mixin theme($theme) {
84
44
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-pseudo-checkbox') {
@@ -87,7 +47,7 @@
87
47
  @include color($theme);
88
48
  }
89
49
  @if inspection.theme-has($theme, density) {
90
- @include _density($theme);
50
+ @include density($theme);
91
51
  }
92
52
  @if inspection.theme-has($theme, typography) {
93
53
  @include typography($theme);
@@ -1,15 +1,31 @@
1
1
  @use 'sass:map';
2
2
  @use 'sass:meta';
3
3
  @use '../../style/sass-utils';
4
+ @use './mat/autocomplete' as tokens-mat-autocomplete;
5
+ @use './mat/badge' as tokens-mat-badge;
6
+ @use './mat/bottom-sheet' as tokens-mat-bottom-sheet;
4
7
  @use './mat/card' as tokens-mat-card;
8
+ @use './mat/datepicker' as tokens-mat-datepicker;
9
+ @use './mat/divider' as tokens-mat-divider;
10
+ @use './mat/expansion' as tokens-mat-expansion;
11
+ @use './mat/fab' as tokens-mat-fab;
5
12
  @use './mat/form-field' as tokens-mat-form-field;
6
13
  @use './mat/grid-list' as tokens-mat-grid-list;
14
+ @use './mat/icon' as tokens-mat-icon;
15
+ @use './mat/icon-button' as tokens-mat-icon-button;
16
+ @use './mat/menu' as tokens-mat-menu;
17
+ @use './mat/option' as tokens-mat-option;
18
+ @use './mat/optgroup' as tokens-mat-optgroup;
19
+ @use './mat/paginator' as tokens-mat-paginator;
7
20
  @use './mat/radio' as tokens-mat-radio;
8
21
  @use './mat/ripple' as tokens-mat-ripple;
22
+ @use './mat/select' as tokens-mat-select;
23
+ @use './mat/sidenav' as tokens-mat-sidenav;
9
24
  @use './mat/slide-toggle' as tokens-mat-slide-toggle;
10
25
  @use './mat/slider' as tokens-mat-slider;
11
26
  @use './mat/snack-bar' as tokens-mat-snack-bar;
12
27
  @use './mat/sort' as tokens-mat-sort;
28
+ @use './mat/standard-button-toggle' as tokens-mat-button-toggle;
13
29
  @use './mat/stepper' as tokens-mat-stepper;
14
30
  @use './mat/tab-header' as tokens-mat-tab-header;
15
31
  @use './mat/tab-header-with-background' as tokens-mat-tab-header-with-background;
@@ -17,9 +33,12 @@
17
33
  @use './mat/toolbar' as tokens-mat-toolbar;
18
34
  @use './mat/tree' as tokens-mat-tree;
19
35
  @use './mdc/checkbox' as tokens-mdc-checkbox;
36
+ @use './mdc/chip' as tokens-mdc-chip;
20
37
  @use './mdc/circular-progress' as tokens-mdc-circular-progress;
21
38
  @use './mdc/dialog' as tokens-mdc-dialog;
22
39
  @use './mdc/elevated-card' as tokens-mdc-elevated-card;
40
+ @use './mdc/extended-fab' as tokens-mdc-extended-fab;
41
+ @use './mdc/fab' as tokens-mdc-fab;
23
42
  @use './mdc/filled-text-field' as tokens-mdc-filled-text-field;
24
43
  @use './mdc/icon-button' as tokens-mdc-icon-button;
25
44
  @use './mdc/linear-progress' as tokens-mdc-linear-progress;
@@ -77,11 +96,27 @@
77
96
  /// )
78
97
  @function m2-tokens-from-theme($theme) {
79
98
  @return sass-utils.deep-merge-all(
99
+ _get-tokens-for-module($theme, tokens-mat-autocomplete),
100
+ _get-tokens-for-module($theme, tokens-mat-badge),
101
+ _get-tokens-for-module($theme, tokens-mat-bottom-sheet),
102
+ _get-tokens-for-module($theme, tokens-mat-button-toggle),
80
103
  _get-tokens-for-module($theme, tokens-mat-card),
104
+ _get-tokens-for-module($theme, tokens-mat-datepicker),
105
+ _get-tokens-for-module($theme, tokens-mat-divider),
106
+ _get-tokens-for-module($theme, tokens-mat-expansion),
107
+ _get-tokens-for-module($theme, tokens-mat-fab),
81
108
  _get-tokens-for-module($theme, tokens-mat-form-field),
82
109
  _get-tokens-for-module($theme, tokens-mat-grid-list),
110
+ _get-tokens-for-module($theme, tokens-mat-icon),
111
+ _get-tokens-for-module($theme, tokens-mat-icon-button),
112
+ _get-tokens-for-module($theme, tokens-mat-menu),
113
+ _get-tokens-for-module($theme, tokens-mat-optgroup),
114
+ _get-tokens-for-module($theme, tokens-mat-option),
115
+ _get-tokens-for-module($theme, tokens-mat-paginator),
83
116
  _get-tokens-for-module($theme, tokens-mat-radio),
84
117
  _get-tokens-for-module($theme, tokens-mat-ripple),
118
+ _get-tokens-for-module($theme, tokens-mat-select),
119
+ _get-tokens-for-module($theme, tokens-mat-sidenav),
85
120
  _get-tokens-for-module($theme, tokens-mat-slide-toggle),
86
121
  _get-tokens-for-module($theme, tokens-mat-slider),
87
122
  _get-tokens-for-module($theme, tokens-mat-snack-bar),
@@ -93,9 +128,12 @@
93
128
  _get-tokens-for-module($theme, tokens-mat-toolbar),
94
129
  _get-tokens-for-module($theme, tokens-mat-tree),
95
130
  _get-tokens-for-module($theme, tokens-mdc-checkbox),
131
+ _get-tokens-for-module($theme, tokens-mdc-chip),
96
132
  _get-tokens-for-module($theme, tokens-mdc-circular-progress),
97
133
  _get-tokens-for-module($theme, tokens-mdc-dialog),
98
134
  _get-tokens-for-module($theme, tokens-mdc-elevated-card),
135
+ _get-tokens-for-module($theme, tokens-mdc-extended-fab),
136
+ _get-tokens-for-module($theme, tokens-mdc-fab),
99
137
  _get-tokens-for-module($theme, tokens-mdc-filled-text-field),
100
138
  _get-tokens-for-module($theme, tokens-mdc-icon-button),
101
139
  _get-tokens-for-module($theme, tokens-mdc-linear-progress),