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

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 (322) 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/index.d.ts +6 -6
  15. package/chips/_chips-theme.scss +64 -32
  16. package/chips/index.d.ts +46 -73
  17. package/core/_core-theme.scss +1 -3
  18. package/core/index.d.ts +50 -31
  19. package/core/option/_optgroup-theme.scss +47 -16
  20. package/core/option/_option-theme.scss +54 -23
  21. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +18 -58
  22. package/core/tokens/m2/_index.scss +38 -0
  23. package/core/tokens/m2/mat/_full-pseudo-checkbox.scss +49 -0
  24. package/core/tokens/m2/mat/_minimal-pseudo-checkbox.scss +43 -0
  25. package/datepicker/_datepicker-theme.scss +70 -38
  26. package/datepicker/index.d.ts +88 -86
  27. package/dialog/_dialog-theme.scss +48 -17
  28. package/divider/_divider-theme.scss +49 -16
  29. package/divider/index.d.ts +4 -4
  30. package/esm2022/autocomplete/autocomplete-origin.mjs +5 -4
  31. package/esm2022/autocomplete/autocomplete-trigger.mjs +27 -11
  32. package/esm2022/autocomplete/autocomplete.mjs +6 -6
  33. package/esm2022/autocomplete/module.mjs +23 -7
  34. package/esm2022/autocomplete/public-api.mjs +3 -1
  35. package/esm2022/badge/badge-module.mjs +6 -7
  36. package/esm2022/badge/badge.mjs +5 -4
  37. package/esm2022/bottom-sheet/bottom-sheet-container.mjs +6 -6
  38. package/esm2022/bottom-sheet/bottom-sheet-module.mjs +8 -7
  39. package/esm2022/bottom-sheet/bottom-sheet.mjs +5 -6
  40. package/esm2022/button/button-base.mjs +6 -6
  41. package/esm2022/button/button.mjs +9 -9
  42. package/esm2022/button/fab.mjs +17 -17
  43. package/esm2022/button/icon-button.mjs +9 -9
  44. package/esm2022/button/module.mjs +16 -12
  45. package/esm2022/button-toggle/button-toggle-module.mjs +6 -7
  46. package/esm2022/button-toggle/button-toggle.mjs +10 -9
  47. package/esm2022/card/card.mjs +57 -46
  48. package/esm2022/card/module.mjs +7 -8
  49. package/esm2022/checkbox/checkbox-required-validator.mjs +6 -4
  50. package/esm2022/checkbox/checkbox.mjs +5 -6
  51. package/esm2022/checkbox/module.mjs +11 -12
  52. package/esm2022/chips/chip-action.mjs +5 -4
  53. package/esm2022/chips/chip-edit-input.mjs +5 -4
  54. package/esm2022/chips/chip-grid.mjs +39 -51
  55. package/esm2022/chips/chip-icons.mjs +13 -10
  56. package/esm2022/chips/chip-input.mjs +5 -4
  57. package/esm2022/chips/chip-listbox.mjs +5 -5
  58. package/esm2022/chips/chip-option.mjs +7 -7
  59. package/esm2022/chips/chip-row.mjs +7 -8
  60. package/esm2022/chips/chip-set.mjs +5 -5
  61. package/esm2022/chips/chip.mjs +5 -6
  62. package/esm2022/chips/module.mjs +7 -8
  63. package/esm2022/chips/tokens.mjs +8 -2
  64. package/esm2022/core/common-behaviors/common-module.mjs +4 -4
  65. package/esm2022/core/common-behaviors/error-state.mjs +50 -11
  66. package/esm2022/core/common-behaviors/index.mjs +2 -2
  67. package/esm2022/core/datetime/index.mjs +8 -8
  68. package/esm2022/core/datetime/native-date-adapter.mjs +3 -3
  69. package/esm2022/core/error/error-options.mjs +6 -6
  70. package/esm2022/core/line/line.mjs +10 -10
  71. package/esm2022/core/option/index.mjs +6 -7
  72. package/esm2022/core/option/optgroup.mjs +5 -5
  73. package/esm2022/core/option/option.mjs +9 -9
  74. package/esm2022/core/private/ripple-loader.mjs +3 -3
  75. package/esm2022/core/ripple/index.mjs +6 -7
  76. package/esm2022/core/ripple/ripple.mjs +5 -4
  77. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +6 -7
  78. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +5 -5
  79. package/esm2022/core/version.mjs +1 -1
  80. package/esm2022/datepicker/calendar-body.mjs +6 -6
  81. package/esm2022/datepicker/calendar.mjs +12 -16
  82. package/esm2022/datepicker/date-range-input-parts.mjs +41 -20
  83. package/esm2022/datepicker/date-range-input.mjs +7 -7
  84. package/esm2022/datepicker/date-range-picker.mjs +5 -4
  85. package/esm2022/datepicker/date-range-selection-strategy.mjs +3 -3
  86. package/esm2022/datepicker/date-selection-model.mjs +9 -9
  87. package/esm2022/datepicker/datepicker-actions.mjs +13 -11
  88. package/esm2022/datepicker/datepicker-base.mjs +23 -20
  89. package/esm2022/datepicker/datepicker-input-base.mjs +6 -5
  90. package/esm2022/datepicker/datepicker-input.mjs +5 -4
  91. package/esm2022/datepicker/datepicker-intl.mjs +3 -3
  92. package/esm2022/datepicker/datepicker-module.mjs +18 -16
  93. package/esm2022/datepicker/datepicker-toggle.mjs +10 -10
  94. package/esm2022/datepicker/datepicker.mjs +5 -4
  95. package/esm2022/datepicker/month-view.mjs +5 -6
  96. package/esm2022/datepicker/multi-year-view.mjs +5 -6
  97. package/esm2022/datepicker/year-view.mjs +5 -6
  98. package/esm2022/dialog/dialog-container.mjs +7 -8
  99. package/esm2022/dialog/dialog-content-directives.mjs +12 -12
  100. package/esm2022/dialog/dialog.mjs +3 -3
  101. package/esm2022/dialog/module.mjs +5 -5
  102. package/esm2022/dialog/testing/dialog-opener.mjs +3 -3
  103. package/esm2022/divider/divider-module.mjs +6 -7
  104. package/esm2022/divider/divider.mjs +5 -5
  105. package/esm2022/expansion/accordion.mjs +5 -4
  106. package/esm2022/expansion/expansion-module.mjs +16 -9
  107. package/esm2022/expansion/expansion-panel-content.mjs +5 -4
  108. package/esm2022/expansion/expansion-panel-header.mjs +13 -11
  109. package/esm2022/expansion/expansion-panel.mjs +11 -11
  110. package/esm2022/form-field/directives/error.mjs +5 -4
  111. package/esm2022/form-field/directives/floating-label.mjs +5 -4
  112. package/esm2022/form-field/directives/hint.mjs +5 -4
  113. package/esm2022/form-field/directives/label.mjs +5 -4
  114. package/esm2022/form-field/directives/line-ripple.mjs +5 -4
  115. package/esm2022/form-field/directives/notched-outline.mjs +5 -5
  116. package/esm2022/form-field/directives/prefix.mjs +5 -4
  117. package/esm2022/form-field/directives/suffix.mjs +5 -4
  118. package/esm2022/form-field/form-field-control.mjs +3 -3
  119. package/esm2022/form-field/form-field.mjs +14 -13
  120. package/esm2022/form-field/module.mjs +16 -18
  121. package/esm2022/grid-list/grid-list-module.mjs +15 -11
  122. package/esm2022/grid-list/grid-list.mjs +5 -5
  123. package/esm2022/grid-list/grid-tile.mjs +21 -18
  124. package/esm2022/grid-list/tile-coordinator.mjs +1 -1
  125. package/esm2022/icon/icon-module.mjs +6 -7
  126. package/esm2022/icon/icon-registry.mjs +3 -3
  127. package/esm2022/icon/icon.mjs +5 -5
  128. package/esm2022/icon/testing/fake-icon-registry.mjs +7 -7
  129. package/esm2022/input/input.mjs +28 -30
  130. package/esm2022/input/module.mjs +6 -7
  131. package/esm2022/input/public-api.mjs +3 -1
  132. package/esm2022/list/action-list.mjs +5 -5
  133. package/esm2022/list/list-base.mjs +9 -7
  134. package/esm2022/list/list-item-sections.mjs +25 -19
  135. package/esm2022/list/list-module.mjs +15 -16
  136. package/esm2022/list/list-option.mjs +8 -8
  137. package/esm2022/list/list.mjs +10 -10
  138. package/esm2022/list/nav-list.mjs +5 -5
  139. package/esm2022/list/selection-list.mjs +5 -5
  140. package/esm2022/list/subheader.mjs +5 -4
  141. package/esm2022/menu/menu-content.mjs +5 -4
  142. package/esm2022/menu/menu-item.mjs +6 -6
  143. package/esm2022/menu/menu-trigger.mjs +12 -5
  144. package/esm2022/menu/menu.mjs +6 -6
  145. package/esm2022/menu/module.mjs +25 -7
  146. package/esm2022/paginator/module.mjs +6 -7
  147. package/esm2022/paginator/paginator-intl.mjs +3 -3
  148. package/esm2022/paginator/paginator.mjs +10 -11
  149. package/esm2022/progress-bar/module.mjs +6 -6
  150. package/esm2022/progress-bar/progress-bar.mjs +5 -5
  151. package/esm2022/progress-spinner/module.mjs +6 -7
  152. package/esm2022/progress-spinner/progress-spinner.mjs +6 -6
  153. package/esm2022/radio/module.mjs +6 -7
  154. package/esm2022/radio/radio.mjs +10 -9
  155. package/esm2022/select/module.mjs +21 -7
  156. package/esm2022/select/public-api.mjs +5 -1
  157. package/esm2022/select/select.mjs +51 -42
  158. package/esm2022/sidenav/drawer.mjs +13 -12
  159. package/esm2022/sidenav/sidenav-module.mjs +14 -10
  160. package/esm2022/sidenav/sidenav.mjs +13 -12
  161. package/esm2022/slide-toggle/module.mjs +20 -12
  162. package/esm2022/slide-toggle/slide-toggle-required-validator.mjs +5 -4
  163. package/esm2022/slide-toggle/slide-toggle.mjs +6 -6
  164. package/esm2022/slider/module.mjs +19 -7
  165. package/esm2022/slider/slider-input.mjs +9 -7
  166. package/esm2022/slider/slider-thumb.mjs +5 -6
  167. package/esm2022/slider/slider.mjs +6 -6
  168. package/esm2022/snack-bar/module.mjs +6 -6
  169. package/esm2022/snack-bar/simple-snack-bar.mjs +6 -8
  170. package/esm2022/snack-bar/snack-bar-container.mjs +7 -8
  171. package/esm2022/snack-bar/snack-bar-content.mjs +9 -9
  172. package/esm2022/snack-bar/snack-bar-ref.mjs +1 -1
  173. package/esm2022/snack-bar/snack-bar.mjs +3 -3
  174. package/esm2022/sort/sort-header-intl.mjs +3 -3
  175. package/esm2022/sort/sort-header.mjs +5 -5
  176. package/esm2022/sort/sort-module.mjs +6 -7
  177. package/esm2022/sort/sort.mjs +5 -4
  178. package/esm2022/stepper/step-content.mjs +5 -4
  179. package/esm2022/stepper/step-header.mjs +8 -8
  180. package/esm2022/stepper/step-label.mjs +5 -4
  181. package/esm2022/stepper/stepper-button.mjs +9 -7
  182. package/esm2022/stepper/stepper-icon.mjs +5 -4
  183. package/esm2022/stepper/stepper-intl.mjs +3 -3
  184. package/esm2022/stepper/stepper-module.mjs +17 -16
  185. package/esm2022/stepper/stepper.mjs +14 -16
  186. package/esm2022/table/cell.mjs +29 -22
  187. package/esm2022/table/module.mjs +7 -8
  188. package/esm2022/table/row.mjs +33 -24
  189. package/esm2022/table/table.mjs +11 -11
  190. package/esm2022/table/text-column.mjs +8 -6
  191. package/esm2022/tabs/module.mjs +10 -43
  192. package/esm2022/tabs/paginated-tab-header.mjs +3 -3
  193. package/esm2022/tabs/tab-body.mjs +10 -8
  194. package/esm2022/tabs/tab-content.mjs +5 -4
  195. package/esm2022/tabs/tab-group.mjs +20 -13
  196. package/esm2022/tabs/tab-header.mjs +7 -7
  197. package/esm2022/tabs/tab-label-wrapper.mjs +5 -4
  198. package/esm2022/tabs/tab-label.mjs +5 -4
  199. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +17 -17
  200. package/esm2022/tabs/tab.mjs +5 -5
  201. package/esm2022/toolbar/toolbar-module.mjs +6 -7
  202. package/esm2022/toolbar/toolbar.mjs +9 -8
  203. package/esm2022/tooltip/module.mjs +6 -7
  204. package/esm2022/tooltip/tooltip.mjs +18 -12
  205. package/esm2022/tree/node.mjs +13 -10
  206. package/esm2022/tree/outlet.mjs +5 -4
  207. package/esm2022/tree/padding.mjs +5 -4
  208. package/esm2022/tree/toggle.mjs +5 -4
  209. package/esm2022/tree/tree-module.mjs +7 -8
  210. package/esm2022/tree/tree.mjs +5 -6
  211. package/expansion/_expansion-theme.scss +56 -22
  212. package/expansion/index.d.ts +15 -15
  213. package/fesm2022/autocomplete.mjs +60 -27
  214. package/fesm2022/autocomplete.mjs.map +1 -1
  215. package/fesm2022/badge.mjs +9 -9
  216. package/fesm2022/badge.mjs.map +1 -1
  217. package/fesm2022/bottom-sheet.mjs +25 -26
  218. package/fesm2022/bottom-sheet.mjs.map +1 -1
  219. package/fesm2022/button-toggle.mjs +14 -15
  220. package/fesm2022/button-toggle.mjs.map +1 -1
  221. package/fesm2022/button.mjs +53 -49
  222. package/fesm2022/button.mjs.map +1 -1
  223. package/fesm2022/card.mjs +62 -52
  224. package/fesm2022/card.mjs.map +1 -1
  225. package/fesm2022/checkbox.mjs +19 -19
  226. package/fesm2022/checkbox.mjs.map +1 -1
  227. package/fesm2022/chips.mjs +94 -96
  228. package/fesm2022/chips.mjs.map +1 -1
  229. package/fesm2022/core.mjs +115 -78
  230. package/fesm2022/core.mjs.map +1 -1
  231. package/fesm2022/datepicker.mjs +178 -146
  232. package/fesm2022/datepicker.mjs.map +1 -1
  233. package/fesm2022/dialog/testing.mjs +2 -2
  234. package/fesm2022/dialog/testing.mjs.map +1 -1
  235. package/fesm2022/dialog.mjs +25 -26
  236. package/fesm2022/dialog.mjs.map +1 -1
  237. package/fesm2022/divider.mjs +9 -10
  238. package/fesm2022/divider.mjs.map +1 -1
  239. package/fesm2022/expansion.mjs +47 -36
  240. package/fesm2022/expansion.mjs.map +1 -1
  241. package/fesm2022/form-field.mjs +61 -48
  242. package/fesm2022/form-field.mjs.map +1 -1
  243. package/fesm2022/grid-list.mjs +38 -31
  244. package/fesm2022/grid-list.mjs.map +1 -1
  245. package/fesm2022/icon/testing.mjs +7 -7
  246. package/fesm2022/icon.mjs +12 -13
  247. package/fesm2022/icon.mjs.map +1 -1
  248. package/fesm2022/input.mjs +33 -35
  249. package/fesm2022/input.mjs.map +1 -1
  250. package/fesm2022/list.mjs +77 -71
  251. package/fesm2022/list.mjs.map +1 -1
  252. package/fesm2022/menu.mjs +51 -27
  253. package/fesm2022/menu.mjs.map +1 -1
  254. package/fesm2022/paginator.mjs +17 -22
  255. package/fesm2022/paginator.mjs.map +1 -1
  256. package/fesm2022/progress-bar.mjs +9 -9
  257. package/fesm2022/progress-bar.mjs.map +1 -1
  258. package/fesm2022/progress-spinner.mjs +10 -12
  259. package/fesm2022/progress-spinner.mjs.map +1 -1
  260. package/fesm2022/radio.mjs +14 -15
  261. package/fesm2022/radio.mjs.map +1 -1
  262. package/fesm2022/select.mjs +72 -48
  263. package/fesm2022/select.mjs.map +1 -1
  264. package/fesm2022/sidenav.mjs +37 -31
  265. package/fesm2022/sidenav.mjs.map +1 -1
  266. package/fesm2022/slide-toggle.mjs +28 -20
  267. package/fesm2022/slide-toggle.mjs.map +1 -1
  268. package/fesm2022/slider.mjs +36 -23
  269. package/fesm2022/slider.mjs.map +1 -1
  270. package/fesm2022/snack-bar.mjs +32 -34
  271. package/fesm2022/snack-bar.mjs.map +1 -1
  272. package/fesm2022/sort.mjs +16 -16
  273. package/fesm2022/sort.mjs.map +1 -1
  274. package/fesm2022/stepper.mjs +58 -55
  275. package/fesm2022/stepper.mjs.map +1 -1
  276. package/fesm2022/table.mjs +81 -63
  277. package/fesm2022/table.mjs.map +1 -1
  278. package/fesm2022/tabs.mjs +408 -424
  279. package/fesm2022/tabs.mjs.map +1 -1
  280. package/fesm2022/toolbar.mjs +13 -13
  281. package/fesm2022/toolbar.mjs.map +1 -1
  282. package/fesm2022/tooltip.mjs +22 -17
  283. package/fesm2022/tooltip.mjs.map +1 -1
  284. package/fesm2022/tree.mjs +34 -29
  285. package/fesm2022/tree.mjs.map +1 -1
  286. package/form-field/index.d.ts +33 -45
  287. package/grid-list/index.d.ts +10 -10
  288. package/icon/_icon-theme.scss +55 -23
  289. package/icon/index.d.ts +4 -4
  290. package/input/index.d.ts +33 -32
  291. package/list/index.d.ts +36 -36
  292. package/menu/_menu-theme.scss +50 -18
  293. package/menu/index.d.ts +12 -12
  294. package/package.json +2 -2
  295. package/paginator/_paginator-theme.scss +62 -29
  296. package/paginator/index.d.ts +6 -6
  297. package/prebuilt-themes/deeppurple-amber.css +1 -1
  298. package/prebuilt-themes/indigo-pink.css +1 -1
  299. package/prebuilt-themes/pink-bluegrey.css +1 -1
  300. package/prebuilt-themes/purple-green.css +1 -1
  301. package/progress-bar/index.d.ts +2 -2
  302. package/progress-spinner/index.d.ts +4 -4
  303. package/radio/index.d.ts +6 -6
  304. package/schematics/ng-add/index.js +1 -1
  305. package/schematics/ng-add/index.mjs +1 -1
  306. package/schematics/ng-generate/mdc-migration/index_bundled.js +427 -201
  307. package/schematics/ng-generate/mdc-migration/index_bundled.js.map +4 -4
  308. package/schematics/ng-update/index_bundled.js +41 -37
  309. package/schematics/ng-update/index_bundled.js.map +2 -2
  310. package/select/_select-theme.scss +71 -38
  311. package/select/index.d.ts +47 -35
  312. package/sidenav/_sidenav-theme.scss +49 -16
  313. package/sidenav/index.d.ts +11 -11
  314. package/slide-toggle/index.d.ts +6 -6
  315. package/slider/index.d.ts +9 -9
  316. package/sort/index.d.ts +6 -6
  317. package/stepper/index.d.ts +29 -29
  318. package/table/index.d.ts +24 -24
  319. package/tabs/index.d.ts +18 -43
  320. package/toolbar/index.d.ts +5 -5
  321. package/tooltip/index.d.ts +8 -8
  322. package/tree/index.d.ts +15 -15
