@angular/material 14.0.0-next.0 → 14.0.0-next.11

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 (542) hide show
  1. package/_index.scss +20 -1
  2. package/autocomplete/autocomplete-trigger.d.ts +14 -3
  3. package/autocomplete/autocomplete.d.ts +7 -1
  4. package/badge/_badge-theme.scss +11 -2
  5. package/button-toggle/_button-toggle-theme.scss +14 -2
  6. package/checkbox/_checkbox-theme.scss +1 -1
  7. package/checkbox/checkbox.d.ts +1 -1
  8. package/checkbox/testing/checkbox-harness-filters.d.ts +2 -0
  9. package/chips/chip-input.d.ts +2 -5
  10. package/chips/chip-list.d.ts +21 -6
  11. package/chips/chip.d.ts +4 -4
  12. package/core/_core.scss +5 -7
  13. package/core/common-behaviors/error-state.d.ts +1 -2
  14. package/core/datetime/index.d.ts +1 -2
  15. package/core/ripple/_ripple.scss +2 -2
  16. package/core/ripple/index.d.ts +1 -2
  17. package/core/ripple/ripple-ref.d.ts +2 -1
  18. package/core/ripple/ripple-renderer.d.ts +16 -3
  19. package/core/style/_menu-common.scss +3 -2
  20. package/core/style/_vendor-prefixes.scss +1 -17
  21. package/core/theming/_theming.scss +9 -0
  22. package/core/typography/_typography.scss +51 -14
  23. package/datepicker/calendar-body.d.ts +34 -4
  24. package/datepicker/date-range-input-parts.d.ts +4 -1
  25. package/datepicker/datepicker-base.d.ts +2 -0
  26. package/datepicker/month-view.d.ts +18 -0
  27. package/datepicker/multi-year-view.d.ts +18 -0
  28. package/datepicker/year-view.d.ts +18 -0
  29. package/dialog/dialog-animations.d.ts +10 -0
  30. package/dialog/dialog-config.d.ts +12 -1
  31. package/dialog/dialog-container.d.ts +12 -4
  32. package/dialog/dialog-content-directives.d.ts +5 -1
  33. package/dialog/dialog.d.ts +12 -6
  34. package/dialog/public-api.d.ts +1 -1
  35. package/dialog/testing/dialog-opener.d.ts +33 -0
  36. package/dialog/testing/public-api.d.ts +1 -0
  37. package/esm2020/autocomplete/autocomplete-module.mjs +5 -5
  38. package/esm2020/autocomplete/autocomplete-origin.mjs +7 -7
  39. package/esm2020/autocomplete/autocomplete-trigger.mjs +96 -49
  40. package/esm2020/autocomplete/autocomplete.mjs +19 -9
  41. package/esm2020/autocomplete/testing/autocomplete-harness.mjs +7 -1
  42. package/esm2020/badge/badge-module.mjs +5 -5
  43. package/esm2020/badge/badge.mjs +4 -4
  44. package/esm2020/bottom-sheet/bottom-sheet-animations.mjs +10 -4
  45. package/esm2020/bottom-sheet/bottom-sheet-container.mjs +12 -7
  46. package/esm2020/bottom-sheet/bottom-sheet-module.mjs +5 -5
  47. package/esm2020/bottom-sheet/bottom-sheet.mjs +4 -4
  48. package/esm2020/button/button-module.mjs +5 -5
  49. package/esm2020/button/button.mjs +10 -10
  50. package/esm2020/button-toggle/button-toggle-module.mjs +5 -5
  51. package/esm2020/button-toggle/button-toggle.mjs +8 -8
  52. package/esm2020/card/card-module.mjs +5 -5
  53. package/esm2020/card/card.mjs +44 -44
  54. package/esm2020/checkbox/checkbox-module.mjs +9 -9
  55. package/esm2020/checkbox/checkbox-required-validator.mjs +4 -4
  56. package/esm2020/checkbox/checkbox.mjs +12 -8
  57. package/esm2020/checkbox/testing/checkbox-harness-filters.mjs +1 -1
  58. package/esm2020/checkbox/testing/checkbox-harness.mjs +3 -2
  59. package/esm2020/chips/chip-input.mjs +4 -4
  60. package/esm2020/chips/chip-list.mjs +34 -9
  61. package/esm2020/chips/chip.mjs +20 -17
  62. package/esm2020/chips/chips-module.mjs +5 -5
  63. package/esm2020/core/common-behaviors/common-module.mjs +5 -5
  64. package/esm2020/core/common-behaviors/error-state.mjs +1 -8
  65. package/esm2020/core/datetime/index.mjs +9 -11
  66. package/esm2020/core/datetime/native-date-adapter.mjs +4 -4
  67. package/esm2020/core/error/error-options.mjs +7 -7
  68. package/esm2020/core/line/line.mjs +8 -8
  69. package/esm2020/core/option/index.mjs +5 -5
  70. package/esm2020/core/option/optgroup.mjs +8 -8
  71. package/esm2020/core/option/option.mjs +8 -8
  72. package/esm2020/core/ripple/index.mjs +6 -7
  73. package/esm2020/core/ripple/ripple-ref.mjs +5 -2
  74. package/esm2020/core/ripple/ripple-renderer.mjs +112 -54
  75. package/esm2020/core/ripple/ripple.mjs +4 -4
  76. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +5 -5
  77. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +5 -5
  78. package/esm2020/core/version.mjs +1 -1
  79. package/esm2020/datepicker/calendar-body.mjs +57 -12
  80. package/esm2020/datepicker/calendar.mjs +26 -15
  81. package/esm2020/datepicker/date-range-input-parts.mjs +10 -10
  82. package/esm2020/datepicker/date-range-input.mjs +6 -6
  83. package/esm2020/datepicker/date-range-picker.mjs +4 -4
  84. package/esm2020/datepicker/date-range-selection-strategy.mjs +4 -4
  85. package/esm2020/datepicker/date-selection-model.mjs +10 -10
  86. package/esm2020/datepicker/datepicker-actions.mjs +12 -12
  87. package/esm2020/datepicker/datepicker-base.mjs +9 -17
  88. package/esm2020/datepicker/datepicker-input-base.mjs +12 -7
  89. package/esm2020/datepicker/datepicker-input.mjs +4 -4
  90. package/esm2020/datepicker/datepicker-intl.mjs +4 -4
  91. package/esm2020/datepicker/datepicker-module.mjs +5 -5
  92. package/esm2020/datepicker/datepicker-toggle.mjs +8 -8
  93. package/esm2020/datepicker/datepicker.mjs +4 -4
  94. package/esm2020/datepicker/month-view.mjs +36 -9
  95. package/esm2020/datepicker/multi-year-view.mjs +42 -10
  96. package/esm2020/datepicker/year-view.mjs +41 -10
  97. package/esm2020/dialog/dialog-animations.mjs +17 -4
  98. package/esm2020/dialog/dialog-config.mjs +8 -1
  99. package/esm2020/dialog/dialog-container.mjs +44 -26
  100. package/esm2020/dialog/dialog-content-directives.mjs +31 -15
  101. package/esm2020/dialog/dialog-module.mjs +5 -5
  102. package/esm2020/dialog/dialog.mjs +24 -40
  103. package/esm2020/dialog/public-api.mjs +2 -2
  104. package/esm2020/dialog/testing/dialog-opener.mjs +67 -0
  105. package/esm2020/dialog/testing/public-api.mjs +2 -1
  106. package/esm2020/divider/divider-module.mjs +5 -5
  107. package/esm2020/divider/divider.mjs +5 -5
  108. package/esm2020/expansion/accordion.mjs +4 -4
  109. package/esm2020/expansion/expansion-module.mjs +5 -5
  110. package/esm2020/expansion/expansion-panel-base.mjs +14 -0
  111. package/esm2020/expansion/expansion-panel-content.mjs +14 -7
  112. package/esm2020/expansion/expansion-panel-header.mjs +11 -11
  113. package/esm2020/expansion/expansion-panel.mjs +13 -10
  114. package/esm2020/expansion/public-api.mjs +2 -1
  115. package/esm2020/form-field/error.mjs +4 -4
  116. package/esm2020/form-field/form-field-control.mjs +4 -4
  117. package/esm2020/form-field/form-field-module.mjs +5 -5
  118. package/esm2020/form-field/form-field.mjs +22 -14
  119. package/esm2020/form-field/hint.mjs +4 -4
  120. package/esm2020/form-field/label.mjs +4 -4
  121. package/esm2020/form-field/placeholder.mjs +4 -4
  122. package/esm2020/form-field/prefix.mjs +4 -4
  123. package/esm2020/form-field/suffix.mjs +4 -4
  124. package/esm2020/form-field/testing/public-api.mjs +4 -4
  125. package/esm2020/grid-list/grid-list-module.mjs +5 -5
  126. package/esm2020/grid-list/grid-list.mjs +6 -6
  127. package/esm2020/grid-list/grid-tile.mjs +17 -17
  128. package/esm2020/icon/icon-module.mjs +5 -5
  129. package/esm2020/icon/icon-registry.mjs +12 -14
  130. package/esm2020/icon/icon.mjs +31 -28
  131. package/esm2020/icon/testing/fake-icon-registry.mjs +9 -9
  132. package/esm2020/input/input-module.mjs +5 -5
  133. package/esm2020/input/input.mjs +41 -24
  134. package/esm2020/list/list-module.mjs +5 -5
  135. package/esm2020/list/list.mjs +21 -23
  136. package/esm2020/list/selection-list.mjs +15 -38
  137. package/esm2020/list/testing/list-item-harness-base.mjs +1 -9
  138. package/esm2020/menu/menu-content.mjs +7 -7
  139. package/esm2020/menu/menu-errors.mjs +1 -12
  140. package/esm2020/menu/menu-item.mjs +8 -4
  141. package/esm2020/menu/menu-module.mjs +5 -5
  142. package/esm2020/menu/menu-trigger.mjs +79 -65
  143. package/esm2020/menu/menu.mjs +35 -14
  144. package/esm2020/paginator/paginator-intl.mjs +4 -4
  145. package/esm2020/paginator/paginator-module.mjs +5 -5
  146. package/esm2020/paginator/paginator.mjs +12 -8
  147. package/esm2020/paginator/testing/paginator-harness.mjs +11 -1
  148. package/esm2020/progress-bar/progress-bar-module.mjs +5 -5
  149. package/esm2020/progress-bar/progress-bar.mjs +8 -5
  150. package/esm2020/progress-spinner/progress-spinner-module.mjs +8 -8
  151. package/esm2020/progress-spinner/progress-spinner.mjs +14 -51
  152. package/esm2020/progress-spinner/public-api.mjs +10 -2
  153. package/esm2020/radio/radio-module.mjs +5 -5
  154. package/esm2020/radio/radio.mjs +42 -14
  155. package/esm2020/radio/testing/radio-harness-filters.mjs +1 -1
  156. package/esm2020/radio/testing/radio-harness.mjs +3 -2
  157. package/esm2020/select/select-module.mjs +5 -5
  158. package/esm2020/select/select.mjs +66 -28
  159. package/esm2020/sidenav/drawer.mjs +19 -14
  160. package/esm2020/sidenav/sidenav-module.mjs +7 -8
  161. package/esm2020/sidenav/sidenav.mjs +12 -12
  162. package/esm2020/slide-toggle/slide-toggle-module.mjs +9 -9
  163. package/esm2020/slide-toggle/slide-toggle-required-validator.mjs +4 -4
  164. package/esm2020/slide-toggle/slide-toggle.mjs +6 -5
  165. package/esm2020/slide-toggle/testing/slide-toggle-harness-filters.mjs +1 -1
  166. package/esm2020/slide-toggle/testing/slide-toggle-harness.mjs +4 -2
  167. package/esm2020/slider/slider-module.mjs +5 -5
  168. package/esm2020/slider/slider.mjs +15 -8
  169. package/esm2020/snack-bar/simple-snack-bar.mjs +5 -5
  170. package/esm2020/snack-bar/snack-bar-container.mjs +24 -18
  171. package/esm2020/snack-bar/snack-bar-module.mjs +5 -5
  172. package/esm2020/snack-bar/snack-bar.mjs +7 -7
  173. package/esm2020/sort/sort-header-intl.mjs +4 -4
  174. package/esm2020/sort/sort-header.mjs +16 -8
  175. package/esm2020/sort/sort-module.mjs +5 -5
  176. package/esm2020/sort/sort.mjs +4 -4
  177. package/esm2020/stepper/public-api.mjs +2 -2
  178. package/esm2020/stepper/step-content.mjs +4 -4
  179. package/esm2020/stepper/step-header.mjs +5 -5
  180. package/esm2020/stepper/step-label.mjs +4 -4
  181. package/esm2020/stepper/stepper-animations.mjs +9 -3
  182. package/esm2020/stepper/stepper-button.mjs +7 -7
  183. package/esm2020/stepper/stepper-icon.mjs +4 -4
  184. package/esm2020/stepper/stepper-intl.mjs +4 -4
  185. package/esm2020/stepper/stepper-module.mjs +6 -10
  186. package/esm2020/stepper/stepper.mjs +39 -63
  187. package/esm2020/table/cell.mjs +22 -22
  188. package/esm2020/table/row.mjs +22 -22
  189. package/esm2020/table/table-module.mjs +5 -5
  190. package/esm2020/table/table.mjs +9 -9
  191. package/esm2020/table/text-column.mjs +4 -4
  192. package/esm2020/tabs/ink-bar.mjs +11 -22
  193. package/esm2020/tabs/paginated-tab-header.mjs +27 -13
  194. package/esm2020/tabs/tab-body.mjs +18 -12
  195. package/esm2020/tabs/tab-config.mjs +1 -1
  196. package/esm2020/tabs/tab-content.mjs +4 -4
  197. package/esm2020/tabs/tab-group.mjs +55 -11
  198. package/esm2020/tabs/tab-header.mjs +8 -8
  199. package/esm2020/tabs/tab-label-wrapper.mjs +4 -4
  200. package/esm2020/tabs/tab-label.mjs +4 -4
  201. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +18 -18
  202. package/esm2020/tabs/tab.mjs +4 -4
  203. package/esm2020/tabs/tabs-animations.mjs +16 -6
  204. package/esm2020/tabs/tabs-module.mjs +5 -5
  205. package/esm2020/toolbar/toolbar-module.mjs +5 -5
  206. package/esm2020/toolbar/toolbar.mjs +8 -8
  207. package/esm2020/tooltip/testing/tooltip-harness.mjs +12 -7
  208. package/esm2020/tooltip/tooltip-module.mjs +5 -5
  209. package/esm2020/tooltip/tooltip.mjs +126 -51
  210. package/esm2020/tree/node.mjs +10 -10
  211. package/esm2020/tree/outlet.mjs +4 -4
  212. package/esm2020/tree/padding.mjs +4 -4
  213. package/esm2020/tree/toggle.mjs +4 -4
  214. package/esm2020/tree/tree-module.mjs +5 -5
  215. package/esm2020/tree/tree.mjs +5 -5
  216. package/expansion/expansion-panel-base.d.ts +22 -0
  217. package/expansion/expansion-panel-content.d.ts +4 -2
  218. package/expansion/public-api.d.ts +1 -0
  219. package/fesm2015/autocomplete/testing.mjs +6 -0
  220. package/fesm2015/autocomplete/testing.mjs.map +1 -1
  221. package/fesm2015/autocomplete.mjs +125 -67
  222. package/fesm2015/autocomplete.mjs.map +1 -1
  223. package/fesm2015/badge/testing.mjs.map +1 -1
  224. package/fesm2015/badge.mjs +7 -7
  225. package/fesm2015/badge.mjs.map +1 -1
  226. package/fesm2015/bottom-sheet/testing.mjs.map +1 -1
  227. package/fesm2015/bottom-sheet.mjs +27 -16
  228. package/fesm2015/bottom-sheet.mjs.map +1 -1
  229. package/fesm2015/button/testing.mjs.map +1 -1
  230. package/fesm2015/button-toggle/testing.mjs.map +1 -1
  231. package/fesm2015/button-toggle.mjs +11 -11
  232. package/fesm2015/button-toggle.mjs.map +1 -1
  233. package/fesm2015/button.mjs +13 -13
  234. package/fesm2015/button.mjs.map +1 -1
  235. package/fesm2015/card/testing.mjs.map +1 -1
  236. package/fesm2015/card.mjs +47 -47
  237. package/fesm2015/card.mjs.map +1 -1
  238. package/fesm2015/checkbox/testing.mjs +2 -1
  239. package/fesm2015/checkbox/testing.mjs.map +1 -1
  240. package/fesm2015/checkbox.mjs +22 -18
  241. package/fesm2015/checkbox.mjs.map +1 -1
  242. package/fesm2015/chips/testing.mjs.map +1 -1
  243. package/fesm2015/chips.mjs +59 -31
  244. package/fesm2015/chips.mjs.map +1 -1
  245. package/fesm2015/core/testing.mjs.map +1 -1
  246. package/fesm2015/core.mjs +181 -126
  247. package/fesm2015/core.mjs.map +1 -1
  248. package/fesm2015/datepicker/testing.mjs.map +1 -1
  249. package/fesm2015/datepicker.mjs +273 -130
  250. package/fesm2015/datepicker.mjs.map +1 -1
  251. package/fesm2015/dialog/testing.mjs +65 -2
  252. package/fesm2015/dialog/testing.mjs.map +1 -1
  253. package/fesm2015/dialog.mjs +144 -106
  254. package/fesm2015/dialog.mjs.map +1 -1
  255. package/fesm2015/divider/testing.mjs.map +1 -1
  256. package/fesm2015/divider.mjs +8 -8
  257. package/fesm2015/divider.mjs.map +1 -1
  258. package/fesm2015/expansion/testing.mjs.map +1 -1
  259. package/fesm2015/expansion.mjs +56 -33
  260. package/fesm2015/expansion.mjs.map +1 -1
  261. package/fesm2015/form-field/testing/control.mjs.map +1 -1
  262. package/fesm2015/form-field/testing.mjs +1 -1
  263. package/fesm2015/form-field/testing.mjs.map +1 -1
  264. package/fesm2015/form-field.mjs +47 -38
  265. package/fesm2015/form-field.mjs.map +1 -1
  266. package/fesm2015/grid-list/testing.mjs.map +1 -1
  267. package/fesm2015/grid-list.mjs +25 -25
  268. package/fesm2015/grid-list.mjs.map +1 -1
  269. package/fesm2015/icon/testing.mjs +8 -8
  270. package/fesm2015/icon/testing.mjs.map +1 -1
  271. package/fesm2015/icon.mjs +45 -44
  272. package/fesm2015/icon.mjs.map +1 -1
  273. package/fesm2015/input/testing.mjs.map +1 -1
  274. package/fesm2015/input.mjs +45 -28
  275. package/fesm2015/input.mjs.map +1 -1
  276. package/fesm2015/list/testing.mjs +0 -10
  277. package/fesm2015/list/testing.mjs.map +1 -1
  278. package/fesm2015/list.mjs +41 -67
  279. package/fesm2015/list.mjs.map +1 -1
  280. package/fesm2015/material.mjs.map +1 -1
  281. package/fesm2015/menu/testing.mjs.map +1 -1
  282. package/fesm2015/menu.mjs +131 -99
  283. package/fesm2015/menu.mjs.map +1 -1
  284. package/fesm2015/paginator/testing.mjs +14 -0
  285. package/fesm2015/paginator/testing.mjs.map +1 -1
  286. package/fesm2015/paginator.mjs +18 -14
  287. package/fesm2015/paginator.mjs.map +1 -1
  288. package/fesm2015/progress-bar/testing.mjs.map +1 -1
  289. package/fesm2015/progress-bar.mjs +11 -8
  290. package/fesm2015/progress-bar.mjs.map +1 -1
  291. package/fesm2015/progress-spinner/testing.mjs.map +1 -1
  292. package/fesm2015/progress-spinner.mjs +31 -63
  293. package/fesm2015/progress-spinner.mjs.map +1 -1
  294. package/fesm2015/radio/testing.mjs +2 -1
  295. package/fesm2015/radio/testing.mjs.map +1 -1
  296. package/fesm2015/radio.mjs +46 -17
  297. package/fesm2015/radio.mjs.map +1 -1
  298. package/fesm2015/select/testing.mjs.map +1 -1
  299. package/fesm2015/select.mjs +70 -32
  300. package/fesm2015/select.mjs.map +1 -1
  301. package/fesm2015/sidenav/testing.mjs.map +1 -1
  302. package/fesm2015/sidenav.mjs +36 -32
  303. package/fesm2015/sidenav.mjs.map +1 -1
  304. package/fesm2015/slide-toggle/testing.mjs +3 -1
  305. package/fesm2015/slide-toggle/testing.mjs.map +1 -1
  306. package/fesm2015/slide-toggle.mjs +16 -15
  307. package/fesm2015/slide-toggle.mjs.map +1 -1
  308. package/fesm2015/slider/testing.mjs.map +1 -1
  309. package/fesm2015/slider.mjs +18 -11
  310. package/fesm2015/slider.mjs.map +1 -1
  311. package/fesm2015/snack-bar/testing.mjs.map +1 -1
  312. package/fesm2015/snack-bar.mjs +37 -31
  313. package/fesm2015/snack-bar.mjs.map +1 -1
  314. package/fesm2015/sort/testing.mjs.map +1 -1
  315. package/fesm2015/sort.mjs +128 -120
  316. package/fesm2015/sort.mjs.map +1 -1
  317. package/fesm2015/stepper/testing.mjs.map +1 -1
  318. package/fesm2015/stepper.mjs +72 -93
  319. package/fesm2015/stepper.mjs.map +1 -1
  320. package/fesm2015/table/testing.mjs.map +1 -1
  321. package/fesm2015/table.mjs +57 -57
  322. package/fesm2015/table.mjs.map +1 -1
  323. package/fesm2015/tabs/testing.mjs.map +1 -1
  324. package/fesm2015/tabs.mjs +162 -99
  325. package/fesm2015/tabs.mjs.map +1 -1
  326. package/fesm2015/toolbar/testing.mjs.map +1 -1
  327. package/fesm2015/toolbar.mjs +11 -11
  328. package/fesm2015/toolbar.mjs.map +1 -1
  329. package/fesm2015/tooltip/testing.mjs +11 -8
  330. package/fesm2015/tooltip/testing.mjs.map +1 -1
  331. package/fesm2015/tooltip.mjs +154 -79
  332. package/fesm2015/tooltip.mjs.map +1 -1
  333. package/fesm2015/tree/testing.mjs.map +1 -1
  334. package/fesm2015/tree.mjs +26 -26
  335. package/fesm2015/tree.mjs.map +1 -1
  336. package/fesm2020/autocomplete/testing.mjs +6 -0
  337. package/fesm2020/autocomplete/testing.mjs.map +1 -1
  338. package/fesm2020/autocomplete.mjs +124 -67
  339. package/fesm2020/autocomplete.mjs.map +1 -1
  340. package/fesm2020/badge/testing.mjs.map +1 -1
  341. package/fesm2020/badge.mjs +7 -7
  342. package/fesm2020/badge.mjs.map +1 -1
  343. package/fesm2020/bottom-sheet/testing.mjs.map +1 -1
  344. package/fesm2020/bottom-sheet.mjs +27 -16
  345. package/fesm2020/bottom-sheet.mjs.map +1 -1
  346. package/fesm2020/button/testing.mjs.map +1 -1
  347. package/fesm2020/button-toggle/testing.mjs.map +1 -1
  348. package/fesm2020/button-toggle.mjs +11 -11
  349. package/fesm2020/button-toggle.mjs.map +1 -1
  350. package/fesm2020/button.mjs +13 -13
  351. package/fesm2020/button.mjs.map +1 -1
  352. package/fesm2020/card/testing.mjs.map +1 -1
  353. package/fesm2020/card.mjs +47 -47
  354. package/fesm2020/card.mjs.map +1 -1
  355. package/fesm2020/checkbox/testing.mjs +2 -1
  356. package/fesm2020/checkbox/testing.mjs.map +1 -1
  357. package/fesm2020/checkbox.mjs +22 -18
  358. package/fesm2020/checkbox.mjs.map +1 -1
  359. package/fesm2020/chips/testing.mjs.map +1 -1
  360. package/fesm2020/chips.mjs +59 -31
  361. package/fesm2020/chips.mjs.map +1 -1
  362. package/fesm2020/core/testing.mjs.map +1 -1
  363. package/fesm2020/core.mjs +180 -126
  364. package/fesm2020/core.mjs.map +1 -1
  365. package/fesm2020/datepicker/testing.mjs.map +1 -1
  366. package/fesm2020/datepicker.mjs +273 -130
  367. package/fesm2020/datepicker.mjs.map +1 -1
  368. package/fesm2020/dialog/testing.mjs +65 -1
  369. package/fesm2020/dialog/testing.mjs.map +1 -1
  370. package/fesm2020/dialog.mjs +143 -106
  371. package/fesm2020/dialog.mjs.map +1 -1
  372. package/fesm2020/divider/testing.mjs.map +1 -1
  373. package/fesm2020/divider.mjs +8 -8
  374. package/fesm2020/divider.mjs.map +1 -1
  375. package/fesm2020/expansion/testing.mjs.map +1 -1
  376. package/fesm2020/expansion.mjs +54 -33
  377. package/fesm2020/expansion.mjs.map +1 -1
  378. package/fesm2020/form-field/testing/control.mjs.map +1 -1
  379. package/fesm2020/form-field/testing.mjs +1 -1
  380. package/fesm2020/form-field/testing.mjs.map +1 -1
  381. package/fesm2020/form-field.mjs +46 -38
  382. package/fesm2020/form-field.mjs.map +1 -1
  383. package/fesm2020/grid-list/testing.mjs.map +1 -1
  384. package/fesm2020/grid-list.mjs +25 -25
  385. package/fesm2020/grid-list.mjs.map +1 -1
  386. package/fesm2020/icon/testing.mjs +8 -8
  387. package/fesm2020/icon/testing.mjs.map +1 -1
  388. package/fesm2020/icon.mjs +45 -44
  389. package/fesm2020/icon.mjs.map +1 -1
  390. package/fesm2020/input/testing.mjs.map +1 -1
  391. package/fesm2020/input.mjs +44 -27
  392. package/fesm2020/input.mjs.map +1 -1
  393. package/fesm2020/list/testing.mjs +0 -8
  394. package/fesm2020/list/testing.mjs.map +1 -1
  395. package/fesm2020/list.mjs +38 -63
  396. package/fesm2020/list.mjs.map +1 -1
  397. package/fesm2020/material.mjs.map +1 -1
  398. package/fesm2020/menu/testing.mjs.map +1 -1
  399. package/fesm2020/menu.mjs +127 -99
  400. package/fesm2020/menu.mjs.map +1 -1
  401. package/fesm2020/paginator/testing.mjs +10 -0
  402. package/fesm2020/paginator/testing.mjs.map +1 -1
  403. package/fesm2020/paginator.mjs +18 -14
  404. package/fesm2020/paginator.mjs.map +1 -1
  405. package/fesm2020/progress-bar/testing.mjs.map +1 -1
  406. package/fesm2020/progress-bar.mjs +11 -8
  407. package/fesm2020/progress-bar.mjs.map +1 -1
  408. package/fesm2020/progress-spinner/testing.mjs.map +1 -1
  409. package/fesm2020/progress-spinner.mjs +31 -61
  410. package/fesm2020/progress-spinner.mjs.map +1 -1
  411. package/fesm2020/radio/testing.mjs +2 -1
  412. package/fesm2020/radio/testing.mjs.map +1 -1
  413. package/fesm2020/radio.mjs +45 -17
  414. package/fesm2020/radio.mjs.map +1 -1
  415. package/fesm2020/select/testing.mjs.map +1 -1
  416. package/fesm2020/select.mjs +70 -32
  417. package/fesm2020/select.mjs.map +1 -1
  418. package/fesm2020/sidenav/testing.mjs.map +1 -1
  419. package/fesm2020/sidenav.mjs +36 -32
  420. package/fesm2020/sidenav.mjs.map +1 -1
  421. package/fesm2020/slide-toggle/testing.mjs +3 -1
  422. package/fesm2020/slide-toggle/testing.mjs.map +1 -1
  423. package/fesm2020/slide-toggle.mjs +16 -15
  424. package/fesm2020/slide-toggle.mjs.map +1 -1
  425. package/fesm2020/slider/testing.mjs.map +1 -1
  426. package/fesm2020/slider.mjs +18 -11
  427. package/fesm2020/slider.mjs.map +1 -1
  428. package/fesm2020/snack-bar/testing.mjs.map +1 -1
  429. package/fesm2020/snack-bar.mjs +37 -31
  430. package/fesm2020/snack-bar.mjs.map +1 -1
  431. package/fesm2020/sort/testing.mjs.map +1 -1
  432. package/fesm2020/sort.mjs +24 -16
  433. package/fesm2020/sort.mjs.map +1 -1
  434. package/fesm2020/stepper/testing.mjs.map +1 -1
  435. package/fesm2020/stepper.mjs +72 -93
  436. package/fesm2020/stepper.mjs.map +1 -1
  437. package/fesm2020/table/testing.mjs.map +1 -1
  438. package/fesm2020/table.mjs +57 -57
  439. package/fesm2020/table.mjs.map +1 -1
  440. package/fesm2020/tabs/testing.mjs.map +1 -1
  441. package/fesm2020/tabs.mjs +161 -99
  442. package/fesm2020/tabs.mjs.map +1 -1
  443. package/fesm2020/toolbar/testing.mjs.map +1 -1
  444. package/fesm2020/toolbar.mjs +11 -11
  445. package/fesm2020/toolbar.mjs.map +1 -1
  446. package/fesm2020/tooltip/testing.mjs +11 -6
  447. package/fesm2020/tooltip/testing.mjs.map +1 -1
  448. package/fesm2020/tooltip.mjs +147 -71
  449. package/fesm2020/tooltip.mjs.map +1 -1
  450. package/fesm2020/tree/testing.mjs.map +1 -1
  451. package/fesm2020/tree.mjs +26 -26
  452. package/fesm2020/tree.mjs.map +1 -1
  453. package/form-field/form-field-control.d.ts +3 -3
  454. package/form-field/form-field.d.ts +15 -8
  455. package/form-field/testing/public-api.d.ts +1 -1
  456. package/icon/icon-registry.d.ts +7 -9
  457. package/icon/icon.d.ts +12 -3
  458. package/icon/testing/fake-icon-registry.d.ts +1 -1
  459. package/input/input.d.ts +12 -1
  460. package/list/selection-list.d.ts +4 -21
  461. package/list/testing/list-item-harness-base.d.ts +1 -7
  462. package/menu/menu-errors.d.ts +0 -5
  463. package/menu/menu-item.d.ts +3 -2
  464. package/menu/menu-trigger.d.ts +21 -11
  465. package/menu/menu.d.ts +8 -3
  466. package/package.json +7 -7
  467. package/paginator/paginator.d.ts +12 -1
  468. package/paginator/testing/paginator-harness.d.ts +3 -0
  469. package/prebuilt-themes/deeppurple-amber.css +1 -1
  470. package/prebuilt-themes/indigo-pink.css +1 -1
  471. package/prebuilt-themes/pink-bluegrey.css +1 -1
  472. package/prebuilt-themes/purple-green.css +1 -1
  473. package/progress-spinner/progress-spinner-module.d.ts +1 -1
  474. package/progress-spinner/progress-spinner.d.ts +4 -19
  475. package/progress-spinner/public-api.d.ts +8 -1
  476. package/radio/radio.d.ts +7 -2
  477. package/radio/testing/radio-harness-filters.d.ts +2 -0
  478. package/schematics/collection.json +4 -2
  479. package/schematics/migration.json +5 -0
  480. package/schematics/ng-add/fonts/material-fonts.js +4 -13
  481. package/schematics/ng-add/fonts/material-fonts.mjs +4 -13
  482. package/schematics/ng-add/index.js +2 -2
  483. package/schematics/ng-add/index.mjs +2 -2
  484. package/schematics/ng-add/schema.d.ts +2 -2
  485. package/schematics/ng-add/schema.js +1 -1
  486. package/schematics/ng-add/schema.json +29 -9
  487. package/schematics/ng-add/schema.mjs +1 -1
  488. package/schematics/ng-add/setup-project.js +16 -23
  489. package/schematics/ng-add/setup-project.mjs +16 -23
  490. package/schematics/ng-add/theming/theming.js +28 -39
  491. package/schematics/ng-add/theming/theming.mjs +28 -39
  492. package/schematics/ng-generate/address-form/index.js +5 -14
  493. package/schematics/ng-generate/address-form/index.mjs +5 -14
  494. package/schematics/ng-generate/address-form/schema.json +1 -1
  495. package/schematics/ng-generate/dashboard/index.js +5 -14
  496. package/schematics/ng-generate/dashboard/index.mjs +5 -14
  497. package/schematics/ng-generate/dashboard/schema.json +1 -1
  498. package/schematics/ng-generate/navigation/index.js +5 -14
  499. package/schematics/ng-generate/navigation/index.mjs +5 -14
  500. package/schematics/ng-generate/navigation/schema.json +1 -1
  501. package/schematics/ng-generate/table/index.js +5 -14
  502. package/schematics/ng-generate/table/index.mjs +5 -14
  503. package/schematics/ng-generate/table/schema.json +1 -1
  504. package/schematics/ng-generate/tree/index.js +5 -14
  505. package/schematics/ng-generate/tree/index.mjs +5 -14
  506. package/schematics/ng-generate/tree/schema.json +1 -1
  507. package/schematics/ng-update/data/constructor-checks.js +11 -1
  508. package/schematics/ng-update/data/constructor-checks.mjs +11 -1
  509. package/schematics/ng-update/data/css-selectors.js +7 -1
  510. package/schematics/ng-update/data/css-selectors.mjs +7 -1
  511. package/schematics/ng-update/data/index.js +6 -2
  512. package/schematics/ng-update/data/index.mjs +6 -2
  513. package/schematics/ng-update/index.d.ts +2 -0
  514. package/schematics/ng-update/index.js +7 -2
  515. package/schematics/ng-update/index.mjs +7 -2
  516. package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.js +4 -4
  517. package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.mjs +4 -4
  518. package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.js +14 -23
  519. package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.mjs +14 -23
  520. package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.js +3 -15
  521. package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.mjs +3 -15
  522. package/schematics/ng-update/migrations/theming-api-v12/migration.js +5 -5
  523. package/schematics/ng-update/migrations/theming-api-v12/migration.mjs +5 -5
  524. package/schematics/tsconfig.json +1 -4
  525. package/select/select.d.ts +25 -4
  526. package/sidenav/sidenav-module.d.ts +2 -3
  527. package/slide-toggle/testing/slide-toggle-harness-filters.d.ts +4 -0
  528. package/snack-bar/snack-bar.d.ts +1 -1
  529. package/sort/sort-header.d.ts +4 -4
  530. package/sort/sort.d.ts +4 -0
  531. package/stepper/public-api.d.ts +1 -1
  532. package/stepper/stepper-animations.d.ts +2 -0
  533. package/stepper/stepper-module.d.ts +1 -1
  534. package/stepper/stepper.d.ts +15 -38
  535. package/tabs/_tabs-common.scss +15 -5
  536. package/tabs/ink-bar.d.ts +0 -5
  537. package/tabs/paginated-tab-header.d.ts +4 -2
  538. package/tabs/tab-body.d.ts +3 -1
  539. package/tabs/tab-config.d.ts +6 -0
  540. package/tabs/tab-group.d.ts +15 -3
  541. package/tooltip/testing/tooltip-harness.d.ts +6 -0
  542. package/tooltip/tooltip.d.ts +36 -8
