@angular/material 7.0.4 → 7.2.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 (488) hide show
  1. package/LICENSE +1 -1
  2. package/_theming.scss +61 -44
  3. package/autocomplete/typings/index.d.ts +1 -1
  4. package/autocomplete/typings/index.metadata.json +1 -1
  5. package/badge/typings/index.metadata.json +1 -1
  6. package/bottom-sheet/typings/bottom-sheet-config.d.ts +5 -0
  7. package/bottom-sheet/typings/bottom-sheet-container.d.ts +1 -1
  8. package/bottom-sheet/typings/index.metadata.json +1 -1
  9. package/bundles/material-autocomplete.umd.js +126 -32
  10. package/bundles/material-autocomplete.umd.js.map +1 -1
  11. package/bundles/material-autocomplete.umd.min.js +1 -1
  12. package/bundles/material-autocomplete.umd.min.js.map +1 -1
  13. package/bundles/material-badge.umd.js +38 -5
  14. package/bundles/material-badge.umd.js.map +1 -1
  15. package/bundles/material-badge.umd.min.js +1 -1
  16. package/bundles/material-badge.umd.min.js.map +1 -1
  17. package/bundles/material-bottom-sheet.umd.js +68 -21
  18. package/bundles/material-bottom-sheet.umd.js.map +1 -1
  19. package/bundles/material-bottom-sheet.umd.min.js +1 -1
  20. package/bundles/material-bottom-sheet.umd.min.js.map +1 -1
  21. package/bundles/material-button-toggle.umd.js +36 -13
  22. package/bundles/material-button-toggle.umd.js.map +1 -1
  23. package/bundles/material-button-toggle.umd.min.js +1 -1
  24. package/bundles/material-button-toggle.umd.min.js.map +1 -1
  25. package/bundles/material-button.umd.js +21 -14
  26. package/bundles/material-button.umd.js.map +1 -1
  27. package/bundles/material-button.umd.min.js +1 -1
  28. package/bundles/material-button.umd.min.js.map +1 -1
  29. package/bundles/material-card.umd.js +3 -3
  30. package/bundles/material-card.umd.js.map +1 -1
  31. package/bundles/material-card.umd.min.js +1 -1
  32. package/bundles/material-card.umd.min.js.map +1 -1
  33. package/bundles/material-checkbox.umd.js +56 -15
  34. package/bundles/material-checkbox.umd.js.map +1 -1
  35. package/bundles/material-checkbox.umd.min.js +1 -1
  36. package/bundles/material-checkbox.umd.min.js.map +1 -1
  37. package/bundles/material-chips.umd.js +124 -34
  38. package/bundles/material-chips.umd.js.map +1 -1
  39. package/bundles/material-chips.umd.min.js +1 -1
  40. package/bundles/material-chips.umd.min.js.map +1 -1
  41. package/bundles/material-core.umd.js +189 -126
  42. package/bundles/material-core.umd.js.map +1 -1
  43. package/bundles/material-core.umd.min.js +1 -1
  44. package/bundles/material-core.umd.min.js.map +1 -1
  45. package/bundles/material-datepicker.umd.js +231 -53
  46. package/bundles/material-datepicker.umd.js.map +1 -1
  47. package/bundles/material-datepicker.umd.min.js +2 -2
  48. package/bundles/material-datepicker.umd.min.js.map +1 -1
  49. package/bundles/material-dialog.umd.js +138 -40
  50. package/bundles/material-dialog.umd.js.map +1 -1
  51. package/bundles/material-dialog.umd.min.js +1 -1
  52. package/bundles/material-dialog.umd.min.js.map +1 -1
  53. package/bundles/material-divider.umd.js +2 -2
  54. package/bundles/material-divider.umd.js.map +1 -1
  55. package/bundles/material-divider.umd.min.js.map +1 -1
  56. package/bundles/material-expansion.umd.js +53 -27
  57. package/bundles/material-expansion.umd.js.map +1 -1
  58. package/bundles/material-expansion.umd.min.js +1 -1
  59. package/bundles/material-expansion.umd.min.js.map +1 -1
  60. package/bundles/material-form-field.umd.js +121 -32
  61. package/bundles/material-form-field.umd.js.map +1 -1
  62. package/bundles/material-form-field.umd.min.js +1 -1
  63. package/bundles/material-form-field.umd.min.js.map +1 -1
  64. package/bundles/material-grid-list.umd.js +66 -15
  65. package/bundles/material-grid-list.umd.js.map +1 -1
  66. package/bundles/material-grid-list.umd.min.js +1 -1
  67. package/bundles/material-grid-list.umd.min.js.map +1 -1
  68. package/bundles/material-icon.umd.js +277 -78
  69. package/bundles/material-icon.umd.js.map +1 -1
  70. package/bundles/material-icon.umd.min.js +1 -1
  71. package/bundles/material-icon.umd.min.js.map +1 -1
  72. package/bundles/material-input.umd.js +50 -22
  73. package/bundles/material-input.umd.js.map +1 -1
  74. package/bundles/material-input.umd.min.js +1 -1
  75. package/bundles/material-input.umd.min.js.map +1 -1
  76. package/bundles/material-list.umd.js +69 -21
  77. package/bundles/material-list.umd.js.map +1 -1
  78. package/bundles/material-list.umd.min.js +2 -6
  79. package/bundles/material-list.umd.min.js.map +1 -1
  80. package/bundles/material-menu.umd.js +171 -66
  81. package/bundles/material-menu.umd.js.map +1 -1
  82. package/bundles/material-menu.umd.min.js +1 -1
  83. package/bundles/material-menu.umd.min.js.map +1 -1
  84. package/bundles/material-paginator.umd.js +52 -10
  85. package/bundles/material-paginator.umd.js.map +1 -1
  86. package/bundles/material-paginator.umd.min.js +1 -1
  87. package/bundles/material-paginator.umd.min.js.map +1 -1
  88. package/bundles/material-progress-bar.umd.js +31 -12
  89. package/bundles/material-progress-bar.umd.js.map +1 -1
  90. package/bundles/material-progress-bar.umd.min.js +1 -1
  91. package/bundles/material-progress-bar.umd.min.js.map +1 -1
  92. package/bundles/material-progress-spinner.umd.js +29 -13
  93. package/bundles/material-progress-spinner.umd.js.map +1 -1
  94. package/bundles/material-progress-spinner.umd.min.js.map +1 -1
  95. package/bundles/material-radio.umd.js +38 -40
  96. package/bundles/material-radio.umd.js.map +1 -1
  97. package/bundles/material-radio.umd.min.js +1 -1
  98. package/bundles/material-radio.umd.min.js.map +1 -1
  99. package/bundles/material-select.umd.js +189 -51
  100. package/bundles/material-select.umd.js.map +1 -1
  101. package/bundles/material-select.umd.min.js +1 -1
  102. package/bundles/material-select.umd.min.js.map +1 -1
  103. package/bundles/material-sidenav.umd.js +104 -25
  104. package/bundles/material-sidenav.umd.js.map +1 -1
  105. package/bundles/material-sidenav.umd.min.js +1 -1
  106. package/bundles/material-sidenav.umd.min.js.map +1 -1
  107. package/bundles/material-slide-toggle.umd.js +30 -14
  108. package/bundles/material-slide-toggle.umd.js.map +1 -1
  109. package/bundles/material-slide-toggle.umd.min.js +1 -1
  110. package/bundles/material-slide-toggle.umd.min.js.map +1 -1
  111. package/bundles/material-slider.umd.js +91 -21
  112. package/bundles/material-slider.umd.js.map +1 -1
  113. package/bundles/material-slider.umd.min.js +1 -1
  114. package/bundles/material-slider.umd.min.js.map +1 -1
  115. package/bundles/material-snack-bar.umd.js +71 -19
  116. package/bundles/material-snack-bar.umd.js.map +1 -1
  117. package/bundles/material-snack-bar.umd.min.js +1 -1
  118. package/bundles/material-snack-bar.umd.min.js.map +1 -1
  119. package/bundles/material-sort.umd.js +46 -24
  120. package/bundles/material-sort.umd.js.map +1 -1
  121. package/bundles/material-sort.umd.min.js +1 -1
  122. package/bundles/material-sort.umd.min.js.map +1 -1
  123. package/bundles/material-stepper.umd.js +37 -35
  124. package/bundles/material-stepper.umd.js.map +1 -1
  125. package/bundles/material-stepper.umd.min.js +1 -1
  126. package/bundles/material-stepper.umd.min.js.map +1 -1
  127. package/bundles/material-table.umd.js +29 -9
  128. package/bundles/material-table.umd.js.map +1 -1
  129. package/bundles/material-table.umd.min.js.map +1 -1
  130. package/bundles/material-tabs.umd.js +170 -68
  131. package/bundles/material-tabs.umd.js.map +1 -1
  132. package/bundles/material-tabs.umd.min.js +2 -2
  133. package/bundles/material-tabs.umd.min.js.map +1 -1
  134. package/bundles/material-toolbar.umd.js +14 -4
  135. package/bundles/material-toolbar.umd.js.map +1 -1
  136. package/bundles/material-toolbar.umd.min.js +1 -1
  137. package/bundles/material-toolbar.umd.min.js.map +1 -1
  138. package/bundles/material-tooltip.umd.js +53 -26
  139. package/bundles/material-tooltip.umd.js.map +1 -1
  140. package/bundles/material-tooltip.umd.min.js +1 -1
  141. package/bundles/material-tooltip.umd.min.js.map +1 -1
  142. package/bundles/material-tree.umd.js +25 -16
  143. package/bundles/material-tree.umd.js.map +1 -1
  144. package/bundles/material-tree.umd.min.js +1 -1
  145. package/bundles/material-tree.umd.min.js.map +1 -1
  146. package/bundles/material.umd.js +2853 -1010
  147. package/bundles/material.umd.js.map +1 -1
  148. package/bundles/material.umd.min.js +19 -21
  149. package/bundles/material.umd.min.js.map +1 -1
  150. package/button/typings/button.d.ts +0 -5
  151. package/button/typings/index.metadata.json +1 -1
  152. package/button-toggle/typings/index.metadata.json +1 -1
  153. package/card/typings/index.metadata.json +1 -1
  154. package/checkbox/typings/index.metadata.json +1 -1
  155. package/chips/typings/chip-list.d.ts +1 -1
  156. package/chips/typings/chip.d.ts +2 -2
  157. package/chips/typings/index.metadata.json +1 -1
  158. package/core/typings/index.metadata.json +1 -1
  159. package/core/typings/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
  160. package/core/typings/public-api.d.ts +1 -1
  161. package/datepicker/typings/calendar-body.d.ts +21 -5
  162. package/datepicker/typings/calendar.d.ts +4 -1
  163. package/datepicker/typings/datepicker.d.ts +3 -0
  164. package/datepicker/typings/index.metadata.json +1 -1
  165. package/datepicker/typings/month-view.d.ts +4 -2
  166. package/dialog/typings/index.metadata.json +1 -1
  167. package/esm2015/autocomplete.js +60 -29
  168. package/esm2015/autocomplete.js.map +1 -1
  169. package/esm2015/badge.js +29 -6
  170. package/esm2015/badge.js.map +1 -1
  171. package/esm2015/bottom-sheet.js +45 -22
  172. package/esm2015/bottom-sheet.js.map +1 -1
  173. package/esm2015/button-toggle.js +20 -11
  174. package/esm2015/button-toggle.js.map +1 -1
  175. package/esm2015/button.js +20 -15
  176. package/esm2015/button.js.map +1 -1
  177. package/esm2015/card.js +5 -5
  178. package/esm2015/card.js.map +1 -1
  179. package/esm2015/checkbox.js +30 -12
  180. package/esm2015/checkbox.js.map +1 -1
  181. package/esm2015/chips.js +64 -28
  182. package/esm2015/chips.js.map +1 -1
  183. package/esm2015/core.js +148 -129
  184. package/esm2015/core.js.map +1 -1
  185. package/esm2015/datepicker.js +124 -41
  186. package/esm2015/datepicker.js.map +1 -1
  187. package/esm2015/dialog.js +77 -40
  188. package/esm2015/dialog.js.map +1 -1
  189. package/esm2015/divider.js +4 -4
  190. package/esm2015/divider.js.map +1 -1
  191. package/esm2015/expansion.js +58 -31
  192. package/esm2015/expansion.js.map +1 -1
  193. package/esm2015/form-field.js +94 -34
  194. package/esm2015/form-field.js.map +1 -1
  195. package/esm2015/grid-list.js +45 -17
  196. package/esm2015/grid-list.js.map +1 -1
  197. package/esm2015/icon.js +136 -67
  198. package/esm2015/icon.js.map +1 -1
  199. package/esm2015/input.js +44 -23
  200. package/esm2015/input.js.map +1 -1
  201. package/esm2015/list.js +47 -22
  202. package/esm2015/list.js.map +1 -1
  203. package/esm2015/material.js +13 -12
  204. package/esm2015/material.js.map +1 -1
  205. package/esm2015/menu.js +109 -63
  206. package/esm2015/menu.js.map +1 -1
  207. package/esm2015/paginator.js +35 -12
  208. package/esm2015/paginator.js.map +1 -1
  209. package/esm2015/progress-bar.js +26 -13
  210. package/esm2015/progress-bar.js.map +1 -1
  211. package/esm2015/progress-spinner.js +24 -14
  212. package/esm2015/progress-spinner.js.map +1 -1
  213. package/esm2015/radio.js +22 -21
  214. package/esm2015/radio.js.map +1 -1
  215. package/esm2015/select.js +116 -53
  216. package/esm2015/select.js.map +1 -1
  217. package/esm2015/sidenav.js +75 -28
  218. package/esm2015/sidenav.js.map +1 -1
  219. package/esm2015/slide-toggle.js +23 -15
  220. package/esm2015/slide-toggle.js.map +1 -1
  221. package/esm2015/slider.js +54 -24
  222. package/esm2015/slider.js.map +1 -1
  223. package/esm2015/snack-bar.js +41 -21
  224. package/esm2015/snack-bar.js.map +1 -1
  225. package/esm2015/sort.js +47 -24
  226. package/esm2015/sort.js.map +1 -1
  227. package/esm2015/stepper.js +35 -32
  228. package/esm2015/stepper.js.map +1 -1
  229. package/esm2015/table.js +31 -11
  230. package/esm2015/table.js.map +1 -1
  231. package/esm2015/tabs.js +113 -53
  232. package/esm2015/tabs.js.map +1 -1
  233. package/esm2015/toolbar.js +9 -5
  234. package/esm2015/toolbar.js.map +1 -1
  235. package/esm2015/tooltip.js +43 -28
  236. package/esm2015/tooltip.js.map +1 -1
  237. package/esm2015/tree.js +22 -17
  238. package/esm2015/tree.js.map +1 -1
  239. package/esm5/autocomplete.es5.js +128 -34
  240. package/esm5/autocomplete.es5.js.map +1 -1
  241. package/esm5/badge.es5.js +40 -7
  242. package/esm5/badge.es5.js.map +1 -1
  243. package/esm5/bottom-sheet.es5.js +70 -23
  244. package/esm5/bottom-sheet.es5.js.map +1 -1
  245. package/esm5/button-toggle.es5.js +38 -15
  246. package/esm5/button-toggle.es5.js.map +1 -1
  247. package/esm5/button.es5.js +23 -16
  248. package/esm5/button.es5.js.map +1 -1
  249. package/esm5/card.es5.js +5 -5
  250. package/esm5/card.es5.js.map +1 -1
  251. package/esm5/checkbox.es5.js +58 -17
  252. package/esm5/checkbox.es5.js.map +1 -1
  253. package/esm5/chips.es5.js +127 -37
  254. package/esm5/chips.es5.js.map +1 -1
  255. package/esm5/core.es5.js +192 -129
  256. package/esm5/core.es5.js.map +1 -1
  257. package/esm5/datepicker.es5.js +233 -55
  258. package/esm5/datepicker.es5.js.map +1 -1
  259. package/esm5/dialog.es5.js +140 -42
  260. package/esm5/dialog.es5.js.map +1 -1
  261. package/esm5/divider.es5.js +4 -4
  262. package/esm5/divider.es5.js.map +1 -1
  263. package/esm5/expansion.es5.js +56 -31
  264. package/esm5/expansion.es5.js.map +1 -1
  265. package/esm5/form-field.es5.js +125 -36
  266. package/esm5/form-field.es5.js.map +1 -1
  267. package/esm5/grid-list.es5.js +68 -17
  268. package/esm5/grid-list.es5.js.map +1 -1
  269. package/esm5/icon.es5.js +279 -80
  270. package/esm5/icon.es5.js.map +1 -1
  271. package/esm5/input.es5.js +52 -24
  272. package/esm5/input.es5.js.map +1 -1
  273. package/esm5/list.es5.js +72 -24
  274. package/esm5/list.es5.js.map +1 -1
  275. package/esm5/material.es5.js +13 -12
  276. package/esm5/material.es5.js.map +1 -1
  277. package/esm5/menu.es5.js +170 -65
  278. package/esm5/menu.es5.js.map +1 -1
  279. package/esm5/paginator.es5.js +55 -13
  280. package/esm5/paginator.es5.js.map +1 -1
  281. package/esm5/progress-bar.es5.js +33 -14
  282. package/esm5/progress-bar.es5.js.map +1 -1
  283. package/esm5/progress-spinner.es5.js +31 -15
  284. package/esm5/progress-spinner.es5.js.map +1 -1
  285. package/esm5/radio.es5.js +42 -42
  286. package/esm5/radio.es5.js.map +1 -1
  287. package/esm5/select.es5.js +193 -55
  288. package/esm5/select.es5.js.map +1 -1
  289. package/esm5/sidenav.es5.js +107 -28
  290. package/esm5/sidenav.es5.js.map +1 -1
  291. package/esm5/slide-toggle.es5.js +32 -16
  292. package/esm5/slide-toggle.es5.js.map +1 -1
  293. package/esm5/slider.es5.js +94 -24
  294. package/esm5/slider.es5.js.map +1 -1
  295. package/esm5/snack-bar.es5.js +73 -21
  296. package/esm5/snack-bar.es5.js.map +1 -1
  297. package/esm5/sort.es5.js +53 -26
  298. package/esm5/sort.es5.js.map +1 -1
  299. package/esm5/stepper.es5.js +40 -38
  300. package/esm5/stepper.es5.js.map +1 -1
  301. package/esm5/table.es5.js +31 -11
  302. package/esm5/table.es5.js.map +1 -1
  303. package/esm5/tabs.es5.js +162 -61
  304. package/esm5/tabs.es5.js.map +1 -1
  305. package/esm5/toolbar.es5.js +16 -6
  306. package/esm5/toolbar.es5.js.map +1 -1
  307. package/esm5/tooltip.es5.js +55 -28
  308. package/esm5/tooltip.es5.js.map +1 -1
  309. package/esm5/tree.es5.js +27 -18
  310. package/esm5/tree.es5.js.map +1 -1
  311. package/expansion/typings/expansion-panel-header.d.ts +2 -2
  312. package/expansion/typings/expansion-panel.d.ts +19 -2
  313. package/expansion/typings/index.metadata.json +1 -1
  314. package/form-field/typings/form-field.d.ts +15 -4
  315. package/form-field/typings/index.metadata.json +1 -1
  316. package/grid-list/typings/index.d.ts +1 -1
  317. package/grid-list/typings/index.metadata.json +1 -1
  318. package/icon/typings/index.metadata.json +1 -1
  319. package/list/typings/index.metadata.json +1 -1
  320. package/material.d.ts +1 -1
  321. package/material.metadata.json +3 -3
  322. package/menu/typings/index.d.ts +4 -4
  323. package/menu/typings/index.metadata.json +1 -1
  324. package/menu/typings/menu-directive.d.ts +1 -0
  325. package/menu/typings/menu-item.d.ts +2 -0
  326. package/package.json +5 -5
  327. package/paginator/typings/index.metadata.json +1 -1
  328. package/paginator/typings/paginator.d.ts +7 -3
  329. package/prebuilt-themes/deeppurple-amber.css +1 -1
  330. package/prebuilt-themes/indigo-pink.css +1 -1
  331. package/prebuilt-themes/pink-bluegrey.css +1 -1
  332. package/prebuilt-themes/purple-green.css +1 -1
  333. package/progress-bar/typings/index.metadata.json +1 -1
  334. package/radio/typings/index.metadata.json +1 -1
  335. package/radio/typings/radio.d.ts +2 -6
  336. package/schematics/ng-add/theming/{custom-theme.d.ts → create-custom-theme.d.ts} +0 -0
  337. package/schematics/ng-add/theming/{custom-theme.js → create-custom-theme.js} +1 -1
  338. package/schematics/ng-add/theming/create-custom-theme.js.map +1 -0
  339. package/schematics/ng-add/theming/theming.js +35 -19
  340. package/schematics/ng-add/theming/theming.js.map +1 -1
  341. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  342. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  343. package/schematics/ng-generate/nav/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  344. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  345. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  346. package/select/typings/index.metadata.json +1 -1
  347. package/select/typings/select.d.ts +12 -2
  348. package/sidenav/typings/drawer.d.ts +9 -2
  349. package/sidenav/typings/index.metadata.json +1 -1
  350. package/slide-toggle/typings/index.metadata.json +1 -1
  351. package/slider/typings/index.metadata.json +1 -1
  352. package/snack-bar/typings/index.metadata.json +1 -1
  353. package/sort/typings/index.metadata.json +1 -1
  354. package/stepper/typings/index.metadata.json +1 -1
  355. package/stepper/typings/step-header.d.ts +3 -5
  356. package/tabs/typings/index.d.ts +5 -5
  357. package/tabs/typings/index.metadata.json +1 -1
  358. package/tabs/typings/tab-body.d.ts +2 -0
  359. package/tabs/typings/tab-group.d.ts +11 -2
  360. package/tabs/typings/tab-header.d.ts +9 -3
  361. package/toolbar/typings/index.metadata.json +1 -1
  362. package/tooltip/typings/index.metadata.json +1 -1
  363. package/tree/typings/data-source/flat-data-source.d.ts +2 -2
  364. package/tree/typings/index.metadata.json +1 -1
  365. package/typings/autocomplete/index.d.ts +1 -1
  366. package/typings/autocomplete/index.metadata.json +1 -1
  367. package/typings/badge/index.metadata.json +1 -1
  368. package/typings/bottom-sheet/bottom-sheet-config.d.ts +5 -0
  369. package/typings/bottom-sheet/bottom-sheet-container.d.ts +1 -1
  370. package/typings/bottom-sheet/index.metadata.json +1 -1
  371. package/typings/button/button.d.ts +0 -5
  372. package/typings/button/index.metadata.json +1 -1
  373. package/typings/button-toggle/index.metadata.json +1 -1
  374. package/typings/card/index.metadata.json +1 -1
  375. package/typings/checkbox/index.metadata.json +1 -1
  376. package/typings/chips/chip-list.d.ts +1 -1
  377. package/typings/chips/chip.d.ts +2 -2
  378. package/typings/chips/index.metadata.json +1 -1
  379. package/typings/core/index.metadata.json +1 -1
  380. package/typings/core/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
  381. package/typings/core/public-api.d.ts +1 -1
  382. package/typings/datepicker/calendar-body.d.ts +21 -5
  383. package/typings/datepicker/calendar.d.ts +4 -1
  384. package/typings/datepicker/datepicker.d.ts +3 -0
  385. package/typings/datepicker/index.metadata.json +1 -1
  386. package/typings/datepicker/month-view.d.ts +4 -2
  387. package/typings/dialog/index.metadata.json +1 -1
  388. package/typings/esm5/autocomplete/index.d.ts +1 -1
  389. package/typings/esm5/autocomplete/index.metadata.json +1 -1
  390. package/typings/esm5/badge/index.metadata.json +1 -1
  391. package/typings/esm5/bottom-sheet/bottom-sheet-config.d.ts +5 -0
  392. package/typings/esm5/bottom-sheet/bottom-sheet-container.d.ts +1 -1
  393. package/typings/esm5/bottom-sheet/index.metadata.json +1 -1
  394. package/typings/esm5/button/button.d.ts +0 -5
  395. package/typings/esm5/button/index.metadata.json +1 -1
  396. package/typings/esm5/button-toggle/index.metadata.json +1 -1
  397. package/typings/esm5/card/index.metadata.json +1 -1
  398. package/typings/esm5/checkbox/index.metadata.json +1 -1
  399. package/typings/esm5/chips/chip-list.d.ts +1 -1
  400. package/typings/esm5/chips/chip.d.ts +2 -2
  401. package/typings/esm5/chips/index.metadata.json +1 -1
  402. package/typings/esm5/core/index.metadata.json +1 -1
  403. package/typings/esm5/core/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
  404. package/typings/esm5/core/public-api.d.ts +1 -1
  405. package/typings/esm5/datepicker/calendar-body.d.ts +21 -5
  406. package/typings/esm5/datepicker/calendar.d.ts +4 -1
  407. package/typings/esm5/datepicker/datepicker.d.ts +3 -0
  408. package/typings/esm5/datepicker/index.metadata.json +1 -1
  409. package/typings/esm5/datepicker/month-view.d.ts +4 -2
  410. package/typings/esm5/dialog/index.metadata.json +1 -1
  411. package/typings/esm5/expansion/expansion-panel-header.d.ts +2 -2
  412. package/typings/esm5/expansion/expansion-panel.d.ts +19 -2
  413. package/typings/esm5/expansion/index.metadata.json +1 -1
  414. package/typings/esm5/form-field/form-field.d.ts +15 -4
  415. package/typings/esm5/form-field/index.metadata.json +1 -1
  416. package/typings/esm5/grid-list/index.d.ts +1 -1
  417. package/typings/esm5/grid-list/index.metadata.json +1 -1
  418. package/typings/esm5/icon/index.metadata.json +1 -1
  419. package/typings/esm5/index.metadata.json +1 -1
  420. package/typings/esm5/list/index.metadata.json +1 -1
  421. package/typings/esm5/menu/index.d.ts +4 -4
  422. package/typings/esm5/menu/index.metadata.json +1 -1
  423. package/typings/esm5/menu/menu-directive.d.ts +1 -0
  424. package/typings/esm5/menu/menu-item.d.ts +2 -0
  425. package/typings/esm5/paginator/index.metadata.json +1 -1
  426. package/typings/esm5/paginator/paginator.d.ts +7 -3
  427. package/typings/esm5/progress-bar/index.metadata.json +1 -1
  428. package/typings/esm5/radio/index.metadata.json +1 -1
  429. package/typings/esm5/radio/radio.d.ts +2 -6
  430. package/typings/esm5/select/index.metadata.json +1 -1
  431. package/typings/esm5/select/select.d.ts +12 -2
  432. package/typings/esm5/sidenav/drawer.d.ts +9 -2
  433. package/typings/esm5/sidenav/index.metadata.json +1 -1
  434. package/typings/esm5/slide-toggle/index.metadata.json +1 -1
  435. package/typings/esm5/slider/index.metadata.json +1 -1
  436. package/typings/esm5/snack-bar/index.metadata.json +1 -1
  437. package/typings/esm5/sort/index.metadata.json +1 -1
  438. package/typings/esm5/stepper/index.metadata.json +1 -1
  439. package/typings/esm5/stepper/step-header.d.ts +3 -5
  440. package/typings/esm5/tabs/index.d.ts +5 -5
  441. package/typings/esm5/tabs/index.metadata.json +1 -1
  442. package/typings/esm5/tabs/tab-body.d.ts +2 -0
  443. package/typings/esm5/tabs/tab-group.d.ts +11 -2
  444. package/typings/esm5/tabs/tab-header.d.ts +9 -3
  445. package/typings/esm5/toolbar/index.metadata.json +1 -1
  446. package/typings/esm5/tooltip/index.metadata.json +1 -1
  447. package/typings/esm5/tree/data-source/flat-data-source.d.ts +2 -2
  448. package/typings/esm5/tree/index.metadata.json +1 -1
  449. package/typings/expansion/expansion-panel-header.d.ts +2 -2
  450. package/typings/expansion/expansion-panel.d.ts +19 -2
  451. package/typings/expansion/index.metadata.json +1 -1
  452. package/typings/form-field/form-field.d.ts +15 -4
  453. package/typings/form-field/index.metadata.json +1 -1
  454. package/typings/grid-list/index.d.ts +1 -1
  455. package/typings/grid-list/index.metadata.json +1 -1
  456. package/typings/icon/index.metadata.json +1 -1
  457. package/typings/index.metadata.json +1 -1
  458. package/typings/list/index.metadata.json +1 -1
  459. package/typings/menu/index.d.ts +4 -4
  460. package/typings/menu/index.metadata.json +1 -1
  461. package/typings/menu/menu-directive.d.ts +1 -0
  462. package/typings/menu/menu-item.d.ts +2 -0
  463. package/typings/paginator/index.metadata.json +1 -1
  464. package/typings/paginator/paginator.d.ts +7 -3
  465. package/typings/progress-bar/index.metadata.json +1 -1
  466. package/typings/radio/index.metadata.json +1 -1
  467. package/typings/radio/radio.d.ts +2 -6
  468. package/typings/schematics/ng-add/theming/{custom-theme.d.ts → create-custom-theme.d.ts} +0 -0
  469. package/typings/select/index.metadata.json +1 -1
  470. package/typings/select/select.d.ts +12 -2
  471. package/typings/sidenav/drawer.d.ts +9 -2
  472. package/typings/sidenav/index.metadata.json +1 -1
  473. package/typings/slide-toggle/index.metadata.json +1 -1
  474. package/typings/slider/index.metadata.json +1 -1
  475. package/typings/snack-bar/index.metadata.json +1 -1
  476. package/typings/sort/index.metadata.json +1 -1
  477. package/typings/stepper/index.metadata.json +1 -1
  478. package/typings/stepper/step-header.d.ts +3 -5
  479. package/typings/tabs/index.d.ts +5 -5
  480. package/typings/tabs/index.metadata.json +1 -1
  481. package/typings/tabs/tab-body.d.ts +2 -0
  482. package/typings/tabs/tab-group.d.ts +11 -2
  483. package/typings/tabs/tab-header.d.ts +9 -3
  484. package/typings/toolbar/index.metadata.json +1 -1
  485. package/typings/tooltip/index.metadata.json +1 -1
  486. package/typings/tree/data-source/flat-data-source.d.ts +2 -2
  487. package/typings/tree/index.metadata.json +1 -1
  488. package/schematics/ng-add/theming/custom-theme.js.map +0 -1