@@ -1,3 +1,4 @@
1
+ @use 'sass:map';
1
2
  @use '@material/density' as mdc-density;
2
3
  @use '@material/textfield' as mdc-textfield;
3
4
  @use '../core/tokens/m2/mat/select' as tokens-mat-select;
@@ -8,67 +9,99 @@
8
9
  @use '../core/theming/inspection';
9
10
  @use '../core/typography/typography';
10
11
 
11
- @mixin base($theme) {}
12
+ @mixin base($theme) {
13
+ @if inspection.get-theme-version($theme) == 1 {
14
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, base));
15
+ }
16
+ @else {}
17
+ }
12
18
 
13
19
  @mixin color($theme) {
14
- @include sass-utils.current-selector-or-root() {
15
- @include token-utils.create-token-values(tokens-mat-select.$prefix,
16
- tokens-mat-select.get-color-tokens($theme));
17
-
18
- .mat-mdc-form-field.mat-accent {
20
+ @if inspection.get-theme-version($theme) == 1 {
21
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, color));
22
+ }
23
+ @else {
24
+ @include sass-utils.current-selector-or-root() {
19
25
  @include token-utils.create-token-values(tokens-mat-select.$prefix,
20
- tokens-mat-select.get-color-tokens($theme, accent));
21
- }
26
+ tokens-mat-select.get-color-tokens($theme));
22
27
 
23
- .mat-mdc-form-field.mat-warn {
24
- @include token-utils.create-token-values(tokens-mat-select.$prefix,
25
- tokens-mat-select.get-color-tokens($theme, warn));
28
+ .mat-mdc-form-field.mat-accent {
29
+ @include token-utils.create-token-values(tokens-mat-select.$prefix,
30
+ tokens-mat-select.get-color-tokens($theme, accent));
31
+ }
32
+
33
+ .mat-mdc-form-field.mat-warn {
34
+ @include token-utils.create-token-values(tokens-mat-select.$prefix,
35
+ tokens-mat-select.get-color-tokens($theme, warn));
36
+ }
26
37
  }
27
38
  }