@@ -3,7 +3,7 @@ import { Overlay, CdkConnectedOverlay, OverlayModule } from '@angular/cdk/overla
3
3
  import * as i8 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i0 from '@angular/core';
6
- import { InjectionToken, Directive, EventEmitter, Optional, Inject, Self, Attribute, ViewChild, Input, Output, Component, ViewEncapsulation, ChangeDetectionStrategy, ContentChildren, ContentChild, NgModule } from '@angular/core';
6
+ import { InjectionToken, Directive, EventEmitter, Optional, Inject, Self, Attribute, Input, ViewChild, Output, Component, ViewEncapsulation, ChangeDetectionStrategy, ContentChildren, ContentChild, NgModule } from '@angular/core';
7
7
  import * as i2 from '@angular/material/core';
8
8
  import { mixinDisableRipple, mixinTabIndex, mixinDisabled, mixinErrorState, _countGroupLabelsBeforeOption, _getOptionScrollPosition, MAT_OPTION_PARENT_COMPONENT, MatOption, MAT_OPTGROUP, MatOptionModule, MatCommonModule } from '@angular/material/core';
9
9
  import * as i6 from '@angular/material/form-field';
@@ -173,12 +173,24 @@ class MatSelectChange {
173
173
  // Boilerplate for applying mixins to MatSelect.
174
174
  /** @docs-private */
175
175
  const _MatSelectMixinBase = mixinDisableRipple(mixinTabIndex(mixinDisabled(mixinErrorState(class {
176
- constructor(_elementRef, _defaultErrorStateMatcher, _parentForm, _parentFormGroup, ngControl) {
176
+ constructor(_elementRef, _defaultErrorStateMatcher, _parentForm, _parentFormGroup,
177
+ /**
178
+ * Form control bound to the component.
179
+ * Implemented as part of `MatFormFieldControl`.
180
+ * @docs-private
181
+ */
182
+ ngControl) {
177
183
  this._elementRef = _elementRef;
178
184
  this._defaultErrorStateMatcher = _defaultErrorStateMatcher;
179
185
  this._parentForm = _parentForm;
180
186
  this._parentFormGroup = _parentFormGroup;
181
187
  this.ngControl = ngControl;
188
+ /**
189
+ * Emits whenever the component state changes and should cause the parent
190
+ * form-field to update. Implemented as part of `MatFormFieldControl`.
191
+ * @docs-private
192
+ */
193
+ this.stateChanges = new Subject();
182
194
  }
183
195
  }))));
184
196
  /**
@@ -192,9 +204,9 @@ const MAT_SELECT_TRIGGER = new InjectionToken('MatSelectTrigger');
192
204
  */
193
205
  class MatSelectTrigger {
194
206
  }
195
- MatSelectTrigger.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatSelectTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
196
- MatSelectTrigger.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0-rc.1", type: MatSelectTrigger, selector: "mat-select-trigger", providers: [{ provide: MAT_SELECT_TRIGGER, useExisting: MatSelectTrigger }], ngImport: i0 });
197
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatSelectTrigger, decorators: [{
207
+ MatSelectTrigger.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatSelectTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
208
+ MatSelectTrigger.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.13", type: MatSelectTrigger, selector: "mat-select-trigger", providers: [{ provide: MAT_SELECT_TRIGGER, useExisting: MatSelectTrigger }], ngImport: i0 });
209
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatSelectTrigger, decorators: [{
198
210
  type: Directive,
199
211
  args: [{
200
212
  selector: 'mat-select-trigger',
@@ -336,12 +348,9 @@ class _MatSelectBase extends _MatSelectMixinBase {
336
348
  return this._value;
337
349
  }
338
350
  set value(newValue) {
339
- // Always re-assign an array, because it might have been mutated.
340
- if (newValue !== this._value || (this._multiple && Array.isArray(newValue))) {
341
- if (this.options) {
342
- this._setSelectionByValue(newValue);
343
- }
344
- this._value = newValue;
351
+ const hasAssigned = this._assignValue(newValue);
352
+ if (hasAssigned) {
353
+ this._onChange(newValue);
345
354
  }
346
355
  }
347
356
  /** Time to wait in milliseconds after the last keystroke before moving focus to an item. */
@@ -382,6 +391,7 @@ class _MatSelectBase extends _MatSelectMixinBase {
382
391
  }
383
392
  ngDoCheck() {
384
393
  const newAriaLabelledby = this._getTriggerAriaLabelledby();
394
+ const ngControl = this.ngControl;
385
395
  // We have to manage setting the `aria-labelledby` ourselves, because part of its value
386
396
  // is computed as a result of a content query which can cause this binding to trigger a
387
397
  // "changed after checked" error.
@@ -395,14 +405,23 @@ class _MatSelectBase extends _MatSelectMixinBase {
395
405
  element.removeAttribute('aria-labelledby');
396
406
  }
397
407
  }
398
- if (this.ngControl) {
408
+ if (ngControl) {
409
+ // The disabled state might go out of sync if the form group is swapped out. See #17860.
410
+ if (this._previousControl !== ngControl.control) {
411
+ if (this._previousControl !== undefined &&
412
+ ngControl.disabled !== null &&
413
+ ngControl.disabled !== this.disabled) {
414
+ this.disabled = ngControl.disabled;
415
+ }
416
+ this._previousControl = ngControl.control;
417
+ }
399
418
  this.updateErrorState();
400
419
  }
401
420
  }
402
421
  ngOnChanges(changes) {
403
422
  // Updating the disabled state is handled by `mixinDisabled`, but we need to additionally let
404
423
  // the parent form field know to run change detection when the disabled state changes.
405
- if (changes['disabled']) {
424
+ if (changes['disabled'] || changes['userAriaDescribedBy']) {
406
425
  this.stateChanges.next();
407
426
  }
408
427
  if (changes['typeaheadDebounceInterval'] && this._keyManager) {
@@ -443,7 +462,7 @@ class _MatSelectBase extends _MatSelectMixinBase {
443
462
  * @param value New value to be written to the model.
444
463
  */
445
464
  writeValue(value) {
446
- this.value = value;
465
+ this._assignValue(value);
447
466
  }
448
467
  /**
449
468
  * Saves a callback function to be invoked when the select's value
@@ -634,11 +653,11 @@ class _MatSelectBase extends _MatSelectMixinBase {
634
653
  if (!Array.isArray(value) && (typeof ngDevMode === 'undefined' || ngDevMode)) {
635
654
  throw getMatSelectNonArrayValueError();
636
655
  }
637
- value.forEach((currentValue) => this._selectValue(currentValue));
656
+ value.forEach((currentValue) => this._selectOptionByValue(currentValue));
638
657
  this._sortValues();
639
658
  }
640
659
  else {
641
- const correspondingOption = this._selectValue(value);
660
+ const correspondingOption = this._selectOptionByValue(value);
642
661
  // Shift focus to the active item. Note that we shouldn't do this in multiple
643
662
  // mode, because we don't know what option the user interacted with last.
644
663
  if (correspondingOption) {
@@ -656,7 +675,7 @@ class _MatSelectBase extends _MatSelectMixinBase {
656
675
  * Finds and selects and option based on its value.
657
676
  * @returns Option that has the corresponding value.
658
677
  */
659
- _selectValue(value) {
678
+ _selectOptionByValue(value) {
660
679
  const correspondingOption = this.options.find((option) => {
661
680
  // Skip options that are already in the model. This allows us to handle cases
662
681
  // where the same primitive value is selected multiple times.
@@ -680,6 +699,18 @@ class _MatSelectBase extends _MatSelectMixinBase {
680
699
  }
681
700
  return correspondingOption;
682
701
  }
702
+ /** Assigns a specific value to the select. Returns whether the value has changed. */
703
+ _assignValue(newValue) {
704
+ // Always re-assign an array, because it might have been mutated.
705
+ if (newValue !== this._value || (this._multiple && Array.isArray(newValue))) {
706
+ if (this.options) {
707
+ this._setSelectionByValue(newValue);
708
+ }
709
+ this._value = newValue;
710
+ return true;
711
+ }
712
+ return false;
713
+ }
683
714
  /** Sets up a key manager to listen to keyboard events on the overlay panel. */
684
715
  _initKeyManager() {
685
716
  this._keyManager = new ActiveDescendantKeyManager(this.options)
@@ -850,7 +881,12 @@ class _MatSelectBase extends _MatSelectMixinBase {
850
881
  * @docs-private
851
882
  */
852
883
  setDescribedByIds(ids) {
853
- this._ariaDescribedby = ids.join(' ');
884
+ if (ids.length) {
885
+ this._elementRef.nativeElement.setAttribute('aria-describedby', ids.join(' '));
886
+ }
887
+ else {
888
+ this._elementRef.nativeElement.removeAttribute('aria-describedby');
889
+ }
854
890
  }
855
891
  /**
856
892
  * Implemented as part of MatFormFieldControl.
@@ -868,9 +904,9 @@ class _MatSelectBase extends _MatSelectMixinBase {
868
904
  return this._panelOpen || !this.empty || (this._focused && !!this._placeholder);
869
905
  }
870
906
  }
871
- _MatSelectBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: _MatSelectBase, deps: [{ token: i1.ViewportRuler }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i2.ErrorStateMatcher }, { token: i0.ElementRef }, { token: i3.Directionality, optional: true }, { token: i4.NgForm, optional: true }, { token: i4.FormGroupDirective, optional: true }, { token: MAT_FORM_FIELD, optional: true }, { token: i4.NgControl, optional: true, self: true }, { token: 'tabindex', attribute: true }, { token: MAT_SELECT_SCROLL_STRATEGY }, { token: i5.LiveAnnouncer }, { token: MAT_SELECT_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
872
- _MatSelectBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0-rc.1", type: _MatSelectBase, inputs: { panelClass: "panelClass", placeholder: "placeholder", required: "required", multiple: "multiple", disableOptionCentering: "disableOptionCentering", compareWith: "compareWith", value: "value", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], errorStateMatcher: "errorStateMatcher", typeaheadDebounceInterval: "typeaheadDebounceInterval", sortComparator: "sortComparator", id: "id" }, outputs: { openedChange: "openedChange", _openedStream: "opened", _closedStream: "closed", selectionChange: "selectionChange", valueChange: "valueChange" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true }, { propertyName: "_overlayDir", first: true, predicate: CdkConnectedOverlay, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
873
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: _MatSelectBase, decorators: [{
907
+ _MatSelectBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: _MatSelectBase, deps: [{ token: i1.ViewportRuler }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i2.ErrorStateMatcher }, { token: i0.ElementRef }, { token: i3.Directionality, optional: true }, { token: i4.NgForm, optional: true }, { token: i4.FormGroupDirective, optional: true }, { token: MAT_FORM_FIELD, optional: true }, { token: i4.NgControl, optional: true, self: true }, { token: 'tabindex', attribute: true }, { token: MAT_SELECT_SCROLL_STRATEGY }, { token: i5.LiveAnnouncer }, { token: MAT_SELECT_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
908
+ _MatSelectBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.13", type: _MatSelectBase, inputs: { userAriaDescribedBy: ["aria-describedby", "userAriaDescribedBy"], panelClass: "panelClass", placeholder: "placeholder", required: "required", multiple: "multiple", disableOptionCentering: "disableOptionCentering", compareWith: "compareWith", value: "value", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], errorStateMatcher: "errorStateMatcher", typeaheadDebounceInterval: "typeaheadDebounceInterval", sortComparator: "sortComparator", id: "id" }, outputs: { openedChange: "openedChange", _openedStream: "opened", _closedStream: "closed", selectionChange: "selectionChange", valueChange: "valueChange" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true }, { propertyName: "_overlayDir", first: true, predicate: CdkConnectedOverlay, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
909
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: _MatSelectBase, decorators: [{
874
910
  type: Directive
875
911
  }], ctorParameters: function () { return [{ type: i1.ViewportRuler }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i2.ErrorStateMatcher }, { type: i0.ElementRef }, { type: i3.Directionality, decorators: [{
876
912
  type: Optional
@@ -898,7 +934,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ng
898
934
  }, {
899
935
  type: Inject,
900
936
  args: [MAT_SELECT_CONFIG]
901
- }] }]; }, propDecorators: { trigger: [{
937
+ }] }]; }, propDecorators: { userAriaDescribedBy: [{
938
+ type: Input,
939
+ args: ['aria-describedby']
940
+ }], trigger: [{
902
941
  type: ViewChild,
903
942
  args: ['trigger']
904
943
  }], panel: [{
@@ -1244,12 +1283,12 @@ class MatSelect extends _MatSelectBase {
1244
1283
  return this.options.length + this.optionGroups.length;
1245
1284
  }
1246
1285
  }
1247
- MatSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatSelect, deps: null, target: i0.ɵɵFactoryTarget.Component });
1248
- MatSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0-rc.1", type: MatSelect, selector: "mat-select", inputs: { disabled: "disabled", disableRipple: "disableRipple", tabIndex: "tabIndex" }, host: { attributes: { "role": "combobox", "aria-autocomplete": "none", "aria-haspopup": "true" }, listeners: { "keydown": "_handleKeydown($event)", "focus": "_onFocus()", "blur": "_onBlur()" }, properties: { "attr.id": "id", "attr.tabindex": "tabIndex", "attr.aria-controls": "panelOpen ? id + \"-panel\" : null", "attr.aria-expanded": "panelOpen", "attr.aria-label": "ariaLabel || null", "attr.aria-required": "required.toString()", "attr.aria-disabled": "disabled.toString()", "attr.aria-invalid": "errorState", "attr.aria-describedby": "_ariaDescribedby || null", "attr.aria-activedescendant": "_getAriaActiveDescendant()", "class.mat-select-disabled": "disabled", "class.mat-select-invalid": "errorState", "class.mat-select-required": "required", "class.mat-select-empty": "empty", "class.mat-select-multiple": "multiple" }, classAttribute: "mat-select" }, providers: [
1286
+ MatSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatSelect, deps: null, target: i0.ɵɵFactoryTarget.Component });
1287
+ MatSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.13", type: MatSelect, selector: "mat-select", inputs: { disabled: "disabled", disableRipple: "disableRipple", tabIndex: "tabIndex" }, host: { attributes: { "role": "combobox", "aria-autocomplete": "none", "aria-haspopup": "true" }, listeners: { "keydown": "_handleKeydown($event)", "focus": "_onFocus()", "blur": "_onBlur()" }, properties: { "attr.id": "id", "attr.tabindex": "tabIndex", "attr.aria-controls": "panelOpen ? id + \"-panel\" : null", "attr.aria-expanded": "panelOpen", "attr.aria-label": "ariaLabel || null", "attr.aria-required": "required.toString()", "attr.aria-disabled": "disabled.toString()", "attr.aria-invalid": "errorState", "attr.aria-activedescendant": "_getAriaActiveDescendant()", "class.mat-select-disabled": "disabled", "class.mat-select-invalid": "errorState", "class.mat-select-required": "required", "class.mat-select-empty": "empty", "class.mat-select-multiple": "multiple" }, classAttribute: "mat-select" }, providers: [
1249
1288
  { provide: MatFormFieldControl, useExisting: MatSelect },
1250
1289
  { provide: MAT_OPTION_PARENT_COMPONENT, useExisting: MatSelect },
1251
- ], queries: [{ propertyName: "customTrigger", first: true, predicate: MAT_SELECT_TRIGGER, descendants: true }, { propertyName: "options", predicate: MatOption, descendants: true }, { propertyName: "optionGroups", predicate: MAT_OPTGROUP, descendants: true }], exportAs: ["matSelect"], usesInheritance: true, ngImport: i0, template: "<!--\n Note that the select trigger element specifies `aria-owns` pointing to the listbox overlay.\n While aria-owns is not required for the ARIA 1.2 `role=\"combobox\"` interaction pattern,\n it fixes an issue with VoiceOver when the select appears inside of an `aria-model=\"true\"`\n element (e.g. a dialog). Without this `aria-owns`, the `aria-modal` on a dialog prevents\n VoiceOver from \"seeing\" the select's listbox overlay for aria-activedescendant.\n Using `aria-owns` re-parents the select overlay so that it works again.\n See https://github.com/angular/components/issues/20694\n-->\n<div cdk-overlay-origin\n [attr.aria-owns]=\"panelOpen ? id + '-panel' : null\"\n class=\"mat-select-trigger\"\n (click)=\"toggle()\"\n #origin=\"cdkOverlayOrigin\"\n #trigger>\n <div class=\"mat-select-value\" [ngSwitch]=\"empty\" [attr.id]=\"_valueId\">\n <span class=\"mat-select-placeholder mat-select-min-line\" *ngSwitchCase=\"true\">{{placeholder}}</span>\n <span class=\"mat-select-value-text\" *ngSwitchCase=\"false\" [ngSwitch]=\"!!customTrigger\">\n <span class=\"mat-select-min-line\" *ngSwitchDefault>{{triggerValue}}</span>\n <ng-content select=\"mat-select-trigger\" *ngSwitchCase=\"true\"></ng-content>\n </span>\n </div>\n\n <div class=\"mat-select-arrow-wrapper\"><div class=\"mat-select-arrow\"></div></div>\n</div>\n\n<ng-template\n cdk-connected-overlay\n cdkConnectedOverlayLockPosition\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayPanelClass]=\"_overlayPanelClass\"\n [cdkConnectedOverlayScrollStrategy]=\"_scrollStrategy\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayPositions]=\"_positions\"\n [cdkConnectedOverlayMinWidth]=\"_triggerRect?.width!\"\n [cdkConnectedOverlayOffsetY]=\"_offsetY\"\n (backdropClick)=\"close()\"\n (attach)=\"_onAttached()\"\n (detach)=\"close()\">\n <div class=\"mat-select-panel-wrap\" [@transformPanelWrap]>\n <div\n #panel\n role=\"listbox\"\n tabindex=\"-1\"\n class=\"mat-select-panel {{ _getPanelTheme() }}\"\n [attr.id]=\"id + '-panel'\"\n [attr.aria-multiselectable]=\"multiple\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"_getPanelAriaLabelledby()\"\n [ngClass]=\"panelClass\"\n [@transformPanel]=\"multiple ? 'showing-multiple' : 'showing'\"\n (@transformPanel.done)=\"_panelDoneAnimatingStream.next($event.toState)\"\n [style.transformOrigin]=\"_transformOrigin\"\n [style.font-size.px]=\"_triggerFontSize\"\n (keydown)=\"_handleKeydown($event)\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".mat-select{display:inline-block;width:100%;outline:none}.mat-select-trigger{display:inline-table;cursor:pointer;position:relative;box-sizing:border-box}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:default}.mat-select-value{display:table-cell;max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{display:table-cell;vertical-align:middle}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px;outline:0}.cdk-high-contrast-active .mat-select-panel{outline:solid 1px}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:none;display:block}.mat-select-min-line:empty::before{content:\" \";white-space:pre;width:1px;display:inline-block;opacity:0}\n"], directives: [{ type: i7.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { type: i8.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i8.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i8.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i7.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [matSelectAnimations.transformPanelWrap, matSelectAnimations.transformPanel], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1252
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatSelect, decorators: [{
1290
+ ], queries: [{ propertyName: "customTrigger", first: true, predicate: MAT_SELECT_TRIGGER, descendants: true }, { propertyName: "options", predicate: MatOption, descendants: true }, { propertyName: "optionGroups", predicate: MAT_OPTGROUP, descendants: true }], exportAs: ["matSelect"], usesInheritance: true, ngImport: i0, template: "<!--\n Note that the select trigger element specifies `aria-owns` pointing to the listbox overlay.\n While aria-owns is not required for the ARIA 1.2 `role=\"combobox\"` interaction pattern,\n it fixes an issue with VoiceOver when the select appears inside of an `aria-model=\"true\"`\n element (e.g. a dialog). Without this `aria-owns`, the `aria-modal` on a dialog prevents\n VoiceOver from \"seeing\" the select's listbox overlay for aria-activedescendant.\n Using `aria-owns` re-parents the select overlay so that it works again.\n See https://github.com/angular/components/issues/20694\n-->\n<div cdk-overlay-origin\n [attr.aria-owns]=\"panelOpen ? id + '-panel' : null\"\n class=\"mat-select-trigger\"\n (click)=\"toggle()\"\n #origin=\"cdkOverlayOrigin\"\n #trigger>\n <div class=\"mat-select-value\" [ngSwitch]=\"empty\" [attr.id]=\"_valueId\">\n <span class=\"mat-select-placeholder mat-select-min-line\" *ngSwitchCase=\"true\">{{placeholder}}</span>\n <span class=\"mat-select-value-text\" *ngSwitchCase=\"false\" [ngSwitch]=\"!!customTrigger\">\n <span class=\"mat-select-min-line\" *ngSwitchDefault>{{triggerValue}}</span>\n <ng-content select=\"mat-select-trigger\" *ngSwitchCase=\"true\"></ng-content>\n </span>\n </div>\n\n <div class=\"mat-select-arrow-wrapper\"><div class=\"mat-select-arrow\"></div></div>\n</div>\n\n<ng-template\n cdk-connected-overlay\n cdkConnectedOverlayLockPosition\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayPanelClass]=\"_overlayPanelClass\"\n [cdkConnectedOverlayScrollStrategy]=\"_scrollStrategy\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayPositions]=\"_positions\"\n [cdkConnectedOverlayMinWidth]=\"_triggerRect?.width!\"\n [cdkConnectedOverlayOffsetY]=\"_offsetY\"\n (backdropClick)=\"close()\"\n (attach)=\"_onAttached()\"\n (detach)=\"close()\">\n <div class=\"mat-select-panel-wrap\" [@transformPanelWrap]>\n <div\n #panel\n role=\"listbox\"\n tabindex=\"-1\"\n class=\"mat-select-panel {{ _getPanelTheme() }}\"\n [attr.id]=\"id + '-panel'\"\n [attr.aria-multiselectable]=\"multiple\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"_getPanelAriaLabelledby()\"\n [ngClass]=\"panelClass\"\n [@transformPanel]=\"multiple ? 'showing-multiple' : 'showing'\"\n (@transformPanel.done)=\"_panelDoneAnimatingStream.next($event.toState)\"\n [style.transformOrigin]=\"_transformOrigin\"\n [style.font-size.px]=\"_triggerFontSize\"\n (keydown)=\"_handleKeydown($event)\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".mat-select{display:inline-block;width:100%;outline:none}.mat-select-trigger{display:inline-flex;align-items:center;cursor:pointer;position:relative;box-sizing:border-box;width:100%}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;user-select:none;cursor:default}.mat-select-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{height:16px;flex-shrink:0;display:inline-flex;align-items:center}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid;margin:0 4px}.mat-form-field.mat-focused .mat-select-arrow{transform:translateX(0)}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px;outline:0}.cdk-high-contrast-active .mat-select-panel{outline:solid 1px}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:rgba(0,0,0,0);-webkit-text-fill-color:rgba(0,0,0,0);transition:none;display:block}.mat-select-min-line:empty::before{content:\" \";white-space:pre;width:1px;display:inline-block;visibility:hidden}"], directives: [{ type: i7.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { type: i8.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i8.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i8.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i7.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [matSelectAnimations.transformPanelWrap, matSelectAnimations.transformPanel], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1291
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatSelect, decorators: [{
1253
1292
  type: Component,
1254
1293
  args: [{ selector: 'mat-select', exportAs: 'matSelect', inputs: ['disabled', 'disableRipple', 'tabIndex'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
1255
1294
  'role': 'combobox',
@@ -1267,7 +1306,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ng
1267
1306
  '[attr.aria-required]': 'required.toString()',
1268
1307
  '[attr.aria-disabled]': 'disabled.toString()',
1269
1308
  '[attr.aria-invalid]': 'errorState',
1270
- '[attr.aria-describedby]': '_ariaDescribedby || null',
1271
1309
  '[attr.aria-activedescendant]': '_getAriaActiveDescendant()',
1272
1310
  '[class.mat-select-disabled]': 'disabled',
1273
1311
  '[class.mat-select-invalid]': 'errorState',
@@ -1280,7 +1318,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ng
1280
1318
  }, animations: [matSelectAnimations.transformPanelWrap, matSelectAnimations.transformPanel], providers: [
1281
1319
  { provide: MatFormFieldControl, useExisting: MatSelect },
1282
1320
  { provide: MAT_OPTION_PARENT_COMPONENT, useExisting: MatSelect },
1283
- ], template: "<!--\n Note that the select trigger element specifies `aria-owns` pointing to the listbox overlay.\n While aria-owns is not required for the ARIA 1.2 `role=\"combobox\"` interaction pattern,\n it fixes an issue with VoiceOver when the select appears inside of an `aria-model=\"true\"`\n element (e.g. a dialog). Without this `aria-owns`, the `aria-modal` on a dialog prevents\n VoiceOver from \"seeing\" the select's listbox overlay for aria-activedescendant.\n Using `aria-owns` re-parents the select overlay so that it works again.\n See https://github.com/angular/components/issues/20694\n-->\n<div cdk-overlay-origin\n [attr.aria-owns]=\"panelOpen ? id + '-panel' : null\"\n class=\"mat-select-trigger\"\n (click)=\"toggle()\"\n #origin=\"cdkOverlayOrigin\"\n #trigger>\n <div class=\"mat-select-value\" [ngSwitch]=\"empty\" [attr.id]=\"_valueId\">\n <span class=\"mat-select-placeholder mat-select-min-line\" *ngSwitchCase=\"true\">{{placeholder}}</span>\n <span class=\"mat-select-value-text\" *ngSwitchCase=\"false\" [ngSwitch]=\"!!customTrigger\">\n <span class=\"mat-select-min-line\" *ngSwitchDefault>{{triggerValue}}</span>\n <ng-content select=\"mat-select-trigger\" *ngSwitchCase=\"true\"></ng-content>\n </span>\n </div>\n\n <div class=\"mat-select-arrow-wrapper\"><div class=\"mat-select-arrow\"></div></div>\n</div>\n\n<ng-template\n cdk-connected-overlay\n cdkConnectedOverlayLockPosition\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayPanelClass]=\"_overlayPanelClass\"\n [cdkConnectedOverlayScrollStrategy]=\"_scrollStrategy\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayPositions]=\"_positions\"\n [cdkConnectedOverlayMinWidth]=\"_triggerRect?.width!\"\n [cdkConnectedOverlayOffsetY]=\"_offsetY\"\n (backdropClick)=\"close()\"\n (attach)=\"_onAttached()\"\n (detach)=\"close()\">\n <div class=\"mat-select-panel-wrap\" [@transformPanelWrap]>\n <div\n #panel\n role=\"listbox\"\n tabindex=\"-1\"\n class=\"mat-select-panel {{ _getPanelTheme() }}\"\n [attr.id]=\"id + '-panel'\"\n [attr.aria-multiselectable]=\"multiple\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"_getPanelAriaLabelledby()\"\n [ngClass]=\"panelClass\"\n [@transformPanel]=\"multiple ? 'showing-multiple' : 'showing'\"\n (@transformPanel.done)=\"_panelDoneAnimatingStream.next($event.toState)\"\n [style.transformOrigin]=\"_transformOrigin\"\n [style.font-size.px]=\"_triggerFontSize\"\n (keydown)=\"_handleKeydown($event)\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".mat-select{display:inline-block;width:100%;outline:none}.mat-select-trigger{display:inline-table;cursor:pointer;position:relative;box-sizing:border-box}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:default}.mat-select-value{display:table-cell;max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{display:table-cell;vertical-align:middle}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px;outline:0}.cdk-high-contrast-active .mat-select-panel{outline:solid 1px}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:none;display:block}.mat-select-min-line:empty::before{content:\" \";white-space:pre;width:1px;display:inline-block;opacity:0}\n"] }]
1321
+ ], template: "<!--\n Note that the select trigger element specifies `aria-owns` pointing to the listbox overlay.\n While aria-owns is not required for the ARIA 1.2 `role=\"combobox\"` interaction pattern,\n it fixes an issue with VoiceOver when the select appears inside of an `aria-model=\"true\"`\n element (e.g. a dialog). Without this `aria-owns`, the `aria-modal` on a dialog prevents\n VoiceOver from \"seeing\" the select's listbox overlay for aria-activedescendant.\n Using `aria-owns` re-parents the select overlay so that it works again.\n See https://github.com/angular/components/issues/20694\n-->\n<div cdk-overlay-origin\n [attr.aria-owns]=\"panelOpen ? id + '-panel' : null\"\n class=\"mat-select-trigger\"\n (click)=\"toggle()\"\n #origin=\"cdkOverlayOrigin\"\n #trigger>\n <div class=\"mat-select-value\" [ngSwitch]=\"empty\" [attr.id]=\"_valueId\">\n <span class=\"mat-select-placeholder mat-select-min-line\" *ngSwitchCase=\"true\">{{placeholder}}</span>\n <span class=\"mat-select-value-text\" *ngSwitchCase=\"false\" [ngSwitch]=\"!!customTrigger\">\n <span class=\"mat-select-min-line\" *ngSwitchDefault>{{triggerValue}}</span>\n <ng-content select=\"mat-select-trigger\" *ngSwitchCase=\"true\"></ng-content>\n </span>\n </div>\n\n <div class=\"mat-select-arrow-wrapper\"><div class=\"mat-select-arrow\"></div></div>\n</div>\n\n<ng-template\n cdk-connected-overlay\n cdkConnectedOverlayLockPosition\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayPanelClass]=\"_overlayPanelClass\"\n [cdkConnectedOverlayScrollStrategy]=\"_scrollStrategy\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayPositions]=\"_positions\"\n [cdkConnectedOverlayMinWidth]=\"_triggerRect?.width!\"\n [cdkConnectedOverlayOffsetY]=\"_offsetY\"\n (backdropClick)=\"close()\"\n (attach)=\"_onAttached()\"\n (detach)=\"close()\">\n <div class=\"mat-select-panel-wrap\" [@transformPanelWrap]>\n <div\n #panel\n role=\"listbox\"\n tabindex=\"-1\"\n class=\"mat-select-panel {{ _getPanelTheme() }}\"\n [attr.id]=\"id + '-panel'\"\n [attr.aria-multiselectable]=\"multiple\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"_getPanelAriaLabelledby()\"\n [ngClass]=\"panelClass\"\n [@transformPanel]=\"multiple ? 'showing-multiple' : 'showing'\"\n (@transformPanel.done)=\"_panelDoneAnimatingStream.next($event.toState)\"\n [style.transformOrigin]=\"_transformOrigin\"\n [style.font-size.px]=\"_triggerFontSize\"\n (keydown)=\"_handleKeydown($event)\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".mat-select{display:inline-block;width:100%;outline:none}.mat-select-trigger{display:inline-flex;align-items:center;cursor:pointer;position:relative;box-sizing:border-box;width:100%}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;user-select:none;cursor:default}.mat-select-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{height:16px;flex-shrink:0;display:inline-flex;align-items:center}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid;margin:0 4px}.mat-form-field.mat-focused .mat-select-arrow{transform:translateX(0)}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px;outline:0}.cdk-high-contrast-active .mat-select-panel{outline:solid 1px}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:rgba(0,0,0,0);-webkit-text-fill-color:rgba(0,0,0,0);transition:none;display:block}.mat-select-min-line:empty::before{content:\" \";white-space:pre;width:1px;display:inline-block;visibility:hidden}"] }]
1284
1322
  }], propDecorators: { options: [{
1285
1323
  type: ContentChildren,
1286
1324
  args: [MatOption, { descendants: true }]
@@ -1301,18 +1339,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ng
1301
1339
  */
1302
1340
  class MatSelectModule {
1303
1341
  }
1304
- MatSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1305
- MatSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatSelectModule, declarations: [MatSelect, MatSelectTrigger], imports: [CommonModule, OverlayModule, MatOptionModule, MatCommonModule], exports: [CdkScrollableModule,
1342
+ MatSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1343
+ MatSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatSelectModule, declarations: [MatSelect, MatSelectTrigger], imports: [CommonModule, OverlayModule, MatOptionModule, MatCommonModule], exports: [CdkScrollableModule,
1306
1344
  MatFormFieldModule,
1307
1345
  MatSelect,
1308
1346
  MatSelectTrigger,
1309
1347
  MatOptionModule,
1310
1348
  MatCommonModule] });
1311
- MatSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatSelectModule, providers: [MAT_SELECT_SCROLL_STRATEGY_PROVIDER], imports: [[CommonModule, OverlayModule, MatOptionModule, MatCommonModule], CdkScrollableModule,
1349
+ MatSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatSelectModule, providers: [MAT_SELECT_SCROLL_STRATEGY_PROVIDER], imports: [[CommonModule, OverlayModule, MatOptionModule, MatCommonModule], CdkScrollableModule,
1312
1350
  MatFormFieldModule,
1313
1351
  MatOptionModule,
1314
1352
  MatCommonModule] });
1315
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatSelectModule, decorators: [{
1353
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatSelectModule, decorators: [{
1316
1354
  type: NgModule,
1317
1355
  args: [{
1318
1356
  imports: [CommonModule, OverlayModule, MatOptionModule, MatCommonModule],