@@ -42,25 +42,26 @@ function __extends(d, b) {
42
42
 
43
43
  /**
44
44
  * @fileoverview added by tsickle
45
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
45
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
46
46
  */
47
- /** *
47
+ /**
48
48
  * The following are all the animations for the mat-select component, with each
49
49
  * const containing the metadata for one animation.
50
50
  *
51
51
  * The values below match the implementation of the AngularJS Material mat-select animation.
52
52
  * \@docs-private
53
- @type {?} */
53
+ * @type {?}
54
+ */
54
55
  var matSelectAnimations = {
55
56
  /**
56
- * This animation transforms the select's overlay panel on and off the page.
57
- *
58
- * When the panel is attached to the DOM, it expands its width by the amount of padding, scales it
59
- * up to 100% on the Y axis, fades in its border, and translates slightly up and to the
60
- * side to ensure the option text correctly overlaps the trigger text.
61
- *
62
- * When the panel is removed from the DOM, it simply fades out linearly.
63
- */
57
+ * This animation transforms the select's overlay panel on and off the page.
58
+ *
59
+ * When the panel is attached to the DOM, it expands its width by the amount of padding, scales it
60
+ * up to 100% on the Y axis, fades in its border, and translates slightly up and to the
61
+ * side to ensure the option text correctly overlaps the trigger text.
62
+ *
63
+ * When the panel is removed from the DOM, it simply fades out linearly.
64
+ */
64
65
  transformPanel: animations.trigger('transformPanel', [
65
66
  animations.state('void', animations.style({
66
67
  transform: 'scaleY(0.8)',
@@ -83,12 +84,12 @@ var matSelectAnimations = {
83
84
  animations.transition('* => void', animations.animate('100ms 25ms linear', animations.style({ opacity: 0 })))
84
85
  ]),
85
86
  /**
86
- * This animation fades in the background color and text content of the
87
- * select's options. It is time delayed to occur 100ms after the overlay
88
- * panel has transformed in.
89
- * @deprecated Not used anymore. To be removed.
90
- * @breaking-change 8.0.0
91
- */
87
+ * This animation fades in the background color and text content of the
88
+ * select's options. It is time delayed to occur 100ms after the overlay
89
+ * panel has transformed in.
90
+ * @deprecated Not used anymore. To be removed.
91
+ * \@breaking-change 8.0.0
92
+ */
92
93
  fadeInContent: animations.trigger('fadeInContent', [
93
94
  animations.state('showing', animations.style({ opacity: 1 })),
94
95
  animations.transition('void => showing', [
@@ -97,22 +98,24 @@ var matSelectAnimations = {
97
98
  ])
98
99
  ])
99
100
  };
100
- /** *
101
+ /**
101
102
  * @deprecated
102
103
  * \@breaking-change 8.0.0
103
104
  * \@docs-private
104
- @type {?} */
105
+ * @type {?}
106
+ */
105
107
  var transformPanel = matSelectAnimations.transformPanel;
106
- /** *
108
+ /**
107
109
  * @deprecated
108
110
  * \@breaking-change 8.0.0
109
111
  * \@docs-private
110
- @type {?} */
112
+ * @type {?}
113
+ */
111
114
  var fadeInContent = matSelectAnimations.fadeInContent;
112
115
 
113
116
  /**
114
117
  * @fileoverview added by tsickle
115
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
118
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
116
119
  */
117
120
 
118
121
  /**
@@ -146,27 +149,32 @@ function getMatSelectNonFunctionValueError() {
146
149
 
147
150
  /**
148
151
  * @fileoverview added by tsickle
149
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
152
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
150
153
  */
151
154
  /** @type {?} */
152
155
  var nextUniqueId = 0;
153
- /** *
156
+ /**
154
157
  * The max height of the select's overlay panel
155
- @type {?} */
158
+ * @type {?}
159
+ */
156
160
  var SELECT_PANEL_MAX_HEIGHT = 256;
157
- /** *
161
+ /**
158
162
  * The panel's padding on the x-axis
159
- @type {?} */
163
+ * @type {?}
164
+ */
160
165
  var SELECT_PANEL_PADDING_X = 16;
161
- /** *
166
+ /**
162
167
  * The panel's x axis padding if it is indented (e.g. there is an option group).
163
- @type {?} */
168
+ * @type {?}
169
+ */
164
170
  var SELECT_PANEL_INDENT_PADDING_X = SELECT_PANEL_PADDING_X * 2;
165
- /** *
171
+ /**
166
172
  * The height of the select items in `em` units.
167
- @type {?} */
173
+ * @type {?}
174
+ */
168
175
  var SELECT_ITEM_HEIGHT_EM = 3;
169
- /** *
176
+ // TODO(josephperrott): Revert to a constant after 2018 spec updates are fully merged.
177
+ /**
170
178
  * Distance between the panel edge and the option text in
171
179
  * multi-selection mode.
172
180
  *
@@ -174,16 +182,19 @@ var SELECT_ITEM_HEIGHT_EM = 3;
174
182
  * (SELECT_PANEL_PADDING_X * 1.5) + 20 = 44
175
183
  * The padding is multiplied by 1.5 because the checkbox's margin is half the padding.
176
184
  * The checkbox width is 16px.
177
- @type {?} */
185
+ * @type {?}
186
+ */
178
187
  exports.SELECT_MULTIPLE_PANEL_PADDING_X = 0;
179
- /** *
188
+ /**
180
189
  * The select panel will only "fit" inside the viewport if it is positioned at
181
190
  * this value or more away from the viewport boundary.
182
- @type {?} */
191
+ * @type {?}
192
+ */
183
193
  var SELECT_PANEL_VIEWPORT_PADDING = 8;
184
- /** *
194
+ /**
185
195
  * Injection token that determines the scroll handling while a select is open.
186
- @type {?} */
196
+ * @type {?}
197
+ */
187
198
  var MAT_SELECT_SCROLL_STRATEGY = new core.InjectionToken('mat-select-scroll-strategy');
188
199
  /**
189
200
  * \@docs-private
@@ -193,9 +204,10 @@ var MAT_SELECT_SCROLL_STRATEGY = new core.InjectionToken('mat-select-scroll-stra
193
204
  function MAT_SELECT_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay$$1) {
194
205
  return function () { return overlay$$1.scrollStrategies.reposition(); };
195
206
  }
196
- /** *
207
+ /**
197
208
  * \@docs-private
198
- @type {?} */
209
+ * @type {?}
210
+ */
199
211
  var MAT_SELECT_SCROLL_STRATEGY_PROVIDER = {
200
212
  provide: MAT_SELECT_SCROLL_STRATEGY,
201
213
  deps: [overlay.Overlay],
@@ -214,10 +226,13 @@ MatSelectChange = /** @class */ (function () {
214
226
  }
215
227
  return MatSelectChange;
216
228
  }());
229
+ // Boilerplate for applying mixins to MatSelect.
217
230
  /**
218
231
  * \@docs-private
219
232
  */
220
- var /**
233
+ var
234
+ // Boilerplate for applying mixins to MatSelect.
235
+ /**
221
236
  * \@docs-private
222
237
  */
223
238
  MatSelectBase = /** @class */ (function () {
@@ -247,7 +262,7 @@ var MatSelectTrigger = /** @class */ (function () {
247
262
  }());
248
263
  var MatSelect = /** @class */ (function (_super) {
249
264
  __extends(MatSelect, _super);
250
- function MatSelect(_viewportRuler, _changeDetectorRef, _ngZone, _defaultErrorStateMatcher, elementRef, _dir, _parentForm, _parentFormGroup, _parentFormField, ngControl, tabIndex, scrollStrategyFactory) {
265
+ function MatSelect(_viewportRuler, _changeDetectorRef, _ngZone, _defaultErrorStateMatcher, elementRef, _dir, _parentForm, _parentFormGroup, _parentFormField, ngControl, tabIndex, scrollStrategyFactory, _liveAnnouncer) {
251
266
  var _this = _super.call(this, elementRef, _defaultErrorStateMatcher, _parentForm, _parentFormGroup, ngControl) || this;
252
267
  _this._viewportRuler = _viewportRuler;
253
268
  _this._changeDetectorRef = _changeDetectorRef;
@@ -255,6 +270,7 @@ var MatSelect = /** @class */ (function (_super) {
255
270
  _this._dir = _dir;
256
271
  _this._parentFormField = _parentFormField;
257
272
  _this.ngControl = ngControl;
273
+ _this._liveAnnouncer = _liveAnnouncer;
258
274
  /**
259
275
  * Whether or not the overlay panel is open.
260
276
  */
@@ -624,7 +640,7 @@ var MatSelect = /** @class */ (function (_super) {
624
640
  function (changes) {
625
641
  // Updating the disabled state is handled by `mixinDisabled`, but we need to additionally let
626
642
  // the parent form field know to run change detection when the disabled state changes.
627
- if (changes["disabled"]) {
643
+ if (changes.disabled) {
628
644
  this.stateChanges.next();
629
645
  }
630
646
  };
@@ -877,13 +893,16 @@ var MatSelect = /** @class */ (function (_super) {
877
893
  this.panelOpen ? this._handleOpenKeydown(event) : this._handleClosedKeydown(event);
878
894
  }
879
895
  };
896
+ /** Handles keyboard events while the select is closed. */
880
897
  /**
881
898
  * Handles keyboard events while the select is closed.
899
+ * @private
882
900
  * @param {?} event
883
901
  * @return {?}
884
902
  */
885
903
  MatSelect.prototype._handleClosedKeydown = /**
886
904
  * Handles keyboard events while the select is closed.
905
+ * @private
887
906
  * @param {?} event
888
907
  * @return {?}
889
908
  */
@@ -898,11 +917,13 @@ var MatSelect = /** @class */ (function (_super) {
898
917
  /** @type {?} */
899
918
  var manager = this._keyManager;
900
919
  // Open the select on ALT + arrow key to match the native <select>
901
- if (isOpenKey || ((this.multiple || event.altKey) && isArrowKey)) {
920
+ if ((isOpenKey && !keycodes.hasModifierKey(event)) || ((this.multiple || event.altKey) && isArrowKey)) {
902
921
  event.preventDefault(); // prevents the page from scrolling down when pressing space
903
922
  this.open();
904
923
  }
905
924
  else if (!this.multiple) {
925
+ /** @type {?} */
926
+ var selectedOption = this.selected;
906
927
  if (keyCode === keycodes.HOME || keyCode === keycodes.END) {
907
928
  keyCode === keycodes.HOME ? manager.setFirstItemActive() : manager.setLastItemActive();
908
929
  event.preventDefault();
@@ -910,15 +931,23 @@ var MatSelect = /** @class */ (function (_super) {
910
931
  else {
911
932
  manager.onKeydown(event);
912
933
  }
934
+ // Since the value has changed, we need to announce it ourselves.
935
+ // @breaking-change 8.0.0 remove null check for _liveAnnouncer.
936
+ if (this._liveAnnouncer && selectedOption !== this.selected) {
937
+ this._liveAnnouncer.announce(((/** @type {?} */ (this.selected))).viewValue);
938
+ }
913
939
  }
914
940
  };
941
+ /** Handles keyboard events when the selected is open. */
915
942
  /**
916
943
  * Handles keyboard events when the selected is open.
944
+ * @private
917
945
  * @param {?} event
918
946
  * @return {?}
919
947
  */
920
948
  MatSelect.prototype._handleOpenKeydown = /**
921
949
  * Handles keyboard events when the selected is open.
950
+ * @private
922
951
  * @param {?} event
923
952
  * @return {?}
924
953
  */
@@ -938,7 +967,8 @@ var MatSelect = /** @class */ (function (_super) {
938
967
  event.preventDefault();
939
968
  this.close();
940
969
  }
941
- else if ((keyCode === keycodes.ENTER || keyCode === keycodes.SPACE) && manager.activeItem) {
970
+ else if ((keyCode === keycodes.ENTER || keyCode === keycodes.SPACE) && manager.activeItem &&
971
+ !keycodes.hasModifierKey(event)) {
942
972
  event.preventDefault();
943
973
  manager.activeItem._selectViaInteraction();
944
974
  }
@@ -1028,12 +1058,19 @@ var MatSelect = /** @class */ (function (_super) {
1028
1058
  function () {
1029
1059
  return this._parentFormField ? "mat-" + this._parentFormField.color : '';
1030
1060
  };
1061
+ // TODO(josephperrott): Remove after 2018 spec updates are fully merged.
1062
+ /** Sets the pseudo checkbox padding size based on the width of the pseudo checkbox. */
1063
+ // TODO(josephperrott): Remove after 2018 spec updates are fully merged.
1031
1064
  /**
1032
1065
  * Sets the pseudo checkbox padding size based on the width of the pseudo checkbox.
1066
+ * @private
1033
1067
  * @return {?}
1034
1068
  */
1035
- MatSelect.prototype._setPseudoCheckboxPaddingSize = /**
1069
+ MatSelect.prototype._setPseudoCheckboxPaddingSize =
1070
+ // TODO(josephperrott): Remove after 2018 spec updates are fully merged.
1071
+ /**
1036
1072
  * Sets the pseudo checkbox padding size based on the width of the pseudo checkbox.
1073
+ * @private
1037
1074
  * @return {?}
1038
1075
  */
1039
1076
  function () {
@@ -1058,9 +1095,11 @@ var MatSelect = /** @class */ (function (_super) {
1058
1095
  configurable: true
1059
1096
  });
1060
1097
  /**
1098
+ * @private
1061
1099
  * @return {?}
1062
1100
  */
1063
1101
  MatSelect.prototype._initializeSelection = /**
1102
+ * @private
1064
1103
  * @return {?}
1065
1104
  */
1066
1105
  function () {
@@ -1069,17 +1108,24 @@ var MatSelect = /** @class */ (function (_super) {
1069
1108
  // has changed after it was checked" errors from Angular.
1070
1109
  Promise.resolve().then(function () {
1071
1110
  _this._setSelectionByValue(_this.ngControl ? _this.ngControl.value : _this._value);
1111
+ _this.stateChanges.next();
1072
1112
  });
1073
1113
  };
1074
1114
  /**
1075
1115
  * Sets the selected option based on a value. If no option can be
1076
1116
  * found with the designated value, the select trigger is cleared.
1117
+ */
1118
+ /**
1119
+ * Sets the selected option based on a value. If no option can be
1120
+ * found with the designated value, the select trigger is cleared.
1121
+ * @private
1077
1122
  * @param {?} value
1078
1123
  * @return {?}
1079
1124
  */
1080
1125
  MatSelect.prototype._setSelectionByValue = /**
1081
1126
  * Sets the selected option based on a value. If no option can be
1082
1127
  * found with the designated value, the select trigger is cleared.
1128
+ * @private
1083
1129
  * @param {?} value
1084
1130
  * @return {?}
1085
1131
  */
@@ -1107,11 +1153,17 @@ var MatSelect = /** @class */ (function (_super) {
1107
1153
  };
1108
1154
  /**
1109
1155
  * Finds and selects and option based on its value.
1156
+ * @returns Option that has the corresponding value.
1157
+ */
1158
+ /**
1159
+ * Finds and selects and option based on its value.
1160
+ * @private
1110
1161
  * @param {?} value
1111
1162
  * @return {?} Option that has the corresponding value.
1112
1163
  */
1113
1164
  MatSelect.prototype._selectValue = /**
1114
1165
  * Finds and selects and option based on its value.
1166
+ * @private
1115
1167
  * @param {?} value
1116
1168
  * @return {?} Option that has the corresponding value.
1117
1169
  */
@@ -1136,12 +1188,15 @@ var MatSelect = /** @class */ (function (_super) {
1136
1188
  }
1137
1189
  return correspondingOption;
1138
1190
  };
1191
+ /** Sets up a key manager to listen to keyboard events on the overlay panel. */
1139
1192
  /**
1140
1193
  * Sets up a key manager to listen to keyboard events on the overlay panel.
1194
+ * @private
1141
1195
  * @return {?}
1142
1196
  */
1143
1197
  MatSelect.prototype._initKeyManager = /**
1144
1198
  * Sets up a key manager to listen to keyboard events on the overlay panel.
1199
+ * @private
1145
1200
  * @return {?}
1146
1201
  */
1147
1202
  function () {
@@ -1166,12 +1221,15 @@ var MatSelect = /** @class */ (function (_super) {
1166
1221
  }
1167
1222
  });
1168
1223
  };
1224
+ /** Drops current option subscriptions and IDs and resets from scratch. */
1169
1225
  /**
1170
1226
  * Drops current option subscriptions and IDs and resets from scratch.
1227
+ * @private
1171
1228
  * @return {?}
1172
1229
  */
1173
1230
  MatSelect.prototype._resetOptions = /**
1174
1231
  * Drops current option subscriptions and IDs and resets from scratch.
1232
+ * @private
1175
1233
  * @return {?}
1176
1234
  */
1177
1235
  function () {
@@ -1194,14 +1252,17 @@ var MatSelect = /** @class */ (function (_super) {
1194
1252
  });
1195
1253
  this._setOptionIds();
1196
1254
  };
1255
+ /** Invoked when an option is clicked. */
1197
1256
  /**
1198
1257
  * Invoked when an option is clicked.
1258
+ * @private
1199
1259
  * @param {?} option
1200
1260
  * @param {?} isUserInput
1201
1261
  * @return {?}
1202
1262
  */
1203
1263
  MatSelect.prototype._onSelect = /**
1204
1264
  * Invoked when an option is clicked.
1265
+ * @private
1205
1266
  * @param {?} option
1206
1267
  * @param {?} isUserInput
1207
1268
  * @return {?}
@@ -1235,12 +1296,15 @@ var MatSelect = /** @class */ (function (_super) {
1235
1296
  }
1236
1297
  this.stateChanges.next();
1237
1298
  };
1299
+ /** Sorts the selected values in the selected based on their order in the panel. */
1238
1300
  /**
1239
1301
  * Sorts the selected values in the selected based on their order in the panel.
1302
+ * @private
1240
1303
  * @return {?}
1241
1304
  */
1242
1305
  MatSelect.prototype._sortValues = /**
1243
1306
  * Sorts the selected values in the selected based on their order in the panel.
1307
+ * @private
1244
1308
  * @return {?}
1245
1309
  */
1246
1310
  function () {
@@ -1255,13 +1319,16 @@ var MatSelect = /** @class */ (function (_super) {
1255
1319
  this.stateChanges.next();
1256
1320
  }
1257
1321
  };
1322
+ /** Emits change event to set the model value. */
1258
1323
  /**
1259
1324
  * Emits change event to set the model value.
1325
+ * @private
1260
1326
  * @param {?=} fallbackValue
1261
1327
  * @return {?}
1262
1328
  */
1263
1329
  MatSelect.prototype._propagateChanges = /**
1264
1330
  * Emits change event to set the model value.
1331
+ * @private
1265
1332
  * @param {?=} fallbackValue
1266
1333
  * @return {?}
1267
1334
  */
@@ -1269,10 +1336,10 @@ var MatSelect = /** @class */ (function (_super) {
1269
1336
  /** @type {?} */
1270
1337
  var valueToEmit = null;
1271
1338
  if (this.multiple) {
1272
- valueToEmit = (/** @type {?} */ (this.selected)).map(function (option) { return option.value; });
1339
+ valueToEmit = ((/** @type {?} */ (this.selected))).map(function (option) { return option.value; });
1273
1340
  }
1274
1341
  else {
1275
- valueToEmit = this.selected ? (/** @type {?} */ (this.selected)).value : fallbackValue;
1342
+ valueToEmit = this.selected ? ((/** @type {?} */ (this.selected))).value : fallbackValue;
1276
1343
  }
1277
1344
  this._value = valueToEmit;
1278
1345
  this.valueChange.emit(valueToEmit);
@@ -1280,12 +1347,15 @@ var MatSelect = /** @class */ (function (_super) {
1280
1347
  this.selectionChange.emit(new MatSelectChange(this, valueToEmit));
1281
1348
  this._changeDetectorRef.markForCheck();
1282
1349
  };
1350
+ /** Records option IDs to pass to the aria-owns property. */
1283
1351
  /**
1284
1352
  * Records option IDs to pass to the aria-owns property.
1353
+ * @private
1285
1354
  * @return {?}
1286
1355
  */
1287
1356
  MatSelect.prototype._setOptionIds = /**
1288
1357
  * Records option IDs to pass to the aria-owns property.
1358
+ * @private
1289
1359
  * @return {?}
1290
1360
  */
1291
1361
  function () {
@@ -1294,11 +1364,17 @@ var MatSelect = /** @class */ (function (_super) {
1294
1364
  /**
1295
1365
  * Highlights the selected item. If no option is selected, it will highlight
1296
1366
  * the first item instead.
1367
+ */
1368
+ /**
1369
+ * Highlights the selected item. If no option is selected, it will highlight
1370
+ * the first item instead.
1371
+ * @private
1297
1372
  * @return {?}
1298
1373
  */
1299
1374
  MatSelect.prototype._highlightCorrectOption = /**
1300
1375
  * Highlights the selected item. If no option is selected, it will highlight
1301
1376
  * the first item instead.
1377
+ * @private
1302
1378
  * @return {?}
1303
1379
  */
1304
1380
  function () {
@@ -1311,12 +1387,15 @@ var MatSelect = /** @class */ (function (_super) {
1311
1387
  }
1312
1388
  }
1313
1389
  };
1390
+ /** Scrolls the active option into view. */
1314
1391
  /**
1315
1392
  * Scrolls the active option into view.
1393
+ * @private
1316
1394
  * @return {?}
1317
1395
  */
1318
1396
  MatSelect.prototype._scrollActiveOptionIntoView = /**
1319
1397
  * Scrolls the active option into view.
1398
+ * @private
1320
1399
  * @return {?}
1321
1400
  */
1322
1401
  function () {
@@ -1338,13 +1417,16 @@ var MatSelect = /** @class */ (function (_super) {
1338
1417
  function () {
1339
1418
  this._elementRef.nativeElement.focus();
1340
1419
  };
1420
+ /** Gets the index of the provided option in the option list. */
1341
1421
  /**
1342
1422
  * Gets the index of the provided option in the option list.
1423
+ * @private
1343
1424
  * @param {?} option
1344
1425
  * @return {?}
1345
1426
  */
1346
1427
  MatSelect.prototype._getOptionIndex = /**
1347
1428
  * Gets the index of the provided option in the option list.
1429
+ * @private
1348
1430
  * @param {?} option
1349
1431
  * @return {?}
1350
1432
  */
@@ -1353,12 +1435,15 @@ var MatSelect = /** @class */ (function (_super) {
1353
1435
  return result === undefined ? (option === current ? index : undefined) : result;
1354
1436
  }, undefined);
1355
1437
  };
1438
+ /** Calculates the scroll position and x- and y-offsets of the overlay panel. */
1356
1439
  /**
1357
1440
  * Calculates the scroll position and x- and y-offsets of the overlay panel.
1441
+ * @private
1358
1442
  * @return {?}
1359
1443
  */
1360
1444
  MatSelect.prototype._calculateOverlayPosition = /**
1361
1445
  * Calculates the scroll position and x- and y-offsets of the overlay panel.
1446
+ * @private
1362
1447
  * @return {?}
1363
1448
  */
1364
1449
  function () {
@@ -1370,11 +1455,15 @@ var MatSelect = /** @class */ (function (_super) {
1370
1455
  var panelHeight = Math.min(items * itemHeight, SELECT_PANEL_MAX_HEIGHT);
1371
1456
  /** @type {?} */
1372
1457
  var scrollContainerHeight = items * itemHeight;
1458
+ // The farthest the panel can be scrolled before it hits the bottom
1373
1459
  /** @type {?} */
1374
1460
  var maxScroll = scrollContainerHeight - panelHeight;
1461
+ // If no value is selected we open the popup to the first item.
1375
1462
  /** @type {?} */
1376
- var selectedOptionOffset = this.empty ? 0 : /** @type {?} */ ((this._getOptionIndex(this._selectionModel.selected[0])));
1463
+ var selectedOptionOffset = this.empty ? 0 : (/** @type {?} */ (this._getOptionIndex(this._selectionModel.selected[0])));
1377
1464
  selectedOptionOffset += core$1._countGroupLabelsBeforeOption(selectedOptionOffset, this.options, this.optionGroups);
1465
+ // We must maintain a scroll buffer so the selected option will be scrolled to the
1466
+ // center of the overlay panel rather than the top.
1378
1467
  /** @type {?} */
1379
1468
  var scrollBuffer = panelHeight / 2;
1380
1469
  this._scrollTop = this._calculateOverlayScroll(selectedOptionOffset, scrollBuffer, maxScroll);
@@ -1417,6 +1506,10 @@ var MatSelect = /** @class */ (function (_super) {
1417
1506
  var optionOffsetFromScrollTop = itemHeight * selectedIndex;
1418
1507
  /** @type {?} */
1419
1508
  var halfOptionHeight = itemHeight / 2;
1509
+ // Starts at the optionOffsetFromScrollTop, which scrolls the option to the top of the
1510
+ // scroll container, then subtracts the scroll buffer to scroll the option down to
1511
+ // the center of the overlay panel. Half the option height must be re-added to the
1512
+ // scrollTop so the option is centered based on its middle, not its top edge.
1420
1513
  /** @type {?} */
1421
1514
  var optimalScrollPosition = optionOffsetFromScrollTop - scrollBuffer + halfOptionHeight;
1422
1515
  return Math.min(Math.max(0, optimalScrollPosition), maxScroll);
@@ -1477,6 +1570,14 @@ var MatSelect = /** @class */ (function (_super) {
1477
1570
  * the panel opens. Will change based on LTR or RTL text direction. Note that the offset
1478
1571
  * can't be calculated until the panel has been attached, because we need to know the
1479
1572
  * content width in order to constrain the panel within the viewport.
1573
+ */
1574
+ /**
1575
+ * Sets the x-offset of the overlay panel in relation to the trigger's top start corner.
1576
+ * This must be adjusted to align the selected option text over the trigger text when
1577
+ * the panel opens. Will change based on LTR or RTL text direction. Note that the offset
1578
+ * can't be calculated until the panel has been attached, because we need to know the
1579
+ * content width in order to constrain the panel within the viewport.
1580
+ * @private
1480
1581
  * @return {?}
1481
1582
  */
1482
1583
  MatSelect.prototype._calculateOverlayOffsetX = /**
@@ -1485,6 +1586,7 @@ var MatSelect = /** @class */ (function (_super) {
1485
1586
  * the panel opens. Will change based on LTR or RTL text direction. Note that the offset
1486
1587
  * can't be calculated until the panel has been attached, because we need to know the
1487
1588
  * content width in order to constrain the panel within the viewport.
1589
+ * @private
1488
1590
  * @return {?}
1489
1591
  */
1490
1592
  function () {
@@ -1512,6 +1614,7 @@ var MatSelect = /** @class */ (function (_super) {
1512
1614
  if (!isRtl) {
1513
1615
  offsetX *= -1;
1514
1616
  }
1617
+ // Determine how much the select overflows on each side.
1515
1618
  /** @type {?} */
1516
1619
  var leftOverflow = 0 - (overlayRect.left + offsetX - (isRtl ? paddingWidth : 0));
1517
1620
  /** @type {?} */
@@ -1534,6 +1637,12 @@ var MatSelect = /** @class */ (function (_super) {
1534
1637
  * Calculates the y-offset of the select's overlay panel in relation to the
1535
1638
  * top start corner of the trigger. It has to be adjusted in order for the
1536
1639
  * selected option to be aligned over the trigger when the panel opens.
1640
+ */
1641
+ /**
1642
+ * Calculates the y-offset of the select's overlay panel in relation to the
1643
+ * top start corner of the trigger. It has to be adjusted in order for the
1644
+ * selected option to be aligned over the trigger when the panel opens.
1645
+ * @private
1537
1646
  * @param {?} selectedIndex
1538
1647
  * @param {?} scrollBuffer
1539
1648
  * @param {?} maxScroll
@@ -1543,6 +1652,7 @@ var MatSelect = /** @class */ (function (_super) {
1543
1652
  * Calculates the y-offset of the select's overlay panel in relation to the
1544
1653
  * top start corner of the trigger. It has to be adjusted in order for the
1545
1654
  * selected option to be aligned over the trigger when the panel opens.
1655
+ * @private
1546
1656
  * @param {?} selectedIndex
1547
1657
  * @param {?} scrollBuffer
1548
1658
  * @param {?} maxScroll
@@ -1569,6 +1679,8 @@ var MatSelect = /** @class */ (function (_super) {
1569
1679
  var firstDisplayedIndex = this._getItemCount() - maxOptionsDisplayed;
1570
1680
  /** @type {?} */
1571
1681
  var selectedDisplayIndex = selectedIndex - firstDisplayedIndex;
1682
+ // The first item is partially out of the viewport. Therefore we need to calculate what
1683
+ // portion of it is shown in the viewport and account for it in our offset.
1572
1684
  /** @type {?} */
1573
1685
  var partialItemHeight = itemHeight - (this._getItemCount() * itemHeight - SELECT_PANEL_MAX_HEIGHT) % itemHeight;
1574
1686
  // Because the panel height is longer than the height of the options alone,
@@ -1593,6 +1705,13 @@ var MatSelect = /** @class */ (function (_super) {
1593
1705
  * If it will not fit, tries to adjust the scroll position and the associated
1594
1706
  * y-offset so the panel can open fully on-screen. If it still won't fit,
1595
1707
  * sets the offset back to 0 to allow the fallback position to take over.
1708
+ */
1709
+ /**
1710
+ * Checks that the attempted overlay position will fit within the viewport.
1711
+ * If it will not fit, tries to adjust the scroll position and the associated
1712
+ * y-offset so the panel can open fully on-screen. If it still won't fit,
1713
+ * sets the offset back to 0 to allow the fallback position to take over.
1714
+ * @private
1596
1715
  * @param {?} maxScroll
1597
1716
  * @return {?}
1598
1717
  */
@@ -1601,6 +1720,7 @@ var MatSelect = /** @class */ (function (_super) {
1601
1720
  * If it will not fit, tries to adjust the scroll position and the associated
1602
1721
  * y-offset so the panel can open fully on-screen. If it still won't fit,
1603
1722
  * sets the offset back to 0 to allow the fallback position to take over.
1723
+ * @private
1604
1724
  * @param {?} maxScroll
1605
1725
  * @return {?}
1606
1726
  */
@@ -1629,19 +1749,23 @@ var MatSelect = /** @class */ (function (_super) {
1629
1749
  this._transformOrigin = this._getOriginBasedOnOption();
1630
1750
  }
1631
1751
  };
1752
+ /** Adjusts the overlay panel up to fit in the viewport. */
1632
1753
  /**
1633
1754
  * Adjusts the overlay panel up to fit in the viewport.
1755
+ * @private
1634
1756
  * @param {?} panelHeightBottom
1635
1757
  * @param {?} bottomSpaceAvailable
1636
1758
  * @return {?}
1637
1759
  */
1638
1760
  MatSelect.prototype._adjustPanelUp = /**
1639
1761
  * Adjusts the overlay panel up to fit in the viewport.
1762
+ * @private
1640
1763
  * @param {?} panelHeightBottom
1641
1764
  * @param {?} bottomSpaceAvailable
1642
1765
  * @return {?}
1643
1766
  */
1644
1767
  function (panelHeightBottom, bottomSpaceAvailable) {
1768
+ // Browsers ignore fractional scroll offsets, so we need to round.
1645
1769
  /** @type {?} */
1646
1770
  var distanceBelowViewport = Math.round(panelHeightBottom - bottomSpaceAvailable);
1647
1771
  // Scrolls the panel up by the distance it was extending past the boundary, then
@@ -1658,8 +1782,10 @@ var MatSelect = /** @class */ (function (_super) {
1658
1782
  this._transformOrigin = "50% bottom 0px";
1659
1783
  }
1660
1784
  };
1785
+ /** Adjusts the overlay panel down to fit in the viewport. */
1661
1786
  /**
1662
1787
  * Adjusts the overlay panel down to fit in the viewport.
1788
+ * @private
1663
1789
  * @param {?} panelHeightTop
1664
1790
  * @param {?} topSpaceAvailable
1665
1791
  * @param {?} maxScroll
@@ -1667,12 +1793,14 @@ var MatSelect = /** @class */ (function (_super) {
1667
1793
  */
1668
1794
  MatSelect.prototype._adjustPanelDown = /**
1669
1795
  * Adjusts the overlay panel down to fit in the viewport.
1796
+ * @private
1670
1797
  * @param {?} panelHeightTop
1671
1798
  * @param {?} topSpaceAvailable
1672
1799
  * @param {?} maxScroll
1673
1800
  * @return {?}
1674
1801
  */
1675
1802
  function (panelHeightTop, topSpaceAvailable, maxScroll) {
1803
+ // Browsers ignore fractional scroll offsets, so we need to round.
1676
1804
  /** @type {?} */
1677
1805
  var distanceAboveViewport = Math.round(panelHeightTop - topSpaceAvailable);
1678
1806
  // Scrolls the panel down by the distance it was extending past the boundary, then
@@ -1690,12 +1818,15 @@ var MatSelect = /** @class */ (function (_super) {
1690
1818
  return;
1691
1819
  }
1692
1820
  };
1821
+ /** Sets the transform origin point based on the selected option. */
1693
1822
  /**
1694
1823
  * Sets the transform origin point based on the selected option.
1824
+ * @private
1695
1825
  * @return {?}
1696
1826
  */
1697
1827
  MatSelect.prototype._getOriginBasedOnOption = /**
1698
1828
  * Sets the transform origin point based on the selected option.
1829
+ * @private
1699
1830
  * @return {?}
1700
1831
  */
1701
1832
  function () {
@@ -1707,23 +1838,29 @@ var MatSelect = /** @class */ (function (_super) {
1707
1838
  var originY = Math.abs(this._offsetY) - optionHeightAdjustment + itemHeight / 2;
1708
1839
  return "50% " + originY + "px 0px";
1709
1840
  };
1841
+ /** Calculates the amount of items in the select. This includes options and group labels. */
1710
1842
  /**
1711
1843
  * Calculates the amount of items in the select. This includes options and group labels.
1844
+ * @private
1712
1845
  * @return {?}
1713
1846
  */
1714
1847
  MatSelect.prototype._getItemCount = /**
1715
1848
  * Calculates the amount of items in the select. This includes options and group labels.
1849
+ * @private
1716
1850
  * @return {?}
1717
1851
  */
1718
1852
  function () {
1719
1853
  return this.options.length + this.optionGroups.length;
1720
1854
  };
1855
+ /** Calculates the height of the select's options. */
1721
1856
  /**
1722
1857
  * Calculates the height of the select's options.
1858
+ * @private
1723
1859
  * @return {?}
1724
1860
  */
1725
1861
  MatSelect.prototype._getItemHeight = /**
1726
1862
  * Calculates the height of the select's options.
1863
+ * @private
1727
1864
  * @return {?}
1728
1865
  */
1729
1866
  function () {
@@ -1786,7 +1923,7 @@ var MatSelect = /** @class */ (function (_super) {
1786
1923
  { type: core.Component, args: [{selector: 'mat-select',
1787
1924
  exportAs: 'matSelect',
1788
1925
  template: "<div cdk-overlay-origin class=\"mat-select-trigger\" aria-hidden=\"true\" (click)=\"toggle()\" #origin=\"cdkOverlayOrigin\" #trigger><div class=\"mat-select-value\" [ngSwitch]=\"empty\"><span class=\"mat-select-placeholder\" *ngSwitchCase=\"true\">{{placeholder || '\u00A0'}}</span> <span class=\"mat-select-value-text\" *ngSwitchCase=\"false\" [ngSwitch]=\"!!customTrigger\"><span *ngSwitchDefault>{{triggerValue || '\u00A0'}}</span><ng-content select=\"mat-select-trigger\" *ngSwitchCase=\"true\"></ng-content></span></div><div class=\"mat-select-arrow-wrapper\"><div class=\"mat-select-arrow\"></div></div></div><ng-template cdk-connected-overlay cdkConnectedOverlayLockPosition cdkConnectedOverlayHasBackdrop cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\" [cdkConnectedOverlayScrollStrategy]=\"_scrollStrategy\" [cdkConnectedOverlayOrigin]=\"origin\" [cdkConnectedOverlayOpen]=\"panelOpen\" [cdkConnectedOverlayPositions]=\"_positions\" [cdkConnectedOverlayMinWidth]=\"_triggerRect?.width\" [cdkConnectedOverlayOffsetY]=\"_offsetY\" (backdropClick)=\"close()\" (attach)=\"_onAttached()\" (detach)=\"close()\"><div #panel class=\"mat-select-panel {{ _getPanelTheme() }}\" [ngClass]=\"panelClass\" [@transformPanel]=\"multiple ? 'showing-multiple' : 'showing'\" (@transformPanel.done)=\"_panelDoneAnimatingStream.next($event.toState)\" [style.transformOrigin]=\"_transformOrigin\" [style.font-size.px]=\"_triggerFontSize\" (keydown)=\"_handleKeydown($event)\"><ng-content></ng-content></div></ng-template>",
1789
- styles: [".mat-select{display:inline-block;width:100%;outline:0}.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;-ms-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-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 .4s cubic-bezier(.25,.8,.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{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}@media screen and (-ms-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 .4s .133s cubic-bezier(.25,.8,.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}"],
1926
+ styles: [".mat-select{display:inline-block;width:100%;outline:0}.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;-ms-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 .4s cubic-bezier(.25,.8,.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{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}@media (-ms-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 .4s .133s cubic-bezier(.25,.8,.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}"],
1790
1927
  inputs: ['disabled', 'disableRipple', 'tabIndex'],
1791
1928
  encapsulation: core.ViewEncapsulation.None,
1792
1929
  changeDetection: core.ChangeDetectionStrategy.OnPush,
@@ -1834,7 +1971,8 @@ var MatSelect = /** @class */ (function (_super) {
1834
1971
  { type: formField.MatFormField, decorators: [{ type: core.Optional }] },
1835
1972
  { type: forms.NgControl, decorators: [{ type: core.Self }, { type: core.Optional }] },
1836
1973
  { type: String, decorators: [{ type: core.Attribute, args: ['tabindex',] }] },
1837
- { type: undefined, decorators: [{ type: core.Inject, args: [MAT_SELECT_SCROLL_STRATEGY,] }] }
1974
+ { type: undefined, decorators: [{ type: core.Inject, args: [MAT_SELECT_SCROLL_STRATEGY,] }] },
1975
+ { type: a11y.LiveAnnouncer }
1838
1976
  ]; };
1839
1977
  MatSelect.propDecorators = {
1840
1978
  trigger: [{ type: core.ViewChild, args: ['trigger',] }],
@@ -1866,7 +2004,7 @@ var MatSelect = /** @class */ (function (_super) {
1866
2004
 
1867
2005
  /**
1868
2006
  * @fileoverview added by tsickle
1869
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
2007
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1870
2008
  */
1871
2009
  var MatSelectModule = /** @class */ (function () {
1872
2010
  function MatSelectModule() {