28
39
  }
29
40
 
30
41
  @mixin typography($theme) {
31
- @include sass-utils.current-selector-or-root() {
32
- @include token-utils.create-token-values(tokens-mat-select.$prefix,
33
- tokens-mat-select.get-typography-tokens($theme));
42
+ @if inspection.get-theme-version($theme) == 1 {
43
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, typography));
44
+ }
45
+ @else {
46
+ @include sass-utils.current-selector-or-root() {
47
+ @include token-utils.create-token-values(tokens-mat-select.$prefix,
48
+ tokens-mat-select.get-typography-tokens($theme));
49
+ }
34
50
  }
35
51
  }
36
52
 
37
53
  @mixin density($theme) {
38
- $density-scale: inspection.get-theme-density($theme);
54
+ @if inspection.get-theme-version($theme) == 1 {
55
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, density));
56
+ }
57
+ @else {
58
+ $density-scale: inspection.get-theme-density($theme);
39
59
 
40
- // Density is clamped at -5 here, because MDC's form field throws an error for anything lower.
41
- $form-field-height: mdc-density.prop-value(
42
- $density-config: mdc-textfield.$density-config,
43
- $density-scale: theming.clamp-density($density-scale, -5),
44
- $property-name: height,
45
- );
60
+ // Density is clamped at -5 here, because MDC's form field throws an error for anything lower.
61
+ $form-field-height: mdc-density.prop-value(
62
+ $density-config: mdc-textfield.$density-config,
63
+ $density-scale: theming.clamp-density($density-scale, -5),
64
+ $property-name: height,
65
+ );
46
66
 
47
- // On lower densities the filled form field hides its label which causes the label to
48
- // be misaligned. Remove the additional offset that was added because of the label.
49
- @if ($form-field-height < mdc-textfield.$minimum-height-for-filled-label) {
50
- .mat-form-field-appearance-fill .mat-mdc-select-arrow-wrapper {
51
- transform: none;
67
+ // On lower densities the filled form field hides its label which causes the label to
68
+ // be misaligned. Remove the additional offset that was added because of the label.
69
+ @if ($form-field-height < mdc-textfield.$minimum-height-for-filled-label) {
70
+ .mat-form-field-appearance-fill .mat-mdc-select-arrow-wrapper {
71
+ transform: none;
72
+ }
52
73
  }
53
- }
54
74
 
55
- @include sass-utils.current-selector-or-root() {
56
- @include token-utils.create-token-values(tokens-mat-select.$prefix,
57
- tokens-mat-select.get-density-tokens($theme));
75
+ @include sass-utils.current-selector-or-root() {
76
+ @include token-utils.create-token-values(tokens-mat-select.$prefix,
77
+ tokens-mat-select.get-density-tokens($theme));
78
+ }
58
79
  }
59
80
  }
60
81
 
61
82
  @mixin theme($theme) {
62
83
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-select') {
63
- @include base($theme);
64
- @if inspection.theme-has($theme, color) {
65
- @include color($theme);
84
+ @if inspection.get-theme-version($theme) == 1 {
85
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme));
66
86
  }
67
- @if inspection.theme-has($theme, density) {
68
- @include density($theme);
69
- }
70
- @if inspection.theme-has($theme, typography) {
71
- @include typography($theme);
87
+ @else {
88
+ @include base($theme);
89
+ @if inspection.theme-has($theme, color) {
90
+ @include color($theme);
91
+ }
92
+ @if inspection.theme-has($theme, density) {
93
+ @include density($theme);
94
+ }
95
+ @if inspection.theme-has($theme, typography) {
96
+ @include typography($theme);
97
+ }
72
98
  }
73
99
  }
74
100
  }
