@angular/material 8.0.0-beta.2 → 8.0.0

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 (599) hide show
  1. package/README.md +2 -2
  2. package/_theming.scss +18 -11
  3. package/autocomplete/typings/autocomplete-trigger.d.ts +13 -2
  4. package/autocomplete/typings/autocomplete.d.ts +3 -2
  5. package/autocomplete/typings/index.metadata.json +1 -1
  6. package/badge/typings/badge.d.ts +8 -2
  7. package/badge/typings/index.metadata.json +1 -1
  8. package/bundles/material-autocomplete.umd.js +196 -68
  9. package/bundles/material-autocomplete.umd.js.map +1 -1
  10. package/bundles/material-autocomplete.umd.min.js +1 -1
  11. package/bundles/material-autocomplete.umd.min.js.map +1 -1
  12. package/bundles/material-badge.umd.js +37 -9
  13. package/bundles/material-badge.umd.js.map +1 -1
  14. package/bundles/material-badge.umd.min.js +1 -1
  15. package/bundles/material-badge.umd.min.js.map +1 -1
  16. package/bundles/material-bottom-sheet.umd.js +72 -25
  17. package/bundles/material-bottom-sheet.umd.js.map +1 -1
  18. package/bundles/material-bottom-sheet.umd.min.js +1 -1
  19. package/bundles/material-bottom-sheet.umd.min.js.map +1 -1
  20. package/bundles/material-button-toggle.umd.js +97 -28
  21. package/bundles/material-button-toggle.umd.js.map +1 -1
  22. package/bundles/material-button-toggle.umd.min.js +1 -1
  23. package/bundles/material-button-toggle.umd.min.js.map +1 -1
  24. package/bundles/material-button.umd.js +11 -9
  25. package/bundles/material-button.umd.js.map +1 -1
  26. package/bundles/material-button.umd.min.js +1 -1
  27. package/bundles/material-button.umd.min.js.map +1 -1
  28. package/bundles/material-card.umd.js +2 -2
  29. package/bundles/material-card.umd.js.map +1 -1
  30. package/bundles/material-card.umd.min.js.map +1 -1
  31. package/bundles/material-checkbox.umd.js +69 -25
  32. package/bundles/material-checkbox.umd.js.map +1 -1
  33. package/bundles/material-checkbox.umd.min.js +1 -1
  34. package/bundles/material-checkbox.umd.min.js.map +1 -1
  35. package/bundles/material-chips.umd.js +229 -82
  36. package/bundles/material-chips.umd.js.map +1 -1
  37. package/bundles/material-chips.umd.min.js +1 -1
  38. package/bundles/material-chips.umd.min.js.map +1 -1
  39. package/bundles/material-core.umd.js +159 -75
  40. package/bundles/material-core.umd.js.map +1 -1
  41. package/bundles/material-core.umd.min.js +2 -1
  42. package/bundles/material-core.umd.min.js.map +1 -1
  43. package/bundles/material-datepicker.umd.js +157 -62
  44. package/bundles/material-datepicker.umd.js.map +1 -1
  45. package/bundles/material-datepicker.umd.min.js +2 -2
  46. package/bundles/material-datepicker.umd.min.js.map +1 -1
  47. package/bundles/material-dialog.umd.js +98 -33
  48. package/bundles/material-dialog.umd.js.map +1 -1
  49. package/bundles/material-dialog.umd.min.js +1 -1
  50. package/bundles/material-dialog.umd.min.js.map +1 -1
  51. package/bundles/material-divider.umd.js +2 -2
  52. package/bundles/material-divider.umd.js.map +1 -1
  53. package/bundles/material-divider.umd.min.js.map +1 -1
  54. package/bundles/material-expansion.umd.js +63 -23
  55. package/bundles/material-expansion.umd.js.map +1 -1
  56. package/bundles/material-expansion.umd.min.js +1 -1
  57. package/bundles/material-expansion.umd.min.js.map +1 -1
  58. package/bundles/material-form-field.umd.js +114 -42
  59. package/bundles/material-form-field.umd.js.map +1 -1
  60. package/bundles/material-form-field.umd.min.js +1 -1
  61. package/bundles/material-form-field.umd.min.js.map +1 -1
  62. package/bundles/material-grid-list.umd.js +42 -17
  63. package/bundles/material-grid-list.umd.js.map +1 -1
  64. package/bundles/material-grid-list.umd.min.js +1 -1
  65. package/bundles/material-grid-list.umd.min.js.map +1 -1
  66. package/bundles/material-icon.umd.js +101 -31
  67. package/bundles/material-icon.umd.js.map +1 -1
  68. package/bundles/material-icon.umd.min.js +1 -1
  69. package/bundles/material-icon.umd.min.js.map +1 -1
  70. package/bundles/material-input.umd.js +29 -16
  71. package/bundles/material-input.umd.js.map +1 -1
  72. package/bundles/material-input.umd.min.js +1 -1
  73. package/bundles/material-input.umd.min.js.map +1 -1
  74. package/bundles/material-list.umd.js +97 -38
  75. package/bundles/material-list.umd.js.map +1 -1
  76. package/bundles/material-list.umd.min.js +2 -2
  77. package/bundles/material-list.umd.min.js.map +1 -1
  78. package/bundles/material-menu.umd.js +308 -167
  79. package/bundles/material-menu.umd.js.map +1 -1
  80. package/bundles/material-menu.umd.min.js +1 -1
  81. package/bundles/material-menu.umd.min.js.map +1 -1
  82. package/bundles/material-paginator.umd.js +28 -12
  83. package/bundles/material-paginator.umd.js.map +1 -1
  84. package/bundles/material-paginator.umd.min.js +1 -1
  85. package/bundles/material-paginator.umd.min.js.map +1 -1
  86. package/bundles/material-progress-bar.umd.js +26 -16
  87. package/bundles/material-progress-bar.umd.js.map +1 -1
  88. package/bundles/material-progress-bar.umd.min.js +1 -1
  89. package/bundles/material-progress-bar.umd.min.js.map +1 -1
  90. package/bundles/material-progress-spinner.umd.js +10 -12
  91. package/bundles/material-progress-spinner.umd.js.map +1 -1
  92. package/bundles/material-progress-spinner.umd.min.js +1 -1
  93. package/bundles/material-progress-spinner.umd.min.js.map +1 -1
  94. package/bundles/material-radio.umd.js +77 -21
  95. package/bundles/material-radio.umd.js.map +1 -1
  96. package/bundles/material-radio.umd.min.js +1 -1
  97. package/bundles/material-radio.umd.min.js.map +1 -1
  98. package/bundles/material-select.umd.js +186 -57
  99. package/bundles/material-select.umd.js.map +1 -1
  100. package/bundles/material-select.umd.min.js +1 -1
  101. package/bundles/material-select.umd.min.js.map +1 -1
  102. package/bundles/material-sidenav.umd.js +323 -145
  103. package/bundles/material-sidenav.umd.js.map +1 -1
  104. package/bundles/material-sidenav.umd.min.js +1 -1
  105. package/bundles/material-sidenav.umd.min.js.map +1 -1
  106. package/bundles/material-slide-toggle.umd.js +49 -31
  107. package/bundles/material-slide-toggle.umd.js.map +1 -1
  108. package/bundles/material-slide-toggle.umd.min.js +1 -1
  109. package/bundles/material-slide-toggle.umd.min.js.map +1 -1
  110. package/bundles/material-slider.umd.js +26 -12
  111. package/bundles/material-slider.umd.js.map +1 -1
  112. package/bundles/material-slider.umd.min.js +1 -1
  113. package/bundles/material-slider.umd.min.js.map +1 -1
  114. package/bundles/material-snack-bar.umd.js +55 -23
  115. package/bundles/material-snack-bar.umd.js.map +1 -1
  116. package/bundles/material-snack-bar.umd.min.js +1 -1
  117. package/bundles/material-snack-bar.umd.min.js.map +1 -1
  118. package/bundles/material-sort.umd.js +20 -17
  119. package/bundles/material-sort.umd.js.map +1 -1
  120. package/bundles/material-sort.umd.min.js +1 -1
  121. package/bundles/material-sort.umd.min.js.map +1 -1
  122. package/bundles/material-stepper.umd.js +50 -16
  123. package/bundles/material-stepper.umd.js.map +1 -1
  124. package/bundles/material-stepper.umd.min.js +1 -1
  125. package/bundles/material-stepper.umd.min.js.map +1 -1
  126. package/bundles/material-table.umd.js +116 -26
  127. package/bundles/material-table.umd.js.map +1 -1
  128. package/bundles/material-table.umd.min.js +1 -1
  129. package/bundles/material-table.umd.min.js.map +1 -1
  130. package/bundles/material-tabs.umd.js +162 -77
  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 +22 -9
  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 +79 -25
  139. package/bundles/material-tooltip.umd.js.map +1 -1
  140. package/bundles/material-tooltip.umd.min.js.map +1 -1
  141. package/bundles/material-tree.umd.js +49 -28
  142. package/bundles/material-tree.umd.js.map +1 -1
  143. package/bundles/material-tree.umd.min.js +1 -1
  144. package/bundles/material-tree.umd.min.js.map +1 -1
  145. package/bundles/material.umd.js +3157 -1278
  146. package/bundles/material.umd.js.map +1 -1
  147. package/bundles/material.umd.min.js +19 -19
  148. package/bundles/material.umd.min.js.map +1 -1
  149. package/button/typings/button.d.ts +4 -3
  150. package/button/typings/index.metadata.json +1 -1
  151. package/button-toggle/typings/button-toggle.d.ts +7 -3
  152. package/button-toggle/typings/index.metadata.json +1 -1
  153. package/checkbox/typings/checkbox-module.d.ts +3 -0
  154. package/checkbox/typings/checkbox.d.ts +3 -2
  155. package/checkbox/typings/index.metadata.json +1 -1
  156. package/chips/typings/chip-list.d.ts +9 -2
  157. package/chips/typings/chip.d.ts +3 -2
  158. package/chips/typings/index.metadata.json +1 -1
  159. package/core/typings/index.metadata.json +1 -1
  160. package/core/typings/option/optgroup.d.ts +3 -2
  161. package/core/typings/public-api.d.ts +1 -0
  162. package/core/typings/ripple/ripple-renderer.d.ts +4 -4
  163. package/{typings/esm5 → core/typings}/version.d.ts +0 -0
  164. package/datepicker/typings/datepicker.d.ts +3 -2
  165. package/datepicker/typings/index.d.ts +0 -1
  166. package/datepicker/typings/index.metadata.json +1 -1
  167. package/datepicker/typings/public-api.d.ts +1 -0
  168. package/esm2015/autocomplete.js +187 -68
  169. package/esm2015/autocomplete.js.map +1 -1
  170. package/esm2015/badge.js +31 -10
  171. package/esm2015/badge.js.map +1 -1
  172. package/esm2015/bottom-sheet.js +75 -28
  173. package/esm2015/bottom-sheet.js.map +1 -1
  174. package/esm2015/button-toggle.js +89 -27
  175. package/esm2015/button-toggle.js.map +1 -1
  176. package/esm2015/button.js +13 -9
  177. package/esm2015/button.js.map +1 -1
  178. package/esm2015/card.js +4 -4
  179. package/esm2015/card.js.map +1 -1
  180. package/esm2015/checkbox.js +68 -25
  181. package/esm2015/checkbox.js.map +1 -1
  182. package/esm2015/chips.js +219 -79
  183. package/esm2015/chips.js.map +1 -1
  184. package/esm2015/core.js +160 -75
  185. package/esm2015/core.js.map +1 -1
  186. package/esm2015/datepicker.js +157 -62
  187. package/esm2015/datepicker.js.map +1 -1
  188. package/esm2015/dialog.js +99 -34
  189. package/esm2015/dialog.js.map +1 -1
  190. package/esm2015/divider.js +4 -4
  191. package/esm2015/divider.js.map +1 -1
  192. package/esm2015/expansion.js +65 -25
  193. package/esm2015/expansion.js.map +1 -1
  194. package/esm2015/form-field.js +108 -42
  195. package/esm2015/form-field.js.map +1 -1
  196. package/esm2015/grid-list.js +44 -19
  197. package/esm2015/grid-list.js.map +1 -1
  198. package/esm2015/icon.js +104 -32
  199. package/esm2015/icon.js.map +1 -1
  200. package/esm2015/input.js +31 -16
  201. package/esm2015/input.js.map +1 -1
  202. package/esm2015/list.js +96 -29
  203. package/esm2015/list.js.map +1 -1
  204. package/esm2015/material.js +28 -41
  205. package/esm2015/material.js.map +1 -1
  206. package/esm2015/menu.js +254 -131
  207. package/esm2015/menu.js.map +1 -1
  208. package/esm2015/paginator.js +31 -13
  209. package/esm2015/paginator.js.map +1 -1
  210. package/esm2015/progress-bar.js +28 -14
  211. package/esm2015/progress-bar.js.map +1 -1
  212. package/esm2015/progress-spinner.js +12 -12
  213. package/esm2015/progress-spinner.js.map +1 -1
  214. package/esm2015/radio.js +75 -22
  215. package/esm2015/radio.js.map +1 -1
  216. package/esm2015/select.js +188 -57
  217. package/esm2015/select.js.map +1 -1
  218. package/esm2015/sidenav.js +285 -136
  219. package/esm2015/sidenav.js.map +1 -1
  220. package/esm2015/slide-toggle.js +47 -29
  221. package/esm2015/slide-toggle.js.map +1 -1
  222. package/esm2015/slider.js +28 -12
  223. package/esm2015/slider.js.map +1 -1
  224. package/esm2015/snack-bar.js +58 -26
  225. package/esm2015/snack-bar.js.map +1 -1
  226. package/esm2015/sort.js +23 -16
  227. package/esm2015/sort.js.map +1 -1
  228. package/esm2015/stepper.js +47 -18
  229. package/esm2015/stepper.js.map +1 -1
  230. package/esm2015/table.js +120 -27
  231. package/esm2015/table.js.map +1 -1
  232. package/esm2015/tabs.js +160 -63
  233. package/esm2015/tabs.js.map +1 -1
  234. package/esm2015/toolbar.js +24 -9
  235. package/esm2015/toolbar.js.map +1 -1
  236. package/esm2015/tooltip.js +82 -28
  237. package/esm2015/tooltip.js.map +1 -1
  238. package/esm2015/tree.js +54 -31
  239. package/esm2015/tree.js.map +1 -1
  240. package/esm5/autocomplete.es5.js +199 -69
  241. package/esm5/autocomplete.es5.js.map +1 -1
  242. package/esm5/badge.es5.js +41 -11
  243. package/esm5/badge.es5.js.map +1 -1
  244. package/esm5/bottom-sheet.es5.js +75 -28
  245. package/esm5/bottom-sheet.es5.js.map +1 -1
  246. package/esm5/button-toggle.es5.js +100 -29
  247. package/esm5/button-toggle.es5.js.map +1 -1
  248. package/esm5/button.es5.js +14 -10
  249. package/esm5/button.es5.js.map +1 -1
  250. package/esm5/card.es5.js +4 -4
  251. package/esm5/card.es5.js.map +1 -1
  252. package/esm5/checkbox.es5.js +71 -26
  253. package/esm5/checkbox.es5.js.map +1 -1
  254. package/esm5/chips.es5.js +233 -82
  255. package/esm5/chips.es5.js.map +1 -1
  256. package/esm5/core.es5.js +162 -77
  257. package/esm5/core.es5.js.map +1 -1
  258. package/esm5/datepicker.es5.js +158 -63
  259. package/esm5/datepicker.es5.js.map +1 -1
  260. package/esm5/dialog.es5.js +100 -35
  261. package/esm5/dialog.es5.js.map +1 -1
  262. package/esm5/divider.es5.js +4 -4
  263. package/esm5/divider.es5.js.map +1 -1
  264. package/esm5/expansion.es5.js +65 -25
  265. package/esm5/expansion.es5.js.map +1 -1
  266. package/esm5/form-field.es5.js +117 -43
  267. package/esm5/form-field.es5.js.map +1 -1
  268. package/esm5/grid-list.es5.js +44 -19
  269. package/esm5/grid-list.es5.js.map +1 -1
  270. package/esm5/icon.es5.js +105 -33
  271. package/esm5/icon.es5.js.map +1 -1
  272. package/esm5/input.es5.js +32 -17
  273. package/esm5/input.es5.js.map +1 -1
  274. package/esm5/list.es5.js +100 -33
  275. package/esm5/list.es5.js.map +1 -1
  276. package/esm5/material.es5.js +28 -41
  277. package/esm5/material.es5.js.map +1 -1
  278. package/esm5/menu.es5.js +301 -161
  279. package/esm5/menu.es5.js.map +1 -1
  280. package/esm5/paginator.es5.js +32 -14
  281. package/esm5/paginator.es5.js.map +1 -1
  282. package/esm5/progress-bar.es5.js +29 -17
  283. package/esm5/progress-bar.es5.js.map +1 -1
  284. package/esm5/progress-spinner.es5.js +13 -13
  285. package/esm5/progress-spinner.es5.js.map +1 -1
  286. package/esm5/radio.es5.js +81 -23
  287. package/esm5/radio.es5.js.map +1 -1
  288. package/esm5/select.es5.js +189 -58
  289. package/esm5/select.es5.js.map +1 -1
  290. package/esm5/sidenav.es5.js +326 -148
  291. package/esm5/sidenav.es5.js.map +1 -1
  292. package/esm5/slide-toggle.es5.js +48 -29
  293. package/esm5/slide-toggle.es5.js.map +1 -1
  294. package/esm5/slider.es5.js +29 -13
  295. package/esm5/slider.es5.js.map +1 -1
  296. package/esm5/snack-bar.es5.js +58 -26
  297. package/esm5/snack-bar.es5.js.map +1 -1
  298. package/esm5/sort.es5.js +25 -18
  299. package/esm5/sort.es5.js.map +1 -1
  300. package/esm5/stepper.es5.js +53 -19
  301. package/esm5/stepper.es5.js.map +1 -1
  302. package/esm5/table.es5.js +119 -30
  303. package/esm5/table.es5.js.map +1 -1
  304. package/esm5/tabs.es5.js +165 -68
  305. package/esm5/tabs.es5.js.map +1 -1
  306. package/esm5/toolbar.es5.js +25 -10
  307. package/esm5/toolbar.es5.js.map +1 -1
  308. package/esm5/tooltip.es5.js +81 -27
  309. package/esm5/tooltip.es5.js.map +1 -1
  310. package/esm5/tree.es5.js +52 -29
  311. package/esm5/tree.es5.js.map +1 -1
  312. package/form-field/typings/form-field.d.ts +9 -3
  313. package/form-field/typings/index.metadata.json +1 -1
  314. package/grid-list/typings/index.d.ts +1 -1
  315. package/grid-list/typings/index.metadata.json +1 -1
  316. package/icon/typings/icon.d.ts +3 -2
  317. package/icon/typings/index.metadata.json +1 -1
  318. package/input/typings/index.metadata.json +1 -1
  319. package/input/typings/input.d.ts +3 -2
  320. package/list/typings/index.metadata.json +1 -1
  321. package/list/typings/list.d.ts +5 -4
  322. package/list/typings/selection-list.d.ts +7 -4
  323. package/material.d.ts +1 -1
  324. package/material.metadata.json +3 -3
  325. package/menu/typings/index.d.ts +2 -4
  326. package/menu/typings/index.metadata.json +1 -1
  327. package/menu/typings/menu-item.d.ts +3 -2
  328. package/menu/typings/menu-module.d.ts +6 -0
  329. package/menu/typings/menu-trigger.d.ts +1 -3
  330. package/menu/typings/menu.d.ts +158 -5
  331. package/menu/typings/public-api.d.ts +5 -2
  332. package/package.json +11 -11
  333. package/paginator/typings/index.metadata.json +1 -1
  334. package/paginator/typings/paginator.d.ts +3 -2
  335. package/prebuilt-themes/deeppurple-amber.css +1 -1
  336. package/prebuilt-themes/indigo-pink.css +1 -1
  337. package/prebuilt-themes/pink-bluegrey.css +1 -1
  338. package/prebuilt-themes/purple-green.css +1 -1
  339. package/progress-bar/typings/index.metadata.json +1 -1
  340. package/progress-bar/typings/progress-bar.d.ts +8 -7
  341. package/progress-spinner/typings/index.metadata.json +1 -1
  342. package/progress-spinner/typings/progress-spinner.d.ts +5 -4
  343. package/radio/typings/index.metadata.json +1 -1
  344. package/radio/typings/radio.d.ts +10 -4
  345. package/schematics/ng-add/fonts/material-fonts.js.map +1 -1
  346. package/schematics/ng-add/fonts/project-index-html.d.ts +1 -1
  347. package/schematics/ng-add/fonts/project-index-html.js.map +1 -1
  348. package/schematics/ng-add/gestures/hammerjs-import.js.map +1 -1
  349. package/schematics/ng-add/index.js.map +1 -1
  350. package/schematics/ng-add/package-config.js.map +1 -1
  351. package/schematics/ng-add/schema.js.map +1 -1
  352. package/schematics/ng-add/setup-project.js.map +1 -1
  353. package/schematics/ng-add/theming/create-custom-theme.js.map +1 -1
  354. package/schematics/ng-add/theming/theming.js +1 -1
  355. package/schematics/ng-add/theming/theming.js.map +1 -1
  356. package/schematics/ng-add/version-names.d.ts +1 -1
  357. package/schematics/ng-add/version-names.js +1 -1
  358. package/schematics/ng-add/version-names.js.map +1 -1
  359. package/schematics/ng-generate/address-form/index.js.map +1 -1
  360. package/schematics/ng-generate/address-form/schema.js.map +1 -1
  361. package/schematics/ng-generate/dashboard/index.js.map +1 -1
  362. package/schematics/ng-generate/dashboard/schema.js.map +1 -1
  363. package/schematics/ng-generate/nav/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +2 -2
  364. package/schematics/ng-generate/nav/index.js.map +1 -1
  365. package/schematics/ng-generate/nav/schema.js.map +1 -1
  366. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__-datasource.ts +3 -4
  367. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +2 -2
  368. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +11 -4
  369. package/schematics/ng-generate/table/index.js.map +1 -1
  370. package/schematics/ng-generate/table/schema.js.map +1 -1
  371. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/example-data.ts +1 -1
  372. package/schematics/ng-generate/tree/index.js.map +1 -1
  373. package/schematics/ng-generate/tree/schema.js.map +1 -1
  374. package/schematics/ng-update/data/attribute-selectors.js.map +1 -1
  375. package/schematics/ng-update/data/class-names.js +1 -1
  376. package/schematics/ng-update/data/class-names.js.map +1 -1
  377. package/schematics/ng-update/data/constructor-checks.js +22 -14
  378. package/schematics/ng-update/data/constructor-checks.js.map +1 -1
  379. package/schematics/ng-update/data/css-selectors.js +2 -2
  380. package/schematics/ng-update/data/css-selectors.js.map +1 -1
  381. package/schematics/ng-update/data/element-selectors.js +1 -1
  382. package/schematics/ng-update/data/element-selectors.js.map +1 -1
  383. package/schematics/ng-update/data/index.js.map +1 -1
  384. package/schematics/ng-update/data/input-names.js +7 -7
  385. package/schematics/ng-update/data/input-names.js.map +1 -1
  386. package/schematics/ng-update/data/method-call-checks.js.map +1 -1
  387. package/schematics/ng-update/data/output-names.js +4 -4
  388. package/schematics/ng-update/data/output-names.js.map +1 -1
  389. package/schematics/ng-update/data/property-names.js +11 -11
  390. package/schematics/ng-update/data/property-names.js.map +1 -1
  391. package/schematics/ng-update/index.js.map +1 -1
  392. package/schematics/ng-update/typescript/module-specifiers.js.map +1 -1
  393. package/schematics/ng-update/upgrade-data.js.map +1 -1
  394. package/schematics/ng-update/upgrade-rules/misc-checks/checkClassInheritanceMiscRule.js.map +1 -1
  395. package/schematics/ng-update/upgrade-rules/misc-checks/checkClassNamesMiscRule.js.map +1 -1
  396. package/schematics/ng-update/upgrade-rules/misc-checks/checkImportsMiscRule.d.ts +1 -1
  397. package/schematics/ng-update/upgrade-rules/misc-checks/checkImportsMiscRule.js +1 -1
  398. package/schematics/ng-update/upgrade-rules/misc-checks/checkImportsMiscRule.js.map +1 -1
  399. package/schematics/ng-update/upgrade-rules/misc-checks/checkPropertyNamesMiscRule.js.map +1 -1
  400. package/schematics/ng-update/upgrade-rules/misc-checks/checkTemplateMiscRule.js.map +1 -1
  401. package/schematics/ng-update/upgrade-rules/misc-ripples-v7/ripple-speed-factor.js.map +1 -1
  402. package/schematics/ng-update/upgrade-rules/misc-ripples-v7/rippleSpeedFactorAssignmentRule.js.map +1 -1
  403. package/schematics/ng-update/upgrade-rules/misc-ripples-v7/rippleSpeedFactorTemplateRule.js.map +1 -1
  404. package/schematics/ng-update/upgrade-rules/package-imports-v8/updateAngularMaterialImportsRule.js +21 -10
  405. package/schematics/ng-update/upgrade-rules/package-imports-v8/updateAngularMaterialImportsRule.js.map +1 -1
  406. package/select/typings/index.metadata.json +1 -1
  407. package/select/typings/select.d.ts +3 -2
  408. package/sidenav/typings/drawer.d.ts +8 -11
  409. package/sidenav/typings/index.metadata.json +1 -1
  410. package/slide-toggle/typings/index.metadata.json +1 -1
  411. package/slide-toggle/typings/slide-toggle.d.ts +6 -11
  412. package/slider/typings/index.metadata.json +1 -1
  413. package/slider/typings/slider.d.ts +3 -2
  414. package/sort/typings/index.metadata.json +1 -1
  415. package/sort/typings/sort-header.d.ts +2 -2
  416. package/sort/typings/sort.d.ts +3 -2
  417. package/stepper/typings/index.metadata.json +1 -1
  418. package/stepper/typings/step-header.d.ts +2 -0
  419. package/table/typings/index.metadata.json +1 -1
  420. package/table/typings/public-api.d.ts +1 -0
  421. package/table/typings/text-column.d.ts +19 -0
  422. package/tabs/typings/index.d.ts +1 -5
  423. package/tabs/typings/index.metadata.json +1 -1
  424. package/tabs/typings/tab-group.d.ts +3 -2
  425. package/tabs/typings/tab-header.d.ts +3 -2
  426. package/tabs/typings/tab-label-wrapper.d.ts +3 -2
  427. package/tabs/typings/tab-nav-bar/tab-nav-bar.d.ts +5 -4
  428. package/tabs/typings/tab.d.ts +3 -2
  429. package/toolbar/typings/index.metadata.json +1 -1
  430. package/toolbar/typings/toolbar.d.ts +3 -2
  431. package/tree/typings/data-source/flat-data-source.d.ts +3 -3
  432. package/tree/typings/index.metadata.json +1 -1
  433. package/tree/typings/node.d.ts +3 -2
  434. package/typings/autocomplete/autocomplete-trigger.d.ts +13 -2
  435. package/typings/autocomplete/autocomplete.d.ts +3 -2
  436. package/typings/autocomplete/index.metadata.json +1 -1
  437. package/typings/badge/badge.d.ts +8 -2
  438. package/typings/badge/index.metadata.json +1 -1
  439. package/typings/button/button.d.ts +4 -3
  440. package/typings/button/index.metadata.json +1 -1
  441. package/typings/button-toggle/button-toggle.d.ts +7 -3
  442. package/typings/button-toggle/index.metadata.json +1 -1
  443. package/typings/checkbox/checkbox-module.d.ts +3 -0
  444. package/typings/checkbox/checkbox.d.ts +3 -2
  445. package/typings/checkbox/index.metadata.json +1 -1
  446. package/typings/chips/chip-list.d.ts +9 -2
  447. package/typings/chips/chip.d.ts +3 -2
  448. package/typings/chips/index.metadata.json +1 -1
  449. package/typings/core/index.metadata.json +1 -1
  450. package/typings/core/option/optgroup.d.ts +3 -2
  451. package/typings/core/public-api.d.ts +1 -0
  452. package/typings/core/ripple/ripple-renderer.d.ts +4 -4
  453. package/typings/{version.d.ts → core/version.d.ts} +0 -0
  454. package/typings/datepicker/datepicker.d.ts +3 -2
  455. package/typings/datepicker/index.d.ts +0 -1
  456. package/typings/datepicker/index.metadata.json +1 -1
  457. package/typings/datepicker/public-api.d.ts +1 -0
  458. package/typings/esm5/autocomplete/autocomplete-trigger.d.ts +13 -2
  459. package/typings/esm5/autocomplete/autocomplete.d.ts +3 -2
  460. package/typings/esm5/autocomplete/index.metadata.json +1 -1
  461. package/typings/esm5/badge/badge.d.ts +8 -2
  462. package/typings/esm5/badge/index.metadata.json +1 -1
  463. package/typings/esm5/button/button.d.ts +4 -3
  464. package/typings/esm5/button/index.metadata.json +1 -1
  465. package/typings/esm5/button-toggle/button-toggle.d.ts +7 -3
  466. package/typings/esm5/button-toggle/index.metadata.json +1 -1
  467. package/typings/esm5/checkbox/checkbox-module.d.ts +3 -0
  468. package/typings/esm5/checkbox/checkbox.d.ts +3 -2
  469. package/typings/esm5/checkbox/index.metadata.json +1 -1
  470. package/typings/esm5/chips/chip-list.d.ts +9 -2
  471. package/typings/esm5/chips/chip.d.ts +3 -2
  472. package/typings/esm5/chips/index.metadata.json +1 -1
  473. package/typings/esm5/core/index.metadata.json +1 -1
  474. package/typings/esm5/core/option/optgroup.d.ts +3 -2
  475. package/typings/esm5/core/public-api.d.ts +1 -0
  476. package/typings/esm5/core/ripple/ripple-renderer.d.ts +4 -4
  477. package/typings/esm5/core/version.d.ts +10 -0
  478. package/typings/esm5/datepicker/datepicker.d.ts +3 -2
  479. package/typings/esm5/datepicker/index.d.ts +0 -1
  480. package/typings/esm5/datepicker/index.metadata.json +1 -1
  481. package/typings/esm5/datepicker/public-api.d.ts +1 -0
  482. package/typings/esm5/form-field/form-field.d.ts +9 -3
  483. package/typings/esm5/form-field/index.metadata.json +1 -1
  484. package/typings/esm5/grid-list/index.d.ts +1 -1
  485. package/typings/esm5/grid-list/index.metadata.json +1 -1
  486. package/typings/esm5/icon/icon.d.ts +3 -2
  487. package/typings/esm5/icon/index.metadata.json +1 -1
  488. package/typings/esm5/index.metadata.json +1 -1
  489. package/typings/esm5/input/index.metadata.json +1 -1
  490. package/typings/esm5/input/input.d.ts +3 -2
  491. package/typings/esm5/list/index.metadata.json +1 -1
  492. package/typings/esm5/list/list.d.ts +5 -4
  493. package/typings/esm5/list/selection-list.d.ts +7 -4
  494. package/typings/esm5/menu/index.d.ts +2 -4
  495. package/typings/esm5/menu/index.metadata.json +1 -1
  496. package/typings/esm5/menu/menu-item.d.ts +3 -2
  497. package/typings/esm5/menu/menu-module.d.ts +6 -0
  498. package/typings/esm5/menu/menu-trigger.d.ts +1 -3
  499. package/typings/esm5/menu/menu.d.ts +158 -5
  500. package/typings/esm5/menu/public-api.d.ts +5 -2
  501. package/typings/esm5/paginator/index.metadata.json +1 -1
  502. package/typings/esm5/paginator/paginator.d.ts +3 -2
  503. package/typings/esm5/progress-bar/index.metadata.json +1 -1
  504. package/typings/esm5/progress-bar/progress-bar.d.ts +8 -7
  505. package/typings/esm5/progress-spinner/index.metadata.json +1 -1
  506. package/typings/esm5/progress-spinner/progress-spinner.d.ts +5 -4
  507. package/typings/esm5/public-api.d.ts +0 -1
  508. package/typings/esm5/radio/index.metadata.json +1 -1
  509. package/typings/esm5/radio/radio.d.ts +10 -4
  510. package/typings/esm5/select/index.metadata.json +1 -1
  511. package/typings/esm5/select/select.d.ts +3 -2
  512. package/typings/esm5/sidenav/drawer.d.ts +8 -11
  513. package/typings/esm5/sidenav/index.metadata.json +1 -1
  514. package/typings/esm5/slide-toggle/index.metadata.json +1 -1
  515. package/typings/esm5/slide-toggle/slide-toggle.d.ts +6 -11
  516. package/typings/esm5/slider/index.metadata.json +1 -1
  517. package/typings/esm5/slider/slider.d.ts +3 -2
  518. package/typings/esm5/sort/index.metadata.json +1 -1
  519. package/typings/esm5/sort/sort-header.d.ts +2 -2
  520. package/typings/esm5/sort/sort.d.ts +3 -2
  521. package/typings/esm5/stepper/index.metadata.json +1 -1
  522. package/typings/esm5/stepper/step-header.d.ts +2 -0
  523. package/typings/esm5/table/index.metadata.json +1 -1
  524. package/typings/esm5/table/public-api.d.ts +1 -0
  525. package/typings/esm5/table/text-column.d.ts +19 -0
  526. package/typings/esm5/tabs/index.d.ts +1 -5
  527. package/typings/esm5/tabs/index.metadata.json +1 -1
  528. package/typings/esm5/tabs/tab-group.d.ts +3 -2
  529. package/typings/esm5/tabs/tab-header.d.ts +3 -2
  530. package/typings/esm5/tabs/tab-label-wrapper.d.ts +3 -2
  531. package/typings/esm5/tabs/tab-nav-bar/tab-nav-bar.d.ts +5 -4
  532. package/typings/esm5/tabs/tab.d.ts +3 -2
  533. package/typings/esm5/toolbar/index.metadata.json +1 -1
  534. package/typings/esm5/toolbar/toolbar.d.ts +3 -2
  535. package/typings/esm5/tree/data-source/flat-data-source.d.ts +3 -3
  536. package/typings/esm5/tree/index.metadata.json +1 -1
  537. package/typings/esm5/tree/node.d.ts +3 -2
  538. package/typings/form-field/form-field.d.ts +9 -3
  539. package/typings/form-field/index.metadata.json +1 -1
  540. package/typings/grid-list/index.d.ts +1 -1
  541. package/typings/grid-list/index.metadata.json +1 -1
  542. package/typings/icon/icon.d.ts +3 -2
  543. package/typings/icon/index.metadata.json +1 -1
  544. package/typings/index.metadata.json +1 -1
  545. package/typings/input/index.metadata.json +1 -1
  546. package/typings/input/input.d.ts +3 -2
  547. package/typings/list/index.metadata.json +1 -1
  548. package/typings/list/list.d.ts +5 -4
  549. package/typings/list/selection-list.d.ts +7 -4
  550. package/typings/menu/index.d.ts +2 -4
  551. package/typings/menu/index.metadata.json +1 -1
  552. package/typings/menu/menu-item.d.ts +3 -2
  553. package/typings/menu/menu-module.d.ts +6 -0
  554. package/typings/menu/menu-trigger.d.ts +1 -3
  555. package/typings/menu/menu.d.ts +158 -5
  556. package/typings/menu/public-api.d.ts +5 -2
  557. package/typings/paginator/index.metadata.json +1 -1
  558. package/typings/paginator/paginator.d.ts +3 -2
  559. package/typings/progress-bar/index.metadata.json +1 -1
  560. package/typings/progress-bar/progress-bar.d.ts +8 -7
  561. package/typings/progress-spinner/index.metadata.json +1 -1
  562. package/typings/progress-spinner/progress-spinner.d.ts +5 -4
  563. package/typings/public-api.d.ts +0 -1
  564. package/typings/radio/index.metadata.json +1 -1
  565. package/typings/radio/radio.d.ts +10 -4
  566. package/typings/schematics/ng-add/fonts/project-index-html.d.ts +1 -1
  567. package/typings/schematics/ng-add/version-names.d.ts +1 -1
  568. package/typings/schematics/ng-update/upgrade-rules/misc-checks/checkImportsMiscRule.d.ts +1 -1
  569. package/typings/select/index.metadata.json +1 -1
  570. package/typings/select/select.d.ts +3 -2
  571. package/typings/sidenav/drawer.d.ts +8 -11
  572. package/typings/sidenav/index.metadata.json +1 -1
  573. package/typings/slide-toggle/index.metadata.json +1 -1
  574. package/typings/slide-toggle/slide-toggle.d.ts +6 -11
  575. package/typings/slider/index.metadata.json +1 -1
  576. package/typings/slider/slider.d.ts +3 -2
  577. package/typings/sort/index.metadata.json +1 -1
  578. package/typings/sort/sort-header.d.ts +2 -2
  579. package/typings/sort/sort.d.ts +3 -2
  580. package/typings/stepper/index.metadata.json +1 -1
  581. package/typings/stepper/step-header.d.ts +2 -0
  582. package/typings/table/index.metadata.json +1 -1
  583. package/typings/table/public-api.d.ts +1 -0
  584. package/typings/table/text-column.d.ts +19 -0
  585. package/typings/tabs/index.d.ts +1 -5
  586. package/typings/tabs/index.metadata.json +1 -1
  587. package/typings/tabs/tab-group.d.ts +3 -2
  588. package/typings/tabs/tab-header.d.ts +3 -2
  589. package/typings/tabs/tab-label-wrapper.d.ts +3 -2
  590. package/typings/tabs/tab-nav-bar/tab-nav-bar.d.ts +5 -4
  591. package/typings/tabs/tab.d.ts +3 -2
  592. package/typings/toolbar/index.metadata.json +1 -1
  593. package/typings/toolbar/toolbar.d.ts +3 -2
  594. package/typings/tree/data-source/flat-data-source.d.ts +3 -3
  595. package/typings/tree/index.metadata.json +1 -1
  596. package/typings/tree/node.d.ts +3 -2
  597. package/menu/typings/menu-directive.d.ts +0 -159
  598. package/typings/esm5/menu/menu-directive.d.ts +0 -159
  599. package/typings/menu/menu-directive.d.ts +0 -159