101
+
102
+ @mixin _theme-from-tokens($tokens) {
103
+ @if ($tokens != ()) {
104
+ @include token-utils.create-token-values(
105
+ tokens-mat-select.$prefix, map.get($tokens, tokens-mat-select.$prefix));
106
+ }
107
+ }
package/select/index.d.ts CHANGED
@@ -1,13 +1,10 @@
1
- import { _AbstractConstructor } from '@angular/material/core';
2
1
  import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
3
2
  import { AfterContentInit } from '@angular/core';
4
3
  import { AnimationTriggerMetadata } from '@angular/animations';
5
- import { CanUpdateErrorState } from '@angular/material/core';
6
4
  import { CdkConnectedOverlay } from '@angular/cdk/overlay';
7
5
  import { CdkOverlayOrigin } from '@angular/cdk/overlay';
8
6
  import { ChangeDetectorRef } from '@angular/core';
9
7
  import { ConnectedPosition } from '@angular/cdk/overlay';
10
- import { _Constructor } from '@angular/material/core';
11
8
  import { ControlValueAccessor } from '@angular/forms';
12
9
  import { Directionality } from '@angular/cdk/bidi';
13
10
  import { DoCheck } from '@angular/core';
@@ -16,18 +13,23 @@ import { ErrorStateMatcher } from '@angular/material/core';
16
13
  import { EventEmitter } from '@angular/core';
17
14
  import { FormGroupDirective } from '@angular/forms';
18
15
  import * as i0 from '@angular/core';
19
- import * as i2 from '@angular/common';
20
- import * as i3 from '@angular/cdk/overlay';
21
- import * as i4 from '@angular/material/core';
16
+ import * as i1 from '@angular/common';
17
+ import * as i2 from '@angular/cdk/overlay';
18
+ import * as i3 from '@angular/material/core';
22
19
  import * as i5 from '@angular/cdk/scrolling';
23
20
  import * as i6 from '@angular/material/form-field';
24
21
  import { InjectionToken } from '@angular/core';
25
22
  import { LiveAnnouncer } from '@angular/cdk/a11y';
23
+ import { MatError } from '@angular/material/form-field';
26
24
  import { MatFormField } from '@angular/material/form-field';
27
25
  import { MatFormFieldControl } from '@angular/material/form-field';
26
+ import { MatHint } from '@angular/material/form-field';
27
+ import { MatLabel } from '@angular/material/form-field';
28
28
  import { MatOptgroup } from '@angular/material/core';
29
29
  import { MatOption } from '@angular/material/core';
30
30
  import { MatOptionSelectionChange } from '@angular/material/core';
31
+ import { MatPrefix } from '@angular/material/form-field';
32
+ import { MatSuffix } from '@angular/material/form-field';
31
33
  import { NgControl } from '@angular/forms';
32
34
  import { NgForm } from '@angular/forms';
33
35
  import { NgZone } from '@angular/core';