@@ -42,7 +42,7 @@ function __extends(d, b) {
42
42
 
43
43
  /**
44
44
  * @fileoverview added by tsickle
45
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
45
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
46
46
  */
47
47
  /**
48
48
  * Autocomplete IDs need to be unique across components, so this counter exists outside of
@@ -67,7 +67,7 @@ MatAutocompleteSelectedEvent = /** @class */ (function () {
67
67
  /**
68
68
  * \@docs-private
69
69
  */
70
- var
70
+ var
71
71
  // Boilerplate for applying mixins to MatAutocomplete.
72
72
  /**
73
73
  * \@docs-private
@@ -173,10 +173,15 @@ var MatAutocomplete = /** @class */ (function (_super) {
173
173
  */
174
174
  function (value) {
175
175
  if (value && value.length) {
176
- this._classList = value.split(' ').reduce(function (classList, className) {
176
+ this._classList = value.split(' ').reduce((/**
177
+ * @param {?} classList
178
+ * @param {?} className
179
+ * @return {?}
180
+ */
181
+ function (classList, className) {
177
182
  classList[className.trim()] = true;
178
183
  return classList;
179
- }, (/** @type {?} */ ({})));
184
+ }), (/** @type {?} */ ({})));
180
185
  }
181
186
  else {
182
187
  this._classList = {};
@@ -301,8 +306,8 @@ var MatAutocomplete = /** @class */ (function (_super) {
301
306
  { type: undefined, decorators: [{ type: core.Inject, args: [MAT_AUTOCOMPLETE_DEFAULT_OPTIONS,] }] }
302
307
  ]; };
303
308
  MatAutocomplete.propDecorators = {
304
- template: [{ type: core.ViewChild, args: [core.TemplateRef,] }],
305
- panel: [{ type: core.ViewChild, args: ['panel',] }],
309
+ template: [{ type: core.ViewChild, args: [core.TemplateRef, { static: true },] }],
310
+ panel: [{ type: core.ViewChild, args: ['panel', { static: false },] }],
306
311
  options: [{ type: core.ContentChildren, args: [core$1.MatOption, { descendants: true },] }],
307
312
  optionGroups: [{ type: core.ContentChildren, args: [core$1.MatOptgroup,] }],
308
313
  displayWith: [{ type: core.Input }],
@@ -318,7 +323,7 @@ var MatAutocomplete = /** @class */ (function (_super) {
318
323
 
319
324
  /**
320
325
  * @fileoverview added by tsickle
321
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
326
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
322
327
  */
323
328
  /**
324
329
  * Directive applied to an element to make it usable
@@ -343,7 +348,7 @@ var MatAutocompleteOrigin = /** @class */ (function () {
343
348
 
344
349
  /**
345
350
  * @fileoverview added by tsickle
346
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
351
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
347
352
  */
348
353
  /**
349
354
  * The height of each autocomplete option.
@@ -366,7 +371,10 @@ var MAT_AUTOCOMPLETE_SCROLL_STRATEGY = new core.InjectionToken('mat-autocomplete
366
371
  * @return {?}
367
372
  */
368
373
  function MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY(overlay$$1) {
369
- return function () { return overlay$$1.scrollStrategies.reposition(); };
374
+ return (/**
375
+ * @return {?}
376
+ */
377
+ function () { return overlay$$1.scrollStrategies.reposition(); });
370
378
  }
371
379
  /**
372
380
  * \@docs-private
@@ -384,7 +392,10 @@ var MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER = {
384
392
  */
385
393
  var MAT_AUTOCOMPLETE_VALUE_ACCESSOR = {
386
394
  provide: forms.NG_VALUE_ACCESSOR,
387
- useExisting: core.forwardRef(function () { return MatAutocompleteTrigger; }),
395
+ useExisting: core.forwardRef((/**
396
+ * @return {?}
397
+ */
398
+ function () { return MatAutocompleteTrigger; })),
388
399
  multi: true
389
400
  };
390
401
  /**
@@ -433,21 +444,38 @@ var MatAutocompleteTrigger = /** @class */ (function () {
433
444
  * Event handler for when the window is blurred. Needs to be an
434
445
  * arrow function in order to preserve the context.
435
446
  */
436
- this._windowBlurHandler = function () {
447
+ this._windowBlurHandler = (/**
448
+ * @return {?}
449
+ */
450
+ function () {
437
451
  // If the user blurred the window while the autocomplete is focused, it means that it'll be
438
452
  // refocused when they come back. In this case we want to skip the first focus event, if the
439
453
  // pane was closed, in order to avoid reopening it unintentionally.
440
454
  _this._canOpenOnNextFocus =
441
- document.activeElement !== _this._element.nativeElement || _this.panelOpen;
442
- };
455
+ _this._document.activeElement !== _this._element.nativeElement || _this.panelOpen;
456
+ });
443
457
  /**
444
458
  * `View -> model callback called when value changes`
445
459
  */
446
- this._onChange = function () { };
460
+ this._onChange = (/**
461
+ * @return {?}
462
+ */
463
+ function () { });
447
464
  /**
448
465
  * `View -> model callback called when autocomplete has been touched`
449
466
  */
450
- this._onTouched = function () { };
467
+ this._onTouched = (/**
468
+ * @return {?}
469
+ */
470
+ function () { });
471
+ /**
472
+ * Position of the autocomplete panel relative to the trigger element. A position of `auto`
473
+ * will render the panel underneath the trigger if there is enough space for it to fit in
474
+ * the viewport, otherwise the panel will be shown above it. If the position is set to
475
+ * `above` or `below`, the panel will always be shown above or below the trigger. no matter
476
+ * whether it fits completely in the viewport.
477
+ */
478
+ this.position = 'auto';
451
479
  /**
452
480
  * `autocomplete` attribute to be set on the input element.
453
481
  * \@docs-private
@@ -457,20 +485,33 @@ var MatAutocompleteTrigger = /** @class */ (function () {
457
485
  /**
458
486
  * Stream of autocomplete option selections.
459
487
  */
460
- this.optionSelections = (/** @type {?} */ (rxjs.defer(function () {
488
+ this.optionSelections = (/** @type {?} */ (rxjs.defer((/**
489
+ * @return {?}
490
+ */
491
+ function () {
461
492
  if (_this.autocomplete && _this.autocomplete.options) {
462
- return rxjs.merge.apply(void 0, _this.autocomplete.options.map(function (option) { return option.onSelectionChange; }));
493
+ return rxjs.merge.apply(void 0, _this.autocomplete.options.map((/**
494
+ * @param {?} option
495
+ * @return {?}
496
+ */
497
+ function (option) { return option.onSelectionChange; })));
463
498
  }
464
499
  // If there are any subscribers before `ngAfterViewInit`, the `autocomplete` will be undefined.
465
500
  // Return a stream that we'll replace with the real one once everything is in place.
466
501
  return _this._zone.onStable
467
502
  .asObservable()
468
- .pipe(operators.take(1), operators.switchMap(function () { return _this.optionSelections; }));
469
- })));
503
+ .pipe(operators.take(1), operators.switchMap((/**
504
+ * @return {?}
505
+ */
506
+ function () { return _this.optionSelections; })));
507
+ }))));
470
508
  if (typeof window !== 'undefined') {
471
- _zone.runOutsideAngular(function () {
509
+ _zone.runOutsideAngular((/**
510
+ * @return {?}
511
+ */
512
+ function () {
472
513
  window.addEventListener('blur', _this._windowBlurHandler);
473
- });
514
+ }));
474
515
  }
475
516
  this._scrollStrategy = scrollStrategy;
476
517
  }
@@ -495,6 +536,22 @@ var MatAutocompleteTrigger = /** @class */ (function () {
495
536
  enumerable: true,
496
537
  configurable: true
497
538
  });
539
+ /**
540
+ * @param {?} changes
541
+ * @return {?}
542
+ */
543
+ MatAutocompleteTrigger.prototype.ngOnChanges = /**
544
+ * @param {?} changes
545
+ * @return {?}
546
+ */
547
+ function (changes) {
548
+ if (changes['position'] && this._positionStrategy) {
549
+ this._setStrategyPositions(this._positionStrategy);
550
+ if (this.panelOpen) {
551
+ (/** @type {?} */ (this._overlayRef)).updatePosition();
552
+ }
553
+ }
554
+ };
498
555
  /**
499
556
  * @return {?}
500
557
  */
@@ -599,11 +656,21 @@ var MatAutocompleteTrigger = /** @class */ (function () {
599
656
  */
600
657
  function () {
601
658
  var _this = this;
602
- return rxjs.merge(this.optionSelections, this.autocomplete._keyManager.tabOut.pipe(operators.filter(function () { return _this._overlayAttached; })), this._closeKeyEventStream, this._getOutsideClickStream(), this._overlayRef ?
603
- this._overlayRef.detachments().pipe(operators.filter(function () { return _this._overlayAttached; })) :
659
+ return rxjs.merge(this.optionSelections, this.autocomplete._keyManager.tabOut.pipe(operators.filter((/**
660
+ * @return {?}
661
+ */
662
+ function () { return _this._overlayAttached; }))), this._closeKeyEventStream, this._getOutsideClickStream(), this._overlayRef ?
663
+ this._overlayRef.detachments().pipe(operators.filter((/**
664
+ * @return {?}
665
+ */
666
+ function () { return _this._overlayAttached; }))) :
604
667
  rxjs.of()).pipe(
605
668
  // Normalize the output so we return a consistent type.
606
- operators.map(function (event) { return event instanceof core$1.MatOptionSelectionChange ? event : null; }));
669
+ operators.map((/**
670
+ * @param {?} event
671
+ * @return {?}
672
+ */
673
+ function (event) { return event instanceof core$1.MatOptionSelectionChange ? event : null; })));
607
674
  },
608
675
  enumerable: true,
609
676
  configurable: true
@@ -636,11 +703,12 @@ var MatAutocompleteTrigger = /** @class */ (function () {
636
703
  */
637
704
  function () {
638
705
  var _this = this;
639
- if (!this._document) {
640
- return rxjs.of(null);
641
- }
642
706
  return rxjs.merge((/** @type {?} */ (rxjs.fromEvent(this._document, 'click'))), (/** @type {?} */ (rxjs.fromEvent(this._document, 'touchend'))))
643
- .pipe(operators.filter(function (event) {
707
+ .pipe(operators.filter((/**
708
+ * @param {?} event
709
+ * @return {?}
710
+ */
711
+ function (event) {
644
712
  /** @type {?} */
645
713
  var clickTarget = (/** @type {?} */ (event.target));
646
714
  /** @type {?} */
@@ -650,7 +718,7 @@ var MatAutocompleteTrigger = /** @class */ (function () {
650
718
  clickTarget !== _this._element.nativeElement &&
651
719
  (!formField$$1 || !formField$$1.contains(clickTarget)) &&
652
720
  (!!_this._overlayRef && !_this._overlayRef.overlayElement.contains(clickTarget));
653
- }));
721
+ })));
654
722
  };
655
723
  // Implemented as part of ControlValueAccessor.
656
724
  // Implemented as part of ControlValueAccessor.
@@ -666,7 +734,10 @@ var MatAutocompleteTrigger = /** @class */ (function () {
666
734
  */
667
735
  function (value) {
668
736
  var _this = this;
669
- Promise.resolve(null).then(function () { return _this._setTriggerValue(value); });
737
+ Promise.resolve(null).then((/**
738
+ * @return {?}
739
+ */
740
+ function () { return _this._setTriggerValue(value); }));
670
741
  };
671
742
  // Implemented as part of ControlValueAccessor.
672
743
  // Implemented as part of ControlValueAccessor.
@@ -777,7 +848,7 @@ var MatAutocompleteTrigger = /** @class */ (function () {
777
848
  if (this._previousValue !== value) {
778
849
  this._previousValue = value;
779
850
  this._onChange(value);
780
- if (this._canOpen() && document.activeElement === event.target) {
851
+ if (this._canOpen() && this._document.activeElement === event.target) {
781
852
  this.openPanel();
782
853
  }
783
854
  }
@@ -910,7 +981,10 @@ var MatAutocompleteTrigger = /** @class */ (function () {
910
981
  /** @type {?} */
911
982
  var firstStable = this._zone.onStable.asObservable().pipe(operators.take(1));
912
983
  /** @type {?} */
913
- var optionChanges = this.autocomplete.options.changes.pipe(operators.tap(function () { return _this._positionStrategy.reapplyLastPosition(); }),
984
+ var optionChanges = this.autocomplete.options.changes.pipe(operators.tap((/**
985
+ * @return {?}
986
+ */
987
+ function () { return _this._positionStrategy.reapplyLastPosition(); })),
914
988
  // Defer emitting to the stream until the next tick, because changing
915
989
  // bindings in here will cause "changed after checked" errors.
916
990
  operators.delay(0));
@@ -919,18 +993,34 @@ var MatAutocompleteTrigger = /** @class */ (function () {
919
993
  .pipe(
920
994
  // create a new stream of panelClosingActions, replacing any previous streams
921
995
  // that were created, and flatten it so our stream only emits closing events...
922
- operators.switchMap(function () {
996
+ operators.switchMap((/**
997
+ * @return {?}
998
+ */
999
+ function () {
1000
+ /** @type {?} */
1001
+ var wasOpen = _this.panelOpen;
923
1002
  _this._resetActiveItem();
924
1003
  _this.autocomplete._setVisibility();
925
1004
  if (_this.panelOpen) {
926
1005
  (/** @type {?} */ (_this._overlayRef)).updatePosition();
1006
+ // If the `panelOpen` state changed, we need to make sure to emit the `opened`
1007
+ // event, because we may not have emitted it when the panel was attached. This
1008
+ // can happen if the users opens the panel and there are no options, but the
1009
+ // options come in slightly later or as a result of the value changing.
1010
+ if (wasOpen !== _this.panelOpen) {
1011
+ _this.autocomplete.opened.emit();
1012
+ }
927
1013
  }
928
1014
  return _this.panelClosingActions;
929
- }),
1015
+ })),
930
1016
  // when the first closing event occurs...
931
1017
  operators.take(1))
932
1018
  // set the value, close the panel, and complete.
933
- .subscribe(function (event) { return _this._setValueAndClose(event); });
1019
+ .subscribe((/**
1020
+ * @param {?} event
1021
+ * @return {?}
1022
+ */
1023
+ function (event) { return _this._setValueAndClose(event); }));
934
1024
  };
935
1025
  /** Destroys the autocomplete suggestion panel. */
936
1026
  /**
@@ -1026,11 +1116,15 @@ var MatAutocompleteTrigger = /** @class */ (function () {
1026
1116
  * @return {?}
1027
1117
  */
1028
1118
  function (skip) {
1029
- this.autocomplete.options.forEach(function (option) {
1119
+ this.autocomplete.options.forEach((/**
1120
+ * @param {?} option
1121
+ * @return {?}
1122
+ */
1123
+ function (option) {
1030
1124
  if (option != skip && option.selected) {
1031
1125
  option.deselect();
1032
1126
  }
1033
- });
1127
+ }));
1034
1128
  };
1035
1129
  /**
1036
1130
  * @private
@@ -1053,27 +1147,32 @@ var MatAutocompleteTrigger = /** @class */ (function () {
1053
1147
  this._overlayRef = overlayRef;
1054
1148
  // Use the `keydownEvents` in order to take advantage of
1055
1149
  // the overlay event targeting provided by the CDK overlay.
1056
- overlayRef.keydownEvents().subscribe(function (event) {
1150
+ overlayRef.keydownEvents().subscribe((/**
1151
+ * @param {?} event
1152
+ * @return {?}
1153
+ */
1154
+ function (event) {
1057
1155
  // Close when pressing ESCAPE or ALT + UP_ARROW, based on the a11y guidelines.
1058
1156
  // See: https://www.w3.org/TR/wai-aria-practices-1.1/#textbox-keyboard-interaction
1059
1157
  if (event.keyCode === keycodes.ESCAPE || (event.keyCode === keycodes.UP_ARROW && event.altKey)) {
1060
1158
  _this._resetActiveItem();
1061
1159
  _this._closeKeyEventStream.next();
1062
1160
  }
1063
- });
1161
+ }));
1064
1162
  if (this._viewportRuler) {
1065
- this._viewportSubscription = this._viewportRuler.change().subscribe(function () {
1163
+ this._viewportSubscription = this._viewportRuler.change().subscribe((/**
1164
+ * @return {?}
1165
+ */
1166
+ function () {
1066
1167
  if (_this.panelOpen && overlayRef) {
1067
1168
  overlayRef.updateSize({ width: _this._getPanelWidth() });
1068
1169
  }
1069
- });
1170
+ }));
1070
1171
  }
1071
1172
  }
1072
1173
  else {
1073
- /** @type {?} */
1074
- var position = (/** @type {?} */ (overlayRef.getConfig().positionStrategy));
1075
1174
  // Update the trigger, panel width and direction, in case anything has changed.
1076
- position.setOrigin(this._getConnectedElement());
1175
+ this._positionStrategy.setOrigin(this._getConnectedElement());
1077
1176
  overlayRef.updateSize({ width: this._getPanelWidth() });
1078
1177
  }
1079
1178
  if (overlayRef && !overlayRef.hasAttached()) {
@@ -1115,29 +1214,59 @@ var MatAutocompleteTrigger = /** @class */ (function () {
1115
1214
  * @return {?}
1116
1215
  */
1117
1216
  function () {
1118
- this._positionStrategy = this._overlay.position()
1217
+ /** @type {?} */
1218
+ var strategy = this._overlay.position()
1119
1219
  .flexibleConnectedTo(this._getConnectedElement())
1120
1220
  .withFlexibleDimensions(false)
1121
- .withPush(false)
1122
- .withPositions([
1123
- {
1124
- originX: 'start',
1125
- originY: 'bottom',
1126
- overlayX: 'start',
1127
- overlayY: 'top'
1128
- },
1129
- {
1130
- originX: 'start',
1131
- originY: 'top',
1132
- overlayX: 'start',
1133
- overlayY: 'bottom',
1134
- // The overlay edge connected to the trigger should have squared corners, while
1135
- // the opposite end has rounded corners. We apply a CSS class to swap the
1136
- // border-radius based on the overlay position.
1137
- panelClass: 'mat-autocomplete-panel-above'
1138
- }
1139
- ]);
1140
- return this._positionStrategy;
1221
+ .withPush(false);
1222
+ this._setStrategyPositions(strategy);
1223
+ this._positionStrategy = strategy;
1224
+ return strategy;
1225
+ };
1226
+ /** Sets the positions on a position strategy based on the directive's input state. */
1227
+ /**
1228
+ * Sets the positions on a position strategy based on the directive's input state.
1229
+ * @private
1230
+ * @param {?} positionStrategy
1231
+ * @return {?}
1232
+ */
1233
+ MatAutocompleteTrigger.prototype._setStrategyPositions = /**
1234
+ * Sets the positions on a position strategy based on the directive's input state.
1235
+ * @private
1236
+ * @param {?} positionStrategy
1237
+ * @return {?}
1238
+ */
1239
+ function (positionStrategy) {
1240
+ /** @type {?} */
1241
+ var belowPosition = {
1242
+ originX: 'start',
1243
+ originY: 'bottom',
1244
+ overlayX: 'start',
1245
+ overlayY: 'top'
1246
+ };
1247
+ /** @type {?} */
1248
+ var abovePosition = {
1249
+ originX: 'start',
1250
+ originY: 'top',
1251
+ overlayX: 'start',
1252
+ overlayY: 'bottom',
1253
+ // The overlay edge connected to the trigger should have squared corners, while
1254
+ // the opposite end has rounded corners. We apply a CSS class to swap the
1255
+ // border-radius based on the overlay position.
1256
+ panelClass: 'mat-autocomplete-panel-above'
1257
+ };
1258
+ /** @type {?} */
1259
+ var positions;
1260
+ if (this.position === 'above') {
1261
+ positions = [abovePosition];
1262
+ }
1263
+ else if (this.position === 'below') {
1264
+ positions = [belowPosition];
1265
+ }
1266
+ else {
1267
+ positions = [belowPosition, abovePosition];
1268
+ }
1269
+ positionStrategy.withPositions(positions);
1141
1270
  };
1142
1271
  /**
1143
1272
  * @private
@@ -1250,6 +1379,7 @@ var MatAutocompleteTrigger = /** @class */ (function () {
1250
1379
  ]; };
1251
1380
  MatAutocompleteTrigger.propDecorators = {
1252
1381
  autocomplete: [{ type: core.Input, args: ['matAutocomplete',] }],
1382
+ position: [{ type: core.Input, args: ['matAutocompletePosition',] }],
1253
1383
  connectedTo: [{ type: core.Input, args: ['matAutocompleteConnectedTo',] }],
1254
1384
  autocompleteAttribute: [{ type: core.Input, args: ['autocomplete',] }],
1255
1385
  autocompleteDisabled: [{ type: core.Input, args: ['matAutocompleteDisabled',] }]
@@ -1259,7 +1389,7 @@ var MatAutocompleteTrigger = /** @class */ (function () {
1259
1389
 
1260
1390
  /**
1261
1391
  * @fileoverview added by tsickle
1262
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1392
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1263
1393
  */
1264
1394
  var MatAutocompleteModule = /** @class */ (function () {
1265
1395
  function MatAutocompleteModule() {
@@ -1283,8 +1413,6 @@ var MatAutocompleteModule = /** @class */ (function () {
1283
1413
 
1284
1414
  exports.MAT_AUTOCOMPLETE_DEFAULT_OPTIONS_FACTORY = MAT_AUTOCOMPLETE_DEFAULT_OPTIONS_FACTORY;
1285
1415
  exports.MatAutocompleteSelectedEvent = MatAutocompleteSelectedEvent;
1286
- exports.MatAutocompleteBase = MatAutocompleteBase;
1287
- exports._MatAutocompleteMixinBase = _MatAutocompleteMixinBase;
1288
1416
  exports.MAT_AUTOCOMPLETE_DEFAULT_OPTIONS = MAT_AUTOCOMPLETE_DEFAULT_OPTIONS;
1289
1417
  exports.MatAutocomplete = MatAutocomplete;
1290
1418
  exports.MatAutocompleteModule = MatAutocompleteModule;