@@ -43,7 +45,7 @@ import { SimpleChanges } from '@angular/core';
43
45
  import { Subject } from 'rxjs';
44
46
  import { ViewportRuler } from '@angular/cdk/scrolling';
45
47
 
46
- declare namespace i1 {
48
+ declare namespace i4 {
47
49
  export {
48
50
  MAT_SELECT_SCROLL_STRATEGY_PROVIDER_FACTORY,
49
51
  MAT_SELECT_SCROLL_STRATEGY,
@@ -80,12 +82,28 @@ export declare function MAT_SELECT_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay: Ove
80
82
  */
81
83
  export declare const MAT_SELECT_TRIGGER: InjectionToken<MatSelectTrigger>;
82
84
 
83
- export declare class MatSelect extends _MatSelectMixinBase implements AfterContentInit, OnChanges, OnDestroy, OnInit, DoCheck, ControlValueAccessor, MatFormFieldControl<any>, CanUpdateErrorState {
85
+ export { MatError }
86
+
87
+ export { MatFormField }
88
+
89
+ export { MatHint }
90
+
91
+ export { MatLabel }
92
+
93
+ export { MatOptgroup }
94
+
95
+ export { MatOption }
96
+
97
+ export { MatPrefix }
98
+
99
+ export declare class MatSelect implements AfterContentInit, OnChanges, OnDestroy, OnInit, DoCheck, ControlValueAccessor, MatFormFieldControl<any> {
84
100
  protected _viewportRuler: ViewportRuler;
85
101
  protected _changeDetectorRef: ChangeDetectorRef;
86
102
  protected _ngZone: NgZone;
103
+ readonly _elementRef: ElementRef;
87
104
  private _dir;
88
105
  protected _parentFormField: MatFormField;
106
+ ngControl: NgControl;
89
107
  private _liveAnnouncer;
90
108
  protected _defaultOptions?: MatSelectConfig | undefined;
91
109
  /** All of the defined select options. */
@@ -124,6 +142,14 @@ export declare class MatSelect extends _MatSelectMixinBase implements AfterConte
124
142
  private _previousControl;
125
143
  /** Emits whenever the component is destroyed. */
126
144
  protected readonly _destroy: Subject<void>;
145
+ /** Tracks the error state of the select. */
146
+ private _errorStateTracker;
147
+ /**
148
+ * Emits whenever the component state changes and should cause the parent
149
+ * form-field to update. Implemented as part of `MatFormFieldControl`.
150
+ * @docs-private
151
+ */
152
+ readonly stateChanges: Subject<void>;
127
153
  /**
128
154
  * Implemented as part of MatFormFieldControl.
129
155
  * @docs-private
@@ -203,7 +229,8 @@ export declare class MatSelect extends _MatSelectMixinBase implements AfterConte
203
229
  /** Input that can be used to specify the `aria-labelledby` attribute. */
204
230
  ariaLabelledby: string;
205
231
  /** Object used to control when error messages are shown. */
206
- errorStateMatcher: ErrorStateMatcher;
232
+ get errorStateMatcher(): ErrorStateMatcher;
233
+ set errorStateMatcher(value: ErrorStateMatcher);
207
234
  /** Time to wait in milliseconds after the last keystroke before moving focus to an item. */
208
235
  typeaheadDebounceInterval: number;
209
236
  /**
@@ -215,6 +242,9 @@ export declare class MatSelect extends _MatSelectMixinBase implements AfterConte
215
242
  get id(): string;
216
243
  set id(value: string);
217
244
  private _id;
245
+ /** Whether the select is in an error state. */
246
+ get errorState(): boolean;
247
+ set errorState(value: boolean);
218
248
  /**
219
249
  * Width of the panel. If set to `auto`, the panel will match the trigger width.
220
250
  * If set to null or an empty string, the panel will grow to match the longest option's text.
@@ -236,7 +266,7 @@ export declare class MatSelect extends _MatSelectMixinBase implements AfterConte
236
266
  * @docs-private
237
267
  */
238
268
  readonly valueChange: EventEmitter<any>;
239
- constructor(_viewportRuler: ViewportRuler, _changeDetectorRef: ChangeDetectorRef, _ngZone: NgZone, _defaultErrorStateMatcher: ErrorStateMatcher, elementRef: ElementRef, _dir: Directionality, _parentForm: NgForm, _parentFormGroup: FormGroupDirective, _parentFormField: MatFormField, ngControl: NgControl, tabIndex: string, scrollStrategyFactory: any, _liveAnnouncer: LiveAnnouncer, _defaultOptions?: MatSelectConfig | undefined);
269
+ constructor(_viewportRuler: ViewportRuler, _changeDetectorRef: ChangeDetectorRef, _ngZone: NgZone, defaultErrorStateMatcher: ErrorStateMatcher, _elementRef: ElementRef, _dir: Directionality, parentForm: NgForm, parentFormGroup: FormGroupDirective, _parentFormField: MatFormField, ngControl: NgControl, tabIndex: string, scrollStrategyFactory: any, _liveAnnouncer: LiveAnnouncer, _defaultOptions?: MatSelectConfig | undefined);
240
270
  ngOnInit(): void;
241
271
  ngAfterContentInit(): void;
242
272
  ngDoCheck(): void;
@@ -312,6 +342,8 @@ export declare class MatSelect extends _MatSelectMixinBase implements AfterConte
312
342
  get selected(): MatOption | MatOption[];
313
343
  /** The value displayed in the trigger. */
314
344
  get triggerValue(): string;
345
+ /** Refreshes the error state of the select. */
346
+ updateErrorState(): void;
315
347
  /** Whether the element is in RTL mode. */
316
348
  _isRtl(): boolean;
317
349
  /** Handles all keydown events on the select. */
@@ -395,7 +427,7 @@ export declare class MatSelect extends _MatSelectMixinBase implements AfterConte
395
427
  */
396
428
  get shouldLabelFloat(): boolean;
397
429
  static ɵfac: i0.ɵɵFactoryDeclaration<MatSelect, [null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; self: true; }, { attribute: "tabindex"; }, null, null, { optional: true; }]>;
398
- static ɵcmp: i0.ɵɵComponentDeclaration<MatSelect, "mat-select", ["matSelect"], { "userAriaDescribedBy": { "alias": "aria-describedby"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "hideSingleSelectionIndicator": { "alias": "hideSingleSelectionIndicator"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "disableOptionCentering": { "alias": "disableOptionCentering"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "value": { "alias": "value"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "typeaheadDebounceInterval": { "alias": "typeaheadDebounceInterval"; "required": false; }; "sortComparator": { "alias": "sortComparator"; "required": false; }; "id": { "alias": "id"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; }, { "openedChange": "openedChange"; "_openedStream": "opened"; "_closedStream": "closed"; "selectionChange": "selectionChange"; "valueChange": "valueChange"; }, ["customTrigger", "options", "optionGroups"], ["mat-select-trigger", "*"], false, never>;
430
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatSelect, "mat-select", ["matSelect"], { "userAriaDescribedBy": { "alias": "aria-describedby"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "hideSingleSelectionIndicator": { "alias": "hideSingleSelectionIndicator"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "disableOptionCentering": { "alias": "disableOptionCentering"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "value": { "alias": "value"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "typeaheadDebounceInterval": { "alias": "typeaheadDebounceInterval"; "required": false; }; "sortComparator": { "alias": "sortComparator"; "required": false; }; "id": { "alias": "id"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; }, { "openedChange": "openedChange"; "_openedStream": "opened"; "_closedStream": "closed"; "selectionChange": "selectionChange"; "valueChange": "valueChange"; }, ["customTrigger", "options", "optionGroups"], ["mat-select-trigger", "*"], true, never>;
399
431
  static ngAcceptInputType_disabled: unknown;
400
432
  static ngAcceptInputType_disableRipple: unknown;
401
433
  static ngAcceptInputType_tabIndex: unknown;
@@ -452,31 +484,9 @@ export declare interface MatSelectConfig {
452
484
  panelWidth?: string | number | null;
453
485
  }
454
486
 
455
- /** @docs-private */
456
- declare const _MatSelectMixinBase: _Constructor<CanUpdateErrorState> & _AbstractConstructor<CanUpdateErrorState> & {
457
- new (_elementRef: ElementRef, _defaultErrorStateMatcher: ErrorStateMatcher, _parentForm: NgForm, _parentFormGroup: FormGroupDirective, ngControl: NgControl): {
458
- /**
459
- * Emits whenever the component state changes and should cause the parent
460
- * form-field to update. Implemented as part of `MatFormFieldControl`.
461
- * @docs-private
462
- */
463
- readonly stateChanges: Subject<void>;
464
- _elementRef: ElementRef;
465
- _defaultErrorStateMatcher: ErrorStateMatcher;
466
- _parentForm: NgForm;
467
- _parentFormGroup: FormGroupDirective;
468
- /**
469
- * Form control bound to the component.
470
- * Implemented as part of `MatFormFieldControl`.
471
- * @docs-private
472
- */
473
- ngControl: NgControl;
474
- };
475
- };
476
-
477
487
  export declare class MatSelectModule {
478
488
  static ɵfac: i0.ɵɵFactoryDeclaration<MatSelectModule, never>;
479
- static ɵmod: i0.ɵɵNgModuleDeclaration<MatSelectModule, [typeof i1.MatSelect, typeof i1.MatSelectTrigger], [typeof i2.CommonModule, typeof i3.OverlayModule, typeof i4.MatOptionModule, typeof i4.MatCommonModule], [typeof i5.CdkScrollableModule, typeof i6.MatFormFieldModule, typeof i1.MatSelect, typeof i1.MatSelectTrigger, typeof i4.MatOptionModule, typeof i4.MatCommonModule]>;
489
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MatSelectModule, never, [typeof i1.CommonModule, typeof i2.OverlayModule, typeof i3.MatOptionModule, typeof i3.MatCommonModule, typeof i4.MatSelect, typeof i4.MatSelectTrigger], [typeof i5.CdkScrollableModule, typeof i6.MatFormFieldModule, typeof i4.MatSelect, typeof i4.MatSelectTrigger, typeof i3.MatOptionModule, typeof i3.MatCommonModule]>;
480
490
  static ɵinj: i0.ɵɵInjectorDeclaration<MatSelectModule>;
481
491
  }
482
492
 
@@ -485,7 +495,9 @@ export declare class MatSelectModule {
485
495
  */
486
496
  export declare class MatSelectTrigger {
487
497
  static ɵfac: i0.ɵɵFactoryDeclaration<MatSelectTrigger, never>;
488
- static ɵdir: i0.ɵɵDirectiveDeclaration<MatSelectTrigger, "mat-select-trigger", never, {}, {}, never, never, false, never>;
498
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatSelectTrigger, "mat-select-trigger", never, {}, {}, never, never, true, never>;
489
499
  }
490
500
 
501
+ export { MatSuffix }
502
+
491
503
  export { }
@@ -1,3 +1,4 @@
1
+ @use 'sass:map';
1
2
  @use '../core/theming/theming';
2
3
  @use '../core/theming/inspection';
3
4
  @use '../core/tokens/m2/mat/sidenav' as tokens-mat-sidenav;
@@ -5,34 +6,66 @@
5
6
  @use '../core/style/sass-utils';
6
7
 
7
8
  @mixin base($theme) {
8
- @include sass-utils.current-selector-or-root() {
9
- @include token-utils.create-token-values(
10
- tokens-mat-sidenav.$prefix, tokens-mat-sidenav.get-unthemable-tokens());
9
+ @if inspection.get-theme-version($theme) == 1 {
10
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, base));
11
+ }
12
+ @else {
13
+ @include sass-utils.current-selector-or-root() {
14
+ @include token-utils.create-token-values(
15
+ tokens-mat-sidenav.$prefix, tokens-mat-sidenav.get-unthemable-tokens());
16
+ }
11
17
  }
12
18
  }
13
19
 
14
20
  @mixin color($theme) {
15
- @include sass-utils.current-selector-or-root() {
16
- @include token-utils.create-token-values(tokens-mat-sidenav.$prefix,
17
- tokens-mat-sidenav.get-color-tokens($theme));
21
+ @if inspection.get-theme-version($theme) == 1 {
22
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, color));
23
+ }
24
+ @else {
25
+ @include sass-utils.current-selector-or-root() {
26
+ @include token-utils.create-token-values(tokens-mat-sidenav.$prefix,
27
+ tokens-mat-sidenav.get-color-tokens($theme));
28
+ }
18
29
  }
19
30
  }
20
31
 
21
- @mixin typography($theme) {}
32
+ @mixin typography($theme) {
33
+ @if inspection.get-theme-version($theme) == 1 {
34
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, typography));
35
+ }
36
+ @else {}
37
+ }
22
38
 
23
- @mixin density($theme) {}
39
+ @mixin density($theme) {
40
+ @if inspection.get-theme-version($theme) == 1 {
41
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, density));
42
+ }
43
+ @else {}
44
+ }
24
45
 
25
46
  @mixin theme($theme) {
26
47
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-sidenav') {
27
- @include base($theme);
28
- @if inspection.theme-has($theme, color) {
29
- @include color($theme);
48
+ @if inspection.get-theme-version($theme) == 1 {
49
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme));
30
50
  }
31
- @if inspection.theme-has($theme, density) {
32
- @include density($theme);
33
- }
34
- @if inspection.theme-has($theme, typography) {
35
- @include typography($theme);
51
+ @else {
52
+ @include base($theme);
53
+ @if inspection.theme-has($theme, color) {
54
+ @include color($theme);
55
+ }
56
+ @if inspection.theme-has($theme, density) {
57
+ @include density($theme);
58
+ }
59
+ @if inspection.theme-has($theme, typography) {
60
+ @include typography($theme);
61
+ }
36
62
  }
37
63
  }
38
64
  }
65
+
66
+ @mixin _theme-from-tokens($tokens) {
67
+ @if ($tokens != ()) {
68
+ @include token-utils.create-token-values(
69
+ tokens-mat-sidenav.$prefix, map.get($tokens, tokens-mat-sidenav.$prefix));
70
+ }
71
+ }
@@ -14,8 +14,8 @@ import { FocusMonitor } from '@angular/cdk/a11y';
14
14
  import { FocusOrigin } from '@angular/cdk/a11y';
15
15
  import { FocusTrapFactory } from '@angular/cdk/a11y';
16
16
  import * as i0 from '@angular/core';
17
- import * as i3 from '@angular/material/core';
18
- import * as i4 from '@angular/cdk/scrolling';
17
+ import * as i1 from '@angular/material/core';
18
+ import * as i2 from '@angular/cdk/scrolling';
19
19
  import { InjectionToken } from '@angular/core';
20
20
  import { InteractivityChecker } from '@angular/cdk/a11y';
21
21
  import { NgZone } from '@angular/core';
@@ -31,7 +31,7 @@ import { ViewportRuler } from '@angular/cdk/scrolling';
31
31
  /** Options for where to set focus to automatically on dialog open */
32
32
  declare type AutoFocusTarget = 'dialog' | 'first-tabbable' | 'first-heading';
33
33
 
34
- declare namespace i1 {
34
+ declare namespace i3 {
35
35
  export {
36
36
  throwMatDuplicatedDrawerError,
37
37
  MAT_DRAWER_DEFAULT_AUTOSIZE_FACTORY,
@@ -46,7 +46,7 @@ declare namespace i1 {
46
46
  }
47
47
  }
48
48
 
49
- declare namespace i2 {
49
+ declare namespace i4 {
50
50
  export {
51
51
  MatSidenavContent,
52
52
  MatSidenav,
@@ -206,7 +206,7 @@ export declare class MatDrawer implements AfterViewInit, AfterContentChecked, On
206
206
  */
207
207
  private _updatePositionInParent;
208
208
  static ɵfac: i0.ɵɵFactoryDeclaration<MatDrawer, [null, null, null, null, null, null, { optional: true; }, { optional: true; }]>;
209
- static ɵcmp: i0.ɵɵComponentDeclaration<MatDrawer, "mat-drawer", ["matDrawer"], { "position": { "alias": "position"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "disableClose": { "alias": "disableClose"; "required": false; }; "autoFocus": { "alias": "autoFocus"; "required": false; }; "opened": { "alias": "opened"; "required": false; }; }, { "openedChange": "openedChange"; "_openedStream": "opened"; "openedStart": "openedStart"; "_closedStream": "closed"; "closedStart": "closedStart"; "onPositionChanged": "positionChanged"; }, never, ["*"], false, never>;
209
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatDrawer, "mat-drawer", ["matDrawer"], { "position": { "alias": "position"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "disableClose": { "alias": "disableClose"; "required": false; }; "autoFocus": { "alias": "autoFocus"; "required": false; }; "opened": { "alias": "opened"; "required": false; }; }, { "openedChange": "openedChange"; "_openedStream": "opened"; "openedStart": "openedStart"; "_closedStream": "closed"; "closedStart": "closedStart"; "onPositionChanged": "positionChanged"; }, never, ["*"], true, never>;
210
210
  }
211
211
 
212
212
  /**
@@ -328,7 +328,7 @@ export declare class MatDrawerContainer implements AfterContentInit, DoCheck, On
328
328
  private _isDrawerOpen;
329
329
  private _drawerHasBackdrop;
330
330
  static ɵfac: i0.ɵɵFactoryDeclaration<MatDrawerContainer, [{ optional: true; }, null, null, null, null, null, { optional: true; }]>;
331
- static ɵcmp: i0.ɵɵComponentDeclaration<MatDrawerContainer, "mat-drawer-container", ["matDrawerContainer"], { "autosize": { "alias": "autosize"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; }, { "backdropClick": "backdropClick"; }, ["_content", "_allDrawers"], ["mat-drawer", "mat-drawer-content", "*"], false, never>;
331
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatDrawerContainer, "mat-drawer-container", ["matDrawerContainer"], { "autosize": { "alias": "autosize"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; }, { "backdropClick": "backdropClick"; }, ["_content", "_allDrawers"], ["mat-drawer", "mat-drawer-content", "*"], true, never>;
332
332
  }
333
333
 
334
334
  export declare class MatDrawerContent extends CdkScrollable implements AfterContentInit {
@@ -337,7 +337,7 @@ export declare class MatDrawerContent extends CdkScrollable implements AfterCont
337
337
  constructor(_changeDetectorRef: ChangeDetectorRef, _container: MatDrawerContainer, elementRef: ElementRef<HTMLElement>, scrollDispatcher: ScrollDispatcher, ngZone: NgZone);
338
338
  ngAfterContentInit(): void;
339
339
  static ɵfac: i0.ɵɵFactoryDeclaration<MatDrawerContent, never>;
340
- static ɵcmp: i0.ɵɵComponentDeclaration<MatDrawerContent, "mat-drawer-content", never, {}, {}, never, ["*"], false, never>;
340
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatDrawerContent, "mat-drawer-content", never, {}, {}, never, ["*"], true, never>;
341
341
  }
342
342
 
343
343
  /** Drawer and SideNav display modes. */
@@ -366,25 +366,25 @@ export declare class MatSidenav extends MatDrawer {
366
366
  set fixedBottomGap(value: NumberInput);
367
367
  private _fixedBottomGap;
368
368
  static ɵfac: i0.ɵɵFactoryDeclaration<MatSidenav, never>;
369
- static ɵcmp: i0.ɵɵComponentDeclaration<MatSidenav, "mat-sidenav", ["matSidenav"], { "fixedInViewport": { "alias": "fixedInViewport"; "required": false; }; "fixedTopGap": { "alias": "fixedTopGap"; "required": false; }; "fixedBottomGap": { "alias": "fixedBottomGap"; "required": false; }; }, {}, never, ["*"], false, never>;
369
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatSidenav, "mat-sidenav", ["matSidenav"], { "fixedInViewport": { "alias": "fixedInViewport"; "required": false; }; "fixedTopGap": { "alias": "fixedTopGap"; "required": false; }; "fixedBottomGap": { "alias": "fixedBottomGap"; "required": false; }; }, {}, never, ["*"], true, never>;
370
370
  }
371
371
 
372
372
  export declare class MatSidenavContainer extends MatDrawerContainer {
373
373
  _allDrawers: QueryList<MatSidenav>;
374
374
  _content: MatSidenavContent;
375
375
  static ɵfac: i0.ɵɵFactoryDeclaration<MatSidenavContainer, never>;
376
- static ɵcmp: i0.ɵɵComponentDeclaration<MatSidenavContainer, "mat-sidenav-container", ["matSidenavContainer"], {}, {}, ["_content", "_allDrawers"], ["mat-sidenav", "mat-sidenav-content", "*"], false, never>;
376
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatSidenavContainer, "mat-sidenav-container", ["matSidenavContainer"], {}, {}, ["_content", "_allDrawers"], ["mat-sidenav", "mat-sidenav-content", "*"], true, never>;
377
377
  }
378
378
 
379
379
  export declare class MatSidenavContent extends MatDrawerContent {
380
380
  constructor(changeDetectorRef: ChangeDetectorRef, container: MatSidenavContainer, elementRef: ElementRef<HTMLElement>, scrollDispatcher: ScrollDispatcher, ngZone: NgZone);
381
381
  static ɵfac: i0.ɵɵFactoryDeclaration<MatSidenavContent, never>;
382
- static ɵcmp: i0.ɵɵComponentDeclaration<MatSidenavContent, "mat-sidenav-content", never, {}, {}, never, ["*"], false, never>;
382
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatSidenavContent, "mat-sidenav-content", never, {}, {}, never, ["*"], true, never>;
383
383
  }
384
384
 
385
385
  export declare class MatSidenavModule {
386
386
  static ɵfac: i0.ɵɵFactoryDeclaration<MatSidenavModule, never>;
387
- static ɵmod: i0.ɵɵNgModuleDeclaration<MatSidenavModule, [typeof i1.MatDrawer, typeof i1.MatDrawerContainer, typeof i1.MatDrawerContent, typeof i2.MatSidenav, typeof i2.MatSidenavContainer, typeof i2.MatSidenavContent], [typeof i3.MatCommonModule, typeof i4.CdkScrollableModule], [typeof i4.CdkScrollableModule, typeof i3.MatCommonModule, typeof i1.MatDrawer, typeof i1.MatDrawerContainer, typeof i1.MatDrawerContent, typeof i2.MatSidenav, typeof i2.MatSidenavContainer, typeof i2.MatSidenavContent]>;
387
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MatSidenavModule, never, [typeof i1.MatCommonModule, typeof i2.CdkScrollableModule, typeof i3.MatDrawer, typeof i3.MatDrawerContainer, typeof i3.MatDrawerContent, typeof i4.MatSidenav, typeof i4.MatSidenavContainer, typeof i4.MatSidenavContent], [typeof i2.CdkScrollableModule, typeof i1.MatCommonModule, typeof i3.MatDrawer, typeof i3.MatDrawerContainer, typeof i3.MatDrawerContent, typeof i4.MatSidenav, typeof i4.MatSidenavContainer, typeof i4.MatSidenavContent]>;
388
388
  static ɵinj: i0.ɵɵInjectorDeclaration<MatSidenavModule>;
389
389
  }
390
390
 
@@ -6,7 +6,7 @@ import { ElementRef } from '@angular/core';
6
6
  import { EventEmitter } from '@angular/core';
7
7
  import { FocusMonitor } from '@angular/cdk/a11y';
8
8
  import * as i0 from '@angular/core';
9
- import * as i3 from '@angular/material/core';
9
+ import * as i2 from '@angular/material/core';
10
10
  import { InjectionToken } from '@angular/core';
11
11
  import { OnDestroy } from '@angular/core';
12
12
  import { Provider } from '@angular/core';
@@ -20,7 +20,7 @@ declare namespace i1 {
20
20
  }
21
21
  }
22
22
 
23
- declare namespace i2 {
23
+ declare namespace i3 {
24
24
  export {
25
25
  MAT_SLIDE_TOGGLE_VALUE_ACCESSOR,
26
26
  MatSlideToggleChange,
@@ -120,7 +120,7 @@ export declare class MatSlideToggle implements OnDestroy, AfterContentInit, Cont
120
120
  _handleClick(): void;
121
121
  _getAriaLabelledBy(): string | null;
122
122
  static ɵfac: i0.ɵɵFactoryDeclaration<MatSlideToggle, [null, null, null, { attribute: "tabindex"; }, null, { optional: true; }]>;
123
- static ɵcmp: i0.ɵɵComponentDeclaration<MatSlideToggle, "mat-slide-toggle", ["matSlideToggle"], { "disabled": { "alias": "disabled"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "color": { "alias": "color"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "labelPosition": { "alias": "labelPosition"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; }; "ariaDescribedby": { "alias": "aria-describedby"; "required": false; }; "required": { "alias": "required"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "hideIcon": { "alias": "hideIcon"; "required": false; }; }, { "change": "change"; "toggleChange": "toggleChange"; }, never, ["*"], false, never>;
123
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatSlideToggle, "mat-slide-toggle", ["matSlideToggle"], { "disabled": { "alias": "disabled"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "color": { "alias": "color"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "labelPosition": { "alias": "labelPosition"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; }; "ariaDescribedby": { "alias": "aria-describedby"; "required": false; }; "required": { "alias": "required"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "hideIcon": { "alias": "hideIcon"; "required": false; }; }, { "change": "change"; "toggleChange": "toggleChange"; }, never, ["*"], true, never>;
124
124
  static ngAcceptInputType_disabled: unknown;
125
125
  static ngAcceptInputType_disableRipple: unknown;
126
126
  static ngAcceptInputType_tabIndex: unknown;
@@ -154,7 +154,7 @@ export declare interface MatSlideToggleDefaultOptions {
154
154
 
155
155
  export declare class MatSlideToggleModule {
156
156
  static ɵfac: i0.ɵɵFactoryDeclaration<MatSlideToggleModule, never>;
157
- static ɵmod: i0.ɵɵNgModuleDeclaration<MatSlideToggleModule, [typeof i2.MatSlideToggle], [typeof _MatSlideToggleRequiredValidatorModule, typeof i3.MatCommonModule, typeof i3.MatRippleModule], [typeof _MatSlideToggleRequiredValidatorModule, typeof i2.MatSlideToggle, typeof i3.MatCommonModule]>;
157
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MatSlideToggleModule, never, [typeof _MatSlideToggleRequiredValidatorModule, typeof i2.MatCommonModule, typeof i2.MatRippleModule, typeof i3.MatSlideToggle], [typeof _MatSlideToggleRequiredValidatorModule, typeof i3.MatSlideToggle, typeof i2.MatCommonModule]>;
158
158
  static ɵinj: i0.ɵɵInjectorDeclaration<MatSlideToggleModule>;
159
159
  }
160
160
 
@@ -168,13 +168,13 @@ export declare class MatSlideToggleModule {
168
168
  */
169
169
  export declare class MatSlideToggleRequiredValidator extends CheckboxRequiredValidator {
170
170
  static ɵfac: i0.ɵɵFactoryDeclaration<MatSlideToggleRequiredValidator, never>;
171
- static ɵdir: i0.ɵɵDirectiveDeclaration<MatSlideToggleRequiredValidator, "mat-slide-toggle[required][formControlName], mat-slide-toggle[required][formControl], mat-slide-toggle[required][ngModel]", never, {}, {}, never, never, false, never>;
171
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatSlideToggleRequiredValidator, "mat-slide-toggle[required][formControlName], mat-slide-toggle[required][formControl], mat-slide-toggle[required][ngModel]", never, {}, {}, never, never, true, never>;
172
172
  }
173
173
 
174
174
  /** This module is used by both original and MDC-based slide-toggle implementations. */
175
175
  export declare class _MatSlideToggleRequiredValidatorModule {
176
176
  static ɵfac: i0.ɵɵFactoryDeclaration<_MatSlideToggleRequiredValidatorModule, never>;
177
- static ɵmod: i0.ɵɵNgModuleDeclaration<_MatSlideToggleRequiredValidatorModule, [typeof i1.MatSlideToggleRequiredValidator], never, [typeof i1.MatSlideToggleRequiredValidator]>;
177
+ static ɵmod: i0.ɵɵNgModuleDeclaration<_MatSlideToggleRequiredValidatorModule, never, [typeof i1.MatSlideToggleRequiredValidator], [typeof i1.MatSlideToggleRequiredValidator]>;
178
178
  static ɵinj: i0.ɵɵInjectorDeclaration<_MatSlideToggleRequiredValidatorModule>;
179
179
  }
180
180